主题
微信公众号开发
聚焦公众号:uni-app 基座调试、网页授权登录(H5)、H5 拉起小程序、微信消息能力(公众号侧)。
一、uni-app 基座调试
- 开发者模式:设置→我的设备→全部参数→MIUI 版本多点。
- 开启 USB 调试:更多设置→开发者选项→USB 调试、USB 安装;默认 USB 配置选「USB 网络共享」。
- 运行→运行到手机或模拟器→运行基座选择(标准/自定义;三方件需自定义基座)。
- USB 连电脑(确认连接用途)。
- 运行到设备联动。注意包名;接入三方件需自定义基座。
二、公众号网页授权登录
- 网页授权仅微信认证公众号可用;个人订阅号无法认证,天然排除。
- 静默授权(
snsapi_base)远多于弹窗授权(snsapi_userinfo);优先静默保体验。 - 弹框授权用户取消:
code === 'AUTH_CANCEL',给友好提示或降级游客模式,避免无限循环。 - 现状:公众号主要做宣传(发文章)和菜单入口(跳小程序),少做授权 H5 项目。
前端登录流程
有 token? → 否 → 构造静默授权 URL 跳微信 → 微信重定向回 redirect_uri 带 code
→ 前端发 code 给后端 → 后端用 code+appid+secret 换 access_token/openid
→ 后端生成 JWT 返回 → 前端存 token 完成登录- 后端每接口验证过期(一般 7 天),前端拦截器清 token。
- 开发者工具无法调试,需手机或 PC 微信内浏览器 + vConsole。
- 后端调
sns/oauth2/access_token换 openid;注意跨域(可同时掉普通接口验证)。 - 非静默可获昵称/图像/性别/城市等 8 项。
环境判断伪代码
是微信环境?
是 → 路径有 code?
有 → 用 code 换用户信息(成功:缓存+清 code;失败:提示+清 code+重载,勿直接授权避免死循环)
无 → 缓存有用户信息?有则取,否则授权登录
否 → mock 数据方便开发(有用户信息/去登录)三、H5 拉起小程序
- 微信环境:
wx-open-launch-weapp开放标签(需 wx.config 注入x-open-launch-app)。 - 微信外:
URL Scheme/URL Link/Short Link。 - 小程序内嵌 H5:
wx.miniProgram.navigateTo/postMessage(消息在退回/销毁/分享/复制链接时拿到)。
四、微信消息能力(公众号侧)
| 类型 | 资质 | 推送频率 | 归类位置 |
|---|---|---|---|
| 公众号(订阅号) | 个人 / 企业 | 一天 1 条 | 「公众号」里平铺 |
| 服务号 | 企业 | 一月 4 条 | 按名称归类到「服务号」 |
服务号是公众号的一种类型(公众号包含订阅号 + 服务号)。
- 群发:原上传图文素材已不能群发,用「新增草稿」接口;图片必须上传到微信(自己/CDN/base64 不可用);内容支持 html(a 标签除外)。
- 客服消息:用户互动后 48 小时内可主动发任意内容。
- 模板消息(服务号):突破 4 条限制,但极难获批,新应用推荐一次性订阅消息。
- 正确分类:服务号是公众号的一种类型(公众号包含订阅号+服务号)。
小程序订阅消息、小程序客服消息在小程序侧处理。