eleduck / maskhero

与子同袍-援助海外华人计划
https://eleduck.com/maskhero
33 stars 12 forks source link

用户”是否已领取“信息同步问题 #81

Closed baibonjwa closed 4 years ago

baibonjwa commented 4 years ago

金数据 API 目前仅支持「增加数据」、「获取数据」,不支持修改、删除数据。当源数据表单的”是否已领取“字段更新后。现在的合并数据表无法得到更新。

短期方案: 前端直接调用所有城市(目前共 4 个)的 API,并合并信息显示 澳大利亚-堪培拉 https://jinshuju.net/forms/RQlAnN 加拿大-渥太华 https://jinshuju.net/forms/lOg5eU 加拿大-布兰登 https://jinshuju.net/forms/con81f 加拿大-温尼伯 https://jinshuju.net/forms/Ukw1aQ

如有更好方案欢迎讨论。

shitou6004 commented 4 years ago

我提交了一种方式issues75的那个分支,调用JS(src/mergeData.js) 将合并数据输出到 merge_result.json 前端获取merge_result.json内容进行展示 (数据没有加密处理),看看这种OK不

baibonjwa commented 4 years ago

merge_result.json 生成的内容似乎不是标准的 json 格式的文件,可以帮忙再修改一下不?

mergeData.js 里的这种方式,很可能 build 的时候就把 json 文件内容直接 build 进去了,也就是说除了部署那次,之后的应该就不更新了。 不过生成 json 的方式应该可以。我到时候设置个 crontab 定时执行 python 脚本生成 json,然后前端读取这个 json

shitou6004 commented 4 years ago

merge_result.json 现在是分行,每一行是一条数据是一个标准的JSON ;按行读取,前端应该更方便处理。这个可以根据前端的情况来看,也可以修改。 mergeData.js 这个 是方案的例子。reactJS 是基于nodeJS的吧,不能直接调用nodeJS么?我没用过reactJS。我再想想有没有其他的方法

baibonjwa commented 4 years ago

merge_result.json 现在是分行,每一行是一条数据是一个标准的JSON ;按行读取,前端应该更方便处理。这个可以根据前端的情况来看,也可以修改。 mergeData.js 这个 是方案的例子。reactJS 是基于nodeJS的吧,不能直接调用nodeJS么?我没用过reactJS。我再想想有没有其他的方法

JSON 有数组的形式,[{}, {}, {}] 这样前端就可以直接读出来数组了,会更方便一些。

shitou6004 commented 4 years ago

好的,我处理下。应用部署在什么中间件的 nginx还是apache?开启CGI 让前端直接访问python;这样的话,就不需要json文件了,这样就涉及一个cgi暴露的问题,咱现在应该不用关心这个。

baibonjwa commented 4 years ago

我们是用 nginx 的,但如果我们与其让前端去访问 python 那就不如直接用 js 写了。而且 React 是个前端库,我们也没有 NodeJS 的 Server 所以在浏览器的 runtime 里直接访问服务器的话还是很不安全的。当然这个需求的目的主要是防止以后城市太多了,比如 10 个 20 个,前端调用了太多的 API。无论是生成 JSON 还是存储到金数据表单里,其实就相当于做了一层缓存,所以只要有个机制更新这个数据就好了。

shitou6004 commented 4 years ago

OK,数据文件已修改为标准JSON 格式数据

flanker commented 2 years ago

@BAI-Bonjwa

hello,我是金数据的工程师。sorry 才看到你们之前使用金数据来帮助大家。

金数据已经支持了修改数据,可以参考 https://open.jinshuju.net

后续如果有需要金数据的,可以联系我哈