微信服务号 - 开发配置

服务号开发需要完成认证、配置服务器、管理access_token,并根据业务需求对接各类高级接口。

开发准备

步骤 操作 说明
1. 注册认证 mp.weixin.qq.com 注册服务号 需企业资质,完成微信认证(300元/年)
2. 开通支付 申请微信支付商户号 在pay.weixin.qq.com申请,绑定服务号
3. 配置域名 设置业务域名、JS安全域名、授权回调域名 需在服务器根目录放置验证文件
4. 服务器配置 填写URL、Token、EncodingAESKey 启用开发者模式,自动回复和自定义菜单改为API管理
5. IP白名单 配置服务器IP 只有白名单内IP才能获取access_token

access_token 中控服务

const axios = require('axios') const Redis = require('ioredis') const redis = new Redis() const APP_ID = process.env.WX_APPID const APP_SECRET = process.env.WX_SECRET async function getAccessToken() { let token = await redis.get('wx_access_token') if (token) return token const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${APP_ID}&secret=${APP_SECRET}` const { data } = await axios.get(url) await redis.set('wx_access_token', data.access_token, 'EX', 7000) return data.access_token } module.exports = { getAccessToken }

用户标签管理

async function createTag(name) { const token = await getAccessToken() const { data } = await axios.post( `https://api.weixin.qq.com/cgi-bin/tags/create?access_token=${token}`, { tag: { name } } ) return data.tag } async function tagUsers(tagId, openidList) { const token = await getAccessToken() await axios.post( `https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=${token}`, { openid_list: openidList, tagid: tagId } ) } async function getUserList(nextOpenid = '') { const token = await getAccessToken() const { data } = await axios.get( `https://api.weixin.qq.com/cgi-bin/user/get?access_token=${token}&next_openid=${nextOpenid}` ) return data }
← Sa Capabilities Sa Template →