专栏名称: 知晓程序
知晓程序,是爱范儿旗下专注「小程序生态」的品牌,提供小程序资讯、教程、活动、社区等服务。 更多内容请访问 minapp.com。
目录
相关文章推荐
白鲸出海  ·  REKKIE AR护目镜,滑雪装备中的科技与狠活 ·  16 小时前  
阿里开发者  ·  大模型推理主战场:什么才是通信协议标配? ·  20 小时前  
海外独角兽  ·  OpenAI 都在用的 AI 招聘,2 ... ·  昨天  
白鲸出海  ·  突发!Amazon Appstore宣布停止运营 ·  2 天前  
51好读  ›  专栏  ›  知晓程序

开发 | 无需后端编码,10 分钟教你实现一个朋友圈小程序

知晓程序  · 公众号  · 科技公司  · 2017-09-29 12:08

正文

作者:梁烨鹃

这是一篇简易版朋友圈小程序的快速开发教程。要实现的功能有:
  • 所有人都可以发布内容。

  • 只有发布者可以删除自己发布的内容。

  • 所有人都可以看到其他人发布的内容。

  • 所有人都可以对内容进行评论。

  • 只有发布者可以可以删除评论。

  • 所有人都可以看到其他人发表的评论。

虽然目标功能的业务逻辑并不复杂, 但其背后需要一套靠谱的权限控制系统 ,也意味着需要一个完整的后端服务系统来支持运行。
为了免去搭建、维护后端服务器的麻烦,我们选择使用知晓云( cloud.minapp.com )进行开发。
除了因为可以省去后端服务器的开发外,另一个选择它的原因, 是它的数据表 ACL(Access control list,访问权限控制)可以实现目标功能的权限控制操作
我们只需要将获取到的数据正确渲染到页面,即可完成目标小程序的开发,十分方便。

了解 ACL 控制系统
工欲善其事,必先利其器。在开始小程序开发之前,我们先来了解一下知晓云的 ACL 控制系统。
进入知晓云控制后,点击「应用」,在「数据库」模块里,点击「创建数据库」,就能看到 ACL 控制面板。

在创建数据表时,可以设置该数据表的表录入权限,以及该表中数据行的默认权限 。若权限勾选了用户组则必须选择拥有权限的用户组。
需要注意的是,用户组需要在用户模块中提前设置好才能进行选择。

设置好了默认数据行的权限后,该表的所有数据行都继承该默认权限。 若你需要对某些记录进行权限修改,可以选择要修改的数据行,点击编辑,即可进行权限修改

若你需要对默认数据行权限进行修改,对数据表点击编辑即可打开权限修改面板。 修改的默认数据行权限,仅对修改后新增的数据生效 ,对已存在的旧数据无效。

设置好 ACL 权限后, 只需要调用 BaaS SDK 的接口即可以方便进行数据库的操作
关于数据库的操作,我们之前已发布了 详细的教程 ,这里就不再赘述。
了解的工具的使用方法之后,我们开始小程序的开发。
数据表创建
首先我们为内容发表、评论发表分别创建数据库表。权限设置如下:

  • 所有人都可以发表内容或者对某一条内容发表评论,所以数据表的录入权限我们设置为所有人。

  • 所有人都可以看到别人发表的内容,数据行的默认权限读权限设置为所有人。

  • 但是只有发布者可以删除发表的内容,数据行的默认写权限设为创建者。

  • 记录评论的数据表我们也做一样的设置。

为了实现目标小程序的功能,内容表 message 的自定义字段有: text (内容)、 author (内容发布者)、 avatar_url (内容发布者的头像地址);评论 comment 表的自定义字段有: message_id (内容 ID)、 author (发布者)、 text (评论内容)。
需要注意: 知晓云创建的数据表会默认帮你创建几个字段 ,其中有一个 created_by 创建者,会自动帮你记录微信接口返回的用户 ID( userInfo.id )。
我一开始并没有留意到这个细节,在表中自己维护了一个 wx_id 字段,但是没有考虑好数据获取稳定性的问题,在某种情况会传入失败,还耗费了一些时间处理这个问题。最后发现这部分数据知晓云已经帮你处理好了。
小程序开发
在微信开发者工具创建一个新的项目,它会默认自动帮你新建一个小程序 demo。
app.js 里已经有完整的获取用户信息的代码,可以直接用,在 onLaunch 中引入 BaaS SDK 即可。
index.wxml 里进行页面布局开发, 小程序的框架语法与主流的框架的语法还是基本一致的,除了提供一些基本的组件,没有太多的标签 ,很容易上手。
如评论的页面结构:用 block 标签进行条件渲染控制,应用列表渲染进行评论内容的渲染。以 data- 为前缀的自定义数据可以在监听事件中以 e.target.dataset 获取。


由于在创建数据表时已设置好了 ACL 权限,我们只需要应用 BaaS SDK 进行数据获取、查询、删除等操作即可 ,不需要对数据进行二次处理。
如在获取内容列表、评论列表数据的操作中,根据 SDK 的文档进行操作,不需要传入特定的查询条件。获取所有的内容数据、是否可以读出数据行的权限操作,都可以交给知晓云的 ACL 控制。
若数据行的 ACL 控制改为创建者可读,则除创建者外其他用户拉取到不到该条数据。







请到「今天看啥」查看全文