Сертифицированный Node.js + официальный аккаунт WeChat Express

Node.js внешний интерфейс WeChat Express
Сертифицированный Node.js + официальный аккаунт WeChat Express

предисловие

Я уже видел несколько руководств по аутентификации публичной учетной записи WeChat с помощью узла, и я также хочу использовать узел, чтобы изучить содержание разработки WeChat и мини-программ, включая механизм входа в систему и т. д. В будущем мне не нужно всегда полагаюсь на помощь бэкенд-друзей, и я надеюсь, что смогу сделать это сам Разработка с полным стеком.

В результате я только что завершил первый этап сертификации доменного имени, записал процесс и учился вместе.

содержание

  1. покупка облачного сервера
  2. узел установки Linux
  3. Установите экспресс-скаффолдинг и зависимости
  4. Автоматически перезапустить плагин nodemon, используя
  5. Официальная конфигурация аккаунта
  6. шифрование узла и аутентификация
  7. Яма указывает на север
  8. Суммировать

Текстовое содержимое

1. Покупка облачного сервера

Этот шаг затянулся надолго.Ищу дешевый облачный сервер.Сейчас пользуюсь облачным сервером Didi Cloud.Стоит 9 юаней первый месяц и 20 юаней в месяц следующие три месяца.Возьмите преимущество скидки и поторопитесь узнать это ха-ха.

2. узел установки Linux

Раньше я делал много обходных путей, потому что я не знаком с linux, и метод загрузки, а затем настройки переменных среды всегда неправильный.Обучение важно, поэтому мне не нужно об этом беспокоиться, поэтому я просто изменил метод.

$ sudo yum -y install nodejs 

3. Установите экспресс-скаффолдинг и зависимости

3.1 Установка экспресс-лесов

$ npm install express-generator -g

3.2 Создание каталогов и приложений и установка зависимостей

//创建源码目录并进入
$ mkdir dir nodeApp
$ cd /nodeApp
//创建应用
$ express weiChart
$ cd /weiChart
// 安装需要依赖包
$ npm install 

4. Автоматически перезапустите плагин nodemon для использования

На данный момент вы можете начать приложение напрямую, но с учетом предварительного просмотра и отладки во время модификации приложение будет перезапущено бесконечно, поэтому настроен плагин Nodemon, и приложение автоматически перезапустится после модификации кода.

4.1 Установка

// 全局安装nodemon插件
$ npm install -g nodemon
// 进入应用下的bin目录
$ cd /bin

4.2 Создайте файл конфигурации

Вы можете использовать vim для его создания или напрямую создать его локально и перетащить в каталог bin.

<!--nodemon配置文件 nodemon.json -->
{
    "restartable": "rs",
    "ignore": [
        ".git",
        ".svn",
        "node_modules/**/node_modules"
    ],
    "verbose": true,
    "execMap": {
        "js": "node --harmony"
    },
    "watch": [],
    "env": {
        "NODE_ENV": "development"
    },
    "ext": "js json"
}

Создать с помощью вим

$ vim nodemon.json
// 粘贴文件
按esc  输入':wq' 保存退出即可

4.3 Запустите приложение с помощью nodemon

// 进入项目根目录
$ cd ../
$ nodemon npm start

5. Официальная конфигурация аккаунта

Перед этим вы должны зарегистрироваться и заполнить официальную учетную запись, успешно войти в систему и щелкнуть меню слева.Разработка -> Базовая конфигурация.

Нажмите «Изменить конфигурацию», чтобы войти в интерфейс конфигурации, введите адрес своего сервера и пользовательский токен, а затем случайным образом сгенерируйте ключ шифрования.Метод шифрования используется по умолчанию.

Примечание. Я использую путь /weiChart, а не корневой каталог проекта, поэтому его необходимо настроить в экспресс-маршруте.

6. Шифрование и аутентификация узла

6.1 Установка зависимостей

$ npm install jssha --save-dev

Перейдите к файлу маршрутов в корневом каталоге проекта и откройте index.js для разработки.

6.2 Знакомство с зависимостями

var jsSHA = require('jssha');

6.3 Создать маршрут WeChat


router.get('/weiChart', function(req, res, next) {
    //自定移动token,要与微信公众号里设置的一致
	var token="6d05aedab138be6bbbf40b41d65a45ec";
	//1.获取微信服务器Get请求的参数 signature、timestamp、nonce、echostr
	    var signature = req.query.signature,//微信加密签名
	        timestamp = req.query.timestamp,//时间戳
	            nonce = req.query.nonce,//随机数
	          echostr = req.query.echostr;//随机字符串

	    //2.将token、timestamp、nonce三个参数进行字典序排序
	    var array = [token,timestamp,nonce];
	    array.sort();

	    //3.将三个参数字符串拼接成一个字符串进行sha1加密
	    var tempStr = array.join('');
	    var shaObj = new jsSHA('SHA-1', 'TEXT');
	    shaObj.update(tempStr);
	    var scyptoString=shaObj.getHash('HEX'); 

	    //4.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
	    if(signature === scyptoString){
	    	console.log('验证成功')
	        res.send(echostr);
	    }else{
	    	console.log('验证失败')
	        res.send('验证失败');
	    }

});

6.4 Привязка фиксации

Запустите приложение, а затем нажмите кнопку отправки на странице конфигурации общедоступной учетной записи WeChat. Будут подсказки об успехе или неудаче. Желаю вам успеха.

7. Карьер указывает на север

ранее согласноРазработка общедоступной платформы WeChat с помощью node.jsШаги, чтобы сделать это, шаг два ямы во втором и третьем шагах в комментариях

  • Сортировка: документ WeChat содержит токен, метку времени, одноразовый номер, и порядок должен быть правильным.
  • Метод jsSHA: правильный путь, новый jsSHA('SHA-1', 'ТЕКСТ').

Скриншот статьи

  • Заказ не соответствует официальному сайту

  • Использование jsSHA неверно

8. Резюме

  • Ранний взгляд на концепцию информации, учебные пособия

    Реализация на самом деле довольно проста, я видел много сертификационных материалов WeChat раньше, и я могу найти много из них в Интернете, и тогда у меня будет представление, когда я буду практиковаться.

  • Практика просмотра документов, чтобы найти методы

    Какой метод сообщает об ошибке, обратитесь к документации по какому методу, не переходите к другому учебнику, как только появится сообщение об ошибке.

Если у вас есть какие-либо вопросы, пожалуйста, поправьте меня.