建议大家使用FireFox、Opera、Safri、IE8+等主流浏览器访问本站,否则可能会出现不兼容等问题!

广西福彩快乐双彩开奖信息:nodejs微信开发手记(wechat,wecha-api)

Nodejs 凶恶的方块 7659次浏览 已收录 5个评论

前言:

广西快乐双彩官方网站 www.y6mg.cn 学校有个小比赛,然后有个微信的东西,准备用nodejs搞一搞。原以为很简单,结果坑了。朴灵大大,写了wechat的API???,其实是两个wechat和wechat-api,wechat主要是回复消息,wechat-api则是其他接口的封装。

参考开发??椋?/h2>

GitHub (wechat): ?https://github.com/node-webot/wechat?

Nodejs 微信API库(wechat-api)://doxmate.cool/node-webot/wechat-api/api.html

开始:

首先申请了一个API这里有个token,按照官方的方法需要先验证这个东西,至于验证方法…原生的是

var crypto = require('crypto');
function sha1(str) {
    var md5sum = crypto.createHash('sha1');
    md5sum.update(str);
    str = md5sum.digest('hex');
    return str;
}
exports.tocked=function(req, res, next) {
    //微信得到返回后会通过你的认证
    var query = req.query;
    var signature = query.signature;
    var echostr = query.echostr;
    var timestamp = query['timestamp'];
var nonce = query.nonce;
var oriArray = new Array();
oriArray[0] = nonce;
oriArray[1] = timestamp;
oriArray[2] = "sdsfd";//这里填写你的token
oriArray.sort();
var original = oriArray[0]+oriArray[1]+oriArray[2];
console.log("Original Str:"+original);
console.log("signature:"+signature);
var scyptoString = sha1(original);
if (signature == scyptoString) {
    res.send(echostr);
}}

把这个写到路由的位置就OK了,通过这个认真,我们能通过API开发者资格的认真,但是wechat已经给封装了方法,就不用了那么麻烦了。

var config = {
    token: '********',
    appid: '***************'
};

/* GET home page. */
module.exports=wechat(config, function (req, res, next) {}

把这个写入相应的路由,然后启动项目,点击微信开放平台上的验证token(PS:多点几下,腾讯有时会抽风);当验证成功我们就可以用官方的wechat例子进行测试了,注:每个请求当没有遇到res. reply()方法的时候会重复请求三次。 我们可以打印req.weixin这样我们就能方便的进行调试。

wechat的等待回复功能不能启用,如果你使用rides的话WXSession,最好看好接口文档,否则怎么死的都不知道

菜单:

创建菜单需要使用wechat-api这个???,二话不说直接上码。

var wechatApi=require('wechat-api');
var fs=require('fs');
var iconv=require('iconv-lite');
var api = new wechatApi('wx310a9385514e6a69', 'fec50d83a22c77d2414d931affe3baf9');
exports.createMenu=function(){
     var menu1=fs.readFileSync('routes/yourapi/menu.json');
var c=iconv.decode(menu1,'utf-8');
    api.createMenu(c, function(err, result){
     console.log(result);
    });
}
exports.removeMenu=function(){
    api.removeMenu();
}

直接读进来,当出现用户收听事件的时候,创建菜单,如果要移除菜单可以,removemenu(),但是服务器有缓存,多触发几次事件就OK。

 


方块网络 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明nodejs微信开发手记(wechat,wecha-api)!
喜欢 (1)or分享 (0)
avatar
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(5)个小伙伴在吐槽
  1. avatar
    function sha1(str) { var md5sum = crypto.createHash('sha1'); md5sum.update(str); str = md5sum.digest('hex'); return str;}需要注意下: md5sum.digest()返回的小写字符,而微信API返回的是大写字符, (也有可能反过来,md5sum.digest()是大写,而微信API返回的是小写字符)。。。。就算是签名字符一样,也得注意这个坑,我当时也调试好半天注意到这玩意。 坑!
    孤月狼2018-06-23 14:23 回复 Windows 10 | Chrome 58.0.3029.110
  2. avatar
    nodjs很牛的啊,支持
    osblog2016-04-03 16:15 回复 Windows 10 | Chrome 48.0.2564.109
  3. avatar
    很实战哦 学习学习
    米粒博客2016-03-25 20:57 回复 Windows 10 | Chrome 45.0.2454.101
  • 40年来的改革开放取得了伟大的成就,我们应该看到,以增强我们的自信;但这40年来,我国也出现了十分严重的社会问题,我们也必须看到,有些问题是40年前未曾有过并已 2019-06-17
  • “三三集团”涉嫌非法集资案起底:范冰冰曾代言 2019-06-16
  • 小艾童鞋被钉上了自己设计制造的耻辱柱! 2019-06-16
  • 大学毕业生是不是越来越过剩?当然大学毕业生可以在多种行业就业,比如农村、服务业等等。不过,过剩还是一种极大的浪费。 2019-05-26
  • 滨州市质监局原党组书记、局长高树先被双开 2019-05-23
  • 余文乐太太晒孕肚写真 夫妻携手出镜幸福感满满 2019-05-18
  • 一年见两次  男孩火车站帮爸爸拔白发 2019-05-10
  • 高清:C罗帽子戏法科斯塔梅开二度 葡萄牙3 2019-05-01
  • 看世界杯,参考点啥--旅游频道 2019-04-19
  • 要让大陆“摸不透”相关新闻 2019-04-17
  • 贾XX,B站喊你回家直播! 2019-04-17
  • 驴友探险失足摔伤被困深山 消防官兵抬着担架蹚河救人 2019-04-15
  • [微笑]也不用担心房价会崩盘,因为亏损太多,没人会卖,只有炒房的才会急于套现会有全社会占比较小的抛售…… 2019-04-12
  • 张德江:着力加强人大对外交往,服务中国特色大国外交 2019-04-12
  • 黄山市曝光13处省市政府挂牌督办重大火灾隐患点 2019-04-02
  • 625| 390| 981| 737| 685| 740| 669| 197| 167| 23|