Auto-publish.

This commit is contained in:
nebulaliu 2026-04-08 20:47:17 +08:00
parent f67e7851c3
commit 0584b46aea
195 changed files with 1043 additions and 2468 deletions

View File

@ -6,32 +6,6 @@ Removed - 删除功能/接口
Fixed - 修复问题
Others - 其他
-->
## 2026-3-15 v0.1.32 【普通更新】
### Feature
* 普通:更新基础库版本
* 普通擂台赛api新增subScoreKey参数
* 普通支持gameeventreport试玩
* 普通添加WX数据保护插件支持游戏数据加密存储和篡改检测
### Fixed
* 普通:修复订阅消息报错问题
## 2026-1-13 v0.1.31 【普通更新】
### Fixed
* 普通修复glx模式下 createVideo underGameView为true 黑屏的问题
* 普通修复build profile在团结1.6之后的导出问题
## 2025-11-6 v0.1.30 【重要更新】
### Feature
* 重要EmscriptenGLX支持微信压缩纹理
* 普通EmscriptenGLX支持Android glReadpixels
* 普通EmscriptenGLX优化Android CPU与功耗
* 普通Metal高帧率下功耗优化
* 普通团结引擎buildprofile支持
### Fixed
* 重要Metal编码库batch size修复
* 普通PageManager相关问题修复
* 普通iOS18的微信字体修复
## 2025-9-8 v0.1.29 【重要更新】
### Feature
* 普通本地缓存存在时UnityWebRequest支持同步方式(APIwx.SetSyncReadCacheEnabled)以加快读取速度

View File

@ -1,4 +1,4 @@
#if TUANJIE_1_6_OR_NEWER
#if TUANJIE_1_4_OR_NEWER
using System;
using System.IO;
using System.Collections;

View File

@ -1,4 +1,4 @@
#if TUANJIE_1_6_OR_NEWER
#if TUANJIE_1_4_OR_NEWER
using System;
using System.Collections.Generic;
using System.IO;

View File

@ -1,4 +1,4 @@
#if TUANJIE_1_6_OR_NEWER
#if TUANJIE_1_4_OR_NEWER
using System;
using System.Collections;
using System.Collections.Generic;
@ -52,6 +52,12 @@ namespace WeChatWASM
public override BuildMiniGameError Build(BuildProfile buildProfile, BuildOptions options)
{
var bcLibPath = Path.GetFullPath(Path.Combine("Packages", "com.qq.weixin.minigame", "Editor", "BuildProfile", "lib", "libwx-metal-cpp.bc"));
var jsLibPath = Path.GetFullPath(Path.Combine("Packages", "com.qq.weixin.minigame", "Editor", "BuildProfile", "lib", "mtl_library.jslib"));
string libPath = bcLibPath + ';' + jsLibPath;
EditorUtility.SetMiniGameGfxLibraryPath(libPath);
WeixinMiniGameSettings settings = buildProfile.miniGameSettings as WeixinMiniGameSettings;
BuildMiniGameError buildMiniGameError = BuildMiniGameError.Unknown;
@ -121,7 +127,7 @@ namespace WeChatWASM
if (Directory.Exists(absolutePath))
PlayerSettings.MiniGame.SetTemplatePath_Internal(playerSettings, $"PATH:{absolutePath}");
PlayerSettings.MiniGame.SetThreadsSupport_Internal(playerSettings, false);
PlayerSettings.MiniGame.SetThreadsSupport_Internal(playerSettings, true);
PlayerSettings.MiniGame.SetCompressionFormat_Internal(playerSettings, MiniGameCompressionFormat.Disabled);
PlayerSettings.MiniGame.SetLinkerTarget_Internal(playerSettings, MiniGameLinkerTarget.Wasm);
PlayerSettings.MiniGame.SetDataCaching_Internal(playerSettings, false);

View File

@ -28,20 +28,13 @@ namespace WeChatWASM
{
string templateHeader = "PROJECT:";
#if TUANJIE_2022_3_OR_NEWER
PlayerSettings.WeixinMiniGame.threadsSupport = false;
PlayerSettings.WeixinMiniGame.threadsSupport = WXConvertCore.EnableRenderThread;
PlayerSettings.runInBackground = false;
PlayerSettings.WeixinMiniGame.compressionFormat = WeixinMiniGameCompressionFormat.Disabled;
if(UnityUtil.GetEngineVersion() == UnityUtil.EngineVersion.Tuanjie)
{
var absolutePath = Path.GetFullPath("Packages/com.qq.weixin.minigame/WebGLTemplates/WXTemplate2022TJ");
if (!Directory.Exists(absolutePath))
{
PlayerSettings.WeixinMiniGame.template = $"{templateHeader}WXTemplate2022TJ";
}
else
{
PlayerSettings.WeixinMiniGame.template = $"PATH:{absolutePath}";
}
PlayerSettings.WeixinMiniGame.template = $"PATH:{absolutePath}";
}
else
{
@ -85,6 +78,8 @@ namespace WeChatWASM
public static string miniGameDir = "minigame"; // 生成小游戏的目录
public static string audioDir = "Assets"; // 音频资源目录
public static string frameworkDir = "framework";
public static string frameworkFilename = "webgl.wasm.framework.unityweb.js";
public static string wasmWorkerIndexFilename = "webgl.worker.js";
public static string dataFileSize = string.Empty;
public static string codeMd5 = string.Empty;
public static string dataMd5 = string.Empty;
@ -122,6 +117,13 @@ namespace WeChatWASM
return config.CompileOptions.enableEmscriptenGLX;
}
}
public static bool EnableRenderThread
{
get
{
return config.CompileOptions.enableRenderThread;
}
}
// public static void SetPlayableEnabled(bool enabled)
// {
// isPlayableBuild = enabled;
@ -228,9 +230,6 @@ namespace WeChatWASM
{
var rootPath = Directory.GetParent(Application.dataPath).FullName;
string webglDir = WXExtEnvDef.GETDEF("WEIXINMINIGAME") ? "WeixinMiniGame" : "WebGL";
#if PLATFORM_PLAYABLEADS
webglDir = "PlayableAds";
#endif
symFile1 = Path.Combine(rootPath, "Library", "Bee", "artifacts", webglDir, "build", "debug_WebGL_wasm", "build.js.symbols");
}
WeChatWASM.UnityUtil.preprocessSymbols(symFile1, GetWebGLSymbolPath());
@ -356,9 +355,7 @@ namespace WeChatWASM
{
// WxPerfJsBridge.jslib
var wxPerfJSBridgeImporter = AssetImporter.GetAtPath(wxPerfPlugins[0]) as PluginImporter;
#if PLATFORM_PLAYABLEADS
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.PlayableAds, config.CompileOptions.enablePerfAnalysis);
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, config.CompileOptions.enablePerfAnalysis);
#else
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WebGL, config.CompileOptions.enablePerfAnalysis);
@ -371,10 +368,7 @@ namespace WeChatWASM
bool bShouldEnablePerf2022Plugin = config.CompileOptions.enablePerfAnalysis && IsCompatibleWithUnity202203OrNewer();
var wxPerf2022Importer = AssetImporter.GetAtPath(wxPerfPlugins[1]) as PluginImporter;
#if PLATFORM_PLAYABLEADS
wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, bShouldEnablePerf2022Plugin);
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, bShouldEnablePerf2022Plugin);
#else
wxPerf2022Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, bShouldEnablePerf2022Plugin);
@ -387,9 +381,7 @@ namespace WeChatWASM
bool bShouldEnablePerf2021Plugin = config.CompileOptions.enablePerfAnalysis && IsCompatibleWithUnity202102To202203();
var wxPerf2021Importer = AssetImporter.GetAtPath(wxPerfPlugins[2]) as PluginImporter;
#if PLATFORM_PLAYABLEADS
wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, bShouldEnablePerf2021Plugin);
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, bShouldEnablePerf2021Plugin);
#else
wxPerf2021Importer.SetCompatibleWithPlatform(BuildTarget.WebGL, bShouldEnablePerf2021Plugin);
@ -589,9 +581,7 @@ namespace WeChatWASM
Debug.LogError("Lua Adaptor Importer Not Found: " + maybeBuildFile);
continue;
}
#if PLATFORM_PLAYABLEADS
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.PlayableAds, shouldBuild);
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, shouldBuild);
#else
wxPerfJSBridgeImporter.SetCompatibleWithPlatform(BuildTarget.WebGL, shouldBuild);
@ -641,12 +631,7 @@ namespace WeChatWASM
else
{
#if TUANJIE_2022_3_OR_NEWER
if(EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame
#if PLATFORM_PLAYABLEADS
&& EditorUserBuildSettings.activeBuildTarget != BuildTarget.PlayableAds
#endif
)
EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame);
EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame);
#endif
}
Emit(LifeCycle.afterSwitchActiveBuildTarget);
@ -669,7 +654,7 @@ namespace WeChatWASM
PlayerSettings.SetGraphicsAPIs(BuildTarget.WeixinMiniGame, new GraphicsDeviceType[] { GraphicsDeviceType.Metal, GraphicsDeviceType.OpenGLES2 });
}
}
else
else
{
if (config.CompileOptions.Webgl2)
{
@ -693,54 +678,96 @@ namespace WeChatWASM
#endif
}
public static int SeekFunctionEnd(string input, int lastIndex)
{
int braceCount = 0;
while (input[lastIndex] != '{')
{
lastIndex++;
}
braceCount = 1;
++lastIndex;
while (lastIndex < input.Length && braceCount > 0)
{
if (input[lastIndex] == '{')
{
++braceCount;
}
else if (input[lastIndex] == '}')
{
--braceCount;
}
++lastIndex;
}
return lastIndex;
}
/// <summary>
/// 移除输入js代码字符串中所有以prefix为前缀的函数的函数体function与函数名之间仅允许有一个空格
/// 扫一遍代码把带删除前缀的函数删除把带替换前缀的替换成调sdk的接口function与函数名之间仅允许有一个空格
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="prefix">函数前缀</param>
/// <param name="removePrefix">要删除函数的名字前缀</param
/// <param name="replacePrefix">要替换函数的前缀</param>>
/// <returns>处理后的字符串</returns>
public static string RemoveFunctionsWithPrefix(string input, string prefix)
public static string ReplaceOrRemoveFunctionsWithPrefix(string input, string[] removePrefixes, string[] replacePrefixes)
{
StringBuilder output = new StringBuilder();
int braceCount = 0;
int lastIndex = 0;
int index = input.IndexOf("function " + prefix);
int index = input.IndexOf("function ");
while (index != -1)
{
output.Append(input, lastIndex, index - lastIndex);
lastIndex = index;
while (input[lastIndex] != '{')
index = input.IndexOf("(", lastIndex);
if (index == -1)
{
lastIndex++;
break;
}
braceCount = 1;
++lastIndex;
while (braceCount > 0)
bool shouldRemove = false;
bool shouldReplace = false;
string funcName = input.Substring(lastIndex + 9, index - lastIndex - 9).TrimStart();
for (int i = 0; i < removePrefixes.Length; ++i)
{
if (input[lastIndex] == '{')
if (funcName.Contains(removePrefixes[i]))
{
++braceCount;
shouldRemove = true;
break;
}
else if (input[lastIndex] == '}')
{
--braceCount;
}
++lastIndex;
}
index = input.IndexOf("function " + prefix, lastIndex);
if (shouldRemove)
{
lastIndex = SeekFunctionEnd(input, index);
index = lastIndex < input.Length ? input.IndexOf("function ", lastIndex) : -1;
continue;
}
for (int i = 0; i < replacePrefixes.Length; ++i)
{
if (funcName.Contains(replacePrefixes[i]))
{
shouldReplace = true;
break;
}
}
if (shouldReplace)
{
lastIndex = SeekFunctionEnd(input, index);
index = lastIndex < input.Length ? input.IndexOf("function ", lastIndex) : -1;
output.Append("var " + funcName + " = window.WXWASMSDK." + funcName + " ? window.WXWASMSDK." + funcName + " : () => console.warn(\"unimplemented:" + funcName + "\", jsStackTrace());");
continue;
}
index = input.IndexOf("function ", index);
}
if (lastIndex < input.Length)
{
output.Append(input, lastIndex, input.Length - lastIndex);
}
output.Append(input, lastIndex, input.Length - lastIndex);
return output.ToString();
}
private static bool CheckBuildTemplate()
{
string[] res = BuildTemplate.CheckCustomCoverBaseConflict(
@ -814,7 +841,7 @@ namespace WeChatWASM
private static void ConvertDotnetFrameworkCode()
{
var target = "webgl.wasm.framework.unityweb.js";
var target = frameworkFilename;
var dotnetJsPath =
Path.Combine(config.ProjectConf.DST, webglDir, "Code", "wwwroot", "_framework", "dotnet.js");
var dotnetJs = File.ReadAllText(dotnetJsPath, Encoding.UTF8);
@ -838,7 +865,7 @@ namespace WeChatWASM
UnityUtil.DelectDir(Path.Combine(config.ProjectConf.DST, miniGameDir));
string text = String.Empty;
var target = "webgl.wasm.framework.unityweb.js";
var target = frameworkFilename;
if (WXExtEnvDef.GETDEF("UNITY_2020_1_OR_NEWER"))
{
if (UseIL2CPP)
@ -856,6 +883,16 @@ namespace WeChatWASM
{
text = File.ReadAllText(Path.Combine(config.ProjectConf.DST, webglDir, "Build", "webgl.wasm.framework.unityweb"), Encoding.UTF8);
}
string[] removePrefixes = new string[] {
"jsAudio",
};
string[] replacePrefixes = new string[] {
"_JS_Video_",
"_JS_Sound_",
"_JS_MobileKeyboard_",
"_JS_MobileKeybard_"
};
text = ReplaceOrRemoveFunctionsWithPrefix(text, removePrefixes, replacePrefixes);
int i;
for (i = 0; i < ReplaceRules.rules.Length; i++)
{
@ -869,20 +906,12 @@ namespace WeChatWASM
text = Regex.Replace(text, rule.old, rule.newStr);
}
}
EditorUtility.ClearProgressBar();
string[] prefixs =
{
"_JS_Video_",
//"jsVideo",
"_JS_Sound_",
"jsAudio",
"_JS_MobileKeyboard_",
"_JS_MobileKeybard_"
};
foreach (var prefix in prefixs)
if (EnableRenderThread)
{
text = RemoveFunctionsWithPrefix(text, prefix);
text = ReplaceByRegex(text, ReplaceRules.MainThreadRules(), "MainThreadReplaceRules");
}
EditorUtility.ClearProgressBar();
#if PLATFORM_WEIXINMINIGAME
if (PlayerSettings.WeixinMiniGame.exceptionSupport == WeixinMiniGameExceptionSupport.None)
#else
@ -1080,7 +1109,7 @@ namespace WeChatWASM
#if UNITY_6000_0_OR_NEWER
// 从小游戏转换工具里无法直接开启wasm2023特性 会导致转出的webgl异常所以强制关闭
PlayerSettings.WebGL.wasm2023 = false;
#endif
#endif
#if UNITY_2021_2_OR_NEWER
#if UNITY_2022_1_OR_NEWER
@ -1119,11 +1148,7 @@ namespace WeChatWASM
}
#endif
#if TUANJIE_2022_3_OR_NEWER
if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame
#if PLATFORM_PLAYABLEADS
&& EditorUserBuildSettings.activeBuildTarget != BuildTarget.PlayableAds
#endif
)
if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame)
{
UnityEngine.Debug.LogFormat("[Builder] Current target is: {0}, switching to: {1}", EditorUserBuildSettings.activeBuildTarget, BuildTarget.WeixinMiniGame);
if (!EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.WeixinMiniGame, BuildTarget.WeixinMiniGame))
@ -1134,11 +1159,8 @@ namespace WeChatWASM
}
var projDir = Path.Combine(config.ProjectConf.DST, webglDir);
#if PLATFORM_PLAYABLEADS
var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.PlayableAds, option);
#else
var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option);
#endif
if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
{
UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WeixinMiniGame.emscriptenArgs);
@ -1264,6 +1286,10 @@ namespace WeChatWASM
int code = GenerateBinFile();
if (code == 0)
{
if (EnableRenderThread)
{
ConvertForThread();
}
convertDataPackage(false);
UnityEngine.Debug.LogFormat("[Converter] All done!");
//ShowNotification(new GUIContent("转换完成"));
@ -2277,9 +2303,7 @@ namespace WeChatWASM
{
var importer = AssetImporter.GetAtPath(jsLibs[i]) as PluginImporter;
bool value = i == index;
#if PLATFORM_PLAYABLEADS
importer.SetCompatibleWithPlatform(BuildTarget.PlayableAds, value);
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
importer.SetCompatibleWithPlatform(BuildTarget.WeixinMiniGame, value);
#else
importer.SetCompatibleWithPlatform(BuildTarget.WebGL, value);
@ -2316,7 +2340,18 @@ namespace WeChatWASM
return "";
#endif
}
public static string ReplaceByRegex(string text, Rule[] rules, string file)
{
for (int i = 0; i < rules.Length; i++)
{
var rule = rules[i];
if (ShowMatchFailedWarning(text, rule.old, file) == false)
{
text = Regex.Replace(text, rule.old, rule.newStr);
}
}
return text;
}
public static bool ShowMatchFailedWarning(string text, string rule, string file)
{
if (Regex.IsMatch(text, rule) == false)
@ -2326,6 +2361,28 @@ namespace WeChatWASM
}
return false;
}
public static void ConvertForThread()
{
string workerDir = Path.Combine(config.ProjectConf.DST, miniGameDir, "workers", "response");
string workerFrameworkPath = Path.Combine(workerDir, frameworkFilename);
string workerIndexPath = Path.Combine(workerDir, wasmWorkerIndexFilename);
// 拷贝胶水层到worker里并替换
File.Copy(Path.Combine(config.ProjectConf.DST, miniGameDir, frameworkFilename), workerFrameworkPath);
string text = File.ReadAllText(workerFrameworkPath, Encoding.UTF8);
text = ReplaceByRegex(text, ReplaceRules.WorkerThreadRules(), "WorkerThreadReplaceRules");
text += ReplaceRules.WorkerThreadFooter;
File.WriteAllText(workerFrameworkPath, text);
// 拷贝worker.js到worker里并替换
File.Copy(Path.Combine(config.ProjectConf.DST, webglDir, "Build", wasmWorkerIndexFilename), workerIndexPath);
text = File.ReadAllText(workerIndexPath, Encoding.UTF8);
text = ReplaceByRegex(text, ReplaceRules.WorkerIndexRules(), "WorkerIndexReplaceRules");
text += ReplaceRules.WorkerIndexFooter;
File.WriteAllText(workerIndexPath, text);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,270 @@
using UnityEngine;
using UnityEditor;
using System.IO;
using System;
namespace WeChatWASM
{
/// <summary>
/// 多包融合工具面板
/// UI层实现业务逻辑调用 WXMultiPackageMergeCore
/// 纯C#实现无需Node.js
/// </summary>
public class WXMultiPackageMergeWindow : EditorWindow
{
// 开发调试插件ID由 preview:robot 自动更新
private const string DevPluginId = "fa0437c7ef2edbeccceea93cec2b68d6";
private static WXEditorScriptObject config;
private Vector2 scrollPosition;
private bool foldStPackage = true;
private bool foldMtPackage = true;
private bool foldMergeOptions = true;
private bool foldAdvancedOptions = true;
[MenuItem("微信小游戏 / 多包融合工具", false, 2)]
public static void Open()
{
var win = GetWindow(typeof(WXMultiPackageMergeWindow), false, "多包融合工具");
win.minSize = new Vector2(500, 600);
win.position = new Rect(100, 100, 700, 800);
win.Show();
}
private void OnEnable()
{
LoadConfig();
}
private void OnFocus()
{
LoadConfig();
}
private void LoadConfig()
{
if (config == null)
{
config = UnityUtil.GetEditorConf();
}
if (config.MultiPackageMerge == null)
{
config.MultiPackageMerge = new MultiPackageMergeConfig();
}
}
private void SaveConfig()
{
if (config != null)
{
EditorUtility.SetDirty(config);
}
}
public void OnGUI()
{
LoadConfig();
scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
GUILayout.Space(10);
EditorGUILayout.LabelField("多包融合工具", new GUIStyle(EditorStyles.largeLabel) { fontSize = 18, fontStyle = FontStyle.Bold });
EditorGUILayout.LabelField("将单线程包(ST)和多线程包(MT)融合为一个支持多线程的小游戏", EditorStyles.wordWrappedLabel);
GUILayout.Space(10);
// ST包配置
foldStPackage = EditorGUILayout.Foldout(foldStPackage, "ST包配置 (单线程包)", true, EditorStyles.foldoutHeader);
if (foldStPackage)
{
EditorGUILayout.BeginVertical("box");
EditorGUILayout.LabelField("ST包路径", EditorStyles.boldLabel);
EditorGUILayout.BeginHorizontal();
config.MultiPackageMerge.stPackagePath = EditorGUILayout.TextField(config.MultiPackageMerge.stPackagePath);
if (GUILayout.Button("选择", GUILayout.Width(60)))
{
string path = EditorUtility.OpenFolderPanel("选择ST包目录", config.MultiPackageMerge.stPackagePath, "");
if (!string.IsNullOrEmpty(path))
{
config.MultiPackageMerge.stPackagePath = path;
SaveConfig();
}
}
if (GUILayout.Button("打开", GUILayout.Width(60)) && !string.IsNullOrEmpty(config.MultiPackageMerge.stPackagePath) && Directory.Exists(config.MultiPackageMerge.stPackagePath))
{
EditorUtility.RevealInFinder(config.MultiPackageMerge.stPackagePath);
}
EditorGUILayout.EndHorizontal();
GUILayout.Space(5);
EditorGUILayout.LabelField("ST构建模式", EditorStyles.boldLabel);
string[] stModes = new string[] { "standard (标准模式)", "split (代码分包模式)" };
int stModeIndex = config.MultiPackageMerge.stMode == "split" ? 1 : 0;
stModeIndex = EditorGUILayout.Popup(stModeIndex, stModes);
config.MultiPackageMerge.stMode = stModeIndex == 1 ? "split" : "standard";
EditorGUILayout.EndVertical();
}
GUILayout.Space(10);
// MT包配置
foldMtPackage = EditorGUILayout.Foldout(foldMtPackage, "MT包配置 (多线程包)", true, EditorStyles.foldoutHeader);
if (foldMtPackage)
{
EditorGUILayout.BeginVertical("box");
EditorGUILayout.LabelField("MT包路径", EditorStyles.boldLabel);
EditorGUILayout.BeginHorizontal();
config.MultiPackageMerge.mtPackagePath = EditorGUILayout.TextField(config.MultiPackageMerge.mtPackagePath);
if (GUILayout.Button("选择", GUILayout.Width(60)))
{
string path = EditorUtility.OpenFolderPanel("选择MT包目录", config.MultiPackageMerge.mtPackagePath, "");
if (!string.IsNullOrEmpty(path))
{
config.MultiPackageMerge.mtPackagePath = path;
SaveConfig();
}
}
if (GUILayout.Button("打开", GUILayout.Width(60)) && !string.IsNullOrEmpty(config.MultiPackageMerge.mtPackagePath) && Directory.Exists(config.MultiPackageMerge.mtPackagePath))
{
EditorUtility.RevealInFinder(config.MultiPackageMerge.mtPackagePath);
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.EndVertical();
}
GUILayout.Space(10);
// 融合选项
foldMergeOptions = EditorGUILayout.Foldout(foldMergeOptions, "融合选项", true, EditorStyles.foldoutHeader);
if (foldMergeOptions)
{
EditorGUILayout.BeginVertical("box");
// 融合模式固定使用 seperateJsCode (JS分离模式)
config.MultiPackageMerge.mergeMode = "seperateJsCode";
// 分离文件列表和存放方式已注释,使用默认的 topDir 模式
// if (config.MultiPackageMerge.mergeMode == "seperateJsCode")
// {
// GUILayout.Space(5);
// EditorGUILayout.LabelField("分离文件列表 (逗号分隔)", EditorStyles.boldLabel);
// config.MultiPackageMerge.seperateFileList = EditorGUILayout.TextField(config.MultiPackageMerge.seperateFileList);
//
// GUILayout.Space(5);
// EditorGUILayout.LabelField("分离文件存放方式", EditorStyles.boldLabel);
// string[] seperateModes = new string[] { "subDir (子目录)", "topDir (顶层目录)" };
// int seperateModeIndex = config.MultiPackageMerge.seperateMode == "topDir" ? 1 : 0;
// seperateModeIndex = EditorGUILayout.Popup(seperateModeIndex, seperateModes);
// config.MultiPackageMerge.seperateMode = seperateModeIndex == 1 ? "topDir" : "subDir";
// }
// 强制使用 topDir 模式
config.MultiPackageMerge.seperateMode = "topDir";
GUILayout.Space(5);
EditorGUILayout.LabelField("输出目录", EditorStyles.boldLabel);
EditorGUILayout.BeginHorizontal();
config.MultiPackageMerge.outputPath = EditorGUILayout.TextField(config.MultiPackageMerge.outputPath);
if (GUILayout.Button("选择", GUILayout.Width(60)))
{
string path = EditorUtility.OpenFolderPanel("选择输出目录", config.MultiPackageMerge.outputPath, "");
if (!string.IsNullOrEmpty(path))
{
config.MultiPackageMerge.outputPath = path;
SaveConfig();
}
}
if (GUILayout.Button("打开", GUILayout.Width(60)) && !string.IsNullOrEmpty(config.MultiPackageMerge.outputPath) && Directory.Exists(config.MultiPackageMerge.outputPath))
{
EditorUtility.RevealInFinder(config.MultiPackageMerge.outputPath);
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.EndVertical();
}
// 高级选项仅在非 release 模式下显示
#if !RELEASE
GUILayout.Space(10);
// 高级选项
foldAdvancedOptions = EditorGUILayout.Foldout(foldAdvancedOptions, "高级选项", true, EditorStyles.foldoutHeader);
if (foldAdvancedOptions)
{
EditorGUILayout.BeginVertical("box");
EditorGUILayout.LabelField("开发插件 ID (devPluginId)", EditorStyles.boldLabel);
EditorGUILayout.LabelField("用于开发调试的插件 ID发布时请使用正式插件 ID", EditorStyles.miniLabel);
config.MultiPackageMerge.devPluginId = EditorGUILayout.TextField(config.MultiPackageMerge.devPluginId);
EditorGUILayout.EndVertical();
}
#endif
GUILayout.Space(20);
// 操作按钮
EditorGUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
GUI.backgroundColor = new Color(0.2f, 0.8f, 0.2f);
if (GUILayout.Button("开始融合", GUILayout.Width(150), GUILayout.Height(40)))
{
StartMerge();
}
GUI.backgroundColor = Color.white;
GUILayout.FlexibleSpace();
EditorGUILayout.EndHorizontal();
GUILayout.Space(20);
// 说明文档
EditorGUILayout.LabelField("使用说明:", EditorStyles.boldLabel);
EditorGUILayout.LabelField(
"1. 准备ST包(单线程包)和MT包(多线程包)\n" +
"2. 分别选择两个包的路径\n" +
"3. 配置融合选项\n" +
"4. 点击\"开始融合\"按钮\n" +
"5. 融合完成后在输出目录查看结果",
EditorStyles.wordWrappedLabel);
EditorGUILayout.EndScrollView();
// 实时保存
if (GUI.changed)
{
SaveConfig();
}
}
private void StartMerge()
{
// 验证配置
if (!WXMultiPackageMergeCore.ValidateConfig(config.MultiPackageMerge, out string errorMessage))
{
EditorUtility.DisplayDialog("错误", errorMessage, "确定");
return;
}
SaveConfig();
// 调用融合逻辑
WXMultiPackageMergeCore.ExecuteMerge(
config.MultiPackageMerge,
onOutput: (log) => UnityEngine.Debug.Log(log),
onError: (error) => UnityEngine.Debug.LogError(error),
onSuccess: () =>
{
EditorUtility.DisplayDialog("成功", $"多包融合完成!\n输出目录: {config.MultiPackageMerge.outputPath}", "确定");
EditorUtility.RevealInFinder(config.MultiPackageMerge.outputPath);
},
onFailed: (error) =>
{
EditorUtility.DisplayDialog("错误", $"融合失败:\n{error}", "确定");
}
);
}
}
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3a449d1fb46d1b8520f764dc46a52f5c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,7 +2,7 @@ namespace WeChatWASM
{
public class WXPluginVersion
{
public static string pluginVersion = "202603160259"; // 这一行不要改他,导出的时候会自动替换
public static string pluginVersion = "202604081246"; // 这一行不要改他,导出的时候会自动替换
}
public class WXPluginConf

Binary file not shown.

View File

@ -664,6 +664,11 @@
是否开启 WebAssembly2023特性
</summary>
</member>
<member name="F:WeChatWASM.CompileOptions.enableRenderThread">
<summary>
是否使用多线程
</summary>
</member>
<member name="F:WeChatWASM.FontOptions.CJK_Unified_Ideographs">
<summary>
基本汉字 [0x4e00, 0x9fff] https://www.unicode.org/charts/PDF/U4E00.pdf
@ -759,6 +764,51 @@
自定义需要的Unicode字符
</summary>
</member>
<member name="T:WeChatWASM.MultiPackageMergeConfig">
<summary>
多包融合配置
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.stPackagePath">
<summary>
ST包路径单线程包
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.mtPackagePath">
<summary>
MT包路径多线程包
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.stMode">
<summary>
ST模式standard 或 split
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.mergeMode">
<summary>
融合模式standard / seperateJsCode默认使用 seperateJsCode
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.seperateFileList">
<summary>
JS分离模式下的文件列表逗号分隔
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.seperateMode">
<summary>
JS分离存放方式subDir / topDir
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.outputPath">
<summary>
融合输出目录
</summary>
</member>
<member name="F:WeChatWASM.MultiPackageMergeConfig.devPluginId">
<summary>
开发插件 IDdevPluginId
</summary>
</member>
<member name="F:WeChatWASM.WXEditorScriptObject.CompressTexture">
<summary>
压缩纹理配置
@ -774,6 +824,73 @@
字体配置
</summary>
</member>
<member name="F:WeChatWASM.WXEditorScriptObject.MultiPackageMerge">
<summary>
多包融合配置
</summary>
</member>
<member name="T:WeChatWASM.WXMultiPackageMergeCore">
<summary>
多包融合核心逻辑类
提供多包融合的业务逻辑不包含UI相关代码
使用纯C#实现无需Node.js
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeCore.ValidateConfig(WeChatWASM.MultiPackageMergeConfig,System.String@)">
<summary>
验证融合配置
</summary>
<param name="config">融合配置</param>
<param name="errorMessage">错误信息输出</param>
<returns>是否验证通过</returns>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeCore.ExecuteMerge(WeChatWASM.MultiPackageMergeConfig,System.Action{System.String},System.Action{System.String},System.Action,System.Action{System.String})">
<summary>
执行多包融合
</summary>
<param name="config">融合配置</param>
<param name="onOutput">输出回调(日志)</param>
<param name="onError">错误回调</param>
<param name="onSuccess">成功回调</param>
<param name="onFailed">失败回调</param>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeCore.ParseSeperateFileList(System.String)">
<summary>
解析分离文件列表
</summary>
</member>
<member name="T:WeChatWASM.WXMultiPackageMergeEngine">
<summary>
多包融合引擎 - 纯C#实现
替代原Node.js工具的功能
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeEngine.Execute(WeChatWASM.WXMultiPackageMergeEngine.MergeOptions,System.Action{System.String})">
<summary>
执行多包融合
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeEngine.MergeJsonData(LitJson.JsonData,LitJson.JsonData,System.String)">
<summary>
递归合并两个 JsonDatasource 优先target 补充,冲突时打日志
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeEngine.CreateSubpackage(System.String,System.String)">
<summary>
创建分包配置对象
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeEngine.FormatJson(System.String)">
<summary>
简单的 JSON 格式化
</summary>
</member>
<member name="M:WeChatWASM.WXMultiPackageMergeEngine.InsertMtGameJsConfig(System.String)">
<summary>
为 MT 包的 game-mt.js 插入额外配置字段
在 CODE_FILE_MD5 之前插入 useOffscreenCanvas 和 CODE_MODULE_NAME
</summary>
</member>
<member name="F:WeChatWASM.WXPlayableProjectConf.projectName">
<summary>
试玩项目名

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7330c57dbe403f6a6825fe311f4436ca
guid: 7006a5c591c2e63a2f0bdb755a321651
DefaultImporter:
externalObjects: {}
userData:

View File

@ -10,9 +10,7 @@ internal class DisableKeyboardInput : MonoBehaviour
private static void OnGameLaunch()
{
#if !UNITY_EDITOR
#if PLATFORM_PLAYABLEADS
PlayableAdsInput.mobileKeyboardSupport = false;
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
WeixinMiniGameInput.mobileKeyboardSupport = false;
#elif PLATFORM_WEBGL
#if UNITY_2022_1_OR_NEWER

View File

@ -627,9 +627,6 @@ mergeInto(LibraryManager.library, {
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
},
WXSetSyncReadCacheEnabled: function(enabled) {
window.WXWASMSDK.WXSetSyncReadCacheEnabled(enabled);
},
WXGetPluginCachePath: function() {
var returnStr = window.WXWASMSDK.WXGetPluginCachePath();
var bufferSize = lengthBytesUTF8(returnStr || '') + 1;

View File

@ -1,6 +1,5 @@
mergeInto(LibraryManager.library, {
JSStartGameDataMonitor: function() {
if (!Module.IsWxGame) return;
console.log("call JSStartGameDataMonitor \n");
if (typeof GameGlobal.manager.getGameDataMonitor === 'function')

Binary file not shown.

Binary file not shown.

View File

@ -4,91 +4,6 @@
<name>wx-runtime-editor</name>
</assembly>
<members>
<member name="T:WeChatWASM.GameProtect.Monitor.WXDataPluginExample">
<summary>
WX数据保护插件使用示例
演示如何使用数据保护功能来保护游戏中的重要数值
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example1_BasicUsage">
<summary>
示例1基础用法 - 存储和读取数据
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example2_SafeGet">
<summary>
示例2安全获取数据推荐方式
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example3_ComplexObject">
<summary>
示例3存储复杂对象
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example4_DataManagement">
<summary>
示例4数据管理
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.OnDataTampered(System.Object,WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
<summary>
数据篡改事件处理
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.HandleTampering(WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
<summary>
处理数据篡改
</summary>
</member>
<member name="T:WeChatWASM.GameProtect.Monitor.PlayerStats">
<summary>
示例:玩家属性数据结构
注意:使用 JsonUtility 序列化时,必须使用公共字段
</summary>
</member>
<member name="T:WeChatWASM.GameProtect.Monitor.GameCurrencyManager">
<summary>
游戏货币管理器示例
封装常用的货币操作,简化调用
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.Init(System.Int32,System.Int32)">
<summary>
初始化货币数据
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetCoins">
<summary>
获取金币数量
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddCoins(System.Int32)">
<summary>
增加金币
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendCoins(System.Int32)">
<summary>
消费金币
</summary>
<returns>是否消费成功</returns>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetDiamonds">
<summary>
获取钻石数量
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddDiamonds(System.Int32)">
<summary>
增加钻石
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendDiamonds(System.Int32)">
<summary>
消费钻石
</summary>
<returns>是否消费成功</returns>
</member>
<member name="T:WeChatWASM.WXBannerAd">
<summary>
Banner 广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/banner-ad.html
@ -3204,47 +3119,6 @@
 是否结束
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.eventId">
<summary>
事件ID开发者自行维护必需
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.costTime">
<summary>
事件耗时单位ms可选不填时为0
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.result">
<summary>
事件结果,默认成功(可选)不填时默认成功
</summary>
</member>
<member name="T:WeChatWASM.ReportGameEventResult">
<summary>
reportGameEvent的事件类型
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventResult.Success">
<summary>
成功事件
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventResult.Fail">
<summary>
失败事件
</summary>
</member>
<member name="F:WeChatWASM.PageManagerCallbackResult.errCode">
<summary>
错误码,文档可见 https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html
</summary>
</member>
<member name="F:WeChatWASM.PageManagerCallbackResult.errMsg">
<summary>
错误信息
</summary>
</member>
<!-- Badly formed XML comment ignored for member "F:WeChatWASM.PageManagerEventResult.isRecommended" -->
<member name="F:WeChatWASM.LoadOption.openlink">
<summary>
从不同渠道获得的OPENLINK字符串
@ -3270,7 +3144,6 @@
结果对象的json字符串各项为实验的相关信息
</summary>
</member>
<!-- Badly formed XML comment ignored for member "F:WeChatWASM.RankManagerStartEventResult.scoreKey" -->
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
错误信息
@ -3410,7 +3283,7 @@
需要基础库: `2.10.0`
小程序版本
可选值:
- 'develop': 开发版,提交代码审核时默认使用开发版进行审核。;
- 'develop': 开发版;
- 'trial': 体验版;
- 'release': 正式版;
</summary>
@ -3486,11 +3359,6 @@
允许微信读写日历的开关
</summary>
</member>
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
<summary>
PC 内核版本号,仅在 PC 端存在该值
</summary>
</member>
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
<summary>
客户端基础库版本
@ -3593,14 +3461,6 @@
<member name="F:WeChatWASM.DeviceInfo.platform">
<summary>
客户端平台
可选值:
- 'ios': iOS微信包含 iPhone、iPad;
- 'android': Android微信;
- 'ohos': HarmonyOS 手机端微信;
- 'ohos_pc': HarmonyOS PC微信;
- 'windows': Windows微信;
- 'mac': macOS微信;
- 'devtools': 微信开发者工具;
</summary>
</member>
<member name="F:WeChatWASM.DeviceInfo.system">
@ -3608,16 +3468,6 @@
操作系统及版本
</summary>
</member>
<member name="F:WeChatWASM.DirectAdStatusInfo.isInDirectGameAd">
<summary>
当前是否处于直接广告中
</summary>
</member>
<member name="F:WeChatWASM.DirectAdStatusInfo.isInMask">
<summary>
当前是否处于蒙层阶段
</summary>
</member>
<member name="F:WeChatWASM.EnterOptionsGame.apiCategory">
<summary>
需要基础库: `2.20.0`
@ -3684,11 +3534,6 @@
直播间 id
</summary>
</member>
<member name="F:WeChatWASM.LaunchOptionsGame.hostExtraData">
<summary>
宿主传递的数据,第三方 app 中运行小游戏时返回
</summary>
</member>
<member name="F:WeChatWASM.LaunchOptionsGame.query">
<summary>
启动小游戏的 query 参数
@ -3719,11 +3564,6 @@
shareTicket详见[获取更多转发信息](#)
</summary>
</member>
<member name="F:WeChatWASM.HostExtraData.host_scene">
<summary>
宿主app对应的场景值
</summary>
</member>
<member name="F:WeChatWASM.ClientRect.bottom">
<summary>
下边界坐标单位px
@ -3754,86 +3594,11 @@
宽度单位px
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.challengeRewardsComponentInfo">
<summary>
擂台赛组件领奖信息
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.notificationComponentInfo">
<summary>
通知组件信息
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.rewardsComponentInfo">
<summary>
福利组件信息
</summary>
</member>
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.name">
<summary>
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.receiveDetail">
<summary>
领取事件详情只在onOfficialComponentsInfoChange回调中返回
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.awardResult">
<summary>
奖励领取结果1-全部成功, 2-部分成功(礼物达到领取上限), 3-领奖失败
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.receivedRareReward">
<summary>
是否收到了稀有奖励
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.userSourceList">
<summary>
用户领取的奖励列表
</summary>
</member>
<member name="F:WeChatWASM.UserSource.sourceType">
<summary>
奖励类型0-道具礼包, 1-微信蓝包, 2-h5商家券, 3-现金红包, 4-小程序券, 5-盲盒
</summary>
</member>
<member name="F:WeChatWASM.UserSource.source">
<summary>
奖励来源信息
</summary>
</member>
<member name="F:WeChatWASM.UserSource.sourceNum">
<summary>
获取的奖励数量
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.propList">
<summary>
道具列表
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.type">
<summary>
奖励类型1-普通奖励, 2-稀有奖励
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.sourceName">
<summary>
礼包名称
</summary>
</member>
<member name="F:WeChatWASM.PropInfo.propName">
<summary>
道具名称
</summary>
</member>
<member name="F:WeChatWASM.PropInfo.propNum">
<summary>
道具数量
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentInfo.boundingClientRect">
<summary>
组件的布局位置信息
@ -3849,46 +3614,6 @@
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveFriendGiftCount">
<summary>
可领取的好友礼包数量
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveGiftCount">
<summary>
可领取的礼包数量
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.name">
<summary>
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.receiveDetail">
<summary>
领取事件详情只在onOfficialComponentsInfoChange回调中返回
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.desc">
<summary>
礼包描述,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.icon">
<summary>
礼包图标,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.name">
<summary>
礼包名称,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.type">
<summary>
gift: 礼包, friendGift: 好友礼包
</summary>
</member>
<member name="F:WeChatWASM.GetStorageInfoSyncOption.currentSize">
<summary>
当前占用的空间大小, 单位 KB
@ -4035,8 +3760,7 @@
可选值:
- 'ios': iOS微信包含 iPhone、iPad;
- 'android': Android微信;
- 'ohos': HarmonyOS 手机端微信;
- 'ohos_pc': HarmonyOS PC微信;
- 'ohos': HarmonyOS微信;
- 'windows': Windows微信;
- 'mac': macOS微信;
- 'devtools': 微信开发者工具;
@ -4691,36 +4415,6 @@
是否被添加至 「我的小程序」
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentFailCallbackErr.errMsg">
<summary>
错误信息
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.data">
<summary>
支付支持信息对象
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.errMsg">
<summary>
调用结果信息,格式为 "checkIsSupportMidasPayment:ok"
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.allow_pay">
<summary>
是否支持支付true 表示支持false 表示不支持
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_code">
<summary>
错误码0 表示成功
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_msg">
<summary>
错误信息,"success" 表示成功
</summary>
</member>
<member name="F:WeChatWASM.ChooseImageOption.count">
<summary>
最多可以选择的图片张数
@ -5889,22 +5583,22 @@
预告状态0可用 1取消 2已用
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.cloudID">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.cloudID">
<summary>
敏感数据对应的云 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)
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.encryptedData">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.encryptedData">
<summary>
包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.errMsg">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.errMsg">
<summary>
错误信息
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.iv">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.iv">
<summary>
加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
</summary>
@ -5999,21 +5693,6 @@
实验参数数组,不填则获取所有实验参数
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.expt_id">
<summary>
实验ID标识实验
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.param_name">
<summary>
参数名称
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.param_value">
<summary>
参数值
</summary>
</member>
<member name="F:WeChatWASM.GetGroupEnterInfoOption.allowSingleChat">
<summary>
需要基础库: `3.7.8`
@ -6135,67 +5814,6 @@
本机局域网子网掩码,基础库 2.24.0 开始支持
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.altitude">
<summary>
需要基础库: `1.6.0`
传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.highAccuracyExpireTime">
<summary>
需要基础库: `2.9.0`
高精度定位超时时间(ms)指定时间内返回最高精度该值3000ms以上高精度定位才有效果
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.isHighAccuracy">
<summary>
需要基础库: `2.9.0`
开启高精度定位
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.type">
<summary>
wgs84 返回 gps 坐标gcj02 返回可用于 wx.openLocation 的坐标
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.accuracy">
<summary>
位置的精确度反应与真实位置之间的接近程度可以理解成10即与真实位置相差10m越小越精确
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.altitude">
<summary>
需要基础库: `1.2.0`
高度,单位 m
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.horizontalAccuracy">
<summary>
需要基础库: `1.2.0`
水平精度,单位 m
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.latitude">
<summary>
纬度,范围为 -90~90负数表示南纬
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.longitude">
<summary>
经度,范围为 -180~180负数表示西经
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.speed">
<summary>
速度,单位 m/s
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.verticalAccuracy">
<summary>
需要基础库: `1.2.0`
垂直精度,单位 mAndroid 无法获取,返回 0
</summary>
</member>
<member name="F:WeChatWASM.GetNetworkTypeSuccessCallbackResult.hasSystemProxy">
<summary>
需要基础库: `2.22.1`
@ -6311,17 +5929,6 @@
- itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
</summary>
</member>
<member name="F:WeChatWASM.GetShareInfoOption.shareTicket">
<summary>
shareTicket详见[获取更多转发信息](#)
</summary>
</member>
<member name="F:WeChatWASM.GetShareInfoOption.timeout">
<summary>
需要基础库: `1.9.90`
超时时间,单位 ms
</summary>
</member>
<member name="F:WeChatWASM.GetShowSplashAdStatusSuccessCallbackResult.code">
<summary>
封面广告组件展示状态码
@ -6868,11 +6475,6 @@
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。
</summary>
</member>
<member name="F:WeChatWASM.OnCopyUrlListenerResult.title">
<summary>
短链中的自定义标题,显示在小程序名称之后,可以不填
</summary>
</member>
<member name="F:WeChatWASM.OnDeviceMotionChangeListenerResult.alpha">
<summary>
当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha范围值为 [0, 2*PI)。逆时针转动为正。
@ -6896,21 +6498,6 @@
- 'landscapeReverse': 横屏反方向,以 HOME 键在屏幕左侧为反方向;
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isEndByAbnormal">
<summary>
当前直玩广告是否由于异常流程而结束(如 下拉/搜索 进入正在直玩广告流程中的游戏)
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInDirectGameAd">
<summary>
当前是否处于直接广告中
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInMask">
<summary>
当前是否处于蒙层阶段
</summary>
</member>
<member name="F:WeChatWASM.ListenerError.message">
<summary>
错误信息,包含堆栈
@ -7306,7 +6893,7 @@
</member>
<member name="F:WeChatWASM.OpenChannelsUserProfileOption.finderUserName">
<summary>
视频号id参考格式为sphcqO59YEPCvoe查看路径为微信客户端->我tab->视频号->右上角.->视频号名字-视频号ID
视频号 id
</summary>
</member>
<member name="F:WeChatWASM.OpenChatToolOption.chatType">
@ -7626,53 +7213,6 @@
自定义维度,基础库 v2.14.0 开始支持可选
</summary>
</member>
<member name="F:WeChatWASM.FacialRecognitionError.errMsg">
<summary>
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别成功 | |
| 2002004 | 人脸识别失败 | |
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
| 2002007 | 本用户7天内人脸识别已通过通过日期为XX | |
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
| 2002009 | 无权限发起人脸识别 | |
</summary>
</member>
<member name="F:WeChatWASM.FacialRecognitionError.errCode">
<summary>
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别成功 | |
| 2002004 | 人脸识别失败 | |
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
| 2002007 | 本用户7天内人脸识别已通过通过日期为XX | |
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
| 2002009 | 无权限发起人脸识别 | |
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyOption.verifyId">
<summary>
人脸核身会话唯一标识(小程序后台根据「用户实名信息(姓名+身份证)」调用微信后台[getVerifyId](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_getverifyid.html)接口获取)
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyError.errMsg">
<summary>
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyError.errCode">
<summary>
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentOption.buyQuantity">
<summary>
购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyQuantity限制说明)。
@ -8058,7 +7598,7 @@
</member>
<member name="F:WeChatWASM.SetBackgroundFetchTokenOption.token">
<summary>
自定义的登录态。上限 1024 字符。
自定义的登录态
</summary>
</member>
<member name="F:WeChatWASM.SetClipboardDataOption.data">

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 59f30477a8bb77aeb6d56b69f0799388
guid: 745942d95ed4495a64bba4eea8162794
DefaultImporter:
externalObjects: {}
userData:

Binary file not shown.

View File

@ -4,91 +4,12 @@
<name>wx-runtime</name>
</assembly>
<members>
<member name="T:WeChatWASM.GameProtect.Monitor.WXDataPluginExample">
<member name="T:PlayerPrefs">
<summary>
WX数据保护插件使用示例
演示如何使用数据保护功能来保护游戏中的重要数值
覆盖unity的PlayerPrefs
注意:调用均为同步调用, 容易阻塞游戏主线程造成卡顿,不建议频繁调用
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example1_BasicUsage">
<summary>
示例1基础用法 - 存储和读取数据
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example2_SafeGet">
<summary>
示例2安全获取数据推荐方式
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example3_ComplexObject">
<summary>
示例3存储复杂对象
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.Example4_DataManagement">
<summary>
示例4数据管理
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.OnDataTampered(System.Object,WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
<summary>
数据篡改事件处理
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.WXDataPluginExample.HandleTampering(WeChatWASM.GameProtect.Monitor.WXDataProtectionEventArgs)">
<summary>
处理数据篡改
</summary>
</member>
<member name="T:WeChatWASM.GameProtect.Monitor.PlayerStats">
<summary>
示例:玩家属性数据结构
注意:使用 JsonUtility 序列化时,必须使用公共字段
</summary>
</member>
<member name="T:WeChatWASM.GameProtect.Monitor.GameCurrencyManager">
<summary>
游戏货币管理器示例
封装常用的货币操作,简化调用
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.Init(System.Int32,System.Int32)">
<summary>
初始化货币数据
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetCoins">
<summary>
获取金币数量
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddCoins(System.Int32)">
<summary>
增加金币
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendCoins(System.Int32)">
<summary>
消费金币
</summary>
<returns>是否消费成功</returns>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.GetDiamonds">
<summary>
获取钻石数量
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.AddDiamonds(System.Int32)">
<summary>
增加钻石
</summary>
</member>
<member name="M:WeChatWASM.GameProtect.Monitor.GameCurrencyManager.SpendDiamonds(System.Int32)">
<summary>
消费钻石
</summary>
<returns>是否消费成功</returns>
</member>
<member name="T:WeChatWASM.WXBannerAd">
<summary>
Banner 广告,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/banner-ad.html
@ -3204,47 +3125,6 @@
 是否结束
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.eventId">
<summary>
事件ID开发者自行维护必需
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.costTime">
<summary>
事件耗时单位ms可选不填时为0
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventOption.result">
<summary>
事件结果,默认成功(可选)不填时默认成功
</summary>
</member>
<member name="T:WeChatWASM.ReportGameEventResult">
<summary>
reportGameEvent的事件类型
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventResult.Success">
<summary>
成功事件
</summary>
</member>
<member name="F:WeChatWASM.ReportGameEventResult.Fail">
<summary>
失败事件
</summary>
</member>
<member name="F:WeChatWASM.PageManagerCallbackResult.errCode">
<summary>
错误码,文档可见 https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html
</summary>
</member>
<member name="F:WeChatWASM.PageManagerCallbackResult.errMsg">
<summary>
错误信息
</summary>
</member>
<!-- Badly formed XML comment ignored for member "F:WeChatWASM.PageManagerEventResult.isRecommended" -->
<member name="F:WeChatWASM.LoadOption.openlink">
<summary>
从不同渠道获得的OPENLINK字符串
@ -3270,7 +3150,6 @@
结果对象的json字符串各项为实验的相关信息
</summary>
</member>
<!-- Badly formed XML comment ignored for member "F:WeChatWASM.RankManagerStartEventResult.scoreKey" -->
<member name="F:WeChatWASM.VirtualPaymentError.errMsg">
错误信息
@ -3410,7 +3289,7 @@
需要基础库: `2.10.0`
小程序版本
可选值:
- 'develop': 开发版,提交代码审核时默认使用开发版进行审核。;
- 'develop': 开发版;
- 'trial': 体验版;
- 'release': 正式版;
</summary>
@ -3486,11 +3365,6 @@
允许微信读写日历的开关
</summary>
</member>
<member name="F:WeChatWASM.AppBaseInfo.PCKernelVersion">
<summary>
PC 内核版本号,仅在 PC 端存在该值
</summary>
</member>
<member name="F:WeChatWASM.AppBaseInfo.SDKVersion">
<summary>
客户端基础库版本
@ -3593,14 +3467,6 @@
<member name="F:WeChatWASM.DeviceInfo.platform">
<summary>
客户端平台
可选值:
- 'ios': iOS微信包含 iPhone、iPad;
- 'android': Android微信;
- 'ohos': HarmonyOS 手机端微信;
- 'ohos_pc': HarmonyOS PC微信;
- 'windows': Windows微信;
- 'mac': macOS微信;
- 'devtools': 微信开发者工具;
</summary>
</member>
<member name="F:WeChatWASM.DeviceInfo.system">
@ -3608,16 +3474,6 @@
操作系统及版本
</summary>
</member>
<member name="F:WeChatWASM.DirectAdStatusInfo.isInDirectGameAd">
<summary>
当前是否处于直接广告中
</summary>
</member>
<member name="F:WeChatWASM.DirectAdStatusInfo.isInMask">
<summary>
当前是否处于蒙层阶段
</summary>
</member>
<member name="F:WeChatWASM.EnterOptionsGame.apiCategory">
<summary>
需要基础库: `2.20.0`
@ -3684,11 +3540,6 @@
直播间 id
</summary>
</member>
<member name="F:WeChatWASM.LaunchOptionsGame.hostExtraData">
<summary>
宿主传递的数据,第三方 app 中运行小游戏时返回
</summary>
</member>
<member name="F:WeChatWASM.LaunchOptionsGame.query">
<summary>
启动小游戏的 query 参数
@ -3719,11 +3570,6 @@
shareTicket详见[获取更多转发信息](#)
</summary>
</member>
<member name="F:WeChatWASM.HostExtraData.host_scene">
<summary>
宿主app对应的场景值
</summary>
</member>
<member name="F:WeChatWASM.ClientRect.bottom">
<summary>
下边界坐标单位px
@ -3754,86 +3600,11 @@
宽度单位px
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.challengeRewardsComponentInfo">
<summary>
擂台赛组件领奖信息
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.notificationComponentInfo">
<summary>
通知组件信息
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentsInfo.rewardsComponentInfo">
<summary>
福利组件信息
</summary>
</member>
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.name">
<summary>
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.ChallengeRewardsComponentInfo.receiveDetail">
<summary>
领取事件详情只在onOfficialComponentsInfoChange回调中返回
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.awardResult">
<summary>
奖励领取结果1-全部成功, 2-部分成功(礼物达到领取上限), 3-领奖失败
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.receivedRareReward">
<summary>
是否收到了稀有奖励
</summary>
</member>
<member name="F:WeChatWASM.ChallengeReceiveDetail.userSourceList">
<summary>
用户领取的奖励列表
</summary>
</member>
<member name="F:WeChatWASM.UserSource.sourceType">
<summary>
奖励类型0-道具礼包, 1-微信蓝包, 2-h5商家券, 3-现金红包, 4-小程序券, 5-盲盒
</summary>
</member>
<member name="F:WeChatWASM.UserSource.source">
<summary>
奖励来源信息
</summary>
</member>
<member name="F:WeChatWASM.UserSource.sourceNum">
<summary>
获取的奖励数量
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.propList">
<summary>
道具列表
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.type">
<summary>
奖励类型1-普通奖励, 2-稀有奖励
</summary>
</member>
<member name="F:WeChatWASM.SourceInfo.sourceName">
<summary>
礼包名称
</summary>
</member>
<member name="F:WeChatWASM.PropInfo.propName">
<summary>
道具名称
</summary>
</member>
<member name="F:WeChatWASM.PropInfo.propNum">
<summary>
道具数量
</summary>
</member>
<member name="F:WeChatWASM.OfficialComponentInfo.boundingClientRect">
<summary>
组件的布局位置信息
@ -3849,46 +3620,6 @@
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveFriendGiftCount">
<summary>
可领取的好友礼包数量
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.canReceiveGiftCount">
<summary>
可领取的礼包数量
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.name">
<summary>
组件的名称
</summary>
</member>
<member name="F:WeChatWASM.RewardsComponentInfo.receiveDetail">
<summary>
领取事件详情只在onOfficialComponentsInfoChange回调中返回
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.desc">
<summary>
礼包描述,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.icon">
<summary>
礼包图标,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.name">
<summary>
礼包名称,只有 gift 类型才有
</summary>
</member>
<member name="F:WeChatWASM.ReceiveDetail.type">
<summary>
gift: 礼包, friendGift: 好友礼包
</summary>
</member>
<member name="F:WeChatWASM.GetStorageInfoSyncOption.currentSize">
<summary>
当前占用的空间大小, 单位 KB
@ -4035,8 +3766,7 @@
可选值:
- 'ios': iOS微信包含 iPhone、iPad;
- 'android': Android微信;
- 'ohos': HarmonyOS 手机端微信;
- 'ohos_pc': HarmonyOS PC微信;
- 'ohos': HarmonyOS微信;
- 'windows': Windows微信;
- 'mac': macOS微信;
- 'devtools': 微信开发者工具;
@ -4691,36 +4421,6 @@
是否被添加至 「我的小程序」
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentFailCallbackErr.errMsg">
<summary>
错误信息
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.data">
<summary>
支付支持信息对象
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackResult.errMsg">
<summary>
调用结果信息,格式为 "checkIsSupportMidasPayment:ok"
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.allow_pay">
<summary>
是否支持支付true 表示支持false 表示不支持
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_code">
<summary>
错误码0 表示成功
</summary>
</member>
<member name="F:WeChatWASM.CheckIsSupportMidasPaymentSuccessCallbackDataResult.err_msg">
<summary>
错误信息,"success" 表示成功
</summary>
</member>
<member name="F:WeChatWASM.ChooseImageOption.count">
<summary>
最多可以选择的图片张数
@ -5889,22 +5589,22 @@
预告状态0可用 1取消 2已用
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.cloudID">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.cloudID">
<summary>
敏感数据对应的云 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)
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.encryptedData">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.encryptedData">
<summary>
包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.errMsg">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.errMsg">
<summary>
错误信息
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentSuccessCallbackResult.iv">
<member name="F:WeChatWASM.GetChatToolInfoSuccessCallbackResult.iv">
<summary>
加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html)
</summary>
@ -5999,21 +5699,6 @@
实验参数数组,不填则获取所有实验参数
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.expt_id">
<summary>
实验ID标识实验
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.param_name">
<summary>
参数名称
</summary>
</member>
<member name="F:WeChatWASM.GameExptInfo.param_value">
<summary>
参数值
</summary>
</member>
<member name="F:WeChatWASM.GetGroupEnterInfoOption.allowSingleChat">
<summary>
需要基础库: `3.7.8`
@ -6135,67 +5820,6 @@
本机局域网子网掩码,基础库 2.24.0 开始支持
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.altitude">
<summary>
需要基础库: `1.6.0`
传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.highAccuracyExpireTime">
<summary>
需要基础库: `2.9.0`
高精度定位超时时间(ms)指定时间内返回最高精度该值3000ms以上高精度定位才有效果
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.isHighAccuracy">
<summary>
需要基础库: `2.9.0`
开启高精度定位
</summary>
</member>
<member name="F:WeChatWASM.GetLocationOption.type">
<summary>
wgs84 返回 gps 坐标gcj02 返回可用于 wx.openLocation 的坐标
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.accuracy">
<summary>
位置的精确度反应与真实位置之间的接近程度可以理解成10即与真实位置相差10m越小越精确
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.altitude">
<summary>
需要基础库: `1.2.0`
高度,单位 m
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.horizontalAccuracy">
<summary>
需要基础库: `1.2.0`
水平精度,单位 m
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.latitude">
<summary>
纬度,范围为 -90~90负数表示南纬
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.longitude">
<summary>
经度,范围为 -180~180负数表示西经
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.speed">
<summary>
速度,单位 m/s
</summary>
</member>
<member name="F:WeChatWASM.GetLocationSuccessCallbackResult.verticalAccuracy">
<summary>
需要基础库: `1.2.0`
垂直精度,单位 mAndroid 无法获取,返回 0
</summary>
</member>
<member name="F:WeChatWASM.GetNetworkTypeSuccessCallbackResult.hasSystemProxy">
<summary>
需要基础库: `2.22.1`
@ -6311,17 +5935,6 @@
- itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。
</summary>
</member>
<member name="F:WeChatWASM.GetShareInfoOption.shareTicket">
<summary>
shareTicket详见[获取更多转发信息](#)
</summary>
</member>
<member name="F:WeChatWASM.GetShareInfoOption.timeout">
<summary>
需要基础库: `1.9.90`
超时时间,单位 ms
</summary>
</member>
<member name="F:WeChatWASM.GetShowSplashAdStatusSuccessCallbackResult.code">
<summary>
封面广告组件展示状态码
@ -6868,11 +6481,6 @@
用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。
</summary>
</member>
<member name="F:WeChatWASM.OnCopyUrlListenerResult.title">
<summary>
短链中的自定义标题,显示在小程序名称之后,可以不填
</summary>
</member>
<member name="F:WeChatWASM.OnDeviceMotionChangeListenerResult.alpha">
<summary>
当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha范围值为 [0, 2*PI)。逆时针转动为正。
@ -6896,21 +6504,6 @@
- 'landscapeReverse': 横屏反方向,以 HOME 键在屏幕左侧为反方向;
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isEndByAbnormal">
<summary>
当前直玩广告是否由于异常流程而结束(如 下拉/搜索 进入正在直玩广告流程中的游戏)
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInDirectGameAd">
<summary>
当前是否处于直接广告中
</summary>
</member>
<member name="F:WeChatWASM.OnDirectAdStatusChangeListenerResult.isInMask">
<summary>
当前是否处于蒙层阶段
</summary>
</member>
<member name="F:WeChatWASM.ListenerError.message">
<summary>
错误信息,包含堆栈
@ -7306,7 +6899,7 @@
</member>
<member name="F:WeChatWASM.OpenChannelsUserProfileOption.finderUserName">
<summary>
视频号id参考格式为sphcqO59YEPCvoe查看路径为微信客户端->我tab->视频号->右上角.->视频号名字-视频号ID
视频号 id
</summary>
</member>
<member name="F:WeChatWASM.OpenChatToolOption.chatType">
@ -7626,53 +7219,6 @@
自定义维度,基础库 v2.14.0 开始支持可选
</summary>
</member>
<member name="F:WeChatWASM.FacialRecognitionError.errMsg">
<summary>
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别成功 | |
| 2002004 | 人脸识别失败 | |
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
| 2002007 | 本用户7天内人脸识别已通过通过日期为XX | |
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
| 2002009 | 无权限发起人脸识别 | |
</summary>
</member>
<member name="F:WeChatWASM.FacialRecognitionError.errCode">
<summary>
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别成功 | |
| 2002004 | 人脸识别失败 | |
| 2002006 | 用户取消/超时/不同意,导致未完成人脸识别 | |
| 2002007 | 本用户7天内人脸识别已通过通过日期为XX | |
| 2002008 | 本日已调起过人脸识别或者本月调用次数已达上限 | |
| 2002009 | 无权限发起人脸识别 | |
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyOption.verifyId">
<summary>
人脸核身会话唯一标识(小程序后台根据「用户实名信息(姓名+身份证)」调用微信后台[getVerifyId](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_getverifyid.html)接口获取)
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyError.errMsg">
<summary>
错误信息
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
</summary>
</member>
<member name="F:WeChatWASM.RequestFacialVerifyError.errCode">
<summary>
错误码
| 错误码 | 错误信息 | 说明 |
| - | - | - |
| 0 | 人脸识别完成(需要通过[queryVerifyInfo](https://developers.weixin.qq.com/miniprogram/dev/server/API/face/api_queryverifyinfo.html)接口查询人脸核身真实验证结果) | |
</summary>
</member>
<member name="F:WeChatWASM.RequestMidasFriendPaymentOption.buyQuantity">
<summary>
购买数量。mode=game 时必填。购买数量。详见 [buyQuantity 限制说明](#buyQuantity限制说明)。
@ -8058,7 +7604,7 @@
</member>
<member name="F:WeChatWASM.SetBackgroundFetchTokenOption.token">
<summary>
自定义的登录态。上限 1024 字符。
自定义的登录态
</summary>
</member>
<member name="F:WeChatWASM.SetClipboardDataOption.data">
@ -9567,11 +9113,5 @@
注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行
</summary>
</member>
<member name="T:PlayerPrefs">
<summary>
覆盖unity的PlayerPrefs
注意:调用均为同步调用, 容易阻塞游戏主线程造成卡顿,不建议频繁调用
</summary>
</member>
</members>
</doc>

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 33778f932d74b9c0309d7573c86c9e5b
guid: 8c8b9dd4972bf87d5bd40b9496ecae1b
DefaultImporter:
externalObjects: {}
userData:

View File

@ -107,69 +107,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.CheckIsAddedToMyMiniProgram(callback);
}
/// <summary>
/// [wx.checkIsSupportFacialRecognition(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/face/wx.checkIsSupportFacialRecognition.html)
/// 需要基础库: `3.8.12`
/// 检查当前设备是否支持人脸识别能力
/// **示例代码**
/// ```js
/// wx.checkIsSupportFacialRecognition({
/// success() {
/// // 支持人脸识别
/// },
/// fail() {
/// // 不支持人脸识别
/// },
/// })
/// ```
/// </summary>
public static void CheckIsSupportFacialRecognition(CheckIsSupportFacialRecognitionOption callback)
{
WXSDKManagerHandler.Instance.CheckIsSupportFacialRecognition(callback);
}
/// <summary>
/// [wx.checkIsSupportMidasPayment(Object object)](https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.checkIsSupportMidasPayment.html)
/// 需要基础库: `3.10.3`
/// 检查当前环境是否支持虚拟支付。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/minigame/dev/guide/open-ability/virtual-payment/virtual-payment2.html)。
/// **平台支持说明**
/// - Android、Windows、OHOS 平台:默认支持虚拟支付,接口直接返回支持
/// - iOS 平台:需满足以下环境要求才可能支持虚拟支付
/// - 操作系统要求:使用 iPhone 或者 iPadiOS 15 及以上版本
/// - 基础库版本要求3.10.3 及以上
/// - 客户端版本要求8.0.68 及以上
/// - 苹果支付不支持使用沙箱环境,仅支持使用现网环境
/// **注意事项**
/// 若该 API 都不存在,则 iOS 一定不支持虚拟支付,请保持旧版本逻辑。
/// **示例代码**
/// ```js
/// if (wx.checkIsSupportMidasPayment) {
/// wx.checkIsSupportMidasPayment({
/// success(res) {
/// console.log('支持检查结果:', res)
/// if (res.data.allow_pay) {
/// console.log('当前环境支持支付')
/// // 可以继续调用支付相关接口
/// } else {
/// console.log('当前环境不支持支付')
/// // 请自行适配用户提示文案
/// }
/// },
/// fail(err) {
/// console.error('检查支持情况失败:', err)
/// },
/// complete() {
/// console.log('检查完成')
/// }
/// })
/// }
/// ```
/// </summary>
public static void CheckIsSupportMidasPayment(CheckIsSupportMidasPaymentOption callback)
{
WXSDKManagerHandler.Instance.CheckIsSupportMidasPayment(callback);
}
/// <summary>
/// [wx.checkSession(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/login/wx.checkSession.html)
/// 检查登录态 session_key 是否过期。
@ -342,7 +279,7 @@ namespace WeChatWASM
/// <summary>
/// [wx.exitChatTool(Object object)](https://developers.weixin.qq.com/minigame/dev/api/chattool/wx.exitChatTool.html)
/// 需要基础库: `3.7.12`
/// 退出聊天工具开放能力模式
/// 退出聊天工具模式
/// </summary>
public static void ExitChatTool(ExitChatToolOption callback)
{
@ -738,7 +675,6 @@ namespace WeChatWASM
/// | 8 | 当天(自然日)赞官方贴子数 | 无需传入 | |
/// | 9 | 当天(自然日)评论官方贴子数 | 无需传入 | |
/// | 10 | 当天(自然日)发表到本圈子话题的贴子数 | 传入话题id从mp-游戏圈话题管理处获取 | |
/// | 11 | 用户最近一次推荐游戏时间 | 无需传入 | 秒级时间戳 | |
/// **encryptedData 解密后得到的 GameClubData 的结构**
/// | 属性 | 类型 | 说明 |
/// | ------- | ------- | -------------------------------------- |
@ -755,22 +691,9 @@ namespace WeChatWASM
}
/// <summary>
/// [wx.getGameExptInfo(Object options)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.getGameExptInfo.html)
/// [wx.getGameExptInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.getGameExptInfo.html)
/// 需要基础库: `3.8.8`
/// 给定实验参数数组,获取对应的实验参数值
/// **示例代码**
/// ```js
/// wx.getGameExptInfo({
/// keyList: ['experiment_key1', 'experiment_key2'],
/// success(res) {
/// res.list.forEach((expParam) => {
/// console.log('实验ID:', expParam.expt_id);
/// console.log('参数名:', expParam.param_name);
/// console.log('参数值:', expParam.param_value);
/// })
/// }
/// });
/// ```
/// </summary>
public static void GetGameExptInfo(GetGameExptInfoOption callback)
{
@ -867,14 +790,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.GetLocalIPAddress(callback);
}
/// <summary>
/// [wx.getLocation(Object object)](https://developers.weixin.qq.com/minigame/dev/api/location/wx.getLocation.html)
/// </summary>
public static void GetLocation(GetLocationOption callback)
{
WXSDKManagerHandler.Instance.GetLocation(callback);
}
/// <summary>
/// [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/network/wx.getNetworkType.html)
/// 获取网络类型
@ -1001,15 +916,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.GetSetting(callback);
}
/// <summary>
/// [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.getShareInfo.html)
/// 需要基础库: `1.1.0`
/// </summary>
public static void GetShareInfo(GetShareInfoOption callback)
{
WXSDKManagerHandler.Instance.GetShareInfo(callback);
}
/// <summary>
/// [wx.getShowSplashAdStatus(Object object)](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.getShowSplashAdStatus.html)
/// 需要基础库: `3.7.8`
@ -1356,6 +1262,9 @@ namespace WeChatWASM
/// 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。
/// ##### 需要用户确认跳转
/// 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。
/// ##### 无需声明跳转名单,不限跳转数量(众测中)
/// 1. 从2020年4月24日起使用跳转其他小程序功能将无需在全局配置中声明跳转名单调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
/// 2. 从2020年4月24日起跳转其他小程序将不再受数量限制使用此功能时请注意遵守运营规范。
/// **运营规范**
/// 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。
/// **关于调试**
@ -1791,125 +1700,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.ReportScene(callback);
}
/// <summary>
/// [wx.requestFacialRecognition(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/account-info/wx.requestFacialRecognition.html)
/// 需要基础库: `3.11.2`
/// 腾讯游戏人脸识别验证功能是基于健康系统防沉迷体系,用于识别疑似未成年人冒用成年人账号游玩游戏的行为,是防止未成年人沉迷网络游戏的一项重要措施。本接口是为开通虚拟支付功能的小游戏开发者提供的,此接口是基于人脸识别的未成年人身份核验接口。本次识别是根据用户在腾讯健康系统中留存的实名信息进行验证,结果将直接返回至开发者。
/// **接口限额**
/// - 超出限额后将返回错误码 2002008频率控制
/// - 1天内全部游戏对一个用户只能调起1次人脸识别
/// - 若用户人脸识别通过7天内不能再被弹出人脸识别
/// - 根据小游戏评级每个月限制使用次数,一旦发现恶意滥用接口,会取消使用资格。具体使用次数如下:
/// - S级300次/月
/// - A级100次/月
/// - B级30次/月
/// **处理流程**
/// <img src="https://mmgame.qpic.cn/image/2034b86e1e8f3541629d4b4d16cf41ff84fd99efe25f4fac181603edd8a29e14/0" width="600" alt="人脸识别流程图" />
/// **示例代码**
/// ```js
/// // 实际业务场景:防沉迷身份验证
/// function checkUserIdentity() {
/// wx.requestFacialRecognition({
/// success(res) {
/// // 场景 1本次人脸识别通过
/// // res = { errCode: 0, errMsg: 'ok' }
/// console.log('人脸识别成功:', res)
/// // 允许继续游戏
/// startGame()
/// },
/// fail(err) {
/// console.error('人脸识别失败:', err)
/// let tipMessage = ''
/// let shouldBlock = false // 是否需要阻断游戏
/// // 根据错误码进行不同处理
/// switch (err.errCode) {
/// case 2002004:
/// // 人脸识别失败(需要阻断)
/// // err = { errCode: 2002004, errMsg: '人脸识别失败' }
/// tipMessage = '识别失败,请稍后重试'
/// shouldBlock = true
/// break
/// case 2002006:
/// // 用户取消/超时/不同意,导致未完成人脸识别(需要阻断)
/// // err = { errCode: 2002006, errMsg: '用户取消' }
/// tipMessage = '您已取消验证,无法继续游戏'
/// shouldBlock = true
/// break
/// case 2002007:
/// // 本用户7天内人脸识别已通过可以继续游戏
/// // err = { errCode: 2002007, errMsg: '本用户7天内人脸识别已通过通过日期为2024-01-15' }
/// tipMessage = '您已完成验证'
/// shouldBlock = false
/// break
/// case 2002008:
/// // 频率控制:本日已调起过人脸识别 or 本月调用次数已达上限(可以继续游戏)
/// // err = { errCode: 2002008, errMsg: '本日已调起过人脸识别' }
/// // 或 err = { errCode: 2002008, errMsg: '本月调用次数已达上限' }
/// tipMessage = '今日验证次数已达上限'
/// shouldBlock = false
/// break
/// case 2002009:
/// // 无权限发起人脸识别(可以继续游戏)
/// // err = { errCode: 2002009, errMsg: '无权限发起人脸识别' }
/// tipMessage = '暂无权限使用此功能'
/// shouldBlock = false
/// break
/// default:
/// // 系统异常等其他错误(可以继续游戏,避免影响正常用户)
/// tipMessage = '系统异常,请稍后重试'
/// shouldBlock = false
/// }
/// if (tipMessage) {
/// wx.showModal({
/// title: '提示',
/// content: tipMessage,
/// showCancel: false
/// })
/// }
/// if (shouldBlock) {
/// // 仅对识别失败(2002004)和用户取消(2002006)阻断游戏
/// restrictGameFeatures()
/// } else {
/// // 其他情况允许继续游戏
/// startGame()
/// }
/// },
/// complete(res) {
/// // 无论成功失败均会触发
/// console.log('人脸识别流程结束:', res)
/// }
/// })
/// }
/// ```
/// </summary>
public static void RequestFacialRecognition(RequestFacialRecognitionOption callback)
{
WXSDKManagerHandler.Instance.RequestFacialRecognition(callback);
}
/// <summary>
/// [wx.requestFacialVerify(Object object)](https://developers.weixin.qq.com/minigame/dev/api/open-api/face/wx.requestFacialVerify.html)
/// 需要基础库: `3.8.12`
/// 对用户实名信息进行基于生物识别的人脸核身验证
/// **示例代码**
/// ```js
/// wx.requestFacialVerify({
/// // 人脸核身会话唯一标识
/// verifyId: 'xxx',
/// success() {
/// // 人脸核身验证成功,需要通知小程序后台根据本次人脸核身会话唯一标识 verifyId 字段调用微信后台 queryVerifyInfo 接口查询人脸核身真实验证结果。
/// },
/// fail() {
/// // 人脸核身验证失败
/// },
/// })
/// ```
/// </summary>
public static void RequestFacialVerify(RequestFacialVerifyOption callback)
{
WXSDKManagerHandler.Instance.RequestFacialVerify(callback);
}
/// <summary>
/// [wx.requestMidasFriendPayment(Object object)](https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasFriendPayment.html)
/// 需要基础库: `2.11.0`
@ -2253,8 +2043,6 @@ namespace WeChatWASM
/// [wx.setDeviceOrientation(Object object)](https://developers.weixin.qq.com/minigame/dev/api/device/orientation/wx.setDeviceOrientation.html)
/// 需要基础库: `2.26.0`
/// 切换横竖屏。接口调用成功后会触发 wx.onDeviceOrientationChange 事件
/// **注意**
/// - PC小程序处于全屏时无法切换横竖屏。
/// </summary>
public static void SetDeviceOrientation(SetDeviceOrientationOption callback)
{
@ -2975,15 +2763,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.ReportEvent(eventId, data);
}
/// <summary>
/// [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.reportMonitor.html)
/// 需要基础库: `2.1.2`
/// </summary>
public static void ReportMonitor(string name, double value)
{
WXSDKManagerHandler.Instance.ReportMonitor(name, value);
}
/// <summary>
/// [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/minigame/dev/api/base/performance/wx.reportPerformance.html)
/// 需要基础库: `2.10.0`
@ -3248,7 +3027,6 @@ namespace WeChatWASM
/// 监听搜索到新设备的事件
/// **注意**
/// - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/minigame/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。
/// - 地址变化这个是鸿蒙系统特性,小程序可以不缓存地址,重新搜索连接。
/// **示例代码**
/// [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
/// ```js
@ -3343,34 +3121,6 @@ namespace WeChatWASM
WXSDKManagerHandler.Instance.OffDeviceOrientationChange(result);
}
/// <summary>
/// [wx.onDirectAdStatusChange(function listener)](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.onDirectAdStatusChange.html)
/// 需要基础库: `3.11.2`
/// 监听监听直玩广告状态变化
/// **示例代码**
/// ```js
/// wx.onDirectAdStatusChange(res => {
/// // 会有如下的几种状态值组合
/// // a) { isInMask: true, isInDirectGameAd: true } -> 表示当前正在直玩广告 且 未戳破蒙层
/// // b) { isInMask: false, isInDirectGameAd: true } -> 表示当前正在直玩广告 且 戳破了蒙层
/// // c) { isInMask: false, isInDirectGameAd: false, isEndByAbnormal: false }, -> 表示倒计时结束了,并且选择了继续玩
/// // d) { isInMask: false, isInDirectGameAd: false, isEndByAbnormal: true }, -> 表示由于异常流程而结束
/// console.log(res.isInMask)
/// console.log(res.isInDirectGameAd)
/// console.log(res.isEndByAbnormal)
/// })
/// ```
/// </summary>
public static void OnDirectAdStatusChange(Action<OnDirectAdStatusChangeListenerResult> result)
{
WXSDKManagerHandler.Instance.OnDirectAdStatusChange(result);
}
public static void OffDirectAdStatusChange(Action<OnDirectAdStatusChangeListenerResult> result)
{
WXSDKManagerHandler.Instance.OffDirectAdStatusChange(result);
}
/// <summary>
/// [wx.onError(function listener)](https://developers.weixin.qq.com/minigame/dev/api/base/app/app-event/wx.onError.html)
/// 监听全局错误事件
@ -3745,21 +3495,21 @@ namespace WeChatWASM
/// 需要基础库: `2.8.1`
/// 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听
/// **示例代码**
/// 页面要先调用wx.showShareMenu()来允许调用
/// ```js
/// wx.onUserCaptureScreen(function (res) {
/// console.log('用户截屏了')
/// return {
/// query: "parameter=test", // 通过截屏图片打开小程序的query参数
/// promise: new Promise((resolve) => { // 通过promise延时传递小程序的query参数
/// setTimeout(() => {
/// resolve({
/// query: "parameter=test2",
/// })
/// }, 1000) // 在1秒内对query进行解析
/// })
/// setTimeout(() => {
/// resolve({
/// query: "parameter=test2",
/// })
/// }, 1000) // 在1秒内对query进行解析
/// })
/// }
/// })
/// }
/// )
/// ```
/// </summary>
public static void OnUserCaptureScreen(Action<OnUserCaptureScreenListenerResult> result)
@ -3893,7 +3643,7 @@ namespace WeChatWASM
/// <summary>
/// [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/minigame/dev/api/share/wx.onCopyUrl.html)
/// 需要基础库: `2.14.3`
/// 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。
/// 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。
/// </summary>
public static void OnCopyUrl(Action<Action<OnCopyUrlListenerResult>> callback)
{
@ -4081,23 +3831,6 @@ namespace WeChatWASM
return WXSDKManagerHandler.GetDeviceInfo();
}
/// <summary>
/// [Object wx.getDirectAdStatusSync()](https://developers.weixin.qq.com/minigame/dev/api/ad/wx.getDirectAdStatusSync.html)
/// 需要基础库: `3.11.2`
/// 获取直玩广告组件展示状态。
/// **示例代码**
/// ```js
/// const statusInfo = wx.getDirectAdStatusSync();
/// console.log(statusInfo.isInMask) // 当前是否在蒙层阶段
/// console.log(statusInfo.isInDirectGameAd) // 当前是否在直玩广告中
/// ```
/// </summary>
/// <returns></returns>
public static DirectAdStatusInfo GetDirectAdStatusSync()
{
return WXSDKManagerHandler.GetDirectAdStatusSync();
}
/// <summary>
/// [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html)
/// 需要基础库: `2.13.2`
@ -4312,19 +4045,19 @@ namespace WeChatWASM
}
/// <summary>
/// [[ImageData](https://developers.weixin.qq.com/minigame/dev/api/render/image/ImageData.html) wx.createImageData(number width, number height, Uint8ClampedArray data)](https://developers.weixin.qq.com/minigame/dev/api/render/image/wx.createImageData.html)
/// [[ImageData](https://developers.weixin.qq.com/minigame/dev/api/render/image/ImageData.html) wx.createImageData(number width, number height)](https://developers.weixin.qq.com/minigame/dev/api/render/image/wx.createImageData.html)
/// 需要基础库: `3.4.10`
/// 这里有两种使用方法, 一种是指定ImageData的宽和高, 另外一种使用已有的ImageData的图像二进制数据来构建新的对象。
/// 这里有两种使用方法, 一种是指定ImageData的宽和高, 另外一种是使用ImageData, 通过它本身的宽高尺寸来构建新的对象。
/// **示例代码**
/// ```js
/// const imageData1 = wx.createImageData(100, 100)
/// const imageData2 = wx.createImageData(imageData1.data, 100, 100)
/// const imageData1 = wx.createImageData(100, 100)
/// const imageData2 = wx.createImageData(imageData1)
/// ```
/// </summary>
/// <returns></returns>
public static ImageData CreateImageData(double width, double height, int[] data)
public static ImageData CreateImageData(double width, double height)
{
return WXSDKManagerHandler.CreateImageData(width, height, data);
return WXSDKManagerHandler.CreateImageData(width, height);
}
/// <summary>

View File

@ -766,16 +766,6 @@ namespace WeChatWASM
return WXSDKManagerHandler.Instance.GetCachePath(url);
}
/// <summary>
/// 临时修复安卓在主线程繁忙时,异步读缓存耗时高,但需关注同步读文件可能导致掉帧
/// 仅在有需要的情况下主动开启,需要同步读的场景完成后再主动关闭
/// </summary>
/// <param name="enabled"></param>
public static void SetSyncReadCacheEnabled(bool enabled)
{
WXSDKManagerHandler.Instance.SetSyncReadCacheEnabled(enabled);
}
#endregion
/// <summary>
@ -1136,14 +1126,6 @@ namespace WeChatWASM
{
WXSDKManagerHandler.Instance.NotifyMiniProgramPlayableStatus(option);
}
/// <summary>
/// 上报自定义打点数据
/// </summary>
/// <param name="option"></param>
public static void ReportGameEvent(ReportGameEventOption option)
{
WXSDKManagerHandler.Instance.ReportGameEvent(option);
}
#endregion
#region
/// <summary>
@ -1155,7 +1137,6 @@ namespace WeChatWASM
}
#endregion
#region PageManager
/// <summary>
/// [[PageManager](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/PageManager.html) wx.createPageManager()](https://developers.weixin.qq.com/minigame/dev/api/open-api/openlink/wx.createPageManager.html)
/// 需要基础库: `3.6.7`
@ -1181,22 +1162,12 @@ namespace WeChatWASM
{
return WXSDKManagerHandler.Instance.CreatePageManager();
}
#endregion
#region
/// <returns></returns>
public static WXMiniReportManager GetMiniReportManager(GetMiniReportManagerParam param)
{
return WXSDKManagerHandler.Instance.GetMiniReportManager(param);
}
#endregion
#region
public static WXRankManager GetRankManager() {
return WXSDKManagerHandler.Instance.GetRankManager();
}
}
}
#endregion
#endif

View File

@ -149,9 +149,7 @@ public class WXTouchInputOverride : BaseInput
Text text = selectedObject.GetComponent<Text>();
if (text != null)
{
#if PLATFORM_PLAYABLEADS
PlayableAdsInput.mobileKeyboardSupport = true;
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
WeixinMiniGameInput.mobileKeyboardSupport = true;
#elif PLATFORM_WEBGL
#if UNITY_2022_1_OR_NEWER
@ -161,9 +159,7 @@ public class WXTouchInputOverride : BaseInput
}
else
{
#if PLATFORM_PLAYABLEADS
PlayableAdsInput.mobileKeyboardSupport = false;
#elif PLATFORM_WEIXINMINIGAME
#if PLATFORM_WEIXINMINIGAME
WeixinMiniGameInput.mobileKeyboardSupport = false;
#elif PLATFORM_WEBGL
#if UNITY_2022_1_OR_NEWER

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d3d5d2167fc6b91f7fa3e08ea84c3cda
guid: f8e56380c8717e0f63b2b87fcf8ad6cd
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6c06693e00be3ab1fde2607590ab4e6d
guid: ef1adc3c8a4ce0a362164e7b302c21d3
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a02513af1cc852341848d1ee2622c3aa
guid: 5cfbbbf665ae1f231c1413179bb1d380
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: de11e750d070e1521430f1ea7d7e9b10
guid: 864541a30712923f5a037d6b394be541
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 75c495849e8b58894c4df4019c28990f
guid: d417c9f20a7823e5fdd6b4f124c26c1a
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2676c806e8720f27b3c91d7b88934aea
guid: b471f26abb4ebbc26a9dc7871a862be3
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f98ab3c051a738848f5f25b3963ff875
guid: bc1d3fd1a24970595474781f50499498
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 14b4dacf147a2eb0b690def4fd2a25f8
guid: f82ac2b3932563458dea2af183513caf
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: fdc5a07bfe255668c4bc90b063ab0439
guid: 340f0aa0cfeafbb6f622f10d3406c4e8
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: cc12ac5f1dcfb4041e5b88bdb3d39df1
guid: 6bb3222466c34d331a132ff0e51523b9
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3a78826b373fd69d30b14736655164fc
guid: 22191070a15f223c68d00c8a739d32e6
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7e3a00c4051da2b6217cd8e156b32adc
guid: 5aa89f82bfacd415e7a3eb105a3681fd
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: fa4490b63d04c3666e7d5bd6dbbe4a58
guid: 2d6660d412bab5cd0ea3014d9c639272
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 942f7b8a85c48dce854289ad244f3ca4
guid: 7242be781e59d5ea4c589eef5c7c764c
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4dadbfddf470bde3a646527500a79bb6
guid: 03ed5bb2b96a835abfe7c27d5e036ad8
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1516197a3756cc06853320f648bd30f2
guid: 2bf517728ca3373bf7ef6cb950911481
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b193152a2bbc37d0feda3c6544e7afc8
guid: 715ff6f13bf3a36f13f44655d0263c47
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b5a694336b7dd91fd242250f890f19b5
guid: 8ab3bcdf9be0c167735f3172375deb3d
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5f862d1c69deabf4048bebed751c846d
guid: 4702c234e4bc60db5596c887021e79a6
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7eb49c157fec3510cca59918268546d6
guid: 31012aa075cf35b577d4a47a7db11341
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f6eb3ae66cc21f0114a7c9e15ac57d76
guid: 6479e6ec164cc07746e855a3adf3c529
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1151cf42fe9e3fe2b444ddddbde08396
guid: 171d69c0774874220ceddc29b8ff6c55
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2b6db07c37dc2366237d59d8f785fd48
guid: af35d40ce3b2e357a44a2bb9b7b45753
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0e2b29c063f2d000be5dd2313958fa6c
guid: 478fa5c14008007b2ab8c829db723e2b
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d34cf0ce316d07409a850c605540a013
guid: 9a341e77ad232f3b5bcdde8d073d4f22
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d91ef4c43c9f3c9a6da9a65b379b5740
guid: 5a9a0027825b380d4f5916065fdc0ab1
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6660a6a8aacee1f2096340441fdbd3ce
guid: 25c1c333796702ba56006c67eafbadf6
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 119c8bb6b0ad127ed8bac3162a9969f8
guid: 2486b07d7abf46c6cbdaa624cbfb4a71
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 59d869d78f133094896b88faa762234a
guid: a7ec9ec2226c4467d6bf50ed6c7e1822
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 34d39008817c30ca826af31fc01525e7
guid: bd0a2f3bfdad33952b631d4524fffe8e
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 73a18f6a646fbaf0e8526fc1526ae97a
guid: 929ddfe7a8d5252ce3fd3fd8ce02ce0a
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c9e4678df01d9876b1b0aa336ee45401
guid: b4cf07874b458c87fe518e6ad32eaf92
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c2c849f6ee1aeeb7f9ccc36695a38d24
guid: 1612ffb6f0370a765a74afd2c485a794
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b2200a16cb9b949081f51aa4fe6807bd
guid: 754dd6fef16c3300ccfffd98913ad098
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b89e0228f0375beca9b6d7b1ad95356a
guid: 31a0ff6fb3fca6b4119ca1510edc3d71
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c82e223e59fd93811d3aa303bb51f02e
guid: 25706688859ef19d654ae55e2fd10aa3
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3c570e4eb7ff538d7aa640fb8c3d02da
guid: e84fdf14f761213077c92cefaed0501b
DefaultImporter:
externalObjects: {}
userData:

View File

@ -33,7 +33,6 @@ export const ResType = {
phoneCalendarAuthorized: 'string',
},
AppBaseInfo: {
PCKernelVersion: 'string',
SDKVersion: 'string',
enableDebug: 'bool',
fontSizeScaleFactor: 'number',
@ -62,10 +61,6 @@ export const ResType = {
platform: 'string',
system: 'string',
},
DirectAdStatusInfo: {
isInDirectGameAd: 'bool',
isInMask: 'bool',
},
EnterOptionsGame: {
apiCategory: 'string',
query: 'object',
@ -84,16 +79,12 @@ export const ResType = {
feedId: 'string',
},
LaunchOptionsGame: {
hostExtraData: 'HostExtraData',
query: 'object',
referrerInfo: 'EnterOptionsGameReferrerInfo',
scene: 'number',
chatType: 'number',
shareTicket: 'string',
},
HostExtraData: {
host_scene: 'string',
},
ClientRect: {
bottom: 'number',
height: 'number',
@ -103,50 +94,13 @@ export const ResType = {
width: 'number',
},
OfficialComponentsInfo: {
challengeRewardsComponentInfo: 'ChallengeRewardsComponentInfo',
notificationComponentInfo: 'OfficialComponentInfo',
rewardsComponentInfo: 'RewardsComponentInfo',
},
ChallengeRewardsComponentInfo: {
name: 'string',
receiveDetail: 'ChallengeReceiveDetail',
},
ChallengeReceiveDetail: {
awardResult: 'number',
receivedRareReward: 'bool',
userSourceList: 'UserSource[]',
},
UserSource: {
sourceType: 'number',
source: 'SourceInfo',
sourceNum: 'number',
},
SourceInfo: {
propList: 'PropInfo[]',
type: 'number',
sourceName: 'string',
},
PropInfo: {
propName: 'string',
propNum: 'number',
},
OfficialComponentInfo: {
boundingClientRect: 'ClientRect',
isVisible: 'bool',
name: 'string',
},
RewardsComponentInfo: {
canReceiveFriendGiftCount: 'number',
canReceiveGiftCount: 'number',
name: 'string',
receiveDetail: 'ReceiveDetail',
},
ReceiveDetail: {
desc: 'string',
icon: 'string',
name: 'string',
type: 'string',
},
GetStorageInfoSyncOption: {
currentSize: 'number',
keys: 'string[]',
@ -330,18 +284,6 @@ export const ResType = {
added: 'bool',
errMsg: 'string',
},
CheckIsSupportMidasPaymentFailCallbackErr: {
errMsg: 'string',
},
CheckIsSupportMidasPaymentSuccessCallbackResult: {
data: 'CheckIsSupportMidasPaymentSuccessCallbackDataResult',
errMsg: 'string',
},
CheckIsSupportMidasPaymentSuccessCallbackDataResult: {
allow_pay: 'bool',
err_code: 'number',
err_msg: 'string',
},
ChooseImageSuccessCallbackResult: {
tempFilePaths: 'string[]',
tempFiles: 'ImageFile[]',
@ -589,7 +531,7 @@ export const ResType = {
status: 'number',
errMsg: 'string',
},
RequestMidasFriendPaymentSuccessCallbackResult: {
GetChatToolInfoSuccessCallbackResult: {
cloudID: 'string',
encryptedData: 'string',
errMsg: 'string',
@ -633,14 +575,9 @@ export const ResType = {
errMsg: 'string',
},
GetGameExptInfoSuccessCallbackResult: {
list: 'GameExptInfo[]',
list: 'object',
errMsg: 'string',
},
GameExptInfo: {
expt_id: 'number',
param_name: 'string',
param_value: 'string',
},
GetGroupEnterInfoError: {
errMsg: 'string',
errCode: 'number',
@ -674,16 +611,6 @@ export const ResType = {
localip: 'string',
netmask: 'string',
},
GetLocationSuccessCallbackResult: {
accuracy: 'number',
altitude: 'number',
horizontalAccuracy: 'number',
latitude: 'number',
longitude: 'number',
speed: 'number',
verticalAccuracy: 'number',
errMsg: 'string',
},
GetNetworkTypeSuccessCallbackResult: {
hasSystemProxy: 'bool',
networkType: 'string',
@ -837,7 +764,6 @@ export const ResType = {
},
OnCopyUrlListenerResult: {
query: 'string',
title: 'string',
},
OnDeviceMotionChangeListenerResult: {
alpha: 'number',
@ -847,11 +773,6 @@ export const ResType = {
OnDeviceOrientationChangeListenerResult: {
value: 'string',
},
OnDirectAdStatusChangeListenerResult: {
isEndByAbnormal: 'bool',
isInDirectGameAd: 'bool',
isInMask: 'bool',
},
ListenerError: {
message: 'string',
},
@ -1006,14 +927,6 @@ export const ResType = {
eventType: 'number',
branchDim: 'string',
},
FacialRecognitionError: {
errMsg: 'string',
errCode: 'number',
},
RequestFacialVerifyError: {
errMsg: 'string',
errCode: 'number',
},
MidasFriendPaymentError: {
errMsg: 'string',
errCode: 'number',
@ -1048,7 +961,7 @@ export const ResType = {
errMsg: 'string',
},
RequestSubscribeMessageSuccessCallbackResult: {
anyKeyWord: 'object',
anyKeyWord: 'string',
errMsg: 'string',
},
RequestSubscribeSystemMessageSuccessCallbackResult: {

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9a8702f6acee306755d112480d39813c
guid: eb3c33464e2fe6ef33aa1e2bd348f620
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 90a536e2c5a0814cc1c58b70c92da9a4
guid: 84f03f9d5f84935288ca9dfbbddb72f0
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 02830b8246e010bdd89e47fefd9adf6b
guid: 2c77a788c03ce84662f17d1f805b6567
DefaultImporter:
externalObjects: {}
userData:

View File

@ -361,8 +361,7 @@ export default {
}
ClassOnEventLists[className + functionName][id + eventName].push(callback);
// WXVideoDecoder OnEvent 不规范 特殊处理
// update: 2025.9.27: 严重怀疑之前 WXPageManager 压根没有跑通过事件监听,跑到下面去了
if (className === 'WXVideoDecoder' || className === 'WXPageManager') {
if (className === 'WXVideoDecoder') {
obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, callback);
}
else {
@ -385,8 +384,7 @@ export default {
}
ClassOnEventLists[className + functionName][id + eventName].forEach((v) => {
if (className === 'WXVideoDecoder' || className === 'WXPageManager') {
if (className === 'WXVideoDecoder') {
obj[functionName.replace(/^\w/, (a) => a.toLowerCase())](eventName, v);
}
else {

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 853f4640fa1b8a092c4ccb4669d6971c
guid: 8f5060b13c373ee0cf439e2b270ed39b
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 24c205c5759ec41da1b00eda2ac42564
guid: 6f36eec09ef070e25ad54827279f91fc
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9782628a70978396e495b86274aa398d
guid: 4ad275b4bbf453ae4c0cc4ff9b51915f
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 674bba89e7bc0b330d4920c8a1d2470f
guid: d87c9943504554e788221a4340dd6ed1
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: faa496c26f840b60f61ac89b5f564f32
guid: 29657e51882c85f91950acd4170e7e76
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6cbac21da9894d5092f47042e7dcab8e
guid: 8a24c2342c5224322c0c4bcfd38c65a2
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: aa534e5bd9009a4f986abd6cc2ff823b
guid: 1f2e452bb97d8eddf8b6302df8df8a56
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3251c8f50cca5fae20e0e2bbc567bf40
guid: ce3542f5ba330d8b5e02733fdb31e73a
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6ee130afc0339063c59da8a830c7663e
guid: 371be3a2a9ec5acfda075e907a479201
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 30161526e5960c70e6965463a8c98492
guid: 7ba3ee216bdf08b304d8089bd79cde72
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 47d2bb9aac0b87cfdf12358dc192e755
guid: ba8d69f24ec045b5c416b1e474ca6b86
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7babfccd3322d8f0bb49bb466cc03624
guid: 4f8fcc7c63a098e7b355fb11c37fbd06
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a99dd0e69496ec987fc46d387fee8587
guid: 77281bc88cd1888fda166ceef80a972b
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: deb969752e56efd1f30292483076fe8d
guid: 1391ce2f8a40cfeb75ab743023b75854
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 873c3ff5c09c499cea533e76613b289c
guid: 3c0478712dbe2dca9557fc290c88e4d1
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b62dfcd3bba0143fe64bb393b6718200
guid: 63cada06c61677307e09748fdd5398da
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0f5d268ad00ae324c34a888a2bc0f3b9
guid: 7a8e0aab9945e4729edcb760f98d5c75
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: c4b7634dc3628a25ae87b92a174f5056
guid: e7acc0476b06155f7208bbabe6f2090a
DefaultImporter:
externalObjects: {}
userData:

View File

@ -23,7 +23,7 @@
],
"plugins": {
"UnityPlugin": {
"version": "1.2.91",
"version": "1.2.84",
"provider": "wxe5a48f1ed5f544b7",
"contexts": [
{

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: acc81d1c264bc0dadd4552d59e6b5cc0
guid: 937807cc012aa923262734d128716e29
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 304fa8442a722ea29aaf75c80ecf36d0
guid: f632d7cc5ec5edec67e2e7a85306add6
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 07577f5e35b0d9d10be3e7da2f636244
guid: 2d723c2841188f376b2bfd7560d599fd
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 90f5231878ca8f4be00b3ce66b678dd1
guid: fc6f41f74970d77dcf189a2aa806bcd0
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: f54994eb4369a71edd1d509002ad2f14
guid: 4249da690ce1c35e4d12518151a3c564
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 48fbcdad3f9d3b9f921019659939b17c
guid: 3d02a7524fa125445249df48ae2b5124
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 116976e02bc785ec509b059f15a5826b
guid: 3517fed75fb91ab35f3ec1065ccb2317
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 39b854a719f26a74ceafd3208b3d1559
guid: 3f47f31ae94e18e85bc3e5c6635c21bb
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 71c319aa5539d8cc938c59c1f95015a2
guid: c5342465a8540308e3f7452c1debf7d1
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 4c4cd8fe6d78dca85ddf042297dbfa8e
guid: d3e63d512ef41b9f3625fe712192bbbe
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bfe81ba23a1b4042745b051435b5580c
guid: 3f8f4838d5e28f3ce12996efc637d67f
folderAsset: yes
DefaultImporter:
externalObjects: {}

Some files were not shown because too many files have changed in this diff Show More