Skip to content

微信公众号开发

聚焦公众号:uni-app 基座调试、网页授权登录(H5)、H5 拉起小程序、微信消息能力(公众号侧)。

一、uni-app 基座调试

  1. 开发者模式:设置→我的设备→全部参数→MIUI 版本多点。
  2. 开启 USB 调试:更多设置→开发者选项→USB 调试、USB 安装;默认 USB 配置选「USB 网络共享」。
  3. 运行→运行到手机或模拟器→运行基座选择(标准/自定义;三方件需自定义基座)。
  4. USB 连电脑(确认连接用途)。
  5. 运行到设备联动。注意包名;接入三方件需自定义基座。

二、公众号网页授权登录

  • 网页授权仅微信认证公众号可用;个人订阅号无法认证,天然排除。
  • 静默授权(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 条限制,但极难获批,新应用推荐一次性订阅消息。
  • 正确分类:服务号是公众号的一种类型(公众号包含订阅号+服务号)。

小程序订阅消息、小程序客服消息在小程序侧处理。

© 2026 开发速查