1257 lines
40 KiB
C#
1257 lines
40 KiB
C#
using System;
|
||
using UnityEngine.Scripting;
|
||
|
||
namespace WeChatWASM
|
||
{
|
||
public class WXBaseResponse
|
||
{
|
||
public string callbackId; //回调id,调用者不需要关注
|
||
public string errMsg; //失败示例 getUserInfo:fail auth deny; 成功示例 getUserInfo:ok
|
||
}
|
||
|
||
public class WXBaseActionParam<T>
|
||
{
|
||
public Action<T> success; //接口调用成功的回调函数
|
||
public Action<T> fail; //接口调用失败的回调函数
|
||
public Action<T> complete; //接口调用结束的回调函数(调用成功、失败都会执行)
|
||
}
|
||
|
||
|
||
|
||
public class WXTextResponse : WXBaseResponse
|
||
{
|
||
public int errCode;
|
||
}
|
||
|
||
public class WXReadFileResponse : WXBaseResponse
|
||
{
|
||
/// <summary>
|
||
/// 如果返回二进制,则数据在这个字段
|
||
/// </summary>
|
||
public byte[] binData;
|
||
/// <summary>
|
||
/// 如果返回的是字符串,则数据在这个字段
|
||
/// </summary>
|
||
public string stringData;
|
||
}
|
||
|
||
public class WXUserInfoResponse : WXBaseResponse
|
||
{
|
||
// 具体说明可以参考 https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/wx.getUserInfo.html
|
||
public int errCode; // 0为成功,非零为失败
|
||
public string signature; //使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html
|
||
public string encryptedData; //包括敏感数据在内的完整用户信息的加密数据,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95
|
||
public string iv; //加密算法的初始向量,详见 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#%E5%8A%A0%E5%AF%86%E6%95%B0%E6%8D%AE%E8%A7%A3%E5%AF%86%E7%AE%97%E6%B3%95
|
||
public string cloudID; //敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.html#method-cloud
|
||
public WXUserInfo userInfo; //用户信息对象,不包含 openid 等敏感信息
|
||
public string userInfoRaw; //userinfo的序列化
|
||
|
||
}
|
||
|
||
public class WXShareInfoResponse : WXBaseResponse
|
||
{
|
||
// 具体说明可以参考 https://developers.weixin.qq.com/minigame/dev/api/share/wx.getShareInfo.html
|
||
public string encryptedData;
|
||
public string iv;
|
||
public string cloudID;
|
||
}
|
||
|
||
public class WXAuthPrivateMessageResponse : WXBaseResponse
|
||
{
|
||
|
||
public string encryptedData;
|
||
public string iv;
|
||
public bool valid;
|
||
}
|
||
|
||
public class WXADErrorResponse : WXBaseResponse
|
||
{
|
||
// 具体说明可以参考 https://developers.weixin.qq.com/minigame/dev/api/ad/BannerAd.onError.html
|
||
public int errCode;
|
||
}
|
||
public class WXADLoadResponse : WXBaseResponse
|
||
{
|
||
// 具体说明可以参考 https://developers.weixin.qq.com/minigame/dev/api/ad/BannerAd.onLoad.html
|
||
public int rewardValue;
|
||
public int shareValue;
|
||
}
|
||
|
||
public class WXADResizeResponse : WXBaseResponse
|
||
{
|
||
// 具体说明可以参考 https://developers.weixin.qq.com/minigame/dev/api/ad/BannerAd.onResize.html
|
||
public int width;
|
||
public int height;
|
||
}
|
||
|
||
public class WXRewardedVideoAdOnCloseResponse : WXBaseResponse
|
||
{
|
||
/// <summary>
|
||
/// 视频是否是在用户完整观看的情况下被关闭的,详见 https://developers.weixin.qq.com/minigame/dev/api/ad/RewardedVideoAd.onClose.html
|
||
/// </summary>
|
||
public bool isEnded;
|
||
}
|
||
|
||
public class RequestAdReportShareBehaviorParam
|
||
{
|
||
public int operation; // 1-曝光 2-点击 3-关闭 4-操作成功 5-操作失败 6-分享拉起
|
||
public int currentShow; // 0-广告 1-分享,当 operation 为 1-5 时必填
|
||
public int strategy; // 0-业务 1-微信策略
|
||
public string inviteUser; // 当 operation 为 6 时必填,填写分享人的 openId
|
||
public string inviteUserAdunit; // 当 operation 为 6 时必填,填写分享人分享时的广告单元
|
||
public int shareValue; // 分享推荐值,必填
|
||
public int rewardValue; // 激励广告推荐值,必填
|
||
}
|
||
|
||
public class WXRewardedVideoAdReportShareBehaviorResponse : WXBaseResponse {
|
||
public string success;
|
||
public string message;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 小游戏回到前台的事件的回调函数里返回的数据,详见 https://developers.weixin.qq.com/minigame/dev/api/base/app/life-cycle/wx.onShow.html
|
||
/// </summary>
|
||
public class WXOnShowResponse
|
||
{
|
||
public string scene;
|
||
/// <summary>
|
||
/// JS版里的query对象序列化成的JSON字符串
|
||
/// </summary>
|
||
public string queryRaw;
|
||
public string shareTicket;
|
||
public ReferrerInfo referrerInfo;
|
||
/// <summary>
|
||
/// 该字段没用
|
||
/// </summary>
|
||
public string referrerInfoRaw;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 云函数回调 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html
|
||
/// </summary>
|
||
public class WXCloudCallFunctionResponse : WXBaseResponse {
|
||
/// <summary>
|
||
/// 后端返回的经过json序列化后的数据
|
||
/// </summary>
|
||
public string result;
|
||
public string requestID;
|
||
}
|
||
|
||
|
||
public struct ReferrerInfo
|
||
{
|
||
public string appid;
|
||
/// <summary>
|
||
/// 对应JS版里的 extraData,这里序列化成JSON字符串
|
||
/// </summary>
|
||
public string extraDataRaw;
|
||
}
|
||
|
||
|
||
public struct WXUserInfo
|
||
{
|
||
/// <summary>
|
||
/// 详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/user-info/UserInfo.html
|
||
/// </summary>
|
||
public string nickName;
|
||
public string avatarUrl;
|
||
public string country;
|
||
public string province;
|
||
public string city;
|
||
public string language;
|
||
public int gender;
|
||
}
|
||
|
||
|
||
public struct WXSafeArea
|
||
{
|
||
public int left;
|
||
public int right;
|
||
public int top;
|
||
public int bottom;
|
||
public int width;
|
||
public int height;
|
||
}
|
||
|
||
public class WXAccountInfo : WXBaseResponse
|
||
{
|
||
public WXAccountInfoMiniProgram miniProgram;
|
||
public string miniProgramRaw;
|
||
public WXAccountInfoPlugin plugin;
|
||
public string pluginRaw;
|
||
}
|
||
|
||
|
||
public struct WXAccountInfoMiniProgram
|
||
{
|
||
public string appId;
|
||
public string envVersion;
|
||
}
|
||
|
||
public struct WXAccountInfoPlugin
|
||
{
|
||
public string appId;
|
||
public string version;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.updateShareMenu.html
|
||
/// </summary>
|
||
public class WXUpdateShareMenuParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
|
||
public bool withShareTicket;
|
||
public bool isUpdatableMessage;
|
||
public string activityId;
|
||
public string toDoActivityId;
|
||
public bool isPrivateMessage;
|
||
public TemplateInfo templateInfo;
|
||
/// <summary>
|
||
/// // 该字段不需要传
|
||
/// </summary>
|
||
public string[] templateInfoRaw;
|
||
}
|
||
|
||
|
||
public class TemplateInfo
|
||
{
|
||
public TemplateInfoItem[] parameterList;
|
||
}
|
||
|
||
public class TemplateInfoItem
|
||
{
|
||
public string name;
|
||
public string value;
|
||
}
|
||
|
||
|
||
public class WXShowShareMenuParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.showShareMenu.html
|
||
public bool withShareTicket;
|
||
public string[] menus;
|
||
}
|
||
|
||
public class WXHideShareMenuParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.hideShareMenu.html
|
||
public string[] menus;
|
||
}
|
||
|
||
public class WXShareAppMessageParam
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.shareAppMessage.html
|
||
public string title;
|
||
public string imageUrl;
|
||
public string query;
|
||
public string imageUrlId;
|
||
public bool toCurrentGroup;
|
||
public string path;
|
||
}
|
||
|
||
public class WXShareTimelineParam
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.onShareTimeline.html
|
||
public string title;
|
||
public string imageUrl;
|
||
public string query;
|
||
public string path;
|
||
}
|
||
|
||
public class WXAddToFavoritesParam
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.onAddToFavorites.html
|
||
public string title;
|
||
public string imageUrl;
|
||
public string query;
|
||
public bool disableForward;
|
||
}
|
||
|
||
|
||
public class WXGetShareInfoParam : WXBaseActionParam<WXShareInfoResponse>
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.getShareInfo.html
|
||
public string shareTicket;
|
||
public int timeout;
|
||
}
|
||
|
||
public class WXAuthPrivateMessageParam : WXBaseActionParam<WXShareInfoResponse>
|
||
{
|
||
// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/share/wx.authPrivateMessage.html
|
||
public string shareTicket;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建 banner 广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createBannerAd.html
|
||
/// </summary>
|
||
public class WXCreateBannerAdParam
|
||
{
|
||
public string adUnitId;
|
||
public int adIntervals;
|
||
public Style style;
|
||
public string styleRaw; //该字段不需要传
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建激励视频广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createRewardedVideoAd.html
|
||
/// </summary>
|
||
public class WXCreateRewardedVideoAdParam
|
||
{
|
||
public string adUnitId;
|
||
public bool multiton;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建插屏广告组件参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createInterstitialAd.html
|
||
/// </summary>
|
||
public class WXCreateInterstitialAdParam
|
||
{
|
||
public string adUnitId;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建格子广告参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createGridAd.html
|
||
/// </summary>
|
||
public class WXCreateGridAdParam
|
||
{
|
||
public string adUnitId;
|
||
public int adIntervals;
|
||
public string adTheme;
|
||
public int gridCount;
|
||
public Style style;
|
||
public string styleRaw; //该字段不需要传
|
||
}
|
||
|
||
/// <summary>
|
||
/// 创建原生模板广告参数,参数详见 https://developers.weixin.qq.com/minigame/dev/api/ad/wx.createCustomAd.html
|
||
/// </summary>
|
||
public class WXCreateCustomAdParam
|
||
{
|
||
public string adUnitId;
|
||
public int adIntervals;
|
||
public CustomStyle style;
|
||
public string styleRaw; //该字段不需要传
|
||
}
|
||
|
||
public struct Style
|
||
{
|
||
public int left;
|
||
public int top;
|
||
public int width;
|
||
public int height;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 原生模板广告组件的样式
|
||
/// </summary>
|
||
public struct CustomStyle
|
||
{
|
||
/// <summary>
|
||
/// 原生模板广告组件的左上角横坐标
|
||
/// </summary>
|
||
public int left;
|
||
/// <summary>
|
||
/// 原生模板广告组件的左上角纵坐标
|
||
/// </summary>
|
||
public int top;
|
||
/// <summary>
|
||
/// 原生模板广告组件是否固定屏幕位置(不跟随屏幕滚动), 相当于JS api里的 fixed
|
||
/// </summary>
|
||
public bool isFixed;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 将当前 Canvas 保存为一个临时文件的同步版本,详见 https://developers.weixin.qq.com/minigame/dev/api/render/canvas/Canvas.toTempFilePathSync.html
|
||
/// </summary>
|
||
public class WXToTempFilePathSyncParam
|
||
{
|
||
public int x;
|
||
public int y;
|
||
public int width;
|
||
public int height;
|
||
public int destWidth;
|
||
public int destHeight;
|
||
public string fileType = "png";
|
||
public float quality = 1.0f;
|
||
}
|
||
|
||
[Preserve]
|
||
public class ToTempFilePathParamSuccessCallbackResult : WXBaseResponse {
|
||
/// <summary>
|
||
/// canvas 生成的临时文件路径 (本地路径)
|
||
/// </summary>
|
||
public string tempFilePath;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 将当前 Canvas 保存为一个临时文件的异步版本,详见 https://developers.weixin.qq.com/minigame/dev/api/render/canvas/Canvas.toTempFilePath.html
|
||
/// </summary>
|
||
|
||
public class WXToTempFilePathParam : WXToTempFilePathSyncParam
|
||
{
|
||
/// <summary>
|
||
/// 接口调用结束的回调函数(调用成功、失败都会执行)
|
||
/// </summary>
|
||
public Action<WXTextResponse> complete;
|
||
/// <summary>
|
||
/// 接口调用失败的回调函数
|
||
/// </summary>
|
||
public Action<WXTextResponse> fail;
|
||
/// <summary>
|
||
/// 接口调用成功的回调函数
|
||
/// </summary>
|
||
public Action<ToTempFilePathParamSuccessCallbackResult> success;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/ui/keyboard/wx.updateKeyboard.html
|
||
/// </summary>
|
||
public class WXUpdateKeyboardParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string value;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 各字段说明详见这里,https://developers.weixin.qq.com/minigame/dev/api/ui/keyboard/wx.showKeyboard.html
|
||
/// </summary>
|
||
public class WXShowKeyboardParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string defaultValue;
|
||
public int maxLength;
|
||
public bool multiple;
|
||
public bool confirmHold;
|
||
public string confirmType;
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 对用户托管数据进行写数据操作。允许同时写多组 KV 数据。详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/data/wx.setUserCloudStorage.html
|
||
/// </summary>
|
||
public class SetUserCloudStorageParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public KVData[] KVDataList;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 删除用户托管数据当中对应 key 的数据。详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/data/wx.removeUserCloudStorage.html
|
||
/// </summary>
|
||
public class RemoveUserCloudStorageParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
|
||
public string[] keyList;
|
||
}
|
||
|
||
/// <summary>
|
||
/// https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.access.html
|
||
/// </summary>
|
||
public class AccessParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string path;
|
||
}
|
||
|
||
/// <summary>
|
||
/// https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.unlink.html
|
||
/// </summary>
|
||
public class UnlinkParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string filePath;
|
||
}
|
||
|
||
/// <summary>
|
||
/// https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.mkdir.html
|
||
/// </summary>
|
||
public class MkdirParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 创建的目录路径 (本地路径)
|
||
/// </summary>
|
||
public string dirPath;
|
||
/// <summary>
|
||
/// 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。
|
||
/// </summary>
|
||
public bool recursive = false;
|
||
}
|
||
|
||
/// <summary>
|
||
/// https://developers.weixin.qq.com/minigame/dev/api/file/FileSystemManager.copyFile.html
|
||
/// </summary>
|
||
public class CopyFileParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string srcPath;
|
||
public string destPath;
|
||
}
|
||
|
||
[Preserve]
|
||
public class TouchEvent
|
||
{
|
||
/// <summary>
|
||
/// 当前所有触摸点的列表
|
||
/// </summary>
|
||
public Touch[] touches;
|
||
/// <summary>
|
||
/// 触发此次事件的触摸点列表,可以通过这个知道触发当前通知的事件的位置
|
||
/// </summary>
|
||
public Touch[] changedTouches;
|
||
/// <summary>
|
||
/// 事件触发时的时间戳
|
||
/// </summary>
|
||
public long timeStamp;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 调用云函数 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html
|
||
/// </summary>
|
||
public class CallFunctionParam : WXBaseActionParam<WXCloudCallFunctionResponse>
|
||
{
|
||
public string name;
|
||
/// <summary>
|
||
/// 这里请将数据json序列化为字符串再赋值到data
|
||
/// </summary>
|
||
public string data;
|
||
public CallFunctionConf config;
|
||
}
|
||
|
||
public class CallFunctionConf
|
||
{
|
||
public string env;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 云函数初始化 https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/init/client.init.html
|
||
/// </summary>
|
||
public class CallFunctionInitParam
|
||
{
|
||
/// <summary>
|
||
/// 必填,环境ID,指定接下来调用 API 时访问哪个环境的云资源
|
||
/// </summary>
|
||
public string env;
|
||
/// <summary>
|
||
/// 是否在将用户访问记录到用户管理中,在控制台中可见
|
||
/// </summary>
|
||
public bool traceUser;
|
||
}
|
||
|
||
public class InnerAudioContextParam
|
||
{
|
||
/// <summary>
|
||
/// 音频资源的地址,用于直接播放。可以设置为网络地址,或者unity中的本地路径如 Assets/xx.wav,运行时会自动和配置的音频地址前缀做拼接得到最终线上地址
|
||
/// </summary>
|
||
public string src = "";
|
||
/// <summary>
|
||
/// 是否循环播放,默认为 false
|
||
/// </summary>
|
||
public bool loop = false;
|
||
/// <summary>
|
||
/// 开始播放的位置(单位:s),默认为 0
|
||
/// </summary>
|
||
public float startTime = 0;
|
||
/// <summary>
|
||
/// 是否自动开始播放,默认为 false
|
||
/// </summary>
|
||
public bool autoplay = false;
|
||
/// <summary>
|
||
/// 音量。范围 0~1。默认为 1
|
||
/// </summary>
|
||
public float volume = 1;
|
||
/// <summary>
|
||
/// 播放速度。范围 0.5-2.0,默认为 1。
|
||
/// </summary>
|
||
public float playbackRate = 1;
|
||
/// <summary>
|
||
/// 下载音频,设置为true后,会完全下载后再触发OnCanplay,方便后续音频复用,避免延迟
|
||
/// </summary>
|
||
public bool needDownload = false;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 发起米大师支付参数,详见 https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasPayment.html
|
||
/// </summary>
|
||
public class RequestMidasPaymentParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 支付的类型,不同的支付类型有各自额外要传的附加参数。
|
||
/// </summary>
|
||
public string mode = "";
|
||
/// <summary>
|
||
/// 环境配置
|
||
/// </summary>
|
||
public int env = 0;
|
||
/// <summary>
|
||
/// 在米大师侧申请的应用 id
|
||
/// </summary>
|
||
public string offerId = "";
|
||
/// <summary>
|
||
/// 币种
|
||
/// </summary>
|
||
public string currencyType = "";
|
||
/// <summary>
|
||
/// 申请接入时的平台,platform 与应用id有关
|
||
/// </summary>
|
||
public string platform = "";
|
||
/// <summary>
|
||
/// 购买数量。mode=game 时必填。购买数量。
|
||
/// </summary>
|
||
public int buyQuantity = 0;
|
||
/// <summary>
|
||
/// 分区 ID
|
||
/// </summary>
|
||
public string zoneId = "1";
|
||
}
|
||
|
||
/// <summary>
|
||
/// 发起米大师朋友礼物索要参数,详见 https://developers.weixin.qq.com/minigame/dev/api/midas-payment/wx.requestMidasFriendPayment.html
|
||
/// </summary>
|
||
public class RequestMidasFriendPaymentParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 支付的类型,不同的支付类型有各自额外要传的附加参数。
|
||
/// </summary>
|
||
public string mode = "";
|
||
/// <summary>
|
||
/// 环境配置
|
||
/// </summary>
|
||
public int env = 0;
|
||
/// <summary>
|
||
/// 在米大师侧申请的应用 id
|
||
/// </summary>
|
||
public string offerId = "";
|
||
/// <summary>
|
||
/// 币种
|
||
/// </summary>
|
||
public string currencyType = "";
|
||
/// <summary>
|
||
/// 申请接入时的平台,platform 与应用id有关
|
||
/// </summary>
|
||
public string platform = "";
|
||
/// <summary>
|
||
/// 购买数量。mode=game 时必填。购买数量。
|
||
/// </summary>
|
||
public int buyQuantity = 0;
|
||
/// <summary>
|
||
/// 分区 ID
|
||
/// </summary>
|
||
public string zoneId = "1";
|
||
/// <summary>
|
||
/// 开发者业务订单号,每个订单号只能使用一次,重复使用会失败。要求32个字符内,只能是数字、大小写字母、符号 _-|*@
|
||
/// </summary>
|
||
public string outTradeNo = "";
|
||
/// <summary>
|
||
/// 随机字符串,长度应小于 128
|
||
/// </summary>
|
||
public string nonceStr = "";
|
||
/// <summary>
|
||
/// 生成这个随机字符串的 UNIX 时间戳(精确到秒)
|
||
/// </summary>
|
||
public int timeStamp;
|
||
/// <summary>
|
||
/// 签名
|
||
/// </summary>
|
||
public string signature = "";
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 网络状态变化事件的回调参数,详见 https://developers.weixin.qq.com/minigame/dev/api/device/network/wx.onNetworkStatusChange.html
|
||
/// </summary>
|
||
public class NetworkStatus {
|
||
/// <summary>
|
||
/// 当前是否有网络连接
|
||
/// </summary>
|
||
public bool isConnected;
|
||
/// <summary>
|
||
/// 网络类型
|
||
/// </summary>
|
||
public string networkType;
|
||
}
|
||
|
||
public class GetNetworkTypeResponse : WXBaseResponse
|
||
{
|
||
/// <summary>
|
||
/// 网络类型
|
||
/// </summary>
|
||
public string networkType;
|
||
/// <summary>
|
||
/// 信号强弱,单位 dbm
|
||
/// </summary>
|
||
public int signalStrength;
|
||
}
|
||
|
||
public class GetNetworkTypeParam : WXBaseActionParam<GetNetworkTypeResponse> {
|
||
|
||
}
|
||
|
||
|
||
public class SetKeepScreenOnParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 是否保持屏幕常亮
|
||
/// </summary>
|
||
public bool keepScreenOn;
|
||
}
|
||
|
||
public class WriteFileParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 要写入的文件路径 (本地路径)
|
||
/// </summary>
|
||
public string filePath;
|
||
/// <summary>
|
||
/// 要写入的二进制数据
|
||
/// </summary>
|
||
public byte[] data;
|
||
/// <summary>
|
||
/// 指定写入文件的字符编码
|
||
/// </summary>
|
||
public string encoding = "utf8";
|
||
|
||
}
|
||
|
||
public class WriteFileStringParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 要写入的文件路径 (本地路径)
|
||
/// </summary>
|
||
public string filePath;
|
||
/// <summary>
|
||
/// 要写入的二进制数据
|
||
/// </summary>
|
||
public string data;
|
||
/// <summary>
|
||
/// 指定写入文件的字符编码
|
||
/// </summary>
|
||
public string encoding = "utf8";
|
||
|
||
}
|
||
|
||
|
||
|
||
public class ReadFileParam : WXBaseActionParam<WXReadFileResponse>
|
||
{
|
||
/// <summary>
|
||
/// 要读取的文件的路径 (本地路径)
|
||
/// </summary>
|
||
public string filePath;
|
||
/// <summary>
|
||
/// 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
|
||
/// </summary>
|
||
public string encoding;
|
||
}
|
||
|
||
public class WXReadFileCallback : WXTextResponse
|
||
{
|
||
public string data;
|
||
public int byteLength;
|
||
}
|
||
|
||
|
||
public class CustomerServiceConversationParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 会话来源
|
||
/// </summary>
|
||
public string sessionFrom;
|
||
/// <summary>
|
||
/// 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,用户点击后可以快速发送小程序消息
|
||
/// </summary>
|
||
public bool showMessageCard;
|
||
/// <summary>
|
||
/// 会话内消息卡片标题
|
||
/// </summary>
|
||
public string sendMessageTitle;
|
||
/// <summary>
|
||
/// 会话内消息卡片路径
|
||
/// </summary>
|
||
public string sendMessagePath;
|
||
/// <summary>
|
||
/// 会话内消息卡片图片路径
|
||
/// </summary>
|
||
public string sendMessageImg;
|
||
}
|
||
|
||
|
||
public class WXVideoCallback : WXTextResponse
|
||
{
|
||
/// <summary>
|
||
/// 当前的播放位置,单位为秒
|
||
/// </summary>
|
||
public float position;
|
||
/// <summary>
|
||
/// 视频的总时长,单位为秒
|
||
/// </summary>
|
||
public float duration;
|
||
/// <summary>
|
||
/// 当前的缓冲进度,缓冲进度区间为 (0~100],100表示缓冲完成
|
||
/// </summary>
|
||
public int buffered;
|
||
}
|
||
|
||
public class WXVideoProgress
|
||
{
|
||
/// <summary>
|
||
/// 视频的总时长,单位为秒
|
||
/// </summary>
|
||
public float duration;
|
||
/// <summary>
|
||
/// 当前的缓冲进度,缓冲进度区间为 (0~100],100表示缓冲完成
|
||
/// </summary>
|
||
public int buffered;
|
||
}
|
||
|
||
public class WXVideoTimeUpdate
|
||
{
|
||
/// <summary>
|
||
/// 当前的播放位置,单位为秒
|
||
/// </summary>
|
||
public float position;
|
||
/// <summary>
|
||
/// 视频的总时长,单位为秒
|
||
/// </summary>
|
||
public float duration;
|
||
}
|
||
|
||
|
||
//创建视频,详见 https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html
|
||
public class WXCreateVideoParam
|
||
{
|
||
/// <summary>
|
||
/// 视频的左上角横坐标
|
||
/// </summary>
|
||
public int x=0;
|
||
/// <summary>
|
||
/// 视频的左上角纵坐标
|
||
/// </summary>
|
||
public int y=0;
|
||
/// <summary>
|
||
/// 视频的宽度
|
||
/// </summary>
|
||
public int width=300;
|
||
/// <summary>
|
||
/// 视频的高度
|
||
/// </summary>
|
||
public int height=100;
|
||
/// <summary>
|
||
/// 视频的资源地址
|
||
/// </summary>
|
||
public string src;
|
||
/// <summary>
|
||
/// 视频的封面
|
||
/// </summary>
|
||
public string poster;
|
||
/// <summary>
|
||
/// 视频的初始播放位置,单位为 s 秒
|
||
/// </summary>
|
||
public int initialTime;
|
||
/// <summary>
|
||
/// 视频的播放速率,有效值有 0.5、0.8、1.0、1.25、1.5
|
||
/// </summary>
|
||
public float playbackRate=1.0f;
|
||
/// <summary>
|
||
/// 视频是否为直播
|
||
/// </summary>
|
||
public bool live;
|
||
/// <summary>
|
||
/// 视频的缩放模式
|
||
/// </summary>
|
||
public string objectFit= "contain";
|
||
/// <summary>
|
||
/// 视频是否显示控件
|
||
/// </summary>
|
||
public bool controls = true;
|
||
/// <summary>
|
||
/// 是否显示视频底部进度条
|
||
/// </summary>
|
||
public bool showProgress = true;
|
||
/// <summary>
|
||
/// 是否显示控制栏的进度条
|
||
/// </summary>
|
||
public bool showProgressInControlMode = true;
|
||
/// <summary>
|
||
/// 视频背景颜色
|
||
/// </summary>
|
||
public string backgroundColor ="#000000";
|
||
/// <summary>
|
||
/// 视频是否自动播放
|
||
/// </summary>
|
||
public bool autoplay;
|
||
/// <summary>
|
||
/// 视频是否是否循环播放
|
||
/// </summary>
|
||
public bool loop;
|
||
/// <summary>
|
||
/// 视频是否禁音播放
|
||
/// </summary>
|
||
public bool muted;
|
||
/// <summary>
|
||
/// 视频是否遵循系统静音开关设置(仅iOS)
|
||
/// </summary>
|
||
public bool obeyMuteSwitch;
|
||
/// <summary>
|
||
/// 是否启用手势控制播放进度
|
||
/// </summary>
|
||
public bool enableProgressGesture = true;
|
||
/// <summary>
|
||
/// 是否开启双击播放的手势
|
||
/// </summary>
|
||
public bool enablePlayGesture;
|
||
/// <summary>
|
||
/// 是否显示视频中央的播放按钮
|
||
/// </summary>
|
||
public bool showCenterPlayBtn = true;
|
||
/// <summary>
|
||
/// 视频是否显示在游戏画布之下
|
||
/// </summary>
|
||
public bool underGameView;
|
||
}
|
||
|
||
|
||
public class WXClipboardParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
public string data;
|
||
}
|
||
|
||
public class WXClipboardResponse : WXTextResponse
|
||
{
|
||
public string data;
|
||
}
|
||
|
||
public enum WXToastIcon {
|
||
/// <summary>
|
||
/// 显示成功图标,此时 title 文本最多显示 7 个汉字长度
|
||
/// </summary>
|
||
success,
|
||
/// <summary>
|
||
/// 显示失败图标,此时 title 文本最多显示 7 个汉字长度
|
||
/// </summary>
|
||
error,
|
||
/// <summary>
|
||
/// 显示加载图标,此时 title 文本最多显示 7 个汉字长度
|
||
/// </summary>
|
||
loading,
|
||
/// <summary>
|
||
/// 不显示图标,此时 title 文本最多可显示两行
|
||
/// </summary>
|
||
none
|
||
}
|
||
|
||
public class WXShowToastParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 提示的内容
|
||
/// </summary>
|
||
public string title;
|
||
/// <summary>
|
||
/// 图标
|
||
/// </summary>
|
||
public WXToastIcon icon = WXToastIcon.success;
|
||
/// <summary>
|
||
/// 提示的延迟时间
|
||
/// </summary>
|
||
public int duration = 1500;
|
||
/// <summary>
|
||
/// 是否显示透明蒙层,防止触摸穿透
|
||
/// </summary>
|
||
public bool mask = false;
|
||
|
||
}
|
||
|
||
public class WXModalResponse : WXTextResponse
|
||
{
|
||
/// <summary>
|
||
/// editable 为 true 时,用户输入的文本
|
||
/// </summary>
|
||
public string content;
|
||
/// <summary>
|
||
/// 为 true 时,表示用户点击了确定按钮
|
||
/// </summary>
|
||
public bool confirm;
|
||
/// <summary>
|
||
/// 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭)
|
||
/// </summary>
|
||
public bool cancel;
|
||
}
|
||
|
||
public class WXShowModalParam : WXBaseActionParam<WXModalResponse>
|
||
{
|
||
/// <summary>
|
||
/// 提示的内容
|
||
/// </summary>
|
||
public string title;
|
||
/// <summary>
|
||
/// 提示的内容
|
||
/// </summary>
|
||
public string content;
|
||
/// <summary>
|
||
/// 是否显示取消按钮
|
||
/// </summary>
|
||
public bool showCancel = true;
|
||
/// <summary>
|
||
/// 取消按钮的文字,最多 4 个字符
|
||
/// </summary>
|
||
public string cancelText = "取消";
|
||
/// <summary>
|
||
/// 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串
|
||
/// </summary>
|
||
public string cancelColor = "#000000";
|
||
/// <summary>
|
||
/// 确认按钮的文字,最多 4 个字符
|
||
/// </summary>
|
||
public string confirmText = "确定";
|
||
/// <summary>
|
||
/// 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串
|
||
/// </summary>
|
||
public string confirmColor = "#576B95";
|
||
/// <summary>
|
||
/// 是否显示输入框
|
||
/// </summary>
|
||
public bool editable = false;
|
||
/// <summary>
|
||
/// 显示输入框时的提示文本
|
||
/// </summary>
|
||
public string placeholderText;
|
||
}
|
||
|
||
public class WXShowLoadingParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 提示的内容
|
||
/// </summary>
|
||
public string title;
|
||
/// <summary>
|
||
/// 是否显示透明蒙层,防止触摸穿透
|
||
/// </summary>
|
||
public bool mask = false;
|
||
|
||
}
|
||
|
||
public enum EnvVersion {
|
||
/// <summary>
|
||
/// 开发版
|
||
/// </summary>
|
||
develop,
|
||
/// <summary>
|
||
/// 体验版
|
||
/// </summary>
|
||
trial,
|
||
/// <summary>
|
||
/// 正式版
|
||
/// </summary>
|
||
release
|
||
}
|
||
|
||
/// <summary>
|
||
/// 跳转小程序参数,https://developers.weixin.qq.com/minigame/dev/api/navigate/wx.navigateToMiniProgram.html
|
||
/// </summary>
|
||
public class WXNavigateToMiniProgramParam : WXBaseActionParam<WXTextResponse>
|
||
{
|
||
/// <summary>
|
||
/// 必填,要打开的小程序 appId
|
||
/// </summary>
|
||
public string appId;
|
||
/// <summary>
|
||
/// 打开的页面路径,如果为空则打开首页。
|
||
/// </summary>
|
||
public string path;
|
||
/// <summary>
|
||
/// 需要传递给目标小程序的数据
|
||
/// </summary>
|
||
public object extraData;
|
||
public string extraDataRaw; // 该字段不需要传值
|
||
/// <summary>
|
||
/// 要打开的小程序版本,默认release
|
||
/// </summary>
|
||
public EnvVersion envVersion = EnvVersion.release;
|
||
/// <summary>
|
||
/// 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。
|
||
/// </summary>
|
||
public string shortLink;
|
||
}
|
||
|
||
public enum GameClubButtonType
|
||
{
|
||
/// <summary>
|
||
/// 可以设置背景色和文本的按钮
|
||
/// </summary>
|
||
text,
|
||
/// <summary>
|
||
/// 只能设置背景贴图的按钮,背景贴图会直接拉伸到按钮的宽高
|
||
/// </summary>
|
||
image
|
||
}
|
||
public enum GameClubButtonTextAlign
|
||
{
|
||
/// <summary>
|
||
/// 居左
|
||
/// </summary>
|
||
left,
|
||
/// <summary>
|
||
/// 居中
|
||
/// </summary>
|
||
center,
|
||
/// <summary>
|
||
/// 居右
|
||
/// </summary>
|
||
right,
|
||
}
|
||
public struct GameClubButtonStyle
|
||
{
|
||
public int left;
|
||
public int top;
|
||
public int width;
|
||
public int height;
|
||
public string backgroundColor;
|
||
public string borderColor;
|
||
public int borderWidth;
|
||
public int borderRadius;
|
||
public string color;
|
||
public GameClubButtonTextAlign textAlign;
|
||
public int fontSize;
|
||
public int lineHeight;
|
||
}
|
||
public enum GameClubButtonIcon
|
||
{
|
||
green,
|
||
white,
|
||
dark,
|
||
light,
|
||
}
|
||
/// <summary>
|
||
/// 创建游戏圈参数,详见 https://developers.weixin.qq.com/minigame/dev/api/open-api/game-club/wx.createGameClubButton.html
|
||
/// </summary>
|
||
public class WXCreateGameClubButtonParam
|
||
{
|
||
/// <summary>
|
||
/// 必填,按钮类型
|
||
/// </summary>
|
||
public GameClubButtonType type;
|
||
/// <summary>
|
||
/// 按钮上的文本,仅当 type 为 text 时有效
|
||
/// </summary>
|
||
public string text;
|
||
/// <summary>
|
||
/// 按钮的背景图片,仅当 type 为 image 时有效
|
||
/// </summary>
|
||
public string image;
|
||
/// <summary>
|
||
/// 必填,按钮的样式
|
||
/// </summary>
|
||
public GameClubButtonStyle style;
|
||
public string styleRaw;
|
||
/// <summary>
|
||
/// 必填,游戏圈按钮的图标,仅当 object.type 参数为 image 时有效。
|
||
/// </summary>
|
||
public GameClubButtonIcon icon;
|
||
}
|
||
|
||
public class WXRequestSubscribeSystemMessageResponse : WXTextResponse
|
||
{
|
||
/// <summary>
|
||
/// 系统订阅消息类型,值为"accept"、"reject"、"ban","accept", "" 表示用户同意订阅该类型对应的模板消息,"reject"表示用户拒绝订阅该类型对应的模板消息,"ban"表示已被后台封禁, ""表示没有调用该类型请求。例如 { errMsg: "requestSubscribeSystemMessage:ok", SYS_MSG_TYPE_INTERACTIVE: "accept" } 表示用户同意订阅'SYS_MSG_TYPE_INTERACTIVE'这条消息
|
||
/// </summary>
|
||
public string SYS_MSG_TYPE_INTERACTIVE;
|
||
public string SYS_MSG_TYPE_RANK;
|
||
}
|
||
|
||
/// <summary>
|
||
/// state 值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { TemplateId: "zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE", state : "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息
|
||
/// </summary>
|
||
public class WXSubscribeMessageItem {
|
||
public string TemplateId;
|
||
public string state;
|
||
}
|
||
|
||
public class WXRequestSubscribeMessageResponse : WXTextResponse
|
||
{
|
||
/// <summary>
|
||
/// 跟官网返回格式不一样,以这里为准
|
||
/// </summary>
|
||
public WXSubscribeMessageItem[] resItems;
|
||
}
|
||
|
||
public class WXRequestSubscribeSystemMessageParam : WXBaseActionParam<WXRequestSubscribeSystemMessageResponse>
|
||
{
|
||
public string[] msgTypeList;
|
||
|
||
}
|
||
/// <summary>
|
||
/// 清理文件缓存的结果
|
||
/// </summary>
|
||
public enum ReleaseResult {
|
||
/// <summary>
|
||
/// 无需清理,空间足够
|
||
/// </summary>
|
||
noNeedRelease = 1,
|
||
/// <summary>
|
||
/// 超过最大存储容量,不清理
|
||
/// </summary>
|
||
exceedMax,
|
||
/// <summary>
|
||
/// 清理成功
|
||
/// </summary>
|
||
releaseSuccess,
|
||
}
|
||
/// <summary>
|
||
/// 启动数据
|
||
/// </summary>
|
||
public class LaunchEvent
|
||
{
|
||
public LaunchEventType type;
|
||
/// <summary>
|
||
/// 当前阶段耗时
|
||
/// </summary>
|
||
public int costTimeMs;
|
||
/// <summary>
|
||
/// 自插件启动后总运行时间
|
||
/// </summary>
|
||
public int runTimeMs;
|
||
/// <summary>
|
||
/// 是否需要下载资源包
|
||
/// </summary>
|
||
public bool needDownloadDataPackage;
|
||
/// <summary>
|
||
/// 首包资源是否作为小游戏代码分包下载
|
||
/// </summary>
|
||
public bool loadDataPackageFromSubpackage;
|
||
/// <summary>
|
||
/// 当前阶段完成时是否处于前台
|
||
/// </summary>
|
||
public bool isVisible;
|
||
/// <summary>
|
||
/// 是否开启了代码分包
|
||
/// </summary>
|
||
public bool useCodeSplit;
|
||
/// <summary>
|
||
/// 是否iOS高性能模式
|
||
/// </summary>
|
||
public bool isHighPerformance;
|
||
}
|
||
/// <summary>
|
||
/// 启动阶段类型定义
|
||
/// </summary>
|
||
public enum LaunchEventType {
|
||
/// <summary>
|
||
/// 插件启动
|
||
/// </summary>
|
||
launchPlugin,
|
||
/// <summary>
|
||
/// 下载wasm代码
|
||
/// </summary>
|
||
loadWasm,
|
||
/// <summary>
|
||
/// 编译wasm
|
||
/// </summary>
|
||
compileWasm,
|
||
/// <summary>
|
||
/// 下载首包资源
|
||
/// </summary>
|
||
loadAssets,
|
||
/// <summary>
|
||
/// 读取首包资源
|
||
/// </summary>
|
||
readAssets = 5,
|
||
/// <summary>
|
||
/// 引擎初始化(callmain)
|
||
/// </summary>
|
||
prepareGame,
|
||
}
|
||
} |