{"version":3,"file":"index.b2f1ffdb.js","sources":["../../src/common/js/ksBridge.ts","../../src/common/js/request/request.ts","../../src/common/js/request/apify.ts","../../src/config/apiMap.ts","../../src/common/js/request/interceptor.ts","../../src/common/js/request/index.ts"],"sourcesContent":["import ksBridge from '@ks/ks-bridge';\n// import { setWeblog } from '../util/util.js';\nconst logsamplerate: any = {\n logSampleRate: 0.1\n};\nksBridge.config(logsamplerate);\n// setWeblog();\nexport default ksBridge;\n","/**\n * @file request\n * @author fengpan\n */\n\nimport _ from 'lodash';\nimport axios, { AxiosRequestConfig } from 'axios';\n\nexport default function (host: string, path: string, reqObj: AxiosRequestConfig = Object.create(null)) {\n host = import.meta.env.MODE === 'development' ? '' : host;\n reqObj = _.assignIn({}, reqObj);\n return new Promise((resolve, reject) => {\n axios({\n ...reqObj,\n // 没有指定url用apimap中配置url,有指定则使用指定url,解决path传参问题\n url: !!reqObj.url ? host + reqObj.url : host + path\n })\n .then(res => {\n // TODO 隐藏loading\n res.data ? resolve(res.data) : resolve(res);\n })\n .catch(err => {\n // TODO 隐藏loading\n console.log(err);\n reject('netErr');\n });\n });\n}\n","/**\n * @file apify\n * @author fengpan\n */\n\n/**\n * 使api url function 化\n *\n * e.g\n *\n * const [\n {\n key: 'test',\n path: '/mock/9286/api/v1/vip/homepage',\n origin: \"MOCK_HOST\"\n }]\n *\n * api = apify(API_CONFIG);\n *\n * api.postCode({\n * method: 'get',\n * data:{\n * a:123\n * }\n * })\n * .then()\n * .fail();\n * \n */\n\nimport _ from 'lodash';\nimport request from './request';\nimport { AxiosRequestConfig } from 'axios';\n\nexport default function(apis: any ) {\n let res: any = {};\n apis.forEach((item: { key: string; path: string; origin: string }) => {\n let { key, path, origin } = item;\n let host: string = import.meta.env[origin] as string || '';\n res[key] = (options: AxiosRequestConfig) => {\n let param = _.assignIn({}, options);\n\n return request(host, path, param).catch(err => {\n console.log(err);\n });\n };\n });\n\n return res || {};\n}\n","export default [\n {\n key: 'test',\n path: '/mock/9286/api/v1/vip/homepage',\n origin: \"VITE_MOCK_HOST\"\n },\n {\n key: 'kconf',\n path: '/node/api/kconf/',\n origin: \"VITE_VIP_FE_HOST\"\n },\n {\n key: 'getlist',\n path: '/api/v1/coupon/game/coupons',\n origin: \"VITE_VIP_RD_HOST\"\n },\n {\n key: 'submitDelete',\n path: '/game/account/submit-delete',\n origin: \"VITE_SDK_HOST\"\n },\n {\n key: 'getDownloadInfo',\n path: '/rest/w/game/center/gameDetail',\n origin: \"VITE_GAME_CENTER_HOST\"\n },\n {\n key: 'getGiftList',\n path: '/rest/gd/activity/sign/reward',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'getLocation',\n path: '/rest/gd/activity/reward/wangzhe/jumplink',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'getReward',\n path: '/rest/gd/activity/sign/reward',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'updateMission',\n path: '/rest/gd/activity/task/self-report',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'getGiftDetail',\n path: '/rest/gd/activity/task/status-by-task/',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'getTaskReward',\n path: '/rest/gd/activity/task/take-reward',\n origin: \"VITE_TASK_CENTER_HOST\"\n },\n {\n key: 'getMatchConfig',\n path: '/livepk/matchConfig',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getRanking',\n path: '/livepk/ranking',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getMatchInfo',\n path: '/livepk/matchInfo',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getMarqueeConfig',\n path: '/livepk/marqueeConfig',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getMarqueeInfo',\n path: '/livepk/marquee',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getRecord',\n path: '/livepk/record',\n origin: \"VITE_GAME_HOST\"\n },\n {\n key: 'getTeamRanking',\n path: '/livepk/teamRanking',\n origin: \"VITE_GAME_HOST\"\n }\n];\n","/**\n * @file interceptor.js\n * @author fengpan\n */\n\nimport axios, { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { getCookie } from '@/common/js/utils/cookie';\nimport ksBridge from '@/common/js/ksBridge';\nimport yoda from '@ks/yoda-js-sdk';\nimport YodaKuaishouPlugin from '@ks/yoda-kuaishou-plugin';\nyoda.plugin(YodaKuaishouPlugin);\n\n// axios默认配置\naxios.defaults.baseURL = '';\naxios.defaults.method = 'get';\naxios.defaults.timeout = 60 * 1000;\naxios.defaults.withCredentials = true; // 让ajax携带cookie\n\ninterface AxiosConfig extends AxiosRequestConfig {\n showToast: boolean\n}\n\nlet saveFun: Function;\n\nksBridge.on({\n type: 'h5_kwai_captcha_pass_token',\n handler: function (data: any) {\n const token = data.token;\n saveFun(token);\n }\n});\n \n// 拦截器\naxios.interceptors.request.use(\n config => {\n // 预定义头部\n const headerParams = {};\n config.headers = Object.assign({}, config.headers, headerParams);\n if (!getCookie('kpn')) {\n config.params = {\n kpn: 'KUAISHOU',\n ...config.params\n };\n }\n return config;\n },\n error => {\n return Promise.reject(error);\n }\n),\naxios.interceptors.response.use(\n response => {\n return axiosInterceptorsHandler(response);\n },\n error => {\n return Promise.reject(error);\n }\n);\n\n// 滑块拦截\nfunction axiosInterceptorsHandler(response: AxiosResponse){\n return new Promise(async (resolve, reject) => {\n const body = response.data;\n const config = response.config as AxiosConfig;\n if (body.result === 2001 || body.result === 100102) {\n saveFun = (token: string) => {\n if(config.headers){\n config.headers.captchaToken = token;\n }\n setTimeout(() => {\n resolve(axios(config));\n });\n };\n // 打开滑块\n const env = process.env.NODE_ENV === 'development' || process.env.NODE_BUILD === 'test';\n const domain = env ? 'https://captcha.staging.kuaishou.com' : 'https://captcha.zt.kuaishou.com';\n const url = `${domain}/mobile/app/index.html?passDataMethod=event&type=${body.type}&captchaSession=${body.captchaSession}&url=${encodeURIComponent(body.url)}`;\n // 滑块验证后会关闭页面webview,关闭后如果遇到验证失败需要再次验证的时候\n // 会重新吊起loadUrlOnNewPage,但是如果重新吊起的间隔时间过短,快手会忽略本次吊起,所以加500ms延迟\n setTimeout(() => {\n ksBridge.loadUrlOnNewPage({ url, type: 'back' });\n }, 500);\n return;\n } else {\n resolve(response);\n }\n });\n}","/**\n * @author fengpan\n */\n\n/**\n * 使api url function 化\n *\n * e.g\n *\n * @src/config/apiMap = {\n * pathA: '/api/post/code',\n * pathB: '/api/post/auth'\n * }\n *\n * apify(api).pathA({\n * method: 'get',\n * data:{\n * a:123\n * }\n * })\n * .then()\n * .catch();\n * \n */\n\nimport _ from 'lodash';\nimport apify from './apify';\nimport apiMap from '@/config/apiMap';\nimport './interceptor';\n\nlet api: {\n key: string;\n path: string;\n origin: string\n}[] = apiMap;\n\nexport default apify(api);\n"],"names":["YodaKuaishouPlugin"],"mappings":"wlBAEA,KAAM,GAAqB,CACvB,cAAe,EACnB,EACA,EAAS,OAAO,CAAa,ECG7B,WAAyB,EAAc,EAAc,EAAoC,OAAA,OAAO,IAAI,EAAG,CACnG,SAAqD,EACrD,EAAS,EAAE,SAAS,CAAC,EAAG,CAAM,EACvB,GAAI,SAAQ,CAAC,EAAS,IAAW,CAC9B,EAAA,OACC,GADD,CAGF,IAAK,AAAE,EAAO,IAAM,EAAO,EAAO,IAAM,EAAO,CAAA,EAClD,EACI,KAAK,AAAO,GAAA,CAET,EAAI,KAAO,EAAQ,EAAI,IAAI,EAAI,EAAQ,CAAG,CAAA,CAC7C,EACA,MAAM,AAAO,GAAA,CAEV,QAAQ,IAAI,CAAG,EACf,EAAO,QAAQ,CAAA,CAClB,CAAA,CACR,CACL,CCOA,WAAwB,EAAY,CAChC,GAAI,GAAW,CAAA,EACV,SAAA,QAAQ,AAAC,GAAwD,CAC9D,GAAA,CAAE,MAAK,OAAM,UAAW,EACxB,EAAe,CAAY,iBAAA,iCAAA,iBAAA,qCAAA,cAAA,0CAAA,eAAA,iCAAA,sBAAA,uCAAA,eAAA,wCAAA,sBAAA,qCAAA,SAAA,6CAAA,KAAA,aAAA,IAAA,GAAA,KAAA,EAAA,EAAI,IAAqB,GACpD,EAAA,GAAO,AAAC,GAAgC,CACxC,GAAI,GAAQ,EAAE,SAAS,GAAI,CAAO,EAElC,MAAO,GAAQ,EAAM,EAAM,CAAK,EAAE,MAAM,AAAO,GAAA,CAC3C,QAAQ,IAAI,CAAG,CAAA,CAClB,CAAA,CACL,CACH,EAEM,GAAO,CAAA,CAClB,CCjDA,GAAe,GAAA,CACX,CACI,IAAK,OACL,KAAM,iCACN,OAAQ,gBACZ,EACA,CACI,IAAK,QACL,KAAM,mBACN,OAAQ,kBACZ,EACA,CACI,IAAK,UACL,KAAM,8BACN,OAAQ,kBACZ,EACA,CACI,IAAK,eACL,KAAM,8BACN,OAAQ,eACZ,EACA,CACI,IAAK,kBACL,KAAM,iCACN,OAAQ,uBACZ,EACA,CACI,IAAK,cACL,KAAM,gCACN,OAAQ,uBACZ,EACA,CACI,IAAK,cACL,KAAM,4CACN,OAAQ,uBACZ,EACA,CACI,IAAK,YACL,KAAM,gCACN,OAAQ,uBACZ,EACA,CACI,IAAK,gBACL,KAAM,qCACN,OAAQ,uBACZ,EACA,CACI,IAAK,gBACL,KAAM,yCACN,OAAQ,uBACZ,EACA,CACI,IAAK,gBACL,KAAM,qCACN,OAAQ,uBACZ,EACA,CACI,IAAK,iBACL,KAAM,sBACN,OAAQ,gBACZ,EACA,CACI,IAAK,aACL,KAAM,kBACN,OAAQ,gBACZ,EACA,CACI,IAAK,eACL,KAAM,oBACN,OAAQ,gBACZ,EACA,CACI,IAAK,mBACL,KAAM,wBACN,OAAQ,gBACZ,EACA,CACI,IAAK,iBACL,KAAM,kBACN,OAAQ,gBACZ,EACA,CACI,IAAK,YACL,KAAM,iBACN,OAAQ,gBACZ,EACA,CACI,IAAK,iBACL,KAAM,sBACN,OAAQ,gBACZ,CACJ,ECjFA,EAAK,OAAOA,CAAkB,EAG9B,EAAM,SAAS,QAAU,GACzB,EAAM,SAAS,OAAS,MACxB,EAAM,SAAS,QAAU,GAAK,IAC9B,EAAM,SAAS,gBAAkB,GAMjC,GAAI,GAEJ,EAAS,GAAG,CACR,KAAM,6BACN,QAAS,SAAU,EAAY,CAC3B,KAAM,GAAQ,EAAK,MACnB,EAAQ,CAAK,CACjB,CACJ,CAAC,EAGD,EAAM,aAAa,QAAQ,IACvB,AAAU,GAAA,CAEN,KAAM,GAAe,CAAA,EACrB,SAAO,QAAU,OAAO,OAAO,CAAI,EAAA,EAAO,QAAS,CAAY,EAC1D,EAAU,KAAK,GAChB,GAAO,OAAS,GACZ,IAAK,YACF,EAAO,SAGX,CACX,EACA,AAAS,GACE,QAAQ,OAAO,CAAK,CAEnC,EACA,EAAM,aAAa,SAAS,IACxB,AAAY,GACD,EAAyB,CAAQ,EAE5C,AAAS,GACE,QAAQ,OAAO,CAAK,CAEnC,EAGA,WAAkC,EAAwB,CACtD,MAAO,IAAI,SAAQ,MAAO,EAAS,IAAW,CAC1C,KAAM,GAAO,EAAS,KAChB,EAAS,EAAS,OACxB,GAAI,EAAK,SAAW,MAAQ,EAAK,SAAW,OAAQ,CAChD,EAAU,AAAC,GAAkB,CACzB,AAAG,EAAO,SACN,GAAO,QAAQ,aAAe,GAElC,WAAW,IAAM,CACL,EAAA,EAAM,CAAM,CAAC,CAAA,CACxB,CAAA,EAKC,KAAA,GAAM,GADG,AADuC,GAAY,aAAe,OAC5D,uCAAyC,qFACW,EAAK,uBAAuB,EAAK,sBAAsB,mBAAmB,EAAK,GAAG,IAG3J,WAAW,IAAM,CACb,EAAS,iBAAiB,CAAE,MAAK,KAAM,MAAQ,CAAA,GAChD,GAAG,EACN,MAAA,KAEA,GAAQ,CAAQ,CACpB,CACH,CACL,CCzDA,GAAI,GAIE,EAEN,GAAe,GAAA,EAAM,CAAG"}