Skip to content

Commit d9f8322

Browse files
feat: update baselib defs to 3.14.3
1 parent 9c78852 commit d9f8322

2 files changed

Lines changed: 110 additions & 38 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 2026-03-13 v3.8.19
2+
- 更新 API 定义到 3.14.3
3+
14
## 2026-02-25 v3.8.18
25
- 解决依赖安全问题
36

types/wx/lib.wx.api.d.ts

Lines changed: 107 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1531,7 +1531,7 @@ CustomAd.offClose(listener) // 需传入与监听时同一个的函数对象
15311531
``` */
15321532
offClose(
15331533
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
1534-
listener?: UDPSocketOffCloseCallback
1534+
listener?: CustomAdOffCloseCallback
15351535
): void
15361536
/** [CustomAd.offError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/CustomAd.offError.html)
15371537
*
@@ -1601,10 +1601,10 @@ CustomAd.offResize(listener) // 需传入与监听时同一个的函数对象
16011601
): void
16021602
/** [CustomAd.onClose(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/CustomAd.onClose.html)
16031603
*
1604-
* 监听原生模板广告关闭事件(仅部分可被用户关闭的模板支持)。 */
1604+
* 监听原生模板广告关闭事件。 */
16051605
onClose(
16061606
/** 原生模板广告关闭事件的监听函数 */
1607-
listener: UDPSocketOnCloseCallback
1607+
listener: CustomAdOnCloseCallback
16081608
): void
16091609
/** [CustomAd.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/CustomAd.onError.html)
16101610
*
@@ -13117,7 +13117,7 @@ InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对
1311713117
``` */
1311813118
offClose(
1311913119
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
13120-
listener?: UDPSocketOffCloseCallback
13120+
listener?: CustomAdOffCloseCallback
1312113121
): void
1312213122
/** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/InterstitialAd.offError.html)
1312313123
*
@@ -13156,7 +13156,7 @@ InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对
1315613156
* 监听插屏广告关闭事件。 */
1315713157
onClose(
1315813158
/** 插屏广告关闭事件的监听函数 */
13159-
listener: UDPSocketOnCloseCallback
13159+
listener: CustomAdOnCloseCallback
1316013160
): void
1316113161
/** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/InterstitialAd.onError.html)
1316213162
*
@@ -14141,7 +14141,7 @@ TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象
1414114141
``` */
1414214142
offClose(
1414314143
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
14144-
listener?: UDPSocketOffCloseCallback
14144+
listener?: CustomAdOffCloseCallback
1414514145
): void
1414614146
/** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offConnect.html)
1414714147
*
@@ -14205,7 +14205,7 @@ TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象
1420514205
* 监听一旦 socket 完全关闭就发出该事件 */
1420614206
onClose(
1420714207
/** 一旦 socket 完全关闭就发出该事件的监听函数 */
14208-
listener: UDPSocketOnCloseCallback
14208+
listener: CustomAdOnCloseCallback
1420914209
): void
1421014210
/** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onConnect.html)
1421114211
*
@@ -14261,7 +14261,7 @@ UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象
1426114261
``` */
1426214262
offClose(
1426314263
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
14264-
listener?: UDPSocketOffCloseCallback
14264+
listener?: CustomAdOffCloseCallback
1426514265
): void
1426614266
/** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.offError.html)
1426714267
*
@@ -14316,7 +14316,7 @@ UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象
1431614316
* 监听关闭事件 */
1431714317
onClose(
1431814318
/** 关闭事件的监听函数 */
14319-
listener: UDPSocketOnCloseCallback
14319+
listener: CustomAdOnCloseCallback
1432014320
): void
1432114321
/** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.onError.html)
1432214322
*
@@ -19915,39 +19915,108 @@ wx.reportScene({
1991519915
*
1991619916
* 需要基础库: `3.11.2`
1991719917
*
19918-
* 发起人脸识别验证,用于对可疑用户进行身份验证和防沉迷检查。该接口会调起微信的人脸识别系统,验证用户身份以确保游戏安全和合规性。
19918+
* 腾讯游戏人脸识别验证功能是基于健康系统防沉迷体系,用于识别疑似未成年人冒用成年人账号游玩游戏的行为,是防止未成年人沉迷网络游戏的一项重要措施。本接口是为开通虚拟支付功能的小游戏开发者提供的,此接口是基于人脸识别的未成年人身份核验接口。本次识别是根据用户在腾讯健康系统中留存的实名信息进行验证,结果将直接返回至开发者。
19919+
*
19920+
* **接口限额**
19921+
*
19922+
* - **后台调用限制**:1000 次/天(每个小程序 AppID)
19923+
* - 超出限额后将返回错误码 2002008(频率控制)
19924+
* - 1天内全部游戏对一个用户只能调起1次人脸识别
19925+
* - 若用户人脸识别通过:7天内不能再被弹出人脸识别
19926+
* - 根据小游戏评级每个月限制使用次数,一旦发现恶意滥用接口,会取消使用资格。具体使用次数如下:
19927+
* - S级:300次/月
19928+
* - A级:100次/月
19929+
* - B级:30次/月
1991919930
*
1992019931
* **处理流程**
1992119932
*
19922-
* 1. 开发者调用 `wx.requestFacialRecognition` 发起人脸识别。
19923-
* 2. 系统根据策略判定是否需要展示授权弹窗。
19924-
* - 若判定为"不展示弹窗":立即回调结果,示例:`{ errCode: 0, errMsg: '本用户7天内人脸识别已通过' }`
19925-
* - 若判定为"需展示弹窗":进入步骤 3。
19926-
* 3. 系统展示授权弹窗。
19927-
* - 玩家拒绝:立即回调 `fail`,`errCode = 2002006`
19928-
* - 玩家同意:进入步骤 4。
19929-
* 4. 系统开始进行人脸识别验证
19930-
* - 玩家在跳转页面中完成活体/人脸识别;关闭页面返回游戏。
19931-
* 5. 系统回调最终识别结果返回
19933+
* <img src="https://mmgame.qpic.cn/image/2034b86e1e8f3541629d4b4d16cf41ff84fd99efe25f4fac181603edd8a29e14/0" width="600" alt="人脸识别流程图" />
1993219934
*
1993319935
* **示例代码**
1993419936
*
1993519937
* ```js
19936-
wx.requestFacialRecognition({
19937-
success(res) {
19938-
// 人脸识别通过或 7 天内已通过
19939-
// 形如:{ errCode: 0, errMsg: 'ok' }
19940-
console.log('requestFacialRecognition success:', res)
19941-
},
19942-
fail(err) {
19943-
// 失败或受限等场景
19944-
console.log('requestFacialRecognition fail:', err)
19945-
},
19946-
complete(res) {
19947-
// 无论成功失败均会触发
19948-
console.log('requestFacialRecognition complete:', res)
19949-
}
19950-
})
19938+
// 实际业务场景:防沉迷身份验证
19939+
function checkUserIdentity() {
19940+
wx.requestFacialRecognition({
19941+
success(res) {
19942+
// 场景 1:本次人脸识别通过
19943+
// res = { errCode: 0, errMsg: 'ok' }
19944+
console.log('人脸识别成功:', res)
19945+
// 允许继续游戏
19946+
startGame()
19947+
},
19948+
fail(err) {
19949+
console.error('人脸识别失败:', err)
19950+
19951+
let tipMessage = ''
19952+
let shouldBlock = false // 是否需要阻断游戏
19953+
19954+
// 根据错误码进行不同处理
19955+
switch (err.errCode) {
19956+
case 2002004:
19957+
// 人脸识别失败(需要阻断)
19958+
// err = { errCode: 2002004, errMsg: '人脸识别失败' }
19959+
tipMessage = '识别失败,请稍后重试'
19960+
shouldBlock = true
19961+
break
19962+
19963+
case 2002006:
19964+
// 用户取消/超时/不同意,导致未完成人脸识别(需要阻断)
19965+
// err = { errCode: 2002006, errMsg: '用户取消' }
19966+
tipMessage = '您已取消验证,无法继续游戏'
19967+
shouldBlock = true
19968+
break
19969+
19970+
case 2002007:
19971+
// 本用户7天内人脸识别已通过(可以继续游戏)
19972+
// err = { errCode: 2002007, errMsg: '本用户7天内人脸识别已通过,通过日期为2024-01-15' }
19973+
tipMessage = '您已完成验证'
19974+
shouldBlock = false
19975+
break
19976+
19977+
case 2002008:
19978+
// 频率控制:本日已调起过人脸识别 or 本月调用次数已达上限(可以继续游戏)
19979+
// err = { errCode: 2002008, errMsg: '本日已调起过人脸识别' }
19980+
// 或 err = { errCode: 2002008, errMsg: '本月调用次数已达上限' }
19981+
tipMessage = '今日验证次数已达上限'
19982+
shouldBlock = false
19983+
break
19984+
19985+
case 2002009:
19986+
// 无权限发起人脸识别(可以继续游戏)
19987+
// err = { errCode: 2002009, errMsg: '无权限发起人脸识别' }
19988+
tipMessage = '暂无权限使用此功能'
19989+
shouldBlock = false
19990+
break
19991+
19992+
default:
19993+
// 系统异常等其他错误(可以继续游戏,避免影响正常用户)
19994+
tipMessage = '系统异常,请稍后重试'
19995+
shouldBlock = false
19996+
}
19997+
19998+
if (tipMessage) {
19999+
wx.showModal({
20000+
title: '提示',
20001+
content: tipMessage,
20002+
showCancel: false
20003+
})
20004+
}
20005+
20006+
if (shouldBlock) {
20007+
// 仅对识别失败(2002004)和用户取消(2002006)阻断游戏
20008+
restrictGameFeatures()
20009+
} else {
20010+
// 其他情况允许继续游戏
20011+
startGame()
20012+
}
20013+
},
20014+
complete(res) {
20015+
// 无论成功失败均会触发
20016+
console.log('人脸识别流程结束:', res)
20017+
}
20018+
})
20019+
}
1995120020
``` */
1995220021
requestFacialRecognition(option?: RequestFacialRecognitionOption): void
1995320022
/** [wx.requestMidasFriendPayment(Object object)](https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasFriendPayment.html)
@@ -21379,10 +21448,13 @@ wx.writeBLECharacteristicValue({
2137921448
type CreateRoomSuccessCallback = (
2138021449
result: CreateRoomSuccessCallbackResult
2138121450
) => void
21451+
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
21452+
type CustomAdOffCloseCallback = (res: GeneralCallbackResult) => void
2138221453
/** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
2138321454
type CustomAdOffErrorCallback = (
2138421455
result: CustomAdOnErrorListenerResult
2138521456
) => void
21457+
type CustomAdOnCloseCallback = (res: GeneralCallbackResult) => void
2138621458
/** 原生模板广告错误事件的监听函数 */
2138721459
type CustomAdOnErrorCallback = (
2138821460
result: CustomAdOnErrorListenerResult
@@ -23588,15 +23660,12 @@ wx.writeBLECharacteristicValue({
2358823660
type TruncateFailCallback = (res: FileError) => void
2358923661
/** 接口调用成功的回调函数 */
2359023662
type TruncateSuccessCallback = (res: FileError) => void
23591-
/** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
23592-
type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void
2359323663
/** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
2359423664
type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void
2359523665
/** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
2359623666
type UDPSocketOffMessageCallback = (
2359723667
result: UDPSocketOnMessageListenerResult
2359823668
) => void
23599-
type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void
2360023669
type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void
2360123670
/** 收到消息的事件的监听函数 */
2360223671
type UDPSocketOnMessageCallback = (

0 commit comments

Comments
 (0)