- 微信开放平台更换服务器证书通知
微信开发者: 微信开放平台使用 HTTPS 协议来确保通信的安全性。在开发者调用微信开放平台 API 的过程中,会通过服务器证书来验证微信服务器及其域名的真实性。 由于 Mozilla 信任库更新了其根证书信任策略,微信开放平台计划于 2024 年 10 月 22 日 0:00 开始,逐步更换我们的服务器证书。新的证书将由 DigiCert Global Root G2 签发,替代现有的 DigiCert Global Root CA (G1)。 为确保此次服务器证书更换不会影响到你的正常服务,我们强烈建议你通知贵司技术开发人员仔细阅读我们提供的《微信开放平台新服务器证书兼容性验证指引》,请确保在 2024 年 10 月 22 日 0:00 前完成对微信开放平台新服务器证书的验证。 服务器证书验证仅涉及技术层面的工作,感谢你的理解和配合。 微信团队 2024年7月22日
07-23 - 关于企业付款到零钱功能调整单笔限额500问题
[图片] 企业付款到零钱功能调整单笔限额500元,请问每人每日总限额度是多少? 其他规则还是保持不变,本次调整只是单笔限额500元吗?
2022-12-03 - 小程序用户头像昵称获取规则调整公告
更新时间:2022年11月9日由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问题,对于来自低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称。 更新时间:2022年9月28日考虑到近期开发者对小程序用户头像昵称获取规则调整的相关反馈,平台将接口回收的截止时间由2022年10月25日延期至2022年11月8日24时。 调整背景在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录,支持开发者在多个小程序或其它应用间匿名关联同一用户。 同时,为了满足部分小程序业务中需要创建用户的昵称与头像的诉求,平台提供了 wx.getUserProfile 接口,支持在用户授权的前提下,快速使用自己的微信昵称头像。 但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。 调整说明自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整: 自生效期起,小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。自生效期起,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖iOS与安卓微信 8.0.16 以上版本),具体实践可见下方《最佳实践》。小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.27.1 以下版本的头像昵称获取需求:对于来自低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。对于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、头像昵称填写能力的基础库版本支持能力详细对比见下表: [图片] *针对低版本基础库,兼容处理可参考 兼容文档 请已使用 wx.getUserProfile 接口的小程序开发者和已使用 wx.getUserInfo 接口的插件开发者尽快适配。小游戏不受本次调整影响。 最佳实践小程序可在个人中心或设置等页面使用头像昵称填写能力让用户完善个人资料: [图片] 微信团队 2022年5月9日
2023-09-26 - 蓝牙传输速度问题
iOS和Android传输速度是否有自身限制?我们的小程序分包发送,当包的大小超过20个字节后就非常容易丢包(但小程序并没有捕捉到)。想问一下是否小程序做了限制或是系统本身的限制?
2017-10-09 - 如何判断小程序打开的宿主应用:微信、QQ、企业微信、QQ浏览器、电脑管家?
现在小程序可以在多个app中打开,那么如何判断是在什么app中打开的呢?经过社区提示和我的测试可以判断出一下几种情况,请自行验证: var systemInfo = wx.getSystemInfoSync(); // 宿主应用 var parasitifer = '微信'; if(systemInfo && systemInfo.host && systemInfo.host.appId){ switch(systemInfo.host.appId){ case 'wxf0a80d0ac2e82aa7': parasitifer = "QQ"; break; case 'wx4706a9fcbbca10f2': parasitifer = "企业微信"; break; case 'wx64f9cf5b17af074d': parasitifer = "QQ浏览器"; break; case 'wx5cd60c5d4817a188': parasitifer = "电脑管家"; break; default: parasitifer = '微信'; break; } }
2023-11-06 - getLocation:fail:ERROR_NOCELL&WIFI_LOCAL
已经授权情况下:获取位置信息:errCode:2 getLocation:fail:ERROR_NOCELL&WIFI_LOCALTIONSWITCHOFF [图片]
2019-03-26 - 5G手机定位失败?
调用报错: wx.getLocation(...) 报错如下: { errCode: 2 errMsg: "getLocation:fail:ERROR_NOCELL&WIFI_LOCATIONSWITCHOFF" }
2022-06-20 - 地理位置接口新增与相关流程调整
一、地理位置接口新增说明 由于精确地理位置接口只允许部分类目的小程序申请使用,为了满足开发者在更多场景使用地理位置接口,自 2022 年 7 月 14 日起,新增获取模糊地理位置接口(wx.getFuzzyLocation)。同时为保障用户合法权益,该接口调用前需进行准入开通申请,该接口准入规则与 wx.chooseLocation 一致。 wx.getFuzzyLocation 接口说明: 1、该接口返回的是经过模糊处理的经纬度坐标; 2、该接口支持返回 wgs84 或 gcj02 两种类型的坐标; 3、该接口需要用户授权 scope.userFuzzyLocation。 二、app.json 的配置指引 为了开发者能够正常使用获取模糊地理位置等接口,以及后续对于代码提审环节的优化(见「三、地理位置接口使用流程」),自 2022 年 7 月 14 日起,开发者在使用地理位置相关接口时(共计 8 个,见表1),需要提前在 app.json 中进行配置。 1、需配置的接口列表 [图片] 表1 2、配置规则 1)在代码中使用的地理位置相关接口(共计 8 个,见表1),开发者均需要在 app.json 中 requiredPrivateInfos 配置项中声明,代码格式如下: [图片] 2)表1中模糊位置信息(序号1)和精确位置信息(序号2-5)是互斥的,即声明了模糊位置信息就无法声明精确位置信息。若同时声明模糊位置信息和精确位置信息,则在编译代码时出现错误; 3)注意:自 2022 年 7 月 14 日后发布的小程序,如果未在 app.json 中声明表1中的相关接口,则小程序调用这些接口(表1)时会出现错误,在 2022 年 7 月 14 日之前发布的小程序不受影响; 4)对于第三方开发者,需要在上传代码时通过参数在 ext.json 中声明其需调用的地理位置相关接口,配置规则和普通小程序的配置规则相同。 三、地理位置接口使用流程 自 2022 年 7 月 14 日起,开发者如需在最新版本发布后使用地理位置相关接口,除需完成接口权限开通外,还需在 app.json(或ext.json)配置环节,具体如下: 1、接口权限开通 以下 8 个接口需完成准入开通流程:wx.getFuzzylocation、wx.getLocation、wx.onLocationChange、wx.chooseAddress、wx.choosePoi、wx.chooseLocation、wx.startLocationUpdate、wx.startLocationUpdateBackground 1)普通开发者:需要在 “小程序管理后台 -「开发」-「开发管理」-「接口设置」” 中完成权限申请; 2)第三方开发者:可通过 apply_privacy_interface 接口完成权限申请。 2、app.json(或 ext.json)配置 1)普通开发者:需在 app.json 中声明其需调用的地理位置相关接口,具体配置流程见「二、app.json 的配置指引」; 2)第三方开发者:需要在上传代码时通过参数在 ext.json 中声明其需调用的地理位置相关接口(配置方式:可通过 commit 接口配置)。 同时,为了提升开发者体验,平台在代码提审环节会协助开发者对地理位置接口进行检测,如检测出代码中包含未完成准入开通的地理位置接口,平台将再次提醒开发者确认是否需使用相关接口。 1)普通开发者:若无需使用,开发者可在提审时确认不使用该接口,即可正常进行代码提审。小程序审核通过且新版本发布完成后,平台将对小程序确认不使用的接口关闭使用权限; 2)第三方开发者:若无需使用,可在提审时通过参数声明不使用该接口(声明方式:可通过 submit_audit 接口配置),即可正常进行代码提审,审核通过后发布上线,将对其声明不使用的接口关闭使用权限。 以上调整将仅对所有小程序生效。 微信团队 2022年6月1日
2023-09-26 - (19)文件系统能力
文件系统能力 文件系统能力可便于用户在客户端保存文件资源,并在下次启动客户端之后可以使用已保存的文件。 只要用户不主动删除小程序或小游戏,并保持一定的使用频率,文件都可以一直被保留。 合理的使用文件系统能力来缓存资源文件,可以给开发者更好的使用体验。 今天,我们来分享文件系统能力的小故事。 1 文件系统的演进历史 小程序在最早发布的版本中就已提供了最基础的文件存储和删除接口:wx.saveFile、 wx.removeSavedFile ; 对于绝大部分的小程序来说,这两个接口已经能够满足开发者的需求。但对于小游戏来说,需要更完整的能力来做支撑。 因此,发布小游戏的时候我们便提供了一套更完整的文件管理系统:FileSystemManager,其中主要包含了目录管理、文件内容读写等能力。 2 文件系统的设计背景 文件系统能力是应小游戏开发需求的迭代而逐步增强的。在小程序的场景下,很多时候只是需要把一个图片或视频资源缓存起来便可继续使用,文件内容与文件存储的目录结构都不是开发者所关心的。 但是在小游戏场景下情况则不同—— 一方面,小游戏除了有图片和视频文件、还有游戏引擎生成的配置文件,游戏需要能够去读取并理解配置文件的具体内容; 另一方面,游戏使用的资源文件会比普通小程序更多,若没有内容目录管理的功能,维护成本会变高。 除此之外,由于小游戏代码包大小限制只有4MB (加上分包最多8MB),对于一些偏重的游戏,资源甚至容易超100MB。 因此在此大背景下,我们给文件系统主要增加了目录管理、文件内容读写等两项接口—— 目录管理的需求场景是在使用游戏引擎时需要按目录来管理资源文件,文件内容读写的需求场景是在使用游戏引擎时需要读取配置文件;同时,我们对小游戏类目的本地存储容量的规范限制扩容到50MB。 开发者可能会疑惑,为什么在小程序的文件系统中会有一些功能相接近的接口?例如,想缓存一个文件,可以用 saveFile 或 copyFile ;再比如 removeSavedFile和 unlink 都可以用来删除一个文件。 上述情况的原因是我们在早期便提供了基础的文件存储接口 saveFile 和removeFile ,但不提供自定义目录相关的能力,开发者调用 saveFile 之后只能得到微信返回到的一个随机文件名。 小游戏应运而生的同时也增强了对文件系统能力扩展的需求,为了保证向后兼容,我们保留了这批基础接口,并在这个基础上增加了目录管理接口以及对应的文件操作接口。因此,便出现了上述一些相似接口的情况。 3 文件系统的优势—存储隔离 有不少开发者询问过关于文件存储的问题,他们担心文件内容被其他小程序读取到,也担心多个登录用户之间的文件内容会互相影响。为了保证用户的隐私安全,也为了保证小程序的数据安全,本地文件存储的一个重要规则便是保证隔离。 文件被存储到本地后,会以小程序账号和用户账号两个不同的维度来区分和隔离。即:同个微信用户使用不同小程序之间的文件存储会互相隔离;不同微信用户(在同一台手机中)使用同个小程序时,不同用户间的文件存储也会互相隔离。 [图片] 4 适当的存储容量 考虑到存储的问题,我们规范了小游戏文件存储的容量。普通小程序是10MB,小游戏则是50MB,当文件存储超出限制时,写入的文件会失败。 功能上线以后,我们曾收到过若干宝贵意见与反馈,希望能提高容量限制。但在经过反复论证与评估后,我们认为如果将文件存储的容量再往上提,就会有用户新增需要管理或清理手机存储空间的需求,小程序和小游戏将会变得不再“小”了。对于资源文件超过上述标准限制的小程序与小游戏,应该合理地管理本地文件,及时清理不常用的文件,这样在大多数情况下,手机存储空间便能保证顺畅。 更多关于小程序文件系统能力的信息,可查阅 接口文档 。
2018-08-21 - 能否提供一份 小程序picker组件mode=region的省市区数据源?
新的数据与后端数据不匹配,有些新区新增没有,需要拿源数据更新后端数据库
2023-03-21 - 小程序基础库2.32.1 连续执行setTimeout存在较大误差
小程序最近没有发布,但是从上周五开始陆陆续续有用户反馈有问题,经过统计发现,都是安卓用户,各品牌型号都有,而且是使用的微信8.0.37。 经过测试,安卓手机,微信版本8.0.34正常,但是升级到8.0.37后就存在问题。 后进一步发现是小程序基础库2.32.1的问题 ,连续执行setTimeout存在较大误差导致的,该版本在微信开发者工具的模拟器以及真机调试都正常,但是在手机上运行可以看出明显误差。 例如运行以下代码,每隔15毫秒执行定时器,小程序基础库2.32.0和2.32.1有较大的误差 [图片][图片] function sleep(ms = 0, txt) { return new Promise((resolve) => { let t = Date.now(); setTimeout( function () { resolve(); console.log(txt, Date.now() - t); }, ms ); }); } for (let i = 0; i < 100; i++) { await sleep(15, `定时器 第${i}次`); }
2023-06-07 - 【讨论】关于收回getUserProfile,使用button的开放能力chooseAvatar替换获取头像的思考
背景: 应微信官方通知(https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01?blockType=1),即将收回getUserProfile,并且官方推荐通过使用button的开放能力chooseAvatar来获取头像(https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/userProfile.html),最近项目也在做相应的调整。 问题描述: 由于原有项目中,由于原先获取的微信头像都为正方形,且项目中显示头像的地方都为圆形,如下图1所示。现替换button的开放能力chooseAvata后,如下图2所示,选择”从相册选择“或者”拍照“时,得到的图片为长方形,这样获取到的图片,在项目中对应的头像显示或宽高比失调、或图片显示效果差(即设置image组建mode属性保持宽高比不变时,自动截取的部分图片不是用户想要的那个部分)。 图1:[图片] 图:2 [图片] 需求分析: 基于以上的场景,查阅了图片相关的api,找到了wx.editImage,效果如下图1所示;倘若wx.editImage支持自定义裁剪比例就好了,遗憾的是wx.editImage的入参只有:src,success,fail,complete这四个,如下图2所示;GG,黔驴技穷了,总不能跟产品经理说,微信小程序相关api不支持,不予处理。一个好的api工程师是需要严格要求自己的。 图1:[图片] 图2:[图片] 小结: 作为一个严谨的程序员,希望官方大大能拉我一把,快帮帮孩子吧(wx.editImage,能不能加一些配置项啥的),也欢迎大家一起帮忙分析下,有没有啥其他的解决方案,欢迎留言哦~
2022-05-28 - 利用button组件chooseAvatar开放能力,上传头像,为什么不能获取到图片地址?
[图片] 如图回调参数只能获取到一个临时路径,但是微信自己却可以触发请求接口,获取到图片内容 [图片]
2023-04-12 - 社区每周 | 云托管上线新能力、用户头像昵称获取规则调整、微信网页授权能力调整(5.02-5.06)
各位微信开发者: 以下是微信云托管新能力及实践分享介绍、小程序用户头像昵称获取规则调整、微信网页授权能力调整及上周我们在社区收到的问题反馈的处理进度,希望与大家一同打造更好的小程序生态! 资源复用支持消息推送和微信支付、服务 SSR 支持公众号授权登录 在资源复用场景下,微信云托管支持被关联账号配置 消息推送,实现无需加解密和签名,即可接收微信消息推送;同时支持被关联账号配置 微信支付,高效、安全接入微信支付能力。同时服务 SSR 支持 WebSDK 公众号授权登录,无需单独配置转发规则,快速实现登录,详情请查看 接口文档。 同时微信云托管上线 如何提升云托管项目构建效率 场景指南和 云托管消息推送配置使用 直播课程,便于开发者快速掌握微信云托管,高效应用云托管知识。 更多云托管相关内容,请点击查看 微信云托管功能周报。 小程序用户头像昵称获取规则调整公告 为减少不合理的强迫授权用户头像昵称的情况,微信团队对接口进行调整。自 2022 年 10 月 25 日 24 时后,小程序 wx.getUserProfile 接口将被收回,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回,支持 头像昵称填写能力 获取用户头像昵称。详情点击查看原公告《小程序用户头像昵称获取规则调整公告》 微信网页授权能力调整公告 为进一步规范能力使用,保障用户合法权益,平台将对 微信网页授权能力 进行调整。当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。详情点击查看原公告《微信网页授权能力调整公告》 上周问题反馈和处理进度(5.02-5.06) 已修复的问题iOS 端 navigateToMiniProgram 无法二次唤起的问题 查看详情 iOS 15.4系统 video live-pusher 同时存在 video 播视频没有声音的问题 查看详情 修复中的问题 使用 RecorderManager 出现小程序视频、录音、直播互相冲突的问题 查看详情 苹果手机调用 wx.chooseMedia 拍照后,底部露出拍摄按钮的问题 查看详情 StorageAPI 基础库缓存值后,工具手动修改 bug 的问题 查看详情 微信团队 2022.5.12
2022-05-14 - 微信获取用户头像及昵称,本地正常。线上返回为微信用户和灰色头像?
微信获取用户头像及昵称,本地正常。线上返回为微信用户和灰色头像
2023-06-09 - 想系统性地请教一下关于小程序后台运行以及蓝牙后台运行的能力?
第一个问题是关于小程序后台运行的能力: 1、经过初步的测试,安卓机在息屏的情况下小程序可以执行较长的时间,而苹果机在息屏的情况下小程序在很短的时间内就停止了工作,所以我想问一下此时安卓机在息屏的情况下,小程序算不算进入了后台模式? 2、文档中并没有给出一个较为明确的小程序在后台可运行的时长,这是否意味着小程序在后台可运行的时长被多方的因素所影响着且不管怎样小程序在后台都无法长时间的运行?是否能够给出一个较为明确的可运行时长的时间范围,现在或者未来,小程序有没有可能能够较为长时间地在后台运行呢? 第二个问题是关于小程序蓝牙后台运行的能力: 1、经过初步的测试,苹果机在息屏或者进入到后台的时候(安卓机在进入到后台的时候),小程序正在执行的蓝牙功能会立即被停止工作,这是否意味着即使小程序此时还能够正常地在后台运行,此时蓝牙功能也已经无法正常运行了呢?现在或者未来,小程序有没有可能提供蓝牙在后台长时间工作的能力呢?
2021-03-08