专栏首页移动大前端云调用01-发送模板消息

云调用01-发送模板消息

官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/openapi.html

支持接口:https://developers.weixin.qq.com/miniprogram/dev/api-backend/index.html

一、创建云函数并配置相应的权限

image.png

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

image.png

必须配置相关的调用权限,否则无法正常调用

二、编写云函数

// 通过云调用,推送模板消息
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async(event, context) => {

  var remark = event.remark;
  var content = event.content;
  var openid = event.openid;
  var formid = event.formid;
  var time = event.time;
  var dealtime = event.dealtime;

  try {
    const result = await cloud.openapi.templateMessage.send({
      touser: cloud.getWXContext().OPENID, // 通过 getWXContext 获取 OPENID
      page: 'pages/index/index',
      data: {
        keyword1: {
          value: time // 反馈时间
        },
        keyword2: {
          value: remark // 反馈内容
        },
        keyword3: {
          value: content // 答复内容
        },
        keyword4: {
          value: dealtime // 答复时间
        }
      },
      templateId: 'nY2VgW5stexOgdk73IHO7x6yah8gxHNpt--udckkzfY', // 模板消息ID
      formId: formid, // 推送码
      emphasisKeyword: ''
    })
    // result 结构
    // { errCode: 0, errMsg: 'openapi.templateMessage.send:ok' }
    return result
  } catch (err) {
    // 错误处理
    // err.errCode !== 0
    throw err
  }
}

三、调用云函数

             wx.cloud.callFunction({
                    name: 'pushmsg',
                    data: {
                      remark: remarktemp,
                      content: pushcontent,
                      openid: touser,
                      formid: formid,
                      time: that.data.time,
                      dealtime: new Date().format('yyyy-MM-dd hh:mm:ss')
                    },
                    success: res => {
                      console.log(res);
                      wx.showToast({
                        title: '发送成功!',
                      })

                      wx.cloud.callFunction({ // 【删除】已用formid
                        name: 'deleteOneFormId',
                        data: {
                          objectId: objectid
                        },
                        complete: res => {
                          console.log('删除成功', JSON.stringify(res));
                        }
                      })

                    },
                    error: err => {
                      console.log(err);
                      wx.showToast({
                        title: '发送失败!',
                      })
                    }
                  });

四、推送效果

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云调用02-生成小程序码

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/op...

    专注APP开发
  • JS示例10-ajax的简单使用

    1、GET请求 2、eval的使用(读取JSON) 3、创建元素document.createElement('li') 4、innerHTML的使用

    专注APP开发
  • JS示例08-选项卡

    专注APP开发
  • python笔记:python调用C库

    在python中实现算法性能较差,所以在某些瓶颈处,可以把算法用C语言的实现。编译成动态链接库,再让python调用。

    超级大猪
  • 企业面试题: HTML5中的Session storage存储对象创建和访问

    Session storage 存储对象存储一个会话的数据。当用户关闭浏览器窗口时,数据将被删除。

    舒克
  • Angular开发实践(六):服务端渲染

    Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是 Angular Universal(统一平台),一项在服务...

    laixiangran
  • 原生 PHP、Laravel5.4、Yii2 和 ThinkPHP3.2 中的事务实例

    一、原生 MySQL <?php // 开启一个事务 mysql_query('START TRANSACTION'); $res1 = mysql_quer...

    琯琯
  • 每个人都在使用LSTM,主流学术圈却只想让它的发明者闭嘴

    大数据文摘
  • javascript操控浏览器

    机器学习和大数据挖掘
  • Java中的反射——来做一点小练习

    然后利用面相接口编程的原则,创建KFC类。(这就是面向接口编程的原则,不然咱们就要写两个类一个生成可乐,一个生成橙汁~)

    良月柒

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动