小程序配置模板消息

1.登录微信公众号平台,需要有权限的工作人员进行扫码登录。
2.登录进去点击订阅消息。
在这里插入图片描述
3.点击添加按钮,可以在搜索框进行搜索想要的模板类型,然后点击选用即可。
在这里插入图片描述
4.选择提醒模板消息的参数,需要跟客户沟通需要什么参数就配什么参数,场景说明随意写明内容。
在这里插入图片描述
5.选完模板消息之后,我的模板点击详情,可以知道模板ID 和 参数,此处的模板ID后端调用此模板的时候会用到,前端请求的时候也需要用到,需要用户勾选允许通知,获得通知权限。
在这里插入图片描述
6.小程序平台上需要获得小程序ID和小程序密钥,后端Config进行配置。
在这里插入图片描述
7.单独写一个函数用于发送模板消息接受的参数。哪里需要用到发送提醒的地方,调用这个类。

 public static void SendShoppingOrder(string orderNo, string goodName, string courierCompany, string createTime,string userKey,int orderID)
        {
                    WeiXinMessageHelper.SendShoppingOrder(new ShoppingOrderModel(
                            orderNo,
                            goodName,
                            courierCompany,
                            createTime),
                            "pages/orderDetail/orderDetail?ShoppingOrderID=" + orderID,
                            userKey);
              
        }

8.这里的model 是需要和小程序上新建的模板参数名相对应的,

 public class OrderSuccessModel
    {
        /// <summary>
        /// 商品名称
        /// </summary>
        public TemplateDataItemFix name4 { get; set; }

        /// <summary>
        /// 订单状态
        /// </summary>
        public TemplateDataItemFix phrase5 { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public TemplateDataItemFix character_string1 { get; set; }

        /// <summary>
        /// 支付金额
        /// </summary>
        public TemplateDataItemFix amount2 { get; set; }

        /// <summary>
        /// 收货地址
        /// </summary>
        public TemplateDataItemFix thing3 { get; set; }


        /// <summary>
        /// 下单成功通知
        /// </summary>
        /// <param name="name">商品名称</param>
        /// <param name="phrase">订单状态</param>
        /// <param name="character_string">订单号</param>
        /// <param name="amount">支付金额</param>
        /// <param name="thing">收货地址</param>
        public OrderSuccessModel(
            string name, string phrase,
            string character_string, string amount, string thing
            )
        {
            name4 = new TemplateDataItemFix(name);
            phrase5 = new TemplateDataItemFix(phrase);
            character_string1 = new TemplateDataItemFix(character_string);
            amount2 = new TemplateDataItemFix(amount);
            thing3 = new TemplateDataItemFix(thing);
        }
    }
    
 public class TemplateDataItemFix
    {
        public string value
        {
            get;
            set;
        }

        public TemplateDataItemFix(string v)
        {
            value = v;
         }
    }

9.Model是需要发送的参数,URL 是发送的模板消息调整的路径,OpenID 是微信用户的唯一标识,

public static void SendShoppingOrder(ShoppingOrderModel model, string url, string openID)
        {
            WeiXinMessageHelper.SendSubscribeMessage(WeiXinConfing.SmallProAppID, openID, "模板ID", model, url, m_Miniprogram_state, m_Lang);
        }


 private static void SendSubscribeMessage(string accessTokenOrAppId, string openId, string templateId,
               object data, string page = null, Miniprogram_state miniprogram_state = Miniprogram_state.正式版, Lang lang = Lang.zh_CN, int timeOut = 10000)
        {
            Task.Factory.StartNew(() =>
            {
                try
                {
                    var result = ApiHandlerWapper.TryCommonApi(accessToken =>
                    {
                        var miniprogramstate = "formal";

                        switch (miniprogram_state)
                        {
                            case Miniprogram_state.正式版: miniprogramstate = "formal"; break;
                            case Miniprogram_state.体验版: miniprogramstate = "trial"; break;
                            case Miniprogram_state.开发版: miniprogramstate = "developer"; break;
                        };

                        var ulang = "zh_CN";

                        switch (lang)
                        {
                            case Lang.en_US: ulang = "en_US"; break;
                            case Lang.zh_CN: ulang = "zh_CN"; break;
                            case Lang.zh_HK: ulang = "zh_HK"; break;
                            case Lang.zh_TW: ulang = "zh_TW"; break;
                        };

                        string urlFormat = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token={0}";
                        var msgData = new SubscribeMessageTemplateModel()
                        {
                            touser = openId,
                            template_id = templateId,
                            page = page,
                            data = data,
                            miniprogram_state = miniprogramstate,
                            lang = ulang,
                        };

                        LogHelper.Info("模本消息发送内容:" + Newtonsoft.Json.JsonConvert.SerializeObject(msgData));

                        return CommonJsonSend.Send<Senparc.Weixin.Entities.WxJsonResult>(accessToken, urlFormat, msgData, timeOut: timeOut);

                    }, accessTokenOrAppId);
                }
                catch (Exception ex)
                {
                    LogHelper.Info("模版消息发送异常:" + ex.ToString() + ",templateId:" + templateId + ",openId:" + openId + ",data:" + Newtonsoft.Json.JsonConvert.SerializeObject(data));
                }
            });
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值