• 微信小程序订阅消息


    订阅消息

    介绍

    微信小程序端的订阅消息主要是用于对用户的消息提醒,如订单提醒,消息提醒等。
    

    官方文档入口

    小程序订阅消息

    实操

    第一步:获取模板ID

    1. 登陆微信小程序后台(微信公众平台

      功能 -> 订阅消息

      在公共模板库找到适合自己的模板

    2. 在我的模板中选择其中一个模板,点击详情

    第二步:获取下发权限

    1. 在wxml前端定义一个授权按钮
    <button bindtap="test1">订阅消息</button>
    
    1. 在js里定义触发函数test1
      test1: function () {
        wx.requestSubscribeMessage({
          tmplIds: ['你的模板id'], 
          success(res) {
            console.log(res)
          }
        })
      },
    
    1. 进入手机进行真机调试

    第三步:调用接口下发订阅消息

    1. 在前端定义发送按钮
    <button bindtap="test2">发送消息</button>
    
    1. 云函数

      因为云函数不需要从小程序方获取access_token,因此选择云调用是很好的选

    2. 新建云函数sendWeather

      1. 右键新建note.js云函数

    1. 配置API权限

      在云函数的config.json文件中写入以下代码

      {
        "permissions": {
          "openapi": [
            "subscribeMessage.send"
          ]
        }
      }
      
    2. 编写云函数index.js

      const cloud = require('wx-server-sdk')
      cloud.init()
      exports.main = async (event, context) => {
        try {
          const result = await cloud.openapi.subscribeMessage.send({
            touser: event.openid,
            page: 'pages/index/index',
            lang: 'zh_CN',
            data: {
              date1: {
                value: event.date
              },
              phrase3: {
                value: event.weather
              },
              character_string4: {
                value: event.temp
              },
              thing5: {
                value: event.sugg
              }
            },
            templateId: '你的模板id',
            miniprogramState: 'developer'
          })
          console.log(result)
          return result
        } catch (err) {
          console.log(err)
          return err
        }
      }
      
    3. 云函数参数详解

      属性 说明
      touser 接收者(用户)的 openid
      templateId 所需下发的订阅模板id
      page 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(index?foo=bar)
      data 模板内容,注意这部分的内容非常重要
      miniprogramState 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
      lang 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN

      注意:data中的内容必须与模板详情中的内容相对应

    4. 云函数调用,在页面的js文件中编写test2触发函数

        test2: function () {
          wx.cloud.callFunction({
      name: 'sendWeather',
            data: {
              openid: app.globalData.openid,
              date: '2019年10月1日',
              weather: '多云',
              temp: '1234',
              sugg: '你好',
            },
            success: res => {
              console.log(res)
            },
            fail: err => {
              console.log(err)
            }
          })
        }
      
    5. 部署到云端

    6. 测试

  • 相关阅读:
    js合并table指定列
    jquery固定表头和列头
    Response输出excel设置文本样式
    Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句
    清除webBrowser 缓存和Cookie的解决方案
    WebBrowser加载一个URL被多次调用DocumentCompleted 的问题解决方案<转>
    Windows 2003 防火墙开启后无法访问FTP解决办法
    基于支付宝微信通知的一种个人收款回调方案(转)
    P2P技术详解(三):P2P技术之STUN、TURN、ICE详解
    turn协议的工作原理
  • 原文地址:https://www.cnblogs.com/yuyifeng/p/12871137.html
Copyright © 2020-2023  润新知