From 149fd49c2e1d67a78352be003e5ad2eade57c7d0 Mon Sep 17 00:00:00 2001 From: AlianBlank Date: Thu, 13 Jun 2024 18:23:30 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]1.=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=9B=86=E8=AE=BE=E7=BD=AE=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runtime/Plugins/AES.jslib.meta | 13 +- Runtime/Plugins/MD5.jslib.meta | 39 +- Runtime/Plugins/crypto.jspre.meta | 13 +- Runtime/Plugins/wx-runtime-editor.dll | Bin 274432 -> 0 bytes Runtime/Plugins/wx-runtime-editor.dll.meta | 96 - Runtime/Plugins/wx-runtime-editor.xml | 10613 ------------------- Runtime/Plugins/wx-runtime-editor.xml.meta | 7 - Runtime/Plugins/wx-runtime.dll | Bin 275456 -> 275456 bytes Runtime/Plugins/wx-runtime.dll.meta | 14 +- Runtime/WxWasmSDKRuntime.asmdef | 4 +- 10 files changed, 70 insertions(+), 10729 deletions(-) delete mode 100644 Runtime/Plugins/wx-runtime-editor.dll delete mode 100644 Runtime/Plugins/wx-runtime-editor.dll.meta delete mode 100644 Runtime/Plugins/wx-runtime-editor.xml delete mode 100644 Runtime/Plugins/wx-runtime-editor.xml.meta diff --git a/Runtime/Plugins/AES.jslib.meta b/Runtime/Plugins/AES.jslib.meta index adf508e7..4df30809 100644 --- a/Runtime/Plugins/AES.jslib.meta +++ b/Runtime/Plugins/AES.jslib.meta @@ -11,6 +11,17 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 0 + Exclude Win: 1 + Exclude Win64: 1 - first: Any: second: @@ -39,7 +50,7 @@ PluginImporter: - first: WebGL: WebGL second: - enabled: 0 + enabled: 1 settings: {} - first: WeixinMiniGame: WeixinMiniGame diff --git a/Runtime/Plugins/MD5.jslib.meta b/Runtime/Plugins/MD5.jslib.meta index 3f76a766..591afb37 100644 --- a/Runtime/Plugins/MD5.jslib.meta +++ b/Runtime/Plugins/MD5.jslib.meta @@ -11,6 +11,17 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 0 + Exclude Win: 1 + Exclude Win64: 1 - first: Any: second: @@ -30,16 +41,42 @@ PluginImporter: second: enabled: 0 settings: + CPU: AnyCPU DefaultValueInitialized: true + OS: AnyOS - first: Facebook: WebGL second: enabled: 0 settings: {} - first: - WebGL: WebGL + Standalone: Linux64 second: enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + WebGL: WebGL + second: + enabled: 1 settings: {} - first: WeixinMiniGame: WeixinMiniGame diff --git a/Runtime/Plugins/crypto.jspre.meta b/Runtime/Plugins/crypto.jspre.meta index cebbc727..fc83ec33 100644 --- a/Runtime/Plugins/crypto.jspre.meta +++ b/Runtime/Plugins/crypto.jspre.meta @@ -11,6 +11,17 @@ PluginImporter: isExplicitlyReferenced: 0 validateReferences: 1 platformData: + - first: + : Any + second: + enabled: 0 + settings: + Exclude Editor: 1 + Exclude Linux64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 0 + Exclude Win: 1 + Exclude Win64: 1 - first: Any: second: @@ -39,7 +50,7 @@ PluginImporter: - first: WebGL: WebGL second: - enabled: 0 + enabled: 1 settings: {} - first: WeixinMiniGame: WeixinMiniGame diff --git a/Runtime/Plugins/wx-runtime-editor.dll b/Runtime/Plugins/wx-runtime-editor.dll deleted file mode 100644 index 5d1f572206bf06a502747cb0579ad1cb9c7b59a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274432 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

h3PL-Ps;GzACP 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

AcVgLpEu2>NEDDW+`9&b$157~DEx*Dp}6)w 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 diff --git a/Runtime/Plugins/wx-runtime-editor.dll.meta b/Runtime/Plugins/wx-runtime-editor.dll.meta deleted file mode 100644 index 5b92c445..00000000 --- a/Runtime/Plugins/wx-runtime-editor.dll.meta +++ /dev/null @@ -1,96 +0,0 @@ -fileFormatVersion: 2 -guid: 30bbdd4df4b1a43bb83ed8e59cc42c54 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - '': Any - second: - enabled: 0 - settings: - Exclude Editor: 0 - Exclude Linux: 1 - Exclude Linux64: 1 - Exclude LinuxUniversal: 1 - Exclude OSXUniversal: 1 - Exclude WebGL: 1 - Exclude Win: 1 - Exclude Win64: 1 - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 1 - settings: - CPU: AnyCPU - DefaultValueInitialized: true - OS: AnyOS - - first: - Facebook: Win - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Facebook: Win64 - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: Linux - second: - enabled: 0 - settings: - CPU: x86 - - first: - Standalone: Linux64 - second: - enabled: 0 - settings: - CPU: x86_64 - - first: - Standalone: LinuxUniversal - second: - enabled: 0 - settings: - CPU: None - - first: - Standalone: OSXUniversal - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: Win - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Standalone: Win64 - second: - enabled: 0 - settings: - CPU: AnyCPU - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Plugins/wx-runtime-editor.xml b/Runtime/Plugins/wx-runtime-editor.xml deleted file mode 100644 index 356d90bd..00000000 --- a/Runtime/Plugins/wx-runtime-editor.xml +++ /dev/null @@ -1,10613 +0,0 @@ - - - - wx-runtime-editor - - - -

- 云函数,调用前必须先Init初始化 - - - - - 初始化,详见 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/init/client.init.html - - - - - - - 声明字符串为 CloudID(开放数据 ID),该接口传入一个字符串,返回一个 CloudID 特殊字符串,将该对象传至云函数可以获取其对应的开放数据。详见 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/open/Cloud.CloudID.html - - 通过开放能力在小程序端 / web 端获取得到的 CloudID - 返回字符串,原样传回云函数调用就好 - - - - Banner 广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/banner-ad.html - - - - - 监听 banner 广告尺寸变化事件。 - - banner 广告尺寸变化事件的回调函数 - - - - 取消监听 banner 广告尺寸变化事件 - - banner 广告尺寸变化事件的回调函数 - - - - 隐藏 banner 广告。 - - - - - 广告的基类 - - - - - 显示广告。 - - 成功回调 - 失败回调 - - - - 显示广告。 - - 成功回调 - 失败回调 - - - - 监听广告错误事件。 - - 广告错误事件的回调函数,可详见 https://developers.weixin.qq.com/minigame/dev/api/ad/BannerAd.onError.html - - - - 监听 banner 广告加载事件。 - - 广告加载事件的回调函数 - - - - 取消监听广告错误事件 - - 广告错误事件的回调函数 - - - - 取消监听广告加载事件 - - 广告加载事件的回调函数 - - - - 销毁广告,如果是激励视频广告且multiton参数默认设置为false,则请慎用Destroy,调用后,后续可能无法再创建激励视频广告 - - - - - 微信相机 - - - - - [Camera.closeFrameChange()](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.closeFrameChange.html) - 需要基础库: `2.9.0` - 关闭监听帧数据 - - - - - [Camera.destroy()](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.destroy.html) - 需要基础库: `2.9.0` - 销毁相机 - - - - - [Camera.listenFrameChange()](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.listenFrameChange.html) - 需要基础库: `2.9.0` - 开启监听帧数据 - - - - - [Camera.onAuthCancel(function callback)](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.onAuthCancel.html) - 需要基础库: `2.9.0` - 监听用户不允许授权使用摄像头的情况 - - - - - [Camera.onCameraFrame(function callback)](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.onCameraFrame.html) - 需要基础库: `2.9.0` - 监听摄像头实时帧数据 - - - - - [Camera.onStop(function callback)](https://developers.weixin.qq.com/minigame/dev/api/media/camera/Camera.onStop.html) - 需要基础库: `2.9.0` - 监听摄像头非正常终止事件,如退出后台等情况 - - - - - 图像像素点数据,一维数组,每四项表示一个像素点的 rgba - - - - - 图像数据矩形的高度 - - - - - 图像数据矩形的宽度 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 摄像头朝向,值为 front, back - - - - - 接口调用失败的回调函数 - - - - - 闪光灯,值为 auto, on, off - - - - - 相机的高度 - - - - - 帧数据图像尺寸,值为 small, medium, large - - - - - 接口调用成功的回调函数 - - - - - 相机的宽度 - - - - - 相机的左上角横坐标 - - - - - 相机的左上角纵坐标 - - - - - 调用客户端的canvas - - - - - 同步的将当前 Canvas 保存为一个临时文件 - 华为机型分享有已知bug,推荐使用异步版本 - - canvas 生成的临时文件路径 (本地路径) - - - - 异步的将当前 Canvas 保存为一个临时文件 - - - - - - 监听用户操作 - - - - - 停止监听用户操作 - - - - - 隐藏入口 - - - - - 显示入口 - - - - - 强制关闭 - - - - - 打开组件 - - - - - 设置组件tab - - - - - 设置签名,用于聊天房发消息验证 - - - - - 显示的横坐标,屏幕物理坐标 - - - - - 显示的纵坐标,屏幕物理坐标 - - - - - 自定义入口 icon cdn 地址 - - - - - 是否可拖拽 - - - - - 是否会吸附到左右 - - - - - 面板缩放比例,默认大小 40x40,低于 375 宽度的屏幕会等比缩小 - - - - - 插屏广告组件广告,详见 https://developers.weixin.qq.com/minigame/dev/api/ad/CustomAd.html - - - - - 监听广告关闭事件 - - 广告关闭事件的回调函数 - - - - 监听广告隐藏事件 - - 广告关闭事件的回调函数 - - - - 取消监听广告关闭事件 - - 广告关闭事件的回调函数 - - - - 取消监听广告隐藏事件 - - 广告关闭事件的回调函数 - - - - 隐藏原生模板广告。(某些模板广告无法隐藏) - - 成功回调 - 失败回调 - - - - [DownloadTask.abort()](https://developers.weixin.qq.com/minigame/dev/api/network/download/DownloadTask.abort.html) - 需要基础库: `1.4.0` - 中断下载任务 - - - - - [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/download/DownloadTask.offHeadersReceived.html) - 需要基础库: `2.1.0` - 移除 HTTP Response Header 事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - DownloadTask.onHeadersReceived(listener) - DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/download/DownloadTask.offProgressUpdate.html) - 需要基础库: `2.1.0` - 移除下载进度变化事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - DownloadTask.onProgressUpdate(listener) - DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/download/DownloadTask.onHeadersReceived.html) - 需要基础库: `2.1.0` - 监听 HTTP Response Header 事件。会比请求完成事件更早 - - - - - [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/download/DownloadTask.onProgressUpdate.html) - 需要基础库: `1.4.0` - 监听下载进度变化事件 - - - - - Gets 微信提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限。通过 WX.env.USER_DATA_PATH 可以获取到这个目录的路径。 - - - - - 按钮的样式 - - - - - 按钮的类型。 - 可选值: - - 'text': 可以设置背景色和文本的按钮; - - 'image': 只能设置背景贴图的按钮,背景贴图会直接拉伸到按钮的宽高; - - - - - 按钮的背景图片,仅当 type 为 `image` 时有效 - - - - - 按钮上的文本,仅当 type 为 `text` 时有效 - - - - - [FeedbackButton.destroy()](https://developers.weixin.qq.com/minigame/dev/api/open-api/feedback/FeedbackButton.destroy.html) - 销毁意见反馈按钮 - - - - - [FeedbackButton.hide()](https://developers.weixin.qq.com/minigame/dev/api/open-api/feedback/FeedbackButton.hide.html) - 隐藏意见反馈按钮。 - - - - - [FeedbackButton.offTap(function listener)](https://developers.weixin.qq.com/minigame/dev/api/open-api/feedback/FeedbackButton.offTap.html) - 移除意见反馈按钮的点击事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - FeedbackButton.onTap(listener) - FeedbackButton.offTap(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [FeedbackButton.onTap(function listener)](https://developers.weixin.qq.com/minigame/dev/api/open-api/feedback/FeedbackButton.onTap.html) - 监听意见反馈按钮的点击事件 - - - - - [FeedbackButton.show()](https://developers.weixin.qq.com/minigame/dev/api/open-api/feedback/FeedbackButton.show.html) - 显示意见反馈按钮 - - - - - 同步写文件,详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.writeFileSync.html - - 要写入的文件路径 (本地路径) - 要写入的文本 - 指定写入文件的字符编码 - 错误信息,如果成功的话返回ok - - - - 同步写文件,详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.writeFileSync.html - - 要写入的文件路径 (本地路径) - 要写入的二进制数据 - 指定写入文件的字符编码 - 错误信息,如果成功的话返回ok - - - - 将二进制写入文件, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.writeFile.html - - - - - - 将字符串写入文件, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.appendFile.html - - - - - - 在文件结尾追加二进制内容, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.appendFile.html - - - - - - 在文件结尾追加文本内容, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.appendFile.html - - - - - - 读取本地文件内容, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readFile.html - - - - - - 同步读取本地文件,详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readFileSync.html - - 要读取的文件的路径 (本地路径) - 返回结果,失败为null - - - - - 同步读取本地文件,详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readFileSync.html - - 要读取的文件的路径 (本地路径) - 指定读取文件的字符编码,不能为空 - - - - - 同步判断文件/目录是否存在 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.accessSync.html - - 要判断是否存在的文件/目录路径 (本地路径) - 成功返回 "access:ok" 其他为失败,不可访问 - - - - 判断文件/目录是否存在 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.access.html - - - - - - 同步复制文件 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.copyFileSync.html - - 源文件路径,支持本地路径 - 目标文件路径,支持本地路径 - 成功返回 "copyFile:ok" 其他为失败 - - - - 复制文件 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.copyFile.html - - - - - - 同步删除文件 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.unlinkSync.html - - 源文件路径,支持本地路径 - 成功返回 "unlink:ok" 其他为失败 - - - - 删除文件 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.unlink.html - - - - - - 创建目录, 详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.mkdir.html - - - - - - 同步创建目录,详见 https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.mkdirSync.html - - 创建的目录路径 (本地路径) - 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 - - - - - 删除目录,https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.rmdir.html - - - - - - 同步删除目录,https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.rmdirSync.html - - 要删除的目录路径 (本地路径) - 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件 - - - - - - [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readCompressedFileSync.html) - 需要基础库: `2.21.1` - 同步读取指定压缩类型的本地文件内容 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 异步接口 - fs.readCompressedFile({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', - success(res) { - console.log(res.data) - }, - fail(res) { - console.log('readCompressedFile fail', res) - } - }) - // 同步接口 - try { - const data = fs.readCompressedFileSync({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', - }) - console.log(data) - } catch (err) { - console.log(err) - } - ``` - - - - - [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.close.html) - 需要基础库: `2.16.1` - 关闭文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 打开文件 - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 关闭文件 - fs.close({ - fd: res.fd - }) - } - }) - ``` - - - - - [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.fstat.html) - 需要基础库: `2.16.1` - 获取文件的状态信息 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 打开文件 - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 获取文件的状态信息 - fs.fstat({ - fd: res.fd, - success(res) { - console.log(res.stats) - } - }) - } - }) - ``` - - - - - [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.ftruncate.html) - 需要基础库: `2.16.1` - 对文件内容进行截断操作 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 打开文件 - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 对文件内容进行截断操作 - fs.ftruncate({ - fd: res.fd, - length: 10, // 从第10个字节开始截断文件 - success(res) { - console.log(res) - } - }) - } - }) - ``` - - - - - [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.getFileInfo.html) - 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 - - - - - [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.getSavedFileList.html) - 获取该小程序下已保存的本地缓存文件列表 - - - - - [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) - 需要基础库: `2.16.1` - 打开文件,返回文件描述符 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - console.log(res.fd) - } - }) - ``` - - - - - [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.read.html) - 需要基础库: `2.16.1` - 读文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const ab = new ArrayBuffer(1024) - // 打开文件 - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 读取文件到 ArrayBuffer 中 - fs.read({ - fd: res.fd, - arrayBuffer: ab, - length: 10, - success(res) { - console.log(res) - } - }) - } - }) - ``` - - - - - [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readZipEntry.html) - 需要基础库: `2.17.3` - 读取压缩包内的文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 读取zip内某个或多个文件 - fs.readZipEntry({ - filePath: 'wxfile://from/to.zip', - entries: [{ - path: 'some_folder/my_file.txt', // zip内文件路径 - encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte - length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte - }, { - path: 'other_folder/orther_file.txt', // zip内文件路径 - }], - success(res) { - console.log(res.entries) - // res.entries === { - // 'some_folder/my_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // }, - // 'other_folder/orther_file.txt': { - // data: (ArrayBuffer) - // } - // } - }, - fail(res) { - console.log(res.errMsg) - }, - }) - // 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度 - fs.readZipEntry({ - filePath: 'wxfile://from/to.zip', - entries: 'all' - encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - success(res) { - console.log(res.entries) - // res.entries === { - // 'some_folder/my_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // }, - // 'other_folder/orther_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // } - // } - }, - fail(res) { - console.log(res.errMsg) - }, - }) - ``` - - - - - - [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.removeSavedFile.html) - 删除该小程序下已保存的本地缓存文件 - - - - - [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.rename.html) - 重命名文件。可以把文件从 oldPath 移动到 newPath - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.rename({ - oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } - }) - // 同步接口 - try { - const res = fs.renameSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_new.txt` - ) - console.log(res) - } catch(e) { - console.error(e) - } - ``` - - - - - [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.renameSync.html) - [FileSystemManager.rename](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.rename.html) 的同步版本 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.rename({ - oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } - }) - // 同步接口 - try { - const res = fs.renameSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_new.txt` - ) - console.log(res) - } catch(e) { - console.error(e) - } - ``` - - - - - [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.saveFile.html) - 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 - - - - - [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.truncate.html) - 需要基础库: `2.16.1` - 对文件内容进行截断操作 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.truncate({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - length: 10, // 从第10个字节开始截断 - success(res) { - console.log(res) - } - }) - ``` - - - - - [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.unzip.html) - 解压文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.unzip({ - zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`, - targetPath: '${wx.env.USER_DATA_PATH}/example', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } - }) - ``` - - - - - [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.write.html) - 需要基础库: `2.16.1` - 写入文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - // 打开文件 - fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 写入文件 - fs.write({ - fd: res.fd, - data: 'some text', - success(res) { - console.log(res.bytesWritten) - } - }) - } - }) - ``` - - - - - [[ReadResult](https://developers.weixin.qq.com/minigame/dev/api/file/ReadResult.html) FileSystemManager.readSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.readSync.html) - 需要基础库: `2.16.1` - 读文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const ab = new ArrayBuffer(1024) - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - const res = fs.readSync({ - fd: fd, - arrayBuffer: ab, - length: 10 - }) - console.log(res) - ``` - - - - - [[Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html) FileSystemManager.fstatSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.fstatSync.html) - 需要基础库: `2.16.1` - 同步获取文件的状态信息 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - const stats = fs.fstatSync({fd: fd}) - console.log(stats) - ``` - - - - - [[Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html)> FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.statSync.html) - [FileSystemManager.stat](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.stat.html) 的同步版本 - 只支持传目录 - - - - - [[WriteResult](https://developers.weixin.qq.com/minigame/dev/api/file/WriteResult.html) FileSystemManager.writeSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.writeSync.html) - 需要基础库: `2.16.1` - 同步写入文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - const res = fs.writeSync({ - fd: fd, - data: 'some text' - }) - console.log(res.bytesWritten) - ``` - - - - - [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) - 需要基础库: `2.16.1` - 同步打开文件,返回文件描述符 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - console.log(fd) - ``` - - - - - [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.saveFileSync.html) - [FileSystemManager.saveFile](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 - - - - - [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.closeSync.html) - 需要基础库: `2.16.1` - 同步关闭文件 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - // 关闭文件 - fs.closeSync({fd: fd}) - ``` - - - - - [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.ftruncateSync.html) - 需要基础库: `2.16.1` - 对文件内容进行截断操作 - **示例代码** - ```js - const fs = wx.getFileSystemManager() - const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' - }) - fs.ftruncateSync({ - fd: fd, - length: 10 // 从第10个字节开始截断文件 - }) - ``` - - - - - [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.truncateSync.html) - 需要基础库: `2.16.1` - 对文件内容进行截断操作 (truncate 的同步版本) - **示例代码** - ```js - const fs = wx.getFileSystemManager() - fs.truncateSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - length: 10, // 从第10个字节开始截断 - }) - ``` - - - - - 游戏对局回放 - - - - - 视频比特率(kbps),默认值1000,最大值 3000,最小值 600 - - - - - 视频的时长限制,单位为秒(s)。最大值 7200,最小值 5,到达指定时长后不会再录入。但还需要手动调用 [GameRecorder.stop()](https://developers.weixin.qq.com/minigame/dev/api/game-recorder/GameRecorder.stop.html) 来结束录制。 - - - - - 视频 fps - - - - - 视频关键帧间隔 - - - - - 需要基础库: `2.10.0` - - 是否录制游戏音效(仅iOS支持) - - - - - 音频类,详见 https://developers.weixin.qq.com/minigame/dev/api/media/audio/InnerAudioContext.html - - - - - 内部函数,请不要调用 - - - - - - Gets or sets a value indicating whether 是否自动开始播放,默认为 false - - - - - Gets or sets 音频资源的地址,用于直接播放。可以设置为网络地址,或者unity中的本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址 - - - - - Gets or sets a value indicating whether 是否需要先下载后播放 - - - - - Gets or sets 开始播放的位置(单位:s),默认为 0 - - - - - Gets or sets a value indicating whether 是否循环播放,默认为 false - - - - - Gets or sets 音量。范围 0~1。默认为 1 - - - - - Gets or sets a value indicating whether 静音,静音时将音量设置为 0,取消静音则恢复原来的音量 - - - - - Gets or sets 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) - - - - - Gets 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) - - - - - Gets 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) - - - - - Gets 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) - - - - - Gets a value indicating whether 当前是是否暂停或停止状态(只读) - - - - - 播放 - - - - - 暂停。暂停后的音频再播放会从暂停处开始播放 - - - - - 停止。停止后的音频再播放会从头开始播放。 - - - - - 跳转到指定位置 - - - - - 销毁当前实例 - - - - - 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 - - - - - 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放,action 为空表示移除全部事件监听 - - - - - 监听音频播放事件 - - - - - 取消监听音频播放事件,action 为空表示移除全部事件监听 - - - - - 监听音频暂停事件 - - - - - 取消监听音频暂停事件,action 为空表示移除全部事件监听 - - - - - 监听音频暂停事件 - - - - - 取消监听音频暂停事件,action 为空表示移除全部事件监听 - - - - - 监听音频自然播放至结束的事件 - - - - - 取消监听音频自然播放至结束的事件,action 为空表示移除全部事件监听 - - - - - 监听音频播放进度更新事件 - - - - - 取消监听音频播放进度更新事件,action 为空表示移除全部事件监听 - - - - - 监听音频播放错误事件 - - - - - 取消监听音频播放错误事件,action 为空表示移除全部事件监听 - - - - - 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 - - - - - 取消监听音频加载中事件,action 为空表示移除全部事件监听 - - - - - 监听音频进行跳转操作的事件 - - - - - 取消监听音频进行跳转操作的事件,action 为空表示移除全部事件监听 - - - - - 监听音频完成跳转操作的事件 - - - - - 取消监听音频完成跳转操作的事件,action 为空表示移除全部事件监听 - - - - - 加载插屏广告 - - - - - 监听插屏广告关闭事件 - - 插屏广告关闭事件的回调函数 - - - - 取消监听插屏广告关闭事件 - - 插屏广告关闭事件的回调函数 - - - - 微信小游戏启动剧情交互句柄 - - - - - 设置游戏剩余 30% 外显进度情况 - - 取值 0.0 ~ 1.0 对应完整进度条的 70%~100% - - - - 获取当前剧情组件的运行状态 - - True 为正在运行;False 为未运行或已结束 - - - - 提前结束正在运行的游戏 - - - - - 注册当剧情结束时的回调函数 - 由于 C# 代码启动较晚,如果在开发者注册时剧情已经结束,则在注册该方法时会立即产生回调,注册的回调只会产生1次 - - 回调函数 - - - - 卸载当剧情结束时的回调函数 - - 回调函数句柄 - - - - 设置剧情全局变量 - - 被设置的变量Key - 被设置的变量Value - - - - 读取剧情全局变量 - - 被读取的变量Key - 返回剧情全局变量值,若返回 null 代表全局变量不存在。 - - - - 判断是否播放了某条故事线 - - 故事线uid - True 播放;False 未播放 - - - - 运行JS函数 - - - - - [LogManager.debug()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/LogManager.debug.html) - 写 debug 日志 - - - - - [LogManager.info()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/LogManager.info.html) - 写 info 日志 - - - - - [LogManager.log()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/LogManager.log.html) - 写 log 日志 - - - - - [LogManager.warn()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/LogManager.warn.html) - 写 warn 日志 - - - - - 长时间才返回的用这个 - - - - - 如果返回二进制,则数据在这个字段 - - - - - 如果返回的是字符串,则数据在这个字段 - - - - - 视频是否是在用户完整观看的情况下被关闭的,详见 https://developers.weixin.qq.com/minigame/dev/api/ad/RewardedVideoAd.onClose.html - - - - - 云函数回调 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html - - - - - 后端返回的经过json序列化后的数据 - - - - - 对应JS版里的 extraData,这里序列化成JSON字符串 - - - - - 详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/UserInfo.html - - - - - 创建 banner 广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createBannerAd.html - - - - - 创建激励视频广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createRewardedVideoAd.html - - - - - 创建插屏广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createInterstitialAd.html - - - - - 创建原生模板广告参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createCustomAd.html - - - - - 原生模板广告组件的样式 - - - - - 原生模板广告组件的左上角横坐标 - - - - - 原生模板广告组件的左上角纵坐标 - - - - - 原生模板广告组件的宽度 - - - - - 将当前 Canvas 保存为一个临时文件的同步版本,详见 https://developers.weixin.qq.com/minigame/dev/api/render/canvas/Canvas.toTempFilePathSync.html - - - - - canvas 生成的临时文件路径 (本地路径) - - - - - 将当前 Canvas 保存为一个临时文件的异步版本,详见 https://developers.weixin.qq.com/minigame/dev/api/render/canvas/Canvas.toTempFilePath.html - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.access.html - - - - - https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.unlink.html - - - - - https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.mkdir.html - - - - - 创建的目录路径 (本地路径) - - - - - 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 - - - - - https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html - - - - - 要删除的目录路径 (本地路径) - - - - - 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 - - - - - https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.copyFile.html - - - - - 当前所有触摸点的列表 - - - - - 触发此次事件的触摸点列表,可以通过这个知道触发当前通知的事件的位置 - - - - - 事件触发时的时间戳 - - - - - 调用云函数 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html - - - - - 这里请将数据json序列化为字符串再赋值到data - - - - - 云函数初始化 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/init/client.init.html - - - - - 必填,环境ID,指定接下来调用 API 时访问哪个环境的云资源 - - - - - 是否在将用户访问记录到用户管理中,在控制台中可见 - - - - - 音频资源的地址,用于直接播放。可以设置为网络地址,或者unity中的本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址 - - - - - 是否循环播放,默认为 false - - - - - 开始播放的位置(单位:s),默认为 0 - - - - - 是否自动开始播放,默认为 false - - - - - 音量。范围 0~1。默认为 1 - - - - - 播放速度。范围 0.5-2.0,默认为 1。 - - - - - 下载音频,设置为true后,会完全下载后再触发OnCanplay,方便后续音频复用,避免延迟 - - - - - 网络状态变化事件的回调参数,详见 https://developers.weixin.qq.com/minigame/dev/api/device/network/wx.onNetworkStatusChange.html - - - - - 当前是否有网络连接 - - - - - 网络类型 - - - - - 要写入的文件路径 (本地路径) - - - - - 要写入的二进制数据 - - - - - 指定写入文件的字符编码 - - - - - 要写入的文件路径 (本地路径) - - - - - 要写入的二进制数据 - - - - - 指定写入文件的字符编码 - - - - - 要读取的文件的路径 (本地路径) - - - - - 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - - - - - 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte - - - - - 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte - - - - - 如果返回二进制,则数据在这个字段 - - - - - 要读取的文件的路径 (本地路径) - - - - - 如果返回二进制,则数据在这个字段 - - - - - 如果返回的是字符串,则数据在这个字段 - - - - - 文件的类型和存取的权限,对应 POSIX stat.st_mode - - - - - 文件大小,单位:B,对应 POSIX stat.st_size - - - - - 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime - - - - - 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime - - - - - 文件的路径 - - - - - 文件/目录路径 (本地路径) - - - - - 是否递归获取目录下的每个文件的 Stats 信息 2.3.0 - - - - - 当前的播放位置,单位为秒 - - - - - 视频的总时长,单位为秒 - - - - - 当前的缓冲进度,缓冲进度区间为 (0~100],100表示缓冲完成 - - - - - 视频的总时长,单位为秒 - - - - - 当前的缓冲进度,缓冲进度区间为 (0~100],100表示缓冲完成 - - - - - 当前的播放位置,单位为秒 - - - - - 视频的总时长,单位为秒 - - - - - 视频的左上角横坐标 - - - - - 视频的左上角纵坐标 - - - - - 视频的宽度 - - - - - 视频的高度 - - - - - 视频的资源地址 - - - - - 视频的封面 - - - - - 视频的初始播放位置,单位为 s 秒 - - - - - 视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5 - - - - - 视频是否为直播 - - - - - 视频的缩放模式 - - - - - 视频是否显示控件 - - - - - 是否显示视频底部进度条 - - - - - 是否显示控制栏的进度条 - - - - - 视频背景颜色 - - - - - 视频是否自动播放 - - - - - 视频是否是否循环播放 - - - - - 视频是否禁音播放 - - - - - 视频是否遵循系统静音开关设置(仅iOS) - - - - - 是否启用手势控制播放进度 - - - - - 是否开启双击播放的手势 - - - - - 是否显示视频中央的播放按钮 - - - - - 视频是否显示在游戏画布之下 - - - - - 开发版 - - - - - 体验版 - - - - - 正式版 - - - - - 可以设置背景色和文本的按钮 - - - - - 只能设置背景贴图的按钮,背景贴图会直接拉伸到按钮的宽高 - - - - - 居左 - - - - - 居中 - - - - - 居右 - - - - - 创建游戏圈参数,详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/game-club/wx.createGameClubButton.html - - - - - 必填,按钮类型 - - - - - 按钮上的文本,仅当 type 为 text 时有效 - - - - - 按钮的背景图片,仅当 type 为 image 时有效 - - - - - 必填,按钮的样式 - - - - - 必填,游戏圈按钮的图标,仅当 object.type 参数为 image 时有效。 - - - - - 需要基础库: `2.30.3` 当传递了openlink值时,此字段生效,决定创建的按钮是否需要拥有红点,默认为true - - - - - 需要基础库: `2.30.3` 设置后可以跳到对应的活动页面,具体进入mp设置-游戏设置-开始管理-游戏圈管理-由帖子的"游戏内跳转ID"生成 - - - - - 清理文件缓存的结果 - - - - - 无需清理,空间足够 - - - - - 超过最大存储容量,不清理 - - - - - 清理成功 - - - - - 启动数据 - - - - - 当前阶段耗时 - - - - - 自插件启动后总运行时间 - - - - - 是否需要下载资源包 - - - - - 首包资源是否作为小游戏代码分包下载 - - - - - 当前阶段完成时是否处于前台 - - - - - 是否开启了代码分包 - - - - - 是否iOS高性能模式 - - - - - 启动阶段类型定义 - - - - - 插件启动 - - - - - 下载wasm代码 - - - - - 编译wasm - - - - - 下载首包资源 - - - - - 读取首包资源 - - - - - 引擎初始化(callmain) - - - - - 可选值: - - 10001: 系统错误; - - 10002: 网络错误; - - 10003: 文件错误; - - 10004: 格式错误; - - -1: 未知错误; - - - - - 文件压缩类型,目前仅支持 'br'。 - 可选值: - - 'br': brotli压缩文件; - - - - - 要读取的文件的路径 (本地用户文件或代码包文件) - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 1300001 | operation not permitted | 操作不被允许(例如,filePath 预期传入一个文件而实际传入一个目录) | - | 1300002 | no such file or directory ${path} | 文件/目录不存在,或者目标文件路径的上层目录不存在 | - | 1300005 | Input/output error | 输入输出流不可用 | - | 1300009 | bad file descriptor | 无效的文件描述符 | - | 1300013 | permission denied | 权限错误,文件是只读或只写 | - | 1300014 | Path permission denied | 传入的路径没有权限 | - | 1300020 | not a directory | dirPath 指定路径不是目录,常见于指定的写入路径的上级路径为一个文件的情况 | - | 1300021 | Is a directory | 指定路径是一个目录 | - | 1300022 | Invalid argument | 无效参数,可以检查length或offset是否越界 | - | 1300036 | File name too long | 文件名过长 | - | 1300066 | directory not empty | 目录不为空 | - | 1300201 | system error | 系统接口调用失败 | - | 1300202 | the maximum size of the file storage limit is exceeded | 存储空间不足,或文件大小超出上限(上限100M) | - | 1300203 | base64 encode error | 字符编码转换失败(例如 base64 格式错误) | - | 1300300 | sdcard not mounted | android sdcard 挂载失败 | - | 1300301 | unable to open as fileType | 无法以fileType打开文件 | - | 1301000 | permission denied, cannot access file path | 目标路径无访问权限(usr目录) | - | 1301002 | data to write is empty | 写入数据为空 | - | 1301003 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) | - | 1301004 | illegal operation on a package directory | 不可对代码包目录进行此操作 | - | 1301005 | file already exists ${dirPath} | 已有同名文件或目录 | - | 1301006 | value of length is out of range | 传入的 length 不合法 | - | 1301007 | value of offset is out of range | 传入的 offset 不合法 | - | 1301009 | value of position is out of range | position值越界 | - | 1301100 | store directory is empty | store目录为空 | - | 1301102 | unzip open file fail | 压缩文件打开失败 | - | 1301103 | unzip entry fail | 解压单个文件失败 | - | 1301104 | unzip fail | 解压失败 | - | 1301111 | brotli decompress fail | brotli解压失败(例如,指定的 compressionAlgorithm 与文件实际压缩格式不符) | - | 1301112 | tempFilePath file not exist | 指定的 tempFilePath 找不到文件 | - | 1302001 | fail permission denied | 指定的 fd 路径没有读权限/没有写权限 | - | 1302002 | excced max concurrent fd limit | fd数量已达上限 | - | 1302003 | invalid flag | 无效的flag | - | 1302004 | permission denied when open using flag | 无法使用flag标志打开文件 | - | 1302005 | array buffer does not exist | 未传入arrayBuffer | - | 1302100 | array buffer is readonly | arrayBuffer只读 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 1300001 | operation not permitted | 操作不被允许(例如,filePath 预期传入一个文件而实际传入一个目录) | - | 1300002 | no such file or directory ${path} | 文件/目录不存在,或者目标文件路径的上层目录不存在 | - | 1300005 | Input/output error | 输入输出流不可用 | - | 1300009 | bad file descriptor | 无效的文件描述符 | - | 1300013 | permission denied | 权限错误,文件是只读或只写 | - | 1300014 | Path permission denied | 传入的路径没有权限 | - | 1300020 | not a directory | dirPath 指定路径不是目录,常见于指定的写入路径的上级路径为一个文件的情况 | - | 1300021 | Is a directory | 指定路径是一个目录 | - | 1300022 | Invalid argument | 无效参数,可以检查length或offset是否越界 | - | 1300036 | File name too long | 文件名过长 | - | 1300066 | directory not empty | 目录不为空 | - | 1300201 | system error | 系统接口调用失败 | - | 1300202 | the maximum size of the file storage limit is exceeded | 存储空间不足,或文件大小超出上限(上限100M) | - | 1300203 | base64 encode error | 字符编码转换失败(例如 base64 格式错误) | - | 1300300 | sdcard not mounted | android sdcard 挂载失败 | - | 1300301 | unable to open as fileType | 无法以fileType打开文件 | - | 1301000 | permission denied, cannot access file path | 目标路径无访问权限(usr目录) | - | 1301002 | data to write is empty | 写入数据为空 | - | 1301003 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) | - | 1301004 | illegal operation on a package directory | 不可对代码包目录进行此操作 | - | 1301005 | file already exists ${dirPath} | 已有同名文件或目录 | - | 1301006 | value of length is out of range | 传入的 length 不合法 | - | 1301007 | value of offset is out of range | 传入的 offset 不合法 | - | 1301009 | value of position is out of range | position值越界 | - | 1301100 | store directory is empty | store目录为空 | - | 1301102 | unzip open file fail | 压缩文件打开失败 | - | 1301103 | unzip entry fail | 解压单个文件失败 | - | 1301104 | unzip fail | 解压失败 | - | 1301111 | brotli decompress fail | brotli解压失败(例如,指定的 compressionAlgorithm 与文件实际压缩格式不符) | - | 1301112 | tempFilePath file not exist | 指定的 tempFilePath 找不到文件 | - | 1302001 | fail permission denied | 指定的 fd 路径没有读权限/没有写权限 | - | 1302002 | excced max concurrent fd limit | fd数量已达上限 | - | 1302003 | invalid flag | 无效的flag | - | 1302004 | permission denied when open using flag | 无法使用flag标志打开文件 | - | 1302005 | array buffer does not exist | 未传入arrayBuffer | - | 1302100 | array buffer is readonly | arrayBuffer只读 | - - - - - 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 目标文件路径,支持本地路径 - - - - - 源文件路径,支持本地路径 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - [Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html) - Stats 对象,包含了文件的状态信息 - - - - - 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime - - - - - 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime - - - - - 文件的类型和存取的权限,对应 POSIX stat.st_mode - - - - - 文件大小,单位:B,对应 POSIX stat.st_size - - - - - 判断当前文件是否一个目录 - - - - - 判断当前文件是否一个普通文件 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') - - - - - 要读取的文件路径 (本地路径) - - - - - 文件大小,以字节为单位 - - - - - 文件数组 - - - - - 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 - - - - - 文件路径 (本地路径) - - - - - 本地文件大小,以字节为单位 - - - - - 文件路径 (本地路径) - - - - - 文件系统标志,默认值: 'r' - 可选值: - - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; - - 'ax': 类似于 'a',但如果路径存在,则失败; - - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; - - 'ax+': 类似于 'a+',但如果路径存在,则失败; - - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; - - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; - - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; - - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; - - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - - 'wx': 类似于 'w',但如果路径存在,则失败; - - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - - 'wx+': 类似于 'w+',但如果路径存在,则失败; - - - - - 文件描述符 - - - - - 数据写入的缓冲区,必须是 ArrayBuffer 实例 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 要从文件中读取的字节数,默认0 - - - - - 缓冲区中的写入偏移量,默认0 - - - - - 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 - - - - - 被写入的缓存区的对象,即接口入参的 arrayBuffer - - - - - 实际读取的字节数 - - - - - 文件压缩类型,目前仅支持 'br'。 - 可选值: - - 'br': brotli压缩文件; - - - - - 要读取的文件的路径 (本地用户文件或代码包文件) - - - - - 文件内容 - - - - - 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) - - - - - 要读取的压缩包的路径 (本地路径) - - - - - 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) - - - - - 要读取的压缩包的路径 (本地路径) - - - - - 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 压缩包内文件路径 - - - - - 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte - - - - - 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte - - - - - 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 - - - - - 文件内容 - - - - - 错误信息 - - - - - 要读取的目录路径 (本地路径) - - - - - 指定目录下的文件名数组。 - - - - - 需要删除的文件路径 (本地路径) - - - - - 新文件路径,支持本地路径 - - - - - 源文件路径,支持本地路径 - - - - - 临时存储文件路径 (本地路径) - - - - - 要存储的文件路径 (本地路径) - - - - - 存储后的文件路径 (本地路径) - - - - - 文件/目录路径 (本地路径) - - - - - 需要基础库: `2.3.0` - 是否递归获取目录下的每个文件的 Stats 信息 - - - - - [Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/minigame/dev/api/file/Stats.html)> - 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 - - - - - 要截断的文件路径 (本地路径) - - - - - 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') - - - - - 要删除的文件路径 (本地路径) - - - - - 目标目录路径, 支持本地路径 - - - - - 源文件路径,支持本地路径, 只可以是 zip 压缩文件 - - - - - 写入的内容,类型为 String 或 ArrayBuffer - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 - - - - - 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 - - - - - 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 - - - - - 写入的内容,类型为 String 或 ArrayBuffer - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 - - - - - 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 - - - - - 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 - - - - - 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) - - - - - 数据写入的缓冲区,必须是 ArrayBuffer 实例 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 要从文件中读取的字节数,默认0 - - - - - 缓冲区中的写入偏移量,默认0 - - - - - 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 写入的内容,类型为 String 或 ArrayBuffer - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 - - - - - 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 - - - - - 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 - - - - - 写入的内容,类型为 String 或 ArrayBuffer - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - 可选值: - - 'ascii': ; - - 'base64': ; - - 'binary': ; - - 'hex': ; - - 'ucs2': 以小端序读取; - - 'ucs-2': 以小端序读取; - - 'utf16le': 以小端序读取; - - 'utf-16le': 以小端序读取; - - 'utf-8': ; - - 'utf8': ; - - 'latin1': ; - - - - - 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 - - - - - 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 - - - - - 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 - - - - - 文件路径 (本地路径) - - - - - 文件系统标志,默认值: 'r' - 可选值: - - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; - - 'ax': 类似于 'a',但如果路径存在,则失败; - - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; - - 'ax+': 类似于 'a+',但如果路径存在,则失败; - - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; - - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; - - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; - - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; - - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - - 'wx': 类似于 'w',但如果路径存在,则失败; - - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - - 'wx+': 类似于 'w+',但如果路径存在,则失败; - - - - - 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.openSync.html) 接口获得 - - - - - 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') - - - - - 要截断的文件路径 (本地路径) - - - - - 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') - - - - - 被写入的缓存区的对象,即接口入参的 arrayBuffer - - - - - 实际读取的字节数 - - - - - 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) - - - - - 可以发送的事件,曝光:"exposureAuthorization",同意:"agree",拒绝:"disagree" - - - - - 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 - - - - - 套接字要连接的地址 - - - - - 套接字要连接的端口 - - - - - 套接字要连接的超时时间,默认为 2s - - - - - 接收端地址信息 - - - - - 收到的消息 - - - - - 发送端地址信息 - - - - - 接收消息的 socket 的地址 - - - - - 使用的协议族,为 IPv4 或者 IPv6 - - - - - 端口号 - - - - - 发送消息的 socket 的地址 - - - - - 使用的协议族,为 IPv4 或者 IPv6 - - - - - 端口号 - - - - - 要发消息的地址 - - - - - 要发送消息的端口号 - - - - - 接收端地址信息,2.18.0 起支持 - - - - - 收到的消息。消息长度需要小于4096。 - - - - - 发送端地址信息 - - - - - - 要发送的数据 - - - - - 要发送消息的端口号 - - - - - 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 - - - - - 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 - - - - - 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 - - - - - - 要发送消息的端口号 - - - - - 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 - - - - - 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 - - - - - 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 - - - - - 触发此次事件的触摸点列表 - - - - - 事件触发时的时间戳 - - - - - 当前所有触摸点的列表 - - - - - 触点相对于可见视区左边沿的 X 坐标。 - - - - - 触点相对于可见视区上边沿的 Y 坐标。 - - - - - 手指挤压触摸平面的压力大小, 从0.0(没有压力)到1.0(最大压力)的浮点数(仅在支持 force touch 的设备返回) - - - - - Touch 对象的唯一标识符,只读属性。一次触摸动作(我们值的是手指的触摸)在平面上移动的整个过程中, 该标识符不变。可以根据它来判断跟踪的是否是同一次触摸过程。 - - - - - 触点相对于页面左边沿的 X 坐标。 - - - - - 触点相对于页面上边沿的 Y 坐标。 - - - - - 蓝牙特征的 UUID - - - - - 蓝牙设备 id - - - - - 蓝牙特征对应服务的 UUID - - - - - 特征最新的值 - - - - - x 轴的角速度 - - - - - y 轴的角速度 - - - - - z 轴的角速度 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 监听陀螺仪数据回调函数的执行频率 - 可选值: - - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - - 'normal': 普通的回调频率,在 200ms/次 左右; - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 小程序账号信息 - - - - - 插件账号信息(仅在插件中调用时包含这一项) - - - - - 小程序 appId - - - - - 需要基础库: `2.10.0` - 小程序版本 - 可选值: - - 'develop': 开发版; - - 'trial': 体验版; - - 'release': 正式版; - - - - - 需要基础库: `2.10.2` - 线上小程序版本号 - - - - - 插件 appId - - - - - 插件版本号 - - - - - 允许微信使用相册的开关(仅 iOS 有效) - - - - - 允许微信使用蓝牙的开关(仅 iOS 有效) - - - - - 允许微信使用摄像头的开关 - - - - - 允许微信使用定位的开关 - - - - - 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) - - - - - 允许微信使用麦克风的开关 - - - - - 允许微信通知带有提醒的开关(仅 iOS 有效) - - - - - 允许微信通知的开关 - - - - - 允许微信通知带有标记的开关(仅 iOS 有效) - - - - - 允许微信通知带有声音的开关(仅 iOS 有效) - - - - - 允许微信读写日历的开关 - - - - - 客户端基础库版本 - - - - - 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/minigame/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 - - - - - 当前小程序运行的宿主环境 - - - - - 微信设置的语言 - - - - - 微信版本号 - - - - - 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) - 可选值: - - 'dark': 深色主题; - - 'light': 浅色主题; - - - - - 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) - - - - - 是否正在充电中 - - - - - 设备电量,范围 1 - 100 - - - - - 应用(微信APP)二进制接口类型(仅 Android 支持) - - - - - 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) - - - - - 设备品牌 - - - - - 需要基础库: `2.29.0` - 设备 CPU 型号(仅 Android 支持)(Tips: GPU 型号可通过 WebGLRenderingContext.getExtension('WEBGL_debug_renderer_info') 来获取) - - - - - 需要基础库: `2.25.1` - 设备二进制接口类型(仅 Android 支持) - - - - - 需要基础库: `2.30.0` - 设备内存大小,单位为 MB - - - - - 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 - - - - - 客户端平台 - - - - - 操作系统及版本 - - - - - 需要基础库: `2.20.0` - API 类别 - 可选值: - - 'default': 默认类别; - - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序; - - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序; - - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; - - - - - 启动小游戏的 query 参数 - - - - - 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) - - - - - 启动小游戏的[场景值](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/scene.html) - - - - - 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 - 可选值: - - 1: 微信联系人单聊; - - 2: 企业微信联系人单聊; - - 3: 普通微信群聊; - - 4: 企业微信互通群聊; - - - - - shareTicket,详见[获取更多转发信息](#) - - - - - 来源小程序、公众号或 App 的 appId - - - - - 来源小程序传过来的数据,scene=1037或1038时支持 - - - - - 从小游戏直播间里的挂件入口打开小游戏时,开发者可从启动参数中获取当前直播的直播间Id和直播者openId - - - - - 直播者 openId - - - - - 直播间 id - - - - - 启动小游戏的 query 参数 - - - - - 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) - - - - - 启动小游戏的[场景值](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/scene.html) - - - - - 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 - 可选值: - - 1: 微信联系人单聊; - - 2: 企业微信联系人单聊; - - 3: 普通微信群聊; - - 4: 企业微信互通群聊; - - - - - shareTicket,详见[获取更多转发信息](#) - - - - - 下边界坐标,单位:px - - - - - 高度,单位:px - - - - - 左边界坐标,单位:px - - - - - 右边界坐标,单位:px - - - - - 上边界坐标,单位:px - - - - - 宽度,单位:px - - - - - 当前占用的空间大小, 单位 KB - - - - - 当前 storage 中所有的 key - - - - - 限制的空间大小,单位 KB - - - - - 需要基础库: `1.1.0` - 客户端基础库版本 - - - - - 需要基础库: `2.6.0` - 允许微信使用相册的开关(仅 iOS 有效) - - - - - - 需要基础库: `2.6.0` - 蓝牙的系统开关 - - - - - 需要基础库: `1.5.0` - 设备品牌 - - - - - 需要基础库: `2.6.0` - 允许微信使用摄像头的开关 - - - - - 设备方向 - 可选值: - - 'portrait': 竖屏; - - 'landscape': 横屏; - - - - - 需要基础库: `2.15.0` - 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/minigame/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 - - - - - 需要基础库: `1.5.0` - 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 - - - - - 需要基础库: `2.12.3` - 当前小程序运行的宿主环境 - - - - - 微信设置的语言 - - - - - 需要基础库: `2.6.0` - 允许微信使用定位的开关 - - - - - 需要基础库: `2.6.0` - 地理位置的系统开关 - - - - - `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 - - - - - 需要基础库: `2.6.0` - 允许微信使用麦克风的开关 - - - - - 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 - - - - - 需要基础库: `2.6.0` - 允许微信通知带有提醒的开关(仅 iOS 有效) - - - - - 需要基础库: `2.6.0` - 允许微信通知的开关 - - - - - 需要基础库: `2.6.0` - 允许微信通知带有标记的开关(仅 iOS 有效) - - - - - 需要基础库: `2.6.0` - 允许微信通知带有声音的开关(仅 iOS 有效) - - - - - 需要基础库: `2.19.3` - 允许微信使用日历的开关 - - - - - 设备像素比 - - - - - 客户端平台 - 可选值: - - 'ios': iOS微信(包含 iPhone、iPad); - - 'android': Android微信; - - 'windows': Windows微信; - - 'mac': macOS微信; - - 'devtools': 微信开发者工具; - - - - - 需要基础库: `2.7.0` - 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 - - - - - 需要基础库: `1.1.0` - 屏幕高度,单位px - - - - - 需要基础库: `1.1.0` - 屏幕宽度,单位px - - - - - 需要基础库: `1.9.0` - 状态栏的高度,单位px - - - - - 操作系统及版本 - - - - - 微信版本号 - - - - - 需要基础库: `2.6.0` - Wi-Fi 的系统开关 - - - - - 可使用窗口高度,单位px - - - - - 可使用窗口宽度,单位px - - - - - 需要基础库: `2.11.0` - 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) - 可选值: - - 'dark': 深色主题; - - 'light': 浅色主题; - - - - - 宿主 app 对应的 appId - - - - - 安全区域右下角纵坐标 - - - - - 安全区域的高度,单位逻辑像素 - - - - - 安全区域左上角横坐标 - - - - - 安全区域右下角横坐标 - - - - - 安全区域左上角纵坐标 - - - - - 安全区域的宽度,单位逻辑像素 - - - - - 蓝牙的系统开关 - - - - - 设备方向 - 可选值: - - 'portrait': 竖屏; - - 'landscape': 横屏; - - - - - 地理位置的系统开关 - - - - - Wi-Fi 的系统开关 - - - - - 设备像素比 - - - - - 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 - - - - - 屏幕高度,单位px - - - - - 窗口上边缘的y值 - - - - - 屏幕宽度,单位px - - - - - 状态栏的高度,单位px - - - - - 可使用窗口高度,单位px - - - - - 可使用窗口宽度,单位px - - - - - 下载资源的 url - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `1.8.0` - 指定文件下载后存储的路径 (本地路径) - - - - - HTTP 请求的 Header,Header 中不能设置 Referer - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.10.0` - 超时时间,单位为毫秒,默认值为 60000 即一分钟。 - - - - - 错误信息 - - - - - 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 - - - - - 需要基础库: `2.10.4` - 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) - - - - - 开发者服务器返回的 HTTP 状态码 - - - - - 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 - - - - - SSL建立完成的时间,如果不是安全连接,则值为 0 - - - - - SSL建立连接的时间,如果不是安全连接,则值为 0 - - - - - HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 - - - - - HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 - - - - - DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 - - - - - DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 - - - - - 评估当前网络下载的kbps - - - - - 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 - - - - - 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 - - - - - 协议层根据多个请求评估当前网络的 rtt(仅供参考) - - - - - 当前请求的IP - - - - - 当前请求的端口 - - - - - 使用协议类型,有效值:http1.1, h2, quic, unknown - - - - - 收到字节数 - - - - - 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 - - - - - 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 - - - - - HTTP请求读取真实文档结束的时间 - - - - - HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 - - - - - HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 - - - - - HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 - - - - - 当次请求连接过程中实时 rtt - - - - - 发送的字节数 - - - - - 是否复用连接 - - - - - 当前网络的实际下载kbps - - - - - 传输层根据多个请求评估的当前网络的 rtt(仅供参考) - - - - - 开发者服务器返回的 HTTP Response Header - - - - - 下载进度百分比 - - - - - 预期需要下载的数据总长度,单位 Bytes - - - - - 已经下载的数据长度,单位 Bytes - - - - - 按钮的样式 - - - - - 按钮的类型。 - 可选值: - - 'text': 可以设置背景色和文本的按钮; - - 'image': 只能设置背景贴图的按钮,背景贴图会直接拉伸到按钮的宽高; - - - - - 按钮的背景图片,仅当 type 为 `image` 时有效 - - - - - 按钮上的文本,仅当 type 为 `text` 时有效 - - - - - 背景颜色 - - - - - 边框颜色 - - - - - 边框圆角 - - - - - 边框宽度 - - - - - 文本的颜色。格式为 6 位 16 进制数。 - - - - - 字号 - - - - - 高度 - - - - - 左上角横坐标 - - - - - 文本的行高 - - - - - 文本的水平居中方式 - 可选值: - - 'left': 居左; - - 'center': 居中; - - 'right': 居右; - - - - - 左上角纵坐标 - - - - - 宽度 - - - - - 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 - - - - - 使用像素描述 ImageData 的实际高度 - - - - - 使用像素描述 ImageData 的实际宽度 - - - - - 需要基础库: `2.3.2` - 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 - - - - - 是否有新版本 - - - - - 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 - - - - - 需要基础库: `2.15.0` - 是否不需要音频轨道 - - - - - 需要基础库: `2.15.0` - 是否不需要视频轨道 - - - - - 解码模式。0:按 pts 解码;1:以最快速度解码 - - - - - 需要传递的字符串数据,长度需要在 128 之内 - - - - - 需要传递的代表场景的数字,需要在 0 - 50 之间 - - - - - 字体名称 - - - - - 文本的内容 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 字号 - - - - - 字体样式 - 可选值: - - 'normal': 正常; - - 'italic': 斜体; - - - - - 字重 - 可选值: - - 'normal': 正常; - - 'bold': 粗体; - - - - - 接口调用成功的回调函数 - - - - - 需要添加的卡券列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 - - - - - 卡券 ID - - - - - 卡券添加结果列表 - - - - - 卡券的扩展参数,结构请参考下文 - - - - - 用户领取到卡券的 ID - - - - - - 是否成功 - - - - - shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](#) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) - - - - - 错误信息 - - - - - 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 验证是否通过 - - - - - 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/authorize.html#scope-列表) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 是否被添加至 「我的小程序」 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 最多可以选择的图片张数 - - - - - 接口调用失败的回调函数 - - - - - 所选的图片的尺寸 - 可选值: - - 'original': 原图; - - 'compressed': 压缩图; - - - - - 选择图片的来源 - 可选值: - - 'album': 从相册选图; - - 'camera': 使用相机; - - - - - 接口调用成功的回调函数 - - - - - 图片的本地临时文件路径列表 (本地路径) - - - - - 需要基础库: `1.2.0` - 图片的本地临时文件列表 - - - - - 本地临时文件路径 (本地路径) - - - - - 本地临时文件大小,单位 B - - - - - 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头 - 可选值: - - 'back': 使用后置摄像头; - - 'front': 使用前置摄像头; - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 最多可以选择的文件个数,基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件 - - - - - 接口调用失败的回调函数 - - - - - 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 - - - - - 文件类型 - 可选值: - - 'image': 只能拍摄图片或从相册选择图片; - - 'video': 只能拍摄视频或从相册选择视频; - - 'mix': 可同时选择图片和视频; - - - - - 是否压缩所选文件,基础库2.25.0前仅对 mediaType 为 image 时有效,2.25.0及以后对全量 mediaType 有效 - - - - - 图片和视频选择的来源 - 可选值: - - 'album': 从相册选择; - - 'camera': 使用相机拍摄; - - - - - 接口调用成功的回调函数 - - - - - 本地临时文件列表 - - - - - 文件类型,有效值有 image 、video、mix - - - - - 视频的时间长度 - - - - - 文件类型 - 可选值: - - 'image': 图片; - - 'video': 视频; - - - - - 视频的高度 - - - - - 本地临时文件大小,单位 B - - - - - 本地临时文件路径 (本地路径) - - - - - 视频缩略图临时文件路径 - - - - - 视频的宽度 - - - - - 最多可以选择的文件个数,可以 0~100 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 需要基础库: `2.6.0` - 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 所选的文件的类型 - 可选值: - - 'all': 从所有文件选择; - - 'video': 只能选择视频文件; - - 'image': 只能选择图片文件; - - 'file': 可以选择除了图片和视频之外的其它的文件; - - - - - 返回选择的文件的本地临时文件对象数组 - - - - - 选择的文件名称 - - - - - 本地临时文件路径 (本地路径) - - - - - 本地临时文件大小,单位 B - - - - - 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 - - - - - 选择的文件类型 - 可选值: - - 'video': 选择了视频文件; - - 'image': 选择了图片文件; - - 'file': 选择了除图片和视频的文件; - - - - - 蓝牙设备 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 0 | ok | 正常 | - | -1 | already connect | 已连接 | - | 10000 | not init | 未初始化蓝牙适配器 | - | 10001 | not available | 当前蓝牙适配器不可用 | - | 10002 | no device | 没有找到指定设备 | - | 10003 | connection fail | 连接失败 | - | 10004 | no service | 没有找到指定服务 | - | 10005 | no characteristic | 没有找到指定特征 | - | 10006 | no connection | 当前连接已断开 | - | 10007 | property not support | 当前特征不支持此操作 | - | 10008 | system error | 其余所有系统上报的异常 | - | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | - | 10012 | operate time out | 连接超时 | - | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 0 | ok | 正常 | - | -1 | already connect | 已连接 | - | 10000 | not init | 未初始化蓝牙适配器 | - | 10001 | not available | 当前蓝牙适配器不可用 | - | 10002 | no device | 没有找到指定设备 | - | 10003 | connection fail | 连接失败 | - | 10004 | no service | 没有找到指定服务 | - | 10005 | no characteristic | 没有找到指定特征 | - | 10006 | no connection | 当前连接已断开 | - | 10007 | property not support | 当前特征不支持此操作 | - | 10008 | system error | 其余所有系统上报的异常 | - | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | - | 10012 | operate time out | 连接超时 | - | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 图片路径,图片的路径,支持本地路径、代码包路径 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 需要基础库: `2.26.0` - 压缩后图片的高度,单位为px,若不填写则默认以compressedWidth为准等比缩放 - - - - - 需要基础库: `2.26.0` - 压缩后图片的宽度,单位为px,若不填写则默认以compressedHeight为准等比缩放。 - - - - - 接口调用失败的回调函数 - - - - - 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 - - - - - 接口调用成功的回调函数 - - - - - 压缩后图片的临时文件路径 (本地路径) - - - - - 蓝牙设备 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 超时时间,单位 ms,不填表示不会超时 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - [BLEPeripheralServer](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html) - 外围设备的服务端。 - - - - - [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html) - 需要基础库: `2.10.3` - 添加服务。 - - - - - [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html) - 需要基础库: `2.10.3` - 移除已连接的设备请求读当前外围设备的特征值事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - BLEPeripheralServer.onCharacteristicReadRequest(listener) - BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html) - 需要基础库: `2.13.0` - 移除特征订阅事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - BLEPeripheralServer.onCharacteristicSubscribed(listener) - BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html) - 需要基础库: `2.13.0` - 移除取消特征订阅事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - BLEPeripheralServer.onCharacteristicUnsubscribed(listener) - BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html) - 需要基础库: `2.10.3` - 移除已连接的设备请求写当前外围设备的特征值事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - BLEPeripheralServer.onCharacteristicWriteRequest(listener) - BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html) - 需要基础库: `2.10.3` - 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 - - - - - [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html) - 需要基础库: `2.13.0` - 监听特征订阅事件,仅 iOS 支持。 - - - - - [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html) - 需要基础库: `2.13.0` - 监听取消特征订阅事件,仅 iOS 支持。 - - - - - [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html) - 需要基础库: `2.10.3` - 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 - - - - - [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html) - 需要基础库: `2.10.3` - 移除服务。 - - - - - [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html) - 需要基础库: `2.10.3` - 开始广播本地创建的外围设备。 - **注意** - - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID; - - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](#); - - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。 - - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。 - - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 - - - - - [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html) - 需要基础库: `2.10.3` - 停止广播。 - - - - - [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) - 需要基础库: `2.10.3` - 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 - - - - - 描述service的Object - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - characteristics列表 - - - - - 蓝牙服务的 UUID - - - - - characteristic 的 UUID - - - - - 描述符数据 - - - - - 特征权限 - - - - - 特征支持的操作 - - - - - 特征对应的二进制值 - - - - - Descriptor 的 UUID - - - - - 描述符的权限 - - - - - 描述符数据 - - - - - 读 - - - - - 写 - - - - - 加密读请求 - - - - - 可读 - - - - - 加密写请求 - - - - - 可写 - - - - - 回包 - - - - - 订阅 - - - - - 读 - - - - - 写 - - - - - 无回复写 - - - - - 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 - - - - - 蓝牙特征的 UUID - - - - - 蓝牙特征对应服务的 UUID - - - - - 蓝牙特征的 UUID - - - - - 蓝牙特征对应服务的 UUID - - - - - 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 - - - - - 蓝牙特征的 UUID - - - - - 蓝牙特征对应服务的 UUID - - - - - 请求写入特征的二进制数据值 - - - - - service 的 UUID - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 广播自定义参数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 广播功率 - 可选值: - - 'low': 功率低; - - 'medium': 功率适中; - - 'high': 功率高; - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.20.1` - 以 beacon 设备形式广播的参数。 - - - - - 当前设备是否可连接 - - - - - 广播中 deviceName 字段,默认为空 - - - - - 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 - - - - - 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 - - - - - Beacon 设备的主 ID - - - - - Beacon 设备的次 ID - - - - - Beacon 设备广播的 UUID - - - - - 用于判断距离设备 1 米时 RSSI 大小的参考值 - - - - - 制造商ID,0x 开头的十六进制 - - - - - 制造商信息 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 蓝牙特征的 UUID - - - - - 是否需要通知主机 value 已更新 - - - - - 蓝牙特征对应服务的 UUID - - - - - characteristic 对应的二进制值 - - - - - 可选,处理回包时使用 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 图像像素点数据,每四项表示一个像素点的 RGBA - - - - - 图像高度 - - - - - 图像宽度 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 是否返回当前图像的人脸角度信息 - - - - - 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) - - - - - 是否返回多张人脸的信息 - - - - - 是否返回当前图像的人脸(106 个点) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 - - - - - 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) - - - - - 脸部方框数值,对象包含 height, width, originX, originY 四个属性 (origin 为方框左上角坐标) - - - - - 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 - - - - - 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y - - - - - 脸部中心点横坐标,检测不到人脸则为 -1 - - - - - 脸部中心点纵坐标,检测不到人脸则为 -1 - - - - - 仰俯角(点头) - - - - - 翻滚角(左右倾) - - - - - 偏航角(摇头) - - - - - 整体可信度 - - - - - 左眼可信度 - - - - - 嘴巴可信度 - - - - - 鼻子可信度 - - - - - 右眼可信度 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/minigame/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource - 可选值: - - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; - - 'buildInMic': 手机麦克风,仅限 iOS; - - 'headsetMic': 耳机麦克风,仅限 iOS; - - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; - - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; - - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; - - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; - - - - - 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 - - - - - 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 设备特征列表 - - - - - 该特征支持的操作类型 - - - - - 蓝牙设备特征的 UUID - - - - - 该特征是否支持 indicate 操作 - - - - - 该特征是否支持 notify 操作 - - - - - 该特征是否支持 read 操作 - - - - - 该特征是否支持 write 操作 - - - - - 该特征是否支持有回复写操作 - - - - - 该特征是否支持无回复写操作 - - - - - 蓝牙设备 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 信号强度,单位 dBm - - - - - 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 设备服务列表 - - - - - 该服务是否为主服务 - - - - - 蓝牙设备服务的 UUID - - - - - 蓝牙设备 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 写模式 (iOS 特有参数) - 可选值: - - 'write': 有回复写; - - 'writeNoResponse': 无回复写; - - - - - 最大传输单元 - - - - - 缓存数据类别,取值为 periodic 或 pre - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 缓存数据 - - - - - 小程序页面路径 - - - - - 传给页面的 query 参数 - - - - - 进入小程序的场景值 - - - - - 客户端拿到缓存数据的时间戳 ms。(iOS 时间戳存在异常,8.0.27 修复) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结果 - - - - - 自定义的登录态 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 是否正在充电中 - - - - - 设备电量,范围 1 - 100 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 0 | ok | 正常 | - | 11000 | unsupport | 系统或设备不支持 | - | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | - | 11002 | location service unavailable | 位置服务不可用 | - | 11003 | already start | 已经开始搜索 | - | 11004 | not startBeaconDiscovery | 还未开始搜索 | - | 11005 | system error | 系统错误 | - | 11006 | invalid data | 参数不正确 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 0 | ok | 正常 | - | 11000 | unsupport | 系统或设备不支持 | - | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | - | 11002 | location service unavailable | 位置服务不可用 | - | 11003 | already start | 已经开始搜索 | - | 11004 | not startBeaconDiscovery | 还未开始搜索 | - | 11005 | system error | 系统错误 | - | 11006 | invalid data | 参数不正确 | - - - - - Beacon 设备列表 - - - - - Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 - - - - - Beacon 设备的主 ID - - - - - Beacon 设备的次 ID - - - - - 表示设备距离的枚举值(仅iOS) - 可选值: - - 0: 信号太弱不足以计算距离,或非 iOS 设备; - - 1: 十分近; - - 2: 比较近; - - 3: 远; - - - - - 表示设备的信号强度,单位 dBm - - - - - Beacon 设备广播的 UUID - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 蓝牙适配器是否可用 - - - - - 是否正在搜索设备 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - UUID 对应的已连接设备列表 - - - - - 当前蓝牙设备的信号强度,单位 dBm - - - - - 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 - - - - - 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 - - - - - 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) - - - - - 蓝牙设备 id - - - - - 当前蓝牙设备的广播数据段中的 LocalName 数据段 - - - - - 蓝牙设备名称,某些设备可能没有 - - - - - 当前蓝牙设备的广播数据段中的 ServiceData 数据段 - - - - - 视频号 id,以“sph”开头的id,可在视频号助手获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 需要基础库: `2.29.0` - 结束时间,筛选指定时间段的直播。若上传了startTime,未上传endTime,则endTime默认取当前时间 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.29.0` - 起始时间,筛选指定时间段的直播。若上传了endTime,未上传startTime,则startTime默认为0 - - - - - 接口调用成功的回调函数 - - - - - 直播主题 - - - - - 直播 feedId - - - - - 视频号头像 - - - - - 视频号昵称 - - - - - 直播 nonceId - - - - - 需要基础库: `2.29.0` - 除最近的一条直播外,其他的直播列表(注意:每次最多返回按时间戳增序排列的15个直播信息,其中时间最近的那个直播会在接口其他的返回参数中展示,其余的直播会在该字段中展示)。 - - - - - 需要基础库: `2.29.0` - 直播回放状态 - 可选值: - - 0: 未生成; - - 1: 已生成; - - 3: 生成中; - - 6: 已过期; - - - - - 直播状态 - 可选值: - - 2: 直播中; - - 3: 直播结束; - - - - - 视频号 id,以“sph”开头的id,可在视频号助手获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 直播封面 - - - - - 视频号昵称 - - - - - 预告 id - - - - - 需要基础库: `2.24.6` - 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 - - - - - 是否可预约 - - - - - 开始时间 - - - - - 预告状态:0可用 1取消 2已用 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 剪贴板的内容 - - - - - 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 搜索到的设备列表 - - - - - 用于区分设备的 id - - - - - 蓝牙设备名称,某些设备可能没有 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 第三方平台自定义的数据 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 返回的坐标类型 - 可选值: - - 'wgs84': 返回 gps 坐标; - - 'gcj02': 返回 gcj02 坐标; - - - - - 纬度,范围为 -90~90,负数表示南纬 - - - - - 经度,范围为 -180~180,负数表示西经 - - - - - 需要获取的数据指标的对象数组 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 见type表格说明 - - - - - 部分type需要传,见type表格说明 - - - - - 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 包括 GameClubData 在内的加密数据,详见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 加密算法的初始向量 - - - - - 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.7.0` - 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud) - - - - - 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 错误信息 - - - - - 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - AI推理引擎版本 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - - - - - 本机局域网IP地址 - - - - - 本机局域网子网掩码,基础库 2.24.0 开始支持 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.22.1` - 设备是否使用了网络代理 - - - - - 网络类型 - 可选值: - - 'wifi': wifi 网络; - - '2g': 2g 网络; - - '3g': 3g 网络; - - '4g': 4g 网络; - - '5g': 5g 网络; - - 'unknown': Android 下不常见的网络类型; - - 'none': 无网络; - - - - - 信号强弱,单位 dbm - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 是否需要用户授权隐私协议(如果开发者没有在[mp后台-设置-服务内容声明-用户隐私保护指引]中声明隐私收集类型则会返回false;如果开发者声明了隐私收集,且用户之前同意过隐私协议则会返回false;如果开发者声明了隐私收集,且用户还没同意过则返回true;如果用户之前同意过、但后来小程序又新增了隐私收集类型也会返回true) - - - - - 隐私授权协议的名称 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 录屏状态 - 可选值: - - 'on': 开启; - - 'off': 关闭; - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.10.1` - 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 - - - - - [AuthSetting](https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/AuthSetting.html) - 用户授权结果 - - - - - [SubscriptionsSetting](https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/SubscriptionsSetting.html) - 需要基础库: `2.10.1` - 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 - - - - - [AuthSetting](https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/AuthSetting.html) - 在插件中调用时,当前宿主小程序的用户授权结果 - - - - - 订阅消息总开关,true为开启,false为关闭 - - - - - 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html) - ## 注意事项 - - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 - - - - - shareTicket - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `1.9.90` - 超时时间,单位 ms - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 当前占用的空间大小, 单位 KB - - - - - 当前 storage 中所有的 key - - - - - 限制的空间大小,单位 KB - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 显示用户信息的语言 - 可选值: - - 'en': 英文; - - 'zh_CN': 简体中文; - - 'zh_TW': 繁体中文; - - - - - 接口调用成功的回调函数 - - - - - 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 - - - - - 需要基础库: `2.7.0` - 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud) - - - - - 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) - - - - - 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) - - - - - 不包括敏感信息的原始数据字符串,用于计算签名 - - - - - 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - [UserInfo](https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/UserInfo.html) - 用户信息对象,不包含 openid 等敏感信息 - - - - - 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 - - - - - 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - - - - - 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - - - - - 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - 可选值: - - 0: 未知; - - 1: 男性; - - 2: 女性; - - - - - 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - 可选值: - - 'en': 英文; - - 'zh_CN': 简体中文; - - 'zh_TW': 繁体中文; - - - - - 用户昵称 - - - - - 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - - - - - 要获取的 key 列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误码 - 可选值: - - -17008: 非法的 key; - - - - - 错误信息 - - - - - 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud) - - - - - 加密数据,包含互动型托管数据的值。解密后的结果为一个 `KVDataList`,每一项为一个 `KVData`。 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) - - - - - 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#加密数据解密算法) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.7.0` - 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud) - - - - - 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)。解密后得到的数据结构见后文 - - - - - 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.22.1` - 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.11.3` - 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.22.1` - 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 蓝牙设备 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 - - - - - 验证所需的随机字符串 - - - - - 签名,用于验证小游戏的身份 - - - - - 验证所需的时间戳 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.29.0` - 开启后,joinVoIPChat 会同时走 Wi-Fi 和蜂窝网络2种网络模式,保证实时通话体验。 - - - - - 静音设置 - - - - - 房间类型 - 可选值: - - 'voice': 音频房间,用于语音通话; - - 'video': 视频房间,结合 [voip-room](#) 组件可显示成员画面; - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | 当前已在房间内 | | - | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | - | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | - | -1000 | 系统错误 | | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | 当前已在房间内 | | - | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | - | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | - | -1000 | 系统错误 | | - - - - - 是否静音耳机 - - - - - 是否静音麦克风 - - - - - 错误码 - - - - - 调用结果 - - - - - 在此通话中的成员 openId 名单 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `1.9.90` - 超时时间,单位ms - - - - - 错误信息 - - - - - 需要基础库: `2.24.0` - errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/minigame/dev/guide/runtime/debug/PublicErrno.html) - - - - - 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [code2Session](#),使用 code 换取 openid、unionid、session_key 等信息 - - - - - 蓝牙设备 id - - - - - pin 码,Base64 格式。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 超时时间,单位 ms - - - - - 要打开的小程序 appId - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 - 可选值: - - 'develop': 开发版; - - 'trial': 体验版; - - 'release': 正式版; - - - - - 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.onShow.html)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.24.0` - 不reLaunch目标小程序,直接打开目标跳转的小程序退后台时的页面,需满足以下条件:1. 目标跳转的小程序生命周期未被销毁;2. 且目标当次启动的path、query与上次启动相同,apiCategory以wx.getApiCategory接口的返回结果为准。 - - - - - 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.onShow.html) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 - - - - - 需要基础库: `2.18.1` - 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 - - - - - 接口调用成功的回调函数 - - - - - 蓝牙特征的 UUID - - - - - 蓝牙设备 id - - - - - 蓝牙特征对应服务的 UUID - - - - - 是否启用 notify - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.4.0` - 设置特征订阅类型,有效值有 `notification` 和 `indication` - - - - - X 轴 - - - - - Y 轴 - - - - - Z 轴 - - - - - 禁止收藏后长按转发,默认 false - - - - - 转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。显示图片长宽比是 5:4 - - - - - - 收藏标题,不传则默认使用当前小游戏的昵称。 - - - - - 是否处于已连接状态 - - - - - 蓝牙设备 id - - - - - 蓝牙设备 id - - - - - 最大传输单元 - - - - - 连接目前状态 - - - - - 连接状态变化的设备 id - - - - - server 的 UUID - - - - - 缓存数据类别,取值为 periodic 或 pre - - - - - 缓存数据 - - - - - 小游戏页面路径(一般不需要传,除非使用到小游戏独立分包) - - - - - 传给页面的 query 参数 - - - - - 进入小游戏的场景值 - - - - - 客户端拿到缓存数据的时间戳 - - - - - 服务目前是否可用 - - - - - 目前是否处于搜索状态 - - - - - 当前搜寻到的所有 Beacon 设备列表 - - - - - 蓝牙适配器是否可用 - - - - - 蓝牙适配器是否处于搜索状态 - - - - - 新搜索到的设备列表 - - - - - 需要基础库: `2.4.0` - 精度 - - - - - 面对的方向度数 - - - - - 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 - - - - - 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 - - - - - 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 - - - - - 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 - - - - - 切换后的屏幕方向。 - 可选值: - - 'landscape': 横屏正方向,以 HOME 键在屏幕右侧为正方向; - - 'landscapeReverse': 横屏反方向,以 HOME 键在屏幕左侧为反方向; - - - - - 错误 - - - - - 错误调用堆栈 - - - - - 需要传递给接力客户端的 query - - - - - 同 Web 规范 KeyEvent code 属性 - - - - - 同 Web 规范 KeyEvent key 属性 - - - - - 事件触发时的时间戳 - - - - - 键盘输入的当前值 - - - - - 键盘高度 - - - - - 内存告警等级,只有 Android 才有,对应系统宏定义 - 可选值: - - 5: TRIM_MEMORY_RUNNING_MODERATE; - - 10: TRIM_MEMORY_RUNNING_LOW; - - 15: TRIM_MEMORY_RUNNING_CRITICAL; - - - - - 按键类型,0左键,1中键,2右键 - - - - - 事件触发时的时间戳 - - - - - 事件触发时鼠标所在的位置横坐标 - - - - - 事件触发时鼠标所在的位置纵坐标 - - - - - 鼠标横坐标偏移量 - - - - - 鼠标纵坐标偏移量 - - - - - 事件触发时的时间戳 - - - - - 事件触发时鼠标所在的位置横坐标 - - - - - 事件触发时鼠标所在的位置纵坐标 - - - - - 当前是否有网络连接 - - - - - 网络类型 - 可选值: - - 'wifi': wifi 网络; - - '2g': 2g 网络; - - '3g': 3g 网络; - - '4g': 4g 网络; - - '5g': 5g 网络; - - 'unknown': Android 下不常见的网络类型; - - 'none': 无网络; - - - - - 当前网络类型 - - - - - 当前是否处于弱网状态 - - - - - 录屏状态 - 可选值: - - 'start': 开始录屏; - - 'stop': 结束录屏; - - - - - 错误信息 - - - - - 是否成功 - - - - - 转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。(该图片用于分享到朋友圈的卡片以及从朋友圈转发到会话消息的卡片展示) - - - - - 需要基础库: `2.14.3` - 朋友圈预览图链接,不传则默认使用当前游戏画面截图 - - - - - 需要基础库: `2.14.3` - 审核通过的朋友圈预览图图片 ID,详见 [使用审核通过的转发图片](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/share/share.html#使用审核通过的转发图片) - - - - - 审核通过的图片 ID,详见 [使用审核通过的转发图片](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/share/share.html#使用审核通过的转发图片) - - - - - 需要基础库: `2.12.2` - 独立分包路径。详见 [小游戏独立分包指南](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/independent-sub-packages.html) - - - - - - 转发标题,不传则默认使用当前小游戏的昵称。 - - - - - 查询参数 - - - - - 当场景为由从另一个小程序或公众号或App打开时,返回此字段 - - - - - 场景值 - - - - - 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 - 可选值: - - 1: 微信联系人单聊; - - 2: 企业微信联系人单聊; - - 3: 普通微信群聊; - - 4: 企业微信互通群聊; - - - - - shareTicket - - - - - 来源小程序或公众号或App的 appId - - - - - 来源小程序传过来的数据,scene=1037或1038时支持 - - - - - 拒绝原因,一般是一个 Error 对象 - - - - - 错误码 - - - - - 调用结果(错误原因) - - - - - 错误码 - - - - - 调用结果 - - - - - 还在实时语音通话中的成员 openId 名单 - - - - - 错误码 - - - - - 调用结果(错误原因) - - - - - 还在实时语音通话中的成员 openId 名单 - - - - - 事件码 - - - - - 附加信息 - - - - - 错误码 - - - - - 调用结果 - - - - - 滚轮 x 轴方向滚动量 - - - - - 滚轮 y 轴方向滚动量 - - - - - 滚轮 z 轴方向滚动量 - - - - - 事件触发时的时间戳 - - - - - 事件触发时鼠标所在的位置横坐标 - - - - - 事件触发时鼠标所在的位置纵坐标 - - - - - 变化后的窗口高度,单位 px - - - - - 变化后的窗口宽度,单位 px - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.10.0` - 蓝牙模式,可作为主/从设备,仅 iOS 需要。 - 可选值: - - 'central': 主机模式; - - 'peripheral': 从机(外围设备)模式; - - - - - 接口调用成功的回调函数 - - - - - 需要打开的卡券列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 卡券 ID - - - - - - 视频 feedId - - - - - 视频号 id,以“sph”开头的id,可在视频号助手获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 活动 id - - - - - 视频号 id,以“sph”开头的id,可在视频号助手获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 视频号 id,以“sph”开头的id,可在视频号助手获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) - - - - - 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) - - - - - 接口调用成功的回调函数 - - - - - 视频号 id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 企业ID - - - - - 客服信息 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 气泡消息图片 - - - - - 气泡消息小程序路径 - - - - - 气泡消息标题 - - - - - 是否发送小程序气泡消息 - - - - - 接口调用成功的回调函数 - - - - - 客服链接 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 会话内消息卡片图片路径 - - - - - 会话内消息卡片路径 - - - - - 会话内消息卡片标题 - - - - - 会话来源。该字段会在进入客服会话时透传给开发者配置好的后台服务。该字段(utf-8编码)最长不得超过 1000 个字节(不是字符串长度),超过将被截断。 - - - - - 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息 - - - - - 接口调用成功的回调函数 - - - - - 在客服会话内点击小程序消息卡片进入小程序时,所带的小程序打开路径 - - - - - 在客服会话内点击小程序消息卡片进入小程序时,所带的小程序打开参数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.10.3` - 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 - - - - - [AuthSetting](https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/AuthSetting.html) - 用户授权结果 - - - - - [SubscriptionsSetting](https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/SubscriptionsSetting.html) - 需要基础库: `2.10.3` - 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 对局回放的播放速率,只能设置以下几个值: 0.3, 0.5, 1, 1.5, 2, 2.5, 3.其中1表示元素播放,小于1表示减速播放,大于1表示加速播放 - - - - - 如果原始视频文件中有音频,是否与新传入的bgm混音,默认为false,表示不混音,只保留一个音轨,值为true时表示原始音频与传入的bgm混音 - - - - - 对局回放背景音乐的地址 - - - - - 分享的对局回放打开后的描述内容 - - - - - 分享的对局回放打开后跳转小游戏的 path (独立分包路径) - - - - - 分享的对局回放打开后跳转小游戏的 query - - - - - 对局回放的剪辑区间,是一个二维数组,单位 ms(毫秒)。[[1000, 3000], [4000, 5000]] 表示剪辑已录制对局回放的 1-3 秒和 4-5 秒最终合成为一个 3 秒的对局回放。对局回放剪辑后的总时长最多 60 秒,即 1 分钟 - - - - - 分享的对局回放打开后的标题内容 - - - - - 对局回放的音量大小,最小0,最大1 - - - - - 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 当前显示图片的链接 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.13.0` - `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; - - - - - 需要基础库: `2.13.0` - 是否显示长按菜单。 - - - - - 接口调用成功的回调函数 - - - - - 需要预览的资源列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 当前显示的资源序号 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.13.0` - `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; - - - - - 需要基础库: `2.13.0` - 是否显示长按菜单。 - - - - - 接口调用成功的回调函数 - - - - - 图片或视频的地址 - - - - - 视频的封面图片 - - - - - 资源的类型,默认为图片 - 可选值: - - 'image': 图片; - - 'video': 视频; - - - - - 蓝牙特征的 UUID - - - - - 蓝牙设备 id - - - - - 蓝牙特征对应服务的 UUID - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 本地缓存中指定的 key - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 要删除掉 key 列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 场景ID,在「小程序管理后台」获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 此场景的耗时,单位 ms - - - - - 自定义维度数据,key在「小程序管理后台」获取。只支持能够通过JSON.stringify序列化的对象,且序列化后长度不超过1024个字符 - - - - - 接口调用失败的回调函数 - - - - - 自定义指标数据,key在「小程序管理后台」获取。只支持能够通过JSON.stringify序列化的对象,且序列化后长度不超过1024个字符 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误信息 | 说明 | - | - | - | - | ${paramName} should be ${expectType} instead of ${paramType} | 参数的类型需为指定的数据类型 | - | parameter.${paramName} should greater than or equal to zero | 参数的值需要大于等于0 | - | parameter.${paramName}.${key} needs to be a string type and a non-empty string | value仅支持传入非空字符串 | - | parameter.${paramName}.${key} needs to be a numeric value of type string | value仅支持传入纯数值组成的字符串(如:'25') | - | failed to serialize parameter.${paramName} by JSON.stringify | 参数对象序列化失败 | - | parameter.${paramName} cannot exceed 1024 characters | 参数序列化后,字符串长度不可超过1024个字符 | - | report sceneId:${sceneId} repeatedly | 单次启动流程里,场景ID不可重复上报 | - - - - - 错误码 - | 错误信息 | 说明 | - | - | - | - | ${paramName} should be ${expectType} instead of ${paramType} | 参数的类型需为指定的数据类型 | - | parameter.${paramName} should greater than or equal to zero | 参数的值需要大于等于0 | - | parameter.${paramName}.${key} needs to be a string type and a non-empty string | value仅支持传入非空字符串 | - | parameter.${paramName}.${key} needs to be a numeric value of type string | value仅支持传入纯数值组成的字符串(如:'25') | - | failed to serialize parameter.${paramName} by JSON.stringify | 参数对象序列化失败 | - | parameter.${paramName} cannot exceed 1024 characters | 参数序列化后,字符串长度不可超过1024个字符 | - | report sceneId:${sceneId} repeatedly | 单次启动流程里,场景ID不可重复上报 | - - - - - 需要基础库: `2.28.1` - 开发者上报的原始数据 - - - - - 需要基础库: `2.28.1` - 错误信息 - - - - - 需要基础库: `2.28.1` - 开发者上报的原始数据 - - - - - 分支ID,在「小程序管理后台」获取 - - - - - 事件类型,1:曝光; 2:点击 - - - - - 自定义维度,基础库 v2.14.0 开始支持可选 - - - - - 购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyQuantity限制说明)。 - - - - - 币种 - 可选值: - - 'CNY': 人民币; - - - - - 环境配置 - 可选值: - - 0: 米大师正式环境; - - 1: 米大师沙箱环境; - - - - - 支付的类型,不同的支付类型有各自额外要传的附加参数 - 可选值: - - 'game': 购买游戏币; - - - - - 随机字符串,长度应小于 128 - - - - - 在米大师侧申请的应用 id - - - - - 开发者业务订单号,每个订单号只能使用一次,重复使用会失败。要求32个字符内,只能是数字、大小写字母、符号 `_-|*@` - - - - - 申请接入时的平台,platform 与应用id有关。 - 可选值: - - 'android': Android平台; - - - - - 签名 - - - - - 生成这个随机字符串的 UNIX 时间戳(精确到秒) - - - - - 分区 ID - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 1000 | | mode错误 | - | -15005 | | 索要权限被封禁(索要功能不可用) | - | -10073011 | | 参数错误(具体错误见errMsg) | - | -10073003 | | outTradeNo业务单号重复 | - | -10073012 | | 索要单已支付 | - | -10073013 | | 索要单已超时 | - | -10073014 | | 签名错误 | - | -10073015 | | 索要功能不可用 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | 1000 | | mode错误 | - | -15005 | | 索要权限被封禁(索要功能不可用) | - | -10073011 | | 参数错误(具体错误见errMsg) | - | -10073003 | | outTradeNo业务单号重复 | - | -10073012 | | 索要单已支付 | - | -10073013 | | 索要单已超时 | - | -10073014 | | 签名错误 | - | -10073015 | | 索要功能不可用 | - - - - - 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/minigame/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud) - - - - - 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 错误信息 - - - - - 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html) - - - - - 币种 - 可选值: - - 'CNY': 人民币; - - - - - 支付的类型,不同的支付类型有各自额外要传的附加参数。 - 可选值: - - 'game': 购买游戏币; - - - - - 在米大师侧申请的应用 id - - - - - 业务订单号,每个订单号只能使用一次,重复使用会失败。开发者需要确保该订单号在对应游戏下的唯一性,平台会尽可能校验该唯一性约束,但极端情况下可能会跳过对该约束的校验。要求32个字符内,只能是数字、大小写字母、符号_-|*组成,不能以下划线()开头。建议每次调用wx.requestMidasPayment都换新的outTradeNo。若没有传入,则平台会自动填充一个,并以下划线开头 - - - - - 购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyquantity-限制说明)。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 环境配置 - 可选值: - - 0: 米大师正式环境; - - 1: 米大师沙箱环境; - - - - - 接口调用失败的回调函数 - - - - - 申请接入时的平台,platform 与应用id有关。 - 可选值: - - 'android': android; - - - - - 接口调用成功的回调函数 - - - - - 分区 ID - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | | 系统失败 | - | -2 | | 支付取消 | - | -15001 | | 虚拟支付接口错误码,缺少参数 | - | -15002 | | 虚拟支付接口错误码,参数不合法 | - | -15003 | | 虚拟支付接口错误码,订单重复 | - | -15004 | | 虚拟支付接口错误码,后台错误 | - | -15005 | | 虚拟支付接口错误码,appId权限被封禁 | - | -15006 | | 虚拟支付接口错误码,货币类型不支持 | - | -15007 | | 虚拟支付接口错误码,订单已支付 | - | -15009 | | 虚拟支付接口错误码,由于健康系统限制,本次支付已超过限额(这种错误情况会有默认弹窗提示) | - | -15010 | | 虚拟支付接口错误码,正式版小游戏不允许在沙箱环境支付 | - | 1 | | 虚拟支付接口错误码,用户取消支付 | - | 2 | | 虚拟支付接口错误码,客户端错误,判断到小程序在用户处于支付中时,又发起了一笔支付请求 | - | 3 | | 虚拟支付接口错误码,Android独有错误:用户使用GooglePlay支付,而手机未安装GooglePlay | - | 4 | | 虚拟支付接口错误码,用户操作系统支付状态异常 | - | 5 | | 虚拟支付接口错误码,操作系统错误 | - | 6 | | 虚拟支付接口错误码,其他错误 | - | 7 | | 虚拟支付接口错误码,支付取消 | - | 1000 | | 参数错误 | - | 1001 | | 分区未发布 | - | 1003 | | 米大师Portal错误 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | | 系统失败 | - | -2 | | 支付取消 | - | -15001 | | 虚拟支付接口错误码,缺少参数 | - | -15002 | | 虚拟支付接口错误码,参数不合法 | - | -15003 | | 虚拟支付接口错误码,订单重复 | - | -15004 | | 虚拟支付接口错误码,后台错误 | - | -15005 | | 虚拟支付接口错误码,appId权限被封禁 | - | -15006 | | 虚拟支付接口错误码,货币类型不支持 | - | -15007 | | 虚拟支付接口错误码,订单已支付 | - | -15009 | | 虚拟支付接口错误码,由于健康系统限制,本次支付已超过限额(这种错误情况会有默认弹窗提示) | - | -15010 | | 虚拟支付接口错误码,正式版小游戏不允许在沙箱环境支付 | - | 1 | | 虚拟支付接口错误码,用户取消支付 | - | 2 | | 虚拟支付接口错误码,客户端错误,判断到小程序在用户处于支付中时,又发起了一笔支付请求 | - | 3 | | 虚拟支付接口错误码,Android独有错误:用户使用GooglePlay支付,而手机未安装GooglePlay | - | 4 | | 虚拟支付接口错误码,用户操作系统支付状态异常 | - | 5 | | 虚拟支付接口错误码,操作系统错误 | - | 6 | | 虚拟支付接口错误码,其他错误 | - | 7 | | 虚拟支付接口错误码,支付取消 | - | 1000 | | 参数错误 | - | 1001 | | 分区未发布 | - | 1003 | | 米大师Portal错误 | - - - - - 错误码 - - - - - 错误信息 - - - - - 调用成功信息 - - - - - 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用失败错误码 - - - - - 接口调用失败错误信息 - - - - - [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 - - - 接口调用成功时errMsg值为'requestSubscribeMessage:ok' - - - - - 系统订阅消息类型列表,一次调用最多可订阅3种类型的消息,目前支持两种类型,"SYS_MSG_TYPE_INTERACTIVE"(好友互动提醒)、"SYS_MSG_TYPE_RANK"(排行榜超越提醒) - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - [MSG_TYPE]是动态的键,即系统订阅消息类型,值为'accept'、'reject'、'ban','accept'表示用户同意订阅该类型对应的模板消息,'reject'表示用户拒绝订阅该类型对应的模板消息,'ban'表示已被后台封禁。例如 { errMsg: "requestSubscribeSystemMessage:ok", SYS_MSG_TYPE_INTERACTIVE: "accept" } 表示用户同意订阅'SYS_MSG_TYPE_INTERACTIVE'这条消息 - - - 接口调用成功时errMsg值为'requestSubscribeSystemMessage:ok' - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 打开的页面路径,path 中 ? 后面的部分会成为 query - - - - - 接口调用成功的回调函数 - - - - - 待保存文件路径 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `1.2.0` - 是否只能从相机扫码,不允许从相册选择图片 - - - - - 需要基础库: `1.7.0` - 扫码类型 - 可选值: - - 'barCode': 一维码; - - 'qrCode': 二维码; - - 'datamatrix': Data Matrix 码; - - 'pdf417': PDF417 条码; - - - - - 接口调用成功的回调函数 - - - - - 所扫码的字符集 - - - - - 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path - - - - - 原始数据,base64编码 - - - - - 所扫码的内容 - - - - - 所扫码的类型 - 可选值: - - 'QR_CODE': 二维码; - - 'AZTEC': 一维码; - - 'CODABAR': 一维码; - - 'CODE_39': 一维码; - - 'CODE_93': 一维码; - - 'CODE_128': 一维码; - - 'DATA_MATRIX': 二维码; - - 'EAN_8': 一维码; - - 'EAN_13': 一维码; - - 'ITF': 一维码; - - 'MAXICODE': 一维码; - - 'PDF_417': 二维码; - - 'RSS_14': 一维码; - - 'RSS_EXPANDED': 一维码; - - 'UPC_A': 一维码; - - 'UPC_E': 一维码; - - 'UPC_EAN_EXTENSION': 一维码; - - 'WX_CODE': 二维码; - - 'CODE_25': 一维码; - - - - - 蓝牙设备 id - - - - - 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 - - - - - 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 - - - - - 自定义的登录态 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 剪贴板的内容 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 表示切换为横屏还是竖屏 - 可选值: - - 'landscape': 横屏; - - 'portrait': 竖屏; - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 是否打开调试 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 - - - - - (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 - - - - - true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 - - - - - 接口调用成功的回调函数 - - - - - 是否保持屏幕常亮 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 样式风格 - 可选值: - - 'light': 浅色; - - 'dark': 深色; - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 样式风格 - 可选值: - - 'white': 白色; - - 'black': 浅色; - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 要修改的 KV 数据列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 数据的 key - - - - - 数据的 value - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 - - - - - 转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。显示图片长宽比是 5:4 - - - - - 需要基础库: `2.4.3` - 审核通过的图片 ID,详见 [使用审核通过的转发图片](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/share/share.html#使用审核通过的转发图片) - - - - - 需要基础库: `2.12.2` - 独立分包路径。详见 [小游戏独立分包指南](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/independent-sub-packages.html) - - - - - - 转发标题,不传则默认使用当前小游戏的昵称。 - - - - - 需要基础库: `2.12.2` - 是否转发到当前群。该参数只对从群工具栏打开的场景下生效,默认转发到当前群,填入false时可转发到其他会话。 - - - - - 按钮的文字数组,数组长度最大为 6 - - - - - 需要基础库: `2.14.0` - 警示文案 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 按钮的文字颜色 - - - - - 接口调用成功的回调函数 - - - - - 用户点击的按钮序号,从上到下的顺序,从0开始 - - - - - 当点击完成时键盘是否收起 - - - - - 键盘右下角 confirm 按钮的类型,只影响按钮的文本内容 - 可选值: - - 'done': 完成; - - 'next': 下一个; - - 'search': 搜索; - - 'go': 前往; - - 'send': 发送; - - - - - 键盘输入框显示的默认值 - - - - - 键盘中文本的最大长度 - - - - - 是否为多行输入 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 提示的内容 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 是否显示透明蒙层,防止触摸穿透 - - - - - 接口调用成功的回调函数 - - - - - 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 - - - - - 取消按钮的文字,最多 4 个字符 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 - - - - - 确认按钮的文字,最多 4 个字符 - - - - - 提示的内容 - - - - - 需要基础库: `2.17.1` - 是否显示输入框 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.17.1` - 显示输入框时的提示文本 - - - - - 是否显示取消按钮 - - - - - 接口调用成功的回调函数 - - - - - 提示的标题 - - - - - 需要基础库: `1.1.0` - 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) - - - - - 为 true 时,表示用户点击了确定按钮 - - - - - editable 为 true 时,用户输入的文本 - - - - - 要分享的图片地址,必须为本地路径或临时路径 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 需要基础库: `3.2.0` - 从消息小程序入口打开小程序的路径,如果当前页面允许分享给朋友,则默认为当前页面路径,否则默认为小程序首页 - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `3.2.0` - 分享的图片消息是否要带小程序入口 - - - - - 需要基础库: `3.2.0` - 分享样式,可选 v2 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.11.3` - 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 - - - - - 接口调用成功的回调函数 - - - - - 是否使用带 shareTicket 的转发[详情](#) - - - - - 提示的内容 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 提示的延迟时间 - - - - - 接口调用失败的回调函数 - - - - - 图标 - 可选值: - - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度; - - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度; - - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度; - - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; - - - - - 需要基础库: `1.1.0` - 自定义图标的本地路径,image 的优先级高于 icon - - - - - 是否显示透明蒙层,防止触摸穿透 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.1.0` - 监听加速度数据回调函数的执行频率 - 可选值: - - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - - 'normal': 普通的回调频率,在 200ms/次 左右; - - - - - 接口调用成功的回调函数 - - - - - Beacon 设备广播的 UUID 列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 - - - - - 接口调用成功的回调函数 - - - - - 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 - - - - - 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。 - 可选值: - - 'low': 低; - - 'medium': 中; - - 'high': 高; - - - - - 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 监听设备方向的变化回调函数的执行频率 - 可选值: - - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - - 'normal': 普通的回调频率,在 200ms/次 左右; - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 键盘输入框的当前值 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.4.0` - 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/minigame/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 需要基础库: `2.13.0` - 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/share/private-message.html) - - - - - 需要基础库: `2.4.0` - 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/share/updatable-message.html) - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.4.0` - 动态消息的模板信息 - - - - - 需要基础库: `2.11.0` - 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/minigame/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](#) - - - - - 是否使用带 shareTicket 的转发[详情](#) - - - - - 参数列表 - - - - - 参数名 - - - - - 参数值 - - - - - 静音设置 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.13.0` - 震动强度类型,有效值为:heavy、medium、light - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - 可选值: - - 'style is not support': 当前设备不支持设置震动等级; - - - - - 蓝牙特征的 UUID - - - - - 蓝牙设备 id - - - - - 蓝牙特征对应服务的 UUID - - - - - 蓝牙设备特征对应的二进制值 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持) - 可选值: - - 'write': 强制回复写,不支持时报错; - - 'writeNoResponse': 强制无回复写,不支持时报错; - - - - - 自定义query - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - - - - - 用户是否有直播权限 - - - - - 当前直播状态 - state 合法值: - menuClick 用户点击右上角直播按钮 - start 开始直播 - end 直播结束 - - - - - 当前直播id,只在 state 是 start 时会返回 (基础库v2.19.2开始支持) - - - - - - 是否正在直播 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 最近几场直播的 feedId 列表 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 包括敏感数据在内的完整转发信息的加密数据,详细见加密数据解密算法 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html - - - - - 加密算法的初始向量,详细见加密数据解密算法 - - - - - 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 - - - - - 最近几场直播的 feedId 列表 - - - - - 错误信息 - - - - - 要查询的直播的id - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 支持填写最多4个openid,该用户的直播间将在直播专区置顶显示;可不填 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 用于打开指定游戏内容页面的开放链接 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 支付原串 - - - - - 支付签名 - - - - - 用户态签名 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - 错误信息 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | | 系统失败 | - | -2 | | 支付取消 | - | -15001 | | 虚拟支付接口错误码,缺少参数 | - | -15002 | | 虚拟支付接口错误码,参数不合法 | - | -15003 | | 虚拟支付接口错误码,订单重复 | - | -15004 | | 虚拟支付接口错误码,后台错误 | - | -15005 | | 虚拟支付接口错误码,appId权限被封禁 | - | -15006 | | 虚拟支付接口错误码,货币类型不支持 | - | -15007 | | 虚拟支付接口错误码,订单已支付 | - | -15009 | | 虚拟支付接口错误码,由于健康系统限制,本次支付已超过限额(这种错误情况会有默认弹窗提示) | - | -15010 | | 虚拟支付接口错误码,正式版小游戏不允许在沙箱环境支付 | - | 1 | | 虚拟支付接口错误码,用户取消支付 | - | 2 | | 虚拟支付接口错误码,客户端错误,判断到小程序在用户处于支付中时,又发起了一笔支付请求 | - | 3 | | 虚拟支付接口错误码,Android独有错误:用户使用GooglePlay支付,而手机未安装GooglePlay | - | 4 | | 虚拟支付接口错误码,用户操作系统支付状态异常 | - | 5 | | 虚拟支付接口错误码,操作系统错误 | - | 6 | | 虚拟支付接口错误码,其他错误 | - | 7 | | 虚拟支付接口错误码,支付取消 | - | 1000 | | 参数错误 | - | 1001 | | 分区未发布 | - | 1003 | | 米大师Portal错误 | - - - - - 错误码 - | 错误码 | 错误信息 | 说明 | - | - | - | - | - | -1 | | 系统失败 | - | -2 | | 支付取消 | - | -15001 | | 虚拟支付接口错误码,缺少参数 | - | -15002 | | 虚拟支付接口错误码,参数不合法 | - | -15003 | | 虚拟支付接口错误码,订单重复 | - | -15004 | | 虚拟支付接口错误码,后台错误 | - | -15005 | | 虚拟支付接口错误码,appId权限被封禁 | - | -15006 | | 虚拟支付接口错误码,货币类型不支持 | - | -15007 | | 虚拟支付接口错误码,订单已支付 | - | -15009 | | 虚拟支付接口错误码,由于健康系统限制,本次支付已超过限额(这种错误情况会有默认弹窗提示) | - | -15010 | | 虚拟支付接口错误码,正式版小游戏不允许在沙箱环境支付 | - | -15012 | | 虚拟支付接口错误码,小游戏用户态签名错误 | - | -15014 | | 虚拟支付接口错误码,小游戏支付签名错误 | - | -15015 | | sessionkey过期 | - | -15016 | | goodsprice道具价格错误 | - | 1 | | 虚拟支付接口错误码,用户取消支付 | - | 2 | | 虚拟支付接口错误码,客户端错误,判断到小程序在用户处于支付中时,又发起了一笔支付请求 | - | 3 | | 虚拟支付接口错误码,Android独有错误:用户使用GooglePlay支付,而手机未安装GooglePlay | - | 4 | | 虚拟支付接口错误码,用户操作系统支付状态异常 | - | 5 | | 虚拟支付接口错误码,操作系统错误 | - | 6 | | 虚拟支付接口错误码,其他错误 | - | 7 | | 虚拟支付接口错误码,支付取消 | - | 1000 | | 参数错误 | - | 1001 | | 分区未发布 | - | 1003 | | 米大师Portal错误 | - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - 接口调用成功的回调函数 - - - - - code - - - - - 错误信息 - - - - - 要打开的业务类型,目前仅支持 'servicecommentpage' - - - - - 调用成功、失败都会执行 - - - - - 评价失败的回调 - - - - - 评价成功的回调 - - - - - 帧数据 - - - - - 帧数据高度 - - - - - 帧原始 dts - - - - - 帧原始 pts - - - - - 帧数据宽度 - - - - - 向开放数据域发送消息 - - 要发送的消息 - - - - [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html) - 需要基础库: `2.14.4` - 添加过滤关键字,暂不支持在插件使用 - - - - - [RealtimeLogManager.error()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.error.html) - 需要基础库: `2.14.4` - 写 error 日志,暂不支持在插件使用 - - - - - [RealtimeLogManager.info()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.info.html) - 需要基础库: `2.14.4` - 写 info 日志,暂不支持在插件使用 - - - - - [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html) - 需要基础库: `2.14.4` - 设置过滤关键字,暂不支持在插件使用 - - - - - [RealtimeLogManager.warn()](https://developers.weixin.qq.com/minigame/dev/api/base/debug/RealtimeLogManager.warn.html) - 需要基础库: `2.14.4` - 写 warn 日志,暂不支持在插件使用 - - - - - 录音分片数据 - - - - - 当前帧是否正常录音结束前的最后一帧 - - - - - 录音分片数据长度 - - - - - 当前帧是否正常录音结束前的最后一帧 - - - - - 录音总时长,单位:ms - - - - - 录音文件大小,单位:Byte - - - - - 录音文件的临时路径 (本地路径) - - - - - 需要基础库: `2.1.0` - 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/minigame/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源 - 可选值: - - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; - - 'buildInMic': 手机麦克风,仅限 iOS; - - 'headsetMic': 有线耳机麦克风,仅限 iOS; - - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; - - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; - - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; - - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; - - - - - 录音的时长,单位 ms,最大值 600000(10 分钟) - - - - - 编码码率,有效值见下表格 - - - - - 音频格式 - 可选值: - - 'mp3': mp3 格式; - - 'aac': aac 格式; - - 'wav': wav 格式; - - 'PCM': pcm 格式; - - - - - 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 - - - - - 录音通道数 - 可选值: - - 1: 1 个通道; - - 2: 2 个通道; - - - - - 采样率(pc不支持) - 可选值: - - 8000: 8000 采样率; - - 11025: 11025 采样率; - - 12000: 12000 采样率; - - 16000: 16000 采样率; - - 22050: 22050 采样率; - - 24000: 24000 采样率; - - 32000: 32000 采样率; - - 44100: 44100 采样率; - - 48000: 48000 采样率; - - - - - 激励视频广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/rewarded-video-ad.html - - - - - 加载激励视频广告 - - - - - 监听用户点击 关闭广告 按钮的事件。 - - 用户点击 关闭广告 按钮的事件的回调函数 - - - - 取消监听用户点击 关闭广告 按钮的事件 - - 用户点击 关闭广告 按钮的事件的回调函数 - - - - 上报行为 - 需要基础库: `2.24.5` - - - - - - 获取启动剧情C#侧交互句柄 - - 微信启动剧情交互句柄 - - - - [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.bindWifi.html) - 需要基础库: `3.1.1` - 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) - - - - - [TCPSocket.close()](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.close.html) - 关闭连接 - - - - - [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.connect.html) - 在给定的套接字上启动连接 - - - - - [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offBindWifi.html) - 需要基础库: `3.1.1` - 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - TCPSocket.onBindWifi(listener) - TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offClose.html) - 移除一旦 socket 完全关闭就发出该事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - TCPSocket.onClose(listener) - TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offConnect.html) - 移除当一个 socket 连接成功建立的时候触发该事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - TCPSocket.onConnect(listener) - TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offError.html) - 移除当错误发生时触发的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - TCPSocket.onError(listener) - TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.offMessage.html) - 移除当接收到数据的时触发该事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - TCPSocket.onMessage(listener) - TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onBindWifi.html) - 需要基础库: `3.1.1` - 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 - - - - - [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onClose.html) - 监听一旦 socket 完全关闭就发出该事件 - - - - - [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onConnect.html) - 监听当一个 socket 连接成功建立的时候触发该事件 - - - - - [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onError.html) - 监听当错误发生时触发 - - - - - [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.onMessage.html) - 监听当接收到数据的时触发该事件 - needInfo: 是否需要返回localInfo和remoteInfo,设置为 false 时这两个字段会返回null,设置为 true 会降低性能,请按需使用 - 多次使用OnMessage时needInfo以第一个OnMessage为准,OffMessage()移除所有回调后再次OnMessage可重新设置needInfo - - - - - [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/minigame/dev/api/network/tcp/TCPSocket.write.html) - 在 socket 上发送数据 - - - - - [UDPSocket.close()](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.close.html) - 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 - - - - - [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.connect.html) - 需要基础库: `2.15.0` - 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 - - - - - [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.offClose.html) - 移除关闭事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - UDPSocket.onClose(listener) - UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.offError.html) - 移除错误事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - UDPSocket.onError(listener) - UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.offListening.html) - 移除开始监听数据包消息的事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - UDPSocket.onListening(listener) - UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.offMessage.html) - 移除收到消息的事件的监听函数 - **示例代码** - ```js - const listener = function (res) { console.log(res) } - UDPSocket.onMessage(listener) - UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 - ``` - - - - - [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.onClose.html) - 监听关闭事件 - - - - - [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.onError.html) - 监听错误事件 - - - - - [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.onListening.html) - 监听开始监听数据包消息的事件 - - - - - [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.onMessage.html) - 监听收到消息的事件 - needInfo: 是否需要返回localInfo和remoteInfo,设置为 false 时这两个字段会返回null,设置为 true 会降低性能,请按需使用 - 多次使用OnMessage时needInfo以第一个OnMessage为准,OffMessage()移除所有回调后再次OnMessage可重新设置needInfo - - - - - [UDPSocket.send(Object object)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.send.html) - 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 - - - - - [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.setTTL.html) - 需要基础库: `2.18.0` - 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 - - - - - [UDPSocket.write()](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.write.html) - 需要基础库: `2.15.0` - 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) - - - - - [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/minigame/dev/api/network/udp/UDPSocket.bind.html) - 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 - - - - - [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.applyUpdate.html) - 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。 - **示例代码** - [示例代码](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.html#示例代码) - - - - - [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.onCheckForUpdate.html) - 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。 - **示例代码** - [示例代码](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.html#示例代码) - - - - - [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.onUpdateFailed.html) - 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调 - **示例代码** - [示例代码](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.html#示例代码) - - - - - [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.onUpdateReady.html) - 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 - **示例代码** - [示例代码](https://developers.weixin.qq.com/minigame/dev/api/base/update/UpdateManager.html#示例代码) - - - - - 要上传文件资源的路径 (本地路径) - - - - - 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 - - - - - 开发者服务器地址 - - - - - 接口调用结束的回调函数(调用成功、失败都会执行) - - - - - 接口调用失败的回调函数 - - - - - HTTP 请求中其他额外的 form data - - - - - HTTP 请求 Header,Header 中不能设置 Referer - - - - - 接口调用成功的回调函数 - - - - - 需要基础库: `2.10.0` - 超时时间,单位为毫秒 - - - - - 开发者服务器返回的数据 - - - - - 开发者服务器返回的 HTTP 状态码 - - - - - 开发者服务器返回的 HTTP Response Header - - - - - 上传进度百分比 - - - - - 预期需要上传的数据总长度,单位 Bytes - - - - - 已经上传的数据长度,单位 Bytes - - - - - 销毁用户信息按钮 - - - - - 隐藏用户信息按钮。 - - - - - 取消监听用户信息按钮的点击事件 - - - - - 监听用户信息按钮的点击事件 - - - - - - 显示用户信息按钮 - - - - - 内部函数,请不要调用 - - - - - - 视频的资源地址 - - - - - 视频的封面 - - - - - 视频的左上角横坐标 - - - - - 视频的左上角纵坐标 - - - - - 视频的宽度 - - - - - 视频的高度 - - - - - Gets a value indicating whether 是否正在播放 - - - - - 播放视频 - - - - - 监听视频播放事件 - - - - - 取消监听视频播放事件,action 为空表示移除全部事件监听 - - - - - 监听视频播放到末尾事件 - - - - - 取消监听视频播放到末尾事件 - - - - - 监听视频错误事件 - - - - - 取消监听视频错误事件,action 为空表示移除全部事件监听 - - - - - 监听视频暂停事件 - - - - - 取消监听视频暂停事件,action 为空表示移除全部事件监听 - - - - - 监听视频由于需要缓冲下一帧而停止时触发 - - - - - 取消监听视频由于需要缓冲下一帧而停止时触发,action 为空表示移除全部事件监听 - - - - - 销毁当前实例 - - - - - 视频退出全屏 - - - - - 暂停 - - - - - 视频全屏 - - 设置全屏时视频的方向 0: 正常竖向, 90: 屏幕逆时针90度 . -90: 屏幕顺时针90度 - - - - 视频跳转 - - 视频跳转到指定位置,单位为 s 秒 - - - - 停止视频 - - - - - 监听视频播放进度更新事件 - - - - - - 取消监听视频播放进度更新事件,action 为空表示移除全部事件监听 - - - - - 监听视频下载(缓冲)事件 - - - - - - 取消监听视频下载(缓冲)事件 ,action 为空表示移除全部事件监听 - - - - - [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.getFrameData.html) - 需要基础库: `2.11.1` - 获取下一帧的解码数据 - - - - - [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.remove.html) - 需要基础库: `2.11.1` - 移除解码器 - - - - - [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.seek.html) - 需要基础库: `2.11.1` - 跳到某个时间点解码 - - - - - [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.start.html) - 需要基础库: `2.11.1` - 开始解码 - - - - - [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.stop.html) - 需要基础库: `2.11.1` - 停止解码 - - - - - [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.off.html) - 需要基础库: `2.11.1` - 取消监听录制事件。当对应事件触发时,该回调函数不再执行 - - - - - [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/minigame/dev/api/media/video-decoder/VideoDecoder.on.html) - 需要基础库: `2.11.1` - 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 - - - - diff --git a/Runtime/Plugins/wx-runtime-editor.xml.meta b/Runtime/Plugins/wx-runtime-editor.xml.meta deleted file mode 100644 index 4b043917..00000000 --- a/Runtime/Plugins/wx-runtime-editor.xml.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6bf52e9083aa64bd283bc6ef45ac77fa -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Plugins/wx-runtime.dll b/Runtime/Plugins/wx-runtime.dll index 925cbb93b7d35f76849f537041cc0f3429d5432e..6db27b73e5c51f98e73937c875cbbb89a087b5c6 100644 GIT binary patch delta 47 zcmZp8A<*zbU_u9zus~y1YZqf{7t_`*=D3RjRcyfmI|^D{rbn%nZG7a$yZy&SW{xBP D#bgr< delta 47 zcmZp8A<*zbU_uAeRkOyf)-J}@E~c$r%yAb5cuM_Qb>{^*&Es2B5qrfdfBTP%%p6Go D-02gH diff --git a/Runtime/Plugins/wx-runtime.dll.meta b/Runtime/Plugins/wx-runtime.dll.meta index e482aa2d..1d4eb740 100644 --- a/Runtime/Plugins/wx-runtime.dll.meta +++ b/Runtime/Plugins/wx-runtime.dll.meta @@ -12,11 +12,11 @@ PluginImporter: validateReferences: 1 platformData: - first: - '': Any + : Any second: enabled: 0 settings: - Exclude Editor: 1 + Exclude Editor: 0 Exclude Linux: 1 Exclude Linux64: 1 Exclude LinuxUniversal: 1 @@ -33,7 +33,7 @@ PluginImporter: - first: Editor: Editor second: - enabled: 0 + enabled: 1 settings: CPU: AnyCPU DefaultValueInitialized: true @@ -61,7 +61,7 @@ PluginImporter: second: enabled: 0 settings: - CPU: x86_64 + CPU: None - first: Standalone: LinuxUniversal second: @@ -73,19 +73,19 @@ PluginImporter: second: enabled: 0 settings: - CPU: AnyCPU + CPU: None - first: Standalone: Win second: enabled: 0 settings: - CPU: AnyCPU + CPU: None - first: Standalone: Win64 second: enabled: 0 settings: - CPU: AnyCPU + CPU: None - first: WebGL: WebGL second: diff --git a/Runtime/WxWasmSDKRuntime.asmdef b/Runtime/WxWasmSDKRuntime.asmdef index 525f386b..6b933424 100644 --- a/Runtime/WxWasmSDKRuntime.asmdef +++ b/Runtime/WxWasmSDKRuntime.asmdef @@ -1,9 +1,7 @@ { "name": "Wx", "rootNamespace": "", - "references": [ - "GUID:39e0a8d734341a748a11d45f50641371" - ], + "references": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": false,