`
JerryWang_SAP
  • 浏览: 1010124 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

微信程序开发系列教程(一)开发环境搭建

阅读更多

1. 您得从微信官方平台注册一个微信订阅号:

https://mp.weixin.qq.com

2. 这个教程使用nodejs开发微信订阅号对应的消息服务器,因此需要具备基本的nodejs开发技能。

 

登录微信公众号平台https://mp.weixin.qq.com, 使用菜单:Development->Basic configuration:

 

最重要的是在订阅号的控制台里指定一个消息服务器的url。如下图所示。这个消息服务器的url从哪里来?

 

我会用nodejs开发一个服务器,部署到Salesforce的云平台Heroku上。 

当您的微信订阅号的粉丝通过微信App同您的订阅号交互,比如发消息,或者使用您的微信订阅号自定义菜单时,这些请求就会通过微信App转发到您的nodejs消息服务器上。

但是当您配置的消息服务器要真正起作用,还得先通过一个验证。验证流程在微信官网上: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5

 

微信官网上提供的验证流程的实现是用Python写的,我提供了一个nodejs版本的实现。

 

我们在微信订阅号的控制台点了Submit按钮之后,微信框架会发送一个HTTP请求到你的微信服务器去,请求明细如下:

https://<your server url>/?signature=096abd439b41f9610aeabe2d7534084fd8dafa20&echostr=16168327802220428137&timestamp=1512810825&nonce=384289189

您的微信服务器的职责就是:按照上面流程图定义的规范,计算根据您微信订阅号的token(令牌),时间戳和nonce字段,计算出一个签名值,然后同发到消息服务器的签名值做对比。如果对比发现两者不一致,会收到错误消息“Token authentication failed”。

 

下面是如何用nodejs开发使得消息服务器通过验证流程。

1. 创建一个新的nodejs工程,下列package.json文件里高亮部分是用于消息服务器通信的重要部分。

主要的逻辑位于server.js里。

 

2. Server.js的主要代码:

var express = require('express');

var routesEngine = require('./index.js');

var app = express();

routesEngine(app);

app.listen(process.env.PORT || 3000, function () {

console.log('Listening on port, process.cwd(): ' + process.cwd() );

});

In implementation of index.js, now we need to implement verification process:

var request = require('request');

var jsSHA = require('jssha');

module.exports = function (app) {

app.route('/').get(function(req,res){

var token="jerry"; // replace it with your own token

var signature = req.query.signature,

timestamp = req.query.timestamp,

echostr = req.query.echostr,

nonce = req.query.nonce;

oriArray = new Array();

oriArray[0] = nonce;

oriArray[1] = timestamp;

oriArray[2] = token;

oriArray.sort();

var original = oriArray.join('');

var shaObj = new jsSHA("SHA-1", 'TEXT');

shaObj.update(original);

var scyptoString = shaObj.getHash('HEX');

console.log("calculated string: " + scyptoString);

if (signature == scyptoString) {

res.send(echostr);

} else {

res.send('bad token');

}

});

};

 3. 将该nodejs应用部署到Heroku平台。具体操作参考Heroku的操作手册。

 

 

回到订阅号的操作台,发现我们的nodejs微信服务器认证成功,可以做开发了。

分享到:
评论

相关推荐

    微信小程序开发教程流程详解.pdf

    要成功开发一款微信小程序,我们需要遵循一系列步骤,并考虑多种因素。以下是一个详细的教程流程,帮助你理解如何从零开始创建自己的小程序。 首先,明确开发目的与功能需求。这是任何项目启动的基础。你需要思考小...

    Java后端微信小程序视频教程

    这门教程深入浅出地讲解了Java在构建微信小程序后端服务中的应用,让开发者能够掌握从服务器端处理数据、响应小程序请求到实现页面动态化的一系列技能。 首先,我们要理解Java在后端开发中的角色。Java是一种广泛...

    微信小程序 开发教程 学习视频(一)

    在“微信小程序开发教程 学习视频(一)”中,你将首先了解到微信小程序的开发环境搭建。这包括安装微信开发者工具,它是开发微信小程序的重要平台,提供了代码编辑、预览、调试和发布等一系列功能。你需要注册微信...

    微信小程序开发案例指导

    一、微信小程序开发环境搭建 在开始微信小程序的开发之前,你需要先安装微信开发者工具。这个工具提供了代码编辑、预览、调试以及发布等一系列功能。你可以从微信官方开发者网站下载,按照指引进行安装。安装完成后...

    微信小程序 开发教程

    组件是微信小程序开发中的一个重要概念,它类似于网页中的HTML元素,每个组件具有自己的属性和事件。微信小程序官方提供了一系列的内置组件,例如:view、text、button、input、image等。组件可以被复用,也可以通过...

    【1积分】微信小程序开发制作 视频教程入门到精通小程序源码模板带后台

    1. **开发环境搭建**:首先,学习者需要了解如何安装和配置微信开发者工具,这是开发小程序的基础。这个工具提供了代码编辑、预览、调试等一系列功能,让开发者能高效地进行小程序的开发工作。 2. **小程序结构**:...

    微信小程序开发-旅游小程序案例源码

    1. **微信小程序开发环境搭建**:首先,你需要安装微信开发者工具,它提供了编写、预览和调试小程序的集成环境。在工具中,你需要注册并获取小程序的AppID,这是小程序身份的标识。 2. **小程序框架理解**:微信小...

    微信小程序开发教程-婚礼邀请函

    一、小程序开发环境搭建 开发微信小程序前,首先需要安装微信开发者工具。该工具提供了代码编辑、预览、调试等一站式服务。下载并安装后,通过注册微信开放平台账号,关联小程序,然后创建新的项目,设置项目的基本...

    微信小程序详细教程微信小程序详细教程

    ### 微信小程序详细教程知识点解析 ...综上所述,微信小程序的开发涉及到了从环境搭建、页面创建到具体的模板语法、组件使用、事件处理等多个方面。开发者需要熟练掌握这些基础知识,才能更好地进行小程序的开发工作。

    01_微信小程序官方开发指南文档(带目录).7z

    一、微信小程序开发环境搭建 在开始微信小程序的开发之前,你需要安装微信开发者工具。这个工具集成了代码编辑、预览、调试和发布等功能,是开发小程序的基础。下载并安装后,可以通过它创建新的小程序项目,设置...

    微信小程序入门教程+案例demo.rar

    在"微信小程序入门教程+案例demo.rar"这个压缩包中,你将找到一系列学习微信小程序开发的资料和实战案例。这些资源旨在帮助初学者快速理解并掌握微信小程序的基本概念、开发环境的搭建、以及实际应用的构建方法。 1...

    某宝购买的云开发喝酒神器微信小程序源码,带流量主和重启人生(带详细教程)

    总的来说,“云开发喝酒神器2.0微信小程序”是一个结合了云开发、流量主和趣味游戏功能的项目,对于想要学习微信小程序开发,尤其是云开发和广告变现的开发者来说,这是一个很好的实践案例。通过研究这个源码,你...

    微信小程序小游戏教程视屏加源码

    2. **小游戏开发环境搭建**: 开发微信小游戏前,你需要安装微信开发者工具,这是一个集成了调试、预览、发布等多功能的平台。通过它,你可以编写代码、查看实时效果、调试错误,并最终将小游戏提交到微信审核。 3...

    微信小程序教程和项目案例

    一、微信小程序开发环境搭建 在开始微信小程序的开发之前,首先需要下载并安装微信开发者工具。该工具集成了代码编辑、预览、调试和发布等功能,是开发微信小程序的基础。安装完成后,注册微信开发者账号,关联小...

    校园二手书商城源代码基于微信小程序云开发,可在线支付提现,含详细配置教程

    总的来说,这个开源项目提供了实践微信小程序开发、云服务应用和电商平台构建的绝佳机会。无论是对个人技能提升还是团队协作,都有着积极的意义。通过深入学习和定制这个源代码,你可以掌握微信小程序的开发技术,...

    一个精巧、易用的微信小程序开发辅助库.zip

    2. **微信小程序开发环境搭建**:开发微信小程序需要安装微信开发者工具,这是一个集成了代码编辑、预览、调试和发布等功能的平台。 3. **WXML与WXSS**:这是微信小程序的两种特殊语言,WXML类似于HTML,负责结构...

    微信小程序-麦当劳点餐源码

    微信开发者工具是进行小程序开发的重要辅助工具,它提供了代码编辑、预览、调试和发布等一系列功能,有助于开发者高效地完成项目开发。 6. 实战经验与学习价值: 通过研究这个点餐系统,开发者不仅可以掌握微信小...

    尚硅谷的微信小程序视频的源码、资料

    1. **开发环境搭建**:如何配置微信开发者工具,设置项目,调试小程序。 2. **生命周期与组件**:小程序的启动、加载、显示、隐藏等生命周期方法,以及自定义组件的创建和使用。 3. **数据绑定与事件处理**:如何...

    微信小程序云开发-增删改查实现源码

    微信小程序云开发是一种将后端服务与前端应用紧密结合的技术,它允许开发者在微信小程序中直接进行数据的存储、处理和交互,无需独立搭建服务器。在这个"微信小程序云开发-增删改查实现源码"中,我们可以看到一个...

    803-ESP32_SDK开发-手机连接ESP32的热点,使用微信小程序查看摄像头图像(WiFi视频小车,局域网视频监控) -

    在【部分内容】中,提到了一系列的开发教程,包括ESP32的基础开发、环境搭建、网络摄像头的测试、任务管理、外设操作以及网络通信等。这些都是开发过程中必须掌握的基本技能。同时,资料提供了ESP32开发板的链接,...

Global site tag (gtag.js) - Google Analytics