{"version":3,"sources":["webpack:///./src/utils/bridge.js","webpack:///./src/pages/share/template/components/OpenTag.vue?67b6","webpack:///src/pages/share/template/components/OpenTag.vue","webpack:///./src/pages/share/template/components/OpenTag.vue?2679","webpack:///./src/pages/share/template/components/OpenTag.vue","webpack:///./src/utils/wx.js","webpack:///./src/utils/utils.js","webpack:///./src/utils/locale.js","webpack:///./src/utils/log.js","webpack:///./src/utils/url.js","webpack:///./src/utils/device.js","webpack:///./src/utils/ext.js","webpack:///./src/pages/share/components/Video.vue?2bb1","webpack:///./src/pages/share/components/Video.vue?8365","webpack:///src/pages/share/components/Video.vue","webpack:///./src/pages/share/components/Video.vue?7bb5","webpack:///./src/pages/share/components/Video.vue","webpack:///./src/utils/get.js","webpack:///./src/utils/crypto.js","webpack:///./src/utils/axios.js","webpack:///./src/utils/toast.js","webpack:///./src/utils/cookie.js","webpack:///./src/pages/share/template/components/OpenTag.vue?89d9"],"names":["count","callNative","name","params","isPromise","window","kwaiying","Promise","reject","Error","resolve","callbackName","callback","data","console","log","result","JSON","stringify","render","_vm","this","_h","$createElement","_c","_self","attrs","openUrl","logType","id","shareKey","wxShareKey","isWexin","wxInitSuccess","staticClass","_t","appId","on","handleErrorFn","handleLaunchFn","_v","$event","openKy","_e","staticRenderFns","props","type","default","components","methods","kylogger","btn_name","mv_id","open","wxOpenHandler","e","pageTag","msg","created","wxSDK","component","axios","defaults","timeout","withCredentials","interceptors","response","use","error","appName","queue","wxInit","method","url","location","href","headers","wx","config","debug","process","timestamp","nonceStr","noncestr","signature","jsApiList","openTagList","ready","i","length","wxShareConfig","share","extlog","updateAppMessageShareData","title","desc","link","imgUrl","success","weblog","collect","templateId","errorMsg","getQuery","search","match","RegExp","deviceInfo","getDeviceInfoSync","defaultLang","isOverseas","paramLang","language","Locale","t","set","lang","Vue","observable","value","onLangChange","newLang","install","vue","prototype","$Locale","$t","args","appendParams","oParams","searchIndex","indexOf","qs","parse","slice","getUrlParam","split","reg","res","substr","decodeURIComponent","getParams","vars","hashes","map","item","key","parseQuery","emptyValue","arr","queryString","entrys","entry","arr1","osName","ua","navigator","userAgent","rules","android","ios","getOSName","rule","test","localStorage","getItem","appRules","qq","kwai","wechat","weibo","qzone","baidu","uc","getAppName","isInKwai","Kwai","inIPhoneX","iOS","MSStream","ratio","devicePixelRatio","screen","width","height","inKsNebula","inKwaiying","getDeviceEnv","env","brower","platform","openOrDownloadKwaiying","schema","delay","device","isWX","isQQ","isIOS","isAndroid","links","IOS","Android","yingyongbao","encodeURIComponent","Windows","getUlink","setTimeout","iframe","document","createElement","style","cssText","src","body","appendChild","removeChild","hidden","get","getExt","filename","list","pop","ref","cover","source","playToggle","played","playVideo","directives","rawName","playing","expression","isFull","required","computed","videoBoxStyle","fontSize","video","pauseVideo","playVideoEnd","timeUpdate","event","mounted","query","baseUrlMap","HOST","hostname","crypto","or","a","b","toString","reverse","L","Math","max","re","push","parseInt","join","xor","q","s","val","charCodeAt","replace","m","n","md5","createUuid","len","v","random","isString","Date","nonce","sign","request","hostKey","path","project","host","toast","text","round","d","innerHTML","getElementsByTagName","removeEle","getElementById","getCookie","objName","temp","arrStr","cookie","unescape"],"mappings":"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","file":"assets/js/chunk-common.d4c3d4dc.js","sourcesContent":["let count = 0;\n\nexport function callNative(name, params, isPromise = true) {\n if (window.kwaiying && window.kwaiying[name]) {\n if (!params && !isPromise) {\n window.kwaiying[name]();\n } else {\n params = params || {};\n if (isPromise) {\n return new Promise((resolve) => {\n const callbackName = `__bridge__${count++}__`;\n params.callback = callbackName;\n window[callbackName] = (data) => {\n console.log('qqqq', data);\n let result = data && data.result ? data.result : data;\n resolve(result)\n delete window[callbackName];\n }\n window.kwaiying[name](JSON.stringify(params));\n })\n } else {\n window.kwaiying[name](JSON.stringify(params));\n }\n }\n } else {\n return Promise.reject(new Error(`method: ${name} not found`));\n }\n}\n\nexport function getEnv() {\n return callNative('getInfoFromKwaiYing', {infoName: 'envConfig'}).then(env => JSON.parse(env)).catch(() => {\n return {\"type\":2,\"url\":\"https://api.kuai-ying.com/\",\"direct\":0};\n })\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.openUrl)?_c('div',{attrs:{\"openUrl\":_vm.openUrl,\"logType\":_vm.logType,\"id\":_vm.id,\"shareKey\":_vm.shareKey,\"wxShareKey\":_vm.wxShareKey}},[(_vm.isWexin && _vm.wxInitSuccess)?[_c('div',{staticClass:\"wx-open-launch-app-block\"},[_c('div',{staticClass:\"slot-wrap\"},[_vm._t(\"default\")],2),_c('wx-open-launch-app',{staticClass:\"launch-btn\",attrs:{\"appid\":_vm.appId,\"extinfo\":_vm.openUrl},on:{\"error\":_vm.handleErrorFn,\"launch\":_vm.handleLaunchFn}},[_c('script',{attrs:{\"type\":\"text/wxtag-template\"}},[_vm._v(\"
\")])])],1)]:_c('div',{on:{\"click\":function($event){return _vm.openKy(_vm.logType)}}},[_vm._t(\"default\")],2)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/.pnpm/babel-loader@8.2.5_li4tts7salxwv3rbqjnooz7t7e/node_modules/babel-loader/lib/index.js!../../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenTag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/.pnpm/babel-loader@8.2.5_li4tts7salxwv3rbqjnooz7t7e/node_modules/babel-loader/lib/index.js!../../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenTag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OpenTag.vue?vue&type=template&id=bd2bdf46&scoped=true&\"\nimport script from \"./OpenTag.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenTag.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OpenTag.vue?vue&type=style&index=0&id=bd2bdf46&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bd2bdf46\",\n null\n \n)\n\nexport default component.exports","/* eslint-disable */\nimport axios from 'axios';\nimport weblog from './log';\nimport { appName } from './device';\n\naxios.defaults.timeout = 5000;\naxios.defaults.withCredentials = true;\n\naxios.interceptors.response.use(\n response => {\n return response;\n },\n error => {\n return Promise.reject(error);\n }\n);\n\nexport const isWexin = appName === 'wechat';\n// 回调队列,预存wx未ready前的调用,ready后执行并置为 null,之后直接执行回调函数\nlet queue = [];\n\nexport async function wxInit() {\n if (!isWexin) {\n return;\n }\n const { data } = await axios({\n method: 'post',\n url: '//tangyuan-api.kwaiying.com/rest/n/kmovie/wx/gzh/js/kyjj/getSignature',\n data: {\n url: location.href,\n },\n headers: { 'Content-Type': 'application/json' },\n });\n\n if (data.result === 1) {\n wx.config({\n debug: process.env.NODE_ENV === 'development',\n appId: 'wx47066ee756824c62',\n timestamp: data.timestamp,\n nonceStr: data.noncestr,\n signature: data.signature,\n jsApiList: [\n 'updateTimelineShareData', // 分享到朋友圈、分享到QQ空间\n 'updateAppMessageShareData', // 分享给朋友、分享到QQ\n 'onMenuShareWeibo', // 分享到腾讯微博\n ],\n openTagList: ['wx-open-launch-app'],\n });\n wx.ready(function() {\n // 有可能会被 ready 2次\n if (!queue) {\n return;\n }\n for (let i = 0; i < queue.length; i++) {\n queue[i](wx);\n }\n queue = null;\n });\n }\n}\n\nlet inited = false;\nexport function wxReady(fn) {\n if (!isWexin) {\n return;\n }\n if (typeof fn !== 'function') {\n throw new Error('wxReady argument is a function');\n }\n if (!inited) {\n wxInit();\n inited = true;\n }\n if (queue) {\n queue.push(fn);\n } else {\n fn(wx);\n }\n}\n\nexport function wxShareConfig(share, pageTag) {\n if (!isWexin) {\n return;\n }\n if (!share) {\n throw new Error('wxShareAsync arguments error')\n }\n\n pageTag = pageTag || '';\n // var extlog = share.extlog;\n delete share.extlog;\n\n wx.ready(function () { //需在用户可能点击分享按钮前就先调用\n wx.updateAppMessageShareData({ \n title: share.title || '快影', // 分享标题\n desc: share.desc || '给你分享了一个好玩的模板,快来体验!', // 分享描述\n link: share.link || location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致\n imgUrl: share.imgUrl || 'https://static.yximgs.com/udata/pkg/kuaiying-frontend-cdn/kuaiying-frontend-csr/kuaiying.ico', // 分享图标\n success: function() {\n // 设置成功\n weblog.collect('CLICK', pageTag, { share: 'success', templateId: this.id });\n },\n error: function(e) {\n weblog.collect('CLICK', pageTag, { share: 'error', errorMsg: e, templateId: this.id });\n }\n })\n }); \n}\n\n","export function storage(key, val) {\n const argsLength = arguments.length;\n try {\n if (argsLength === 1) {\n // 读取数据\n const valStr = localStorage && localStorage.getItem(key);\n return JSON.parse(valStr);\n }\n // 变更数据\n localStorage && localStorage.setItem(key, JSON.stringify(val));\n } catch (err) {\n return {};\n }\n}\n\n// 不完整的模拟node util.format\n// http://git.corp.kuaishou.com/ks/kuaishou-frontend/blob/master/www/mobile/src/static/js/lib/util.js#L218\nfunction _format() {\n const target = arguments[0];\n if (!target || typeof target !== \"string\") {\n return target;\n }\n const replacer = [].splice.call(arguments, 1);\n let index = 0;\n return target.replace(/(%s)/g, function() {\n // eslint-disable-next-line\n return replacer[index] !== undefined ? replacer[index++] : arguments[0];\n });\n}\n\n/**\n * 格式化处理 ksnode-language 字符串中的 %s, ${0} 等占位符\n * 自定义格式化函数, 为什么要自定义?因为有时候字符串里的替换符是%s, 有的时候是${0}, ${0}, 在此统一处理一下\n *\n * @param {Array} args[0]: 要格式化的字符串, args[1] ... args[n] 待替换的变量\n * @return {string} { 格式化后的字符串 }\n */\nexport function ksLanguageFormat(...args) {\n let targetStr = args[0];\n\n if (!targetStr) {\n return \"\";\n }\n\n if (-1 !== targetStr.indexOf(\"%s\")) {\n targetStr = _format.apply(null, args);\n }\n\n for (let i = 1; i < args.length; i++) {\n const replacement = \"${\" + (i - 1) + \"}\";\n if (-1 !== targetStr.indexOf(replacement)) {\n // args[1] 对应的是 ${0}, args[2] 对应的是 ${1}, 依次类推\n // 把所有${0}全部替换为args[1],依次类推\n targetStr = targetStr.split(replacement).join(args[i]);\n }\n }\n\n return targetStr;\n}\n\nexport function numberFloorWan(count) {\n if (count > 9999) {\n // 保留一位就是 10 两位就是100\n count = Math.floor((count / 10000) * 10) / 10 + \"万\";\n }\n return count;\n}\n\nexport function getQuery(name) {\n const search = location.search;\n if (!name || !search) {\n return;\n }\n const result = search.match(new RegExp(`[?&]${name}=([^&]+)`, \"i\"));\n if (result !== null && result.length > 0) {\n // eslint-disable-next-line consistent-return\n return result[1];\n }\n}\n\n/**\n * 固定数字位数为两位\n *\n * @param {number} num 处理前的数字\n * @return {string} { 格式化后的字符串 }\n */\nexport function toFixed(num) {\n return num < 10 ? \"0\" + num : num;\n}\n\n/**\n * 返回本地时间,单位秒\n *\n * @return {string} { 返回本地时间 }\n */\nexport function getLocalTime() {\n return parseInt(new Date().getTime() / 1000, 10);\n}\n\n/**\n * 程序延迟time ms\n *\n * @param {number} time 需要延迟的时间 单位是ms\n */\nexport function sleep(time) {\n return new Promise(resolve => {\n setTimeout(resolve, time);\n });\n}\n\n/**\n * 产生min到max的随机时间,向下舍入\n *\n * @return {number} { min到max的随机时间 }\n */\nexport function random(min = 0, max) {\n return Math.floor(Math.random() * (max - min) + min);\n}\n","import Locale, { t } from '@ky/locale/dist/index';\nimport getDeviceInfoSync from '@ky/sdk/dist/getDeviceInfoSync';\nimport { getQuery } from './utils';\nimport Vue from 'vue';\n\nconst deviceInfo = getDeviceInfoSync();\n\nconsole.log('deviceInfo', deviceInfo);\nconst defaultLang = deviceInfo.isOverseas ? 'en-us' : 'zh-cn';\n\nconst paramLang = getQuery('lang');\nconst language =\n paramLang || deviceInfo.language || defaultLang;\n\n\n console.log('Locale.lang', Locale, t);\nLocale.set(language);\n\n\nconst lang = Vue.observable({ value: Locale.lang });\n\nLocale.onLangChange((newLang) => {\n lang.value = newLang;\n});\n\nLocale.install = function(vue) {\n vue.prototype.$Locale = Locale;\n vue.prototype.$t = (...args) => {\n return t(lang.value, '', ...args)\n };\n};\n\nexport default Locale;\n","import weblog from '@ky/sdk/dist/log/kylogger';\nexport default weblog;\n","import qs from \"qs\";\n\nexport function appendParams(url = \"\", params = {}) {\n let oParams;\n const searchIndex = url.indexOf(\"?\");\n if (searchIndex === -1) {\n oParams = {};\n } else {\n oParams = qs.parse(url.slice(searchIndex + 1));\n url = url.slice(0, searchIndex);\n }\n\n return (\n url +\n \"?\" +\n qs.stringify({\n ...oParams,\n ...params\n })\n );\n}\n\n/**\n * 获取url参数\n * @param {string} name 参数名\n * @return {string} 参数值\n */\nexport function getUrlParam(name) {\n const url = window.location.search.split(\"#\")[0];\n const reg = new RegExp(\"(^|&)\" + name + \"=([^&]*)(&|$)\");\n const res = url.substr(1).match(reg);\n if (res !== null) {\n return decodeURIComponent(res[2]);\n }\n return null;\n}\nexport function getParams(url) {\n url = url || window.location.href;\n const vars = {};\n let hashes = [];\n if (url.indexOf('?') !== -1) {\n hashes = url.slice(url.indexOf('?') + 1).split('&');\n hashes.map((item) => {\n const key = decodeURIComponent(item.split('=')[0]);\n vars[key] = decodeURIComponent(item.split('=')[1]);\n });\n }\n return vars;\n}\n/**\n * 将url中的querystring转换为object\n * @param {String} url 如:a.com/b?c=d&e 或者 a=b&c=\n * @return {Object} 如:{c:'d',e:''} 或者 {a:'b',c:''}\n */\nexport function parseQuery(url = window.location.search, emptyValue = \"\") {\n url = url.split(\"#\")[0];\n const arr = url.split(\"?\");\n const queryString = arr[arr.length - 1];\n const entrys = queryString === url ? [] : queryString.split(\"&\");\n const res = {};\n for (let i = 0; i < entrys.length; i++) {\n const entry = entrys[i];\n const arr1 = entry.split(\"=\");\n\n if (arr1[0]) {\n res[decodeURIComponent(arr1[0])] = decodeURIComponent(\n arr1[1] || emptyValue\n );\n }\n }\n\n return res;\n}\n","import get from './get';\n// pc,ios,android\nexport const osName = (function () {\n const ua = navigator.userAgent;\n const rules = {\n // 平板 暂时只处理ipad\n // pad: /\\biPad\\b/,\n android: /\\bAndroid\\b/,\n ios: /\\b(iPad|iPhone)\\b/\n };\n function getOSName() {\n for (const key in rules) {\n const rule = rules[key];\n if (rule.test(ua)) {\n return key;\n }\n }\n return \"pc\";\n }\n return getOSName();\n})();\n\n/**\n * 当前所在 app名\n * 'wechat' || 'kwai' || 'qq' ...\n */\nexport const appName = (function () {\n // 方便测试\n if (localStorage.getItem(\"debug_mock_kwai\")) {\n return \"kwai\";\n }\n const ua = navigator.userAgent;\n const appRules = {\n qq: /\\bQQ\\b/,\n // 快手app\n kwai: / (Kwai|Kwai_Lite|Kwai_Pro|livemate|ksthanos|ksNebula|kswv)\\//,\n wechat: /\\bMicroMessenger\\b/,\n weibo: /\\bWeibo\\b/,\n qzone: /\\bQzone\\b/,\n // 腾讯浏览服务(Tencent Browser Service) 简称TBS\n // tbs: /\\bTBS\\b/,\n // 手机QQ浏览器\n // qqBrowser: /\\bMQQBrowser\\b/,\n // 手机百度\n baidu: /\\bbaiduboxapp\\b/,\n uc: /\\bUCBrowser\\b/\n };\n /**\n * 获取当前所在 app名\n * return 'wechat' || 'kwai' || 'qq' ...\n */\n function getAppName() {\n for (const key in appRules) {\n const rule = appRules[key];\n if (rule.test(ua)) {\n return key;\n }\n }\n return \"UNKNOWN\";\n }\n return getAppName();\n})();\n\n/**\n * 是否在快手\n * 可以被moke localStorage debug_mock_kwai\n */\nexport const isInKwai = appName === \"kwai\";\n\nexport const isRealInKwai = !!window.Kwai;\n\nexport function inIPhoneX() {\n const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n const ratio = window.devicePixelRatio || 1;\n const screen = {\n width: window.screen.width * ratio,\n height: window.screen.height * ratio\n };\n return iOS && screen.width === 1125 && screen.height === 2436;\n}\n\n// 是否在极速版中\nexport function inKsNebula() {\n return /\\sksNebula\\//.test(navigator.userAgent);\n}\n\n/**\n * 是否在快影端内\n */\nexport function inKwaiying() {\n return /\\kwaiying\\//.test(navigator.userAgent);\n}\n\n/**\n * 检测运行浏览器环境, 支持判断qq内置浏览器环境,微信环境。\n *\n * @param {string} ua 浏览器ua\n * @return {object} env 判断结果\n * @return {string} env.brower 浏览器环境 wx | qq | other\n * @return {string} env.platform 设备环境 IOS | Android | other\n */\n export function getDeviceEnv(ua) {\n const env = {\n brower: '',\n platform: '',\n };\n\n // 检测浏览器环境\n if (/MicroMessenger/i.test(ua)) {\n env.brower = 'wx';\n // eslint-disable-next-line no-else-return\n } else if (/ QQ\\//i.test(ua)) {\n env.brower = 'qq';\n } else {\n env.brower = 'other';\n }\n\n // 检测平台环境\n if (/iP(hone|ad)/.test(ua)) {\n env.platform = 'IOS';\n } else if (/Android/.test(ua)) {\n env.platform = 'Android';\n } else if (/Windows/.test(ua)) {\n env.platform = 'Windows';\n } else {\n env.platform = 'other';\n }\n\n return env;\n}\n\n// 获取下载快影的url\nexport function downloadKYUrl() {\n const os = getDeviceEnv('platform');\n const isMobile = /Mobile/i.test(navigator.userAgent);\n const isWeChat = /MicroMessenger/i.test(navigator.userAgent);\n const iOSDownloadUrl = 'https://itunes.apple.com/cn/app/id1195860596';\n const AndroidDownloadUrl = isMobile\n ? 'market://details?id=com.kwai.videoeditor'\n : 'https://www.kuaishou.com/kuaiying';\n // 应用宝下载地址\n const yingyongbaoDownloadUrl = 'https://a.app.qq.com/o/simple.jsp?pkgname=com.kwai.videoeditor';\n // eslint-disable-next-line no-nested-ternary\n return isWeChat ? yingyongbaoDownloadUrl : os === 'IOS' ? iOSDownloadUrl : AndroidDownloadUrl;\n}\n\n\n/**\n * 下载或者唤醒快影app\n * TODO: safari唤醒存在bug\n *\n * @return {promise}\n */\nexport function openOrDownloadKwaiying(schema, delay = 2000) {\n const ua = navigator.userAgent;\n const device = getDeviceEnv(ua);\n const isWX = device.brower === 'wx';\n const isQQ = device.brower === 'qq';\n const isIOS = device.platform === 'IOS';\n const isAndroid = device.platform === 'Android';\n const links = {\n IOS: 'https://itunes.apple.com/cn/app/id1195860596',\n // 实时获取\n Android: '',\n // 应用宝下载链接\n yingyongbao: `https://a.app.qq.com/o/simple.jsp?pkgname=com.kwai.videoeditor${\n schema ? '&android_schema=' + encodeURIComponent(schema) : ''\n }`,\n Windows: 'https://www.kuaishou.com/kuaiying',\n };\n const getUlink = (schema) => {\n if (!isIOS) {\n return schema;\n }\n return 'https://ky.kuaishou.com/schema?' + encodeURIComponent(schema);\n }\n // 异步发送,避免log发送丢失\n setTimeout(() => {\n // ios qq/wx环境直接跳商店,无法唤醒\n if (isIOS && (isWX || isQQ)) {\n window.location.href = links.IOS;\n // android wx环境进入应用宝,无法唤醒\n } else if (isAndroid && isWX) {\n window.location.href = links.yingyongbao;\n } else {\n let url = schema;\n if (schema && typeof schema === 'string') {\n url = getUlink(schema);\n } else {\n url = getUlink(isIOS ? 'kwaiying://' : 'kwaiying://main');\n }\n let iframe;\n if (isIOS) {\n window.location.href = url;\n return;\n } else {\n iframe = document.createElement('iframe');\n iframe.width = 0;\n iframe.height = 0;\n iframe.style.cssText = 'position:absolute;top:-9999px;left:-9999px';\n iframe.src = url;\n document.body.appendChild(iframe);\n }\n // 某些浏览器下,location前置请求导致跳转无效,如小米原生浏览器。\n setTimeout(async () => {\n iframe && document.body.removeChild(iframe);\n if (document.hidden) {\n return;\n }\n if (device.platform === 'Android' && !isWX && !isQQ) {\n try {\n const { data } = await get('/rest/n/kmovie/app/h5/share/download/getUrl');\n const { result, url } = data;\n result === 1 && (links.Android = url);\n } catch (e) {\n // error 时,默认采用windows下载地址\n }\n }\n window.location.href = isQQ ? links.yingyongbao : links[device.platform] || links.Windows;\n }, delay);\n }\n }, 500);\n}\n\n","export default function getExt(filename = '') {\n const list = filename.split('.');\n if (list.length < 2) {\n return '';\n }\n return list.pop();\n}","export * from \"-!../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/.pnpm/less-loader@5.0.0_less@3.13.1/node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=style&index=0&id=987b33a0&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-box\",style:(_vm.videoBoxStyle)},[_c('video',{ref:\"video\",attrs:{\"width\":\"100%\",\"height\":\"100%\",\"type\":\"video/mp4\",\"preload\":\"auto\",\"poster\":_vm.cover,\"src\":_vm.source,\"x5-playsinline\":\"\",\"playsinline\":\"\",\"webkit-playsinline\":\"\"},on:{\"click\":_vm.playToggle}}),(_vm.cover && !_vm.played)?_c('img',{staticClass:\"video-play-cover\",attrs:{\"src\":_vm.cover,\"type\":\"image/webp\"},on:{\"click\":_vm.playVideo}}):_vm._e(),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.playing),expression:\"!playing\"}],staticClass:\"video-play-btn\",on:{\"click\":_vm.playVideo}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/.pnpm/babel-loader@8.2.5_li4tts7salxwv3rbqjnooz7t7e/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/.pnpm/babel-loader@8.2.5_li4tts7salxwv3rbqjnooz7t7e/node_modules/babel-loader/lib/index.js!../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Video.vue?vue&type=template&id=987b33a0&scoped=true&\"\nimport script from \"./Video.vue?vue&type=script&lang=js&\"\nexport * from \"./Video.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Video.vue?vue&type=style&index=0&id=987b33a0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"987b33a0\",\n null\n \n)\n\nexport default component.exports","import crypto from './crypto';\nimport axios from 'axios';\n\n// get请求\nexport default function get(url, query = {}) {\n const baseUrlMap = process.env.KyApi;\n const HOST = window.location.hostname.indexOf('kittyfunny.com') > -1 ? \"https://g-api.kittyfunny.com\" : (baseUrlMap.HOST || 'https://api.kmovie.gifshow.com');\n console.log('baseUrlMap==', HOST);\n return axios({\n method: 'get',\n url: `${HOST}${url}`,\n params: {\n ...query,\n ...crypto('yiuhjkbvhbjisjchgdnx38uejd'),\n },\n });\n }","/**\n * @file 笑番接口加密过程\n *\n * 统一使用commonjs规范,适配nodejs端使用。\n */\nimport md5 from 'blueimp-md5';\n\n/**\n * 或运算操作,适配32位以上int\n *\n * @param {number} a\n * @param {number} b\n * @return {number}\n */\nfunction or(a, b) {\n a = a\n .toString(2)\n .split('')\n .reverse();\n b = b\n .toString(2)\n .split('')\n .reverse();\n const L = Math.max(a.length, b.length);\n const re = [];\n for (let i = 0; i < L; i++) {\n re.push(+a[i] || +b[i] ? 1 : 0);\n }\n\n return parseInt(re.reverse().join(''), 2);\n}\n\n/**\n * 异或运算,适配32位以上int\n *\n * @param {*} a\n * @param {*} b\n * @return {number}\n */\nfunction xor(a, b) {\n a = a\n .toString(2)\n .split('')\n .reverse();\n b = b\n .toString(2)\n .split('')\n .reverse();\n const L = Math.max(a.length, b.length);\n const re = [];\n for (let i = 0; i < L; i++) {\n // eslint-disable-next-line no-nested-ternary\n re.push(a[i] && b[i] ? (a[i] !== b[i] ? 1 : 0) : a[i] || b[i]);\n }\n return parseInt(re.reverse().join(''), 2);\n}\n\n/**\n * 运算过程1\n *\n * @return {number}\n */\nfunction q(s) {\n return +s\n .split('')\n .map((val) => val.charCodeAt().toString(16))\n .join('')\n .replace(/[a-f]/gi, '')\n .substr(0, 16);\n}\n\n/**\n * 运算过程2\n *\n * @param {number} s\n * @param {number} t\n * @return {number}\n */\nfunction m(s, t) {\n return or(xor(s, t), s);\n}\n\n/**\n * 运算过程3\n *\n * @return {string}\n */\nfunction n(a, b) {\n return md5(xor(a, b));\n}\n\n/**\n * 创建指定位数随机数\n *\n * @param {number} 随机数长度\n * @return {number} 随机数\n */\nfunction createUuid(len) {\n let v = Math.random()\n .toString()\n .slice(-len);\n // 避免首位为0\n if (v[0] === '0') {\n v = '1' + v.slice(1);\n }\n return +v;\n}\n\n/**\n * 加密入口函数\n *\n * @param {boolean} isString\n * @return {string|object} 函数\n */\nfunction crypto(s, isString = false) {\n const timestamp = +new Date();\n const nonce = createUuid(12);\n const a = q(s);\n const b = m(a, timestamp);\n const sign = n(+nonce, b);\n\n return isString\n ? `timestamp=${timestamp}&nonce=${nonce}&sign=${sign}`\n : {\n timestamp,\n nonce,\n sign,\n };\n}\n\n/**\n * @exports {function}\n */\nexport default crypto;\n","import axios from \"axios\";\n\nconst baseUrlMap = process.env;\naxios.defaults.timeout = 100000;\naxios.defaults.withCredentials = true;\n\naxios.interceptors.response.use(\n response => {\n return response && response.data;\n },\n error => {\n return Promise.reject(error);\n }\n);\n\naxios.interceptors.request.use(config => {\n const { url } = config;\n const [hostKey, path] = url.split(\"::\");\n const project = baseUrlMap[hostKey];\n if (project) {\n const host = window.location.hostname.indexOf('kittyfunny.com') > -1 ? \"https://g-api.kittyfunny.com\" : project.HOST;\n config.url = `${host}/${path}`;\n } else {\n throw new Error(\"未配置的请求Key,请在Config中添加\");\n }\n return config;\n});\n\nexport default axios;\n","// toast\nexport default function toast(text) {\n if (!text) {\n return;\n }\n const id = `toast_${Math.round(Math.random() * 1000000)}`\n const d = document.createElement('div');\n d.id = id;\n d.innerHTML = `
${text}
`;\n d.style.cssText = `\n z-index: 99999;\n font-size: 0.26rem;\n position: fixed;\n top: 300px;\n left: 0;\n right: 0;\n color: #fff;\n display: flex;\n justify-content: center;\n animation: 0.12s ease-out forwards showToast;\n `;\n document.getElementsByTagName('body')[0].appendChild(d);\n setTimeout(() => {\n const removeEle = document.getElementById(id);\n removeEle.style.cssText = `\n ${removeEle.style.cssText}\n animation: 0.12s ease-in forwards hideToast;\n `;\n setTimeout(() => {\n document.body.removeChild(removeEle);\n }, 150)\n }, 5000);\n}\n","/* eslint-disable */\n/**\n * cookie操作库\n */\n\n\nexport function getCookie(objName) {\n // 获取指定名称的cookie的值\n var arrStr = document.cookie.split('; ');\n var temp;\n for (var i = 0; i < arrStr.length; i++) {\n temp = arrStr[i].split('=');\n if (temp[0] == objName) {\n return unescape(temp[1] || '');\n }\n }\n return '';\n}\n// 设置cookie, 如setCookie('abc', 'value', {\n// path: '/',\n// expires: 3, // expires 当为数字时单位为天, 也可以传UTC string, 默认为session级别\n// httpOnly: false\n// secure: false\n// domain: 'xxx'\n// })\n// refer from: https://github.com/js-cookie/js-cookie\nexport function setCookie(key, value, attributes) {\n attributes = extend({\n path: '/'\n }, attributes);\n\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n }\n\n // We're using \"expires\" because \"max-age\" is not supported by IE\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n value = encodeURIComponent(String(value))\n .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n key = encodeURIComponent(String(key));\n key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n key = key.replace(/[\\(\\)]/g, escape);\n\n var stringifiedAttributes = '';\n\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n stringifiedAttributes += '; ' + attributeName;\n if (attributes[attributeName] === true) {\n continue;\n }\n stringifiedAttributes += '=' + attributes[attributeName];\n }\n document.cookie = key + '=' + value + stringifiedAttributes;\n}\n\n","export * from \"-!../../../../../node_modules/.pnpm/mini-css-extract-plugin@0.9.0_webpack@4.46.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../../node_modules/.pnpm/css-loader@3.6.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/.pnpm/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../../node_modules/.pnpm/less-loader@5.0.0_less@3.13.1/node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../../node_modules/.pnpm/cache-loader@4.1.0_webpack@4.46.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/.pnpm/vue-loader@15.9.6_gatk5af66tkp4u477wdwpktkvu/node_modules/vue-loader/lib/index.js??vue-loader-options!./OpenTag.vue?vue&type=style&index=0&id=bd2bdf46&scoped=true&lang=less&\""],"sourceRoot":""}