【四】鸡汤来咯开发学习笔记-66

前端 · 2024-08-20

1.在插件市场下载安装订阅消息插件到项目中(属于unicloud的uni-subscribemsg 公共模块)
地址存在于\uniCloud\cloudfunctions\common\uni-subscribemsg

2.在edit中加入请求是否通知订阅消息

    const onSubmit = async () => {
            await uni.requestSubscribeMessage({
                tmplIds:["nD0V_AkkZwUeJFhTpfZ6TBoHCu6XrScOb82d68QpW6w"]
            });

其中的tmplIds:里面是我们微信申请的订阅消息模板

3.创建云对象subscribemsg,然后添加云对象依赖的公共模块的时候,勾选uni-subscribemsg

    const UniSubscribemsg=require('uni-subscribemsg')
module.exports = {
    _before: function () { // 通用预处理器

    },
    async sendSubscribeMessage(){
        // 初始化实例
        let uniSubscribemsg = new UniSubscribemsg({
            dcloudAppid: "__UNI__6A102F8",  //在manifest.json里面
            provider: "weixin-mp", // 注意,这里是改为weixin-mp就是小程序
        });
        // 发送模板消息
        let res = await uniSubscribemsg.sendSubscribeMessage({
            touser: "o51LL6_DfIOMkwIKb69miA_Kp2MY", //用户openid
            template_id: "nD0V_AkkZwUeJFhTpfZ6TBoHCu6XrScOb82d68QpW6w",//这是订阅信息模板id
            page: "pages/index/index", // 用户点击消息后跳转的链接地址
            miniprogram_state: "developer", // 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
                lang: "zh_CN",
                data: {
                    thing1: {
                        value: "张三"
                    },
                    phrase2: {
                        value: "发布成功"
                    },
                    time3: {
                        value: "2024-8-20 15:55:20"
                    },
                    thing4: {
                        value: "备注信息"
                    }
                }
        });
    }
    
}

其中data数据模板要按照订阅消息的格式来写
2024-08-20T07:57:51.png

4.在edit中引入该云对象然后使用

const subscribemsg=uniCloud.importObject("subscribemsg"); //引入
    

    const updataSuccess=()=>{
            if(id){
                if(formDate.value.status===1){
                    let {user_id:[{_id:user_id}],_id:soup_id} =formDate.value
                         soupScore.soupAdd({user_id,soup_id})
                        
                    }
                }
                subscribemsg.sendSubscribeMessage();  //使用
            }
        


Theme Jasmine by Kent Liao