首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mpvue下小程序云开发实现余额提现订阅消息提醒

mpvue下小程序云开发实现余额提现订阅消息提醒

作者头像
薛定喵君
发布2020-01-15 10:35:32
9930
发布2020-01-15 10:35:32
举报
文章被收录于专栏:薛定喵君薛定喵君

在小程序模板消息下线的日子记一下订阅消息的使用

博主最近做的小程序涉及到余额提现的功能,需要在提现过程中推送给用户相应类型的消息。下面介绍下实现的流程。

  • 获取模板ID
  • 订阅消息发送云函数添加
  • 获取下发权限
  • 下发订阅消息

# 获取模板ID

本文涉及到的是提现功能相关消息模板

在小程序管理后台订阅消息功能模块中添加如下模板

提现失败模板的详情

# 订阅消息发送云函数添加

# 参照前文mpvue框架下使用小程序云开发获取用户openid添加具有发送订阅消息功能实现的代码

1.云开发控制台添加云函数 withdraw_apply_notice

2.微信开发者工具中同步云函数并下载

3.将下载后的withdraw_apply_notice云函数文件夹拷贝至项目的static/function目录下(这样在编辑保存时会自动编译到dist目录相应的文件夹下)

4.根据业务场景实现发送功能

5.上传并部署代码

# static/function/withdraw_apply_notice文件夹下对应的代码

index.js

const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  try {
    let result = null
    let templateId = 'nQ_3dfnVXemfma1HH4oRkPJjEkVAanRjmaZ4d8dCT8Y'
    if (event.type === 'apply') {
      result = await cloud.openapi.subscribeMessage.send({
        touser: wxContext.OPENID,
        page: '/pages/wallet/main',
        data: {
          date1: {
            value: event.withdraw_time,
          },
          amount2: {
            value: event.amount + '元',
          },
          thing3: {
            value: event.note,
          },
        },
        templateId: templateId,
      })
    } else if (event.type === 'fail') {
      templateId = 'a4Rm1_IE1rEntZQrWMnuNEdcdH_qKEIt-EzHh0zpWTY'
      result = await cloud.openapi.subscribeMessage.send({
        touser: wxContext.OPENID,
        page: '/pages/wallet/main',
        data: {
          amount1: {
            value: event.amount + '元',
          },
          phrase2: {
            value: '提现失败',
          },
          thing3: {
            value: event.note,
          },
        },
        templateId: templateId,
      })
    }
    console.log(JSON.stringify(event))
    return result
  } catch (err) {
    console.log(err)
    return err
  }
}

config.json中设置订阅消息调用权限

{
  "permissions": {
    "openapi": [
      "subscribeMessage.send"
    ]
  }
}

# 获取下发权限

在用户点击提现按钮的时候获取权限

withDraw(status) {
  // 订阅消息
  wx.requestSubscribeMessage({
    tmplIds: ['nQ_3dfnVXemfma1HH4oRkPJjEkVAanRjmaZ4d8dCT8Y', 'wf3GLRu4NDLbE5iwyDiZfz-kCtkJ4Kr73sEovdejteY', 'a4Rm1_IE1rEntZQrWMnuNEdcdH_qKEIt-EzHh0zpWTY'],
    success(res) { }
  })
  ...
},

消息订阅接口

执行效果

# 下发订阅消息

下发场景是用户输入提现金额点击确定按钮之后触发消息下发

withDraw(params).then(res => {
  this.loginLoading = false
  if (res.status === 0) {
    $Toast({
      content: '提交申请成功,等待处理',
      type: 'success',
    })
    wx.cloud.callFunction({
      name: 'withdraw_apply_notice',
      data: {
        withdraw_time: formatTime((new Date()).getTime()),
        amount: this.amount,
        type: 'apply',
        note: '提现申请已提交,请耐心等待处理'
      }
    })
  } else {
    this.loginLoading = false
    wx.cloud.callFunction({
      name: 'withdraw_apply_notice',
      data: {
        amount: this.amount,
        type: 'fail',
        note: res.message
      }
    })
    $Toast({
      content: res.message,
      type: 'error',
    })
  }
})

提现失败时的效果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 获取模板ID
  • # 订阅消息发送云函数添加
    • # 参照前文mpvue框架下使用小程序云开发获取用户openid添加具有发送订阅消息功能实现的代码
      • # static/function/withdraw_apply_notice文件夹下对应的代码
      • # 获取下发权限
      • # 下发订阅消息
      相关产品与服务
      云函数
      云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档