之前写了一篇文章介绍如何使用云开发来实现一个社区Demo:得到很多小伙伴的认可但也出现了一些问题。
主要问题有:
发布的图片不显示,跨端发布的图片不显示点赞功能优化数据库不清晰需要添加回复功能针对以上问题,我将代码更新了,地址在:,在README中有使用介绍,或者接着往下看。
ps:有帮助的朋友帮忙点个star多谢了。
这次更新主要是:
解决以上出现的问题优化代码结构图片问题原因分析看过我源码的朋友,应该知道,我当时存的是wx.chooseImageAPI返回的临时图片链接,当时为了方便就直接这么搞了。
但是既然是临时图片肯定会有失效的时候,而且跨端发布的图片也有问题(这里指电脑上发布和手机上发布的图片只能在各自端显示)
根据开发习惯,我们肯定应该先将图片上传到服务器,服务器返回图片链接后将这个图片链接到数据库中,云开发这里也提供了文件存储功能,所以我们只需要做三步就能解决这个图片问题。
第一步:在选择完图片后,将临时图片链接保存好
第二步:在要提交到数据库的时候依次将图片上传到服务器获取图片链接
第三步:将发布的数据存储到云数据库
我这里为了方便,直接将第一二步合并了,伪代码如下:
chooseImage:function(event){wx.chooseImage({count:6,success:function(res){//设置图片that.setData({images:res.tempFilePaths,})//这里清空一下,否则会出现图片上传重复问题that.data.images=[]console.log(res.tempFilePaths)for(variinres.tempFilePaths){//将图片上传至云存储空间wx.cloud.uploadFile({//指定要上传的文件的小程序临时文件路径cloudPath:that.timetostr(newDate()),filePath:res.tempFilePaths[i],//成功回调success:res={//获取到服务器图片链接地址that.data.images.push(res.fileID)},})}},})},/图片路径格式化/timetostr(time){varrandnum=Math.floor(Math.random()(9999-1000))+1000;varstr=randnum+"_"+time.getMilliseconds()+".png";returnstr;},第三步就是数据库的添加操作了,图片字段直接存that.data.images的值就行了
点赞功能优化原因主要是之前的数据库设计不清晰,点赞应该放在单独的一个数据库表中,不应该依赖于文章。
实现的过程可参考源码
数据库不清晰原因主要是刚开始实现这个Demo没想那么细,只想到实现功能了,数据表的设计不够仔细。数据库设计这块的知识我也是外行,目前我的设计思路是表结构尽可能的单一。
可查看中的使用介绍
添加回复功能社区Demo没有回复功能也说不过去,所以简单加上了,UI很丑,但是基本实现了简单的回复功能
实现的过程可参考源码
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










