作为微信小程序前端,再也不想帮后端生成wx login code了

343 阅读1分钟

微信小程序后端接口如何实现自动化获取wx.login生成的code

预先操作

  1. 安装nodejs
  2. 安装微信开发者工具
  3. 微信小程序后台把自己的微信加入开发者名单

步骤

  1. 新建一个小程序项目
  2. 小程序开发者工具的设置菜单下,点击安全设置,把两个复选框打开
  3. 在小程序根目录下打开终端,运行命令安装依赖包
    npm i miniprogram-automator
    npm i express
    
  4. 在小程序项目的根目录新建generateCodeExpressServer.js代码文件
const automator = require('miniprogram-automator');
const path = require('path');
const filename = path.dirname(__filename);

const express = require('express');
const app = express();
const port = 9527;

app.get('/code/:appid', async (req, res) => {
  const { appid } = req.params
  const miniProgram = await automator.launch({
    // https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/automator.html
    // cliPath: 'path/to/cli', // 工具 cli 位置,如果你没有更改过默认安装位置,可以忽略此项
    projectPath: filename, // 'path/to/project', // 项目文件地址
    projectConfig: {
      appid
    }
  });
  const { code } = await miniProgram.callWxMethod('login');
  console.log('code:', code)
  miniProgram.close();
  res.send({ code });
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

  1. 运行 node generateCodeExpressServer.js 启动服务
  2. 访问http://localhost:9527/code/小程序APPID (最后的字符串为小程序的appid,需要在小程序后台获取),即可自动获取小程序code