引言
在进行基于云开发的微信小程序开发时为了减轻工作量打算用CloudBase CMS来减轻工作量,随后去了解并体验了CloudBase CMS的使用,总体来说还有些许问题没有解决,对减轻后台管理工作并没有起到很大的作用。
项目情景
使用CloudBase CMS来管理小程序的云开发数据库来达到以下几个目的。
- 用户在微信小程序上提交表单并且将数据上传到数据库
- 审核者通过已有的账号密码登录CloudBase CMS后台进行查看和审批
- 审核者在CMS审核通过或驳回后的信息与小程序云开发数据库双向绑定
实际操作
-
开通CloudBase CMS(在此就不浪费篇幅来赘述了)
官方文档链接: 快速开始|云开发 CloudBase -
使用注册好的账号密码登录CloudBase CMS
-
进入页面后创建项目(若先前没有创建项目、体验版只能有一个项目)
-
创建一个内容模型
-
填写该内容模型的相关信息
这里有两个需要注意的地方:模型名称
就是云开发数据库中的collection
(集合)名称模型数据是否存储至云开发环境数据库
选项当前仅当云开发数据库中无与此模型名称
相同的集合名称才能打开
-
创建内容模型完成后给该模型添加属性(内容类型)
-
在内容集合里添加新的记录
-
添加完后即可在云开发数据库中看的新创建的集合和记录
注意事项
-
由于现在云开发数据库中的
test
集合和CloudBase CMS的测试模型
是双向绑定的,所以你在云开发数据库中添加记录,在CMS上也可以看到,但是缺少了_createTime
和_updateTime
两个属性。
-
虽然CMS和云开发数据库都有导出
所有记录
的功能选项,但它们导出的文件略有不同,因此不能实现此般操作:从云开发数据库中导出所有记录,形成一个.JSON
文件,然后在CMS上导入.JSON
文件
可以发现,CMS导出的文件是一个由[]
包含并且由,
分割各条记录({record}
)的格式,而云开发数据库导出的一条条记录({record}
),并且没有,
分割,每条记录占据一行。//云开发数据库导出的.json {"_id":"P5YSvlGywLT7kIOC","testName":"1","_createTime":1684897931359,"_updateTime":1684897931359} {"_id":"mWENFyMnoD4FSlaE","testName":"2","_createTime":1684897934022,"_updateTime":1684897934022} {"_id":"qztghohNUtoVsSA9","testName":"3","_createTime":1684897936259,"_updateTime":1684897936259} {"_id":"0122a587646d81c90dbfefbd484596e1","testName":"4"} //CMS导出的.json [{"_id":"P5YSvlGywLT7kIOC","testName":"1","_createTime":1684897931359,"_updateTime":1684897931359},{"_id":"mWENFyMnoD4FSlaE","testName":"2","_createTime":1684897934022,"_updateTime":1684897934022},{"_id":"qztghohNUtoVsSA9","testName":"3","_createTime":1684897936259,"_updateTime":1684897936259},{"_id":"0122a587646d81c90dbfefbd484596e1","testName":"4"}]
-
新版与旧版CloudBase CMS不同,创建一个已有集合的内容模型并不会同步云开发数据库中集合已有的记录
若你打开了按钮则为报错,因为你数据库中已有goods
集合了
把按钮关了点击继续,去到内容集合中是查看不到数据库已有数据记录的
就算你添加了相关的属性也不行
数据仍旧没同步过来
总结
CloudBase CMS 比较适合具有单向传递
数据功能的后台,如新闻发布,活动公示等等,但不适合双向绑定
的后台,如审批表单等。
也许是我用的是体验版的缘故吧,感觉没有旧版好用了(⊙o⊙)
结束语
如果觉得这篇博客对你有帮助的话可以给我一个免费的赞吗?你的认同是我创作的动力!!😄 😄