超详细步骤 | 如何用小程序 SDK 实现电商评价模

【 玩转 LeanCloud 】开发者经验分享:
作者:黄秀杰

在商城系统中给商品添加评价是一种非常典型的需求,我下面要来演示一下如何借助 LeanCloud 的小程序 SDK 来快速完整地实现这个需求,包括如何处理用户登录和获取用户信息、数据添加和读取、图片上传等功能。

先列一下基本需求:

  • 写入一条带描述和多张图片的评价记录
  • 保存用户对象,关联商品对象
  • 评价显示在商品详情底部

添加评价演示:

超详细步骤 | 如何用小程序 SDK 实现电商评价模_第1张图片

评价列表显示:
超详细步骤 | 如何用小程序 SDK 实现电商评价模_第2张图片

前端 UI 要完成:

  • 绘制带「删除」按钮的九宫格
  • 一个文本域,供输入描述文字
  • 一个提交按钮

技能点:

  • LeanCloud 小程序 SDK 常用的 API
  • Promise.all() 并发处理多个网络请求
  • 小程序表单控件 textarea 访问取值与小程序页面传值

LeanCloud存储部分

新建一张Evaluate评价表,该表保存着多图url路径数组,同时还维护商品goods表与user表的关联,以表示哪个用户user针对哪个商品作出的评价。数据表在LeanCloud用Class表示,而外键关联在LeanCloud中使用Pointer类型表示,建表与建字段如下图所示。

  • 建表

超详细步骤 | 如何用小程序 SDK 实现电商评价模_第3张图片

  • 建字段

超详细步骤 | 如何用小程序 SDK 实现电商评价模_第4张图片

  • 建用户字段

超详细步骤 | 如何用小程序 SDK 实现电商评价模_第5张图片

  • 图组字段

超详细步骤 | 如何用小程序 SDK 实现电商评价模_第6张图片

引入LeanCloud小程序JS库——av-weapp.min.js

js库下载地址:https://unpkg.com/leancloud-s...

下载将它放在/utils/目录下,然后在需要的js页面按如下方式引入

const AV = require('../../../utils/av-weapp.js')

然后按下面方式初始化,初始化过程只用操作一次,因此可以放到app.js执行。

// 初始化AV
const AV = require('./utils/av-weapp.js');
const appId = "7tm1OFlNlmLFxxxoHsz";
const appKey = "XxNkFIrxxxal0ttvj";

AV.init({ 
    appId: appId, 
    appKey: appKey
});

创建评论页面

/pages/member/evaluate/ 目录下创建 4 个文件:

  • evaluate.js
  • evaluate.json
  • evaluate.wxml
  • evaluate.wxss

LeanCloud 一键登录与获取当前用户

取出当前用户后,与描述内容、图片数组、商品关联一并提交到网络:

AV.User.loginWithWeapp();
var user = AV.User.current();

小程序端从wxml中取出textarea的值

在 wxml 文件个添加一个 textarea 控件,通过 bindblur 事件获取它的值: