美文网首页
微信公众号+egg+sunny配置后端接口开发流程

微信公众号+egg+sunny配置后端接口开发流程

作者: 前端蜗牛老师 | 来源:发表于2019-12-31 16:30 被阅读0次

本教程是微信公众号添加后端配置 消息模版,和通过co-wechat-api调用公众号接口的开发阶段的配置。
1,需要下载内网穿透工具ngrok https://www.ngrok.cc/

image.png
下载安装教程可以参考 简书另一篇文章利用Sunny-Ngrok实现内网穿透 安装 image.png

此时已经完成一大半

2,然后配置公众号的测试号
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

image.png image.png image.png

3,然后配置公众号的服务器配置


image.png

成功之后


image.png

4,写代码测试


image.png

在middleware文件目录下新建一个wechat.js文件
代码,这一步是根据网上一位同学的代码,具体链接找不到了,不好意思

// app/middleware/wechat.js
const wechat = require('co-wechat')

module.exports = (options, app) => {
  return wechat(options).middleware(async(message, ctx) => {
    // TODO
    const { MsgType, Content } = message
    if (MsgType === 'text') {
      let reply
      switch (Content) {
        case '12345':
          reply = '上山打老虎'
          break
        case 'kiki':
          reply = '是我媳妇'
          break
        default:
          const msgs = [
            '我媳妇老漂亮了',
            '我媳妇会做饭',
            '我媳妇会煎药',
            '我媳妇吃的可多了',
            '我媳妇可能睡了',
            '我媳妇叫kiki',
            '我媳妇会打太极拳',
            '我媳妇总掉头发',
            '我媳妇可爱哭了',
            '我媳妇有点二'
          ]
          const rand = Math.floor(Math.random() * msgs.length)
          reply = msgs[rand]
      }
      return reply
    }
    return '欢迎光临'
  })
}

然后在路由里面配置路由

// 微信
  app.get('/wechat', wechat)
  app.post('/wechat', wechat)

配置号之后,重启服务
刚才的测试账号,或者直接进入你自己的公众号,输入消息


image.png

输入12345
就可以出来上山大老虎了
第一个是我接的第三方图灵机器人

这一步完成了

然后配置,接口调用微信开放接口获取用户信息
首先配置路由

app.get('/weChatOAuth', app.controller.weChatOAuth.getOAuth)
  app.get('/getFollowers', app.controller.weChatOAuth.getFollowers)
  app.get('/getInfo', app.controller.weChatOAuth.getInfo)

在controller 新建一个weChatOAuth.js文件

'use strict'
const Controller = require('egg').Controller
const WechatAPI = require('co-wechat-api')

const weChatOAuth = {
  appId: '你自己的',
  secret: '你自己的',
  token: 'webrabbit'
}
const tokenCache = {
  access_token: '',
  updateTime: Date.now(),
  expires_in: 7200
}
const api = new WechatAPI(
  weChatOAuth.appId,
  weChatOAuth.secret,
)
class weChatOAuthController extends Controller {
  async getOAuth() {
    const { ctx } = this
    const param = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${weChatOAuth.appId}&secret=${weChatOAuth.secret}`
    const res = await ctx.curl(param, {
      dataType: 'json'
    })
    Object.assign(tokenCache, res.data, {
      updateTime: Date.now()
    })
    ctx.body = res.data
  }
  async getFollowers() {
    const { ctx } = this
    const url = `https://api.weixin.qq.com/cgi-bin/user/get?access_token=${tokenCache.access_token}`
    const res = await ctx.curl(url, {
      dataType: 'json'
    })
    ctx.session.openid = await res.data.data.openid[0]
    ctx.body = res.data
  }
  async getInfo() {
    const { ctx } = this
    const res = await api.getUser({ openid: ctx.session.openid, lang: 'en' })
    console.log(await api.getTags())
    // res = await api.batchGetUsers(res.data.openid, 'zh_CN')
    ctx.body = res
  }
}

module.exports = weChatOAuthController

前两个接口是传统公众平台上的api
后面的getInfo 是用的co-wechat-api 插件掉的,更方便了
别忘了

npm install --save co-wechat-api

然后调用接口就会获取信息


image.png

当getInfo这样写时

async getInfo() {
    const { ctx } = this
    let res = await api.getFollowers() // 获取测试号的关注者的信息,刚才配置测试号,扫码关注的人
    res = await api.batchGetUsers(res.data.openid, 'zh_CN')
    ctx.body = res
  }
image.png

现在就 完成了,后端调用开放平台公众号接口的配置
附上co-wechat-api文档地址 http://doxmate.cool/node-webot/co-wechat-api/api.html#api_api_user

如果对阁下有帮助,请点赞,关注,也不排除小小的大赏谢谢😂😂😂

简书地址https://www.jianshu.com/p/5290c47dacf9

相关文章

  • 微信公众号+egg+sunny配置后端接口开发流程

    本教程是微信公众号添加后端配置 消息模版,和通过co-wechat-api调用公众号接口的开发阶段的配置。1,需要...

  • 记基于react的一次微信公众号开发

    微信公众号开发流程配置 微信公众号的基本配置选项中: 1, 获取appId和appSecret(如果查看不到, ...

  • SPA单页面应用微信授权

    基于单页面应用开发了几个微信公众号,梳理下微信公众号网页开发授权流程以便日后查阅。 概述 前端框架为vue 后端只...

  • 微信公众号测试

    4. 微信公众号测试: 1)接口配置测试 由于微信公众号需要调用微信的接口,所以我们首先需要进行调用接口配置测试。...

  • 微信自定义图文分享的配置

    微信自定义分享流程 公众号配置与后台接口书写内容 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接...

  • 2019-04-01

    问题:微信公众号开启服务器配置后用接口配置自定义菜单,手机没有反应 最近再做一个微信的公众号开发,开启了服务器配置...

  • 微信公众号配置JS接口安全域名失败

    问题描述 在做微信公众号开发的时候前端使用微信JSSDK的时候需要在微信公众号官方平台去配置一个js接口安全域名,...

  • 微信开发(基于PHP)Lesson 2

    微信官方接口分析 1.对接微信公众平台①获取API接口路径: 登录微信公众号(服务号即可)->开发者工具->开发者...

  • 微信 - 接口配置及外网映射《巨详细》

    1成为微信开发者 申请微信公众号 补全基本资料,公众帐号头像、描述和运营地区。 2 接口配置 进入配置页面:基本配...

  • 基于JavaEE——微信网页(二)微信开发

    微信开发测试公众号(沙盒号) 微信API帮助文档 微信接口在线调试 首先申请微信开发的测试公众号,登陆后会看到微信...

网友评论

      本文标题:微信公众号+egg+sunny配置后端接口开发流程

      本文链接:https://www.haomeiwen.com/subject/qkkfoctx.html