使用Senparc.Weixin进行模板消息推送

做了一个充电桩的服务应用,每次充电完成后进行订单消息推送。

只有认证的服务号才可以使用模板消息的功能。

//测试模板消息发送
                var templateId = "";
                AccessTokenContainer.Register(AppConfig.AppId,AppConfig.AppSecret);//如果不进行注册,则会提示该appid未经注册
                string access_token = AccessTokenContainer.GetAccessTokenResult(AppConfig.AppId).access_token;

                var data = new
                {
                    first = new TemplateDataItem("您的订单已经支付"),
                    keyword1 = new TemplateDataItem("1234567890"),
                    keyword2 = new TemplateDataItem("device01"),
                    keyword3 = new TemplateDataItem("20180901"),
                    keyword4 = new TemplateDataItem("180"),
                    keyword5 = new TemplateDataItem("12"),
                    remark = new TemplateDataItem("欢迎您再次使用")
                };                
                TemplateApi.SendTemplateMessage(access_token, userInfo.openid, templateId, "#FF0000", "http://www.baidu.com", data);

这里主要说下SendTemplateMessage这个方法的使用,根据文档上所述,方法如下:

public static SendTemplateMessageResult SendTemplateMessage(
	string accessTokenOrAppId,
	string openId,
	string templateId,
	string url,
	Object data,
	TempleteModel_MiniProgram miniProgram = null,
	int timeOut = 10000
)

其中参数的解释如下:

accessTokenOrAppId:类型:System. String    AccessToken或AppId(推荐使用AppId,需要先注册)

openId:类型:System. String  也就是要发送的微信用户openid

templateId:类型:System. String 是指服务号所使用的模板ID

url:类型:System. String (非必须)点击消息跳转的链接,需要有ICP备案

data:类型:System. Object 指要传入的数据

miniProgram (Optional):类型:Senparc.Weixin.MP.AdvancedAPIs.TemplateMessage. TempleteModel_MiniProgram
(非必须)跳小程序所需数据,不需跳小程序可不用传该数据

timeOut (Optional):类型:System. Int32 代理请求超时时间(毫秒)

而在实际的应用中,在templateId后面还有个topcolor的参数,是模板消息顶部颜色(16进制),默认为#FF0000

粗略整理下,有需要的朋友一起讨论下。

猜你喜欢

转载自blog.csdn.net/jiezhang656/article/details/82662130