--前端菜鸟一枚,不懂后端,最近写了个背单词的表格网页,可以打钩打叉,记录自己哪里记住了没有
然后,把这个网页托管在了 github 上面 
--现在想实现这样一个功能,我在 A 电脑背诵完了做好了记录,我想在 B 电脑打开这个网页,能够同步我上次的背单词打钩打叉记录,并且有保存上传新的数据记录的功能
--我没有服务器 /数据库,请问有什么路子能够做到这个吗?
--或者线上的 fastMock 、EasyMock 能够做到 [我上传新数据过去,替换之前旧的内容,以及之后我重新获取的数据是最新的数据] 的这个操作吗?
目前是怎么一回事:
--每次更新保存出来的是字符串,这个字符串长达 50w 字,其实就是一个 json 数据,只是我把他纯文本输出保存了
--每次新电脑打开这个网址,网页就开始检测有无本地历史记录,有就调取这个历史记录,没有就弹出输入框让用户输入之前保存的字符串。
--终极目的:希望用户能只在网页上进行所有的操作,不需要再下载其他什么软件,来进行额外操作,就能多设备同步最新数据。
|  |      1christin      2023-01-12 10:34:24 +08:00 sqlite ,数据库文件就存在项目文件里面,也不用额外起服务。 | 
|  |      2opengps      2023-01-12 10:36:51 +08:00 既然没有服务器,access ,sqlite 之类都无法用,那就只能客户端直接存本地浏览器 localStorage 之类的 | 
|  |      3dzdh      2023-01-12 10:38:15 +08:00 firebase ? | 
|  |      4OkabeRintaro OP @opengps   就是需要换电脑呀 比如我在公司的 A 电脑背诵好了,我回到家想用自己的 B 电脑继续背诵 | 
|  |      5OkabeRintaro OP @christin   百度了下,还是没懂这个是个什么,是如何使用的? | 
|  |      6amlee      2023-01-12 11:01:59 +08:00 sessionStorage 或 indexedDB ,然后自己做个导入导出功能。 https://zh.javascript.info/indexeddb https://zh.javascript.info/localstorage | 
|      7kaedeair      2023-01-12 11:02:54 +08:00 静态网页是做不到的,你需要导入导出功能,把文件用其他软件同步 | 
|  |      8lichao      2023-01-12 11:06:39 +08:00  3 去学后端和数据库,其他路子大概率是歧途 | 
|  |      9orzorzorzorz      2023-01-12 11:07:44 +08:00 静态网页没辙。既想,又想,其实挺难的。 但既然是搁 github 上,那就存成 json ,稍微起个修改 json 文件内容的服务。每次记录就本地跑起来,点完再传到 github ,本质是用 github 当数据库来同步。 或者再一个思路,是内网穿透。你直接访问你自己的电脑,这样就没有同步的问题了。 | 
|      10andrew2558      2023-01-12 11:09:33 +08:00 你这个需求直接用 json server 就可以了 | 
|  |      11charslee013      2023-01-12 11:10:21 +08:00 有个比较野的路子就是用 GitHub Gist 来存储 Listen 1 就是这么做的 | 
|  |      12InDom      2023-01-12 11:13:58 +08:00 我记得有一些( VS Code 的 Config Sync )是把配置文件同步到 gist 进行保存。 你可以看下能否在你的页面上也通过这种方式提交到 gist 。 不过不清楚是否会有跨域问题,如果有跨域问题,可以简单的通过油猴脚本提供一个跨域的接口。 比如我之前写过这样的一个可以直接用 https://greasyfork.org/scripts/404148 但是缺点是,每个设备首次使用时,需要配置一下,这些信息可以存在 sessionStorage 或 indexedDB 。 同理,其他云存储服务,或者提供 api 的网盘都可以用。 Tampermonkey 的 实用工具,不就是有云导入导出功能嘛。 | 
|  |      13chendl111      2023-01-12 11:14:17 +08:00 onedrive+excel | 
|  |      14jamosLi      2023-01-12 11:19:52 +08:00 你这思路本身就有问题。换句话说你是在 github 做的存储,你要改变存储那就要变更 GitHub 上的文件,那就是要用 git 相关,其他扯一堆没一个有用的。 要么买服务器搭数据库,上服务,要么就离线或者骚操作改 GitHub 文件,没有别的招式。 | 
|  |      15OkabeRintaro OP @jamosLi   也不是要改 github 文件,就是想找到个第三方来存放我的数据和从第三方获取数据 | 
|  |      16msaionyc      2023-01-12 11:42:09 +08:00 via iPhone 数据库只是形式,你没有服务器 /数据库是做不了你想做的事情的,哪怕用 github 之类的静态文件做这个事情,那从形式上来说 github 就是这个项目的数据库。 你在 a 设备的行为数据,期望可以在 b 设备上拿到,这就需要有一个第三方的设备来存储这个数据,你现在说没有服务器没有数据库,那你觉得这个数据该怎么流转,这个数据必须要保存,哪怕保存在内存里,也是保存,保存这个数据的设备其实就是服务器,保存这个数据的程序就是数据库。 你没搞清楚自己想做的事情的流程,也不明白很多概念。你现在要解决的问题是数据如何存储,数据结构如何组成,数据如何流转,这些平时都是后端的范畴,但前端也是可以解决的,但必须要有服务器 /数据库来承载 我没秀优越感或者谴责你的意思,我能感受到你对很多概念的迷茫,希望说的这些能帮助到你 | 
|  |      17OkabeRintaro OP --我目前的解决方案是: 在公司,我单词记录好之后,直接导出为字符串,然后我复制这个字符串放到一个 txt 文件里面 --回到家,打开自己电脑,把 txt 文件里面的字符串 直接粘贴进去,然后就会展现我在公司的背诵记录 | 
|  |      18OkabeRintaro OP @msaionyc  就是想找一个快速的第三方,之前想着那种 faskMock 模拟数据 | 
|  |      19play78      2023-01-12 11:50:58 +08:00 申请个码云或者 github 账号。然后前端引用一个纯 js 的 git 客户端。 https://stackoverflow.com/questions/3411302/javascript-git-client 然后每次打开应用就 git pull 更新配置。需要提交就 git push 试试看怎样? | 
|  |      20OkabeRintaro OP @msaionyc  这个第三方给我接口,能够让我上传新的数据,请求最新数据就好了 | 
|  |      21xuxuxu123      2023-01-12 11:53:39 +08:00 用云函数吧,很多云厂商都有,直接写 nodejs 就好了 | 
|  |      22OkabeRintaro OP | 
|      23renmu      2023-01-12 12:29:08 +08:00 via Android webdav | 
|  |      24netnr      2023-01-12 13:05:10 +08:00 via Android 用 CF 吧,有 Serverless KV SQLite,为 OP 需求量身定制,还有 LeanCloud | 
|      25superedlimited      2023-01-12 13:18:40 +08:00 google sheets api 或许可以 | 
|      26marcogray      2023-01-12 13:38:24 +08:00 应该不需要第三方。你这个数据量应该也不是太大,试试把数据 base64 后存到 URL 上,Chrome 的同步浏览历史记录应该就能支持不同设备同步了。 | 
|  |      27LeegoYih      2023-01-12 13:42:56 +08:00 csv excel | 
|  |      28A555      2023-01-12 13:43:02 +08:00 你这不如 icloud 直接同步文件算了 | 
|  |      29xuelu520      2023-01-12 13:47:27 +08:00 存 json 文件,或者楼上说的那些都行。 | 
|  |      30a90120411      2023-01-12 13:59:25 +08:00 Amazon DynamoDB 有免费额度,足够用了。 | 
|      31zer0fire      2023-01-12 14:26:24 +08:00 直接用在线金山文档或腾讯文档, 发起一个调查问卷, 自己答卷就行了 | 
|      32TimeRain      2023-01-12 14:57:49 +08:00 via Android serverless 方案 | 
|  |      34zhang77555      2023-01-12 15:29:51 +08:00 leancloud 数据存储服务,很久以前用过,不了解现在咋样了 https://leancloud.cn/docs/leanstorage_guide-js.html | 
|  |      35bjfane PRO 难道不是趁机卷后端么? | 
|  |      36OkabeRintaro OP @oott123  你好,这个 jsonbin 是如何使用的?或者有教程吗? | 
|  |      37OkabeRintaro OP @oott123  jsonBIN 普通用户不能创建超过 100KB 的数据 可惜 | 
|  |      38Light3      2023-01-12 16:17:06 +08:00 挂 N 个 json 文件 | 
|  |      39OkabeRintaro OP @Light3   我是需要修改传送新的呀 | 
|  |      40liubaicai      2023-01-12 17:08:20 +08:00 @OkabeRintaro sqlite 都百度不懂,建议你先别搞这些,学一些基础的计算机和开发的知识。 | 
|      41luos543      2023-01-12 21:00:56 +08:00 把需要存储的资料用 base64 加在 url 上, 同步书签 | 
|  |      42opengg      2023-01-12 21:04:45 +08:00 cloudflare workers + R2 ,免费配额完全够用。 | 
|      43kapr1k0rn      2023-01-12 22:41:01 +08:00 via iPhone 把字符串存到 url 参数里,然后浏览器自动同步浏览历史就可以了 | 
|  |      44ginakira      2023-01-13 00:30:35 +08:00 提供个简单的思路,可以用 Notion ,既有客户端可以直接操作,也有开放的 API 做增删改查 | 
|  |      45OkabeRintaro OP 目前是怎么一回事: --每次更新保存出来的是字符串,这个字符串长达 50w 字,其实就是一个 json 数据,只是我把他纯文本输出保存了 --每次新电脑打开这个网址,网页就开始检测有无本地历史记录,有就调取这个历史记录,没有就弹出输入框让用户输入之前保存的字符串。 --终极目的:希望用户能只在网页上进行所有的操作,不需要再下载其他什么软件,来进行额外操作,就能多设备同步最新数据。 | 
|  |      46OkabeRintaro OP 大家可以打开我附上的网址 https://kyomasan.github.io/practiceEnglish/ ,点击取消出现原始表格之后,打开浏览器的 localstorage 就能看到 localTableDataArr 这个属性的值, 他就是数据源,可以复制看看有多少字。 | 
|  |      47OkabeRintaro OP 等周末再看看吧  工作日不想再捣鼓了 | 
|  |      48huobazi      2023-01-13 09:54:35 +08:00 用文本吧 | 
|      49jahanngauss414      2023-01-13 10:09:30 +08:00 @OkabeRintaro 看了下你的 localstorage ,其实你可以改进一下,把单词数据和进度数据分离开,然后存储进度的数据结构可以变精简一点,可以试试把数据放 hash 里面 | 
|      50yoahang      2023-01-13 15:00:39 +08:00 基于文件的数据库, 或者把数据存在前台 |