微信公众平台-起步(Node.js)

来源:互联网 发布:中国网络图书馆 编辑:程序博客网 时间:2024/06/06 14:00

在这篇微信公众平台开发教程中,我们假定你已经有了Node.js语言程序基础。

本系列教程将引导你完成如下任务:

  1. 创建新浪云计算平台应用
  2. 启用微信公众平台开发模式

  • 一、首先创建新浪云计算应用
  1. 申请账号

    我们使用SAE新浪云计算平台作为服务器资源,并且申请Nodejs环境+MySQL数据库作为程序运行环境。
    申请地址为:

    http://t.cn/RcWlShG

    直接点击上述网址,可以看到右上角微博登录的链接。

    点击进入之后,使用新浪微博账号登录 


    登录之后,按照提示注册个人信息即可。 

     

    创建新应用 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

    回到首页,在菜单顶部选择 控制台 ,再选择 云应用SAE 

  2. 进入SAE应用列表

    点击下侧的创建新应用,这时会弹出提示, 禁止放置违法违规内容,点击继续创建,弹出如下窗口。


    开发语言选择Nodejs,二级域名自己想一个名字,也可以就直接用自己的QQ号。应用名称可以用系统默认填的。

    然后点击左下方的创建应用

     

    应用创建成功。并自动跳转到应用列表中,可以看到已经有刚才创建的应用。

     到这里,就成功创建了一个域名URL为 http://wxsubscription.applinzi.com/ 的应用了,记住你的这个URL,后面将会用到。


创建版本 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 
  1. 点击刚才创建的应用名称,进入应用主页。

    点击左侧的应用管理下面的代码管理


我这里选的是git的代码管理方式,然后根据部署说明在本地创建属于自己的git



Nodejs起步代码 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 

下述代码是一个微信接口文件,看不懂没有关系,你可以暂时不用弄明白它的意思。


初步的nodejs主要由两个文件组成(都创建在根目录即可):

1.第一个是package.json文件;

2.第二个是index.js;检验token,一点点自动回答例子


package.json: (直接通过npm install就可以下载package里面的库;利用淘宝镜像下载的比较快,神器)
{  "name": "koa2_wx_subscription",  "version": "1.0.0",  "description": "weixin subscription",  "main": "index.js",  "scripts": {    "start": "node index.js"  },  "repository": {    "type": "git",    "url": "https://git.sinacloud.com/wxsubscription"  },  "engines": {    "node": "v6.6.0"  },  "keywords": [    "subscription"  ],  "author": "Jun",  "license": "ISC",  "dependencies": {    "body-parser": "^1.5.2",    "express": "^4.8.0",    "node-wxeasy": "*",    "weixin-api": "^0.1.7"  }}


index.js
<span style="color:#333333;">var weixin   = require('weixin-api');var express   = require('express');var app   = express();// 解析器app.use(express.bodyParser());// 接入验证app.get('/', function(req, res) {    // 签名成功    if (weixin.checkSignature(req)) {        res.status(200).send(req.query.echostr);    } else {        res.status(200).send('fail 123');    }});// config 根据自己的实际配置填写weixin.token = '</span><span style="color:#ff0000;">自己公众平台填写的token</span><span style="color:#333333;">';  </span><span style="color:#ff0000;">要对应起来一样的不然不行</span><span style="color:#333333;">// 监听文本消息weixin.textMsg(function(msg) {    console.log("textMsg received");    console.log(JSON.stringify(msg));    var resMsg = {};    switch (msg.content) {        case "文本" :               </span><span style="color:#ff0000;">在公众号里面输入文本即可看到回复这是文本回复(前提是连接上服务器)</span><span style="color:#333333;">            // 返回文本消息            resMsg = {                fromUserName : msg.toUserName,                toUserName : msg.fromUserName,                msgType : "text",                content : "这是文本回复",                funcFlag : 0            };            break;        case "音乐" :            // 返回音乐消息            resMsg = {                fromUserName : msg.toUserName,                toUserName : msg.fromUserName,                msgType : "music",                title : "音乐标题",                description : "音乐描述",                musicUrl : "音乐url",                HQMusicUrl : "高质量音乐url",                funcFlag : 0            };            break;        case "图文" :            var articles = [];            articles[0] = {                title : "PHP依赖管理工具Composer入门",                description : "PHP依赖管理工具Composer入门",                picUrl : "http://weizhifeng.net/images/tech/composer.png",                url : "http://weizhifeng.net/manage-php-dependency-with-composer.html"            };            articles[1] = {                title : "八月西湖",                description : "八月西湖",                picUrl : "http://weizhifeng.net/images/poem/bayuexihu.jpg",                url : "http://weizhifeng.net/bayuexihu.html"            };            articles[2] = {                title : "「翻译」Redis协议",                description : "「翻译」Redis协议",                picUrl : "http://weizhifeng.net/images/tech/redis.png",                url : "http://weizhifeng.net/redis-protocol.html"            };            // 返回图文消息            resMsg = {                fromUserName : msg.toUserName,                toUserName : msg.fromUserName,                msgType : "news",                articles : articles,                funcFlag : 0            }    }    weixin.sendMsg(resMsg);});// 监听图片消息weixin.imageMsg(function(msg) {    console.log("imageMsg received");    console.log(JSON.stringify(msg));});// 监听位置消息weixin.locationMsg(function(msg) {    console.log("locationMsg received");    console.log(JSON.stringify(msg));});// 监听链接消息weixin.urlMsg(function(msg) {    console.log("urlMsg received");    console.log(JSON.stringify(msg));});// 监听事件消息weixin.eventMsg(function(msg) {    console.log("eventMsg received");    console.log(JSON.stringify(msg));});// Startapp.post('/', function(req, res) {    // loop    weixin.loop(req, res);});app.listen(process.env.PORT || 5050)   </span><span style="color:#ff0000;">这里要注意一下,新浪云的nodejs服务器的端口是5050,填写其他端口应该会连接不上服务器会502</span>

到这里我们现在本地测试一下http://localhost:5050  我们可以看到输出

这样的输出说明我们已经初步调通了

至于git里面主要push这两个文件(package.json和index.js)到服务器即可,node_modules可以忽略,因为服务器会根据package.json去装载里面的库的


附:
微信公众号可以到微信公众平台注册账号进行申请https://mp.weixin.qq.com/

自己的话就先申请一个个人的订阅号进行学习测试比较好

申请好订阅号之后,要到最下面

去配置我们订阅号的基本配置


如果服务器可以的话顺利的话,保存的时候会提交成功的,不然的话会保存不了

我们可以通过访问我们应用的二级域名去判断是否服务器部署成功了


部署成功会像本地测试的一样


基本配置保存成功后我们就可以到我们自己的订阅号里面进行测试一下了


到这里我们的基本起步已经完成了。。。



进一步的开发将会持续跟进,因为这也是我自己刚刚调通之后写的,希望可以帮到大家

1 0
原创粉丝点击