Moyu.d.ts 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975
  1. /*
  2. ***********************************************************************************
  3. * 功能:moyusdk
  4. * 版本: v1.3
  5. * 备注:更新日志
  6. 2021.10.11: 初版功能发布
  7. 2021.10.15: 更新音频基础功能
  8. 2022.1.5: 增加实名认证
  9. 2022.1.12 增加防沉迷
  10. ***********************************************************************************
  11. */
  12. declare enum MoyuPlat
  13. {
  14. web=0, //h5 网页
  15. tt=1, //头条
  16. op=2, //oppo
  17. vv=3, //vivo
  18. mz=4, //魅族
  19. wx=5, //微信
  20. qq=6, //qq
  21. f399=7, //4399h5
  22. ks=8, //快手
  23. hw=9, //华为
  24. xm=10, //小米rpk
  25. csj=11, //穿山甲(官包)
  26. mmy=12, //摸摸鱼
  27. xmApk=13, //小米apk
  28. vvApk=14, //vvapk
  29. ios=15, //IOS平台
  30. t33=16, //233
  31. hwkb=17, //好玩快爆
  32. opApk=18, //oppoAPK
  33. hhw=19, //猴好玩
  34. f399Apk=20, //4399APK
  35. ttApk=21, //头条APK
  36. a233=22, //233买量
  37. }
  38. declare enum MoyuRankType
  39. {
  40. total='total', //总榜
  41. month='month', //月榜
  42. week='week', //周榜
  43. day='day' //日榜
  44. }
  45. declare class MoyuNative
  46. {
  47. id:any; //广告ID 一般都是string
  48. title:string; //广告标题文本
  49. desc:string; //描述文本
  50. btnTxt:string; //按钮文本
  51. icon:string; //icon url 当前广告可能没有
  52. image:string; //image url
  53. }
  54. declare class MoyuCfg
  55. {
  56. myId:number; //摸鱼ID
  57. myKey:string; //摸鱼KEY
  58. plat:MoyuPlat; //平台
  59. version:number; //版本号,默认0
  60. ads:MoyuAds; //广告参数
  61. }
  62. declare class MoyuAds
  63. {
  64. //头条
  65. ttVideoId:string;
  66. ttBannerId:string;
  67. ttInsertId:string;
  68. //oppo
  69. opVideoId:string;
  70. opBannerId:string;
  71. opNativeId:string;
  72. //vivo
  73. vvVideoId:string;
  74. vvBannerId:string;
  75. vvInsertId:string;
  76. vvNativeId:string;
  77. //魅族
  78. mzVideoId:string;
  79. mzBannerId:string;
  80. mzInsertId:string;
  81. //微信
  82. wxVideoId:string;
  83. wxBannerId:string;
  84. wxInsertId:string;
  85. //qq
  86. qqVideoId:string;
  87. qqBannerId:string;
  88. qqInsertId:string;
  89. qqBoxId:string;
  90. qqBlockId:string;
  91. //华为
  92. hwVideoId:string;
  93. hwBannerId:string;
  94. hwInsertId:string;
  95. //快手
  96. ksVideoId:string;
  97. ksBannerId:string;
  98. ksInsertId:string;
  99. }
  100. interface MoyuUser
  101. {
  102. /**
  103. * 是否授权用户
  104. */
  105. isAuth:boolean;
  106. /**
  107. * 实名
  108. */
  109. realName:string;
  110. /**
  111. * 实名码(身份证号)
  112. */
  113. realCode:string;
  114. /**
  115. * 本地用户唯一ID
  116. */
  117. userId:string;
  118. /**
  119. * 授权用户唯一ID
  120. */
  121. openId:string;
  122. /**
  123. * 昵称
  124. */
  125. nickName:string;
  126. /**
  127. * 头像url
  128. */
  129. headIcon:string;
  130. /**
  131. * 用户性别,0: 未知;1:男性;2:女性
  132. */
  133. gender:number;
  134. /**
  135. * 用户所在城市(可能取不到)
  136. */
  137. city:string;
  138. /**
  139. * 用户年龄
  140. */
  141. age:number;
  142. /**
  143. * 用户创建时间(第一次登陆时间)
  144. * 返回的一个时间戳time,可通过getDate(time)来获取日期格式
  145. */
  146. createTime:number; //创建时间
  147. /**
  148. * 用户登陆次数(进入游戏次数)
  149. */
  150. loginCount:number;
  151. /**
  152. * 用户视频广告统计,数组
  153. * 第一个数为成功次数,第二个数为未看完次数
  154. */
  155. videoCount:number[];
  156. }
  157. declare class Moyu
  158. {
  159. /**
  160. * 摸鱼SDK初始化
  161. * let cfg=new MoyuCfg();
  162. cfg.myId=110;
  163. cfg.myKey='abcdefg1234567';
  164. cfg.plat=MoyuPlat.tt;
  165. cfg.version=0;
  166. cfg.ads.ttVideoId='xxx';
  167. MoyuSdk.Inst.init(cfg,this,()=>{
  168. //....
  169. },true);
  170. * myId 摸鱼分配的id
  171. * mykey 摸鱼密钥
  172. * plat 当前平台 MoyuPlat
  173. * version 自定义线上版本号(注意是线上版本号),为了区分当前审核与线上版本
  174. * ads 广告ID组配置,
  175. *
  176. * @param cfg 信息配置
  177. * @param caller 执行域
  178. * @param call sdk初始化完成回调,在一定要SDK返回信息后进行的内容可以在回调后做
  179. * @param debug 是否开启调试信息,上线后建议关闭false,默认关闭
  180. *
  181. */
  182. static init(cfg?:any,caller?:any,call?:Function,debug?:boolean);
  183. /**
  184. * 初始化app平台应用(一般是在需要传递参数来初始化使用)
  185. * @param msg 参数
  186. */
  187. static initApp(msg?:string)
  188. /**
  189. * Targo买量统计(原生APP)
  190. * @param appid Targo的appid
  191. * @param key Targo的key
  192. */
  193. static initTargoApp(appid:string,key:string)
  194. /**
  195. * 退出(关闭),部分平台无效
  196. */
  197. static exit()
  198. /**
  199. * 防沉迷初始化(实名成年账号激活也无效)
  200. * @param active true=激活
  201. */
  202. static initFCM(active:boolean)
  203. /**
  204. * 可玩游戏时间,防沉迷账号返回对应可玩时间,成年账号返回9999。
  205. * 返回0则表示进入防沉迷,不能再玩。
  206. * 22——8点返回0;
  207. */
  208. static get gameTime():number
  209. /**
  210. * 是否已实名
  211. * true表示已实名认证过了
  212. */
  213. static get isRealName()
  214. /**
  215. * 是否需要进行实名验证(不需要的平台返回false,认证过的返回true)
  216. */
  217. static get needRealName()
  218. /**
  219. * 实名认证
  220. * @param name 姓名
  221. * @param code 身份证号码
  222. * @param call 认证回调
  223. * authenticate('xx','xxx',(res)=>{
  224. * res==true表示认证成功
  225. * })
  226. */
  227. static authenticate(name:string,code:string,call:Function)
  228. /**
  229. * 是否需要显示用户协议
  230. */
  231. static get hasAgree()
  232. /**
  233. * 是否审核中...
  234. */
  235. static get isLegal()
  236. static set isLegal(legal:boolean)
  237. /**
  238. * 是否屏蔽区域...
  239. */
  240. static get isMasked()
  241. /**
  242. * 用户协议是否同意
  243. * @param agree true表示同意
  244. */
  245. static userAgree(agree:boolean)
  246. /**
  247. * 加载分包资源,game.json的分包配置
  248. * @param sub 分包名
  249. * @param update 分包下载时进度更新
  250. *
  251. * Moyu.loadSubRes("sub",(pro)=>{
  252. * console.log(pro);
  253. * }).then(()=>{
  254. console.log( "load done");
  255. });
  256. */
  257. static loadSubRes(sub:string,update?:Function)
  258. /**
  259. * 用户信息初始化
  260. * @param caller 执行域 this
  261. * @param call 回调
  262. * @param force 强力授权(如抖音授权被拒绝后,再授权则不会发起,force=true则会弹出权限设置页面,一般是用户主动点击授权来使用,未有相关功能的平台调用无效.)
  263. * 不获取对应信息则不传,传入则表示需要。(主要是获取账号唯一不变的openid)
  264. * oppo获取openid不需要;
  265. * @param key 对应平台应用申请时分配的 rpk平台一般叫appKey ,微信字节小游戏一般叫appid
  266. * @param secret 对应平台后台查看,如重新查看变化后需要更新。
  267. * @param pkgName 对应包名(RPK等平台使用),没有不填写
  268. *
  269. * 回调中返回用户信息MoyuUser
  270. */
  271. static initUser(caller:any,call:Function,force?:boolean,key?:string,secret?:string,pkgName?:string)
  272. /**
  273. * 返回用户信息MoyuUser;
  274. * 要拉取授权信息,请先调用initUser();
  275. * 包含的数据见MoyuUser;
  276. */
  277. static getUserInfo():MoyuUser
  278. /**
  279. * 创建微信授权按钮,返回按钮对象btn,根据页面显隐做对应调整:btn.show();btn.hide();
  280. * 非微信平台或者不需要在创建时返回null;
  281. * @param posx 屏幕位置x的百分比,如0.5表示屏幕中心
  282. * @param posy 屏幕位置y的百分比,如0.5表示屏幕中心
  283. * @param width 宽度
  284. * @param height 高度
  285. * @param imgUrl 图片地址 res/img/xx.png;
  286. * @param call 授权成功回调
  287. * 按钮锚点已设在正中心,方便计算适配位置。
  288. */
  289. static createWXUserBtn(posx,posy,width,height,imgUrl,call)
  290. /**
  291. * 获取平台系统信息
  292. */
  293. static getSystemInfo()
  294. /**
  295. * 设置改变时
  296. * @param isAudio 是否允许播放声音 true=允许
  297. * @param isVt 是否开启震动 true=震动
  298. */
  299. static onSetting(isAudio:boolean,isVt:boolean)
  300. /**
  301. * 游戏开始时(游戏核心玩法开始),便于打点统计
  302. * @param value 游戏进度,第几个or第几次==
  303. */
  304. static onGameStart(value:number)
  305. /**
  306. * 游戏结束时
  307. * @param value 游戏进度,第几个or第几次==
  308. * @param result 结果:胜利=1;失败=2,默认其他0;
  309. */
  310. static onGameEnd(value:number,result?:number)
  311. /**
  312. * 保存数据到服务器
  313. * @param data 数据,json
  314. * @param key 存储key,默认使用openid(请先保证获取到openid,没有存储出错),或者自定义一个唯一ID
  315. */
  316. static saveServerData(data:{},key?:string)
  317. /**
  318. * 获取服务器数据
  319. * @param call 回调
  320. * @param caller 执行域
  321. * @param key 保存数据的key,默认使用openid(请先保证已取到openid)
  322. */
  323. static getServerData(call:Function,caller?,key?:string)
  324. /**
  325. * 清楚本地SDK数据
  326. */
  327. static clearData()
  328. /**
  329. * 获取平台的屏幕尺寸(有别于引擎返回的)
  330. */
  331. static getPlatSize()
  332. /**
  333. * 显示更多游戏,字节平台请确保game.json里有配置
  334. * 4399h5必须要有
  335. */
  336. static showMoreGame()
  337. /**
  338. * 获取摸鱼更多游戏推荐列表(抖音、微信)
  339. * @param caller 执行域
  340. * @param call 回调
  341. * getGameList(this,(list)=>{})
  342. * list 数据结构
  343. myId:string, //摸鱼id
  344. type:number, //类别,控制其显示位置,没位置要求可忽略
  345. name:string, //游戏名称
  346. icon:string, //游戏图标url
  347. banner:string, //游戏banner图url,需要banner推荐的使用,没有则不要使用banner推荐
  348. appId:string, //微信APPID, 微信跳转APP使用
  349. videoId:string, //抖音视频ID, 抖音跳转视频使用(通过跳转到对应视频来进入对应游戏)
  350. launchNum:number,//玩家次数,如 3542人在玩;1.2w人在玩(大于1w请做数字转换显示)
  351. */
  352. static getGameList(caller,call)
  353. /**
  354. * 上传排行榜数据(需要摸鱼先分配一个id)
  355. * @param rankId 排行榜id
  356. * @param rankScore 排行榜
  357. * @param fresh 刷新(替换已上传的数据,不比较),默认false(比之前的值小则不会上传)
  358. * @param force 强制上传(默认是false未授权用户数据不上传)
  359. * @param data 自定义数据,用户数据默认已包含,该数据是排行榜需要的额外数据。
  360. * @param dataId 唯一ID,单数据依据(默认会使用用户userId)
  361. */
  362. static upRankData(rankId:number,rankScore:number,fresh?:boolean,force?:boolean,data?:{},dataId?:string)
  363. /**
  364. * 获取排行榜数据
  365. * @param data 排行拉取数据标识
  366. * @param caller 执行域
  367. * @param call 回调
  368. * @param fresh 刷新(默认false),true表示重新拉取数据(不必每次都刷新)
  369. *
  370. * 排行榜top50数据
  371. * let data={
  372. rankId:10100, //排行榜id
  373. type:MoyuRankType.total, //排行榜类别
  374. page:1, //拉取第几页
  375. pageSize:50, //一页数量
  376. }
  377. */
  378. static getRankList(data:{},caller:any,call:Function,fresh?:boolean)
  379. /**
  380. * 创建一个视频广告,若不需要自定义设置,可在moyu初始化配置广告ID直接初始化
  381. * @param aid 广告ID
  382. */
  383. public initVideoAd(aid:string)
  384. /**
  385. * 播放一个视频广告
  386. * @param scusess 成功回调
  387. * @param adtype 广告分类,不同位置
  388. * @param caller 执行域 this
  389. * @param fail 失败回调,可以通过监控onMoyuTip:20101来统一获取视频未播放完整提示
  390. */
  391. static showVideoAd(scusess?:Function,adtype?:number,caller?,fail?:Function)
  392. /**
  393. * 创建一个banner广告,若不需要自定义设置,可在moyu初始化配置广告ID直接初始化
  394. * @param aid 广告ID
  395. * @param ft 刷新时间(默认30秒)
  396. * @param posx 位置x 默认0.5
  397. * @param posy 位置y 默认1
  398. * 默认在底部中间
  399. */
  400. static initBannerAd(aid:string,ft?:number, posx?:number,posy?:number)
  401. /**
  402. * banner广告显示
  403. * @param show true显示,false隐藏
  404. */
  405. static showBannerAd(show:boolean)
  406. /**
  407. * banner广告位置
  408. *
  409. * @param posx 广告中心点在屏幕宽度的百分比,如0.5表示横向在屏幕中间
  410. * @param posy 广告中心点在屏幕高度的百分比。0在顶部,1在底部
  411. * 大部分平台都不提供改变banner大小了,目前只提供改变位置
  412. */
  413. static setBannerPos(posx:number,posy:number)
  414. /**
  415. * 初始化插屏广告
  416. * @param aid 插屏广告ID
  417. */
  418. static initInsertAd(aid)
  419. /**
  420. * 显示一个插屏广告,可延迟间隔显示
  421. * @param delay 延迟时间,毫秒
  422. * @param gap 间隔时间(在上一次插屏或视频广告后多少时间内不会播放),毫秒
  423. * @param type 插屏类型,只有一种插屏的默认不用管,APP多类型插屏传其他值,原生接入时做对应实现。
  424. */
  425. static showInsertAd(delay?:number,gap?:number,type?:string)
  426. /**
  427. * 初始化一个模版广告,如果ID相同则删除上一个
  428. * @param aid 广告ID
  429. * @param left 距离左边比值,如0.5表示横向中间开始
  430. * @param top 距离顶部比值,如0表示贴近顶部开始
  431. * @param freshTime 刷新时间,默认30秒
  432. */
  433. static initCustomAd(aid:string,left:number,top:number,freshTime?:number)
  434. /**
  435. * 根据ID控制对应的模版广告显隐
  436. * @param aid 广告id
  437. * @param show true表示显示
  438. */
  439. static showCustomAd(aid:string,show:boolean)
  440. /**
  441. * qq Block广告
  442. * @param show
  443. */
  444. static showBlock(show:boolean)
  445. /**
  446. * 盒子广告 qq
  447. */
  448. static showBox()
  449. /**
  450. * 获取一个原生广告
  451. * @param caller 执行域
  452. * @param call 回调
  453. * 回调中返回原生广告信息MoyuNative
  454. *
  455. * icon可能为空
  456. */
  457. static getNativeAd(caller:any,call:Function)
  458. /**
  459. * 原生广告上报 (ov平台)
  460. * @param type 1显示上报 2点击上报,默认2
  461. * 拉取到广告后,已默认显示上报
  462. * 一般只需要在点击时 reportNative() 即可
  463. */
  464. static reportNative(type?:number)
  465. /**
  466. * 设置分享信息,请在分享前添加
  467. * @param title 必要,分享标题(需要跟游戏主题或者名字相关联)
  468. * @param keys 关键标签(["标签1","标签2"..]),推荐添加
  469. * @param shareId 审核了的分享ID
  470. * @param imgUrl 分享的图片链接,可不添加
  471. * @param query 启动传参(如k1=v1&k2=v2),getLaunchOptions()获取启动参数
  472. */
  473. static setShareInfo(title:string,keys?:string[],shareId?:string,imgUrl?:string,query?:string)
  474. /**
  475. * 游戏分享(字节、微信、QQ、快手)。
  476. * 若是需要视频分享,可先用canShare检测是否可以视频分享。
  477. * 微信分享已没有成功失败判断,发起分享回来后都算成功。
  478. * 已正确录屏会默认视频分享,若录屏后却需要普通分享,调用Moyu.shareVideo='';清除储存的录屏。
  479. * @param call 分享回调
  480. * @param caller 执行域
  481. * @param imgUrl 分享图片的url https://xxx.xxx/x;
  482. * @param query 分享链接中带的参数,通过链接启动的人可以从getLaunchOptions获取带出的参数
  483. * 字节视频分享成功后回调可以得到视频id
  484. * shareGame((res)=>{});
  485. * res==false;表示分享失败。
  486. */
  487. static shareGame(call?:Function,caller?:any,imgUrl?:string,query?:string)
  488. /**
  489. * 检测能否进行分享,返回分类情况
  490. * 0:不能分享(平台不支持),不应显示分享相关
  491. * 1:能普通分享,不支持视频分享,不应显示视频分享相关
  492. * 2:录屏失败,不能分享
  493. * 3:录屏时间太短,不能分享
  494. * ...
  495. * >100:表示能进行视频分享。
  496. *
  497. * 2和3 要给出反馈提示:录屏时间太短,不能分享;并关闭分享(方便过审)。
  498. *
  499. * 视频分享要在recordEnd()回调后用才能保证获取视频录制情况正确
  500. */
  501. static canShare():number
  502. /**
  503. * 设置分享视频
  504. * @param path 完整路径
  505. */
  506. static set shareVideo(path:string)
  507. /**
  508. * 获取分享视频(路径)
  509. */
  510. static get shareVideo():string
  511. /**
  512. * 获取启动参数
  513. */
  514. static getLaunchOptions()
  515. /**
  516. * 添加桌面快捷方式
  517. * @param call 添加后回调
  518. * @param caller 执行域 this
  519. */
  520. static addLnk(call?:Function,caller?:any)
  521. /**
  522. * 能否进行关注
  523. * 抖音无法检查已关注 返回true
  524. * 快手返回true表示可以,false表示不能关注(已关注、平台不支持、环境不支持)
  525. * 其他平台目前没有 否是false
  526. */
  527. static get canFocus():boolean
  528. /**
  529. * 发起关注官方号
  530. * 目前有抖音与快手平台可以
  531. * @param call 关注回调,true=成功,false=失败
  532. * @param caller 执行域
  533. */
  534. static focus(call?:Function,caller?:any)
  535. /**录屏相关功能不支持平台直接无效,调用不影响 */
  536. /**
  537. * @param time 录屏时间,最大300秒,不建议大于60秒
  538. * @param clip 裁剪片段,裁剪保留最后的一个时间时段
  539. * recordGame(60,false) //表示录屏60秒
  540. * recordGame(30,true) //表示最大录屏,裁剪最后的30秒
  541. */
  542. static recordGame(time:number,clip?:boolean)
  543. /**
  544. * 暂停录屏
  545. * @param pause ture 暂停,false 恢复录屏
  546. */
  547. static recordPause(pause:boolean)
  548. /**
  549. * 录屏结束
  550. * @param caller 执行域
  551. * @param call 回调
  552. * recordEnd((path)=>{
  553. * conslog.log(path); //录屏地址
  554. * })
  555. */
  556. static recordEnd(caller,call)
  557. /**
  558. * 需求真实时间,请在获取时间前设置(因网络原因,尽量提前设置)
  559. * @param need 是否需要真实时间
  560. */
  561. static needRealTime(need?:boolean)
  562. /**
  563. * 获取当前时间戳,默认毫秒..
  564. * @param sencond 是否以秒返回
  565. */
  566. static getTime(sencond?):number
  567. /**
  568. * 获取当前日期 默认number
  569. * number:20211010
  570. * string:2021/10/10
  571. * @param time 可以传入一个时间戳返回日期格式,默认0返回当前时间
  572. * @param isNum 是否以数字方式返回
  573. */
  574. static getDate(time?:number,isNum?:boolean):number|string
  575. /**
  576. * 获取星期几
  577. */
  578. static getWeek():number
  579. /**
  580. * 获取当前第几周(这一年的)
  581. */
  582. static getWeekNum():number
  583. /**
  584. * 是否为新的一天。
  585. * 每新的一天上线后第一次取值为true,其他时间为false。
  586. * 项目里应该只有一次调用。
  587. * @param caller 执行域 this
  588. * @param call 回调 true=新的一天
  589. * Moyu.isNewDay(this,(isnew)=>{
  590. * if(isnew)console.log("新的一天");
  591. * })
  592. */
  593. static isNewDay(caller:any,call:Function)
  594. /**
  595. * 是否为新的一周
  596. * 每周一上线后第一次取值为true,其他时间为false
  597. * @param caller 执行域 this
  598. * @param call 回调 true=新的一周
  599. * 同isNewDay
  600. */
  601. static isNewWeek(caller:any,call:Function)
  602. /**
  603. * 数据打点(相关功能配置还需要后台开启)
  604. * @param key 关键key
  605. * @param data 打点数据,打点数据最多2条 如 sendDataEvent("level",{id:1,result:2});
  606. */
  607. static sendDataEvent(key:string,data?:{})
  608. /**
  609. * 发送一个POST请求
  610. * @param url url
  611. * @param data 数据
  612. * @param call 回调
  613. * senPost('hxxx.xx.x',data,()=>{})
  614. */
  615. static sendPost(url,data,call)
  616. /**
  617. * 发送一个Get请求
  618. * @param url url
  619. * @param call 回调
  620. * senGet('hxxx.xx.x',()=>{})
  621. */
  622. static sendGet(url,call)
  623. /**
  624. * 获得一个随机数(包含最小值,不包含最大值)
  625. * @param min 最小值
  626. * @param max 最大值
  627. */
  628. static getRandom(min: number, max: number): number
  629. /**
  630. * 获得一个随机字符串
  631. * @param len 字符串长度
  632. */
  633. static getRandString(len:number): string
  634. /**
  635. *
  636. * @param call
  637. * @param caller
  638. */
  639. static getLocation(call,caller?)
  640. /**
  641. * 跳转到视频播放页面(抖音才支持,字节其他平台不支持)
  642. * 刚发布的视频可能跳转不成功,需要等一会
  643. * @param vid 视频ID
  644. */
  645. static playVideo(vid)
  646. /**
  647. * 监听sdk反馈的提示信息,只注册一次
  648. * @param call 回调
  649. * @param caller 执行域
  650. * id查询MoyuDoc.ts
  651. * Moyu.setOnTipCall((id)=>{
  652. * if(id==20012)
  653. * console.log("切换到后台了");
  654. * else(id==20301)
  655. * console.log("分享失败了");
  656. * ...
  657. * },this)
  658. */
  659. static setOnTipCall(call:Function,caller?:any)
  660. /**
  661. * 是否有快捷方式(不支持平台也返回true)
  662. * true表示不应该进行创建了
  663. */
  664. static get hasShortCut()
  665. /**
  666. * 是否有阴影
  667. * true 可以显示阴影,fasle不显示(平台不支持)
  668. */
  669. static get hasShadow()
  670. /********平台音效相关接口*********/
  671. /**
  672. * 是否需要使用ogg音频(apk包都使用的ogg)
  673. */
  674. static get isNeedOgg()
  675. /**
  676. * 是否需要平台功能播放音频
  677. * 引擎音频在一些平台上会出现广告无法暂停声音等,可使用平台音频功能来播放。
  678. */
  679. static get isNeedPlatAudio()
  680. /**
  681. * 播放一个声音(同声音最多可同时存在3个)
  682. * @param path 完整路径
  683. * @param loop 是否循环
  684. */
  685. static playSound(path:string,loop?:boolean): void
  686. /**
  687. * 停止声音(相同路径的声音都会停止)
  688. * @param path 完整路径
  689. */
  690. static stopSound(path:string)
  691. /**
  692. * 播放背景音乐(只有一个)
  693. * @param path 路径
  694. */
  695. static playMusic(path:string)
  696. /**
  697. * 停止播放背景音乐
  698. */
  699. static stopMusic()
  700. /**
  701. * 背景音暂停
  702. * @param pause 暂停=true false=恢复
  703. */
  704. static pauseMusic(pause:boolean)
  705. /**
  706. * 播放一个声音并在结束时回调
  707. * @param caller 执行域
  708. * @param call 回调
  709. * @param path 路径
  710. */
  711. static playAudioWithEnd(caller:any,call:Function,path:string)
  712. /**
  713. * 静音后发起的声音播放都无效
  714. * @param mute 静音
  715. */
  716. static mute(mute:boolean): void
  717. /**
  718. * 音频扩展
  719. * 返回一个平台创建的音频实例
  720. * 自行控制
  721. */
  722. static createAudio():any
  723. /**
  724. * 获取平台自定义数据,为空可能是没有配置或没拉取到
  725. */
  726. static get platData():any
  727. /**
  728. * 获取平台运营配置,为空可能是没有配置或没拉取到
  729. */
  730. static get platConfig():any
  731. /************平台判断***********/
  732. /**
  733. * 该平台是否有用户信息
  734. */
  735. static get hasUserInfo()
  736. /**
  737. * 是否空平台(不在对应平台上也是)
  738. */
  739. static get isVoidPlat()
  740. /**
  741. * 当前平台
  742. */
  743. static get platType()
  744. /**
  745. * 是否该平台
  746. * @param plat 平台
  747. */
  748. static isPlat(plat)
  749. /**
  750. * 是否微信平台
  751. */
  752. static get isWx()
  753. /**
  754. * 是否qq平台
  755. */
  756. static get isQq()
  757. /**
  758. * 是否web平台
  759. */
  760. static get isWeb()
  761. /**
  762. * 是否小米APK包
  763. */
  764. static get isXMApk()
  765. /**
  766. * 是否4399h5小游戏
  767. */
  768. static get isF399()
  769. /**
  770. * 是否vivo平台
  771. */
  772. static get isVivo()
  773. /**
  774. * 是否oppo平台
  775. */
  776. static get isOppo()
  777. /**
  778. * 是否头条平台(包含抖音)
  779. */
  780. static get isTT()
  781. static get isTTApk()
  782. /**
  783. * 是否抖音平台(抖音、抖音极速版)
  784. * 视频跳转要抖音平台才支持
  785. */
  786. static get isDouyin()
  787. /**
  788. * 是否魅族平台
  789. */
  790. static get isMZ()
  791. /**
  792. * 是否233平台
  793. */
  794. static get isT33()
  795. /**
  796. * 是否摸摸鱼(穿山甲android sdk)
  797. */
  798. static get isMmy()
  799. /**
  800. * 是否快手平台
  801. */
  802. static get isKs()
  803. /**
  804. * 是否华为平台(rpk)
  805. */
  806. static get isHw()
  807. /**
  808. * 是否vivo APK平台
  809. */
  810. static get isVVApk()
  811. /**
  812. * 是否vivo APK平台
  813. */
  814. static get isOPApk()
  815. /**
  816. * 是否IOS平台
  817. */
  818. static get isIos()
  819. /**
  820. * 震动 默认短震动
  821. * @param time 震动时间,默认100
  822. * time 震动信息 单个数字为持续时间 数组情况奇数索引为持续时间偶数索引为等待时间,毫秒单位 //小游戏暂不考虑间断震动
  823. * >=400表示长震动
  824. * 小游戏平台只有长短震动,不与时间匹配。
  825. */
  826. static vibration(time?: number | number[]): void
  827. //异步相关 ts使用前安装库npm install tslib
  828. /**
  829. * 异步-等待几秒
  830. * @param num 秒
  831. */
  832. static waitSeconds(num:number)
  833. /**
  834. * 异步-下一帧
  835. */
  836. static waitNext()
  837. /**
  838. * 异步-等待几帧
  839. * @param num 帧
  840. */
  841. static waitFrames(num:number)
  842. }