微信小程序开发注意事项(20230215)

486 阅读5分钟

因为最近在做小程序的开发,所以不得不关注一下微信团队的更新,我只想说,这更新的速度。。。。。。

微信团队官方公告

需要关注的规范

API规范
wx.login一天的调用总次数不多于该小程序 pv 的两倍
wx.checkSession一天的调用总次数不多于该小程序 pv 的两倍
wx.getSetting一天的调用总次数不多于该小程序 pv 的两倍
wx.getUserInfo一天的调用总次数不多于该小程序 pv 的两倍
wx.getUserProfile一天的调用总次数不多于该小程序 pv 的两倍
  • 关于小程序违规收集用户隐私行为的规范
    • 在小程序运行中,用户未触发需使用权限或用户个人信息的相关功能或服务时,你不得提前向用户弹窗申请权限或收集用户个人信息
    • 在小程序运行中,若用户拒绝某项功能或服务所需的权限或个人信息授权申请,你不得通过自动退出、关闭或其他任何方式停止向用户提供小程序全部服务

修改内容

用户个人信息的获取(头像、昵称、性别与地区)

  • wx.getUserInfo接口被收回--2021.04.28
    • 无法通过wx.getUserInfo()与获取用户个人信息(头像、昵称、性别与地区),都是匿名信息
  • 新增wx.getUserProfile接口--2021.04.28
    • getUserProfile接口从基础库2.10.4版本开始支持,
    • getUserProfile接口只返回用户个人信息,不包含用户身份标识符
    • 开发者每次通过该接口获取用户个人信息均需用户确认
    • 界面中展示用户的头像昵称信息,可以通过 组件进行渲染,该组件无需用户确认,可以在界面中直接展示
  • 小程序与小游戏获取用户信息相关接口:不再返回用户性别及地区信息--2021.10.20
  • wx.getUserProfile接口被收回--2022.10.25--2022.11.08
    • 通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”
    • 低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称
  • 开放能力回收--2022.02.21
    • 头像展示灰色头像,用户昵称展示“微信用户”,用户性别、地区、语言展示为为空(“”)
    • 截止到2023.02.14微信开发者工具使用依然能正常显示信息,真机显示和回收内容一致
  • 头像昵称填写能力支持获取用户头像昵称

    授权范围的调整

  • scope.userInfo的调整--2021.02.24
    • 若开发者调用wx.authorize接口请求scope.userInfo授权,用户侧不会触发授权弹框,直接返回授权成功
    • 若开发者调用wx.getSetting接口请求用户的授权状态,会直接读取到scope.userInfo为true
  • scope.address取消授权
    • scope.address已取消授权,可直接调用
    • wx.getSetting接口请求用户的授权状态,会直接读取到scope.address为true
  • scope.invoice和scope.invoiceTitle取消授权
    • 获取发票相关接口已不需要授权,可直接调用chooseInvoice、chooseInvoiceTitle接口
    • wx.getSetting接口请求用户的授权状态,会直接读取到scope.invoice和scope.invoiceTitle为true
    • 小程序必须关联一个公众号,且这个公众号是完成了微信认证的,才能调用 chooseInvoiceTitle
  • 获取wifi列表增加授权--2022.11.21
    • 小程序调用 wx.getWifiList 接口时,需要获取用户位置信息授权(scope.userLocation)

地理位置相关

  • 地理位置相关接口调用实行准入开通--2022.04.18
    • 涉及接口:wx.getLocation、wx.onLocationChange、wx.chooseAddress、wx.chooseLocation、wx.choosePoi
    • 使用前需要在后台进行开通,申请路径:小程序管理后台 -「开发」-「开发管理」-「接口设置」
  • wx.choosePoi 和 wx.chooseLocation接口--2022.06.13
    • 使用将不再需要用户授权 scope.userLocation
    • 使用的时候需要再小程序用户隐私保护指引中,声明收集用户选择的位置信息的目的
    • wx.choosePoi 接口的回调信息中,latitude 和 longitude 字段将不返回真实的经纬度信息,全部返回 ( 0 , 0 )
  • 新增 wx.getFuzzyLocation接口--2022.07.14--基础库.25.0
    • 用于获取经过模糊处理的经纬度坐标
    • 需要用户授权 scope.userFuzzyLocation
  • 开发者在使用地理位置相关接口时(共计 8 个)的使用调整--2022.07.14
    • 需要提前在 app.json(uniapp在manifiest.json) 中进行配置,配置字段requiredPrivateInfos
    image.png
    • 需完成准入开通流程

    手机号的获取

    • 组件getPhoneNumber安全升级 --2021.12.13--基础库2.21.2
    • 不再需要提前调用wx.login进行登录
    • 通过动态令牌code从后端调用phonenumber.getPhoneNumber接口换取用户手机号。每个code有效期为5分钟,且只能消费一次。
    • 针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)