微信登录和微信分享需要使用不同的AppID和AppSecret:
| 功能 | 平台 | 环境变量 |
|---|---|---|
| 微信登录(OAuth) | 微信开放平台 | WECHAT_OPEN_APP_IDWECHAT_OPEN_APP_SECRET |
| 微信分享(JSSDK) | 微信公众平台 | WECHAT_MP_APP_IDWECHAT_MP_APP_SECRET |
backend/.env 文件中添加:# ==================== 微信开放平台(用于登录)====================
# 获取位置:微信开放平台 → 管理中心 → 网站应用
WECHAT_OPEN_APP_ID=开放平台的AppID
WECHAT_OPEN_APP_SECRET=开放平台的AppSecret
WECHAT_REDIRECT_URI=https://www.chengyantek.cn/api/auth/wechat/callback
# ==================== 微信公众平台(用于分享)====================
# 获取位置:微信公众平台 → 开发 → 基本配置
WECHAT_MP_APP_ID=公众平台的AppID(公众号AppID)
WECHAT_MP_APP_SECRET=公众平台的AppSecret(公众号AppSecret)
# ==================== 微信公众平台(用于公众号消息推送)====================
WECHAT_MP_TOKEN=your_custom_token_here
WECHAT_OPEN_APP_IDWECHAT_OPEN_APP_SECRETWECHAT_MP_APP_IDWECHAT_MP_APP_SECRET为了兼容旧配置,代码支持以下兼容逻辑:
WECHAT_OPEN_APP_ID 未设置 → 尝试读取 WECHAT_APP_IDWECHAT_OPEN_APP_SECRET 未设置 → 尝试读取 WECHAT_APP_SECRETWECHAT_MP_APP_ID 未设置 → 尝试读取 WECHAT_APP_IDWECHAT_MP_APP_SECRET 未设置 → 尝试读取 WECHAT_APP_SECRET建议:尽快迁移到新配置,避免混淆。
# 测试登录授权URL
curl "https://www.chengyantek.cn/api/auth/wechat/authorize"
应该重定向到:https://open.weixin.qq.com/connect/qrconnect?...
# 测试JSSDK配置接口
curl "https://www.chengyantek.cn/api/wechat/jsapi/config?url=https://www.chengyantek.cn/share"
应该返回:
{
"success": true,
"data": {
"appId": "wx...",
"timestamp": 1234567890,
"nonceStr": "abc123",
"signature": "d4f5e6..."
}
}
答案:不需要。
如果只使用登录功能,只需配置:
WECHAT_OPEN_APP_ID=开放平台的AppID
WECHAT_OPEN_APP_SECRET=开放平台的AppSecret
WECHAT_REDIRECT_URI=回调地址
分享功能会失败,但不影响登录。
答案:不需要。
如果只使用分享功能,只需配置:
WECHAT_MP_APP_ID=公众平台的AppID
WECHAT_MP_APP_SECRET=公众平台的AppSecret
登录功能会失败,但不影响分享。
WECHAT_APP_ID 配置,需要立即修改吗?答案:建议尽快修改。
虽然代码支持兼容,但:
| 文档 | 说明 |
|---|---|
| 微信AppID和AppSecret使用说明 | 详细使用说明 |
| 微信公众平台与开放平台区别说明 | 平台区别说明 |
| 微信JSSDK错误排查与解决方案 | 错误排查方法 |
WECHAT_OPEN_APP_ID 和 WECHAT_OPEN_APP_SECRET(开放平台)WECHAT_MP_APP_ID 和 WECHAT_MP_APP_SECRET(公众平台)