900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 服务器推送小程序 小程序之主动推送消息(订阅消息)

服务器推送小程序 小程序之主动推送消息(订阅消息)

时间:2019-08-07 18:37:00

相关推荐

服务器推送小程序 小程序之主动推送消息(订阅消息)

微信的东西,第一次玩,记录下全过程,略过申请小程序步骤

1:配置类目,建议在申请小程序的时候多选几个类目,类目越多,可选的消息模版越多,修改地址(传送门 路径: 设置-基本设置-服务类目)

2:设置推送消息模版地址:传送门 选择公共模版,这一步与上一步选择的类目相关。

3:配置服务器域名+消息推送 地址:传送门

1):服务器域名配置:

路径:开发-开发设置-服务器域名,前四个都填写(注意需要80或443端口),如下图

2):代码编写:此步骤是为了给微信服务器提供验证用,就是说我们要写一个接口(GET方式),给微信调用,具体参数如下

文档地址:传送门参数描述

signature微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

timestamp时间戳

nonce随机数

echostr随机字符串

以下是我的code,可以直接使用(netcore版本)///

/// 接口认证

///

///

///

///

///

///

[HttpGet]

[Route("GetWechatSubscription")]

[SkipResponseDataFilter]

public string WechatSubscription(string echostr, string signature, string timestamp, string nonce)

{

string token = "jdcommonpushmessage123";//此处token需要保存下,第三步会用到

if (!CheckSignature(token, signature, timestamp, nonce))

{

//echostr = "验证不正确";

throw new UserFriendlyException("token验证不正确");

}

return echostr;

}

///

/// 验证微信签名

///

private bool CheckSignature(string token, string signature, string timestamp, string nonce)

{

string[] ArrTmp = { token, timestamp, nonce };

Array.Sort(ArrTmp);

string tmpStr = string.Join("", ArrTmp);

var data = SHA1.Create().ComputeHash(Encoding.UTF8.GetBytes(tmpStr));

var sb = new StringBuilder();

foreach (var t in data)

{

sb.Append(t.ToString("X2"));

}

tmpStr = sb.ToString();

tmpStr = tmpStr.ToLower();

if (tmpStr == signature)

{

return true;

}

else

{

return false;

}

}

接口写好了,那怎么调用呢?请看第三条

3)我们在第一步的时候填写了服务器域名,那么

(1)把第二步的接口发布到上述的服务器

(2)回到配置服务器域名的页面(点击此处进入传送门),往下拉找到 消息推送进入页面,如下图

参数说明:url--就是第二步发布的接口地址

token--随便输入一个32位的字符串(注意,第二步代码中有 string token = "jdcommonpushmessage123";,这个jd....需要和这个token保持一致)

EncodingAESKey:直接点击右侧随机生成即可,编写代码的时候没用到。

信息加密方式:选择安全模式。

数据格式:json。

然后点击提交,注意:如果能够提交成功,说明第二步写的接口没问题,失败则是接口有问题,可以查看下参数名称、大小写、返回的参数大小写、格式是否与微信要求的一致。

以上便是服务端相关接口,当然只是做了这些是不可能调起下图内容的

还需要前端调微信下发权限接口,点击进入(传送门)

以上便是小程序信息推送,供大家一起交流。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。