Home >Web Front-end >JS Tutorial >Example tutorial on developing WeChat public account with Node.js+Koa

Example tutorial on developing WeChat public account with Node.js+Koa

零下一度
零下一度Original
2017-06-26 09:18:251974browse

I am also in the process of learning, so the article is only used as study notes. If it can help you, that would be even better~ Of course, there will inevitably be mistakes, please feel free to point them out~

1. Preparation

1. My own tutorial: "Node.js Gets a WeChat Official Account in Seven Days" by Mr. Scott from MOOC.com, but it is a bit expensive. If your financial conditions permit, you can support it.

2. Documentation: Official documentation for WeChat development, a must.

3. WeChat development test account: necessary for testing public accounts.

4. Cloud server: I use Alibaba Cloud ECS. I don’t recommend using tools like ngrok. It’s too troublesome. Once you have a cloud server, you can get it done once and for all! If you want to do it, you can read one of my previous articles

5. Domain name: After you have the server and external network IP, it seems that you can do it without a domain name. I bought a domain name and filed it. It took a long time. I bought it from Yunwang. It is recommended to check whether the domain name can be registered in China before buying it.

6. Development tools: mac + chrome + sublime + mobile phone, of course they are not required. Sublime uses the sftp plug-in to synchronize code to the cloud service, which is very convenient.

2. Framework selection

The 1.2 version of the Koa framework of Node.js is used here, and the Node version is 7.6.

As for why Koa1 is still used when Koa2 is available .2, of course, I followed the tutorial. In order to reduce the entry cost, I chose the version consistent with the tutorial. _(:з ∠)_

3. Directory structure

The directory here is generated quickly using koa-generator.

4. Access the WeChat server

First enter the test account page, as shown below

The interface configuration information needs to be filled in for your server URL and Token are verification information filled in by yourself, and the content is arbitrary. Before submitting, configuration needs to be done on the server side. To put it bluntly, this process is to prove to WeChat that "you (fill in the server address) are you."

5. Configure the server and complete the access

Before this, must read the WeChat development documentation to understand the access process!

Next go directly to the code:

First use koa-generator or generate the project directory, and then use npm install to install dependencies.

Make the following modifications in the index under routes:

var router = require('koa-router')();var index_middleware = require('../wechat/index_middleware');var config = require('../wechat/config');

router.get('/', index_middleware.get(config.wechat));

module.exports = router;

Next implement index_middleware and config.

wechat/config.js:

module.exports = {
    wechat: {
        appID: 'xxxxxx',
        appSecret: 'xxxxxxxxxxxxxxx',
        token: 'xxxxxxx'}
};

Fill in the information here based on your own test number.

wechat/index_middleware.js:

var sha1 = require('sha1');

exports.get = function(opts) {return function *(next) {var token = opts.token;var signature = this.query.signature;var nonce = this.query.nonce;var timestamp = this.query.timestamp;var echostr = this.query.echostr;var str = [token, timestamp, nonce].sort().join('');var sha = sha1(str);if (sha === signature) {this.body = echostr + '';
        }
    };
};

After completing the access logic, npm install sha1 --save is required to install the sha1 encryption module.

It is recommended to install npm install supervisor -g, and then supervisor bin/www starts the server and monitors changes to automatically restart the server. This eliminates the need to manually restart the server after each change.

After completing the above steps, go back to step four and verify the filled-in URL. At this time, if there are no accidents, the verification will be successful. At this point, the server can be used as a WeChat development server.

The above is the detailed content of Example tutorial on developing WeChat public account with Node.js+Koa. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn