{"version":3,"sources":["webpack:///./src/pages/videoGame/api.ts","webpack:///./src/pages/index/modules/share.ts","webpack:///./src/store/index.ts","webpack:///./src/assets/kigo_icon/alert_icon.png","webpack:///./src/common/router/base.ts","webpack:///./src/assets/avatar.png","webpack:///./src/store/modules/common.ts","webpack:///./src/components/OpenAppPopUp/index.ts","webpack:///./src/components/Avatar.vue?cd1d","webpack:///./src/config/index.ts","webpack:///./src/common/utils/device/index.ts","webpack:///./src/components/OpenAppPopUp/OpenAppPopUp.vue?00c5","webpack:///./src/components/OpenAppPopUp/OpenAppPopUp.vue","webpack:///./src/components/OpenAppPopUp/OpenAppPopUp.vue?a2d1","webpack:///./src/components/OpenAppPopUp/OpenAppPopUp.vue?f41c","webpack:///./src/common/utils/device/getSystemInfo.ts","webpack:///./src/pages/share-room/components/ToDownLoad/ToDownLoad.vue?6a94","webpack:///./src/pages/share-room/components/ToDownLoad/ToDownLoad.vue","webpack:///./src/pages/share-room/components/ToDownLoad/ToDownLoad.vue?6772","webpack:///./src/pages/share-room/components/ToDownLoad/ToDownLoad.vue?69f8","webpack:///./src/common/utils/request.ts","webpack:///./src/common/utils/index.ts","webpack:///./src/common/utils/JSMath.js","webpack:///./src/pages/user/api.ts","webpack:///./src/store/modules/layout.ts","webpack:///./src/pages/index/api/share.ts","webpack:///./src/common/utils/device/getNetworkType.ts","webpack:///./src/common/utils/gameBridge.ts","webpack:///./src/common/utils/bridge.ts","webpack:///./src/mixins/outsidePage.ts","webpack:///./src/common/utils/storage.ts","webpack:///./src/components/Avatar.vue?87d0","webpack:///./src/components/Avatar.vue","webpack:///./src/components/Avatar.vue?cf27","webpack:///./src/components/Avatar.vue?08c4","webpack:///./src/vant.ts","webpack:///./src/common/utils/bus.ts","webpack:///./src/common/utils/point.ts","webpack:///./src/common/mixins/mixins.ts","webpack:///./src/common/base.ts","webpack:///./src/pages/share-room/components/ToDownLoad/ToDownLoad.vue?1ac3","webpack:///./src/components/OpenAppPopUp/OpenAppPopUp.vue?01c9"],"names":["submitNullfiy","post","submitFeedback","params","stringify","headers","helpProblemList","classId","get","class_id","getInviteInfo","getQuestionInfo","getQuestionDetail","accessInvite","data","getShareInviteInfo","getIntegralConfig","exchangeIntegral","getUserGameRecord","getVipInfo","getLaestVserionInfo","getDrawTimes","everyDraw","getUserDrawRecord","getSaturdayVipDayInfo","receiveVipGiftPackage","getExchangeGoodsList","getGoodsDetail","getConfirmOrderInfo","getAddressList","getZoneList","addAddress","updateAddress","deleteAddress","submitOrder","getExchangeOrderList","getOrderDetail","getweChatInfo","getCoinDetailList","getUserVipCardConfig","uid","cardReceiveCoin","getBannerByType","checkBuyLimit","getUseCoinLevelInfo","getLatestVersionInfo","wechatAuth","withdrawList","platformWithdrawList","withdraw","getAllMachine","commitOffMic","getRankAwardConfig","getTaskList","receiveTaskAward","commitSign","getPushCoinCharterInfo","receiveAllTaskByType","throwVersionUpdate","getPayChargeInfo","platform","getChargeAuthInfo","ApiGetUserTopMatchInfo","ApiGetTopMatchRank","ApiUploadPushCoinFullAward","apiGetUserChallengeInfo","apiGetChallengeRoomInfo","ApiGetChanllengeRank","apiAddChallengeAddress","apiGetTopMatchRedInfo","apiSendTopMatchRed","apiGetUserPayDrawInfo","apiCommitPayDraw","apiGetGoodSignDrawRecord","apiGetRoomShareInfo","apiAliPayAuth","ApiCommitAddAgent","ApiGet618UserActivityInfo","Api618ReceiveCoin","ApiGetNewInviteInfo","ApiChangeChooseReturn","ApiGetUserInviteReturnRecord","ApiGetUserInviteRecord","Share","length","this","videoHomeList","videoArr","cha","slice","loading","shareLayoutRefresh","page","page_size","dynamicList","list","dynamic_default_image","show","showOpenAppPopUp","apkUrl","apk_url","mutate","dynamic","store","name","ShareModule","use","Store","state","mutations","actions","modules","module","exports","configure","showSpinner","globalBeforeRouter","to","from","next","console","log","meta","hideNProgress","start","pageStartTime","Date","getTime","cache","addKeepAlive","showNavBack","fullPath","auth","login","token","globalAfterRouter","pageLoadTime","done","includes","navColor","navFontColor","titleColor","setTitle","title","Common","decodeURI","localStorage","getItem","userId","userName","deviceId","deviceModel","appVersion","channel","userType","isLogin","val","isShowDownloadConfirm","res","setLogin","tocken","setToken","setUserName","setUserId","setDeviceId","setDeviceModel","setAppVersion","setChannel","setPlatform","error","oldToken","keepAlive","push","coin","k_coin","k_bean","setCoin","CommonModule","beforeEnter","getToken","time","timeEnd","OpenAppPopUpVue","createOpenAppPopUp","vnode","render","h","$mount","document","body","appendChild","$el","$children","openAppPopUp","open","baseURL","javaBaseURL","reportConfig","location","origin","appKey","debug","window","TAKTAK_DEBUG","APP_VERSION","apiMock","mockBaseURL","VUE_APP_MOCK_BASE_API","PUBLIC_KEY","_vm","_h","$createElement","_c","_self","attrs","on","$event","staticClass","staticRenderFns","component","ua","navigator","userAgent","isAndroid","test","isIOS","getSystemInfoSync","osname","osversion","model","screen","pixelRatio","devicePixelRatio","landscape","Math","abs","Number","orientation","screenWidth","width","height","screenHeight","windowWidth","min","innerWidth","documentElement","clientWidth","windowHeight","innerHeight","language","statusBarHeight","top","osversionFind","match","replace","modelFind","infoFind","infos","split","otherInfo","i","info","indexOf","trim","other","o","system","toLocaleLowerCase","safeArea","left","right","bottom","safeAreaInsets","getSystemInfo","_v","_s","$t","titleTxt","handleOpenApp","btnTxt","pageId","eventId","eventType","shareUserId","type","String","default","addSign","config","timestamp","floor","requestFrom","encryp","toString","addJavaSign","serviceFulfilled","response","status","code","msg","Promise","reject","serviceRejected","errText","message","service","a","create","timeout","addAuthorization","Authorization","removeToken","flavors","useMock","defaults","interceptors","request","javaService","_utf8_encode","string","utftext","n","c","charCodeAt","fromCharCode","encode","input","chr1","chr2","chr3","enc1","enc2","enc3","enc4","_keyStr","output","isNaN","charAt","guid","r","random","v","getPlatform","getDeviceId","setItem","useDebug","href","then","value","vconsole","openScheme","schemeUrl","startTime","resolve","timer","setTimeout","endTime","hidden","visibilitychange","clearTimeout","addEventListener","oppoReg","openAppMarket","packageName","appMarketList","reg","scheme","element","catch","Error","toAppMarket","toAppMarketEnjoy","getScreen","getAppLanguage","compare","curV","reqV","arr1","arr2","minLength","position","diff","parseInt","toLiveRoom","isLive","fromType","roomId","base64ToBlob","base64Data","bstr","atob","l","u8Arr","Uint8Array","Blob","blobToFile","newBlob","fileName","lastModifiedDate","dateFormat","fmt","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","S","getMilliseconds","k","RegExp","$1","substr","getQueryVariable","variable","search","hash","unescape","unitFormat","num","limit","toFixed","pxToVw","css","px","aesEncrypt","SECRET_KEY","enc","Utf8","parse","SECRET_IV","curData","Object","assign","dataHex","JSON","AES","encrypt","iv","mode","CBC","padding","pad","Pkcs7","rsaEncrypt","setPublicKey","compareLess","isIPhoneWithNotch","JSMath","prototype","undefined","add","thisValueString","valueString","timesCount1","timesCount2","maxtimeCount","pow","sub","div","times","result","uploadImage","helpProblemDetail","id","getIosConfig","getHelpList","getChargeList","front","changChargeSet","getRichTextContent","getExchangeRuleList","exchangeKCoinAndKBean","getCHageRecordList","getWolfKillFightRecordList","getWolfKillReocordDetail","Loyout","liveuid","liveEndToastStatus","LoyoutModule","getDynamicList","getApkInfo","getInformationCollectNum","getNetworkType","connection","webkitConnection","networkType","effectiveType","onLine","evalJsBridgeCallBack","func","jsBridgeCallBack","funcId","callBack","sendScheme","webviewJsBridgeCallBack","iframe","createElement","style","src","removeChild","responseCallback","isCheckCheck","gameJsBridge","callback","WebViewJavascriptBridge","WVJBCallbacks","WVJBIframe","display","bridge","registerHandler","callHandler","key","responseData","init","methodList","callBridgeAsync","overtime","overtimes","e","callBridgeLongAsync","registerBridge","callBridge","callAppFunc_getSomeParams","callAppFunc_setNavColor","callAppFunc_setTitleFontColor","callAppFunc_Jump2Act","callAppFunc_webToThirdApp","callAppFunc_openBrowser","callAppFunc_previewImage","url","callH5Func_delPreviewImage","callAppFunc_getMethodList","callAppFunc_jumpToPersonalCenter","callAppFunc_openPersonalDataPopUp","callAppFunc_JumpIosPay","callAppFunc_copyMess","str","callAppFunc_openApp","callAppFunc_closeWebview","callAppFunc_statusBarHeight","callAppFunc_jumpToLiveRoom","version","callAppFunc_openSystemAlbum","callH5Func_choiceImageSuccess","base64","callAppFunc_showHideBottomNavigationBar","callAppFunc_closeCurrentWebview","callAppFunc_closeWebViewPopUp","callAppFunc_WebShare","callAppFunc_goHome","callAppFunc_logOffSuccess","callAppFunc_setNavBackIcon","callAppFunc_setNavCloseIcon","callappFunc_onH5PaySuccess","callAppFunc_setNavMask","callAppFunc_loginStateChanged","callAppFunc_GoWallet","callAppFunc_bindWechat","callH5Func_wechatCode","callAppFunc_receiveTaskCallBack","callAppFunc_goRoomList","callAppFunc_checkVersion","callAppFunc_goIdentity","verifyStatus","callAppFunc_payfunc","callAppFunc_appPaySuccess","callAppFunc_startChallengeMode","callAppFunc_showRefreshBtn","callAppFunc_saveImage","callAppFunc_bindAliPay","callH5Func_BindAliPayBack","callAppFunc_CloseWebAndGoWallet","callAppFunc_CloseHalfScreenWebview","callAppFunc_goAppSetting","OutsidePageMixin","queryUrl","openSchemeing","$platform","appPackageName","appDownloadUrl","$toast","progress","TakStorage","TakStoragePrefix","prefix","temp","tempStr","keys","clearKeys","filter","forEach","removeItem","tocenter","scopedSlots","_u","fn","proxy","defaultAvatar","setDefaultOptions","duration","icon","className","transition","http","sendXHR","xmlHttp","XMLHttpRequest","send","sendData","_data","sendBeacon","options","sysInfo","commonInfo","sdkVersion","randomId","device","deviceType","systemVersion","network","ip","returnCitySN","cip","cityAddr","cname","deviceIdV2","appChannel","operators","lang","reportData","eventMap","pageReport","dataMap","page_from","sync","clientTime","targetId","targetName","assinReportData","method","getDataTime","point","pageEvent","outTime","$options","$route","report","pageName","pageType","inTime","fun","_postPageData","$once","removeEventListener","onbeforeunload","productionTip","$bus","bus","$debug"],"mappings":"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","file":"js/chunk-common.c5105f47.js","sourcesContent":["/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2021-03-29 15:33:59\n * @LastEditors: yaozuo\n * @LastEditTime: 2021-10-28 11:54:31\n */\n\nimport { isIOS } from '@/common/utils/device'\nimport { service, javaService } from '@/common/utils/request'\nimport { APP_VERSION } from '@/config'\nimport { CommonModule } from '@/store/modules/common'\nimport qs from 'qs'\n\n/**\n * 账户注销\n * @returns\n */\nexport function submitNullfiy() {\n return service.post('/api/user/logout/submit')\n}\n/**\n * 上传图片\n * @param data\n * @returns\n */\nexport function uploadImage(data: FormData) {\n return service.post('api/v1/5/upload/file', data)\n}\n\n/**\n * 提交反馈\n * @param params\n * @returns\n */\nexport function submitFeedback(params: {\n model: string\n images: string\n content: string\n}) {\n return service.post('/api/help/feedback/submit', qs.stringify(params), {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n })\n}\n\n/**\n * 问题分类列表\n * @returns\n */\n\n/**\n * 问题列表\n * @returns\n */\nexport function helpProblemList(classId: string | (string | null)[]) {\n return service.get('/api/help/problem/list', {\n params: {\n class_id: classId\n }\n })\n}\n/**\n * 问题详情\n * @returns\n */\nexport function helpProblemDetail(id: string) {\n return service.get('/api/help/problem/detail', {\n params: {\n id\n }\n })\n}\n/**\n * ios 支付配置\n * @returns\n */\nexport function getIosConfig() {\n return service.get('/api/ios/pay/config')\n}\n\n//获取问题列表\nexport function getHelpList() {\n return service.get('/api/kigo/help/class/list')\n}\n//获取充值列表\nexport function getChargeList(uid?: string, front?: number) {\n return service.get(`/api/kigo/charge/list`, {\n params: {\n uid,\n front\n },\n headers: { 'app-front': front ? 1 : isIOS ? 2 : 3 }\n })\n}\n\n//设置充值软件\nexport function changChargeSet(data: { charge: number }) {\n return service.post('/api/kigo/charge/choose/set', qs.stringify(data))\n}\n\n/**\n * 获取充值明细\n * @param params\n * @returns\n */\nexport function getRechargeList(params: {\n uid: string | number\n token: string\n}) {\n return service.get('/api/kigo/charge/record/list', { params })\n}\n\n/**\n * 获取富文本内容\n * @param params\n */\nexport function getRichTextContent(params: {\n id: string\n removeToken?: boolean\n}) {\n params.removeToken = true\n return javaService.get('/kigo-user-api/protocol/getInfoById', {\n params\n //removeToken: true\n })\n}\n\n/**\n * 抽奖\n * @param params\n * @returns\n */\nexport function getDrawLuckey(params: { uid: string }) {\n return javaService.get('/kigo-user-api/luck/draw', { params })\n}\n\n/**\n * 获取金豆和银豆兑换规则\n * @returns\n */\nexport function getExchangeRuleList() {\n return javaService.get('/kigo-room-api/kCoin/getExchangeRuleList')\n}\n\n/**\n * 兑换金豆或者银豆\n * @param params\n * @returns\n */\nexport function exchangeKCoinAndKBean(data: {\n exchangeRuleId: string | number\n uid: string | number\n}) {\n return javaService.post(\n '/kigo-room-api/kCoin/exchangeKCoinAndKBean',\n qs.stringify(data),\n {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n }\n )\n}\n\n/**\n * 获取充值兑换明细记录列表\n * @param params\n * @returns\n */\nexport function getCHageRecordList(params: { page: number; limit: number }) {\n return javaService.get('/kigo-user-api/pay/getChargeRecordList', { params })\n}\n\n/**\n * app端-邀请有礼邀请页数据获取\n * @param params\n * @returns\n */\nexport function getInviteInfo(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/invite/getInviteInfo', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * app端-在线客服列表获取\n * @param params\n * @returns\n */\nexport function getQuestionInfo(params: { effectType: number }) {\n return javaService.get('/kigo-game-server/customerService/getQuestionInfo', {\n params\n })\n}\n\n/**\n * app端-在线客服问题详情\n * @param params\n * @returns\n */\nexport function getQuestionDetail(params: { id: number | string }) {\n return javaService.get(\n '/kigo-game-server/customerService/getQuestionDetail',\n {\n params\n }\n )\n}\n/**\n * app端-接受邀请\n * @param data\n * @returns\n */\nexport function accessInvite(data: {\n inviteCode: string | number\n uid: string | number\n}) {\n return javaService.post('/kigo-game-server/invite/accessInvite', data, {\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * app端-邀请分享页数据获取\n * @param params\n * @returns\n */\nexport function getShareInviteInfo(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/invite/getShareInviteInfo', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * 积分兑换-获取积分兑换配置\n * @param params\n * @returns\n */\nexport function getIntegralConfig(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/integral/getIntegralConfig', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * 兑换积分\n * @param data\n * @returns\n */\nexport function exchangeIntegral(data: {\n changeCoin: number\n uid: string | number\n useIntegral: number\n}) {\n return javaService.post('/kigo-game-server/integral/exchangeIntegral', data, {\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * app端-获取游戏记录\n * @param params\n * @returns\n */\nexport function getUserGameRecord(params: {\n page: number\n limit: number\n uid?: string | number\n}) {\n {\n return javaService.get('/kigo-game-server/integral/getUserGameRecord', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n }\n}\n\n/**\n * 我的会员-获取VIP信息详情\n * @returns\n */\nexport function getVipInfo() {\n return javaService.get('/kigo-game-server/user/getVipInfo')\n}\n\n/**\n * 查询最新版本信息\n * @returns\n */\nexport function getLaestVserionInfo(params?: any) {\n return javaService.get('/kigo-game-server/version/getLatestVersionInfo', {\n params\n })\n}\n\n/**\n * 每日抽奖-获取抽奖次数&&轮播数据\n * @param params\n * @returns\n */\nexport function getDrawTimes(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/homeActivity/getDrawTimes', {\n params\n })\n}\n\n/**\n * 每日抽奖-抽奖\n * @param params\n * @returns\n */\nexport function everyDraw(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/homeActivity/everyDraw', { params })\n}\n\n/**\n * 每日抽奖-获取用户抽奖记录\n * @param params\n * @returns\n */\nexport function getUserDrawRecord(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/homeActivity/getUserDrawRecord', {\n params\n })\n}\n\n/**\n * 获取周六会员日信息\n * @returns\n */\nexport function getSaturdayVipDayInfo() {\n return javaService.get('/kigo-game-server/activity/getSaturdayVipDayInfo')\n}\n\n/**\n * 领取会员礼包\n * @returns\n */\nexport function receiveVipGiftPackage() {\n return javaService.get('/kigo-game-server/activity/receiveVipGiftPackage')\n}\n\n/**\n * app端-获取兑换商品列表\n * @param params\n * @returns\n */\nexport function getExchangeGoodsList(params: { limit: number; page: number }) {\n return javaService.get(\n '/kigo-game-server/exchangeShop/getExchangeGoodsList',\n { params }\n )\n}\n\n/**\n * app端-获取商品详情\n * @param params\n * @returns\n */\nexport function getGoodsDetail(params: { id: number | string }) {\n return javaService.get('/kigo-game-server/exchangeShop/getGoodsDetail', {\n params\n })\n}\n/**\n * app端-确认订单\n * @param params\n * @returns\n */\nexport function getConfirmOrderInfo(params: {\n goodsId: string | number\n uid?: string | number\n}) {\n return javaService.get('/kigo-game-server/exchangeShop/verifyOrder', {\n params\n })\n}\n\n/**\n * app端-获取地址列表\n * @returns\n */\nexport function getAddressList() {\n return javaService.get('/kigo-game-server/exchangeShop/getAddressList')\n}\n\n/**\n * 获取可选择省市区\n * @returns\n */\nexport function getZoneList() {\n return javaService.get('/kigo-game-server/exchangeShop/getZone')\n}\n\n/**\n * app端-添加地址\n * @param data\n * @returns\n */\nexport function addAddress(data: {\n addressDetail: string\n userName: string\n userPhone: string\n zoneCode: any[]\n}) {\n return javaService.post('/kigo-game-server/exchangeShop/addAddress', data)\n}\n\n/**\n * app端-修改地址\n * @param data\n * @returns\n */\nexport function updateAddress(data: {\n id: number | string\n addressDetail: string\n userName: string\n userPhone: string\n zoneCode: any[]\n}) {\n return javaService.post('/kigo-game-server/exchangeShop/updateAddress', data)\n}\n\n/**\n * app端-删除地址\n * @param data\n * @returns\n */\nexport function deleteAddress(data: { id: number | string }) {\n return javaService.post('/kigo-game-server/exchangeShop/deleteAddress', data)\n}\n\n/**\n * app端-获取地址详情\n * @param params\n * @returns\n */\nexport function getAddressDetail(params: { id: number | string }) {\n return javaService.get('/kigo-game-server/exchangeShop/getAddressDetail', {\n params\n })\n}\n\n/**\n * app端-提交订单\n * @param data\n * @returns\n */\nexport function submitOrder(data: {\n addressId?: string | number\n goodsId: string | number\n goodsName: string\n goodsPic: string\n uid?: string | number\n useIntegral: number | string\n userPhone?: string\n}) {\n return javaService.post('/kigo-game-server/exchangeShop/submitOrder', data)\n}\n\n/**\n * app端-获取订单列表\n * @param params\n * @returns\n */\nexport function getExchangeOrderList(params: { status: string | number }) {\n return javaService.get(\n '/kigo-game-server/exchangeShop/getOrderListByStatus',\n { params }\n )\n}\n\n/**\n * app端-获取订单详情\n * @param params\n * @returns\n */\nexport function getOrderDetail(params: { id: string | number }) {\n return javaService.get('/kigo-game-server/exchangeShop/getOrderDetail', {\n params\n })\n}\n\n/**\n * app端-获取微信客服\n * @returns\n */\nexport function getweChatInfo() {\n return javaService.get('/kigo-game-server/customerService/getweChatInfo')\n}\n\n/**\n * 获取钱包金币明细\n * @param params\n * @returns\n */\nexport function getCoinDetailList(params: { page: number; limit: number }) {\n return javaService.get('/kigo-game-server/home/getCoinDetailList', {\n params\n })\n}\n\n/**\n * app端-获取周卡月卡配置\n * @returns\n */\nexport function getUserVipCardConfig(uid?: string | number) {\n return javaService.get('/kigo-game-server/vipCard/getUserVipCardConfig', {\n params: { uid }\n })\n}\n\n/**\n * app端-每日免费领取周卡月卡\n * @param data\n * @returns\n */\nexport function cardReceiveCoin(data: { type: number; uid?: string | number }) {\n return javaService.post('/kigo-game-server/vipCard/h5ReceiveCoin', data)\n}\n\n/**\n * app端-获取banner图配置\n * @param params\n * @returns\n */\nexport function getBannerByType(params: { bannerType: number }) {\n return javaService.get('/kigo-game-server/home/getBannerByType', {\n params\n })\n}\n\n/**\n * 检测兑换次数是否已达上线\n * @param params\n * @returns\n */\nexport function checkBuyLimit(params: { goodsId: number | string }) {\n return javaService.get('/kigo-game-server/exchangeShop/checkBuyLimit', {\n params\n })\n}\n\n/**\n * app端-活动-等级相关\n * @param params\n * @returns\n */\nexport function getUseCoinLevelInfo(params: {\n activityType: number\n uid?: string | number\n}) {\n return javaService.get('/kigo-game-server/activity/getUseCoinLevelInfo', {\n params\n })\n}\n\n/**\n * 查询最新版本信息android\n * @returns\n */\nexport function getLatestVersionInfo() {\n return javaService.get('/kigo-game-server/version/getLatestVersionInfo')\n}\n\n/**\n * app端-邀请有礼邀请页数据获取\n * @param params\n * @returns\n */\nexport function getInviteActivityInfo(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/inviteWithdraw/getInviteInfo', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * web-微信授权\n * @param data\n * @returns\n */\nexport function wechatAuth(data: {\n code: string\n uid: string | number\n taskBind?: number\n}) {\n return javaService.post(\n '/kigo-game-server/inviteWithdraw/wechatAuth',\n qs.stringify(data),\n {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n }\n )\n}\n\n/**\n * web-提现列表\n * @param params\n * @returns\n */\nexport function withdrawList(params: {\n page: number\n limit: number\n uid: string | number\n}) {\n return javaService.get('/kigo-game-server/inviteWithdraw/withdrawList', {\n params\n })\n}\n\n/**\n * web-邀请列表\n * @param params\n * @returns\n */\nexport function getInviteList(params: {\n page: number\n limit: number\n uid: string | number\n}) {\n return javaService.get('/kigo-game-server/inviteWithdraw/inviteList', {\n params\n })\n}\n\n/**\n * web-平台提现列表\n * @param params\n * @returns\n */\nexport function platformWithdrawList(params: { limit: number; page: number }) {\n return javaService.get(\n '/kigo-game-server/inviteWithdraw/platformWithdrawList',\n {\n params\n }\n )\n}\n\n/**\n * web-手动提现\n * @param data\n * @returns\n */\nexport function withdraw(data: { uid: string | number; withdrawId: string }) {\n return javaService.post(\n '/kigo-game-server/inviteWithdraw/withdraw',\n qs.stringify(data),\n {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n }\n )\n}\n\n/**\n * app-获取所有座位信息\n * @returns\n */\nexport function getAllMachine() {\n return javaService.get('/kigo-game-server/game/getAllMachine')\n}\n\n/**\n * h5端-下机\n * @param data\n * @returns\n */\nexport function commitOffMic(data: {\n offMicPassword: string\n seatId: string | number\n}) {\n return javaService.post('/kigo-game-server/game/offMic', data)\n}\n\n/**\n * 获取排行奖励配置\n * @param params\n * @returns\n */\nexport function getRankAwardConfig(params: { rankType: string }) {\n return javaService.get('/kigo-game-server/rankConfig/getRankAwardConfig', {\n params\n })\n}\n\n/**\n * 获取任务信息\n * @param params\n * @returns\n */\nexport function getTaskList(params: {\n playTaskType?: number | string\n uid?: string | number\n taskType: number | string\n}) {\n return javaService.get('/kigo-game-server/homeSign/getTaskInfo', {\n params\n })\n}\n\n/**\n * 领取任务奖励\n * @param params\n * @returns\n */\nexport function receiveTaskAward(data: {\n taskId: string | number\n uid?: string | number\n}) {\n return javaService.post('/kigo-game-server/homeSign/receiveTaskAward', data)\n}\n\n/**\n * 签到\n * @param data\n * @returns\n */\nexport function commitSign(data: {\n uid?: string | number\n day?: string | number\n}) {\n return javaService.post('/kigo-game-server/homeSign/signForJson', data)\n}\n/**\n * 获取每日礼包充值列表\n * @returns\n */\nexport function getDayGiftRechargeList(params: any) {\n return javaService.get(\n '/kigo-game-server/everyday/gift/package/getRechargeList',\n { params }\n )\n}\n\n/**\n * 包赔卡配置查询\n * @param params\n * @returns\n */\nexport function getProtectBuyConfigs(params: any) {\n return javaService.get('/kigo-game-server/protect/getProtectBuyConfigs', {\n params\n })\n}\n\n/**\n * 获取推币机包机卡信息\n * @returns\n */\nexport function getPushCoinCharterInfo(params: any) {\n return javaService.get('/kigo-game-server/user/getPushCoinCharterInfo', {\n params\n })\n}\n\n/**\n * 一键领取所有任务\n * @param params\n * @returns\n */\nexport function receiveAllTaskByType(params: {\n //任务小类 如不传不区分 4会员升级任务 5会员登录任务 6累计充值天数 7累计充值金额 8会员消耗任务\n playTaskType?: number | string\n //任务大类 1日常 2vip\n taskType: number | string\n uid?: string\n}) {\n return javaService.get('/kigo-game-server/homeSign/receiveAllTaskByType', {\n params\n })\n}\n\n/**\n * 测试版本更新\n * @returns\n */\nexport function throwVersionUpdate() {\n return javaService.get('/kigo-game-server/test/throwVersionUpdate')\n}\n\n/**\n * 获取钱包信息\n * @returns\n */\nexport function getPayChargeInfo(params: any) {\n return javaService.get('/kigo-game-server/user/getPayChargeInfo', {\n params,\n headers: {\n platform: params.platform ? params.platform : null\n }\n })\n}\n\n/**\n * 获取实名认证信息\n * @param params\n * @returns\n */\nexport function getChargeAuthInfo(params: any) {\n return javaService.get('/kigo-game-server/user/getChargeAuthInfo', {\n params\n })\n}\n\n/**\n * 获取用户巅峰值数据\n * @returns\n */\nexport function ApiGetUserTopMatchInfo() {\n return javaService.get('/kigo-game-server/topMatch/getUserTopMatchInfo')\n}\n\n/**\n * 巅峰排行榜\n * @returns\n */\nexport function ApiGetTopMatchRank() {\n return javaService.get('/kigo-game-server/topMatch/getTopMatchRank')\n}\n\n/**\n * 上传推币机全盘奖记录\n * @param data\n * @returns\n */\nexport function ApiUploadPushCoinFullAward(data: { imageUrl: string }) {\n return javaService.post(\n '/kigo-game-server/game/uploadPushCoinFullAward',\n data\n )\n}\n\n/**\n * 获取用户挑战信息\n * @param params\n * @returns\n */\nexport function apiGetUserChallengeInfo(params: {\n gameType: number\n uid: string | number\n}) {\n return javaService.get(\n '/kigo-game-server/challengeActivity/getUserChallengeInfo',\n { params }\n )\n}\n\n/**\n * 开始挑战获取房间信息\n * @param params\n * @returns\n */\nexport function apiGetChallengeRoomInfo(params: {\n addScoreCoinNum: number\n checkAuth: number\n gearId: string | number\n uid: string | number\n}) {\n return javaService.get(\n '/kigo-game-server/challengeActivity/getChallengeRoomInfo',\n { params }\n )\n}\n\n/**\n * 挑战赛排行榜\n * @returns\n */\nexport function ApiGetChanllengeRank(params: any) {\n return javaService.get('/kigo-game-server/challengeActivity/getRankList', {\n params\n })\n}\n\n/**\n * 填写奖励领取地址\n * @param data\n * @returns\n */\nexport function apiAddChallengeAddress(data: any) {\n return javaService.post(\n '/kigo-game-server/challengeActivity/addAddress',\n data\n )\n}\n\n/**\n * 冲巅峰领红包活动-获取领取信息\n * @param params\n * @returns\n */\nexport function apiGetTopMatchRedInfo(params?: any) {\n return javaService.get('/kigo-game-server/payDraw/getTopMatchRedInfo', {\n params\n })\n}\n\n/**\n * 冲巅峰领红包活动-领取\n * @param data\n * @returns\n */\nexport function apiSendTopMatchRed(data: any) {\n return javaService.post('/kigo-game-server/payDraw/sendTopMatchRed', data)\n}\n\n/**\n * 上上签活动-获取用户抽奖次数\n * @returns\n */\nexport function apiGetUserPayDrawInfo() {\n return javaService.get('/kigo-game-server/payDraw/getUserPayDrawInfo')\n}\n\n/**\n * 上上签活动-抽奖\n * @returns\n */\nexport function apiCommitPayDraw() {\n return javaService.get('/kigo-game-server/payDraw/payDraw')\n}\n\n/**\n * 上上签活动-获取用户抽奖记录-分页\n * @param params\n * @returns\n */\nexport function apiGetGoodSignDrawRecord(params: any) {\n return javaService.get('/kigo-game-server/payDraw/getUserDrawRecord', {\n params\n })\n}\n\n/**\n * 获取房间分享信息\n * @param params\n * @returns\n */\nexport function apiGetRoomShareInfo(params: any) {\n return javaService.get('/kigo-game-server/roomCard/getShareInfo', {\n params\n })\n}\n\n/**\n * web-支付宝授权\n * @param data\n * @returns\n */\nexport function apiAliPayAuth(data: {\n authCode: string\n uid: string | number\n}) {\n return javaService.post('/kigo-game-server/inviteWithdraw/aliAuth', data)\n}\n\n/**\n * 上传邀请代理\n * @param data\n * @returns\n */\nexport function ApiCommitAddAgent(data: {\n uid: string | number\n pic: string\n phone: string\n wechat: string\n}) {\n return javaService.post('/kigo-game-server/invite/addAgent', data)\n}\n\n/**\n * 618用户活动信息获取\n * @returns\n */\nexport function ApiGet618UserActivityInfo() {\n return javaService.get('/kigo-game-server/sixOneEight/getUserActivityInfo')\n}\n\n/**\n * 618取任务奖励\n * @param data\n * @returns\n */\nexport function Api618ReceiveCoin(data: any) {\n return javaService.post('/kigo-game-server/sixOneEight/receiveCoin', data)\n}\n\n/**\n * 邀请有礼-新-获取邀请数据\n * @param params\n * @returns\n */\nexport function ApiGetNewInviteInfo(params: { uid: string | number }) {\n return javaService.get('/kigo-game-server/invite/getNewInviteInfo', {\n params,\n headers: {\n 'request-from': 'kigo-video-game'\n }\n })\n}\n\n/**\n * 邀请有礼-更换赠送方式\n * @param data\n * @returns\n */\nexport function ApiChangeChooseReturn(data: any) {\n return javaService.post('/kigo-game-server/invite/changeChooseReturn', data)\n}\n\n/**\n * 获取用户返币记录\n * @param params\n * @returns\n */\nexport function ApiGetUserInviteReturnRecord(params: any) {\n return javaService.get('/kigo-game-server/invite/getUserInviteReturnRecord', {\n params\n })\n}\n\n/**\n * 获取用户邀请记录\n * @param params\n * @returns\n */\nexport function ApiGetUserInviteRecord(params: any) {\n return javaService.get('/kigo-game-server/invite/getUserInviteRecord', {\n params\n })\n}\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-10-13 12:27:28\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-06-23 17:55:28\n */\nimport {\n VuexModule,\n Module,\n Mutation,\n getModule,\n MutationAction\n} from 'vuex-module-decorators'\nimport store from '@/store'\nimport { getDynamicList, getApkInfo } from '_index/api/share'\nimport { getPlatform } from '@/common/utils'\n\n@Module({ dynamic: true, store, name: 'Share' })\nclass Share extends VuexModule {\n /**\n * 首页直播间数据\n */\n liveRoomList: any[] = []\n /**\n * 首页视频列表\n */\n videoHomeList: any[] = []\n\n get sortVideoList() {\n const length = this.videoHomeList.length\n let videoArr = []\n if (length < 10) {\n const cha = 10 - length\n videoArr = this.videoHomeList.slice(0, cha)\n }\n return videoArr\n }\n\n finished = false\n loading = true\n\n @Mutation\n setLoading(loading: boolean) {\n this.loading = loading\n }\n\n shareLayoutRefresh = false\n\n @Mutation\n setShareLayoutRefresh(loading: boolean) {\n this.shareLayoutRefresh = loading\n }\n\n dynamicList: DynamicDetail[] = []\n dynamic_default_image: DynamicImage[] = []\n @MutationAction({\n mutate: ['dynamicList', 'dynamic_default_image']\n })\n async getDynamicList() {\n const { data } = await getDynamicList({\n page: 1,\n page_size: 18\n })\n return {\n dynamicList: data.list,\n dynamic_default_image: data.dynamic_default_image\n }\n }\n\n showOpenAppPopUp = false\n\n @Mutation\n setShowOpenAppPopUp(show: boolean) {\n this.showOpenAppPopUp = show\n }\n\n apkUrl = ''\n\n @MutationAction({ mutate: ['apkUrl'] })\n async getApkInfo() {\n const { data } = await getApkInfo('kz5')\n return {\n apkUrl: data.apk_url\n }\n }\n}\n\nexport const ShareModule = getModule(Share)\n","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-12-03 14:22:02\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2021-03-04 15:46:57\r\n */\r\nimport Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n state: {},\r\n mutations: {},\r\n actions: {},\r\n modules: {}\r\n})\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAABIxJREFUWEfdmW+onmMcxz/f8sILspUVUSaTyQqZqClkxTK1ZYq8mVCEWG21hSIKURRlZWVKUYgymXJCUWRCiDKhiKJM9sIL9dP39LtO17nPc85z3/dzL+e43jwvnvu6ru/1/f29vpdYYkOT4I2Io4DLgIuAtcBK4ARgWa57GPgV+Ab4Engb+EDS33337QU4Ii4AbgK2VODaYjgEvAY8IenztpPKd50AR8R5wGPAJdVGB4B3gQ+TyZ8k/en/I8JMnwSsTgusz98y3cDv6wK8FeCIOBp4FLgFsBuYpd3AHknfdWEpIuw2t6WFiut4rW1tXGUs4IhYBbyeLP1jUwIPFha7gK2/jYjjzG6SYELs5xsk/bDQmgsCjoiL09/MhBe8tov52hwmIs4GXkxCbLlNkt6bb+68gBPsfsCn3wdc08ZkbUA2v0mXewnYCDiDXDEf6JGA088+zQzwMnCdJLvDERuZIl/IzGOm146KjzmA87QG68g2s5uPNNjCQoJ+NZm2C57btOoowE9nIIycMI7iiLgS2JvfbZX0xrg5jWC0CxbCnpJ0R/3/LMAZAJ+lH13YJ8Ai4jfg+Nzkd0krugDO/O1AdH73MI5PRhaOiLA5NmUV2tZ1o9wsZjEijU2do/aJCOf97S5Kki6dA7hi1w6/sm+ejYihADuVfp+Bb5Y/MuiZ00fEs8BWl15JO/qwOyTDudZDwM6sqDfPAM7M8Euexuz+uEgAnwYczFZghbPVNMMR4RbRrd8BSef3BTs0w7nex9kwuZi8VQAX6h+WtGuRAS7B5/7l3gLYzY3L4hZJrywywFcDrrb7JW0ogL8F3JWtkfTVIgO8BvjCzZekMwvgv4BjgOWSnNZ6j6HSWgGQl4A/HHiSlhfA07lTPZN8fbqhAdeBbHxLFrApd2VZ1rfCVSYcpNKNcInDko4tDH+d7eQQQTdx89NwsbNSIjgo6fQC+E13+QOltYnay2a0R0RJa/skXVUAPwDcM2kf0Tu1LDAxImYVtQL4cifmIUrz0KAjopTm9ZKmCmBrDfY9B96qrlrD0CCrgLOG4RbTteFEX5fq9vKZFDcm6ici4s50L5PgtR7pe6Cqid8r6YZmP2y9zHKTT3Nqn4pXXQJqjDPNdxfgWeFKA39Oua4173TvpG7Wq4mPiOuB5xvAfBF9rgvYrG6PA3dZyJG0ucxvArbYZ5Y9rAt0Uhcjwg23ZVXffD0siqzueiFISxmH15lhd5ZLVI7+JHB7SlNzdIFxTKVi5BTpYR+eGjenUSjqa/5uSbfW/y99ISX9x6a1LuA0919JVXaFOXfL/4cYWPnz0pFbK9CnZNm2OOiot1p+f5883Qguu9vdmbpcZKzlbRxXZVvJSKlbOC/6ycDDxWUPYLGuk4aRiv6NuZZBW8Y1CTva6M+tAFdsW6SzzG/9rQwH57SmkSz9XNjPanUycIZFvSxKfh4rw48522uxb1wK7AS4AdxVyMDLw8q4vcr/to4zjx90pvWyLqMX4Aq4k/w6wM9Zvo7bz/2w6Bt4cR0/LPqhxRZ4H5iaRCCfCHAXZob69l848iZLyeCC2QAAAABJRU5ErkJggg==\"","/*\n * @Descripttion: 所有vue页面都需导入使用的文件,主要提供全局守卫\n * @Author: Feng Ziming\n * @Date: 2021-02-02 15:02:39\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-08-19 12:21:27\n */\n\nimport { Route, NavigationGuardNext } from 'vue-router'\nimport NProgress from 'nprogress'\nimport 'nprogress/nprogress.css'\nimport { CommonModule, beforeEnter } from '@/store/modules/common'\nimport { getPlatform } from '@/common//utils'\nimport {\n callAppFunc_setTitleFontColor,\n callAppFunc_setNavColor\n} from '@/common//utils/bridge'\nimport { LoyoutModule } from '@/store/modules/layout'\nimport { getAppLanguage } from '@/common/utils'\nimport VueI18n from 'vue-i18n'\nNProgress.configure({ showSpinner: false })\nconst lang = getAppLanguage()\n// const i18n = new VueI18n({\n// locale: lang ? lang : 'zh_CN',\n// //locale: 'uyghur',\n// messages: {\n// zh_CN: require('../../lang/zh.json'),\n// uyghur: require('../../lang/uyghur.json')\n// }\n// })\n/**\n * 路由加载前的处理\n */\nexport async function globalBeforeRouter(\n to: Route,\n from: Route,\n next: NavigationGuardNext\n) {\n console.log('globalBeforeRouter', to)\n console.log('process.env.NODE_ENV', process.env.NODE_ENV)\n if (!to.meta) {\n to.meta = {}\n }\n // 模拟加载条\n !to.meta.hideNProgress && NProgress.start()\n\n to.meta.pageStartTime = new Date().getTime()\n\n // 路由缓存处理\n if (to.meta.cache && to.name) {\n CommonModule.addKeepAlive(to.name)\n }\n\n if (to.meta.showNavBack) {\n if (from.fullPath === '/') {\n to.meta.showNavBack = false\n }\n }\n\n if (process.env.NODE_ENV == 'development') {\n next()\n return\n }\n\n // 如果页面需要token\n if (to.meta.auth) {\n await beforeEnter()\n // 如果页面需要登录才能访问\n if (to.meta.login) {\n if (!CommonModule.token) {\n CommonModule.login()\n }\n }\n }\n\n next()\n}\n\n/**\n * 运行平台\n */\nconst platform = getPlatform()\n\n// 全局路由加载完成需要做的操作\nexport async function globalAfterRouter(this: any, to: Route) {\n if (!to.meta) {\n to.meta = {}\n }\n // 获取页面加载时间\n to.meta.pageLoadTime = new Date().getTime() - to.meta.pageStartTime\n\n // 关闭自定义加载条\n NProgress.done()\n\n /**\n * 如果在 kixmix 或 taktak App内打开根据配置修改导航栏\n */\n if (platform && ['taktak', 'kixmix'].includes(platform)) {\n const navColor: string = to.meta.navColor || '#ffffff'\n const navFontColor: string = to.meta.titleColor || '#000000'\n to.meta.navColor && callAppFunc_setNavColor({ navColor })\n to.meta.titleColor && callAppFunc_setTitleFontColor({ navFontColor })\n }\n\n LoyoutModule.setTitle(to.meta.title)\n}\n","module.exports = \"data:image/png;base64,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\"","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-09-07 11:58:13\n * @LastEditors: yaozuo\n * @LastEditTime: 2021-11-19 10:07:21\n */\nimport {\n VuexModule,\n Module,\n Mutation,\n Action,\n getModule\n} from 'vuex-module-decorators'\nimport store from '@/store'\nimport {\n callAppFunc_getSomeParams,\n callAppFunc_Jump2Act\n} from '@/common/utils/bridge'\nimport { getDeviceId, getQueryVariable } from '@/common/utils'\nimport Cookie from 'js-cookie'\nimport { APP_VERSION } from '@/config'\nimport { getChargeList } from '@/pages/user/api'\n@Module({ dynamic: true, store, name: 'Common' })\nclass Common extends VuexModule {\n /**用户token */\n token =\n Cookie.get('kigo_token') ||\n (getQueryVariable('kigo_token')\n ? decodeURI(getQueryVariable('kigo_token') as string)\n : '') ||\n localStorage.getItem('kigo_token') ||\n ''\n //token =\n // 'eyJ0eXAiOiJqd3QiLCJhbGciOiJSUzI1NiJ9.eyJ1aWQiOjE1LCJ1c2VyX2xvZ2luIjoianN3bWRseiIsImV4cCI6MjA0MDk0ODQ1Nn0.SNMwkzJtbfCghA8eFiCbuolpkqU4whc0G7lTDmWd8X4DiZJrIBilHCfIywTTJyWkldoZaKJzhz9-I2AIkRe2aThgtPskxDb25lHJ9gET9arWSxVjaF6JQjJSrtsz7hE5NNxomQT-SJWQ6NFl1ge6mXq-PgJzWbpNoQ_MbJwPYG8'\n\n oldToken = Cookie.get('taktak_old_token') || ''\n /**用户id */\n userId: string | number =\n getQueryVariable('uid') ||\n Cookie.get('kigo_userid') ||\n localStorage.getItem('kigo_userid') ||\n ''\n // userId: string | number =\n // getQueryVariable('uid') || Cookie.get('kigo_userid') || '100000489'\n userName: string =\n getQueryVariable('username') ||\n Cookie.get('kigo_username') ||\n localStorage.getItem('kigo_username') ||\n ''\n userAccount: string =\n getQueryVariable('account') ||\n Cookie.get('account') ||\n localStorage.getItem('account') ||\n ''\n /**设备id */\n deviceId = getDeviceId()\n /**设备型号 */\n deviceModel = ''\n /**app版本 */\n appVersion = APP_VERSION\n userType = ''\n isLogin = false\n /**渠道 */\n channel = getQueryVariable('channel') || ''\n //金币\n coin = 0\n //金豆\n k_bean = 0\n //银豆\n k_coin = 0\n //安卓或者ios渠道\n platform = ''\n //是否展示下载确认弹窗\n isShowDownloadConfirm = false\n //来源是否是kigo电玩\n requestFrom =\n getQueryVariable('kigo_request_from') ||\n Cookie.get('kigo_request_from') ||\n localStorage.getItem('kigo_request_from') ||\n ''\n //区分app 1oyun2游乐城市\n flavors = Cookie.get('kigo_flavors') || 1\n //是否是娃娃机版本\n isWawaji = Cookie.get('kigo_doll_plat') || false\n @Mutation\n setUserId(userId: string) {\n if (userId) {\n this.userId = userId\n }\n }\n @Mutation\n setUserName(userName: string) {\n console.log('setUserName', userName)\n if (userName) {\n this.userName = userName\n }\n }\n @Mutation\n setDeviceId(deviceId: string) {\n if (deviceId) this.deviceId = deviceId\n }\n @Mutation\n setDeviceModel(deviceModel: string) {\n if (deviceModel) this.deviceModel = deviceModel\n }\n @Mutation\n setAppVersion(appVersion: string) {\n if (appVersion) this.appVersion = appVersion\n }\n\n @Mutation\n setToken(token: string) {\n console.log('setToken', token)\n this.token = token\n }\n\n @Mutation\n setChannel(channel: string) {\n this.channel = channel\n }\n\n @Mutation\n setUserType(userType: string) {\n this.userType = userType || ''\n }\n\n @Mutation\n setLogin(isLogin: boolean) {\n this.isLogin = isLogin\n }\n @Mutation\n setPlatform(val: string) {\n this.platform = val\n }\n\n @Mutation\n setShowDownloadConfirm(val: boolean) {\n this.isShowDownloadConfirm = val\n }\n @Action\n async getToken() {\n try {\n const res = await callAppFunc_getSomeParams()\n console.log('callAppFunc_getSomeParams:', res)\n\n if (res.isLogin) {\n this.setLogin(true)\n }\n console.log('callAppFunc_getSomeParams tocken', res.tocken)\n this.setToken(res.tocken)\n this.setUserName(res.userName)\n this.setUserId(res.userId)\n this.setDeviceId(res.deviceId)\n //this.setUserType(res.userType)\n this.setDeviceModel(res['device-model'])\n this.setAppVersion(res['app-version'])\n this.setChannel(res['appChannel'])\n this.setPlatform(res.platform)\n return true\n } catch (error) {\n console.error(error)\n }\n }\n\n @Mutation\n setOldToken(token: string) {\n this.oldToken = token\n }\n\n keepAlive: string[] = ['HelpFeedback']\n\n @Mutation\n addKeepAlive(name: string) {\n if (!this.keepAlive.includes(name)) {\n this.keepAlive.push(name)\n }\n }\n @Action\n login() {\n callAppFunc_Jump2Act()\n }\n @Mutation\n setCoin(val: number) {\n this.coin = val\n }\n @Mutation\n setKCoin(val: number) {\n this.k_coin = val\n }\n @Mutation\n setKBean(val: number) {\n this.k_bean = val\n }\n @Action\n async getCoin() {\n const { data } = await getChargeList()\n\n this.setCoin(data.coin)\n }\n}\n\nexport const CommonModule = getModule(Common)\n\nexport async function beforeEnter() {\n console.log('beforeEnter', CommonModule.token)\n if (CommonModule.token) {\n await CommonModule.getToken()\n return\n } else {\n console.time('getToken')\n await CommonModule.getToken()\n console.timeEnd('getToken')\n return\n }\n}\n","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2021-01-17 23:41:39\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2021-03-04 15:43:59\r\n */\r\nimport Vue from 'vue'\r\nimport OpenAppPopUp from './OpenAppPopUp.vue'\r\nlet OpenAppPopUpVue: any\r\n\r\nfunction createOpenAppPopUp() {\r\n const vnode = new Vue({\r\n render: h => h(OpenAppPopUp)\r\n }).$mount()\r\n document.body.appendChild(vnode.$el)\r\n return vnode.$children[0]\r\n}\r\n\r\nexport function openAppPopUp() {\r\n if (!OpenAppPopUpVue) {\r\n OpenAppPopUpVue = createOpenAppPopUp()\r\n }\r\n OpenAppPopUpVue.open()\r\n return OpenAppPopUpVue\r\n}\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=scss&\"","/*\n * @Descripttion: * @Author: Yi Yunwan\n * @Date: 2020-09-04 17:14:37\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-07-21 17:48:55\n */\n//export const javaBaseURL = 'http://japidev.wlwyl.com/'\n\n//export const baseURL = 'http://papinewdev.wlwyl.com/'\n// export const oldBaseURL = 'http://www.taktak.tv'\n\n// export const baseURL = window.globalKigoConfig.baseURL\n\n// export const javaBaseURL = window.globalKigoConfig.javaBaseURL\nexport const baseURL = process.env.VUE_APP_BASE_URL\nexport const javaBaseURL = process.env.VUE_APP_JAVA_BASEURL\n\n//export const oldBaseURL = window.globalKigoConfig.oldBaseURL\nexport const oldBaseURL = 'window.globalKigoConfig.oldBaseURL'\n\nexport const devToken = ''\nexport const webBaseURL =\n process.env.NODE_ENV === 'production'\n ? location.origin\n : 'https://webtest.wlwyl.com/'\n\nexport const reportConfig = {\n appKey: 'a8cec57d1cd5d0f2',\n baseURL: 'window.globalKigoConfig.reportBaseURL',\n debug: window.TAKTAK_DEBUG\n}\n\nexport const IMConfig = {\n sdkAppId: 'window.globalKigoConfig.IMSdkAppId',\n Key: 'window.globalKigoConfig.IMKey',\n level: 4\n}\n\nexport const SECRET_KEY = 'y3j1ju48uazcd51b9h56sftrkbebsuqt'\n\nexport const WX_APPID = 'window.globalKigoConfig.WX_APPID'\n\n/**\n * app版本号\n */\nexport const APP_VERSION = '3.6.0'\n\nexport const apiMock =\n process.env.NODE_ENV !== 'production' && location.href.includes('mock=true')\nexport const mockBaseURL = process.env.VUE_APP_MOCK_BASE_API\nexport const PUBLIC_KEY =\n 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA08Tn+xMe896+87zfGbdac40z221Ndl9G1U3tVyqfbeIe1lhW513aBIW6qkVvsClil+UHK94gm8QYJXt0yyCn1TQW86GnsNihAmv984dGiIxFeluWovjpSNhGmUE98ZjNpqF2WK2ph7gOdDYPfPigZaLFL2C1fpzyefkY/BQE7NVsKYkSItrMoWz/je23ha+sUPO+4WAiuYDH/xp0gMDQHUMyrKTzjalQgjd6iQnWNl/85zucZSJOKI5ACDPsExKIrhgq9REjbC1OhFgX9dA+KTg8jC5xSQFeybsBkCvi+krrd+SQNSN+Y8B7b8H4MlgHf5GCl7pbfQygvK8mA3K8QwIDAQAB'\nexport const WXAPPID_IOS = 'wxe5e712f469d570e9'\nexport const WXSECRET_IOS = '04e7a1ce786b4f42afda139e2a16ad9c'\nexport const WXAPPID_ANDRID = 'wxe5e712f469d570e9'\nexport const WXSECRET_ANDRID = '04e7a1ce786b4f42afda139e2a16ad9c'\n","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-09-17 15:16:10\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2020-10-15 14:44:33\r\n */\r\nexport * from './getSystemInfo'\r\nexport * from './getNetworkType'\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('van-overlay',{attrs:{\"show\":_vm.show,\"z-index\":\"1002\"},on:{\"click\":function($event){_vm.show = false}}},[_c('div',{staticClass:\"reletive\"},[_c('div',{staticClass:\"open-browser\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator'\r\n\r\n@Component({\r\n name: 'OpenAppPopUp'\r\n})\r\nexport default class OpenAppPopUp extends Vue {\r\n show = true\r\n\r\n open() {\r\n this.show = true\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenAppPopUp.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenAppPopUp.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OpenAppPopUp.vue?vue&type=template&id=81f93fd0&\"\nimport script from \"./OpenAppPopUp.vue?vue&type=script&lang=ts&\"\nexport * from \"./OpenAppPopUp.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OpenAppPopUp.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-useless-escape */\r\nimport safeAreaInsets from 'safe-area-insets'\r\n\r\nconst ua = navigator.userAgent\r\n/**\r\n * 是否安卓设备\r\n */\r\nexport const isAndroid = /android/i.test(ua)\r\n/**\r\n * 是否iOS设备\r\n */\r\nexport const isIOS = /iphone|ipad|ipod/i.test(ua)\r\n/**\r\n * 获取系统信息-同步\r\n */\r\nexport function getSystemInfoSync() {\r\n const screen = window.screen\r\n const pixelRatio = window.devicePixelRatio\r\n // 横屏时 iOS 获取的屏幕宽高颠倒,进行纠正\r\n const landscape = Math.abs(Number(window.orientation)) === 90\r\n const screenWidth = Math[landscape ? 'max' : 'min'](\r\n screen.width,\r\n screen.height\r\n )\r\n const screenHeight = Math[landscape ? 'min' : 'max'](\r\n screen.height,\r\n screen.width\r\n )\r\n const windowWidth = Math.min(\r\n window.innerWidth,\r\n document.documentElement.clientWidth,\r\n screenWidth\r\n )\r\n const windowHeight = window.innerHeight\r\n const language = navigator.language\r\n const statusBarHeight = safeAreaInsets.top\r\n let osname\r\n let osversion\r\n let model\r\n\r\n if (isIOS) {\r\n osname = 'iOS'\r\n const osversionFind = ua.match(/OS\\s([\\w_]+)\\slike/)\r\n if (osversionFind) {\r\n osversion = osversionFind[1].replace(/_/g, '.')\r\n }\r\n const modelFind = ua.match(/\\(([a-zA-Z]+);/)\r\n if (modelFind) {\r\n model = modelFind[1]\r\n }\r\n } else if (isAndroid) {\r\n osname = 'Android'\r\n const osversionFind = ua.match(/Android[\\s/]([\\w\\.]+)[;\\s]/)\r\n if (osversionFind) {\r\n osversion = osversionFind[1]\r\n }\r\n const infoFind = ua.match(/\\((.+?)\\)/)\r\n const infos = infoFind ? infoFind[1].split(';') : ua.split(' ')\r\n const otherInfo = [\r\n /\\bAndroid\\b/i,\r\n /\\bLinux\\b/i,\r\n /\\bU\\b/i,\r\n /^\\s?[a-z][a-z]$/i,\r\n /^\\s?[a-z][a-z]-[a-z][a-z]$/i,\r\n /\\bwv\\b/i,\r\n /\\/[\\d\\.,]+$/,\r\n /^\\s?[\\d\\.,]+$/,\r\n /\\bBrowser\\b/i,\r\n /\\bMobile\\b/i\r\n ]\r\n for (let i = 0; i < infos.length; i++) {\r\n const info = infos[i]\r\n if (info.indexOf('Build') > 0) {\r\n model = info.split('Build')[0].trim()\r\n break\r\n }\r\n let other\r\n for (let o = 0; o < otherInfo.length; o++) {\r\n if (otherInfo[o].test(info)) {\r\n other = true\r\n break\r\n }\r\n }\r\n if (!other) {\r\n model = info.trim()\r\n break\r\n }\r\n }\r\n } else {\r\n osname = 'Other'\r\n osversion = '0'\r\n }\r\n\r\n const system = `${osname} ${osversion}`\r\n const platform = osname.toLocaleLowerCase()\r\n const safeArea = {\r\n left: safeAreaInsets.left,\r\n right: windowWidth - safeAreaInsets.right,\r\n top: safeAreaInsets.top,\r\n bottom: windowHeight - safeAreaInsets.bottom,\r\n width: windowWidth - safeAreaInsets.left - safeAreaInsets.right,\r\n height: windowHeight - safeAreaInsets.top - safeAreaInsets.bottom\r\n }\r\n\r\n return {\r\n windowWidth,\r\n windowHeight,\r\n pixelRatio,\r\n screenWidth,\r\n screenHeight,\r\n language,\r\n statusBarHeight,\r\n system,\r\n platform,\r\n model,\r\n safeArea,\r\n safeAreaInsets: {\r\n top: safeAreaInsets.top,\r\n right: safeAreaInsets.right,\r\n bottom: safeAreaInsets.bottom,\r\n left: safeAreaInsets.left\r\n }\r\n }\r\n}\r\n/**\r\n * 获取系统信息-异步\r\n */\r\nexport function getSystemInfo() {\r\n return getSystemInfoSync()\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar\"},[_c('div',{staticClass:\"navbar-one\"}),_c('div',{staticClass:\"nav-right\"},[_c('div',{staticClass:\"navber-two\"},[_vm._v(_vm._s(_vm.$t(_vm.titleTxt))+\">\")]),_c('div',{staticClass:\"navber-three\",on:{\"click\":_vm.handleOpenApp}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.btnTxt))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins, Prop } from 'vue-property-decorator'\nimport { OutsidePageMixin } from '@/mixins/outsidePage'\n\n@Component({\n name: 'ToDownLoad',\n})\nexport default class ToDownLoad extends Mixins(OutsidePageMixin) {\n @Prop({\n type: String,\n default: '立即下载',\n })\n btnTxt!: string\n @Prop({\n type: String,\n default: '去kigo,发现更多精彩内容',\n })\n titleTxt!: string\n\n get toLookEvent() {\n return {\n pageId: '',\n eventId: 'toLookBtn',\n eventType: 'isDownloadApp',\n shareUserId: '',\n }\n }\n\n // handleOpenApp() {\n // console.log('')\n // }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToDownLoad.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToDownLoad.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToDownLoad.vue?vue&type=template&id=1c1c9dde&scoped=true&\"\nimport script from \"./ToDownLoad.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToDownLoad.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ToDownLoad.vue?vue&type=style&index=0&id=1c1c9dde&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c1c9dde\",\n null\n \n)\n\nexport default component.exports","/*\n * @Descripttion: 接口请求相关\n * @Author: Yi Yunwan\n * @Date: 2020-09-04 17:13:23\n * @LastEditors: Deng\n * @LastEditTime: 2021-07-15 16:36:51\n */\nimport axios, { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport {\n baseURL,\n javaBaseURL,\n oldBaseURL,\n SECRET_KEY,\n apiMock,\n mockBaseURL\n} from '@/config'\nimport { Toast } from 'vant'\nimport { CommonModule } from '@/store/modules/common'\nimport qs from 'qs'\nimport md5 from 'js-md5'\nimport { aesEncrypt, getAppLanguage } from '@/common/utils'\nimport { isIOS } from '@/common/utils'\nimport { callAppFunc_checkVersion } from '@/common/utils/bridge'\nexport function stringifyData(config: any) {\n config.data = qs.stringify(config.data)\n return config\n}\nconst language = getAppLanguage()\nexport function _log(response: AxiosResponse) {\n if (process.env.NODE_ENV === 'development') {\n console.group()\n console.log('*==== 请求信息 ====*')\n console.log('地址:', response.config.method, response.config.url)\n const data = response.config.data\n const params = response.config.params\n\n if (data && JSON.stringify(data) != '\"{}\"') {\n Object.keys(data).length > 0 && console.log('请求参数:', data)\n }\n if (params && JSON.stringify(params) != '\"{}\"') {\n Object.keys(params).length > 0 && console.log('QUERY参数:', params)\n }\n console.log('响应结果:', response.data)\n console.log('响应配置:', response.config)\n console.log('-------------------------------------------')\n console.groupEnd()\n }\n}\n\nexport function addSign(config: any) {\n const timestamp = Math.floor(new Date().getTime() / 1000)\n\n config.headers['timestamp'] = timestamp\n //config.headers['sign'] = sign\n config.headers['app-version'] = CommonModule.appVersion\n config.headers['device-id'] = CommonModule.deviceId\n config.headers['request-from'] = CommonModule.requestFrom\n if (!config.headers['app-front']) {\n config.headers['app-front'] = 1\n }\n config.headers['channel'] = CommonModule.channel\n //config.headers['platform'] = isIOS ? 'ios' : 'android'\n const encryp = aesEncrypt(\n config.data ? config.data : config.params ? config.params : {}\n )\n config.headers['sign'] = encryp.toString()\n config.headers['language'] = language == 'uyghur' ? 'ug' : 'cn'\n return config\n}\nexport function addJavaSign(config: any) {\n const timestamp = Math.floor(new Date().getTime() / 1000)\n\n config.headers['timestamp'] = timestamp\n //config.headers['sign'] = sign\n config.headers['app-version'] = CommonModule.appVersion\n config.headers['device-id'] = CommonModule.deviceId\n config.headers['request-from'] = CommonModule.requestFrom\n if (!config.headers['app-front']) {\n config.headers['app-front'] = 1\n }\n config.headers['channel'] = CommonModule.channel\n config.headers['platform'] = config.headers['platform']\n ? config.headers['platform']\n : isIOS\n ? 'ios'\n : 'android'\n const encryp = aesEncrypt(\n config.data ? config.data : config.params ? config.params : {}\n )\n config.headers['sign'] = encryp.toString()\n config.headers['language'] = language == 'uyghur' ? 'ug' : 'cn'\n return config\n}\nexport function oldAddSign(config: any) {\n if (!config.headers['app-front']) {\n config.headers['app-front'] = 1\n }\n config.headers['app-version'] = CommonModule.appVersion\n config.headers['channel'] = CommonModule.channel\n return config\n}\n\nexport function serviceFulfilled(response: AxiosResponse) {\n // _log(response)\n // 对响应数据做点什么\n const data = response.data as IResponse\n if (response.status === 200) {\n if (data.code == '200') {\n return response.data\n } else if (data.code == '100003') {\n Toast(data.msg)\n } else if (data.code == '6001') {\n console.log('code 6001')\n callAppFunc_checkVersion(data.data)\n } else if (data.code && data.code != '1001') {\n Toast(data.msg || '服务器异常')\n }\n if (!data.code) {\n return response.data\n }\n return Promise.reject(data)\n } else {\n return Promise.reject(response)\n }\n}\n\nexport function serviceRejected(error: Error) {\n // 对响应错误做点什么\n console.error(error)\n const errText =\n language == 'zh_CN' ? '网络请求失败,请重试' : 'tor ulanmidi, kayta sinag'\n error.message &&\n Toast(error.message == 'Network Error' ? errText : error.message)\n return Promise.reject(error)\n}\n\nconst service = axios.create({\n baseURL,\n timeout: 100000\n})\nservice.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'\nfunction addAuthorization(config: any) {\n const Authorization = CommonModule.token\n if (Authorization) {\n config.headers['Authorization'] = Authorization\n }\n if (config.params && config.params.removeToken) {\n delete config.params.removeToken\n delete config.headers['Authorization']\n }\n //Authorization && (config.headers['Authorization'] = Authorization)\n config.headers['flavors'] = CommonModule.flavors\n return config\n}\n\nexport function useMock(config: any) {\n if (apiMock) {\n config.baseURL = mockBaseURL\n }\n return config\n}\n\nservice.interceptors.request.use(addAuthorization)\nservice.interceptors.request.use(addSign)\nservice.interceptors.request.use(useMock)\nservice.interceptors.response.use(serviceFulfilled, serviceRejected)\n\nexport { service }\n\nexport const javaService = axios.create({\n baseURL: javaBaseURL,\n timeout: 60 * 1000\n})\njavaService.interceptors.request.use(addJavaSign)\njavaService.interceptors.request.use(addAuthorization)\njavaService.interceptors.response.use(serviceFulfilled, serviceRejected)\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-09-07 11:47:40\n * @LastEditors: yaozuo\n * @LastEditTime: 2021-09-03 10:56:05\n */\nimport {\n callAppFunc_getSomeParams,\n callAppFunc_jumpToLiveRoom,\n callAppFunc_jumpToPersonalCenter,\n callAppFunc_openPersonalDataPopUp\n} from './bridge'\nimport { isAndroid, isIOS } from './device'\nimport { TakStorage } from './storage'\nimport CryptoJS from 'crypto-js'\nimport qs from 'qs'\nimport { PUBLIC_KEY } from '@/config'\nimport JSEncrypt from 'jsencrypt'\nimport { Toast } from 'vant'\nexport * from './device/getSystemInfo'\nexport * from './device/getNetworkType'\nimport { getLaestVserionInfo } from '@/pages/videoGame/api'\nexport async function getToken() {\n const res = await callAppFunc_getSomeParams()\n return res.newToken\n}\n\nexport const _utf8_encode = function(string: string) {\n string = string.replace(/\\r\\n/g, '\\n')\n let utftext = ''\n for (let n = 0; n < string.length; n++) {\n const c = string.charCodeAt(n)\n if (c < 128) {\n utftext += String.fromCharCode(c)\n } else if (c > 127 && c < 2048) {\n utftext += String.fromCharCode((c >> 6) | 192)\n utftext += String.fromCharCode((c & 63) | 128)\n } else {\n utftext += String.fromCharCode((c >> 12) | 224)\n utftext += String.fromCharCode(((c >> 6) & 63) | 128)\n utftext += String.fromCharCode((c & 63) | 128)\n }\n }\n return utftext\n}\n\nexport const encode = function(input: string) {\n const _keyStr =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n let output = ''\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4\n let i = 0\n input = _utf8_encode(input)\n while (i < input.length) {\n chr1 = input.charCodeAt(i++)\n chr2 = input.charCodeAt(i++)\n chr3 = input.charCodeAt(i++)\n enc1 = chr1 >> 2\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4)\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6)\n enc4 = chr3 & 63\n if (isNaN(chr2)) {\n enc3 = enc4 = 64\n } else if (isNaN(chr3)) {\n enc4 = 64\n }\n output =\n output +\n _keyStr.charAt(enc1) +\n _keyStr.charAt(enc2) +\n _keyStr.charAt(enc3) +\n _keyStr.charAt(enc4)\n }\n return output\n}\n\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n const r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n}\nexport type Platform =\n | 'kigo'\n | 'kixmix'\n | 'weixin'\n | 'qq'\n | 'taktak'\n | 'chekchek'\n | undefined\nexport function getPlatform(): Platform {\n const ua = navigator.userAgent\n if (/kigo/i.test(ua)) {\n return 'kigo'\n } else if (/kixmix/i.test(ua)) {\n return 'kixmix'\n } else if (/microMessenger/i.test(ua)) {\n return 'weixin'\n } else if (/qq\\//i.test(ua)) {\n return 'qq'\n } else if (/taktak/i.test(ua)) {\n return 'taktak'\n } else if (/chekchek/i.test(ua)) {\n return 'chekchek'\n } else {\n // return 'kixmix'\n }\n}\n\nexport function getDeviceId() {\n let deviceId = localStorage.getItem('deviceId')\n if (!deviceId) {\n deviceId = guid()\n localStorage.setItem('deviceId', deviceId)\n }\n return deviceId\n}\n\nexport function useDebug() {\n if (\n window.location.href.includes('debug=true') ||\n window.navigator.userAgent.toLocaleLowerCase().includes('debug') ||\n window.TAKTAK_DEBUG\n ) {\n window.TAKTAK_DEBUG = true\n }\n //window.TAKTAK_DEBUG = true\n if (window.location.origin.includes('test')) {\n window.TAKTAK_DEBUG = true\n }\n if (window.TAKTAK_DEBUG) {\n import(/* webpackChunkName: \"vconsole\" */ 'vconsole').then(value => {\n const vconsole = value.default\n new vconsole()\n })\n }\n\n return window.TAKTAK_DEBUG || false\n}\n\nexport const takStorage = new TakStorage()\n\nexport function openScheme(schemeUrl: string, timeout = 2500) {\n const startTime = new Date().getTime()\n window.location.href = schemeUrl\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n const endTime = new Date().getTime()\n if (endTime - startTime > timeout + 50) {\n resolve(true)\n }\n if (document.hidden) {\n resolve(true)\n } else {\n reject(false)\n }\n }, timeout)\n function visibilitychange() {\n clearTimeout(timer)\n resolve(true)\n }\n document.addEventListener('visibilitychange', visibilitychange)\n })\n}\n\n/**\n * 判断是否是oppo手机\n */\nexport const oppoReg = /OPPO|P[A-Z]{2}M[00-90]|X9007|N5117|R831S|CPH[0000-9999]|R[0000-9999]|A51|R7PLUS|A31|A31T|A31c|A31u/i\n\nexport function isOppoBrowser() {\n const ua = navigator.userAgent\n return oppoReg.test(ua) && /HeyTapBrowser/i.test(ua)\n}\n\nexport function openAppMarket(packageName: string) {\n const appMarketList = [\n {\n reg: /MI|Mi|Redmi/i,\n scheme: `mimarket://details?id=${packageName}`\n },\n {\n reg: /SAMSUNG|SM-/i,\n scheme: `samsungapps://ProductDetail/${packageName}`\n },\n {\n reg: /HUAWEI|HONOR/i,\n scheme: `appmarket://details?id=${packageName}`\n },\n {\n reg: /vivo|v1928a|v1928t/i,\n scheme: `vivomarket://details?id=${packageName}`\n },\n {\n reg: oppoReg,\n scheme: `oppomarket://details?packagename=${packageName}`\n }\n ]\n\n const ua = navigator.userAgent\n for (let i = 0; i < appMarketList.length; i++) {\n const element = appMarketList[i]\n if (element.reg.test(ua)) {\n if (element.scheme.includes('oppomarket')) {\n openScheme(element.scheme).catch(() => {\n window.location.href = process.env.VUE_APP_JUMP_APP\n throw new Error('ToOppoAppMarket Maybe Fail')\n })\n return true\n }\n openScheme(element.scheme).catch(() => {\n throw new Error('ToAppMarket Maybe Fail')\n })\n return true\n }\n }\n return false\n}\nexport function toAppMarket() {\n if (isAndroid) {\n const res = openAppMarket('com.kigo.app')\n if (!res) {\n window.location.href = process.env.VUE_APP_JUMP_APP\n }\n } else if (isIOS) {\n openScheme('https://itunes.apple.com/app/id1625991865').catch(() => {\n throw new Error('ToAppMarket Maybe Fail')\n })\n }\n}\n\nexport async function toAppMarketEnjoy(channel?: string) {\n if (isAndroid) {\n const { data } = await getLaestVserionInfo({ channel })\n window.location.href = data.apkUrl\n } else if (isIOS) {\n openScheme('https://itunes.apple.com/app/id6479635137').catch(() => {\n throw new Error('ToAppMarket Maybe Fail')\n })\n }\n}\nexport function openSchemeNew(schemeUrl: string) {\n if (isAndroid) {\n window.location.href = schemeUrl\n window.setTimeout(() => {\n const res = openAppMarket('com.kigo.app')\n if (!res) {\n window.location.href = process.env.VUE_APP_JUMP_APP\n }\n }, 2000)\n } else if (isIOS) {\n const ifr = document.createElement('iframe')\n ifr.src = schemeUrl\n ifr.style.display = 'none'\n document.body.appendChild(ifr)\n // window.setTimeout(() => {\n // document.body.removeChild(ifr)\n // window.location.href = 'https://itunes.apple.com/app/id1625991865'\n // }, 2000)\n }\n}\n\n/**\n * - horizontal 横屏\n * - half 半屏\n * - vertical 竖屏\n */\nexport function getScreen() {\n const ua = navigator.userAgent.toLocaleLowerCase()\n if (ua.includes('screen/verticalhalf')) {\n // 竖屏半屏\n return 'verticalhalf'\n } else if (ua.includes('horizontal')) {\n return 'horizontal'\n } else if (ua.includes('half')) {\n // 横屏半屏\n return 'half'\n } else {\n return 'vertical'\n }\n}\n\n/**\n * - uyghur 维语\n * - en 英文\n * - zh_CN 中文\n */\nexport function getAppLanguage() {\n const ua = navigator.userAgent.toLocaleLowerCase()\n if (ua.includes('language/uyghur')) {\n return 'uyghur'\n } else if (ua.includes('language/en')) {\n return 'en'\n } else {\n return 'zh_CN'\n }\n //return 'uyghur'\n}\n\nexport function compare(curV: string, reqV: string) {\n if (curV && reqV) {\n //将两个版本号拆成数字\n const arr1 = curV.split('.'),\n arr2 = reqV.split('.')\n const minLength = Math.min(arr1.length, arr2.length)\n let position = 0,\n diff = 0\n //依次比较版本号每一位大小,当对比得出结果后跳出循环(后文有简单介绍)\n while (\n position < minLength &&\n (diff = parseInt(arr1[position]) - parseInt(arr2[position])) == 0\n ) {\n position++\n }\n diff = diff != 0 ? diff : arr1.length - arr2.length\n //若curV大于reqV,则返回true\n return diff > 0\n } else {\n //输入为空\n console.log('版本号不能为空')\n return false\n }\n}\n/**\n * 保留n位小数并格式化输出(不足的部分补0)\n * @param value\n * @param n\n * @returns\n */\nexport function fomatFloat(value: number, n: number) {\n const f = Math.floor(value * Math.pow(10, n)) / Math.pow(10, n)\n let s = f.toString()\n const rs = s.indexOf('.')\n if (rs < 0) {\n s += '.'\n }\n for (let i = s.length - s.indexOf('.'); i <= n; i++) {\n s += '0'\n }\n return s\n}\n/**\n *\n * @param uid\n * @param isLive\n * @param fromType\n * @returns\n */\nexport function toLiveRoom(\n uid: string | number | 0,\n isLive: boolean | 0 | 1 = 0,\n fromType = 0\n) {\n if (!uid) {\n return\n }\n if (isLive) {\n return callAppFunc_jumpToLiveRoom({ roomId: uid, fromType: fromType })\n } else {\n if (getScreen() !== 'vertical') {\n return callAppFunc_openPersonalDataPopUp(uid)\n } else {\n return callAppFunc_jumpToPersonalCenter(uid)\n }\n }\n}\n\n/**\n * base64转Blob\n * @param dataurl\n * @returns\n */\nexport function base64ToBlob(base64Data: string) {\n const bstr = atob(base64Data)\n let l = bstr.length\n const u8Arr = new Uint8Array(l)\n while (l--) {\n u8Arr[l] = bstr.charCodeAt(l)\n }\n return new Blob([u8Arr], {\n type: 'png'\n })\n}\n\n/**\n * blob转file\n * @param newBlob\n * @param fileName\n * @returns\n */\nexport function blobToFile(newBlob: any, fileName: string) {\n newBlob.lastModifiedDate = new Date()\n newBlob.name = fileName\n return newBlob\n}\n/**\n * 时间格式化\n * @param fmt\n * @param date\n * @returns\n */\nexport function dateFormat(fmt: string, date: Date) {\n const o: any = {\n 'y+': date.getFullYear(),\n 'M+': date.getMonth() + 1, //月份\n 'd+': date.getDate(), //日\n 'h+': date.getHours(), //小时\n 'm+': date.getMinutes(), //分\n 's+': date.getSeconds(), //秒\n 'q+': Math.floor((date.getMonth() + 3) / 3), //季度\n S: date.getMilliseconds() //毫秒\n }\n if (/(y+)/.test(fmt)) {\n fmt = fmt.replace(\n RegExp.$1,\n (date.getFullYear() + '').substr(4 - RegExp.$1.length)\n )\n }\n for (const k in o) {\n if (new RegExp('(' + k + ')').test(fmt)) {\n fmt = fmt.replace(\n RegExp.$1,\n RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)\n )\n }\n }\n return fmt\n}\n/**\n * 获取ur参数\n * @param variable\n * @returns\n */\nexport function getQueryVariable(variable: string) {\n const search =\n window.location.search.substr(1) || window.location.hash.split('?')[1] || ''\n const reg = new RegExp('(^|&)' + variable + '=([^&]*)(&|$)')\n const r = search.match(reg)\n if (r != null) return unescape(r[2])\n return null\n}\n/***\n * 他Zu安\n */\nexport function unitFormat(num: number, limit = 10000) {\n if (num < limit) {\n return Number(Math.floor(num).toFixed(1))\n }\n\n return (Math.floor((num / 10000) * 10) / 10).toFixed(1) + 'w'\n}\n\n/**\n * px转换为vw\n * @param css\n * @returns\n */\nexport function pxToVw(css?: string | number) {\n if (!css) return ''\n const px = Number(css)\n if (px) {\n return `${(px * 100) / 375}vw`\n } else {\n return String(css)\n }\n}\n\nexport function countDist(\n lat1: number,\n lng1: number,\n lat2: number,\n lng2: number\n) {\n //纬度1,经度1,纬度2,经度2\n\n const f = (((lat1 + lat2) / 2) * Math.PI) / 180.0\n\n const g = (((lat1 - lat2) / 2) * Math.PI) / 180.0\n\n const l = (((lng1 - lng2) / 2) * Math.PI) / 180.0\n\n let sg = Math.sin(g)\n\n let sl = Math.sin(l)\n\n let sf = Math.sin(f)\n\n const a = 6378137.0 //地球的直径\n\n const fl = 1 / 298.257\n\n sg = sg * sg\n\n sl = sl * sl\n\n sf = sf * sf\n\n const s = sg * (1 - sl) + (1 - sf) * sl\n\n const c = (1 - sg) * (1 - sl) + sf * sl\n\n const w = Math.atan(Math.sqrt(s / c))\n\n const r = Math.sqrt(s * c) / w\n\n const d = 2 * w * a\n\n const h1 = (3 * r - 1) / 2 / c\n\n const h2 = (3 * r + 1) / 2 / s\n\n const num = d * (1 + fl * (h1 * sf * (1 - sg) - h2 * (1 - sf) * sg))\n\n return num //返回单位:米\n}\n\nexport function sec_to_time(s: number): string {\n let t = ''\n if (s > -1) {\n const hour = Math.floor(s / 3600)\n const min = Math.floor(s / 60) % 60\n const sec = s % 60\n\n if (hour === 0) {\n t = ''\n } else {\n t = hour + ':'\n }\n\n t += min + ':'\n if (sec < 10) {\n t += '0'\n }\n t += sec.toFixed(0)\n }\n return t\n}\n\nexport function aesEncrypt(data: any) {\n const SECRET_KEY = CryptoJS.enc.Utf8.parse('gtD@s6Fh7pNU0WWP')\n const SECRET_IV = CryptoJS.enc.Utf8.parse('abcdefghijklmnop')\n\n const curData = typeof data == 'string' ? qs.parse(data) : Object.assign(data)\n curData.time = new Date().getTime()\n\n const dataHex = CryptoJS.enc.Utf8.parse(JSON.stringify(curData))\n\n const res = CryptoJS.AES.encrypt(dataHex, SECRET_KEY, {\n iv: SECRET_IV,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n })\n\n return res\n}\n\nexport function randomList(arr: any[]) {\n for (let i = 0; i < arr.length; i++) {\n const randomIndex = Math.round(Math.random() * (arr.length - 1 - i)) + i\n const tmp: any = arr[i]\n arr[i] = arr[randomIndex]\n arr[randomIndex] = tmp\n }\n return arr\n}\n\n/**\n * RSA加密\n * @param data\n * @returns\n */\nexport function rsaEncrypt(data: any) {\n const encrypt = new JSEncrypt()\n encrypt.setPublicKey(PUBLIC_KEY)\n return encrypt.encrypt(data)\n}\n\n/**\n * 文本复制到剪贴板\n * @param text\n */\nexport async function copyTextToClipboard(text: string) {\n try {\n await navigator.clipboard.writeText(text)\n Toast('复制成功')\n console.log('Text copied to clipboard')\n } catch (err) {\n console.error('Failed to copy text: ', err)\n }\n}\n\n/**\n * 小于版本\n * @param curV\n * @param reqV\n * @returns\n */\nexport function compareLess(curV: string, reqV: string) {\n if (curV && reqV) {\n //将两个版本号拆成数字\n const arr1 = curV.split('.'),\n arr2 = reqV.split('.')\n const minLength = Math.min(arr1.length, arr2.length)\n let position = 0,\n diff = 0\n //依次比较版本号每一位大小,当对比得出结果后跳出循环(后文有简单介绍)\n while (\n position < minLength &&\n (diff = parseInt(arr1[position]) - parseInt(arr2[position])) == 0\n ) {\n position++\n }\n diff = diff != 0 ? diff : arr1.length - arr2.length\n //若curV大于reqV,则返回true\n return diff < 0\n } else {\n //输入为空\n console.log('版本号不能为空')\n return false\n }\n}\n\nexport function isIPhoneWithNotch() {\n const ua = navigator.userAgent.toLocaleLowerCase()\n\n // 这里是一个简化的例子,实际上你需要检查更多可能的iPhone型号\n // 注意:这些字符串可能会随着新设备的发布而更改\n\n return (\n /iphone/.test(ua) &&\n window.devicePixelRatio &&\n window.devicePixelRatio === 3 &&\n window.screen.height / window.screen.width > 2\n )\n}\n",";(function() {\n const JSMath = function() {\n return this\n }\n\n JSMath.prototype.from = function(value) {\n // 支持JSMath参数传递主要是用于嵌套的调用\n if (typeof value == 'object' && value.value != undefined) {\n this.value = value.value\n } else {\n this.value = value\n }\n return this\n } // 加法\n\n JSMath.prototype.add = function(value) {\n const thisValueString = this.value.toString()\n const valueString = value.toString()\n let timesCount1 = 0\n let timesCount2 = 0\n if (thisValueString.indexOf('.') > 0) {\n timesCount1 = thisValueString.split('.')[1].length\n }\n if (valueString.indexOf('.') > 0) {\n timesCount2 = valueString.split('.')[1].length\n }\n const maxtimeCount = timesCount1 > timesCount2 ? timesCount1 : timesCount2\n this.value =\n (Math.pow(10, maxtimeCount) * this.value +\n Math.pow(10, maxtimeCount) * value) /\n Math.pow(10, maxtimeCount)\n return this\n } // 减法\n JSMath.prototype.sub = function(value) {\n const thisValueString = this.value.toString()\n const valueString = value.toString()\n let timesCount1 = 0\n let timesCount2 = 0\n if (thisValueString.indexOf('.') > 0) {\n timesCount1 = thisValueString.split('.')[1].length\n }\n if (valueString.indexOf('.') > 0) {\n timesCount2 = valueString.split('.')[1].length\n }\n const maxtimeCount = timesCount1 > timesCount2 ? timesCount1 : timesCount2\n this.value =\n (Math.pow(10, maxtimeCount) * this.value -\n Math.pow(10, maxtimeCount) * value) /\n Math.pow(10, maxtimeCount)\n return this\n }\n\n // 除法\n JSMath.prototype.div = function(value) {\n const thisValueString = this.value.toString()\n const valueString = value.toString()\n let timesCount1 = 0\n let timesCount2 = 0\n if (thisValueString.indexOf('.') > 0) {\n timesCount1 = thisValueString.split('.')[1].length\n }\n if (valueString.indexOf('.') > 0) {\n timesCount2 = valueString.split('.')[1].length\n }\n const maxtimeCount = timesCount1 > timesCount2 ? timesCount1 : timesCount2\n this.value =\n (Math.pow(10, maxtimeCount) * this.value) /\n (Math.pow(10, maxtimeCount) * value)\n return this\n }\n // 乘法\n JSMath.prototype.times = function(value) {\n const thisValueString = this.value.toString()\n const valueString = value.toString()\n let timesCount1 = 0\n let timesCount2 = 0\n if (thisValueString.indexOf('.') > 0) {\n timesCount1 = thisValueString.split('.')[1].length\n }\n if (valueString.indexOf('.') > 0) {\n timesCount2 = valueString.split('.')[1].length\n }\n const maxtimeCount = timesCount1 + timesCount2\n this.value =\n (Math.pow(10, maxtimeCount) *\n this.value *\n Math.pow(10, maxtimeCount) *\n value) /\n Math.pow(10, maxtimeCount * 2)\n return this\n }\n\n if (window.JSMath == undefined) {\n window.JSMath = function(value) {\n const result = new JSMath()\n result.from(value)\n return result\n }\n }\n})()\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2021-03-29 15:33:59\n * @LastEditors: yaozuo\n * @LastEditTime: 2021-10-28 11:54:31\n */\n\nimport { isIOS } from '@/common/utils/device'\nimport { service, javaService } from '@/common/utils/request'\nimport { APP_VERSION } from '@/config'\nimport { CommonModule } from '@/store/modules/common'\nimport qs from 'qs'\n/**\n * 获取贡献榜列表\n */\nexport function getContributionList(\n params: GetContributionListParams\n): IRes<{\n list: ContributionListInfo[]\n}> {\n return service.get('/contribution/list', {\n params\n })\n}\n\n/**\n * 获取守护榜列表\n */\nexport function getGuardList(\n params: any\n): IRes<{\n list: GuardListInfo[]\n /**\n * 0.不是 1.是\n */\n is_guard: 0 | 1\n /**\n * \t守护结束时间\n */\n end_time: string\n /**\n * 守护类型 1.月 2.年\n */\n guard_type: string\n}> {\n return service.get('/guard/list', {\n params\n })\n}\n\n/***\n * 获取用户/主播等级信息\n */\nexport function getUserLevel(type: number) {\n return service.get('/api/user/level', { params: { type } })\n}\n/***\n * 获取超值礼包\n */\nexport function getGiftBag(user_id: number) {\n return service.get('/api/gift/bag/list', {\n params: {\n user_id: user_id,\n device_type: isIOS ? 2 : 3\n }\n })\n}\n/***\n * 获取等级特权\n */\nexport function getPrivilege() {\n return service.get('/api/user/level/privilege')\n}\n\n/**\n * 账户注销\n * @returns\n */\nexport function submitNullfiy() {\n return service.post('/api/user/logout/submit')\n}\n/**\n * 上传图片\n * @param data\n * @returns\n */\nexport function uploadImage(data: FormData) {\n return service.post('api/v1/5/upload/file', data)\n}\n\n/**\n * 提交反馈\n * @param params\n * @returns\n */\nexport function submitFeedback(params: {\n model: string\n images: string\n content: string\n}) {\n return service.post('/api/help/feedback/submit', qs.stringify(params), {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n })\n}\n\n/**\n * 获取封面标签列表\n * @returns\n */\nexport function getLabelList() {\n return service.get('/api/cover/label/list')\n}\n\n/**\n * 封面标签-装备、卸载\n * @param params\n * @returns\n */\nexport function wearLabel(params: {\n id: string\n status: number //0卸载,1装备\n}) {\n return service.post('/api/cover/label/wear', params)\n}\n/**\n * 问题分类列表\n * @returns\n */\n\n/**\n * 问题列表\n * @returns\n */\nexport function helpProblemList(classId: string | (string | null)[]) {\n return service.get('/api/help/problem/list', {\n params: {\n class_id: classId\n }\n })\n}\n/**\n * 问题详情\n * @returns\n */\nexport function helpProblemDetail(id: string) {\n return service.get('/api/help/problem/detail', {\n params: {\n id\n }\n })\n}\n/**\n * ios 支付配置\n * @returns\n */\nexport function getIosConfig() {\n return service.get('/api/ios/pay/config')\n}\n/**\n * 礼物墙\n * @returns\n */\nexport function getGiftWall(params: { touid: string | (string | null)[] }) {\n return service.get('/achievement/gift/wall', { params })\n}\n/**\n * 勋章墙\n * @returns\n */\nexport function getMedalWall(params: { touid: string | (string | null)[] }) {\n return service.get('/achievement/medal/wall', { params })\n}\n\n/**\n * 礼物墙-礼物收集排行数据\n * @returns\n */\nexport function getGiftWallRank(params: {\n touid: string | (string | null)[]\n gift_id: string\n}) {\n return service.get('/achievement/gift/collection/send/list', { params })\n}\n/***\n * 获取贵族默认数据\n */\nexport function getNoblePowerInfo(params: {\n uid: string | number\n phone_type: number\n}) {\n return service.get('/api/v1/4/user/noble/power/info', { params })\n}\n\n/**\n * 切换贵族页信息\n * @returns\n */\nexport function getNoblePowerChange(params: {\n from?: number\n uid: string | number\n phone_type: number\n noble_id: number | string\n}) {\n return service.get('/api/v1/4/user/noble/power/change', { params })\n}\n/**\n * 获取商品列表\n * @param params\n * @returns\n */\nexport function getNoblePowerCharge(params: {\n from?: number\n uid: string | number\n phone_type: number\n noble_id: number | string\n}) {\n return service.get('/api/v1/4/user/noble/power/charge', { params })\n}\n/**\n * 我的贵族T钻明细\n * @returns\n * @param {string} touid 被查看的用户uid,若不填写就是当前用户的uid\n */\nexport function getNobleDetailLists(params: {\n touid: string | number\n page: number\n page_size: number\n}) {\n return service.get('/api/v1/4/user/noble/detail/lists', { params })\n}\n/**\n * 用户开通之后返回弹出信息\n * @returns\n */\nexport function getNoblePowerSuccess(params: { uid: string | number }) {\n return service.get('/api/v1/4/user/noble/power/succ', { params })\n}\n/**\n * T钻充值\n * @param params\n * @returns\n */\nexport function nobleCoinPay(params: {\n uid: string | number\n charge_id: string\n phone_type: number\n coin: string | number\n num: number\n pay_type: number\n}) {\n return service.get('/api/v1/4/user/noble/coin/pay', { params })\n}\n/**\n * 主播每日直播概况\n * @returns\n */\nexport function getLiveRecord(params: { date: string }): any {\n return service.get('/api/daily/live/info', { params })\n}\n\n//获取问题列表\nexport function getHelpList() {\n return service.get('/api/kigo/help/class/list')\n}\n//获取充值列表\nexport function getChargeList(uid?: string, front?: number) {\n return service.get(`/api/kigo/charge/list`, {\n params: {\n uid,\n front\n },\n headers: { 'app-front': front ? 1 : isIOS ? 2 : 3 }\n })\n}\n\n//设置充值软件\nexport function changChargeSet(data: { charge: number }) {\n return service.post('/api/kigo/charge/choose/set', qs.stringify(data))\n}\n\n/**\n * 获取充值明细\n * @param params\n * @returns\n */\nexport function getRechargeList(params: {\n uid: string | number\n token: string\n}) {\n return service.get('/api/kigo/charge/record/list', { params })\n}\n\n/**\n * 获取富文本内容\n * @param params\n */\nexport function getRichTextContent(params: {\n id: string\n removeToken?: boolean\n}) {\n params.removeToken = true\n return javaService.get('/kigo-user-api/protocol/getInfoById', {\n params\n //removeToken: true\n })\n}\n\n/**\n * 抽奖\n * @param params\n * @returns\n */\nexport function getDrawLuckey(params: { uid: string }) {\n return javaService.get('/kigo-user-api/luck/draw', { params })\n}\n\n/**\n * 获取金豆和银豆兑换规则\n * @returns\n */\nexport function getExchangeRuleList() {\n return javaService.get('/kigo-room-api/kCoin/getExchangeRuleList')\n}\n\n/**\n * 兑换金豆或者银豆\n * @param params\n * @returns\n */\nexport function exchangeKCoinAndKBean(data: {\n exchangeRuleId: string | number\n uid: string | number\n}) {\n return javaService.post(\n '/kigo-room-api/kCoin/exchangeKCoinAndKBean',\n qs.stringify(data),\n {\n headers: { 'Content-Type': 'application/x-www-form-urlencoded' }\n }\n )\n}\n\n/**\n * 获取充值兑换明细记录列表\n * @param params\n * @returns\n */\nexport function getCHageRecordList(params: { page: number; limit: number }) {\n return javaService.get('/kigo-user-api/pay/getChargeRecordList', { params })\n}\n\n/**\n * 获取狼人杀对战记录列表\n * @param params\n * @returns\n */\nexport function getWolfKillFightRecordList(params: {\n page: number\n limit: number\n}) {\n return javaService.get('/kigo-room-api/wolf/kill/getFightRecordList', {\n params\n })\n}\n\n/**\n * 取狼人杀战绩详情\n * @param params\n * @returns\n */\nexport function getWolfKillReocordDetail(params: { wolfRecordId: string }) {\n return javaService.get('/kigo-room-api/wolf/kill/getFightRecordDetail', {\n params\n })\n}\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-09-07 11:58:13\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-06-07 14:40:13\n */\nimport { VuexModule, Module, Mutation, getModule } from 'vuex-module-decorators'\nimport store from '@/store'\n\n@Module({ dynamic: true, store, name: 'Loyout' })\nclass Loyout extends VuexModule {\n title = 'KIGO'\n liveEndToastStatus = {\n liveuid: '',\n status: false\n }\n\n @Mutation\n setLiveEndToastStatus(liveuid: string, status: boolean) {\n this.liveEndToastStatus = {\n liveuid,\n status\n }\n }\n\n @Mutation\n setTitle(title: any) {\n if (title === -1) {\n this.title = ' '\n } else {\n this.title = title || '加载中'\n }\n\n document.title = this.title\n }\n}\n\nexport const LoyoutModule = getModule(Loyout)\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-10-13 17:46:19\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-06-04 15:57:36\n */\n\nimport { service, javaService } from '@/common/utils/request'\nimport { APP_VERSION } from '@/config'\nimport { CommonModule } from '@/store/modules/common'\nimport qs from 'qs'\n\n/**\n * 新接口 进入直播间\n * @returns\n */\nexport function liveRoomEnter(params: {\n anchor_id: number | string\n stream: string\n}): IRes {\n return service.post('/live/enter', qs.stringify(params))\n}\n/**\n * 检测直播状态\n * @param params\n * @returns\n */\nexport function liveCheck(params: {\n anchor_id: number | string\n stream: string\n}): IRes {\n return service.post('/live/check', qs.stringify(params))\n}\n\n/**\n * 热门动态列表\n */\nexport function getDynamicList(\n params: PageParams = {}\n): IRes<{\n dynamic_default_image: DynamicImage[]\n list: DynamicDetail[]\n}> {\n return service.get('/moments/hot/dynamic/list', {\n params,\n headers: {\n 'app-version': APP_VERSION,\n 'device-id': CommonModule.deviceId\n }\n })\n}\n\n/**\n * 获取动态详情\n */\nexport function getDynamicDetail(id: number | string): IRes {\n return service.get('/moments/dynamic/detail', {\n params: {\n dynamic_id: id\n },\n headers: {\n 'app-version': APP_VERSION,\n 'device-id': CommonModule.deviceId\n }\n })\n}\n\nexport function getDynamicComment(params: any) {\n return service.get('moments/user/dynamic/comment/list', {\n params,\n headers: {\n 'app-version': APP_VERSION,\n 'device-id': CommonModule.deviceId\n }\n })\n}\n/**\n * 获取用户动态\n * @param touid 页码\n * @param page 被访问的用户uid\n * @param uid 用户ID(游客为0)\n */\nexport function getUserMoments(\n touid: string,\n page: number,\n uid = '0'\n): IRes<{ count: number; limit: number; list: UserDynamic[] }> {\n return service.get(`/moments/user/moments/${uid}/${touid}/${page}`, {\n headers: {\n 'app-version': APP_VERSION,\n 'device-id': CommonModule.deviceId\n }\n })\n}\n\n/**\n * 获取视频详情\n * @param videoId 视频id\n */\nexport function getVideoInfo(videoId: string): IRes {\n return service.get('/api/v1/4/video/getInfo', {\n params: {\n videoId\n }\n })\n}\n\n/**\n * 获取包名信息\n * @param channel\n * @returns\n */\nexport function getApkInfo(channel = 'xcx') {\n return service.get(`/api/channel/apk/info/${channel}`)\n}\n\n/**\n * 个人信息收集次数\n * @param params\n * @returns\n */\nexport function getInformationCollectNum(params: { key: string }) {\n return service.get('/api/kigo/user/get/personal/info/num', { params })\n}\n\n/**\n * 通过分享id,获取分享配置\n * @param params\n * @returns\n */\nexport function getGameShareInfo(params: { id: string; uid: string }) {\n return javaService.get('/kigo-room-api/game/shareConfig/userShare', {\n params\n })\n}\n","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-09-17 15:14:00\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2020-09-17 15:15:21\r\n */\r\n\r\n/**\r\n * 获取网络类型\r\n */\r\nexport function getNetworkType() {\r\n const connection = navigator.connection || navigator.webkitConnection\r\n\r\n let networkType = 'unknown'\r\n if (connection) {\r\n networkType = connection.type\r\n if (networkType === 'cellular' && connection.effectiveType) {\r\n networkType = connection.effectiveType.replace('slow-', '')\r\n } else if (!['none', 'wifi'].includes(networkType)) {\r\n networkType = 'unknown'\r\n }\r\n } else if (navigator.onLine === false) {\r\n networkType = 'none'\r\n }\r\n return networkType\r\n}\r\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2021-06-02 10:45:18\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-06-07 17:04:13\n */\nimport QueryString from 'qs'\nimport { guid } from '.'\n\ninterface GameJsBridgeCallBackResponse {\n /**\n * js发送给原生的funcId\n */\n funcId: string\n data: string\n /**\n * type:\n */\n type: 'callHandler' | 'callBack'\n /**\n * 调用的js方法\n */\n name: string\n}\n\ntype ResponseCallback = (data: any) => void\n\nexport class GameJsBridge implements WebViewJavascriptBridge {\n init() {\n window.evalJsBridgeCallBack = (data: string) => {\n console.log(data)\n\n const response: GameJsBridgeCallBackResponse = JSON.parse(data)\n if (response.type === 'callHandler') {\n console.log(response)\n\n /**\n * 执行注册的回调函数\n */\n const func = this.jsBridgeCallBack[response.funcId]\n func && func(response.data)\n delete this.jsBridgeCallBack[response.funcId]\n } else if (response.type === 'callBack') {\n const callBack = (data: string) => {\n this.sendScheme({\n funcId: response.funcId,\n name: response.name,\n data,\n type: 'callBack'\n })\n // 执行js桥\n }\n const func = this.webviewJsBridgeCallBack[response.name]\n console.log(this.webviewJsBridgeCallBack, response, func)\n func && func(response.data, callBack)\n }\n }\n }\n sendScheme(data: any) {\n const iframe = document.createElement('iframe')\n iframe.style.width = '0'\n iframe.style.height = '0'\n\n iframe.src = `testkey://callBack?${QueryString.stringify(data)}`\n\n document.body.appendChild(iframe)\n document.body.removeChild(iframe)\n }\n\n callHandler(\n /**\n * App那边注册的方法\n */\n name: string,\n /**\n * 上传给App的数据,无为空\n */\n data: string,\n /**\n * 回调函数\n */\n responseCallback: ResponseCallback\n ) {\n const funcId = guid()\n this.jsBridgeCallBack[funcId] = responseCallback\n /**\n * scheme协议上传回调funcID,调用的App注册的方法ID,以及App需要的数据\n */\n this.sendScheme({\n funcId,\n name,\n data,\n type: 'callHandler'\n })\n }\n\n jsBridgeCallBack: Record void> = {}\n\n registerHandler(\n /**\n * 注册的与js通信事件名字\n */\n name: string,\n /**\n * 原生调用的回调函数\n */\n responseCallback: (data: any, callBack: (data: string) => void) => void\n ) {\n console.log(name, responseCallback)\n console.log(this.webviewJsBridgeCallBack)\n this.webviewJsBridgeCallBack[name] = responseCallback\n setTimeout(() => {\n console.log(this.webviewJsBridgeCallBack)\n })\n }\n\n webviewJsBridgeCallBack: Record<\n string,\n (data: string, callBack: (data: string) => void) => void\n > = {}\n\n send() {\n console.log('send')\n }\n}\nwindow.isCheckCheck = location.href.toLocaleLowerCase().includes('chekchek')\nexport const gameJsBridge = new GameJsBridge()\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-09-11 14:14:41\n * @LastEditors: yaozuo\n * @LastEditTime: 2022-02-25 15:59:17\n */\nimport { CommonModule } from '@/store/modules/common'\nimport { compare, getPlatform } from '.'\nimport { gameJsBridge } from './gameBridge'\nlet startTime = 0\nlet connectWebViewJavascriptBridge: (\n callback: (bridge: Window['WebViewJavascriptBridge']) => void\n) => void\nif (window.location.href.indexOf('iOS') !== -1) {\n // iOS13 及其以上版本\n console.log('iOS13 及其以上版本')\n connectWebViewJavascriptBridge = function(callback) {\n if (getPlatform() === 'chekchek') {\n return callback(gameJsBridge)\n }\n console.log(\n 'window.WebViewJavascriptBridge',\n window.WebViewJavascriptBridge\n )\n if (window.WebViewJavascriptBridge) {\n return callback(window.WebViewJavascriptBridge)\n }\n if (window.WVJBCallbacks) {\n return window.WVJBCallbacks.push(callback)\n }\n window.WVJBCallbacks = [callback]\n const WVJBIframe = document.createElement('iframe')\n WVJBIframe.style.display = 'none'\n WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__'\n document.documentElement.appendChild(WVJBIframe)\n setTimeout(function() {\n document.documentElement.removeChild(WVJBIframe)\n }, 0)\n }\n connectWebViewJavascriptBridge(function(bridge) {\n bridge.registerHandler('JS Echo', function(data, responseCallback) {\n console.log('JS Echo called with:', data)\n responseCallback(data)\n })\n bridge.callHandler('ObjC Echo', { key: 'value' }, function responseCallback(\n responseData\n ) {\n console.log('JS received response:', responseData)\n })\n })\n} else {\n // 安卓 和 iOS13 以下及其版本\n console.log('安卓 和 iOS13 以下及其版本')\n connectWebViewJavascriptBridge = function(callback) {\n if (getPlatform() === 'chekchek') {\n return callback(gameJsBridge)\n }\n\n if (window.WebViewJavascriptBridge) {\n callback(window.WebViewJavascriptBridge)\n } else {\n document.addEventListener(\n 'WebViewJavascriptBridgeReady',\n function() {\n callback(window.WebViewJavascriptBridge)\n },\n false\n )\n }\n }\n connectWebViewJavascriptBridge(function(bridge) {\n bridge.init()\n })\n}\n\nlet methodList: string[] = []\n\nexport async function callBridgeAsync(\n name: string,\n data: string | number | object = '',\n /**超时清除 */\n overtime = true,\n /**默认10s */\n overtimes = 10000\n): Promise {\n console.log('callBridgeAsync', {\n name: name,\n data: data\n })\n if (typeof data === 'object') {\n data = JSON.stringify(data)\n }\n return new Promise((resolve, reject) => {\n if (methodList.length) {\n if (!methodList.includes(name)) {\n return reject({\n code: '404',\n message: `应用异常:${name}未在宿主机注册`\n })\n }\n }\n\n const timer = overtime\n ? setTimeout(() => {\n console.log(\n name,\n '超时',\n 'startTime:',\n startTime,\n 'nowTime',\n new Date().getTime()\n )\n reject('超时')\n }, overtimes)\n : 0\n connectWebViewJavascriptBridge(function(bridge) {\n bridge.callHandler(name, data, function(response) {\n if (typeof response == 'string') {\n try {\n response = JSON.parse(response)\n } catch (e) {\n console.log(`事件${name}响应为非json字符串`)\n }\n }\n if (process.env.NODE_ENV != 'production') {\n console.log(`事件${name}响应`, response)\n }\n overtime && clearTimeout(timer)\n if (response?.code && response.code != 200) {\n reject(response)\n }\n resolve(response)\n })\n })\n })\n}\n\nexport async function callBridgeLongAsync(\n name: string,\n data: string | number | object = ''\n) {\n if (typeof data === 'object') {\n data = JSON.stringify(data)\n }\n console.log('callBridgeLongAsync', {\n name: name,\n data: data\n })\n\n return new Promise((resolve, reject) => {\n if (methodList.length) {\n if (!methodList.includes(name)) {\n return reject({\n code: '404',\n message: `应用异常:${name}未在宿主机注册`\n })\n }\n }\n\n connectWebViewJavascriptBridge(function(bridge) {\n bridge.callHandler(name, data, function(response) {\n if (typeof response == 'string') {\n try {\n response = JSON.parse(response)\n } catch (e) {\n console.log(`事件${name}响应为非json字符串`)\n }\n }\n if (process.env.NODE_ENV != 'production') {\n console.log(`事件${name}响应`, response)\n }\n\n if (response?.code && response.code != 200) {\n reject(response)\n }\n resolve(response)\n })\n })\n })\n}\n\nexport function registerBridge(name: string, callback: (res: any) => void) {\n console.log(`事件registerBridge`, name)\n connectWebViewJavascriptBridge(function(bridge) {\n console.log(`事件registerBridge bridge`, bridge)\n bridge.registerHandler(name, function(response) {\n console.log(`事件${name}触发`, response)\n callback(response)\n })\n })\n}\n\nfunction callBridge(name: string, data: string | object = '') {\n if (typeof data === 'object') {\n data = JSON.stringify(data)\n }\n connectWebViewJavascriptBridge(function(bridge) {\n bridge.callHandler(name, data, function(response) {\n console.log(`事件${name}响应`, response)\n })\n })\n}\nexport function callAppFunc_IsHiddenNavagationBar() {\n callBridge('appFunc_IsHideNavBar')\n}\n\n/**\n * 获取基本信息\n */\nexport function callAppFunc_getSomeParams() {\n console.log('callAppFunc_getSomeParams Time', new Date().getTime())\n startTime = new Date().getTime()\n return callBridgeAsync('appFunc_getSomeParams', '', true, 10000) as Promise<\n any\n >\n}\n\n/**\n * 设置导航颜色\n * @param navColor 16进制颜色 #FFFFFF\n */\nexport function callAppFunc_setNavColor(data: { navColor: string }) {\n callBridge('appFunc_setNavColor', data)\n}\n\n/**\n * 主动获取token\n */\nexport function callAppFunc_CacheToken() {\n return callBridgeAsync('appFunc_CacheToken') as Promise\n}\n\n/**\n * 设置导航文字颜色\n */\nexport function callAppFunc_setTitleFontColor(data: { navFontColor: string }) {\n return callBridgeAsync('appFunc_setTitleFontColor', data) as Promise\n}\n\n/**\n * 调用登陆\n * @param type\n */\nexport function callAppFunc_Jump2Act() {\n return callBridgeAsync('appFunc_Jump2Act', '1') as Promise\n}\n\n/**\n * 通知已签到\n */\nexport function callAppFunc_HasSignIn() {\n return callBridge('appFunc_HasSignIn')\n}\n\n/**\n * 下载\n */\nexport function callAppFunc_startToDownload(url: string) {\n return callBridgeAsync('appFunc_startToDownload', url)\n}\n\n/**\n * 下载\n */\nexport function callAppFunc_startDown(id: string) {\n return callBridgeAsync('appFunc_startDown', id)\n}\n\n/**\n * appFunc_dbSet\n */\nexport function callAppFunc_dbSet(data: { key: string; value: any }) {\n return callBridgeAsync('appFunc_dbSet', data)\n}\n\n/**\n * 打开第三方App\n */\nexport function callAppFunc_webToThirdApp(data: {\n /**\n * app包名\n */\n appPackageName: string\n /**\n * 若为true则只跳应用市场\n */\n allToAppStore?: boolean\n /**\n * 打开app携带的数据\n */\n appData?: any\n}) {\n return callBridgeAsync('appFunc_webToThirdApp', data)\n}\n/**\n * 打开默认浏览器跳转到指定网址\n * @method 'appFunc_openBrowser'\n * @param url 指定网址\n * @returns\n */\nexport function callAppFunc_openBrowser(data: { url: string }) {\n return callBridgeAsync('appFunc_openBrowser', data)\n}\n/**\n * 预览图片\n * @param url 图片的url\n * @returns\n */\nexport function callAppFunc_previewImage(url: string) {\n return callBridgeAsync('appFunc_previewImage', url)\n}\n/**\n * 删除当前预览图片\n * @method 'h5Func_delPreviewImage'\n * @returns {url} 为删除图片的url\n */\nexport function callH5Func_delPreviewImage(callback: (url: string) => void) {\n registerBridge('h5Func_delPreviewImage', (url: string) => {\n callback(url)\n })\n}\n\n/**\n * 获取wxcode\n */\nexport function callAppFunc_getWXCode() {\n return callBridgeAsync('appFunc_getWXCode', '', false)\n}\n\n/**\n * 获取App注册的所有方法名\n */\nexport async function callAppFunc_getMethodList() {\n const res = await callBridgeAsync('appFunc_getMethodList')\n methodList = res.data.list\n console.log('获取App注册的所有方法名', res)\n}\ncallAppFunc_getMethodList()\n/**\n * 关闭当前webview弹窗\n */\nexport function closeWebViewPopUp() {\n return callBridgeAsync('appFunc_closeWebViewPopUp')\n}\n\n/**\n * 每日任务下列表按钮点击事件跳转到\n * String\n * 1\t直播热门页\n * 2\t话题动态发布页\n * 3\t广场热门页\n */\nexport function appFunc_TaskCenter(val: any) {\n return callBridgeLongAsync('appFunc_TaskCenter', val)\n}\n\n/**新手任务跳转到编辑个人信息页 */\nexport function appFunc_ToEditUserData() {\n return callBridgeLongAsync('appFunc_jumpToEditUserData')\n}\n/**新手任务5在当前页跳转至充值页 参数?*/\nexport function appFunc_JumpNewWeview(url: string) {\n return callBridgeLongAsync('appFunc_JumpNewWeview', url)\n}\n/**\n * 跳转至用户个人中心\n * @param uid\n */\nexport function callAppFunc_jumpToPersonalCenter(uid: number | string) {\n return callBridgeAsync('appFunc_jumpToPersonalCenter', String(uid))\n}\nexport function callAppFunc_openPersonalDataPopUp(uid: number | string) {\n return callBridgeAsync('appFunc_openPersonalDataPopUp', String(uid))\n}\n\n/**\n * 充值\n * @param data\n */\nexport function callAppFunc_JumpIosPay(data: any) {\n return callBridgeLongAsync('appFunc_JumpIosPay', data)\n}\n\n/**\n * 打开微信\n * @param weChat\n */\nexport function callAppFunc_OpenWeChat(weChat: string) {\n return callBridgeAsync('appFunc_OpenWeChat', weChat)\n}\n/**\n * 复制\n * @param str\n */\nexport function callAppFunc_copyMess(str: string) {\n return callBridgeAsync('appFunc_copyMess', { str })\n}\n\nexport function callAppFunc_openApp(data: {\n appPackageName: string\n schemeUrl: string\n appDownloadUrl: string\n}) {\n return callBridgeAsync('appFunc_openApp', data)\n}\nexport function callAppFunc_closeWebview() {\n return callBridgeAsync('appFunc_closeWebview')\n}\n\nexport function callAppFunc_statusBarHeight() {\n return callBridgeAsync('appFunc_statusBarHeight')\n}\n/***\n * 跳转房间管理\n */\nexport function callAppFunc_jumpToRoomManage() {\n return callBridgeAsync('appFunc_jumpToRoomManage')\n}\n/**\n * 打开礼物/粉丝团/背包弹窗\n * 判断兼容性 2.5.1\n * @returns\n */\ninterface GiftFansBackpackProps {\n tabbarId?: number\n giftType?: number\n giftId?: number\n}\n\nexport function callAppFunc_openGiftFansBackpackPopUp(\n appVersion: string,\n data: GiftFansBackpackProps = {\n tabbarId: 1,\n giftType: 1,\n giftId: 1\n }\n) {\n const usable = compare(appVersion, '2.5.1')\n\n if (usable) {\n return callBridgeAsync('appFunc_openGiftFansBackpackPopUp', data)\n }\n\n let name = 'appFunc_jumpToBackpackPopUp'\n if (data.tabbarId == 1) {\n name = 'appFunc_jumpToGiftPopUp'\n } else if (data.tabbarId == 2) {\n name = 'appFunc_jumpToFansGroupGiftPopUp'\n }\n\n return data.giftId\n ? callBridgeAsync(name, {\n id: data.giftId\n })\n : callBridgeAsync(name)\n}\n\nexport function h5Func_webActivity() {\n return callBridgeAsync('appFunc_jumpToRoomManage')\n}\n\n/**\n * 导航图标点击回调\n * @returns callback()\n */\nexport function callh5Func_webActivity(callback: (res: any) => void) {\n registerBridge('h5Func_webActivity', (res: any) => {\n callback(res)\n })\n}\n/**\n * 跳转至个人开播页,在开播页点击【返回】按钮需返回至当前页\n * @returns\n */\nexport function callAppFunc_jumpToStartLive() {\n return callBridgeAsync('appFunc_jumpToStartLive')\n}\n/**\n * 跳转至直播间/聊天室\n * @param data\n * @param roomId 房间id\n * @param fromType 点击来源 默认为0\n * @returns\n */\nexport function callAppFunc_jumpToLiveRoom(data: {\n roomId: string | number\n fromType: number\n}) {\n let version: number | string = CommonModule.appVersion\n console.log('version:', version)\n\n if (version) {\n version = Number(version.replace(/\\./g, ''))\n if (version < 260) {\n return callBridgeAsync('appFunc_jumpToLiveRoom', data.roomId)\n }\n }\n return callBridgeAsync('appFunc_jumpToLiveRoom', data)\n}\n/**\n * 打开系统相册\n * @returns\n */\nexport function callAppFunc_openSystemAlbum() {\n return callBridgeAsync('appFunc_openSystemAlbum')\n}\n/**\n * 选择图片成功\n * @returns base64\n * 点击取消不用调用\n */\nexport function callH5Func_choiceImageSuccess(\n callback: (base64: string) => void\n) {\n registerBridge('h5Func_choiceImageSuccess', (base64: string) => {\n callback(base64)\n })\n}\n/**\n * 跳转至实名认证\n * @returns\n */\nexport function callAppFunc_jumpToRealNameVerify(verifyStatus: number) {\n return callBridgeAsync('appFunc_jumpToRealNameVerify', verifyStatus)\n}\n/**\n * 隐藏/显示导航栏\n * @param status 0-隐藏 1-显示\n * @returns\n */\nexport function callAppFunc_showHideNavigationBar(params: { status: number }) {\n return callBridgeAsync('appFunc_showHideNavigationBar', params)\n}\n/**\n * 隐藏/显示底部导航栏\n * @param status 0-隐藏 1-显示\n * @returns\n */\nexport function callAppFunc_showHideBottomNavigationBar(params: {\n status: number\n}) {\n return callBridgeAsync('appFunc_showHideBottomNavigationBar', params)\n}\n/**\n * 关闭当前webview(导航栏的关闭按钮)\n * @returns\n */\nexport function callAppFunc_closeCurrentWebview() {\n return callBridgeAsync('appFunc_closeCurrentWebview')\n}\n/**\n *\n * @returns 关闭当前 webview 弹窗\n *\n */\nexport function callAppFunc_closeWebViewPopUp() {\n return callBridgeAsync('appFunc_closeWebViewPopUp')\n}\n/**\n * 隐藏导航栏关闭按钮\n * @returns\n */\nexport function callAppFunc_hideNavCloseBtn() {\n return callBridgeAsync('appFunc_hideNavCloseBtn')\n}\n/**\n * IOS-钱包是否显示充值弹窗\n * app接受到消息后表示h5已弹过充值弹窗\n * @returns\n */\nexport function callAppFunc_useRechargePopUp() {\n return callBridgeAsync('appFunc_useRechargePopUp')\n}\n/**\n * IOS-获取钱包充值弹窗状态\n * 先调用 判断status=0的时候再调用 callAppFunc_useRechargePopUp()\n * @param\n * @returns { status : 0 } 0-app未弹起 1-app已弹\n */\nexport function callAppFunc_getRechargePopUpStatus() {\n return callBridgeAsync('appFunc_getRechargePopUpStatus')\n}\n/**\n * 打开客服会话\n * @returns {id} 指定客服ID\n */\nexport function callAppfunc_customerServiceConversation(params: {\n id: string | number\n}) {\n return callBridgeAsync('appfunc_customerServiceConversation', params)\n}\n/***\n * 显示导航栏右上角图标\n * @param {name} 'share-分享 wallet-钱包明细'\n */\nexport function callAppFunc_showNavBtn(\n params: Array<{ name: string; iconUrl: string }>\n) {\n return callBridgeAsync('appFunc_showNavBtn', params)\n}\n/**\n * 点击导航栏图标回调\n * @param callback\n */\nexport function callh5Func_navBtnClick(callback: any) {\n registerBridge('h5Func_navBtnClick', res => {\n callback(res)\n })\n}\n/**\n * 社交模块任务跳转事件\n * String\n * 1\t同城的人\n * 2\t聊天匹配\n * 3\t消息页\n */\nexport function appFunc_JumpForSocialTask(val: any) {\n return callBridgeAsync('appFunc_JumpForSocialTask', val)\n}\n\n/**\n * 领取隐藏任务奖励后通知app\n * @returns\n */\nexport function appFunc_getHideTaskReward() {\n return callBridgeAsync('appFunc_getHideTaskReward')\n}\n\n/**\n * 进入访客任务页面后通知app\n * @returns\n */\nexport function appFunc_visitorTaskPageLoad() {\n return callBridgeAsync('appFunc_visitorTaskPageLoad')\n}\n\n/**\n * 调用分享\n * @returns\n */\nexport function callAppFunc_WebShare(params: any) {\n return callBridgeAsync('appFunc_WebShare', params) as Promise\n}\n\n/**\n * 返回app首页\n * @returns\n */\nexport function callAppFunc_goHome() {\n return callBridge('appFunc_goHome')\n}\n\n/**\n * 注销成功\n * @returns\n */\nexport function callAppFunc_logOffSuccess() {\n return callBridge('appFunc_logOffSuccess')\n}\n/**\n * 通知移动端vip支付成功\n * @returns\n */\nexport function callAppFunc_onH5VipPaySuccess() {\n return callBridgeAsync('appFunc_onH5VipPaySuccess')\n}\n\n/**\n * 设置导航栏返回按钮图标\n * @param data\n * @returns\n */\nexport function callAppFunc_setNavBackIcon(data: { backIconUrl: string }) {\n return callBridge('appFunc_setNavBackIcon', data)\n}\n/**\n * 设置导航栏关闭按钮图标\n * @param data\n * @returns\n */\nexport function callAppFunc_setNavCloseIcon(data: { closeIconUrl: string }) {\n return callBridge('appFunc_setNavCloseIcon', data)\n}\n/**\n * 钱包支付成功\n * @param data\n * @returns\n */\nexport function callappFunc_onH5PaySuccess(data: { money: number }) {\n console.log('callappFunc_onH5PaySuccess', data)\n return callBridge('appFunc_onH5PaySuccess', data)\n}\n\n/**\n * 设置导航栏蒙板\n * @param data\n * @returns\n */\nexport function callAppFunc_setNavMask(data: { isNavMaskShow: 0 | 1 }) {\n return callBridge('appFunc_setNavMask', data)\n}\n/**\n * 跳转至用户个人主页\n * @param data\n * @returns\n */\nexport function callAppFunc_jumpToUserHome(data: { uid: string }) {\n return callBridge('appFunc_jumpToUserHome', data)\n}\n\n/**\n * ios震动\n * @returns\n */\nexport function callAppFunc_exploreGameVibrationDialog() {\n return callBridge('appFunc_exploreGameVibrationDialog')\n}\n\n/**\n * 隐藏/显示手机状态栏\n * @param status 0-隐藏 1-显示\n * @returns\n */\nexport function callAppFunc_showHideStatusBar(params: { status: number }) {\n return callBridgeAsync('appFunc_showHideStatusBar', params)\n}\n\n/**\n * 打开星球探索商店弹窗\n * @returns\n */\nexport function callAppFunc_exploreGameStoreDialog(currentPage = 1) {\n return callBridge('appFunc_exploreGameStoreDialog', { currentPage })\n}\n\n/**\n * 登录成功回调\n * @param callback\n */\nexport function callAppFunc_loginStateChanged(callback: any) {\n registerBridge('appFunc_loginStateChanged', res => {\n callback(res)\n })\n}\n\n/**\n * ios跳转原生钱包\n * @returns\n */\nexport function callAppFunc_GoWallet() {\n return callBridge('appFunc_GoWallet')\n}\n\n/**\n * 获取微信授权\n * @returns\n */\nexport function callAppFunc_bindWechat() {\n return callBridge('appFunc_bindWechat')\n}\n\n/**\n * 微信授权回调\n * @param callback\n */\nexport function callH5Func_wechatCode(callback: any) {\n registerBridge('h5Func_wechatCode', res => {\n callback(res)\n })\n}\n\n/**\n * 领取任务奖励通知移动端\n * @returns\n */\nexport function callAppFunc_receiveTaskCallBack() {\n return callBridge('appFunc_receiveTaskCallBack')\n}\n\n/**\n * app跳转到房间列表\n * @param type\n * @returns\n */\nexport function callAppFunc_goRoomList(type: number) {\n return callBridge('appFunc_goRoomList', { type })\n}\n\n/**\n * 拉起app版本更新弹窗\n * @returns\n */\nexport function callAppFunc_checkVersion(data: any) {\n console.log('callAppFunc_checkVersion')\n return callBridge('appFunc_checkVersion', data)\n}\n\n/**\n * 跳转至实名认证\n * @returns\n */\nexport function callAppFunc_goIdentity(verifyStatus: any) {\n return callBridgeAsync('appFunc_goIdentity', verifyStatus)\n}\n\n/**\n * app支付\n * @param data\n * @returns\n */\nexport function callAppFunc_payfunc(data: {\n itemId: number | string\n chargeType: number | string\n payment?: number //支付方式,ios不传\n day?: number\n productId?: string\n sendCoin?: number\n money?: number\n}) {\n return callBridge('appFunc_payfunc', data)\n}\n\n/**\n * app支付成功回调\n * @param callback\n */\nexport function callAppFunc_appPaySuccess(callback: any) {\n registerBridge('callAppFunc_appPaySuccess', res => {\n callback(res)\n })\n}\n\n/**\n * 开始app房间挑战\n * @param data\n * @returns\n */\nexport function callAppFunc_startChallengeMode(data: {\n gearId: string | number\n addScoreCoinNum: string | number\n roomId: string | number\n seatId: string | number\n seatNumber: string | number\n controlBoardId: string | number\n}) {\n console.log('callAppFunc_startChallengeMode', data)\n return callBridge('appFunc_startChallengeMode', data)\n}\n\n/**\n * 导航栏刷新按钮\n * @param state\n * @returns\n */\nexport function callAppFunc_showRefreshBtn(state: number) {\n console.log('appFunc_showRefreshBtn', state)\n return callBridge('appFunc_showRefreshBtn', { state })\n}\n\n/**\n * 保存图片\n * @param url\n * @returns\n */\nexport function callAppFunc_saveImage(url: string) {\n return callBridgeAsync('appFunc_saveImage', { url })\n}\n\n/**\n * 获取支付宝授权\n * @returns\n */\nexport function callAppFunc_bindAliPay() {\n return callBridge('appFunc_bindAliPay')\n}\n\n/**\n * 支付宝授权回调\n * @param callback\n */\nexport function callH5Func_BindAliPayBack(callback: any) {\n registerBridge('h5Func_bindAliPayBack', res => {\n callback(res)\n })\n}\n\n/**\n * 关闭当前webview并且跳转全屏钱包页\n * @returns\n */\nexport function callAppFunc_CloseWebAndGoWallet() {\n return callBridgeAsync('appFunc_CloseWebAndGoWallet')\n}\n\n/**\n * 在房间内关闭webview\n * @returns\n */\nexport function callAppFunc_CloseHalfScreenWebview() {\n return callBridgeAsync('appFunc_CloseHalfScreenWebview')\n}\n\n/**\n * 退出H5页面并跳转至编辑资料页\n * @returns\n */\nexport function callAppFunc_goAppSetting() {\n return callBridgeAsync('appFunc_goAppSetting')\n}\n","import { openAppPopUp } from '@/components/OpenAppPopUp'\nimport { ShareModule } from '_index/modules/share'\nimport { openScheme, openSchemeNew, toAppMarketEnjoy } from '@/common/utils'\nimport {\n callAppFunc_openApp,\n callAppFunc_webToThirdApp\n} from '@/common/utils/bridge'\nimport { toAppMarket } from '@/common/utils'\nimport { Component, Vue } from 'vue-property-decorator'\n\nconst ua = navigator.userAgent\n/**\n * 是否iOS设备\n */\nconst isIOS = /iphone|ipad|ipod/i.test(ua)\n\n@Component\nexport class OutsidePageMixin extends Vue {\n openSchemeing = false\n async handleOpenApp(queryUrl = '') {\n if (this.openSchemeing) return\n this.openSchemeing = true\n try {\n if (this.$platform === 'chekchek') {\n const { message, data } = await callAppFunc_openApp({\n appPackageName: 'com.kigo.app',\n //schemeUrl: `live.kigo://kigo.com${queryUrl}`,\n schemeUrl: 'live.kigo://',\n appDownloadUrl: ShareModule.apkUrl\n })\n this.$toast(\n `${message}${\n data.progress ? ',进度:' + data.progress * 100 + '%' : ''\n }`\n )\n } else if (this.$platform == 'kixmix') {\n if (isIOS) {\n return\n }\n callAppFunc_webToThirdApp({\n appPackageName: 'com.kigo.app'\n })\n console.log('kixmix')\n } else if (\n this.$platform === 'weixin' ||\n (isIOS && this.$platform === 'qq')\n ) {\n openAppPopUp()\n } else {\n // const ToDownLoadPopUp = openToDownLoadPopUp()\n try {\n await openScheme(\n `live.kigo://kigo.com${queryUrl}`,\n 3000\n //isIOS ? 11000 : 5500\n )\n //await openScheme('live.kigo://', isIOS ? 11000 : 5500)\n // ToDownLoadPopUp.close()\n } catch (error) {\n console.log('openScheme error', error)\n toAppMarket()\n // ToDownLoadPopUp.changeState(false)\n }\n }\n } catch (error) {\n console.log(error)\n } finally {\n this.openSchemeing = false\n }\n console.log('打开APP')\n }\n\n async handleOpenEnjoyApp(channel = '', queryUrl = '') {\n if (this.openSchemeing) return\n this.openSchemeing = true\n try {\n if (this.$platform === 'chekchek') {\n const { message, data } = await callAppFunc_openApp({\n appPackageName: 'com.kigo.enjoy',\n //schemeUrl: `live.kigo://kigo.com${queryUrl}`,\n schemeUrl: 'live.kigo://',\n appDownloadUrl: ShareModule.apkUrl\n })\n this.$toast(\n `${message}${\n data.progress ? ',进度:' + data.progress * 100 + '%' : ''\n }`\n )\n } else if (this.$platform == 'kixmix') {\n if (isIOS) {\n return\n }\n callAppFunc_webToThirdApp({\n appPackageName: 'com.kigo.enjoy'\n })\n console.log('kixmix')\n } else if (\n this.$platform === 'weixin' ||\n (isIOS && this.$platform === 'qq')\n ) {\n openAppPopUp()\n } else {\n // const ToDownLoadPopUp = openToDownLoadPopUp()\n try {\n console.log('queryUrl', queryUrl)\n if (isIOS) {\n await openScheme(`zzsk.app://com.zzsk.app`, 5000)\n } else {\n await openScheme(\n `kigo.enjoy://com.kigo.enjoy${queryUrl}`,\n 3000\n //isIOS ? 11000 : 5500\n )\n }\n\n //await openScheme('live.kigo://', isIOS ? 11000 : 5500)\n // ToDownLoadPopUp.close()\n } catch (error) {\n console.log('openScheme error', error)\n if (isIOS) {\n window.open('https://itunes.apple.com/app/id6479635137')\n //window.open('https://www.pgyer.com/RfrEAS')\n //location.href = 'https://itunes.apple.com/app/id6479635137'\n //window.location.href = 'https://itunes.apple.com/app/id6479635137'\n } else {\n toAppMarketEnjoy(channel)\n }\n // ToDownLoadPopUp.changeState(false)\n }\n }\n } catch (error) {\n console.log(error)\n } finally {\n this.openSchemeing = false\n }\n console.log('打开APP')\n }\n}\n","/*\r\n * @Descripttion: 自定义缓存类\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-10-20 10:22:22\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2021-04-01 11:00:42\r\n */\r\n\r\n/**\r\n * 自定义缓存类\r\n * @description 用于缓存隔离\r\n */\r\nexport class TakStorage {\r\n constructor(config?: { prefix: string }) {\r\n this.TakStoragePrefix = this.TakStoragePrefix + config?.prefix || ''\r\n }\r\n\r\n private TakStoragePrefix = '_TakTak_'\r\n\r\n getItem(key: string): MayNull {\r\n if (!key) {\r\n throw new Error('key is non-existent!')\r\n }\r\n const temp = localStorage.getItem(`${this.TakStoragePrefix}_${key}`)\r\n if (typeof temp !== 'string') {\r\n return null\r\n }\r\n const { data } = JSON.parse(temp)\r\n return data as T\r\n }\r\n\r\n setItem(key: string, data: string | number | object | boolean) {\r\n const temp = {\r\n type: typeof data,\r\n data\r\n }\r\n const tempStr = JSON.stringify(temp)\r\n localStorage.setItem(`${this.TakStoragePrefix}_${key}`, tempStr)\r\n }\r\n\r\n clear() {\r\n const keys = Object.keys(localStorage)\r\n const clearKeys = keys.filter(key => {\r\n return (\r\n key.slice(0, this.TakStoragePrefix.length) === this.TakStoragePrefix\r\n )\r\n })\r\n clearKeys.forEach(key => {\r\n localStorage.removeItem(key)\r\n })\r\n }\r\n\r\n delete(key: string) {\r\n if (!key) {\r\n throw new Error('key is non-existent!')\r\n }\r\n localStorage.removeItem(`${this.TakStoragePrefix}_${key}`)\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatar-box\"},[_c('van-image',{staticClass:\"avatar\",attrs:{\"src\":_vm.url,\"fit\":\"cover\",\"round\":\"\"},on:{\"click\":_vm.tocenter},scopedSlots:_vm._u([{key:\"loading\",fn:function(){return [_c('div')]},proxy:true},{key:\"error\",fn:function(){return [_c('img',{attrs:{\"src\":_vm.defaultAvatar}})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport defaultAvatar from '@/assets/avatar.png'\nimport { toLiveRoom } from '@/common/utils'\n@Component({\n name: 'Avatar'\n})\nexport default class Avatar extends Vue {\n @Prop()\n url!: string\n @Prop({ default: 0 })\n uid!: string | number\n @Prop({ default: defaultAvatar })\n defaultAvatar!: string\n\n tocenter() {\n toLiveRoom(this.uid)\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=ebedc180&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-09-04 18:12:45\r\n * @LastEditors: yaozuo\r\n * @LastEditTime: 2021-08-17 10:17:08\r\n */\r\nimport Vue from 'vue'\r\nimport alert_icon from '@/assets/kigo_icon/alert_icon.png'\r\nimport '@/styles/index.scss'\r\nimport {\r\n Toast,\r\n Image as VanImage,\r\n Icon,\r\n Uploader,\r\n Button,\r\n Dialog,\r\n NavBar,\r\n Overlay,\r\n ImagePreview,\r\n PullRefresh,\r\n List,\r\n Swipe,\r\n SwipeItem,\r\n Field,\r\n CellGroup,\r\n Loading,\r\n Checkbox,\r\n CheckboxGroup,\r\n DatetimePicker,\r\n Popup,\r\n NoticeBar,\r\n Badge,\r\n Skeleton,\r\n Popover,\r\n NumberKeyboard,\r\n Circle,\r\n Tab,\r\n Tabs,\r\n ActionSheet,\r\n Picker,\r\n DropdownMenu,\r\n DropdownItem,\r\n Radio,\r\n AddressList,\r\n AddressEdit,\r\n RadioGroup,\r\n Sticky,\r\n Area,\r\n Lazyload\r\n} from 'vant'\r\nToast.setDefaultOptions({\r\n duration: 3000,\r\n //icon: 'https://qiniu.wlwyl.com/04fcd502651047e39d94816b2cf82f15',\r\n icon: alert_icon,\r\n className: 'kigo-toast',\r\n transition: 'kigo-toast-transition'\r\n})\r\nVue.use(VanImage)\r\nVue.use(Popup)\r\nVue.use(DatetimePicker)\r\nVue.use(Toast)\r\nVue.use(Icon)\r\nVue.use(Uploader)\r\nVue.use(Button)\r\nVue.use(Dialog)\r\nVue.use(NavBar)\r\nVue.use(Overlay)\r\nVue.use(ImagePreview)\r\nVue.use(PullRefresh)\r\nVue.use(Swipe)\r\nVue.use(SwipeItem)\r\nVue.use(List)\r\nVue.use(Field)\r\nVue.use(CellGroup)\r\nVue.use(Loading)\r\nVue.use(Checkbox)\r\nVue.use(CheckboxGroup)\r\nVue.use(NoticeBar)\r\nVue.use(Badge)\r\nVue.use(Skeleton)\r\nVue.use(Popover)\r\nVue.use(NumberKeyboard)\r\nVue.use(Circle)\r\nVue.use(Tab)\r\nVue.use(Tabs)\r\nVue.use(ActionSheet)\r\nVue.use(Picker)\r\nVue.use(DropdownMenu)\r\nVue.use(DropdownItem)\r\nVue.use(Radio)\r\nVue.use(AddressList)\r\nVue.use(AddressEdit)\r\nVue.use(RadioGroup)\r\nVue.use(Sticky)\r\nVue.use(Area)\r\nVue.use(Lazyload)\r\n","/*\r\n * @Descripttion:\r\n * @Author: Yi Yunwan\r\n * @Date: 2020-10-19 11:53:57\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2020-10-19 11:54:39\r\n */\r\nimport Vue from 'vue'\r\nexport default new Vue()\r\n","/*\n * @Descripttion: 埋点文件\n * @Author: Yi Yunwan\n * @Date: 2020-09-17 14:22:03\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-06-04 10:39:55\n */\n\nimport { getNetworkType, getSystemInfo } from './device'\nimport axios from 'axios'\n\nimport { encode, getPlatform, guid } from './index'\nimport { reportConfig } from '@/config'\nimport qs from 'qs'\nimport { CommonModule } from '@/store/modules/common'\nconst http = axios.create({\n baseURL: reportConfig.baseURL,\n timeout: 100000\n})\nhttp.interceptors.request.use(config => {\n config.data = qs.stringify(config.data)\n return config\n})\n\nfunction sendXHR(url: string, data: any) {\n const xmlHttp = new XMLHttpRequest()\n xmlHttp.open('POST', url, false)\n xmlHttp.send(data)\n}\n\nfunction sendData(url: string, data: any) {\n const _data = qs.stringify(data)\n navigator.sendBeacon ? navigator.sendBeacon(url, _data) : sendXHR(url, _data)\n}\n\n/**\n * 埋点sdk\n */\nexport class Point {\n constructor(options: PointOptions) {\n const sysInfo = getSystemInfo()\n\n const commonInfo: CommonInfo = {\n appKey: options.commonInfo.appKey || options.appKey,\n sdkVersion: '1.1',\n randomId: guid(),\n device: sysInfo.model || '',\n deviceType: sysInfo.platform,\n system: sysInfo.system.split(' ')[0],\n systemVersion: sysInfo.system.split(' ')[1],\n network: getNetworkType(),\n ip: window.returnCitySN?.cip || '',\n cityAddr: window.returnCitySN?.cname || '',\n userId: CommonModule.userId,\n deviceId: CommonModule.deviceId,\n deviceIdV2: CommonModule.deviceId,\n userType: '',\n appVersion: CommonModule.appVersion,\n appChannel: '',\n operators: '',\n lang: ''\n }\n this.reportData = Object.assign({}, this.reportData, {\n type: options.appKey\n })\n this.reportData.data = Object.assign({}, this.reportData.data)\n this.reportData.data.commonInfo = Object.assign(\n {},\n this.reportData.data.commonInfo,\n commonInfo,\n options.commonInfo\n )\n options.config &&\n (this.config = Object.assign({}, this.config, options.config))\n options.eventMap && this.init(options.eventMap)\n }\n\n private config!: ReportConfig\n\n private reportData!: ReportData\n\n /**\n * sdk初始化\n * @param eventMap\n */\n init(eventMap: PageEventMap) {\n this.pageReport(eventMap)\n }\n\n /**\n * 数据合并和加密\n * @param eventMap\n */\n assinReportData(eventMap: ClickEventMap | PageEventMap) {\n // 复制一个上报数据实例\n const reportData: ReportData = Object.assign({}, this.reportData)\n // 合并 eventMap\n reportData.data = Object.assign(\n {\n eventMap\n },\n reportData.data\n )\n // 需重新获取的数据重新获取\n const commonInfo: Partial = {\n network: getNetworkType(),\n userId: CommonModule.userId,\n deviceId: CommonModule.deviceId,\n deviceIdV2: CommonModule.deviceId,\n userType: CommonModule.userType,\n appVersion: CommonModule.appVersion\n }\n // 合并公用字段\n reportData.data.commonInfo = Object.assign(\n {},\n reportData.data.commonInfo,\n commonInfo\n )\n reportData.data.dataMap = {\n ...reportData.data.eventMap.dataMap,\n page_from: getPlatform()\n }\n delete reportData.data.eventMap.dataMap\n if (this.config?.debug) {\n console.log('数据:', reportData.data)\n }\n // 加密返回\n return {\n type: reportData.type,\n data: encode(JSON.stringify(reportData.data))\n }\n }\n\n /**\n * 点击上报事件\n * @param eventMap\n */\n clickReport(eventMap: ClickEventMap, sync = false) {\n console.log('点击大数据上报数据:', eventMap)\n eventMap.clientTime = new Date().getTime()\n eventMap.targetId = eventMap.targetId || '0'\n eventMap.targetName = eventMap.targetName || '0'\n eventMap.dataMap = eventMap.dataMap || {}\n\n const data = this.assinReportData(eventMap)\n if (sync) {\n sendData(`${this.config.baseURL}/click`, data)\n return\n }\n\n http.request({\n baseURL: this.config.baseURL,\n url: '/click',\n method: 'POST',\n data\n })\n }\n\n /**\n * 页面上报事件\n * @param eventMap\n */\n pageReport(eventMap: PageEventMap, sync = false) {\n eventMap.getDataTime = new Date().getTime()\n eventMap.dataMap = eventMap.dataMap || {}\n console.log('页面大数据上报数据:', eventMap)\n\n const data = this.assinReportData(eventMap)\n if (sync) {\n sendData(`${this.config.baseURL}/page`, data)\n return\n }\n\n http.request({\n baseURL: this.config.baseURL,\n url: '/page',\n method: 'POST',\n data\n })\n }\n}\n\nexport const point = new Point({\n appKey: reportConfig.appKey,\n commonInfo: {},\n config: {\n baseURL: reportConfig.baseURL,\n debug: reportConfig.debug\n }\n})\n","/*\n * @Descripttion:\n * @Author: Yi Yunwan\n * @Date: 2020-09-22 19:21:25\n * @LastEditors: Yi Yunwan\n * @LastEditTime: 2021-03-04 15:43:47\n */\nimport { point } from '@/common/utils/point'\nimport { VueConstructor } from 'vue'\nimport { Component, Vue } from 'vue-property-decorator'\nimport { isIOS } from '../utils'\n\n@Component\nexport class PageReport extends Vue {\n _postPageData(sync = false) {\n const pageEvent: PageEventMap = {\n ...this.pageEvent,\n outTime: new Date().getTime()\n }\n point.pageReport(pageEvent, sync)\n }\n\n pageEvent!: PageEventMap\n\n mounted() {\n if (this.$options.name == this.$route?.name && this.$route.meta?.report) {\n this.pageEvent = {\n pageId: this.$route.meta?.pageId,\n pageName: this.$route.meta?.pageName,\n pageType: this.$route.meta?.pageType,\n inTime: this.$route.meta?.pageStartTime,\n getDataTime: this.$route.meta?.pageLoadTime\n }\n console.log('test')\n if (isIOS) {\n const fun = () => {\n this._postPageData(true)\n }\n\n if ('onpagehide' in window) {\n window.addEventListener('pagehide', fun, false)\n } else {\n window.addEventListener('unload', fun, false)\n }\n\n document.addEventListener('pagehide', fun, false)\n this.$once('hook:beforeDestroy', () => {\n document.removeEventListener('pagehide', fun)\n })\n }\n\n window.onbeforeunload = () => {\n this._postPageData(true)\n }\n }\n }\n deactivated() {\n if (this.pageEvent) {\n this._postPageData()\n }\n }\n\n beforeDestroy() {\n if (this.pageEvent) {\n this._postPageData()\n }\n }\n}\n\nexport function pageReport(vue: VueConstructor) {\n vue.mixin(PageReport)\n}\n","/*\r\n * @Descripttion: 所有vue页面均需导入使用的基础文件\r\n * @Author: Yi Yunwan\r\n * @Date: 2021-03-01 16:34:02\r\n * @LastEditors: Yi Yunwan\r\n * @LastEditTime: 2021-04-23 10:27:24\r\n */\r\nimport 'normalize.css'\r\nimport '@/styles/index.scss'\r\nimport '@/vant'\r\nimport Vue from 'vue'\r\nimport bus from '@/common/utils/bus'\r\n// import * as Sentry from '@sentry/vue'\r\n// import { Integrations } from '@sentry/tracing'\r\nimport { getPlatform, useDebug } from './utils'\r\nimport { point } from '@/common/utils/point'\r\nimport { report } from '@/common/mixins/directive'\r\nimport { pageReport } from '@/common/mixins/mixins'\r\n\r\n// if (process.env.NODE_ENV === 'production') {\r\n// Sentry.init({\r\n// Vue,\r\n// dsn: 'http://a10bf4b95def45d0a944669bdc932b55@139.155.28.29:9000/2',\r\n// autoSessionTracking: true,\r\n// integrations: [new Integrations.BrowserTracing()],\r\n// tracesSampleRate: 1.0,\r\n// environment: process.env.NODE_ENV\r\n// })\r\n// }\r\nVue.config.productionTip = false\r\nVue.prototype.$platform = getPlatform()\r\nVue.prototype.$bus = bus\r\nVue.prototype.$debug = useDebug()\r\nexport { Vue, point, report, pageReport }\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToDownLoad.vue?vue&type=style&index=0&id=1c1c9dde&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenAppPopUp.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}