token调用文档


云函数调用说明

功能描述

该云函数用于处理用户积分的操作,包括积分的增加、扣减,以及相关操作的记录。主要应用场景包括购物赠送积分、退货扣除积分、以及其他积分变动操作。

请求参数

基本参数

  • openid (string): 用户的 OpenID,用于标识唯一用户。
  • number (number): 积分变动的数量,可以为正值或负值。
  • mark (string): 操作类型的标识,例如 “购物赠送”、”退货扣除积分” 等。

可选参数

  • module (string): 模块名称,用于标识积分变动的来源模块。
  • moduleId (string): 模块 ID,配合 module 一起使用。
  • orderId (string): 订单 ID,必须在 mark 为 “购物赠送” 或 “退货扣除积分” 时提供。
  • id (string): 用户 ID。如果未提供,则根据 openid 从数据库中获取。

返回结果

  • success (boolean): 操作是否成功。
  • error (string, optional): 错误信息,仅在 successfalse 时返回。
  • resId (string, optional): 积分记录的 ID,仅在 successtrue 时返回。

错误处理

以下情况将导致 successfalse 并返回相应的 error 信息:

  • modulemoduleId 未同时提供或仅提供其一。
  • mark 为 “购物赠送” 或 “退货扣除积分” 时未提供 orderId
  • 根据 openid 无法找到用户。
  • 用户余额不足时尝试扣减积分。

数据库操作

更新用户积分

根据 openidid 确定用户,更新用户的积分余额。

添加积分记录

在成功更新用户积分后,记录此次积分操作。

事务管理

通过数据库事务 (transaction) 确保用户积分更新和记录添加的一致性。如果任何一步操作失败,整个事务将回滚。

订阅消息

在成功操作后,尝试发送订阅消息通知用户积分变动情况。

订阅消息参数

  • touser: 接收消息的用户 openid
  • thing1: 消息内容描述。
  • number2: 积分余额。
  • thing3: 消息提示。
  • character_string8: 积分变动数量。

订阅消息模板

  • templateId: 模板 ID,用于发送订阅消息。
  • page: 跳转的页面路径。
  • miniprogramState: 小程序的状态 (如 formal 表示正式版)。

示例调用

cloud.callFunction({
  name: 'token',
  data: {
    openid: 'user-openid',
    number: 10,
    mark: '购物赠送',
    orderId: 'order-123',
    module: 'moduleName',
    moduleId: 'moduleId-123'
  },
  success: res => {
    console.log('积分操作成功:', res);
  },
  fail: err => {
    console.error('积分操作失败:', err);
  }
});
0

【token调用文档隶属于分类: 小程序开发

它起初由本站用户:刘欣Eden于9个月前 创建。

该内容的链接是:

目录