培训报名小程序-订阅消息发送

news/2024/7/20 0:54:20 标签: 小程序, 低代码, 微搭

目录

  • 1 创建API
  • 2 获取模板参数
  • 3 编写自定义代码
  • 4 添加订单编号
  • 5 发送消息
  • 6 发布预览

我们上一篇讲解了小程序如何获取用户订阅消息授权,用户允许我们发送模板消息后,按照模板的参数要求,我们需要传入我们想要发送消息的内容给模板,给用户发送订阅消息。本篇我们讲解一下微搭是如何发送订阅消息的。

1 创建API

打开控制台,在数据源下找到APIs,点击新建APIs
在这里插入图片描述
选择自定义代码
在这里插入图片描述
修改名称,点击创建按钮
在这里插入图片描述

2 获取模板参数

登录小程序管理后台,找到我们启用的模板,查看需要的参数
在这里插入图片描述

3 编写自定义代码

参数准备好了之后,我们需要使用API来发送订阅消息,在自定义代码的编辑器里输入如下代码

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})

module.exports = async function (params, context) {
  try {
    const result = await cloud.openapi({appid: context.env.currentAppId}).subscribeMessage.send({
        "touser": context.env.currentOpenId,
        "page": 'index',
        "lang": 'zh_CN',
        "data": {
          "character_string1": {
            "value": params.character_string1
          },
          "thing2": {
            "value": params.thing2
          },
          "amount3": {
            "value": params.amount3
          },
          "date4": {
            "value": params.date4
          }
        },
        "templateId": params.templateId,
        "miniprogramState": 'trial'
      })
    return result
  } catch (err) {
    return err
  }
};

代码写好之后,点击添加入参
在这里插入图片描述
录入我们的参数
在这里插入图片描述
参数写好之后,点击方法测试,修改一下我们的参数值
在这里插入图片描述
点击运行测试
在这里插入图片描述
点击出参映射,将参数写入到出参中
在这里插入图片描述
点击保存就完成了API的创建

4 添加订单编号

我们的报名表缺少一个订单编号的字段,打开我们的数据源,添加订单编号字段,类型选择自动编号
在这里插入图片描述

5 发送消息

我们上一篇是在报名确认页面问用户要的消息订阅的权限,这个时候有点晚了,我们提前一下,在报名页面的提交动作问用户要一下订阅消息的权限。
在这里插入图片描述
在报名确认页面,点击支付的时候我们就给用户发送订阅消息,选择我们的API,传入对应的参数
在这里插入图片描述

6 发布预览

点击发布按钮,发布成小程序,在手机里测试查看具体的结果


http://www.niftyadmin.cn/n/4928328.html

相关文章

收音机波段划分与特点

文章目录 调频广播 FM调幅广播AM其他调幅(AM)广播 中波 MW短波 SW短波米波段划分 长波 LW长波超长波 调频广播 FM 调频:Frequency Modulation 调频广播频率范围:76-108MHz。 中国:87.5-108MHz 日本:76-90MHz 调频是一种调制方…

一个利用oracle异常处理的函数

函数主体如下: CREATE OR REPLACE FUNCTION fn_get_agmt_bal(p_agmt_no varchar2) RETURN NUMBER ISv_bal NUMBER : 0;--在SQL/PLUS中执行时,若合dbms_output生效,需先执行【SET SERVEROUTPUT ON】; BEGINselect agmt_balinto v_balfrom edw…

指针---进阶篇(二)

指针---进阶篇(二) 前言一、函数指针1.抛砖引玉2.如何判断函数指针?(方法总结) 二、函数指针数组1.什么是函数指针数组?2.讲解函数指针数组3.模拟计算器:讲解函数指针数组 三、指向函数指针数组…

Java学习笔记——(14)基本数据类型的内存分析

基本数据类型在内存中的存在形式 1. 在栈内 开辟一个空间 保存变量名[成员变量有默认值/局部变量无] (如果不赋值 则只执行到这一步) 2. 把值 赋值 给 这个空间 变量名[成员变量有默认值/局部变量无] --> 变量名[基本数据类型value] 成员变量默认值:【详见文章 …

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次

uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次 问题代码官方说明参考资料 问题代码 直接从官方示例中复制过来改的。为了演示 <template><view><uni-forms ref"form" :modelValue"formData" :rules"rules&qu…

vcruntime140.dll如何修复?哪个修复方法更简单

修复 vcruntime140.dll 的过程确实是一次让我有些头疼的经历。起初&#xff0c;当我在使用某个程序时&#xff0c;突然出现了一个错误提示&#xff0c;指出 vcruntime140.dll 文件丢失或损坏。这让我感到困惑&#xff0c;因为我并不清楚这个文件的作用和重要性&#xff0c;以及…

2542. 最大子序列的分数

题目描述&#xff1a; 主要思路&#xff1a; 这是一个堆的题目&#xff0c;首先将2里边的下标按照数值递减的顺序进行重新排列。依次遍历2的下标同时加上1的数值&#xff0c;堆里边存储1的大小。 class Solution { public:long long maxScore(vector<int>& nums1, …

低代码实现 3D 飞机动画漫游

相信大多数图扑 HT 用户都曾见过这个飞机的 Demo&#xff0c;在图扑发展的这十年&#xff0c;这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一。 这个 Demo 用简洁的代码生动地展示了 OBJ 模型加载、数据绑定、动画和漫游等功能的实现。许多用户参考这个简单的 Demo 后…