从今天开始会找一些优秀的开源小程序项目,每一个开源项目,我都会通过我本人主体小程序进行发布,将个人主体不允许的功能砍掉,审核通过后,才写文章,有一点时间,计划每周出一篇
- 发现开源小程序之美一,个人博客小程序 https://developers.weixin.qq.com/community/develop/article/doc/000a40e13ec550274e2a9addd56413
- 发现开源小程序之美二,微慕WordPress小程序 https://developers.weixin.qq.com/community/develop/article/doc/000c44945dc728ab9c2aff2a55b013
- 发现开源小程序之美三,维修上报小程序
- 发现开源小程序之美四,在线答题小程序
- 发现开源小程序之美五,营销组件库 https://developers.weixin.qq.com/community/develop/article/doc/000c4235c98740a1dc2a1a6045b013
第一个开源小程序为个人博客类小程序,
该小程序实现的功能很多,但是我觉得几个核心出彩功能有
1、富文本展示
2、海报生成
3、留言之后自动推送订阅消息
4、留言已经做过内容安全检查
5、版本更新机制,这个功能还是第一次体验到,虽然官方文档有介绍,但是这时第一次体验到这种热更新方式
2
3
4
4
特色
该小程序有一点非常棒,就是可以同步公众号文章,通过公众号提供的素材api,可以将公众号的文章定时拉取到小程序云开发数据库
从功能上讲,已经非常完善,从技术角度,涉及到了海报生成、富文本展示、订阅消息、云函数
项目开源地址:
https://github.com/CavinCao/mini-blog
具体数据库集合如下所示
这样,为方便大家看数据库的结构,我把这个项目在码云传了一份,数据库文件在data目录里面,这里面仅仅是包含了有数据的集合,没有数据的集合不在,总共有这么11个集合
1、//缓存小程序or公众号的accessToken
access_token
//小程序文章集合
2、mini_posts
//小程序评论内容集合
3、mini_comments
//小程序用户操作文章关联(收藏、点赞)
4、mini_posts_related
//小程序博客相关配置集合
5、mini_config
//小程序博客相关操作日志
6、mini_logs
//小程序博客用户FormID(用于模板消息推送)[已经废弃]
7、mini_formids
//会员信息表
8、mini_member
//签到明细表
9、mini_sign_detail
//积分明细表
10、mini_point_detail
//订阅消息记录表
11、mini_subcribute
正式一些的话,应该是绑定公众好,通过云函数把公众号的图文数据拉下来,如果不做,可以用我data目录的数据集合,展示的时候也有数据。
上面是数据库,下面我截图下云函数
环境变量配置
具体通过syncService云函数来同步公众号文章到小程序,直接点击云端测试就可以。
部署过程中会遇到各种问题,我应该是花了两个晚上调通了,具体问题我大致回忆下
1、公众号素材拉取的时候要设置白名单
2、有几个云函数要设置环境变量
3、在我的模块有个后台管理,是通过环境变量来配置openid来展示的
4、海报生成要安装npm第三方组件,这个不清楚的,规矩要琢磨半天
5、海报生成模块,必须要等小程序上线之后才可以的
6、留言需要配置订阅消息,订阅消息id记得要变更下
大致记着这么多
为了方便大家部署,我在码云重新创建了下,里面有个data目录,存放着云开发数据库有数据的集合json文件,如果集合中的没有数据,是导不出json文件的,所以建议先手工把集合都创建下,然后,将有数据的集合json导入进去,并改下数据库权限,就能正常跑起来了
如果部署过程中还遇到其他问题,或者遇到问题过不去,都欢迎通过社区私信跟我联系,由于社区运营规范要求,微信联系方式暂不方便在社区发布。
https://gitee.com/jgl1210/blog
解决的问题:
2018年之后申请的公众号都不会开放留言功能,通过这个方式,可以将公众号文章通过公众号开放的api,整体拉取下来,到云开发的数据库,然后通过这种方式留言,
注意留言一定要做内容安全检查
从规则来说,除了留言这里有风险之外,技术层面是通的。
这样,为方便大家看数据库的结构,我把这个项目在码云传了一份,数据库文件在data目录里面,这里面仅仅是包含了有数据的集合,没有数据的集合不在,总共有这么可多集合
1、//缓存小程序or公众号的accessToken
access_token
//小程序文章集合
2、mini_posts
//小程序评论内容集合
3、mini_comments
//小程序用户操作文章关联(收藏、点赞)
4、mini_posts_related
//小程序博客相关配置集合
5、mini_config
//小程序博客相关操作日志
6、mini_logs
//小程序博客用户FormID(用于模板消息推送)[已经废弃]
7、mini_formids
//会员信息表
8、mini_member
//签到明细表
9、mini_sign_detail
//积分明细表
10、mini_point_detail
//订阅消息记录表
11、mini_subcribute
正式一些的话,应该是绑定公众好,通过云函数把公众号的图文数据拉下来,如果不做,可以用我data目录的数据集合,展示的时候也有数据。