使用LeanCloud小程序SDK实现商品评价模块

前言

商品评价是商城系统中非常典型的应用,这个例子演示了LeanCloud用户登录与获取,数据添加与读取,图片上传等常见技能点。

需求分析

  • 写入一条带描述与多图组的评价纪录
  • 记录用户对象,关联商品对象
  • 评价显示在商品详情底部

添加评价演示

使用LeanCloud小程序SDK实现商品评价模块_第1张图片
evaluate.gif

评价列表显示

使用LeanCloud小程序SDK实现商品评价模块_第2张图片
评价列表

技能点

  • LeanCloud小程序sdk常用api
  • Promise.all()同步多个网络请求
  • 小程序表单控件textarea访问取值与小程序页面传值

前端UI部分

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

LeanCloud存储部分

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

  • 建表
使用LeanCloud小程序SDK实现商品评价模块_第3张图片
建表
  • 建字段
使用LeanCloud小程序SDK实现商品评价模块_第4张图片
建商品字段
使用LeanCloud小程序SDK实现商品评价模块_第5张图片
建用户字段
使用LeanCloud小程序SDK实现商品评价模块_第6张图片
图组字段

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

js库下载地址:https://unpkg.com/leancloud-storage@%5E3.0.0-alpha/dist/av-weapp-min.js

下载将它放在/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事件获取它的值