htkSdk_gfWxXyx.js 104 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263
  1. (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
  2. "use strict";
  3. Object.defineProperty(exports, "__esModule", { value: true });
  4. var HitalkObject_1 = require("./const/HitalkObject");
  5. var HitalkLog_1 = require("./utils/HitalkLog");
  6. var HitalkConfig_1 = require("./const/HitalkConfig");
  7. var HitalkRequest_1 = require("./utils/HitalkRequest");
  8. var HitalkReturn_1 = require("./utils/HitalkReturn");
  9. var HitalkCheck_1 = require("./utils/HitalkCheck");
  10. var GameExtraStatusUtil_1 = require("./coreUtils/GameExtraStatusUtil");
  11. var LoadChannelUtil_1 = require("./coreUtils/LoadChannelUtil");
  12. var ExtraParamsUtil_1 = require("./coreUtils/ExtraParamsUtil");
  13. var GetOpenIdUtil_1 = require("./coreUtils/GetOpenIdUtil");
  14. var JudgePlatformUtil_1 = require("./coreUtils/JudgePlatformUtil");
  15. var GetIsGamePayUtil_1 = require("./coreUtils/GetIsGamePayUtil");
  16. /**指尖互娱SDK */
  17. var HitalkOpenSDK = /** @class */ (function () {
  18. function HitalkOpenSDK() {
  19. /**获取开关状态 */
  20. this.switchStatus = { gamePay: true }; //新接口---gamePay参数已废弃
  21. /**日志输出类*/
  22. this.hitalkLog = HitalkLog_1.HitalkLog;
  23. /**通用回调处理类*/
  24. this.hitalkReturn = HitalkReturn_1.HitalkReturn;
  25. /**SDK测试环境状态 */
  26. this.hitalkConfig = HitalkConfig_1.HitalkConfig;
  27. }
  28. /**初始化参数以及SDK*/
  29. HitalkOpenSDK.prototype.init = function (initCallback, initSDKData) {
  30. this.initSDKData = initSDKData;
  31. this.initCallback = initCallback;
  32. var paramName = HitalkCheck_1.HitalkCheck.checkInitVO(initSDKData);
  33. if (paramName) {
  34. HitalkReturn_1.HitalkReturn.paramsError(initCallback, 'init', paramName);
  35. return;
  36. }
  37. // this.loadChannelParams()
  38. LoadChannelUtil_1.LoadChannelUtil.loadChannelParams();
  39. // this.isFormal() //是否进入测试服
  40. JudgePlatformUtil_1.JudgePlatformUtil.isFormal(); //是否进入测试服
  41. // ThinkingData.init() //数据上报初始化
  42. this.loadChannelID();
  43. this.initSDK();
  44. };
  45. /**获取渠道ID */
  46. HitalkOpenSDK.prototype.loadChannelID = function () {
  47. var initSDKData = this.initSDKData;
  48. for (var k in initSDKData) {
  49. this[k] = initSDKData[k];
  50. }
  51. //判断是否小游戏平台
  52. if (!JudgePlatformUtil_1.JudgePlatformUtil.isMiNiGame()) {
  53. //不是小游戏,从url上获取参数
  54. this.snKey = LoadChannelUtil_1.LoadChannelUtil.getSnKey();
  55. this.tsKey = LoadChannelUtil_1.LoadChannelUtil.getTsKey();
  56. this.zoneKey = LoadChannelUtil_1.LoadChannelUtil.getZoneKey();
  57. }
  58. this.gameId = initSDKData.gameId;
  59. if (initSDKData.debug) {
  60. this.snKey = initSDKData.snKey;
  61. this.tsKey = initSDKData.tsKey;
  62. this.zoneKey = initSDKData.zoneKey;
  63. }
  64. };
  65. /**初始化SDK---*/
  66. HitalkOpenSDK.prototype.initSDK = function () {
  67. var self = this;
  68. var channelType = self.snKey;
  69. //是否是小游戏平台
  70. if (JudgePlatformUtil_1.JudgePlatformUtil.isMiNiGame()) {
  71. //小游戏渠道初始化
  72. self.xyxImpl.init(function () {
  73. console.log("小游戏渠道初始化完成");
  74. self.onload(); //init回调
  75. });
  76. return;
  77. }
  78. if (channelType || self.tsKey != '') {
  79. HitalkLog_1.HitalkLog.info('====开始加载SDK文件====,加载' + channelType + '渠道SDK文件');
  80. var baseUrl = HitalkConfig_1.HitalkConfig.getClientFileURL() + 'platform/';
  81. var platformUrl = baseUrl + 'hitalk.sdk_' + channelType + '.js?v=' + Math.random();
  82. if (self.tsKey != '') {
  83. platformUrl = baseUrl + 'hitalk.sdk_' + self.tsKey + '.js?v=' + Math.random();
  84. HitalkLog_1.HitalkLog.info(channelType + '渠道开始加载平台SDK文件,url:' + platformUrl);
  85. }
  86. self.loadScript(platformUrl);
  87. }
  88. else {
  89. HitalkLog_1.HitalkLog.error('=====无' + channelType + 'SDK文件加载=====');
  90. // this.onload();
  91. }
  92. };
  93. /**sdk文件加载完毕*/
  94. HitalkOpenSDK.prototype.onload = function () {
  95. var self = this;
  96. var success = self.initCallback;
  97. HitalkReturn_1.HitalkReturn.success(success, 'initSDK'); //init()回调
  98. };
  99. /**加载渠道SDK */
  100. HitalkOpenSDK.prototype.loadScript = function (src, callback) {
  101. var s = document.createElement('script');
  102. s.setAttribute('type', 'text/javascript');
  103. s.setAttribute('async', 'async');
  104. s.setAttribute('src', src);
  105. s.addEventListener('load', function () {
  106. callback && callback();
  107. });
  108. document.getElementsByTagName('head')[0].appendChild(s);
  109. };
  110. /**加载文件 */
  111. HitalkOpenSDK.prototype.loadScripts = function (list, callback) {
  112. var loadNum = 0;
  113. var _loop_1 = function (i, length_1) {
  114. var src = list[i];
  115. this_1.loadScript(src, function () {
  116. loadNum++;
  117. if (loadNum >= length_1) {
  118. callback && callback();
  119. }
  120. });
  121. };
  122. var this_1 = this;
  123. for (var i = 0, length_1 = list.length; i < length_1; i++) {
  124. _loop_1(i, length_1);
  125. }
  126. };
  127. /**设置平台SDK
  128. * callback 引擎文件加载完成时的回调
  129. * thisobj 回调函数的this作用域,可不传
  130. */
  131. HitalkOpenSDK.prototype.setChannelSdk = function (sdk) {
  132. if (typeof sdk != 'object') {
  133. HitalkLog_1.HitalkLog.info('添加平台SDK文件失败');
  134. }
  135. else {
  136. HitalkLog_1.HitalkLog.info('添加平台SDK文件成功');
  137. this.channelSDK = sdk;
  138. //小游戏渠道文件与核心文件是合并的,加载核心文件时,会自动初始化,所以此处不需要onload
  139. if (!JudgePlatformUtil_1.JudgePlatformUtil.isMiNiGame()) {
  140. //渠道sdk初始化完成后回调进入游戏--H5渠道使用
  141. this.onload();
  142. }
  143. }
  144. };
  145. HitalkOpenSDK.prototype.request = function (params, callback, thisobj) {
  146. var channelSDK = this.channelSDK;
  147. if (channelSDK && typeof channelSDK.request === 'function') {
  148. channelSDK.request(params, callback, thisobj);
  149. return;
  150. }
  151. HitalkRequest_1.HitalkRequest.request(params, callback, thisobj);
  152. };
  153. /**从缓存在全局的url对象获取参数 */
  154. HitalkOpenSDK.prototype.getUrlParameter = function (paramName) {
  155. var urlParams = this.urlParams;
  156. return urlParams[paramName] || '';
  157. };
  158. /**获取服务器域名 */
  159. HitalkOpenSDK.prototype.getIspServerURL = function () {
  160. return HitalkConfig_1.HitalkConfig.getIspServerURL();
  161. };
  162. /**[渠道文件调用]组装请求sdk服务器URL(华圣上报接口加密...) */
  163. HitalkOpenSDK.prototype.getSdkServerURL = function (data) {
  164. return HitalkConfig_1.HitalkConfig.getSDKReportSignURL();
  165. };
  166. /**[渠道文件调用]组装请求渠道的URL(7477引用...) */
  167. HitalkOpenSDK.prototype.getServerURL = function (url, data) {
  168. return url + HitalkConfig_1.HitalkConfig.assmebleParams(data);
  169. };
  170. /**
  171. * 查询支付开关状态
  172. * @param params 暂时默认为空
  173. * @param callback boolean(true:开启支付,false:关闭支付)
  174. */
  175. HitalkOpenSDK.prototype.getServerIsGamePay = function (callback, params) {
  176. return GetIsGamePayUtil_1.GetIsGamePayUtil.getServerIsGamePay(callback, params);
  177. };
  178. /*安卓支付回调失败后的回调机制 */
  179. HitalkOpenSDK.prototype.wxErrorPayCallback = function (self, requestUrl, data, callback) {
  180. return GetIsGamePayUtil_1.GetIsGamePayUtil.wxErrorPayCallback(self, requestUrl, data, callback);
  181. };
  182. ///****************************************通用接口START*****************************************///
  183. ///*****************************针对于各个渠道都会使用到的通用接口*********************************///
  184. ///*********************************************************************************************///
  185. ///*********************************************************************************************///
  186. HitalkOpenSDK.prototype.getChannelData = function () {
  187. // let data: SnVO = this.getExtraChannelParams() //旧接口方式
  188. var data = ExtraParamsUtil_1.ExtraParamsUtil.getExtraChannelParams(); //新工具类调用
  189. return data;
  190. };
  191. HitalkOpenSDK.prototype.login = function (callback, loginSDKData) {
  192. var channelSDK = this.channelSDK;
  193. var snKey = this.snKey;
  194. HitalkLog_1.HitalkLog.info('====login(接口调用)====');
  195. if (!channelSDK) {
  196. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  197. return;
  198. }
  199. if (typeof channelSDK.login !== 'function') {
  200. HitalkReturn_1.HitalkReturn.noInterface(callback, snKey, 'login');
  201. return;
  202. }
  203. // this.getOpenId(callback, loginSDKData)//旧
  204. GetOpenIdUtil_1.GetOpenIdUtil.getOpenId(callback, loginSDKData, channelSDK);
  205. };
  206. HitalkOpenSDK.prototype.gamePay = function (params, callback) {
  207. var channelSDK = this.channelSDK;
  208. var snKey = this.snKey;
  209. HitalkLog_1.HitalkLog.info('====gamePay(接口调用)====');
  210. if (!channelSDK) {
  211. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  212. return;
  213. }
  214. if (typeof channelSDK.gamePay !== 'function') {
  215. HitalkReturn_1.HitalkReturn.noInterface(callback, snKey, 'gamePay');
  216. return;
  217. }
  218. // params = this.getExtraPayParams(params)
  219. params = ExtraParamsUtil_1.ExtraParamsUtil.getExtraPayParams(params);
  220. var paramName = HitalkCheck_1.HitalkCheck.checkPayParams(params);
  221. if (paramName) {
  222. HitalkReturn_1.HitalkReturn.paramsError(callback, 'gamePay游戏支付缺少参数/或类型错误', paramName);
  223. return;
  224. }
  225. //获取部分渠道,创建订单需要获取渠道的特殊数据
  226. ExtraParamsUtil_1.ExtraParamsUtil.assemblePayParams(params, channelSDK, function (resParams) {
  227. var requestParamsUrl = HitalkConfig_1.HitalkConfig.getSDKPayParamsURL() + "/" + exports.hitalkOpenSDK.snKey;
  228. var requestParams = {
  229. url: requestParamsUrl,
  230. data: resParams
  231. };
  232. //向服务器请求创建支付订单
  233. exports.hitalkOpenSDK.request(requestParams, function (payParams) {
  234. if ((payParams.data.snPaycode && payParams.data.snPaycode === 5) || (payParams.data.snPayCode && payParams.data.snPayCode === 5) || (payParams.data.code && payParams.data.code === 5)) {
  235. var errmsg = payParams.data.snPaymsg ? payParams.data.snPaymsg : "登录信息过期,请重新登录后再发起充值";
  236. HitalkReturn_1.HitalkReturn.retAllPay(callback, 5, errmsg, payParams.data);
  237. }
  238. else if (payParams.code === 0) {
  239. channelSDK.gamePay(payParams.data, callback);
  240. }
  241. else {
  242. if (typeof channelSDK.informGamePayFail == 'function') {
  243. channelSDK.informGamePayFail(payParams); //创建订单失败通知渠道类回调
  244. }
  245. HitalkReturn_1.HitalkReturn.failErrorPay(callback, HitalkConfig_1.HitalkConfig.SDK_SERVER_PAY_PARAMS, payParams);
  246. }
  247. });
  248. });
  249. };
  250. HitalkOpenSDK.prototype.gameReport = function (actionNumber, params, callback) {
  251. var action;
  252. HitalkLog_1.HitalkLog.info('上报传入的actionNumber:' + actionNumber);
  253. if (typeof actionNumber === 'number') {
  254. action = HitalkCheck_1.HitalkCheck.checkReportAction(actionNumber);
  255. HitalkLog_1.HitalkLog.info('========数字转换后的action:' + action);
  256. }
  257. else if (actionNumber != undefined && actionNumber.length === 1) {
  258. // let number= Number(actionNumber)
  259. var number = parseInt(actionNumber);
  260. action = HitalkCheck_1.HitalkCheck.checkReportAction(number);
  261. HitalkLog_1.HitalkLog.info('========字符串数字转换后的action:' + action);
  262. }
  263. else {
  264. action = actionNumber;
  265. }
  266. // ThinkingData.reportData(action, params) //数据上报测试
  267. //检查该渠道需要上报的接口
  268. var channelSDK = this.channelSDK;
  269. var snKey = this.snKey;
  270. HitalkLog_1.HitalkLog.info('====gameReport(接口调用)====action:' + action);
  271. if (!channelSDK) {
  272. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  273. return;
  274. }
  275. if (typeof channelSDK[action] !== 'function') {
  276. HitalkReturn_1.HitalkReturn.noInterface(callback, snKey, action);
  277. return;
  278. }
  279. //校验传递的数据
  280. // params = this.getExtraReportParams(params)
  281. params = ExtraParamsUtil_1.ExtraParamsUtil.getExtraReportParams(params);
  282. var paramName = HitalkCheck_1.HitalkCheck.checkReportParams(action, params);
  283. if (paramName) {
  284. HitalkReturn_1.HitalkReturn.paramsError(callback, action, paramName);
  285. return;
  286. }
  287. channelSDK[action](params);
  288. HitalkReturn_1.HitalkReturn.success(callback, action);
  289. };
  290. //扩展接口功能:平台接口---需要携带参数的扩展接口,action:扩展接口名称 params:扩展接口的参数
  291. HitalkOpenSDK.prototype.gameExtraAction = function (action, params, callback) {
  292. var channelSDK = this.channelSDK;
  293. var snKey = this.snKey;
  294. HitalkLog_1.HitalkLog.info('====gameExtraAction(接口调用)====action:' + action);
  295. if (!channelSDK) {
  296. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  297. return;
  298. }
  299. if (typeof params == 'string' && params == '' || params == null || params == undefined) {
  300. params = {};
  301. }
  302. //添加额外参数
  303. if (typeof params == 'function') {
  304. params = ExtraParamsUtil_1.ExtraParamsUtil.getExtraReportParams(params); //日语params传入是字符串.则不需要赋值
  305. }
  306. if (typeof channelSDK[action] !== 'function') {
  307. HitalkReturn_1.HitalkReturn.noInterface(callback, snKey, action);
  308. return;
  309. }
  310. channelSDK[action](params, callback);
  311. };
  312. /**
  313. * 1.扩展接口功能:平台接口状态---只有两种结果扩展接口
  314. * 2.此接口游戏初始化时需要实现--目前只有188wan第三方渠道需要
  315. */
  316. HitalkOpenSDK.prototype.gameExtraStatus = function (callback) {
  317. var self = this;
  318. var channelSDK = self.channelSDK;
  319. var snKey = self.snKey;
  320. HitalkLog_1.HitalkLog.info('====gameExtraStatus(接口调用)====');
  321. if (!channelSDK) {
  322. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  323. return;
  324. }
  325. /**分享功能需要判断两个条件:是否有分享功能;渠道文件是否已实现分享的代码 */
  326. GameExtraStatusUtil_1.GameExtraStatusUtil.shareMessage(channelSDK, self, callback);
  327. /**公众号功能需要判断是三个条件:是否有关注公众号的功能;玩家是否已经关注了公众号;渠道文件中是否已经实现了关注公众号功能代码 */
  328. GameExtraStatusUtil_1.GameExtraStatusUtil.showFocus(channelSDK, self, callback);
  329. /**实名认证功能需要判断两个条件:是否有实名认证功能;渠道文件是否已实现实名认证的代码 */
  330. GameExtraStatusUtil_1.GameExtraStatusUtil.realNameStatus(channelSDK, self, callback); //是否显示实名认证功能
  331. GameExtraStatusUtil_1.GameExtraStatusUtil.collectionStatus(channelSDK, self, callback); //是否显示收藏功能
  332. GameExtraStatusUtil_1.GameExtraStatusUtil.subscribeStatus(channelSDK, self, callback); //玩家是否已订阅(QQ小游戏和微信小游戏)
  333. GameExtraStatusUtil_1.GameExtraStatusUtil.shareRecommend(channelSDK, self, callback); //是否开启互推功能(微信小游戏)
  334. GameExtraStatusUtil_1.GameExtraStatusUtil.isRedPack(channelSDK, self, callback); //是否开启红包功能(微信小游戏)
  335. GameExtraStatusUtil_1.GameExtraStatusUtil.customerServiceStatus(channelSDK, self, callback); //是否客服功能(微信小游戏)
  336. GameExtraStatusUtil_1.GameExtraStatusUtil.showRewardedVideoAdStatus(channelSDK, self, callback); //是否开启视频功能(QQ小游戏)
  337. GameExtraStatusUtil_1.GameExtraStatusUtil.exitOutStatus(channelSDK, self, callback); //是否开启退出功能状态
  338. GameExtraStatusUtil_1.GameExtraStatusUtil.isSomeChannel(channelSDK, self, callback); //是否玩吧渠道的某平台
  339. GameExtraStatusUtil_1.GameExtraStatusUtil.isPC(channelSDK, self, callback); //判断是否是PC端(玩吧)
  340. GameExtraStatusUtil_1.GameExtraStatusUtil.addColorSignStatus(channelSDK, self, callback); //是否开启游戏内显示彩签功能状态(QQ小游戏)
  341. GameExtraStatusUtil_1.GameExtraStatusUtil.saveImageToPhotosAlbumStatus(channelSDK, self, callback); //是否支持保存图片到系统相册功能(QQ小游戏)
  342. GameExtraStatusUtil_1.GameExtraStatusUtil.isSVIPStatus(channelSDK, self, callback); //是否支持Svip功能(疯狂游乐场)
  343. GameExtraStatusUtil_1.GameExtraStatusUtil.addRecentColorSignStatus(channelSDK, self, callback); //是否开启游戏内显示最近浏览彩签功能状态(QQ小游戏)
  344. GameExtraStatusUtil_1.GameExtraStatusUtil.isContentCheckStatus(channelSDK, self, callback); //是否支持敏感字校验接口功能
  345. GameExtraStatusUtil_1.GameExtraStatusUtil.isBindPhoneStatus(channelSDK, self, callback); //是否支持玩家绑定账号功能
  346. GameExtraStatusUtil_1.GameExtraStatusUtil.isDownloadStatus(channelSDK, self, callback); //是否支持下载微端
  347. GameExtraStatusUtil_1.GameExtraStatusUtil.isUserCenterStatus(channelSDK, self, callback); //是否支持个人中心
  348. GameExtraStatusUtil_1.GameExtraStatusUtil.isSurveyViewStatus(channelSDK, self, callback); //是否支持调查问卷
  349. GameExtraStatusUtil_1.GameExtraStatusUtil.isGameClubStatus(channelSDK, self, callback); //是否支持游戏圈
  350. GameExtraStatusUtil_1.GameExtraStatusUtil.isGetQRCodeStatus(channelSDK, self, callback); //是否支持获取二维码
  351. GameExtraStatusUtil_1.GameExtraStatusUtil.isJumpAppletStatus(channelSDK, self, callback); //是否支持跳转小程序
  352. GameExtraStatusUtil_1.GameExtraStatusUtil.isBlueVipStatus(channelSDK, self, callback); //是否支持蓝钻充值
  353. GameExtraStatusUtil_1.GameExtraStatusUtil.isVideoAdStatus(channelSDK, self, callback); //是否激励视频充值
  354. GameExtraStatusUtil_1.GameExtraStatusUtil.isActivityIconShowStatus(channelSDK, self, callback); //获取是否开启冲榜活动功能--高热
  355. GameExtraStatusUtil_1.GameExtraStatusUtil.isVipImg(channelSDK, self, callback); //获取是否开启获取VIP图片
  356. GameExtraStatusUtil_1.GameExtraStatusUtil.getUserNotice_fq(channelSDK, self, callback); //获取飞趣渠道获取转端配置
  357. GameExtraStatusUtil_1.GameExtraStatusUtil.isGameClubDecryptStatus(channelSDK, self, callback); //是否支持游戏圈数据解密
  358. };
  359. /**
  360. * 是否开启支付功能
  361. * @param params 判断是否开启支付的参数
  362. * @param callback 是否开启支付,true:开启(默认值),false:不需要支付
  363. */
  364. HitalkOpenSDK.prototype.isGamePay = function (params, callback) {
  365. var channelSDK = this.channelSDK;
  366. var snKey = this.snKey;
  367. if (!channelSDK) {
  368. HitalkReturn_1.HitalkReturn.noSDK(callback, snKey);
  369. return;
  370. }
  371. //添加额外参数
  372. params = ExtraParamsUtil_1.ExtraParamsUtil.getExtraReportParams(params);
  373. if (typeof channelSDK["isGamePay"] !== 'function') {
  374. HitalkLog_1.HitalkLog.info('==渠道未实现isGamePay接口,统一使用平台SGM后台管理系统控制==');
  375. return exports.hitalkOpenSDK.getServerIsGamePay(callback, params);
  376. // return callback(true)
  377. }
  378. channelSDK["isGamePay"](params, callback);
  379. };
  380. /**
  381. * 玩吧跳转链接,重新openUrl
  382. */
  383. HitalkOpenSDK.prototype.openUrl = function (params, callback) {
  384. var channelSDK = this.channelSDK;
  385. if (channelSDK && typeof channelSDK.openUrl === 'function') {
  386. channelSDK.openUrl(params, callback);
  387. return;
  388. }
  389. var url = params.url;
  390. window.open(url);
  391. };
  392. //游戏修改测试环境
  393. HitalkOpenSDK.prototype.resetConfig = function (param) {
  394. //是否是小游戏平台
  395. if (JudgePlatformUtil_1.JudgePlatformUtil.isMiNiGame()) {
  396. //不是小游戏渠道游戏不能修改
  397. HitalkConfig_1.HitalkConfig.IS_NORMAL = param;
  398. HitalkLog_1.HitalkLog.info('游戏修改SDK客户端进入测试环境,HitalkConfig.IS_NORMAL:' + HitalkConfig_1.HitalkConfig.IS_NORMAL);
  399. return;
  400. }
  401. HitalkLog_1.HitalkLog.error('不是小游戏渠道禁止修改SDK客户端测试环境');
  402. };
  403. return HitalkOpenSDK;
  404. }());
  405. exports.HitalkOpenSDK = HitalkOpenSDK;
  406. exports.hitalkOpenSDK = new HitalkOpenSDK();
  407. HitalkObject_1.HitalkObject.hitalkGlobal.hitalkOpenSDK = exports.hitalkOpenSDK;
  408. },{"./const/HitalkConfig":4,"./const/HitalkObject":5,"./coreUtils/ExtraParamsUtil":6,"./coreUtils/GameExtraStatusUtil":7,"./coreUtils/GetIsGamePayUtil":8,"./coreUtils/GetOpenIdUtil":9,"./coreUtils/JudgePlatformUtil":10,"./coreUtils/LoadChannelUtil":11,"./utils/HitalkCheck":12,"./utils/HitalkLog":13,"./utils/HitalkRequest":14,"./utils/HitalkReturn":15}],2:[function(require,module,exports){
  409. "use strict";
  410. Object.defineProperty(exports, "__esModule", { value: true });
  411. /**平台接口类型 */
  412. var ExtraAction = /** @class */ (function () {
  413. function ExtraAction() {
  414. }
  415. /**退出 */
  416. ExtraAction.EXITOUT = 'exitOut';
  417. /**打开分享 */
  418. ExtraAction.SHARE_MESSAGE = 'shareMessage';
  419. /**打开关注二维码 */
  420. ExtraAction.SHOW_FOCUS = 'showFocus';
  421. /**玩家是否已关注公众号 */
  422. ExtraAction.GET_IS_FOCUS = 'getIsFocus';
  423. /**实名认证realNameStatus */
  424. ExtraAction.REAL_NAME = 'verifyRealName';
  425. /**收藏功能 */
  426. ExtraAction.COLLECTION = 'collection';
  427. //以下为特殊渠道使用
  428. /**是否订阅功能(QQ小游戏和微信小游戏) */
  429. ExtraAction.SUBSCRIBE = 'subscribe';
  430. /**是否开启互推(微信小游戏) */
  431. ExtraAction.SHARE_RECOMMEND = 'shareRecommend';
  432. /**是否开启红包功能(QQ小游戏) */
  433. ExtraAction.RED_PACK = 'redPack';
  434. /**客服功能常量 */
  435. ExtraAction.CUSTOMER_SERVICE = 'customerService';
  436. /**QQ小游戏视频接口常量 */
  437. ExtraAction.SHOW_REWARDED_VIDEO_AD = 'showRewardedVideoAd';
  438. /**是否玩吧渠道某平台 */
  439. ExtraAction.ISSOMECHANNEL = 'isSomeChannel';
  440. /**是否是PC端(玩吧) */
  441. ExtraAction.ISPC = 'isPC';
  442. /**是否在游戏内显示彩签功能(QQ小游戏) */
  443. ExtraAction.ADD_COLOR_SIGN = 'addColorSign';
  444. /**是否在游戏内显示最近浏览彩签功能(QQ小游戏) */
  445. ExtraAction.ADD_RECENT_COLOR_SIGN = 'addRecentColorSign';
  446. /**保存图片到系统相册功能(QQ小游戏)*/
  447. ExtraAction.SAVE_IMAGE_TO_PHOTOS_ALBUM = 'saveImageToPhotosAlbum';
  448. /**SVIP功能(疯狂游乐场) */
  449. ExtraAction.OPEN_SVIP = 'openSVIP';
  450. /**切换账号 */
  451. ExtraAction.SWITCH_ACCOUT = 'switchAccount';
  452. /**绑定账号 */
  453. ExtraAction.BIND_ACCOUT = 'bindAccount';
  454. /**support按钮 */
  455. ExtraAction.SUPPORT_INTERFACE = 'supportInterface';
  456. /**twitter按钮功能*/
  457. ExtraAction.TWITTER_BUTTON = 'twitterButton';
  458. /**敏感字功能*/
  459. ExtraAction.CONTENT_CHECK = 'contentCheck';
  460. /**玩家绑定手机号 */
  461. ExtraAction.BIND_PHONE = 'bindPhone';
  462. /**下载微端 */
  463. ExtraAction.DOWNLOAD = 'download';
  464. /**获取二维码图片 */
  465. ExtraAction.GETQRCODE = 'getQRCode';
  466. /**个人中心 */
  467. ExtraAction.USER_CENTER = 'userCenter';
  468. /**调查问卷 */
  469. ExtraAction.SURVEY_VIEW = 'surveyView';
  470. /**游戏圈 */
  471. ExtraAction.GAME_CLUB = 'gameClub';
  472. /**游戏圈数据解密 */
  473. ExtraAction.GAME_CLUB_DECRYPT = 'gameClubDecrypt';
  474. /**跳转小程序 */
  475. ExtraAction.JUMP_APPLET = 'jumpApplet';
  476. /**蓝钻充值 */
  477. ExtraAction.BLUE_VIP = 'blueVip';
  478. /**激励视频 */
  479. ExtraAction.VIDEO_AD = 'videoAd';
  480. /**冲榜活动功能--高热 */
  481. ExtraAction.ACTIVITY_ICON_SHOW = 'activityIconShow';
  482. /**获取VIP图片 */
  483. ExtraAction.VIP_IMG = 'vipImg';
  484. /**获取飞趣渠道获取转端配置 */
  485. ExtraAction.GET_USER_NOTICE_FQ = 'getUserNotice_fq';
  486. return ExtraAction;
  487. }());
  488. exports.ExtraAction = ExtraAction;
  489. },{}],3:[function(require,module,exports){
  490. "use strict";
  491. Object.defineProperty(exports, "__esModule", { value: true });
  492. /**全局常量 */
  493. var GlobalConstant = /** @class */ (function () {
  494. function GlobalConstant() {
  495. }
  496. /**注册上报常量 */
  497. GlobalConstant.REPORT_REGISTER = "reportRegister";
  498. /**创角上报常量 */
  499. GlobalConstant.REPORT_CREATE_ROLE = "reportCreateRole";
  500. /**登录上报常量 */
  501. GlobalConstant.REPORT_LOGIN = "reportLogin";
  502. /**等级上报常量 */
  503. GlobalConstant.REPORT_LEVEL_UP = "reportLevelUp";
  504. /**vip等级上报常量 */
  505. GlobalConstant.REPORT_VIP_LEVEL = "reportVipLevel";
  506. /**有效创角上报 */
  507. GlobalConstant.REPORT_EFFECTIVE_CREATE_ROLE = "reportEffectiveCreateRole";
  508. /**手Q打点上报 */
  509. GlobalConstant.REPORT_POINT = "reportPoint";
  510. return GlobalConstant;
  511. }());
  512. exports.GlobalConstant = GlobalConstant;
  513. },{}],4:[function(require,module,exports){
  514. "use strict";
  515. Object.defineProperty(exports, "__esModule", { value: true });
  516. var HitalkConfig = /** @class */ (function () {
  517. function HitalkConfig() {
  518. }
  519. /**向SDK服务器请求登录参数URL */
  520. HitalkConfig.getSDKLoginParamsURL = function (params) {
  521. var address = HitalkConfig.IS_NORMAL ? HitalkConfig.SERVER_ADDRESS_NORMAL_URL : HitalkConfig.SERVER_ADDRESS_TEST_URL;
  522. return (address + HitalkConfig.SDK_SERVER_LOGIN_PARAMS + HitalkConfig.assmebleParams(params));
  523. };
  524. /**向SDK服务器请求Openid URL */
  525. HitalkConfig.getSDKLoginOpenidURL = function (params) {
  526. var address = HitalkConfig.IS_NORMAL ? HitalkConfig.SERVER_ADDRESS_NORMAL_URL : HitalkConfig.SERVER_ADDRESS_TEST_URL;
  527. return (address +
  528. HitalkConfig.SDK_SERVER_LOGIN_OPENID +
  529. HitalkConfig.assmebleParams(params));
  530. };
  531. /**向SDK服务器请求支付参数 URL */
  532. HitalkConfig.getSDKPayParamsURL = function (params) {
  533. var address = HitalkConfig.IS_NORMAL
  534. ? HitalkConfig.SERVER_ADDRESS_NORMAL_URL
  535. : HitalkConfig.SERVER_ADDRESS_TEST_URL;
  536. return (address +
  537. HitalkConfig.SDK_SERVER_PAY_PARAMS +
  538. HitalkConfig.assmebleParams(params));
  539. };
  540. /**获取SDK客户端文件URL */
  541. HitalkConfig.getClientFileURL = function (params) {
  542. var address = HitalkConfig.IS_NORMAL
  543. ? HitalkConfig.CLIENT_ADDRESS_NORMAL_URL
  544. : HitalkConfig.CLIENT_ADDRESS_TEST_URL;
  545. return address;
  546. };
  547. /**向SDK服务器请求上报数据加密接口 URL */
  548. HitalkConfig.getSDKReportSignURL = function (params) {
  549. var address = HitalkConfig.IS_NORMAL
  550. ? HitalkConfig.SERVER_ADDRESS_NORMAL_URL
  551. : HitalkConfig.SERVER_ADDRESS_TEST_URL;
  552. return (address +
  553. HitalkConfig.SDK_SERVER_REPORT_SIGN +
  554. HitalkConfig.assmebleParams(params));
  555. };
  556. //获取服务器域名
  557. HitalkConfig.getIspServerURL = function () {
  558. var address = HitalkConfig.IS_NORMAL ? HitalkConfig.SERVER_ADDRESS_NORMAL_URL : HitalkConfig.SERVER_ADDRESS_TEST_URL;
  559. return address;
  560. };
  561. /**将对象转换为字符串健对值 */
  562. HitalkConfig.assmebleParams = function (params) {
  563. if (!params)
  564. return '';
  565. var urlParams;
  566. for (var key in params) {
  567. if (urlParams) {
  568. urlParams += '&' + key + '=' + params[key];
  569. }
  570. else {
  571. urlParams = '?' + key + '=' + params[key];
  572. }
  573. }
  574. return urlParams;
  575. };
  576. /**是否debug模式,debug模式会连入测试服 */
  577. HitalkConfig.IS_NORMAL = true; //true:正式服 false:测试服,根据url判断
  578. /**客户端SDK平台文件地址-测试服 */
  579. HitalkConfig.CLIENT_ADDRESS_TEST_URL = '//client2-dev.hhycdk.com/';
  580. /**客户端SDK平台文件地址-正式服 */
  581. HitalkConfig.CLIENT_ADDRESS_NORMAL_URL = '//client2.hhycdk.com/';
  582. /**SDK服务器请求地址-测试服 */
  583. HitalkConfig.SERVER_ADDRESS_TEST_URL = '//isp2-dev.hhycdk.com/';
  584. /**SDK服务器请求地址-正式服 */
  585. HitalkConfig.SERVER_ADDRESS_NORMAL_URL = '//isp2.hhycdk.com/';
  586. /**请求登录参数接口 */
  587. HitalkConfig.SDK_SERVER_LOGIN_PARAMS = 'login/params';
  588. /**请求OPENID接口 */
  589. HitalkConfig.SDK_SERVER_LOGIN_OPENID = 'login/index';
  590. /**请求支付参数接口 */
  591. HitalkConfig.SDK_SERVER_PAY_PARAMS = 'pay/create';
  592. /**渠道上报数据加密接口 */
  593. HitalkConfig.SDK_SERVER_REPORT_SIGN = 'report/sign';
  594. return HitalkConfig;
  595. }());
  596. exports.HitalkConfig = HitalkConfig;
  597. },{}],5:[function(require,module,exports){
  598. "use strict";
  599. Object.defineProperty(exports, "__esModule", { value: true });
  600. /**海拓对象管理 */
  601. var HitalkObject = /** @class */ (function () {
  602. function HitalkObject() {
  603. }
  604. /**全局对象 */
  605. HitalkObject.hitalkGlobal = window;
  606. return HitalkObject;
  607. }());
  608. exports.HitalkObject = HitalkObject;
  609. },{}],6:[function(require,module,exports){
  610. "use strict";
  611. Object.defineProperty(exports, "__esModule", { value: true });
  612. /**
  613. * 获取额外参数的工具类
  614. */
  615. var ExtraParamsUtil = /** @class */ (function () {
  616. function ExtraParamsUtil() {
  617. }
  618. /**附带额外登录请求参数 */
  619. ExtraParamsUtil.getRequestLoginParams = function (params) {
  620. if (!params) {
  621. params = {};
  622. }
  623. params = this.getSnParams(params);
  624. params = this.getGameIdParams(params);
  625. return params;
  626. };
  627. /**附带额外上报参数 */
  628. ExtraParamsUtil.getExtraReportParams = function (params) {
  629. if (!params) {
  630. params = {};
  631. }
  632. params = this.getSnParams(params);
  633. params = this.getGameIdParams(params);
  634. params = this.getOpenIdParams(params);
  635. return params;
  636. };
  637. /**附带额外支付参数 */
  638. ExtraParamsUtil.getExtraPayParams = function (params) {
  639. if (!params) {
  640. params = {};
  641. }
  642. params = this.getSnParams(params);
  643. return params;
  644. };
  645. /**附带额外渠道参数 */
  646. ExtraParamsUtil.getExtraChannelParams = function (params) {
  647. if (!params) {
  648. params = {};
  649. }
  650. params = this.getSnParams(params);
  651. return params;
  652. };
  653. /**部分渠道特殊渠道的支付参数,需要从渠道url获取参数,例如:h0006(7477) */
  654. ExtraParamsUtil.assemblePayParams = function (params, channelSDK, callback) {
  655. if (!channelSDK) {
  656. return callback(params);
  657. }
  658. if (typeof channelSDK.assemblePayParams == 'function') {
  659. var assembleParams = channelSDK.assemblePayParams(params);
  660. callback(assembleParams);
  661. }
  662. else if (typeof channelSDK.assemblePayParamsCallback == 'function') {
  663. channelSDK.assemblePayParamsCallback(params, function (resParams) {
  664. callback(resParams);
  665. });
  666. }
  667. else {
  668. callback(params);
  669. }
  670. };
  671. /**获取sn参数 */
  672. ExtraParamsUtil.getSnParams = function (params) {
  673. params.snKey = hitalkOpenSDK.snKey;
  674. params.zoneKey = hitalkOpenSDK.zoneKey;
  675. params.tsKey = hitalkOpenSDK.tsKey;
  676. return params;
  677. };
  678. /**获取游戏id参数 */
  679. ExtraParamsUtil.getGameIdParams = function (params) {
  680. // params.gameId = this.initSDKData.gameId
  681. params.gameId = hitalkOpenSDK.gameId;
  682. return params;
  683. };
  684. /**获取openid参数 */
  685. ExtraParamsUtil.getOpenIdParams = function (params) {
  686. params.openId = hitalkOpenSDK.openId;
  687. return params;
  688. };
  689. return ExtraParamsUtil;
  690. }());
  691. exports.ExtraParamsUtil = ExtraParamsUtil;
  692. },{}],7:[function(require,module,exports){
  693. "use strict";
  694. Object.defineProperty(exports, "__esModule", { value: true });
  695. var ExtraAction_1 = require("../const/ExtraAction");
  696. /**
  697. * gameExtraStatus判断扩展接口状态工具类
  698. */
  699. var GameExtraStatusUtil = /** @class */ (function () {
  700. function GameExtraStatusUtil() {
  701. }
  702. /**********************************gameExtraStatus接口核心功能START********************************* */
  703. /**
  704. * gameExtraStatus接口回调功能判断
  705. * 作用:处理需要判断多个callBack回调异步的问题
  706. */
  707. GameExtraStatusUtil.complete = function (code, callback) {
  708. this.sumCode |= code; //进行位运算赋值,并同时赋值给全局对象sumCode
  709. if (this.sumCode === -1 /* result */) {
  710. // this.send(callback)
  711. this.sumCode = 0; //清空位运算的结果
  712. callback && callback(hitalkOpenSDK.switchStatus); //gameExtraStatus接口回调方法
  713. }
  714. };
  715. /**********************************gameExtraStatus接口核心功能END*********************************** */
  716. /***************************************以下为扩展功能接口状态调用************************************************ */
  717. //获取分享功能状态
  718. GameExtraStatusUtil.shareMessage = function (channelSDK, self, callback) {
  719. /**分享功能需要判断两个条件:是否有分享功能;渠道文件是否已实现分享的代码 */
  720. if (channelSDK.isOpenShareMessage && channelSDK.shareMessage && channelSDK.isOpenShareMessage()) {
  721. // status[ExtraAction.SHARE_MESSAGE] = channelSDK.isOpenShareMessage()//true:有分享(显示) false:没有分享(不显示)
  722. // self.switchStatus[ExtraAction.SHARE_MESSAGE] = {} //{}默认需要实现该功能--新接口
  723. var shareMessage = {};
  724. if (channelSDK.getShareUID && channelSDK.getShareUID() != undefined) { //渠道文件未配置该方法则跳过
  725. shareMessage = channelSDK.getShareUID();
  726. }
  727. self.switchStatus[ExtraAction_1.ExtraAction.SHARE_MESSAGE] = shareMessage; //获取分享人Id
  728. GameExtraStatusUtil.complete(1 /* SHARE_MESSAGE_CODE */, callback);
  729. // this.complete(1 <<0, callback)
  730. }
  731. else {
  732. //渠道未实现该功能,直接设置回调
  733. GameExtraStatusUtil.complete(1 /* SHARE_MESSAGE_CODE */, callback);
  734. }
  735. };
  736. //获取关注公众号功能状态
  737. GameExtraStatusUtil.showFocus = function (channelSDK, self, callback) {
  738. if (typeof channelSDK.isOpenShowFocus == 'function' &&
  739. typeof channelSDK.getIsFocus == 'function' &&
  740. typeof channelSDK.showFocus == 'function') {
  741. //channelSDK.isOpenShowFocus()---true:需要,false:不需要 是否打开关注二维码(该渠道是否有关注公众号的功能)
  742. channelSDK.isOpenShowFocus(function (isShow) {
  743. if (isShow) {
  744. channelSDK.getIsFocus(function (isFocus) {
  745. var switchStatus = {}; //{}默认需要实现该功能
  746. //玩家是否已关注公众号
  747. switchStatus['status'] = isFocus; //{status:true}--->true:已关注,false:未关注
  748. self.switchStatus[ExtraAction_1.ExtraAction.SHOW_FOCUS] = switchStatus; //新接口
  749. return;
  750. });
  751. }
  752. console.log("该渠道不支持关注功能");
  753. });
  754. //调用回调
  755. GameExtraStatusUtil.complete(2 /* SHOW_FOCUS_CODE */, callback);
  756. // this.complete(1 << 1, callback)
  757. }
  758. else {
  759. //渠道未实现该功能,直接设置回调
  760. GameExtraStatusUtil.complete(2 /* SHOW_FOCUS_CODE */, callback);
  761. }
  762. };
  763. //获取实名认证信息
  764. GameExtraStatusUtil.realNameStatus = function (channelSDK, self, callback) {
  765. //该渠道是否有该功能
  766. if (typeof channelSDK.getRealNameStatus == 'function') {
  767. channelSDK.getRealNameStatus(function (res) {
  768. self.switchStatus[ExtraAction_1.ExtraAction.REAL_NAME] = res; //0:成年,1:未成年,2:未填写----新接口
  769. GameExtraStatusUtil.complete(4 /* REAL_NAME_CODE */, callback);
  770. // this.complete(1 << 2, callback)
  771. }.bind(self));
  772. }
  773. else {
  774. //渠道未实现该功能,直接设置回调
  775. GameExtraStatusUtil.complete(4 /* REAL_NAME_CODE */, callback);
  776. }
  777. };
  778. //获取收藏功能状态/添加到桌面(QQ小游戏)//创建桌面图标(oppo小游戏)
  779. GameExtraStatusUtil.collectionStatus = function (channelSDK, self, callback) {
  780. if (typeof channelSDK.collection == 'function' &&
  781. typeof channelSDK.isCollection == 'function' && channelSDK.isCollection()) {
  782. self.switchStatus[ExtraAction_1.ExtraAction.COLLECTION] = {}; //新接口 需要收藏功能
  783. //调用回调
  784. GameExtraStatusUtil.complete(8 /* COLLECTION_CODE */, callback);
  785. // this.complete(1 << 3, callback)
  786. }
  787. else {
  788. //渠道未实现该功能,直接设置回调
  789. GameExtraStatusUtil.complete(8 /* COLLECTION_CODE */, callback);
  790. }
  791. };
  792. //获取订阅功能状态(QQ小游戏)
  793. GameExtraStatusUtil.subscribeStatus = function (channelSDK, self, callback) {
  794. /**订阅功能需要判断两个条件:是否有订阅功能;渠道文件是否已实现订阅的代码 */
  795. if (typeof channelSDK.isSubscribe == 'function' && typeof channelSDK.subscribe == 'function' && channelSDK.isSubscribe()) {
  796. //获取玩家是否订阅结果
  797. channelSDK.isSubscribe(function (res) {
  798. self.switchStatus[ExtraAction_1.ExtraAction.SUBSCRIBE] = res; //玩家是否订阅
  799. GameExtraStatusUtil.complete(16 /* SUBSCRIBE_CODE */, callback);
  800. // this.complete(1 <<4, callback)
  801. });
  802. }
  803. else {
  804. //渠道未实现该功能,直接设置回调
  805. GameExtraStatusUtil.complete(16 /* SUBSCRIBE_CODE */, callback);
  806. }
  807. };
  808. //是否开启互推功能(微信小游戏)
  809. GameExtraStatusUtil.shareRecommend = function (channelSDK, self, callback) {
  810. /*
  811. 判断条件:
  812. 1.是否实现is_push()方法
  813. 2.is_push()返回结果;true:需要,false:不需要
  814. */
  815. if (typeof channelSDK.shareRecommend == 'function' &&
  816. typeof channelSDK.getShareRecommend == 'function' && channelSDK.isPush) {
  817. //需要开启互推功能
  818. channelSDK.getShareRecommend({}, function (res) {
  819. var data = [];
  820. if (res) {
  821. data = res;
  822. }
  823. // if (res && res.code == 1) {
  824. // data = res.data
  825. // }
  826. self.switchStatus[ExtraAction_1.ExtraAction.SHARE_RECOMMEND] = data; //设置IS_PUSH空对象==true,既需要互推功能
  827. GameExtraStatusUtil.complete(32 /* SHARE_RECOMMEND */, callback);
  828. // this.complete(1 <<5, callback)
  829. });
  830. }
  831. else {
  832. //该渠道不需要互推功能,直接设置回调
  833. GameExtraStatusUtil.complete(32 /* SHARE_RECOMMEND */, callback);
  834. // this.complete(1 <<5, callback)
  835. }
  836. };
  837. //是否开启红包功能(QQ小游戏,微信小游戏)
  838. GameExtraStatusUtil.isRedPack = function (channelSDK, self, callback) {
  839. /*
  840. 判断条件:
  841. 1.是否实现is_red_pack()方法
  842. 2.is_red_pack()返回结果;true:需要,false:不需要
  843. */
  844. if (typeof channelSDK.isRedPack == 'function' && channelSDK.isRedPack()) {
  845. //需要开启红包功能
  846. self.switchStatus[ExtraAction_1.ExtraAction.RED_PACK] = {};
  847. GameExtraStatusUtil.complete(64 /* RED_PACK */, callback);
  848. // this.complete(1 <<6, callback)
  849. }
  850. else {
  851. //该渠道不需要红包功能,直接设置回调
  852. GameExtraStatusUtil.complete(64 /* RED_PACK */, callback);
  853. // this.complete(1 <<6, callback)
  854. }
  855. };
  856. //是否开启客服功能
  857. GameExtraStatusUtil.customerServiceStatus = function (channelSDK, self, callback) {
  858. /**客服功能需要判断两个条件:是否有客服功能;渠道文件是否已实现客服的代码 */
  859. if (typeof channelSDK.isCustomerService == 'function' &&
  860. typeof channelSDK.customerService == 'function' &&
  861. channelSDK.isCustomerService()) {
  862. //是否开启客服功能
  863. self.switchStatus[ExtraAction_1.ExtraAction.CUSTOMER_SERVICE] = {}; //是否开启客服功能
  864. GameExtraStatusUtil.complete(128 /* CUSTOMER_SERVICE */, callback);
  865. // this.complete(1 <<7, callback)
  866. }
  867. else {
  868. //渠道未实现该功能,直接设置回调
  869. GameExtraStatusUtil.complete(128 /* CUSTOMER_SERVICE */, callback);
  870. }
  871. };
  872. //是否开启QQ小游戏视频功能状态
  873. GameExtraStatusUtil.showRewardedVideoAdStatus = function (channelSDK, self, callback) {
  874. if (typeof channelSDK.showRewardedVideoAd == 'function' && channelSDK.isShowRewardedVideoAdBoolean()) {
  875. self.switchStatus[ExtraAction_1.ExtraAction.SHOW_REWARDED_VIDEO_AD] = {}; //新接口 需要视频功能
  876. //调用回调
  877. GameExtraStatusUtil.complete(256 /* SHOW_REWARDED_VIDEO_AD */, callback);
  878. // this.complete(1 << 8, callback)
  879. }
  880. else {
  881. //渠道未实现该功能,直接设置回调
  882. GameExtraStatusUtil.complete(256 /* SHOW_REWARDED_VIDEO_AD */, callback);
  883. }
  884. };
  885. //是否开启退出功能状态---废弃,游戏内没有退出功能
  886. GameExtraStatusUtil.exitOutStatus = function (channelSDK, self, callback) {
  887. if (typeof channelSDK.exitOut == 'function') {
  888. self.switchStatus[ExtraAction_1.ExtraAction.EXITOUT] = {}; //新接口 需要退出功能
  889. //调用回调
  890. GameExtraStatusUtil.complete(512 /* EXITOUT_CODE */, callback);
  891. // this.complete(1 << 9, callback)
  892. }
  893. else {
  894. //渠道未实现该功能,直接设置回调
  895. GameExtraStatusUtil.complete(512 /* EXITOUT_CODE */, callback);
  896. }
  897. };
  898. //是否玩吧渠道的某平台
  899. GameExtraStatusUtil.isSomeChannel = function (channelSDK, self, callback) {
  900. if (typeof channelSDK.isSomeChannel == 'function') {
  901. channelSDK.isSomeChannel(function (channelCode) {
  902. self.switchStatus[ExtraAction_1.ExtraAction.ISSOMECHANNEL] = channelCode; //0-玩吧原生,1-玩吧微信,2-玩吧心悦
  903. GameExtraStatusUtil.complete(1024 /* ISSOMECHANNEL_CODE */, callback);
  904. // this.complete(1 << 10, callback)
  905. });
  906. }
  907. else {
  908. //渠道未实现该功能,直接设置回调
  909. GameExtraStatusUtil.complete(1024 /* ISSOMECHANNEL_CODE */, callback);
  910. }
  911. };
  912. //判断是否是PC端(玩吧)
  913. GameExtraStatusUtil.isPC = function (channelSDK, self, callback) {
  914. if (typeof channelSDK.isPC == 'function') {
  915. channelSDK.isPC({}, function (boo) {
  916. self.switchStatus[ExtraAction_1.ExtraAction.ISPC] = boo; //true/false
  917. GameExtraStatusUtil.complete(2048 /* ISPC_CODE */, callback);
  918. // this.complete(1 << 11, callback)
  919. });
  920. }
  921. else {
  922. //渠道未实现该功能,直接设置回调
  923. GameExtraStatusUtil.complete(2048 /* ISPC_CODE */, callback);
  924. }
  925. };
  926. //是否开启游戏内显示彩签功能状态(QQ小游戏)
  927. GameExtraStatusUtil.addColorSignStatus = function (channelSDK, self, callback) {
  928. if (typeof channelSDK.addColorSign == 'function' && typeof channelSDK.isAddColorSign == "function" && channelSDK.isAddColorSignBoolean()) {
  929. var params = {
  930. status: 0 /* ADULT_CODE */,
  931. };
  932. channelSDK.isAddColorSign(params, function (res) {
  933. self.switchStatus[ExtraAction_1.ExtraAction.ADD_COLOR_SIGN] = res;
  934. //调用回调
  935. GameExtraStatusUtil.complete(4096 /* ADD_COLOR_SIGN_CODE */, callback);
  936. // this.complete(1 << 12, callback)
  937. });
  938. }
  939. else {
  940. //渠道未实现该功能,直接设置回调
  941. GameExtraStatusUtil.complete(4096 /* ADD_COLOR_SIGN_CODE */, callback);
  942. }
  943. };
  944. //是否开启游戏内显示最近浏览彩签功能状态(QQ小游戏)
  945. GameExtraStatusUtil.addRecentColorSignStatus = function (channelSDK, self, callback) {
  946. if (typeof channelSDK.addRecentColorSign == 'function' && typeof channelSDK.isAddRecentColorSign == "function" && channelSDK.isAddRecentColorSignBoolean()) {
  947. var params = {
  948. status: 0 /* ADULT_CODE */,
  949. };
  950. channelSDK.isAddRecentColorSign(params, function (res) {
  951. self.switchStatus[ExtraAction_1.ExtraAction.ADD_RECENT_COLOR_SIGN] = res;
  952. //调用回调
  953. GameExtraStatusUtil.complete(32768 /* ADD_RECENT_COLOR_SIGN_CODE */, callback);
  954. // this.complete(1 << 15, callback)
  955. });
  956. }
  957. else {
  958. //渠道未实现该功能,直接设置回调
  959. GameExtraStatusUtil.complete(32768 /* ADD_RECENT_COLOR_SIGN_CODE */, callback);
  960. }
  961. };
  962. //是否支持保存图片到系统相册功能(QQ小游戏)
  963. GameExtraStatusUtil.saveImageToPhotosAlbumStatus = function (channelSDK, self, callback) {
  964. if (typeof channelSDK.saveImageToPhotosAlbum == 'function' && typeof channelSDK.isSaveImageToPhotosAlbum == "function" && channelSDK.isSaveImageToPhotosAlbum()) {
  965. var params = {
  966. status: 1 /* MINOR_CODE */,
  967. };
  968. channelSDK.isSaveImageToPhotosAlbum(params, function (res) {
  969. self.switchStatus[ExtraAction_1.ExtraAction.SAVE_IMAGE_TO_PHOTOS_ALBUM] = res;
  970. //调用回调
  971. GameExtraStatusUtil.complete(8192 /* SAVE_IMAGE_TO_PHOTOS_ALBUM_CODE */, callback);
  972. // this.complete(1 << 13, callback)
  973. });
  974. }
  975. else {
  976. //渠道未实现该功能,直接设置回调
  977. GameExtraStatusUtil.complete(8192 /* SAVE_IMAGE_TO_PHOTOS_ALBUM_CODE */, callback);
  978. }
  979. };
  980. //是否支持Svip功能(爱微游,疯狂游乐场)
  981. GameExtraStatusUtil.isSVIPStatus = function (channelSDK, self, callback) {
  982. if (typeof channelSDK.openSVIP == 'function' && typeof channelSDK.getSVIPIcon == "function" && channelSDK.isSVIPStatus()) {
  983. channelSDK.getSVIPIcon(function (res) {
  984. self.switchStatus[ExtraAction_1.ExtraAction.OPEN_SVIP] = {
  985. buttonIcon: res.buttonIcon
  986. };
  987. //调用回调
  988. GameExtraStatusUtil.complete(16384 /* OPEN_SVIP_CODE */, callback);
  989. // this.complete(1 << 14, callback)
  990. });
  991. }
  992. else {
  993. //渠道未实现该功能,直接设置回调
  994. GameExtraStatusUtil.complete(16384 /* OPEN_SVIP_CODE */, callback);
  995. }
  996. };
  997. //是否支持敏感字校验接口功能
  998. GameExtraStatusUtil.isContentCheckStatus = function (channelSDK, self, callback) {
  999. if (typeof channelSDK.contentCheck == 'function') {
  1000. if (typeof channelSDK.isClientOrServer == 'function') {
  1001. self.switchStatus[ExtraAction_1.ExtraAction.CONTENT_CHECK] = {
  1002. status: channelSDK.isClientOrServer() //true:由客户端校验敏感字,false:由服务端校验敏感字
  1003. };
  1004. }
  1005. else {
  1006. self.switchStatus[ExtraAction_1.ExtraAction.CONTENT_CHECK] = { status: true }; //默认客户端检验
  1007. }
  1008. //调用回调
  1009. GameExtraStatusUtil.complete(1048576 /* CONTENT_CHECK_CODE */, callback);
  1010. // this.complete(1 << 20, callback)
  1011. }
  1012. else {
  1013. //渠道未实现该功能,直接设置回调
  1014. GameExtraStatusUtil.complete(1048576 /* CONTENT_CHECK_CODE */, callback);
  1015. }
  1016. };
  1017. //绑定玩家手机号功能
  1018. GameExtraStatusUtil.isBindPhoneStatus = function (channelSDK, self, callback) {
  1019. if (typeof channelSDK.bindPhone == "function" && channelSDK.isBindPhone()) {
  1020. var VCodeStatus = { verificationCodeStatus: false };
  1021. if (typeof channelSDK.verificationCode == 'function') {
  1022. VCodeStatus.verificationCodeStatus = true;
  1023. }
  1024. self.switchStatus[ExtraAction_1.ExtraAction.BIND_PHONE] = VCodeStatus;
  1025. //调用回调
  1026. GameExtraStatusUtil.complete(2097152 /* BIND_PHONE_CODE */, callback);
  1027. // this.complete(1 << 21, callback)
  1028. }
  1029. else {
  1030. //渠道未实现该功能,直接设置回调
  1031. GameExtraStatusUtil.complete(2097152 /* BIND_PHONE_CODE */, callback);
  1032. }
  1033. };
  1034. //下载微端
  1035. GameExtraStatusUtil.isDownloadStatus = function (channelSDK, self, callback) {
  1036. if (typeof channelSDK.download == "function" && channelSDK.isDownload()) {
  1037. self.switchStatus[ExtraAction_1.ExtraAction.DOWNLOAD] = {};
  1038. //调用回调
  1039. GameExtraStatusUtil.complete(4194304 /* DOWNLOAD_CODE */, callback);
  1040. // this.complete(1 << 22, callback)
  1041. }
  1042. else {
  1043. //渠道未实现该功能,直接设置回调
  1044. GameExtraStatusUtil.complete(4194304 /* DOWNLOAD_CODE */, callback);
  1045. }
  1046. };
  1047. //个人中心
  1048. GameExtraStatusUtil.isUserCenterStatus = function (channelSDK, self, callback) {
  1049. if (typeof channelSDK.userCenter == "function" && channelSDK.isUserCenter()) {
  1050. self.switchStatus[ExtraAction_1.ExtraAction.USER_CENTER] = {};
  1051. //调用回调
  1052. GameExtraStatusUtil.complete(8388608 /* USER_CENTER_CODE */, callback);
  1053. // this.complete(1 << 23, callback)
  1054. }
  1055. else {
  1056. //渠道未实现该功能,直接设置回调
  1057. GameExtraStatusUtil.complete(8388608 /* USER_CENTER_CODE */, callback);
  1058. }
  1059. };
  1060. //调查问卷
  1061. GameExtraStatusUtil.isSurveyViewStatus = function (channelSDK, self, callback) {
  1062. if (typeof channelSDK.surveyView == "function" && channelSDK.isSurveyView()) {
  1063. self.switchStatus[ExtraAction_1.ExtraAction.SURVEY_VIEW] = {};
  1064. //调用回调
  1065. GameExtraStatusUtil.complete(16777216 /* SURVEY_VIEW_CODE */, callback);
  1066. // this.complete(1 << 24, callback)
  1067. }
  1068. else {
  1069. //渠道未实现该功能,直接设置回调
  1070. GameExtraStatusUtil.complete(16777216 /* SURVEY_VIEW_CODE */, callback);
  1071. }
  1072. };
  1073. //游戏圈
  1074. GameExtraStatusUtil.isGameClubStatus = function (channelSDK, self, callback) {
  1075. if (typeof channelSDK.isGameClub == "function" && channelSDK.isGameClub()) {
  1076. self.switchStatus[ExtraAction_1.ExtraAction.GAME_CLUB] = {};
  1077. //调用回调
  1078. GameExtraStatusUtil.complete(33554432 /* GAMECLUB_CODE */, callback);
  1079. // this.complete(1 << 25, callback)
  1080. }
  1081. else {
  1082. //渠道未实现该功能,直接设置回调
  1083. GameExtraStatusUtil.complete(33554432 /* GAMECLUB_CODE */, callback);
  1084. }
  1085. };
  1086. //是否支持游戏圈数据解密接口功能
  1087. GameExtraStatusUtil.isGameClubDecryptStatus = function (channelSDK, self, callback) {
  1088. if (typeof channelSDK.gameClubDecrypt == 'function') {
  1089. if (typeof channelSDK.isGameClubDecrypt == 'function') {
  1090. self.switchStatus[ExtraAction_1.ExtraAction.GAME_CLUB_DECRYPT] = {
  1091. status: channelSDK.isGameClubDecrypt() //true:由客户端解密游戏圈数据,false:由服务端解密游戏圈数据
  1092. };
  1093. }
  1094. else {
  1095. self.switchStatus[ExtraAction_1.ExtraAction.GAME_CLUB_DECRYPT] = { status: true }; //默认客户端解密游戏圈数据
  1096. }
  1097. //调用回调
  1098. GameExtraStatusUtil.complete(4 /* GAME_CLIB_DECRYPT_CODE */, callback);
  1099. // this.complete(1 << 20, callback)
  1100. }
  1101. else {
  1102. //渠道未实现该功能,直接设置回调
  1103. GameExtraStatusUtil.complete(4 /* GAME_CLIB_DECRYPT_CODE */, callback);
  1104. }
  1105. };
  1106. //获取二维码图片
  1107. GameExtraStatusUtil.isGetQRCodeStatus = function (channelSDK, self, callback) {
  1108. if (typeof channelSDK.getQRCode == "function" && channelSDK.isGetQRCode()) {
  1109. self.switchStatus[ExtraAction_1.ExtraAction.GETQRCODE] = {};
  1110. //调用回调
  1111. GameExtraStatusUtil.complete(67108864 /* GETQRCODE_CODE */, callback);
  1112. // this.complete(1 << 26, callback)
  1113. }
  1114. else {
  1115. //渠道未实现该功能,直接设置回调
  1116. GameExtraStatusUtil.complete(67108864 /* GETQRCODE_CODE */, callback);
  1117. }
  1118. };
  1119. //获取是否跳转小程序状态
  1120. GameExtraStatusUtil.isJumpAppletStatus = function (channelSDK, self, callback) {
  1121. if (typeof channelSDK.isJumpApplet == "function" && channelSDK.isJumpApplet()) {
  1122. self.switchStatus[ExtraAction_1.ExtraAction.JUMP_APPLET] = {};
  1123. //调用回调
  1124. GameExtraStatusUtil.complete(134217728 /* JUMP_APPLET_CODE */, callback);
  1125. // this.complete(1 << 27, callback)
  1126. }
  1127. else {
  1128. //渠道未实现该功能,直接设置回调
  1129. GameExtraStatusUtil.complete(134217728 /* JUMP_APPLET_CODE */, callback);
  1130. }
  1131. };
  1132. //获取是否开启蓝钻充值功能
  1133. GameExtraStatusUtil.isBlueVipStatus = function (channelSDK, self, callback) {
  1134. if (typeof channelSDK.isBlueVip == "function" && channelSDK.isBlueVip()) {
  1135. self.switchStatus[ExtraAction_1.ExtraAction.BLUE_VIP] = true;
  1136. //调用回调
  1137. GameExtraStatusUtil.complete(268435456 /* BLUE_VIP_CODE */, callback);
  1138. // this.complete(1 << 28, callback)
  1139. }
  1140. else {
  1141. //渠道未实现该功能,直接设置回调
  1142. GameExtraStatusUtil.complete(268435456 /* BLUE_VIP_CODE */, callback);
  1143. }
  1144. };
  1145. //获取是否开启激励视频功能
  1146. GameExtraStatusUtil.isVideoAdStatus = function (channelSDK, self, callback) {
  1147. if (typeof channelSDK.isVideoAd == "function" && channelSDK.isVideoAd()) {
  1148. self.switchStatus[ExtraAction_1.ExtraAction.VIDEO_AD] = true;
  1149. //调用回调
  1150. GameExtraStatusUtil.complete(536870912 /* VIDEO_AD_CODE */, callback);
  1151. // this.complete(1 << 29, callback)
  1152. }
  1153. else {
  1154. //渠道未实现该功能,直接设置回调
  1155. GameExtraStatusUtil.complete(536870912 /* VIDEO_AD_CODE */, callback);
  1156. }
  1157. };
  1158. //获取是否开启冲榜活动功能--高热
  1159. GameExtraStatusUtil.isActivityIconShowStatus = function (channelSDK, self, callback) {
  1160. if (typeof channelSDK.isActivityIconShow == "function" && channelSDK.isActivityIconShow()) {
  1161. self.switchStatus[ExtraAction_1.ExtraAction.ACTIVITY_ICON_SHOW] = true;
  1162. //调用回调
  1163. GameExtraStatusUtil.complete(1073741824 /* ACTIVITY_ICON_SHOW_CODE */, callback);
  1164. // this.complete(1 << 30, callback)
  1165. }
  1166. else {
  1167. //渠道未实现该功能,直接设置回调
  1168. GameExtraStatusUtil.complete(1073741824 /* ACTIVITY_ICON_SHOW_CODE */, callback);
  1169. }
  1170. };
  1171. //获取是否开启获取VIP图片
  1172. GameExtraStatusUtil.isVipImg = function (channelSDK, self, callback) {
  1173. if (typeof channelSDK.isVipImg == "function" && channelSDK.isVipImg()) {
  1174. self.switchStatus[ExtraAction_1.ExtraAction.VIP_IMG] = true;
  1175. //调用回调
  1176. GameExtraStatusUtil.complete(-2147483648 /* VIP_IMG */, callback);
  1177. // this.complete(1 << 31, callback)
  1178. }
  1179. else {
  1180. //渠道未实现该功能,直接设置回调
  1181. GameExtraStatusUtil.complete(-2147483648 /* VIP_IMG */, callback);
  1182. }
  1183. };
  1184. //获取飞趣渠道获取转端配置
  1185. GameExtraStatusUtil.getUserNotice_fq = function (channelSDK, self, callback) {
  1186. if (typeof channelSDK.getUserNotice_fq == "function" && channelSDK.getUserNotice_fq()) {
  1187. self.switchStatus[ExtraAction_1.ExtraAction.GET_USER_NOTICE_FQ] = true;
  1188. //调用回调
  1189. GameExtraStatusUtil.complete(2 /* GET_USER_NOTICE_FQ */, callback);
  1190. // this.complete(1 << 32, callback)
  1191. }
  1192. else {
  1193. //渠道未实现该功能,直接设置回调
  1194. GameExtraStatusUtil.complete(2 /* GET_USER_NOTICE_FQ */, callback);
  1195. }
  1196. };
  1197. GameExtraStatusUtil.sumCode = 0;
  1198. return GameExtraStatusUtil;
  1199. }());
  1200. exports.GameExtraStatusUtil = GameExtraStatusUtil;
  1201. },{"../const/ExtraAction":2}],8:[function(require,module,exports){
  1202. "use strict";
  1203. Object.defineProperty(exports, "__esModule", { value: true });
  1204. /**
  1205. * 获取支付状态工具类
  1206. */
  1207. var GetIsGamePayUtil = /** @class */ (function () {
  1208. function GetIsGamePayUtil() {
  1209. }
  1210. /**获取玩家的OPENID */
  1211. GetIsGamePayUtil.getServerIsGamePay = function (callback, params) {
  1212. //该渠道支持isGamePay接口
  1213. var url = hitalkOpenSDK.getIspServerURL();
  1214. // 拼接url
  1215. url = url + 'issueExt/getIsGamePay/' + hitalkOpenSDK.snKey;
  1216. var requestVo = {
  1217. url: url,
  1218. data: params
  1219. };
  1220. hitalkOpenSDK.request(requestVo, function (res) {
  1221. hitalkOpenSDK.hitalkLog.info('获取SDK支付状态成功,回调参数:' + JSON.stringify(res));
  1222. if (res.code == 0) {
  1223. // 查询成功 获取isgamepay状态值 0:开启,1:关闭
  1224. if (res.data.isGamePay == 1) {
  1225. // 确认支付开关为1,关闭状态
  1226. hitalkOpenSDK.hitalkLog.info('SDK支付状态为关闭状态,(0:开启,1:关闭)状态值为:' + res.data.isGamePay);
  1227. callback(false);
  1228. return;
  1229. }
  1230. }
  1231. hitalkOpenSDK.hitalkLog.info('SDK支付状态开启,(0:开启,1:关闭)状态值为res:' + JSON.stringify(res));
  1232. callback(true);
  1233. });
  1234. };
  1235. /**
  1236. * 微信支付回调通用
  1237. * 安卓支付回调失败后的回调机制
  1238. * @param requestUrl 回调url
  1239. * @param data 回调的参数
  1240. */
  1241. GetIsGamePayUtil.wxErrorPayCallback = function (self, requestUrl, data, callback) {
  1242. var paramsBack = {
  1243. requestUrl: requestUrl,
  1244. data: data
  1245. };
  1246. self.wxPayCallback(paramsBack, self, 1, 0, function (boo) {
  1247. if (boo) {
  1248. hitalkOpenSDK.hitalkReturn.successPay(callback, 'gamePay successPay', "ok"); //setClipboardData回调
  1249. return;
  1250. }
  1251. hitalkOpenSDK.hitalkReturn.failErrorPay(callback, 'gamePay failErrorPay', boo); //setClipboardData回调
  1252. });
  1253. };
  1254. /*
  1255. * 微信支付回调失败后的,重复回调机制
  1256. *
  1257. * params:通知回调的参数
  1258. * self:作用域
  1259. * backNumber:当前回调次数
  1260. * timeoutID:定时器Id
  1261. * callback:通知回调
  1262. * 回调时间间隔:回调次数*3秒=下次回调的间隔时间(3、6、9、12、15秒),5次回调后不再回调
  1263. * 回调成功判断:服务端返回"SUCCESS"字符串,即为发货成功
  1264. */
  1265. GetIsGamePayUtil.prototype.wxPayCallback = function (params, self, backNumber, timeoutID, callback) {
  1266. //通知游戏发货
  1267. var requestUrl = params.requestUrl;
  1268. var data = params.data;
  1269. //取消延时定时器
  1270. if (timeoutID != 0) {
  1271. clearTimeout(timeoutID);
  1272. }
  1273. // 发起网络请求
  1274. self.Wx.request({
  1275. url: requestUrl,
  1276. method: 'POST',
  1277. data: data,
  1278. header: {
  1279. 'content-type': 'application/json' // 默认值
  1280. },
  1281. success: function (res) {
  1282. if (res.data.indexOf("SUCCESS") == -1) {
  1283. // if(res.data.indexOf("PayController.charge error.")>-1||res.data.indexOf("ERROR")>-1){
  1284. //再次发起支付回调
  1285. hitalkOpenSDK.hitalkLog.error(self.snKey + '发货失败,第' + backNumber + '次支付回调,res.data:' + JSON.stringify(res.data));
  1286. //重新发起回调
  1287. if (backNumber < 6) {
  1288. setTimeout(function (timeoutNum) {
  1289. self.wxPayCallback(params, self, backNumber + 1, timeoutNum, callback);
  1290. }, 3000 * backNumber, params); //3秒后再次发起回调 n*3秒之后再回调
  1291. }
  1292. else {
  1293. callback(false);
  1294. }
  1295. return;
  1296. }
  1297. hitalkOpenSDK.hitalkLog.info(self.snKey + '发货成功,第' + backNumber + '次支付回调,res.data:' + JSON.stringify(res.data));
  1298. callback(true);
  1299. },
  1300. fail: function (res) {
  1301. hitalkOpenSDK.hitalkLog.error(self.snKey + '发货失败fail,第' + backNumber + '次支付回调,res.data:' + JSON.stringify(res.data));
  1302. //重新发起回调
  1303. if (backNumber < 6) {
  1304. setTimeout(function (timeoutNum) {
  1305. self.wxPayCallback(params, self, backNumber + 1, timeoutNum, callback);
  1306. }, 3000 * backNumber, params); //2秒后再次发起回调
  1307. }
  1308. else {
  1309. callback(false);
  1310. }
  1311. }
  1312. });
  1313. };
  1314. return GetIsGamePayUtil;
  1315. }());
  1316. exports.GetIsGamePayUtil = GetIsGamePayUtil;
  1317. },{}],9:[function(require,module,exports){
  1318. "use strict";
  1319. Object.defineProperty(exports, "__esModule", { value: true });
  1320. var ExtraParamsUtil_1 = require("../coreUtils/ExtraParamsUtil");
  1321. var HitalkConfig_1 = require("../const/HitalkConfig");
  1322. var HitalkReturn_1 = require("../utils/HitalkReturn");
  1323. /**
  1324. * 获取玩家OpenId工具类
  1325. */
  1326. var GetOpenIdUtil = /** @class */ (function () {
  1327. function GetOpenIdUtil() {
  1328. }
  1329. /**获取玩家的OPENID */
  1330. GetOpenIdUtil.getOpenId = function (callback, loginSDKData, channelSDK) {
  1331. var self = this;
  1332. var channelSDKSelf = channelSDK;
  1333. var loginSDKDataSelf = loginSDKData;
  1334. var loginParams = ExtraParamsUtil_1.ExtraParamsUtil.getRequestLoginParams();
  1335. var requestParamsUrl = HitalkConfig_1.HitalkConfig.getSDKLoginParamsURL() + "/" + hitalkOpenSDK.snKey;
  1336. var requestParams = {
  1337. url: requestParamsUrl,
  1338. data: loginParams
  1339. };
  1340. //请求获取渠道登录参数(/params)
  1341. hitalkOpenSDK.request(requestParams, function (params) {
  1342. if (params.code === 0) {
  1343. self.channelSDKLogin(callback, loginSDKDataSelf, channelSDKSelf, params.data);
  1344. }
  1345. else {
  1346. HitalkReturn_1.HitalkReturn.fail(callback, HitalkConfig_1.HitalkConfig.SDK_SERVER_LOGIN_PARAMS, params.data);
  1347. }
  1348. });
  1349. // }
  1350. };
  1351. GetOpenIdUtil.channelSDKLogin = function (callback, loginSDKData, channelSDK, params) {
  1352. var self = this;
  1353. console.log("进入channelSDKLogin:" + hitalkOpenSDK.snKey);
  1354. channelSDK.login(function (channelParams) {
  1355. if (channelParams.retCode && channelParams.retCode == -1) {
  1356. HitalkReturn_1.HitalkReturn.fail(callback, 'login()接口登录失败', channelParams);
  1357. return;
  1358. }
  1359. //初始化开关状态
  1360. hitalkOpenSDK.gameExtraStatus(function () {
  1361. }.bind(self));
  1362. channelParams = ExtraParamsUtil_1.ExtraParamsUtil.getRequestLoginParams(channelParams);
  1363. var requestOpenidUrl = HitalkConfig_1.HitalkConfig.getSDKLoginOpenidURL() + "/" + hitalkOpenSDK.snKey;
  1364. var requestOpenidVo = {
  1365. url: requestOpenidUrl,
  1366. data: channelParams
  1367. };
  1368. //请求获取平台OpenId(/index)
  1369. hitalkOpenSDK.request(requestOpenidVo, function (openidParams) {
  1370. if (openidParams.code !== 0) {
  1371. HitalkReturn_1.HitalkReturn.failCode(callback, HitalkConfig_1.HitalkConfig.SDK_SERVER_LOGIN_OPENID, openidParams);
  1372. if (typeof channelSDK.informLoginFail == 'function') {
  1373. channelSDK.informLoginFail(openidParams); //登录失败通知渠道类回调
  1374. }
  1375. return;
  1376. }
  1377. hitalkOpenSDK.openId = openidParams.data.openId;
  1378. hitalkOpenSDK.snOpenId = openidParams.data.snOpenId;
  1379. hitalkOpenSDK.snUserInfoJson = openidParams.data.snUserInfoJson;
  1380. if (hitalkOpenSDK.tsKey == "quickSdk") {
  1381. hitalkOpenSDK.snKey = JSON.parse(openidParams.data.snUserInfoJson).snKey;
  1382. console.log("[quickSdk]snKey:" + hitalkOpenSDK.snKey);
  1383. }
  1384. if (typeof channelSDK.informLoginSuccess == 'function') {
  1385. channelSDK.informLoginSuccess(openidParams.data); //登录成功通知渠道类回调
  1386. }
  1387. HitalkReturn_1.HitalkReturn.success(callback, 'login', openidParams.data);
  1388. });
  1389. }, loginSDKData, params);
  1390. };
  1391. return GetOpenIdUtil;
  1392. }());
  1393. exports.GetOpenIdUtil = GetOpenIdUtil;
  1394. },{"../const/HitalkConfig":4,"../coreUtils/ExtraParamsUtil":6,"../utils/HitalkReturn":15}],10:[function(require,module,exports){
  1395. "use strict";
  1396. Object.defineProperty(exports, "__esModule", { value: true });
  1397. var HitalkLog_1 = require("../utils/HitalkLog");
  1398. var HitalkConfig_1 = require("../const/HitalkConfig");
  1399. /**
  1400. * 判断环境或小游戏平台工具类
  1401. */
  1402. var JudgePlatformUtil = /** @class */ (function () {
  1403. function JudgePlatformUtil() {
  1404. }
  1405. /**判断是否是正式服环境;判断url上是否携带debug参数*/
  1406. JudgePlatformUtil.isFormal = function () {
  1407. //通过url获取标识
  1408. var debug = hitalkOpenSDK.getUrlParameter('hitalkDebug');
  1409. // let xyxConfig = hitalkOpenSDK.xyxConfig
  1410. if (debug || debug === '1') {
  1411. HitalkLog_1.HitalkLog.info('SDK客户端进入测试环境,hitalkDebug:' + debug + ';返回结果IS_NORMAL:false');
  1412. HitalkConfig_1.HitalkConfig.IS_NORMAL = false;
  1413. }
  1414. else if (hitalkOpenSDK.snKey != undefined && hitalkOpenSDK.is_normal === 1) {
  1415. //小游戏渠道,使用xyxConfig.ts中的is_normal字段判断
  1416. HitalkLog_1.HitalkLog.info('SDK客户端小游戏渠道进入测试环境,hitalkOpenSDK.is_normal:' + hitalkOpenSDK.is_normal);
  1417. HitalkConfig_1.HitalkConfig.IS_NORMAL = false; //进入测试环境
  1418. }
  1419. else {
  1420. HitalkLog_1.HitalkLog.info('SDK客户端进入正式环境,hitalkDebug:' + debug + ';返回结果IS_NORMAL:true');
  1421. }
  1422. var isAbroad = hitalkOpenSDK.getUrlParameter('isAbroad');
  1423. console.log("isAbroad:" + isAbroad);
  1424. // 自动区分国内/海外SDK域名
  1425. if (!hitalkOpenSDK.snKey) {
  1426. if (isAbroad && isAbroad == "2") {
  1427. this.isOverseasDomainName2();
  1428. }
  1429. else if (isAbroad || isAbroad == '1') {
  1430. this.isOverseasDomainName();
  1431. }
  1432. }
  1433. };
  1434. /**是否小游戏平台 */
  1435. JudgePlatformUtil.isMiNiGame = function () {
  1436. if (!hitalkOpenSDK.getUrlParameter('snKey')) {
  1437. return true;
  1438. }
  1439. return false;
  1440. };
  1441. //自动切换海外域名
  1442. JudgePlatformUtil.isOverseasDomainName = function () {
  1443. //海外域名1--使用国内已备案域名
  1444. HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_TEST_URL = '//int-client-dev.hhycdk.com/';
  1445. HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_NORMAL_URL = '//int-client.hhycdk.com/';
  1446. HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_TEST_URL = '//int-isp-dev.hhycdk.com/';
  1447. HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_NORMAL_URL = '//int-isp.hhycdk.com/';
  1448. console.log("当前页面是海外域名,修改为海外域名url:" +
  1449. "\nHitalkConfig.CLIENT_ADDRESS_TEST_URL==>" + HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_TEST_URL +
  1450. "\nHitalkConfig.CLIENT_ADDRESS_NORMAL_URL==>" + HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_NORMAL_URL +
  1451. "\nHitalkConfig.SERVER_ADDRESS_TEST_URL==>" + HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_TEST_URL +
  1452. "\nHitalkConfig.SERVER_ADDRESS_NORMAL_URL==>" + HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_NORMAL_URL);
  1453. };
  1454. //自动切换海外未备案域名
  1455. JudgePlatformUtil.isOverseasDomainName2 = function () {
  1456. //海外域名2--使用海外未备案域名
  1457. HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_TEST_URL = '//int-client-dev.hkcxsd.com/';
  1458. HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_NORMAL_URL = '//int-client.hkcxsd.com/';
  1459. HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_TEST_URL = '//int-isp-dev.hkcxsd.com/';
  1460. HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_NORMAL_URL = '//int-isp.hkcxsd.com/';
  1461. console.log("当前页面是海外域名,修改为海外未备案域名url:" +
  1462. "\nHitalkConfig.CLIENT_ADDRESS_TEST_URL==>" + HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_TEST_URL +
  1463. "\nHitalkConfig.CLIENT_ADDRESS_NORMAL_URL==>" + HitalkConfig_1.HitalkConfig.CLIENT_ADDRESS_NORMAL_URL +
  1464. "\nHitalkConfig.SERVER_ADDRESS_TEST_URL==>" + HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_TEST_URL +
  1465. "\nHitalkConfig.SERVER_ADDRESS_NORMAL_URL==>" + HitalkConfig_1.HitalkConfig.SERVER_ADDRESS_NORMAL_URL);
  1466. };
  1467. return JudgePlatformUtil;
  1468. }());
  1469. exports.JudgePlatformUtil = JudgePlatformUtil;
  1470. },{"../const/HitalkConfig":4,"../utils/HitalkLog":13}],11:[function(require,module,exports){
  1471. "use strict";
  1472. Object.defineProperty(exports, "__esModule", { value: true });
  1473. // import { HitalkConfig } from './const/HitalkConfig'
  1474. var HitalkObject_1 = require("../const/HitalkObject");
  1475. /**
  1476. * 获取渠道参数工具类
  1477. */
  1478. var LoadChannelUtil = /** @class */ (function () {
  1479. function LoadChannelUtil() {
  1480. }
  1481. /**获取url后的渠道参数 */
  1482. LoadChannelUtil.loadChannelParams = function () {
  1483. if (!HitalkObject_1.HitalkObject.hitalkGlobal)
  1484. return;
  1485. var htgwindow = HitalkObject_1.HitalkObject.hitalkGlobal;
  1486. var htgurl = htgwindow.location.search; //获取url中"?"符后的字串
  1487. if (htgwindow['OPEN_DATA'] && htgwindow['OPEN_DATA'].appurl) {
  1488. var realStr = htgwindow['OPEN_DATA'].appurl.split('?')[1];
  1489. if (realStr)
  1490. htgurl = '?' + realStr;
  1491. }
  1492. var htgobj = {};
  1493. if (htgurl && htgurl.indexOf('?') != -1) {
  1494. var strs = htgurl.substr(1).split('&');
  1495. for (var i = 0; i < strs.length; i++) {
  1496. var param = strs[i].split('=');
  1497. htgobj[param[0]] = decodeURIComponent(param[1]);
  1498. }
  1499. }
  1500. hitalkOpenSDK.urlParams = htgobj;
  1501. };
  1502. /**获取当前渠道ID */
  1503. LoadChannelUtil.getSnKey = function () {
  1504. //通过url传入渠道标识
  1505. var snKey = hitalkOpenSDK.getUrlParameter('snKey');
  1506. if (snKey) {
  1507. return snKey;
  1508. }
  1509. return '';
  1510. };
  1511. /**获取当前子渠道ID */
  1512. LoadChannelUtil.getZoneKey = function () {
  1513. // let zoneKey = hitalkOpenSDK.urlParams.zoneKey
  1514. var zoneKey = hitalkOpenSDK.getUrlParameter('zoneKey');
  1515. if (zoneKey) {
  1516. return zoneKey;
  1517. }
  1518. return 'hitalkZone';
  1519. };
  1520. /**判断该渠道是否使用第三方SDK对接(例如QuickSDK) */
  1521. LoadChannelUtil.getTsKey = function () {
  1522. //通过url获取标识
  1523. // let tsKey = hitalkOpenSDK.urlParams.tsKey || ''
  1524. var tsKey = hitalkOpenSDK.getUrlParameter('tsKey');
  1525. if (tsKey) {
  1526. return tsKey;
  1527. }
  1528. return '';
  1529. };
  1530. return LoadChannelUtil;
  1531. }());
  1532. exports.LoadChannelUtil = LoadChannelUtil;
  1533. },{"../const/HitalkObject":5}],12:[function(require,module,exports){
  1534. "use strict";
  1535. Object.defineProperty(exports, "__esModule", { value: true });
  1536. var GlobalConstant_1 = require("../const/GlobalConstant");
  1537. var HitalkLog_1 = require("./HitalkLog");
  1538. var HitalkCheck = /** @class */ (function () {
  1539. function HitalkCheck() {
  1540. }
  1541. HitalkCheck.checkSnVO = function (params) {
  1542. if (!params)
  1543. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1544. if (typeof params.snKey !== 'string') {
  1545. return 'snKey';
  1546. }
  1547. if (typeof params.zoneKey !== 'string') {
  1548. return 'zoneKey';
  1549. }
  1550. return undefined;
  1551. };
  1552. HitalkCheck.checkUserInfoVO = function (params, errParamName) {
  1553. if (!params)
  1554. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1555. if (typeof params.openId !== 'string') {
  1556. errParamName += '\nopenId';
  1557. // return 'openId'
  1558. }
  1559. if (typeof params.roleId !== 'string') {
  1560. errParamName += '\nroleId';
  1561. // return 'roleId'
  1562. }
  1563. if (typeof params.roleName !== 'string') {
  1564. errParamName += '\nroleName';
  1565. // return 'roleName'
  1566. }
  1567. if (typeof params.roleLevel !== 'number') {
  1568. errParamName += '\nroleLevel';
  1569. // return 'roleLevel'
  1570. }
  1571. if (typeof params.vipGrade !== 'number') {
  1572. errParamName += '\nvipGrade';
  1573. // return 'vipGrade'
  1574. }
  1575. //areaId默认是string类型,目前少年封神是数值的,还没有做修改,如果此处做验证少年封神会不能支付
  1576. if (typeof params.areaId !== 'string') {
  1577. //有些游戏还未修改,暂时只做提示不做限制
  1578. HitalkLog_1.HitalkLog.error('缺少参数/类型错误--->areaId');
  1579. // errParamName += '\nareaId'
  1580. // return "areaId";
  1581. }
  1582. if (typeof params.areaName !== 'string') {
  1583. errParamName += '\nareaName';
  1584. // return 'areaName'
  1585. }
  1586. // return undefined
  1587. return errParamName;
  1588. };
  1589. HitalkCheck.checkGameIdVO = function (params) {
  1590. if (!params)
  1591. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1592. if (typeof params.gameId !== 'number') {
  1593. return 'gameId';
  1594. }
  1595. return undefined;
  1596. };
  1597. /**检查init参数 */
  1598. HitalkCheck.checkInitVO = function (params) {
  1599. if (!params)
  1600. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1601. var paramName;
  1602. paramName = HitalkCheck.checkGameIdVO(params);
  1603. if (paramName) {
  1604. return paramName;
  1605. }
  1606. return undefined;
  1607. };
  1608. /**检查pay参数 */
  1609. HitalkCheck.checkPayParams = function (params) {
  1610. var errParamName = ''; //错误参数名
  1611. if (!params)
  1612. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1613. var paramName;
  1614. paramName = HitalkCheck.checkGameIdVO(params);
  1615. if (paramName) {
  1616. return paramName;
  1617. }
  1618. paramName = HitalkCheck.checkSnVO(params);
  1619. if (paramName) {
  1620. return paramName;
  1621. }
  1622. paramName = HitalkCheck.checkUserInfoVO(params, errParamName);
  1623. if (paramName) {
  1624. errParamName += '\n' + paramName;
  1625. // return paramName
  1626. }
  1627. if (typeof params.productId !== 'string' || params.productId == '0') {
  1628. HitalkLog_1.HitalkLog.error('商品ID参数错误--->productId');
  1629. errParamName += '\nproductId';
  1630. // return 'productId'
  1631. }
  1632. if (typeof params.amount !== 'number') {
  1633. errParamName += '\namount';
  1634. // return 'amount'
  1635. }
  1636. if (typeof params.gameOrderNo !== 'string') {
  1637. errParamName += '\ngameOrderNo';
  1638. // return 'gameOrderNo'
  1639. }
  1640. if (typeof params.timestamp !== 'number') {
  1641. errParamName += '\ntimestamp';
  1642. // return 'timestamp'
  1643. }
  1644. if (typeof params.sign !== 'string') {
  1645. errParamName += '\nsign';
  1646. // return 'sign'
  1647. }
  1648. if (typeof params.extension !== 'string') {
  1649. errParamName += '\nextension';
  1650. // return 'extension'
  1651. }
  1652. // return undefined
  1653. return errParamName;
  1654. };
  1655. /**检查report参数 */
  1656. HitalkCheck.checkReportParams = function (action, params) {
  1657. var errParamName = ''; //存储上报错误字段名
  1658. if (action == 'reportRegister') {
  1659. //注册上报只需要校验createTime参数(其余参数都是全局变量获取的)
  1660. if (typeof params.createTime !== 'string') {
  1661. HitalkLog_1.HitalkLog.error('reportRegister缺少参数/类型错误--->createTime');
  1662. // return 'createTime' //有些游戏未实现,暂时只做提示不做限制
  1663. }
  1664. return undefined;
  1665. }
  1666. if (action == 'reportPoint') {
  1667. //打点上报只需要校验部分参数参数
  1668. if (typeof params.pointType !== 'string') {
  1669. HitalkLog_1.HitalkLog.error('自定义打点缺少打点类型参数/类型错误--->pointType');
  1670. // errParamName += '\npointType'
  1671. }
  1672. if (typeof params.pointName !== 'string') {
  1673. HitalkLog_1.HitalkLog.error('自定义打点缺少打点名称参数/类型错误--->pointName');
  1674. // errParamName += '\npointName'
  1675. }
  1676. if (typeof params.pointValue !== 'string') {
  1677. HitalkLog_1.HitalkLog.error('自定义打点缺少打点值参数/类型错误--->pointValue');
  1678. // errParamName += '\npointValue'
  1679. }
  1680. return errParamName;
  1681. }
  1682. if (!params)
  1683. return "\u4F20\u5165\u53C2\u6570\u5BF9\u8C61\u4E3A\u7A7A" /* PARAMS_UNDIFINED */;
  1684. var paramName;
  1685. paramName = HitalkCheck.checkGameIdVO(params);
  1686. if (paramName) {
  1687. return paramName;
  1688. }
  1689. paramName = HitalkCheck.checkSnVO(params);
  1690. if (paramName) {
  1691. return paramName;
  1692. }
  1693. paramName = HitalkCheck.checkUserInfoVO(params, errParamName);
  1694. if (paramName) {
  1695. errParamName += '\n' + paramName;
  1696. // return paramName
  1697. }
  1698. if (typeof params.roleTurnup !== 'number') {
  1699. errParamName += '\nroleTurnup';
  1700. // return 'roleTurnup'
  1701. }
  1702. if (typeof params.roleTurnupName !== 'string') {
  1703. HitalkLog_1.HitalkLog.error('缺少角色战力参数/类型错误--->roleTurnupName');
  1704. // errParamName += '\nroleTurnupName'
  1705. // return 'roleTurnup'
  1706. }
  1707. if (typeof params.createTime !== 'number') {
  1708. errParamName += '\ncreateTime';
  1709. // return 'createTime'
  1710. }
  1711. if (typeof params.moneyNum !== 'number') {
  1712. errParamName += '\nmoneyNum';
  1713. // return 'moneyNum'
  1714. }
  1715. if (typeof params.rolePower !== 'number') {
  1716. HitalkLog_1.HitalkLog.error('缺少角色战力参数/类型错误--->rolePower');
  1717. // errParamName += '\nrolePower'//只做提示
  1718. // return 'rolePower'
  1719. }
  1720. if (typeof params.createRoleTime !== 'number') {
  1721. HitalkLog_1.HitalkLog.error('缺少创角时间参数上报--->createRoleTime');
  1722. // errParamName += '\nroleTurnupName'
  1723. // return 'roleTurnup'
  1724. }
  1725. // return undefined
  1726. return errParamName;
  1727. };
  1728. //上报类型转换
  1729. HitalkCheck.checkReportAction = function (action) {
  1730. if (action == 1) {
  1731. //注册上报
  1732. return GlobalConstant_1.GlobalConstant.REPORT_REGISTER;
  1733. }
  1734. else if (action == 2) {
  1735. //创角上报
  1736. return GlobalConstant_1.GlobalConstant.REPORT_CREATE_ROLE;
  1737. }
  1738. else if (action == 3) {
  1739. //登录上报
  1740. return GlobalConstant_1.GlobalConstant.REPORT_LOGIN;
  1741. }
  1742. else if (action == 4) {
  1743. //等级上报
  1744. return GlobalConstant_1.GlobalConstant.REPORT_LEVEL_UP;
  1745. }
  1746. else if (action == 5) {
  1747. //vip等级上报
  1748. return GlobalConstant_1.GlobalConstant.REPORT_VIP_LEVEL;
  1749. }
  1750. else if (action == 6) {
  1751. //自定义打点数据上报
  1752. return GlobalConstant_1.GlobalConstant.REPORT_POINT;
  1753. }
  1754. else if (action == 7) {
  1755. //有效创角上报
  1756. return GlobalConstant_1.GlobalConstant.REPORT_EFFECTIVE_CREATE_ROLE;
  1757. }
  1758. else {
  1759. console.error('====gameReport上报类型action错误====>' + action);
  1760. return undefined;
  1761. }
  1762. };
  1763. return HitalkCheck;
  1764. }());
  1765. exports.HitalkCheck = HitalkCheck;
  1766. },{"../const/GlobalConstant":3,"./HitalkLog":13}],13:[function(require,module,exports){
  1767. "use strict";
  1768. Object.defineProperty(exports, "__esModule", { value: true });
  1769. /**
  1770. * 日志打印类
  1771. *
  1772. */
  1773. var HitalkLog = /** @class */ (function () {
  1774. function HitalkLog() {
  1775. }
  1776. HitalkLog.info = function (msg) {
  1777. if (!this.isOpen)
  1778. return;
  1779. var logStyle = this.logStyle("#989898");
  1780. var logMsg = this.logMsg(msg);
  1781. console.info(logMsg, logStyle);
  1782. };
  1783. HitalkLog.warn = function (msg) {
  1784. if (!this.isOpen)
  1785. return;
  1786. var logStyle = this.logStyle("#00768f");
  1787. var logMsg = this.logMsg(msg);
  1788. console.info(logMsg, logStyle);
  1789. };
  1790. HitalkLog.error = function (msg) {
  1791. if (!this.isOpen)
  1792. return;
  1793. var logStyle = this.logStyle("#ff4238");
  1794. var logMsg = this.logMsg(msg);
  1795. console.info(logMsg, logStyle);
  1796. };
  1797. /**打印信息 */
  1798. HitalkLog.logMsg = function (msg) {
  1799. return '%c ' + this.headMsg + msg;
  1800. };
  1801. /** 打印样式 */
  1802. HitalkLog.logStyle = function (color) {
  1803. if (color === void 0) { color = "grey"; }
  1804. return "color:" + color;
  1805. };
  1806. /**是否开启日志打印 */
  1807. HitalkLog.isOpen = true;
  1808. HitalkLog.headMsg = "FP-SDK日志:";
  1809. return HitalkLog;
  1810. }());
  1811. exports.HitalkLog = HitalkLog;
  1812. },{}],14:[function(require,module,exports){
  1813. "use strict";
  1814. Object.defineProperty(exports, "__esModule", { value: true });
  1815. var HitalkRequest = /** @class */ (function () {
  1816. function HitalkRequest() {
  1817. }
  1818. /**网络请求 */
  1819. HitalkRequest.request = function (params, callback, thisobj) {
  1820. var url = params.url;
  1821. var requestType = params.requestType || 'POST';
  1822. var xhr = new XMLHttpRequest();
  1823. var postData;
  1824. xhr.open(requestType, url, true);
  1825. xhr.setRequestHeader('Content-type', 'application/json');
  1826. xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
  1827. xhr.setRequestHeader('Access-Control-Allow-Methods', 'POST, PUT, GET, OPTIONS, DELETE');
  1828. xhr.setRequestHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization');
  1829. xhr.addEventListener('load', function () {
  1830. if (callback) {
  1831. callback.call(thisobj, JSON.parse(xhr.response));
  1832. }
  1833. });
  1834. if (params.data) {
  1835. console.log('ruquert发送的参数:' + JSON.stringify(params));
  1836. postData = JSON.stringify(params.data);
  1837. xhr.send(postData);
  1838. }
  1839. else {
  1840. xhr.send(null);
  1841. }
  1842. };
  1843. return HitalkRequest;
  1844. }());
  1845. exports.HitalkRequest = HitalkRequest;
  1846. },{}],15:[function(require,module,exports){
  1847. "use strict";
  1848. Object.defineProperty(exports, "__esModule", { value: true });
  1849. var HitalkLog_1 = require("./HitalkLog");
  1850. /**回调处理类 */
  1851. var HitalkReturn = /** @class */ (function () {
  1852. function HitalkReturn() {
  1853. }
  1854. /**请求错误 */
  1855. HitalkReturn.fail = function (callback, interfaceName, errorData) {
  1856. if (errorData === void 0) { errorData = {}; }
  1857. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求失败,errorData:" + JSON.stringify(errorData));
  1858. var ret = {};
  1859. ret.retCode = -1 /* FAIL */;
  1860. ret.retMsg = "\u8BE5\u53C2\u6570\u7F3A\u5C11\u6216\u7C7B\u578B\u6709\u8BEF" /* PARAMS_ERROR */;
  1861. ret.data = errorData;
  1862. HitalkReturn.returnFun(callback, ret);
  1863. };
  1864. /**服务端错误信息 */
  1865. HitalkReturn.failCode = function (callback, interfaceName, errorData) {
  1866. if (errorData === void 0) { errorData = {}; }
  1867. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求失败,errorData:" + JSON.stringify(errorData));
  1868. var ret = {};
  1869. ret.retCode = errorData.code;
  1870. ret.retMsg = errorData.msg;
  1871. ret.data = errorData;
  1872. HitalkReturn.returnFun(callback, ret);
  1873. };
  1874. /**请求成功 */
  1875. HitalkReturn.success = function (callback, interfaceName, data) {
  1876. if (data === void 0) { data = {}; }
  1877. HitalkLog_1.HitalkLog.info(interfaceName + "接口请求成功,data:" + JSON.stringify(data));
  1878. var ret = {};
  1879. ret.retCode = 0 /* SUCEESS */;
  1880. ret.retMsg = "\u8BF7\u6C42\u6210\u529F" /* SUCEESS */;
  1881. ret.data = data;
  1882. HitalkReturn.returnFun(callback, ret);
  1883. };
  1884. /**无SDK*/
  1885. HitalkReturn.noSDK = function (callback, snKey) {
  1886. HitalkLog_1.HitalkLog.error(snKey + "平台SDK文件未加载!");
  1887. var ret = {};
  1888. ret.retCode = -5 /* NO_SDK */;
  1889. ret.retMsg = "channel\u4E3A\u7A7A\u6216\u8005\u6682\u672A\u63A5\u5165\u8BE5\u6E20\u9053" /* NO_SDK */;
  1890. HitalkReturn.returnFun(callback, ret);
  1891. };
  1892. /**接口无实现 */
  1893. HitalkReturn.noInterface = function (callback, snKey, interfaceName) {
  1894. HitalkLog_1.HitalkLog.warn(snKey + "平台不支持该接口===" + interfaceName + "===");
  1895. var ret = {};
  1896. ret.retCode = -3 /* NO_INTERFACE */;
  1897. ret.retMsg = "\u8BE5\u6E20\u9053\u672A\u5B9E\u73B0\u8BE5\u63A5\u53E3" /* NO_INTERFACE */ + ":" + interfaceName;
  1898. HitalkReturn.returnFun(callback, ret);
  1899. };
  1900. /*参数缺少或者类型错误 */
  1901. HitalkReturn.paramsError = function (callback, interfaceName, paramName) {
  1902. HitalkLog_1.HitalkLog.error(interfaceName + ":参数缺少或者数据类型错误->" + paramName);
  1903. var ret = {};
  1904. ret.retCode = -4 /* PARAMS_ERROR */;
  1905. ret.retMsg = "\u8BE5\u53C2\u6570\u7F3A\u5C11\u6216\u7C7B\u578B\u6709\u8BEF" /* PARAMS_ERROR */ + ":" + paramName;
  1906. HitalkReturn.returnFun(callback, ret);
  1907. };
  1908. /**回调处理函数*/
  1909. HitalkReturn.returnFun = function (callback, ret) {
  1910. if (callback) {
  1911. callback.call(null, ret);
  1912. }
  1913. };
  1914. /**支付成功--0 */
  1915. HitalkReturn.successPay = function (callback, interfaceName, data) {
  1916. if (data === void 0) { data = {}; }
  1917. HitalkLog_1.HitalkLog.info(interfaceName + "接口请求成功,data:" + JSON.stringify(data));
  1918. var ret = {};
  1919. ret.retCode = 0 /* SUCEESS */;
  1920. ret.retMsg = "\u8BF7\u6C42\u6210\u529F" /* SUCEESS */;
  1921. ret.data = data;
  1922. HitalkReturn.returnFun(callback, ret);
  1923. };
  1924. /**支付通用回调接口 */
  1925. HitalkReturn.retAllPay = function (callback, retCode, retMsg, data) {
  1926. if (data === void 0) { data = {}; }
  1927. var ret = {};
  1928. ret.retCode = retCode;
  1929. if (retMsg != "" && retMsg != undefined) {
  1930. ret.retMsg = retMsg;
  1931. }
  1932. ret.data = data;
  1933. HitalkReturn.returnFun(callback, ret);
  1934. };
  1935. /**支付失败--1 */
  1936. HitalkReturn.failErrorPay = function (callback, interfaceName, errorData) {
  1937. if (errorData === void 0) { errorData = {}; }
  1938. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求失败,errorData:" + JSON.stringify(errorData));
  1939. var ret = {};
  1940. ret.retCode = 1 /* PAY_FAIL */;
  1941. ret.retMsg = "\u652F\u4ED8\u5931\u8D25" /* PAY_FAIL */;
  1942. ret.data = errorData;
  1943. HitalkReturn.returnFun(callback, ret);
  1944. };
  1945. /**支付取消--2 */
  1946. HitalkReturn.failCancelPay = function (callback, interfaceName, errorData) {
  1947. if (errorData === void 0) { errorData = {}; }
  1948. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求取消,errorData:" + JSON.stringify(errorData));
  1949. var ret = {};
  1950. ret.retCode = 2 /* PAY_CANCLE */;
  1951. ret.retMsg = "\u652F\u4ED8\u53D6\u6D88" /* PAY_CANCLE */;
  1952. ret.data = errorData;
  1953. HitalkReturn.returnFun(callback, ret);
  1954. };
  1955. /**支付失败,需要重新发起支付订单--3 */
  1956. HitalkReturn.failAfreshPay = function (callback, interfaceName, errorData) {
  1957. if (errorData === void 0) { errorData = {}; }
  1958. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求取消,errorData:" + JSON.stringify(errorData));
  1959. var ret = {};
  1960. ret.retCode = 3 /* PAY_AFRESH */;
  1961. ret.retMsg = "\u652F\u4ED8\u5931\u8D25,\u9700\u8981\u91CD\u65B0\u53D1\u8D77\u652F\u4ED8\u8BA2\u5355" /* PAY_AFRESH */;
  1962. ret.data = errorData;
  1963. HitalkReturn.returnFun(callback, ret);
  1964. };
  1965. /**登录失败,需要实名认证再登陆==-2 */
  1966. HitalkReturn.failRealName = function (callback, interfaceName, errorData) {
  1967. if (errorData === void 0) { errorData = {}; }
  1968. HitalkLog_1.HitalkLog.error(interfaceName + "接口请求失败,errorData:" + JSON.stringify(errorData));
  1969. var ret = {};
  1970. ret.retCode = -2 /* FAIL_REAL_NAME */;
  1971. ret.retMsg = "\u767B\u5F55\u5931\u8D25,\u9700\u8981\u5B9E\u540D\u8BA4\u8BC1\u518D\u767B\u9646" /* FAIL_REAL_NAME */;
  1972. ret.data = errorData;
  1973. HitalkReturn.returnFun(callback, ret);
  1974. };
  1975. return HitalkReturn;
  1976. }());
  1977. exports.HitalkReturn = HitalkReturn;
  1978. },{"./HitalkLog":13}]},{},[1]);
  1979. "use strict";
  1980. Object.defineProperty(exports, "__esModule", { value: true });
  1981. var arkSDK = require("./sn_js/gfWxXyx/arkSdk_wxXyx.js");
  1982. var GFWxXyx = /** @class */ (function () {
  1983. function GFWxXyx() {
  1984. this.snKey = hitalkOpenSDK.snKey;
  1985. this.zoneKey = hitalkOpenSDK.zoneKey;
  1986. this.gameId = hitalkOpenSDK.gameId;
  1987. this.Wx = window["wx"]; //微信小游戏全局对象
  1988. }
  1989. GFWxXyx.prototype.init = function (callback) {
  1990. var self = this;
  1991. self.arkXyxSDK = arkSDK;
  1992. self.arkXyxSDK = window["arkXyxSDK"];
  1993. //获取当前手机系统,支付的时候区分支付方式
  1994. self.SystemInfoSync = self.Wx.getSystemInfoSync();
  1995. hitalkOpenSDK.setChannelSdk(self); //将初始化完成对象赋值给channelSDK全局对象
  1996. callback(self); //渠道文件初始化完成回调
  1997. };
  1998. GFWxXyx.prototype.login = function (callback, loginSDKData, params) {
  1999. var self = this;
  2000. //调用登录接口,在初始化完成之后调用,获取玩家openId等信息
  2001. self.arkXyxSDK.init(function (res) {
  2002. if (res.code === 1) {
  2003. hitalkOpenSDK.hitalkLog.info('arkSDK初始化成功:' + JSON.stringify(res));
  2004. self.arkXyxSDK.login(function (res) {
  2005. if (res.code === 1) {
  2006. hitalkOpenSDK.hitalkLog.info('登录成功: res=>' + JSON.stringify(res));
  2007. self.gamePackageId = res.data.gamePackageId;
  2008. self.xyxOpenId = res.data.xyxOpenId;
  2009. res.data.query = self.Wx.getLaunchOptionsSync().query;
  2010. res.data.scene = self.Wx.getLaunchOptionsSync().scene;
  2011. res.data.platform = self.SystemInfoSync.platform;
  2012. hitalkOpenSDK.hitalkLog.info('获取LaunchOptionsSync.query的参数:' + JSON.stringify(res.data.query));
  2013. callback(res.data);
  2014. }
  2015. else {
  2016. hitalkOpenSDK.hitalkLog.error('登录失败: res=>' + JSON.stringify(res));
  2017. //注意:调用平台登录接口失败后,需要跳转游戏页面显示重新登录的按钮
  2018. }
  2019. });
  2020. }
  2021. else {
  2022. hitalkOpenSDK.hitalkLog.info('arkSDK初始化失败:' + JSON.stringify(res));
  2023. }
  2024. //debug:1(测试环境),不传或其它为正式环境
  2025. }, { debug: params.debug });
  2026. };
  2027. //该渠道支付参数需要新增的额外参数
  2028. GFWxXyx.prototype.assemblePayParams = function (params) {
  2029. var self = this;
  2030. var data = {
  2031. gamePackageId: self.gamePackageId
  2032. };
  2033. params.system = self.SystemInfoSync.platform;
  2034. params.snExtension = JSON.stringify(data);
  2035. return params;
  2036. };
  2037. GFWxXyx.prototype.gamePay = function (params, callback) {
  2038. var self = this;
  2039. hitalkOpenSDK.hitalkLog.info('gzFangZhou支付接口游戏参数 param:' + JSON.stringify(params));
  2040. self.arkXyxSDK.pay(params, function (ret) {
  2041. hitalkOpenSDK.hitalkLog.info('gzFangZhou支付接口,回调数据:' + JSON.stringify(ret));
  2042. if (ret.code == -1) {
  2043. hitalkOpenSDK.hitalkLog.info("base64Code:" + JSON.stringify(ret.data));
  2044. hitalkOpenSDK.hitalkReturn.retAllPay(callback, 4 /* PAY_QR_CODE */, "", ret.data);
  2045. }
  2046. });
  2047. };
  2048. //******************************************* 扩展功能:敏感字功能 START ***********************************************//
  2049. //检测敏感词接口
  2050. GFWxXyx.prototype.contentCheck = function (params, callback) {
  2051. var self = this;
  2052. var checData = {
  2053. scene: params.scene,
  2054. content: params.content,
  2055. };
  2056. self.arkXyxSDK.msgSecCheck(checData, function (ret) {
  2057. hitalkOpenSDK.hitalkLog.info('msgSecCheck 接口回调的参数:' + JSON.stringify(ret));
  2058. if (ret.code == 1) {
  2059. hitalkOpenSDK.hitalkReturn.success(callback, "contentCheck success", params);
  2060. }
  2061. else {
  2062. hitalkOpenSDK.hitalkReturn.fail(callback, "contentCheck fail", "");
  2063. }
  2064. });
  2065. };
  2066. GFWxXyx.prototype.isClientOrServer = function () {
  2067. return true; //true:由客户端校验敏感字,false:由服务端校验敏感字
  2068. };
  2069. //******************************************* 扩展功能:敏感字功能 END ***********************************************//
  2070. //*******************************************扩展功能:分享功能START***********************************************//
  2071. // /**分享接口*/
  2072. // shareMessage(params?: any, callback?: Function): void {
  2073. // let self = this
  2074. // self.shareData(function (res: any) {
  2075. // if(res.retCode==-1){
  2076. // hitalkOpenSDK.hitalkLog.info('获取分享数据失败')
  2077. // hitalkOpenSDK.hitalkReturn.fail(callback, 'shareMessage error', '获取分享数据失败')
  2078. // return
  2079. // }
  2080. // let query: string = 'shareSnOpenId=' + hitalkOpenSDK.snOpenId //获取分享人渠道openId
  2081. // let shareParams = self.paramsJsonStr(params)
  2082. // if (shareParams != '') {
  2083. // query += "&" + shareParams
  2084. // }
  2085. // hitalkOpenSDK.hitalkLog.info('分享接口传递的数据query:' + query)
  2086. // let data: any = {
  2087. // title: res.data['title'], //非必传 转发标题,不传则默认使用当前小游戏的昵称。
  2088. // imageUrl: res.data['imgUrl'], //非必传 转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径。显示图片长宽比是 5:4
  2089. // query: query, //非必传 查询字符串,从这条转发消息进入后,可通过 wx.getLaunchOptionsSync() 或 wx.onShow() 获取启动参数中的 query。必须是 key1=val1&key2=val2 的格式。
  2090. // imageUrlId: "", //非必传 审核通过的图片 ID
  2091. // toCurrentGroup: "", //非必传 (默认值为true)是否转发到当前群。该参数只对从群工具栏打开的场景下生效,默认转发到当前群,填入false时可转发到其他会话。
  2092. // path: "", //非必传 独立分包路径。
  2093. // };
  2094. // self.Wx.shareAppMessage(data)
  2095. // setTimeout(function () {
  2096. // //直接返回分享成功
  2097. // hitalkOpenSDK.hitalkReturn.success(callback, 'shareMessage', '默认返回成功')
  2098. // }, 5000); //延时5秒
  2099. // })
  2100. // }
  2101. // /**获取分享人ID*/
  2102. // getShareUID() {
  2103. // let res = {}
  2104. // // //获取分享人的id,缓存值全局
  2105. // let query = this.Wx.getLaunchOptionsSync().query
  2106. // res['query'] = query
  2107. // hitalkOpenSDK.hitalkLog.info('获取分享的数据query:' + JSON.stringify(query))
  2108. // return res
  2109. // }
  2110. // /**是否可以分享 */
  2111. // isOpenShareMessage() {
  2112. // return true //true:显示分享按钮 false:隐藏分享按钮
  2113. // }
  2114. // //获取服务器配置的分享数据
  2115. // private shareData(callback: Function) {
  2116. // let self = this
  2117. // //1.获取url
  2118. // let requestUrl: string = hitalkOpenSDK.getIspServerURL() + 'issueExt/share/' + hitalkOpenSDK.snKey //获取url
  2119. // // let requestUrl: string = '//isp-dev.hhycdk.com/ext/share/' +slWxXyx.snKey + '/' +slWxXyx.zoneKey + '/' +slWxXyx.gameId //获取url
  2120. // hitalkOpenSDK.hitalkLog.info('分享请求的url:' + requestUrl)
  2121. // //2.拼装请求的url和data
  2122. // let data = {
  2123. // snKey: self.snKey
  2124. // }
  2125. // let requestOpenidVo: RequestParamsVO = { url: requestUrl, data: JSON.stringify(data), requestType: "POST" }
  2126. // //3.向服务器获取分享标题和imageUrl
  2127. // hitalkOpenSDK.request(requestOpenidVo, function (resParams: any) {
  2128. // // hitalkOpenSDK.hitalkLog.info('微信小游戏服务器获取分享信息成功,返回结果resParams:' + JSON.stringify(resParams))
  2129. // if (resParams.code != 0) {
  2130. // // hitalkOpenSDK.hitalkLog.error('微信小游戏服务器获取分享信息失败,返回结果resParams:' + JSON.stringify(resParams))
  2131. // hitalkOpenSDK.hitalkReturn.fail(callback, 'shareData', '微信小游戏服务器获取分享信息失败,返回结果resParams:' + JSON.stringify(resParams))
  2132. // return
  2133. // }
  2134. // hitalkOpenSDK.hitalkReturn.success(callback, 'shareData', resParams.data)
  2135. // })
  2136. // }
  2137. //*******************************************扩展功能:分享功能END***********************************************//
  2138. //*******************************************扩展接口功能:订阅接口START***********************************************//
  2139. //查询用户的订阅状态:初始化查询用户订阅状态,以便游戏确定显示"订阅"图标
  2140. //获取玩家订阅结果
  2141. GFWxXyx.prototype.isSubscribe = function (callback) {
  2142. if (callback) {
  2143. callback({ oneStatus: false });
  2144. }
  2145. return true;
  2146. };
  2147. //发起主动订阅请求:用户点击"允许订阅"时触发,如果用户点击"取消"则不触发!!
  2148. //params.type-->0:长期订阅 1:一次性订阅 (默认)
  2149. //发起主动订阅请求:用户点击"允许订阅"时触发,如果用户点击"取消"则不触发!!
  2150. GFWxXyx.prototype.subscribe = function (params, callback) {
  2151. var self = this;
  2152. //获取订阅模板id
  2153. var tmplIds = params.tmplIds;
  2154. hitalkOpenSDK.hitalkLog.info("订阅消息,params:" + JSON.stringify(params) + ";;tmplIds:" + JSON.stringify(tmplIds));
  2155. var data = {
  2156. "type": 0,
  2157. "tmplIds": tmplIds,
  2158. };
  2159. self.arkXyxSDK.extraAction("subscribe", data, function (res) {
  2160. if (res.code == 1) {
  2161. //表示订阅成功
  2162. hitalkOpenSDK.switchStatus.subscribe.oneStatus = true;
  2163. hitalkOpenSDK.hitalkReturn.success(callback, "subscribe", res.data);
  2164. }
  2165. else {
  2166. //表示订阅失败
  2167. hitalkOpenSDK.switchStatus.subscribe.oneStatus = false;
  2168. hitalkOpenSDK.hitalkLog.error("用户拒绝接收一次性订阅消息");
  2169. hitalkOpenSDK.hitalkReturn.fail(callback, "subscribe", res.data);
  2170. }
  2171. });
  2172. };
  2173. //*******************************************扩展接口功能:订阅接口end***********************************************//
  2174. //*******************************************扩展接口功能:激励视频接口start***********************************************//
  2175. GFWxXyx.prototype.isVideoAd = function () {
  2176. return true;
  2177. };
  2178. //激励视频
  2179. GFWxXyx.prototype.videoAd = function (params, callback) {
  2180. var self = this;
  2181. var data = {
  2182. "adUnitId": params.adUnitId,
  2183. };
  2184. self.arkXyxSDK.extraAction("rewardedVideoAd", data, function (res) {
  2185. if (res.code == 1) {
  2186. hitalkOpenSDK.hitalkLog.info("正常播放结束,可以下发游戏奖励,adUnitId:" + data.adUnitId);
  2187. hitalkOpenSDK.hitalkReturn.success(callback, 'videoAd', '已看完视频');
  2188. }
  2189. else {
  2190. // 播放中途退出,不下发游戏奖励
  2191. hitalkOpenSDK.hitalkLog.info("播放中途退出,不下发游戏奖励,adUnitId:" + data.adUnitId);
  2192. hitalkOpenSDK.hitalkReturn.fail(callback, 'videoAd', "未看完视频");
  2193. }
  2194. });
  2195. };
  2196. //*******************************************扩展接口功能:激励视频接口end***********************************************//
  2197. /**拼接json字段*/
  2198. GFWxXyx.prototype.paramsJsonStr = function (paramsJson) {
  2199. var str = '';
  2200. if (paramsJson != undefined && paramsJson != null && JSON.stringify(paramsJson) != '{}') {
  2201. for (var key in paramsJson) {
  2202. str += key + '=' + paramsJson[key] + '&';
  2203. }
  2204. str = str.substring(0, str.length - 1);
  2205. }
  2206. return str;
  2207. };
  2208. /**获取手机系统版本*/
  2209. GFWxXyx.prototype.getSystemVersion = function () {
  2210. var systemVersion = '';
  2211. var sysinfo = this.SystemInfoSync;
  2212. if (sysinfo.system && sysinfo.system != '') {
  2213. systemVersion = sysinfo.system;
  2214. }
  2215. return systemVersion;
  2216. };
  2217. GFWxXyx.prototype.request = function (params, callback, thisobj) {
  2218. var self = this;
  2219. hitalkOpenSDK.hitalkLog.info('request请求的参数' + JSON.stringify(params));
  2220. var startTime = Date.now();
  2221. var requestUrl = 'https:' + params.url;
  2222. // 发起网络请求
  2223. this.Wx.request({
  2224. url: requestUrl,
  2225. method: params.requestType || 'POST',
  2226. data: params.data,
  2227. header: {
  2228. 'content-type': 'application/json' // 默认值
  2229. },
  2230. success: function (res) {
  2231. var endTime = Date.now();
  2232. hitalkOpenSDK.hitalkLog.info('request请求成功,响应耗时:' + (endTime - startTime) + '毫秒\n请求参数:' + JSON.stringify(params) + '\n响应返回结果:' + JSON.stringify(res.data));
  2233. hitalkOpenSDK.hitalkLog.info('request请求成功' + JSON.stringify(res.data));
  2234. callback(res.data);
  2235. },
  2236. fail: function (res) {
  2237. var endTime = Date.now();
  2238. hitalkOpenSDK.hitalkLog.error('request请求失败,响应耗时:' + (endTime - startTime) + '毫秒\n请求参数:' + JSON.stringify(params) + '\n响应返回结果:' + JSON.stringify(res.data));
  2239. hitalkOpenSDK.hitalkLog.error('request请求失败' + JSON.stringify(res.data));
  2240. callback("error");
  2241. }
  2242. });
  2243. };
  2244. return GFWxXyx;
  2245. }());
  2246. var gfWxXyx = new GFWxXyx();
  2247. hitalkOpenSDK.xyxImpl = gfWxXyx; //改用XyxImpl全局对象初始化---与H5渠道不同