【nodejs公众号开发记录】半小时带你开发微信公众号

数字漫游
• 阅读 3313
先打个广告!!(不知道能不能打)腾讯IVWEB团队广招前端,大量hc,有兴趣的同学加我vx:chenxy712联系或发送简历至我邮箱:yvonnexchen@tencent.com

前期准备

最近需求有点不饱和,摸鱼lu了一个微信公众号(来个电影)。首先明确一下开发一个带后台的微信公众号需要准备的东西

  1. 公众号开发者文档 请收好
  2. 一个用以部署公众号服务的服务器(可以是云服务器也可以是个人主机)

公众号配置

注册成功后进入 > 基本配置,需要关注这三个值,其中前两个都是注册后自动生成的,第三个自己随意填写一个适合的token就行,建议英文数字组合,这里主要是微信公众号请求验证的时候用以匹配的。

  • AppID(公众号验证及发消息需要)
  • AppSecret(公众号验证及发消息需要)
  • Token (公众号验证及发消息需要,注意是token不是access_token

关于access_token,简单的个人号是用不上的,IP白名单也是获取access_token需要配置的请求IP。这里也不需要填写。

【nodejs公众号开发记录】半小时带你开发微信公众号

明确需求

我的公众号最主要的功能是:能针对用户消息请求,推荐他们想要的影视资讯。加上一些增色功能,所以后台的主要任务是

  1. 消息处理与回复
  2. 用户事件处理与响应(如:最基本的 关注/取消关注 事件)

基础框架

作为一个小前端,服务框架的选型我用的是:nodejs + koa2 + mongodb
基本架构如下:

【nodejs公众号开发记录】半小时带你开发微信公众号

其中:

  • controllers 请求处理类
  • models 数据模型
  • service 第三方服务
  • router 路由
  • app.js 服务主入口

这里是仓库地址。可以根据README安装配置,再将./config/constants.js文件下的微信公众号配置换成你的,然后在根目录下运行npm run dev即可。

这时访问http://127.0.0.1:8001,如果能看到dismatch就说明运行成功啦!

使用 ngork 进行内网穿透

意思就是将自己本机的服务让外网能访问到。官网下载安装一下ngrok。到ngrok解压目录下运行

// 8001是上面框架提供的端口,你也可以自己改变
$ ./ngrok http 8001

【nodejs公众号开发记录】半小时带你开发微信公众号

然后再次打开公众号后台

【nodejs公众号开发记录】半小时带你开发微信公众号

URL改成ngrok映射的Forwarding域名,点击提交,如果看到绿色提示: 提交成功。那么恭喜你,公众号后台开发技能已达成!

关于详细开发记录以及服务器配置,后面的文章再见啦~~

emmm...最后给自己最近做的公众号打个广告,一个为你推荐优质电影的公众号(还有隐藏玩法自行体验~)

【nodejs公众号开发记录】半小时带你开发微信公众号

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KaliTools说明书+BurpSuit实战指南+SQL注入知识库+国外渗透报告
!(https://oscimg.oschina.net/oscnet/d1c876a571bb41a7942dd9752f68632e.gif"15254461546.gif")0X00KaliLinux Tools中文说明书!(https://oscimg.oschina.net/oscnet/
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Uber准备放弃自动驾驶,转手卖给前谷歌无人车CTO,估值曾被孙正义炒到72.5亿美元
!(https://oscimg.oschina.net/oscnet/0fe7cb00a0cf4872b022342d1e21d47e.png)杨净发自凹非寺量子位报道|公众号QbitAI最新消息,Uber要出售无人驾驶部门(ATG)了。据TechCrunch报道,Uber有意向出售,而也有人愿意买。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
数字漫游
数字漫游
Lv1
笑是我最奢侈的表情,这一生我只有把它泛滥成灾。
文章
5
粉丝
0
获赞
0