Home WeChat Applet WeChat Development Analysis of nodejs WeChat public account development - 1. Access the WeChat public account

Analysis of nodejs WeChat public account development - 1. Access the WeChat public account

Apr 10, 2017 am 11:33 AM
nodejs WeChat public account WeChat development

This article mainly introduces the detailed development of nodejs WeChat public account - 1. Accessing the WeChat public account is of great practical value. Friends in need can refer to the following

Accessing the WeChat public account is developed The first step is difficult at the beginning. If you take the first step well, the road ahead will be broader.

1. Use of public platform test accounts

Log in to the WeChat public platform. Since many developers do not have certified WeChat public accounts, Therefore, a more compromise method is to use the public platform test account to test functions. The advantage is that it can test most functions of the WeChat official account without being restricted by the certification threshold.

Enter the test account management interface:

We need to configure the information of the interface , URL and Token are the bridge connecting WeChat public platform and local development services.

After WeChat is configured, scan the test number QR code below to test the developed function on your mobile phone.

2. Verify the public account

A picture is worth a thousand words. When accessing the official account, the WeChat public platform needs to verify the identity of the developer and send a GET request to the URL filled in by the developer. The request contains 4 parameters: signature, <a href="http://www.php.cn/wiki/1343.html" target="_blank">echo</a>str, <a href="http://www.php.cn/wiki/1268.html" target="_blank">time</a>stamp and nonce, what we need to do after receiving this request:

  1. Dictionary sort the three parameters token, timestamp and nonce;

  2. Sort the three String is spliced ​​into a string for sha1 encryption;

  3. compares the encrypted string with signature , if they are the same, it means that the request comes from WeChat, we directly return the content of echostr as it is, and the access verification is successful.

3. Build a development server

There are many ways to build a development server, such as purchasing a cloud server, using peanut shells, ngrok , localtunnel, etc. Localtunnel is used here for simplicity. First install globallylocaltunnel,

npm install -g lt
Copy after login

Start lt

lt --port 8080  //对外暴露8080端口,可端口号可自己随便设定
Copy after login

4. Write code

Okay, Now start writing the app.js code:

&#39;use strict&#39;

var Koa = require(&#39;koa&#39;);
var sha1 = require(&#39;sha1&#39;);

var config = {
  wechat:{
    appID:&#39;...&#39;, //填写你自己的appID
    appSecret:&#39;...&#39;, //填写你自己的appSecret
    token:&#39;...&#39; //填写你自己的token
  }
};

var app = new Koa();

app.use(function *(next){
  var token = config.wechat.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(&#39;&#39;); //按字典排序,拼接字符串
  var sha = sha1(str); //加密
  this.body = (sha === signature)? echostr + &#39;&#39; : &#39;failed&#39;; //比较并返回结果
});
app.listen(8080);
Copy after login

5. Configure the test public account information

The code is written, and now the formal configuration begins. Enter lt --port 8080 in the terminal to start localtunnel and get the externally accessible URL:

## Fill in the URL to the URL in the test account management interface, and the Token field can be filled in at will. For convenience, use wemovie Bar!

After filling in, click submit and find that the verification is successful, congratulations!

Note:

  1. Since localtunnel is not very stable, you may click

    to submit at first The prompt is the yellow barConfiguration failed, you need to click the button one or two more times;

  2. Every time you restart the program, you need to restart localtunnel to obtain new

    URL and then reconfigure. (This is the price you pay for choosing simplicity T_T)

So far, the door to the development of WeChat public accounts has been opened. Next, we will continue to explore nodejs WeChat Public account development journey

The above is the detailed content of Analysis of nodejs WeChat public account development - 1. Access the WeChat public account. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Is nodejs a backend framework? Is nodejs a backend framework? Apr 21, 2024 am 05:09 AM

Node.js can be used as a backend framework as it offers features such as high performance, scalability, cross-platform support, rich ecosystem, and ease of development.

How to connect nodejs to mysql database How to connect nodejs to mysql database Apr 21, 2024 am 06:13 AM

To connect to a MySQL database, you need to follow these steps: Install the mysql2 driver. Use mysql2.createConnection() to create a connection object that contains the host address, port, username, password, and database name. Use connection.query() to perform queries. Finally use connection.end() to end the connection.

What are the global variables in nodejs What are the global variables in nodejs Apr 21, 2024 am 04:54 AM

The following global variables exist in Node.js: Global object: global Core module: process, console, require Runtime environment variables: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

What is the difference between npm and npm.cmd files in the nodejs installation directory? What is the difference between npm and npm.cmd files in the nodejs installation directory? Apr 21, 2024 am 05:18 AM

There are two npm-related files in the Node.js installation directory: npm and npm.cmd. The differences are as follows: different extensions: npm is an executable file, and npm.cmd is a command window shortcut. Windows users: npm.cmd can be used from the command prompt, npm can only be run from the command line. Compatibility: npm.cmd is specific to Windows systems, npm is available cross-platform. Usage recommendations: Windows users use npm.cmd, other operating systems use npm.

Is there a big difference between nodejs and java? Is there a big difference between nodejs and java? Apr 21, 2024 am 06:12 AM

The main differences between Node.js and Java are design and features: Event-driven vs. thread-driven: Node.js is event-driven and Java is thread-driven. Single-threaded vs. multi-threaded: Node.js uses a single-threaded event loop, and Java uses a multi-threaded architecture. Runtime environment: Node.js runs on the V8 JavaScript engine, while Java runs on the JVM. Syntax: Node.js uses JavaScript syntax, while Java uses Java syntax. Purpose: Node.js is suitable for I/O-intensive tasks, while Java is suitable for large enterprise applications.

Is nodejs a back-end development language? Is nodejs a back-end development language? Apr 21, 2024 am 05:09 AM

Yes, Node.js is a backend development language. It is used for back-end development, including handling server-side business logic, managing database connections, and providing APIs.

Can nodejs write front-end? Can nodejs write front-end? Apr 21, 2024 am 05:00 AM

Yes, Node.js can be used for front-end development, and key advantages include high performance, rich ecosystem, and cross-platform compatibility. Considerations to consider are learning curve, tool support, and small community size.

Which one to choose between nodejs and java? Which one to choose between nodejs and java? Apr 21, 2024 am 04:40 AM

Node.js and Java each have their pros and cons in web development, and the choice depends on project requirements. Node.js excels in real-time applications, rapid development, and microservices architecture, while Java excels in enterprise-grade support, performance, and security.

See all articles