小程序之主动推送消息(订阅消息) |
您所在的位置:网站首页 › qq消息推送在哪里关 › 小程序之主动推送消息(订阅消息) |
微信的东西,第一次玩,记录下全过程,略过申请小程序步骤 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。 然后点击提交,注意:如果能够提交成功,说明第二步写的接口没问题,失败则是接口有问题,可以查看下参数名称、大小写、返回的参数大小写、格式是否与微信要求的一致。 以上便是服务端相关接口,当然只是做了这些是不可能调起下图内容的 还需要前端调微信下发权限接口,点击进入(传送门) 以上便是小程序信息推送,供大家一起交流。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |