砸蛋和转盘
BIN
h5/smash-golden-egg/assets/common/waky5_coin.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
h5/smash-golden-egg/assets/common/waky5_loading.gif
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
h5/smash-golden-egg/assets/common/waky5_logo.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
BIN
h5/smash-golden-egg/assets/common/yumi_coin.png
Normal file
|
After Width: | Height: | Size: 708 KiB |
65
h5/smash-golden-egg/css/app_local.css
Normal file
1
h5/smash-golden-egg/css/ar.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.ar{direction:rtl}html.ar #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_eecabf.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/en.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.en #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_596491.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/id.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.id #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_dc3d38.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
7
h5/smash-golden-egg/css/local_fixes.css
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#EggsIndex .canvasBox canvas {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
1
h5/smash-golden-egg/css/pt.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.pt #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_90a4fa.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/ru.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.ru #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_596491.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/tr.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.tr #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_4cbe32.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/vi.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.vi #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_90a4fa.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
1
h5/smash-golden-egg/css/zh.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html.zh #EggsIndex::before{content:"";display:block;width:3.2rem;height:1.26rem;background:url(../img/titleBg_90a4fa.png) no-repeat;background-size:100% 100%;margin:0 auto .05rem;position:relative;z-index:10}
|
||||||
BIN
h5/smash-golden-egg/img/balanceTag_68538b.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
h5/smash-golden-egg/img/dayRankPageBg_94653f.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
h5/smash-golden-egg/img/goldenEgg_fallback.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
h5/smash-golden-egg/img/homeBg_fd3955.png
Normal file
|
After Width: | Height: | Size: 288 KiB |
BIN
h5/smash-golden-egg/img/lotteryBtn1_50f8bb.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
h5/smash-golden-egg/img/lotteryBtn2_07b43e.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
h5/smash-golden-egg/img/lotteryBtn3_5e7bef.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
h5/smash-golden-egg/img/rewardBg1_4bccd2.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
h5/smash-golden-egg/img/titleBg_4cbe32.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
h5/smash-golden-egg/img/titleBg_596491.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
h5/smash-golden-egg/img/titleBg_90a4fa.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
h5/smash-golden-egg/img/titleBg_dc3d38.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
h5/smash-golden-egg/img/titleBg_eecabf.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
49
h5/smash-golden-egg/index.html
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
|
||||||
|
/>
|
||||||
|
<meta name="format-detection" content="telephone=no,email=no" />
|
||||||
|
<meta http-equiv="pragma" content="no-cache" />
|
||||||
|
<meta http-equiv="cache-control" content="no-cache" />
|
||||||
|
<meta http-equiv="expires" content="0" />
|
||||||
|
<title></title>
|
||||||
|
<script>
|
||||||
|
;(function (doc, win) {
|
||||||
|
var docEl = doc.documentElement,
|
||||||
|
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||||
|
recalc = function () {
|
||||||
|
var clientWidth = docEl.clientWidth
|
||||||
|
if (!clientWidth) return
|
||||||
|
var size = 100 * (Math.min(clientWidth, 750) / 750)
|
||||||
|
docEl.style.fontSize = size + 'px'
|
||||||
|
}
|
||||||
|
if (!doc.addEventListener) return
|
||||||
|
win.addEventListener(resizeEvt, recalc, false)
|
||||||
|
doc.addEventListener('DOMContentLoaded', recalc, false)
|
||||||
|
})(document, window)
|
||||||
|
</script>
|
||||||
|
<script src="js/env.js?v=2026051508"></script>
|
||||||
|
<script src="vendor/axios.min.js"></script>
|
||||||
|
<script src="vendor/vue.runtime.min.js"></script>
|
||||||
|
<script src="vendor/vuex.min.js"></script>
|
||||||
|
<script src="vendor/vue-router.min.js"></script>
|
||||||
|
<script src="vendor/vue-lazyload.js"></script>
|
||||||
|
<script src="vendor/svga.lite.min.js"></script>
|
||||||
|
<script src="js/api_bridge.js?v=2026051508"></script>
|
||||||
|
<script>
|
||||||
|
_hash = {"arcss":"5ad945a2","arjs":"dfdcd2f3","encss":"f82f3966","enjs":"4449b2e0","idcss":"dd3e2a9c","idjs":"e5c1c281","ptcss":"6bdd5fc3","ptjs":"d65c8bb1","rucss":"32a5b8c8","rujs":"5a9689d5","trcss":"92877d34","trjs":"7bf64c5a","vendorjs":"9d74e93a","vicss":"8395579b","vijs":"295b368f","zhcss":"c8078dd0","zhjs":"3049d299"}
|
||||||
|
</script>
|
||||||
|
<link href="css/app_local.css?v=2026051508" rel="stylesheet"><link href="css/local_fixes.css?v=2026051508" rel="stylesheet"></head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script>
|
||||||
|
if (!/[?&]lang=/.test(window.location.search)) {
|
||||||
|
window.history.replaceState(null, "", window.location.pathname + "?lang=en" + window.location.hash)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script>!function(e){function r(r){for(var n,l,i=r[0],f=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var f=t[i];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={runtime:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="";var i=window.webpackJsonp=window.webpackJsonp||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=f;t()}([]);</script><script>(window.webpackJsonp=window.webpackJsonp||[]).push([["local"],{KrUS:function(t,e,n){const o=location.host;function s(t){const e={};return window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,(t,n,o)=>{e[n]=o}),t&&void 0!==e[t]?decodeURIComponent(e[t]):null}window.__area={TW:"tw",VI:"vi",VN:"vn",ID:"id",AR:"ar",IN:"in"};const i=/localhost/i.test(o)||/\d+\.\d+\.\d+\.\d+/.test(o),a=/^t(est)?\./i.test(o),c=null!==s("test");window._test=i||a||c,window._localTest=i,window._platform=function(){let t="pc";const e=navigator.userAgent;return e.match(/iPhone|iPod|ios|iPad/i)?t="ios":e.match(/Android/i)&&(t="android"),t}(),window._app="chatapp",window._area="tw";let d=["en","zh","vi","id","ar","tr","ru","pt"];const l=function(){const t=o.split("."),e=t.length;return e>=2&&!/:\d+$/.test(o)?(t[e-2]+"."+t[e-1]).toLowerCase():o}();if("undefined"!=typeof hosts){const t=hosts[l]||hosts[btoa(l)]||"";if(t){const e=t.split(",");3==e.length&&-1!=d.indexOf(e[2])&&(_app=e[0],_area=e[1],d=[e[2]].concat(d))}}void 0!==window._env&&(_env=Object.assign({},_env),_env.app&&(_app=_env.app),_env.area&&(_area=_env.area),_env.lang&&(d=[_env.lang].concat(d)),void 0!==_env.test&&(_test=_env.test));let r=d[0];const p=(s("lang")||"en").replace("in","id")||navigator.language||"",w=p.toLowerCase(),_=w.split("-"),u=-1!=d.indexOf(w),h=-1!=d.indexOf(_[0]);(u||h)&&(r=p),window.__lang=r;const v=u?w:h?_[0]:d[0];window._local=v,window._host=l;let m="",g="";if("undefined"!=typeof _hash){const t=v+"css";void 0!==_hash[t]&&(m="?"+_hash[t]),g="?"+_hash[v+"js"]}const f=document.documentElement;if(f.className=f.className?f.className+" "+v:v,m){const t=document.createElement("link");t.href=`css/${v}.css${m}`,t.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(t)}document.write(`<script type="text/javascript" src="js/${v}.js${g}"><\/script>`),window._debug=false}},[["KrUS","runtime"]]]);</script><script src="js/vendor.js?9d74e93a"></script><script src="js/app_local.js?v=2026051508"></script></body>
|
||||||
|
</html>
|
||||||
49
h5/smash-golden-egg/index_local.html
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
|
||||||
|
/>
|
||||||
|
<meta name="format-detection" content="telephone=no,email=no" />
|
||||||
|
<meta http-equiv="pragma" content="no-cache" />
|
||||||
|
<meta http-equiv="cache-control" content="no-cache" />
|
||||||
|
<meta http-equiv="expires" content="0" />
|
||||||
|
<title></title>
|
||||||
|
<script>
|
||||||
|
;(function (doc, win) {
|
||||||
|
var docEl = doc.documentElement,
|
||||||
|
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
|
||||||
|
recalc = function () {
|
||||||
|
var clientWidth = docEl.clientWidth
|
||||||
|
if (!clientWidth) return
|
||||||
|
var size = 100 * (Math.min(clientWidth, 750) / 750)
|
||||||
|
docEl.style.fontSize = size + 'px'
|
||||||
|
}
|
||||||
|
if (!doc.addEventListener) return
|
||||||
|
win.addEventListener(resizeEvt, recalc, false)
|
||||||
|
doc.addEventListener('DOMContentLoaded', recalc, false)
|
||||||
|
})(document, window)
|
||||||
|
</script>
|
||||||
|
<script src="js/env.js?v=2026051508"></script>
|
||||||
|
<script src="vendor/axios.min.js"></script>
|
||||||
|
<script src="vendor/vue.runtime.min.js"></script>
|
||||||
|
<script src="vendor/vuex.min.js"></script>
|
||||||
|
<script src="vendor/vue-router.min.js"></script>
|
||||||
|
<script src="vendor/vue-lazyload.js"></script>
|
||||||
|
<script src="vendor/svga.lite.min.js"></script>
|
||||||
|
<script src="js/api_bridge.js?v=2026051508"></script>
|
||||||
|
<script>
|
||||||
|
_hash = {"arcss":"5ad945a2","arjs":"dfdcd2f3","encss":"f82f3966","enjs":"4449b2e0","idcss":"dd3e2a9c","idjs":"e5c1c281","ptcss":"6bdd5fc3","ptjs":"d65c8bb1","rucss":"32a5b8c8","rujs":"5a9689d5","trcss":"92877d34","trjs":"7bf64c5a","vendorjs":"9d74e93a","vicss":"8395579b","vijs":"295b368f","zhcss":"c8078dd0","zhjs":"3049d299"}
|
||||||
|
</script>
|
||||||
|
<link href="css/app_local.css?v=2026051508" rel="stylesheet"><link href="css/local_fixes.css?v=2026051508" rel="stylesheet"></head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script>
|
||||||
|
if (!/[?&]lang=/.test(window.location.search)) {
|
||||||
|
window.history.replaceState(null, "", window.location.pathname + "?lang=en" + window.location.hash)
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script>!function(e){function r(r){for(var n,l,i=r[0],f=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var f=t[i];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={runtime:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="";var i=window.webpackJsonp=window.webpackJsonp||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=f;t()}([]);</script><script>(window.webpackJsonp=window.webpackJsonp||[]).push([["local"],{KrUS:function(t,e,n){const o=location.host;function s(t){const e={};return window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,(t,n,o)=>{e[n]=o}),t&&void 0!==e[t]?decodeURIComponent(e[t]):null}window.__area={TW:"tw",VI:"vi",VN:"vn",ID:"id",AR:"ar",IN:"in"};const i=/localhost/i.test(o)||/\d+\.\d+\.\d+\.\d+/.test(o),a=/^t(est)?\./i.test(o),c=null!==s("test");window._test=i||a||c,window._localTest=i,window._platform=function(){let t="pc";const e=navigator.userAgent;return e.match(/iPhone|iPod|ios|iPad/i)?t="ios":e.match(/Android/i)&&(t="android"),t}(),window._app="chatapp",window._area="tw";let d=["en","zh","vi","id","ar","tr","ru","pt"];const l=function(){const t=o.split("."),e=t.length;return e>=2&&!/:\d+$/.test(o)?(t[e-2]+"."+t[e-1]).toLowerCase():o}();if("undefined"!=typeof hosts){const t=hosts[l]||hosts[btoa(l)]||"";if(t){const e=t.split(",");3==e.length&&-1!=d.indexOf(e[2])&&(_app=e[0],_area=e[1],d=[e[2]].concat(d))}}void 0!==window._env&&(_env=Object.assign({},_env),_env.app&&(_app=_env.app),_env.area&&(_area=_env.area),_env.lang&&(d=[_env.lang].concat(d)),void 0!==_env.test&&(_test=_env.test));let r=d[0];const p=(s("lang")||"en").replace("in","id")||navigator.language||"",w=p.toLowerCase(),_=w.split("-"),u=-1!=d.indexOf(w),h=-1!=d.indexOf(_[0]);(u||h)&&(r=p),window.__lang=r;const v=u?w:h?_[0]:d[0];window._local=v,window._host=l;let m="",g="";if("undefined"!=typeof _hash){const t=v+"css";void 0!==_hash[t]&&(m="?"+_hash[t]),g="?"+_hash[v+"js"]}const f=document.documentElement;if(f.className=f.className?f.className+" "+v:v,m){const t=document.createElement("link");t.href=`css/${v}.css${m}`,t.rel="stylesheet",document.getElementsByTagName("head")[0].appendChild(t)}document.write(`<script type="text/javascript" src="js/${v}.js${g}"><\/script>`),window._debug=false}},[["KrUS","runtime"]]]);</script><script src="js/vendor.js?9d74e93a"></script><script src="js/app_local.js?v=2026051508"></script></body>
|
||||||
|
</html>
|
||||||
509
h5/smash-golden-egg/js/api_bridge.js
Normal file
@ -0,0 +1,509 @@
|
|||||||
|
;(function () {
|
||||||
|
var defaultGatewayBase = 'http://127.0.0.1:1100'
|
||||||
|
var defaultGatewayPrefix = '/go'
|
||||||
|
var defaultLocalGoBase = 'http://127.0.0.1:2900'
|
||||||
|
var hostApiBaseMap = {
|
||||||
|
'h5.haiyihy.com': 'https://jvapi.haiyihy.com/go'
|
||||||
|
}
|
||||||
|
var defaultSysOrigin = 'LIKEI'
|
||||||
|
var defaultReqClient = 'Android'
|
||||||
|
var defaultReqAppIntel = {
|
||||||
|
version: '1.0.0',
|
||||||
|
build: '1',
|
||||||
|
model: 'SM-G9550',
|
||||||
|
sysVersion: '9',
|
||||||
|
channel: 'Google'
|
||||||
|
}
|
||||||
|
var defaultReqImei = '8fa54d728ab449e04f9292329ed44bda'
|
||||||
|
var defaultReqVersion = 'V2'
|
||||||
|
var legacyGoldImage = 'assets/common/yumi_coin.png'
|
||||||
|
var legacySemanticRoutes = {
|
||||||
|
'Action/TreasureHunt.getPrizeList': '/h5/smash-golden-egg/config',
|
||||||
|
'Action/TreasureHunt.startHunt': '/h5/smash-golden-egg/draw',
|
||||||
|
'Action/TreasureHunt.getMyHuntRecord': '/h5/smash-golden-egg/records',
|
||||||
|
'Action/TreasureHunt.getHuntRecord': '/h5/smash-golden-egg/notices',
|
||||||
|
'Action/TreasureHunt.getDayRank': '/h5/smash-golden-egg/rank/day'
|
||||||
|
}
|
||||||
|
var semanticLegacyActions = {
|
||||||
|
'/h5/smash-golden-egg/config': 'Action/TreasureHunt.getPrizeList',
|
||||||
|
'/h5/smash-golden-egg/draw': 'Action/TreasureHunt.startHunt',
|
||||||
|
'/h5/smash-golden-egg/records': 'Action/TreasureHunt.getMyHuntRecord',
|
||||||
|
'/h5/smash-golden-egg/notices': 'Action/TreasureHunt.getHuntRecord',
|
||||||
|
'/h5/smash-golden-egg/rank/day': 'Action/TreasureHunt.getDayRank'
|
||||||
|
}
|
||||||
|
var sysOriginAliases = {
|
||||||
|
ATYOU: 'LIKEI',
|
||||||
|
YUMI: 'LIKEI',
|
||||||
|
SOULLA: 'LIKEI',
|
||||||
|
'4PARTY': 'LIKEI',
|
||||||
|
FOURPARTY: 'LIKEI'
|
||||||
|
}
|
||||||
|
|
||||||
|
function readParams() {
|
||||||
|
var pairs = []
|
||||||
|
if (window.location.search) pairs.push(window.location.search.slice(1))
|
||||||
|
var hash = window.location.hash || ''
|
||||||
|
var hashQueryIndex = hash.indexOf('?')
|
||||||
|
if (hashQueryIndex >= 0) pairs.push(hash.slice(hashQueryIndex + 1))
|
||||||
|
|
||||||
|
var params = {}
|
||||||
|
pairs.forEach(function (query) {
|
||||||
|
query.split('&').forEach(function (item) {
|
||||||
|
if (!item) return
|
||||||
|
var index = item.indexOf('=')
|
||||||
|
var key = index >= 0 ? item.slice(0, index) : item
|
||||||
|
var value = index >= 0 ? item.slice(index + 1) : ''
|
||||||
|
try {
|
||||||
|
key = decodeURIComponent(key)
|
||||||
|
value = decodeURIComponent(value.replace(/\+/g, ' '))
|
||||||
|
} catch (error) {}
|
||||||
|
if (key) params[key] = value
|
||||||
|
})
|
||||||
|
})
|
||||||
|
return params
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeBase(value) {
|
||||||
|
return String(value || '').replace(/\/+$/, '')
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizePrefix(value) {
|
||||||
|
value = String(value || '')
|
||||||
|
if (!value) return ''
|
||||||
|
if (value.charAt(0) !== '/') value = '/' + value
|
||||||
|
return value.replace(/\/+$/, '')
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveHostApiBase() {
|
||||||
|
var host = ''
|
||||||
|
try {
|
||||||
|
host = String(window.location.hostname || '').toLowerCase()
|
||||||
|
} catch (error) {}
|
||||||
|
return hostApiBaseMap[host] || ''
|
||||||
|
}
|
||||||
|
|
||||||
|
function storageGet(storage, key) {
|
||||||
|
try {
|
||||||
|
return storage.getItem(key) || ''
|
||||||
|
} catch (error) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function storageSet(storage, key, value) {
|
||||||
|
try {
|
||||||
|
if (value) storage.setItem(key, value)
|
||||||
|
} catch (error) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
function bearer(value) {
|
||||||
|
value = String(value || '').trim()
|
||||||
|
if (!value) return ''
|
||||||
|
return /^bearer\s+/i.test(value) ? value : 'Bearer ' + value
|
||||||
|
}
|
||||||
|
|
||||||
|
function bearerToken(value) {
|
||||||
|
return String(value || '').replace(/^bearer\s+/i, '').trim()
|
||||||
|
}
|
||||||
|
|
||||||
|
function sameOrigin(rawUrl) {
|
||||||
|
try {
|
||||||
|
return new URL(rawUrl, window.location.href).origin === window.location.origin
|
||||||
|
} catch (error) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseHeaderPairs(value) {
|
||||||
|
var result = {}
|
||||||
|
String(value || '').split(';').forEach(function (item) {
|
||||||
|
var index = item.indexOf('=')
|
||||||
|
if (index < 0) return
|
||||||
|
var key = item.slice(0, index).trim()
|
||||||
|
var val = item.slice(index + 1).trim()
|
||||||
|
if (key) result[key] = val
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseReqSysOrigin(value) {
|
||||||
|
var result = { origin: '', originChild: '' }
|
||||||
|
value = String(value || '').trim()
|
||||||
|
if (!value) return result
|
||||||
|
if (value.indexOf('=') === -1) {
|
||||||
|
result.origin = value
|
||||||
|
result.originChild = value
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
value.split(';').forEach(function (item) {
|
||||||
|
var index = item.indexOf('=')
|
||||||
|
if (index < 0) return
|
||||||
|
var key = item.slice(0, index).trim().toLowerCase()
|
||||||
|
var val = item.slice(index + 1).trim()
|
||||||
|
if (key === 'origin') result.origin = val
|
||||||
|
if (key === 'originchild' || key === 'origin_child') result.originChild = val
|
||||||
|
})
|
||||||
|
if (result.origin && !result.originChild) result.originChild = result.origin
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeSysOrigin(value) {
|
||||||
|
value = String(value || '').trim()
|
||||||
|
if (!value) return ''
|
||||||
|
if (value.indexOf('=') >= 0) value = parseReqSysOrigin(value).origin
|
||||||
|
value = String(value || '').trim().toUpperCase()
|
||||||
|
return sysOriginAliases[value] || value
|
||||||
|
}
|
||||||
|
|
||||||
|
function decodeBase64(value) {
|
||||||
|
value = String(value || '').replace(/-/g, '+').replace(/_/g, '/')
|
||||||
|
while (value.length % 4) value += '='
|
||||||
|
try {
|
||||||
|
return decodeURIComponent(escape(window.atob(value)))
|
||||||
|
} catch (error) {
|
||||||
|
try {
|
||||||
|
return window.atob(value)
|
||||||
|
} catch (innerError) {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function tokenSysOrigin(value) {
|
||||||
|
var token = bearerToken(value)
|
||||||
|
if (!token) return ''
|
||||||
|
|
||||||
|
var payload = ''
|
||||||
|
var dotIndex = token.indexOf('.')
|
||||||
|
if (dotIndex >= 0) {
|
||||||
|
payload = token.slice(dotIndex + 1)
|
||||||
|
} else {
|
||||||
|
payload = token
|
||||||
|
}
|
||||||
|
payload = decodeBase64(payload)
|
||||||
|
if (!payload) return ''
|
||||||
|
|
||||||
|
var parts = payload.split(':')
|
||||||
|
if (parts.length < 3) return ''
|
||||||
|
return normalizeSysOrigin(parts[2])
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeReqClient(value) {
|
||||||
|
value = String(value || '').trim()
|
||||||
|
if (/^ios$/i.test(value)) return 'iOS'
|
||||||
|
if (/^android$/i.test(value)) return 'Android'
|
||||||
|
if (/^h5$/i.test(value)) return 'H5'
|
||||||
|
if (/^ops$/i.test(value)) return 'Ops'
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveReqClient() {
|
||||||
|
return normalizeReqClient(params.reqClient || params.client) || defaultReqClient
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveReqAppIntel() {
|
||||||
|
var raw = parseHeaderPairs(params.reqAppIntel)
|
||||||
|
var version = String(params.appVersion || raw.version || defaultReqAppIntel.version).trim()
|
||||||
|
var build = String(params.buildVersion || params.build || raw.build || defaultReqAppIntel.build).trim()
|
||||||
|
var model = String(params.model || raw.model || defaultReqAppIntel.model).trim()
|
||||||
|
var sysVersion = String(params.sysVersion || raw.sysVersion || defaultReqAppIntel.sysVersion).trim()
|
||||||
|
var channel = String(params.appChannel || params.channel || raw.channel || defaultReqAppIntel.channel).trim()
|
||||||
|
if (!/^[1-9]\d*$/.test(build)) build = defaultReqAppIntel.build
|
||||||
|
return [
|
||||||
|
'version=' + (version || defaultReqAppIntel.version),
|
||||||
|
'build=' + build,
|
||||||
|
'model=' + (model || defaultReqAppIntel.model),
|
||||||
|
'sysVersion=' + (sysVersion || defaultReqAppIntel.sysVersion),
|
||||||
|
'channel=' + (channel || defaultReqAppIntel.channel)
|
||||||
|
].join(';')
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveReqLang() {
|
||||||
|
return String(params.appLanguage || params.lang || navigator.language || 'en').trim() || 'en'
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveReqZone() {
|
||||||
|
var timezone = ''
|
||||||
|
try {
|
||||||
|
timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || ''
|
||||||
|
} catch (error) {}
|
||||||
|
return String(params.reqZone || params.timeZone || timezone || 'Asia/Shanghai').trim()
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveSysOrigin() {
|
||||||
|
return (
|
||||||
|
tokenSysOrigin(explicitToken) ||
|
||||||
|
tokenSysOrigin(explicitAuthorization) ||
|
||||||
|
normalizeSysOrigin(params.sysOrigin || params.originSys || params.reqSysOrigin || window.__SMASH_EGG_SYS_ORIGIN__) ||
|
||||||
|
defaultSysOrigin
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveUID() {
|
||||||
|
return String(params._login_uid || params.uid || params.userId || params.loginUid || '').trim()
|
||||||
|
}
|
||||||
|
|
||||||
|
function setHeader(headers, name, value) {
|
||||||
|
if (!headers || !value) return
|
||||||
|
var exists = false
|
||||||
|
Object.keys(headers).forEach(function (key) {
|
||||||
|
if (String(key).toLowerCase() === String(name).toLowerCase()) exists = true
|
||||||
|
})
|
||||||
|
if (!exists) headers[name] = value
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeHeader(headers, name) {
|
||||||
|
if (!headers) return
|
||||||
|
Object.keys(headers).forEach(function (key) {
|
||||||
|
if (String(key).toLowerCase() === String(name).toLowerCase()) {
|
||||||
|
delete headers[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function ensureQueryParam(url, key, value) {
|
||||||
|
if (!value || url.searchParams.get(key)) return
|
||||||
|
url.searchParams.set(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLegacySmashUrl(url) {
|
||||||
|
return (
|
||||||
|
url.pathname === '/index.php' &&
|
||||||
|
String(url.searchParams.get('action') || '').indexOf('Action/TreasureHunt.') === 0
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function isAppSmashUrl(url) {
|
||||||
|
return (
|
||||||
|
url.pathname.indexOf('/app/smash-golden-egg/') === 0 ||
|
||||||
|
url.pathname.indexOf('/h5/smash-golden-egg/') === 0
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function rewriteLegacyActionToSemanticPath(url) {
|
||||||
|
var action = String(url.searchParams.get('action') || '')
|
||||||
|
var pathname = legacySemanticRoutes[action]
|
||||||
|
if (!pathname) return
|
||||||
|
if (action === 'Action/TreasureHunt.startHunt') {
|
||||||
|
var num = url.searchParams.get('num')
|
||||||
|
if (num && !url.searchParams.get('times')) url.searchParams.set('times', num)
|
||||||
|
url.searchParams.delete('num')
|
||||||
|
}
|
||||||
|
if (action === 'Action/TreasureHunt.getMyHuntRecord') {
|
||||||
|
var start = url.searchParams.get('start')
|
||||||
|
var limit = url.searchParams.get('num')
|
||||||
|
if (start && !url.searchParams.get('offset')) url.searchParams.set('offset', start)
|
||||||
|
if (limit && !url.searchParams.get('limit')) url.searchParams.set('limit', limit)
|
||||||
|
url.searchParams.delete('start')
|
||||||
|
url.searchParams.delete('num')
|
||||||
|
}
|
||||||
|
url.searchParams.delete('action')
|
||||||
|
url.pathname = pathname
|
||||||
|
}
|
||||||
|
|
||||||
|
function rewriteSemanticPathToLegacyAction(url) {
|
||||||
|
var pathname = url.pathname.replace(/^\/app\/smash-golden-egg/, '/h5/smash-golden-egg')
|
||||||
|
var action = semanticLegacyActions[pathname]
|
||||||
|
if (!action) return
|
||||||
|
if (action === 'Action/TreasureHunt.startHunt') {
|
||||||
|
var times = url.searchParams.get('times')
|
||||||
|
if (times && !url.searchParams.get('num')) url.searchParams.set('num', times)
|
||||||
|
url.searchParams.delete('times')
|
||||||
|
}
|
||||||
|
if (action === 'Action/TreasureHunt.getMyHuntRecord') {
|
||||||
|
var offset = url.searchParams.get('offset')
|
||||||
|
var limit = url.searchParams.get('limit')
|
||||||
|
if (offset && !url.searchParams.get('start')) url.searchParams.set('start', offset)
|
||||||
|
if (limit && !url.searchParams.get('num')) url.searchParams.set('num', limit)
|
||||||
|
url.searchParams.delete('offset')
|
||||||
|
url.searchParams.delete('limit')
|
||||||
|
}
|
||||||
|
url.searchParams.set('action', action)
|
||||||
|
url.pathname = '/index.php'
|
||||||
|
}
|
||||||
|
|
||||||
|
function shouldUseSemanticLegacyRoutes() {
|
||||||
|
var explicit = String(params.semanticApi || window.__SMASH_EGG_SEMANTIC_API__ || '').trim().toLowerCase()
|
||||||
|
if (explicit === '1' || explicit === 'true' || explicit === 'yes') return true
|
||||||
|
if (explicit === '0' || explicit === 'false' || explicit === 'no') return false
|
||||||
|
if (resolveHostApiBase()) return true
|
||||||
|
return !!gatewayPrefix
|
||||||
|
}
|
||||||
|
|
||||||
|
function replaceQueryPlaceholders(url) {
|
||||||
|
var uid = resolveUID()
|
||||||
|
var rid = String(params.rid || params.room_id || '').trim()
|
||||||
|
var replacements = {
|
||||||
|
uid: uid,
|
||||||
|
userId: uid,
|
||||||
|
_login_uid: uid,
|
||||||
|
token: explicitToken,
|
||||||
|
rid: rid
|
||||||
|
}
|
||||||
|
Object.keys(replacements).forEach(function (key) {
|
||||||
|
var value = url.searchParams.get(key)
|
||||||
|
if (/^\{[^}]+\}$/.test(value || '')) {
|
||||||
|
url.searchParams.set(key, replacements[key] || '')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolveBase() {
|
||||||
|
var explicitBase = params.gatewayBase || window.__SMASH_EGG_GATEWAY_BASE__ || ''
|
||||||
|
var apiBase = params.apiBase || window.__SMASH_EGG_API_BASE__ || ''
|
||||||
|
var hostBase = resolveHostApiBase()
|
||||||
|
if (explicitBase) return normalizeBase(explicitBase)
|
||||||
|
if (apiBase && !sameOrigin(apiBase)) return normalizeBase(apiBase)
|
||||||
|
if (hostBase) return normalizeBase(hostBase)
|
||||||
|
return explicitToken || explicitAuthorization ? defaultGatewayBase : defaultLocalGoBase
|
||||||
|
}
|
||||||
|
|
||||||
|
function resolvePrefix() {
|
||||||
|
if (params.gatewayBase || window.__SMASH_EGG_GATEWAY_BASE__) {
|
||||||
|
return normalizePrefix(params.gatewayPrefix || window.__SMASH_EGG_GATEWAY_PREFIX__ || defaultGatewayPrefix)
|
||||||
|
}
|
||||||
|
if (gatewayBase === defaultGatewayBase) {
|
||||||
|
return normalizePrefix(params.gatewayPrefix || window.__SMASH_EGG_GATEWAY_PREFIX__ || defaultGatewayPrefix)
|
||||||
|
}
|
||||||
|
return normalizePrefix(params.gatewayPrefix || window.__SMASH_EGG_GATEWAY_PREFIX__ || '')
|
||||||
|
}
|
||||||
|
|
||||||
|
var params = readParams()
|
||||||
|
var explicitAuthorization = bearer(
|
||||||
|
params.Authorization ||
|
||||||
|
params.authorization ||
|
||||||
|
params.auth ||
|
||||||
|
storageGet(window.sessionStorage, 'Authorization') ||
|
||||||
|
storageGet(window.localStorage, 'smashEggAuthorization') ||
|
||||||
|
''
|
||||||
|
)
|
||||||
|
var explicitToken = String(
|
||||||
|
params.token ||
|
||||||
|
storageGet(window.sessionStorage, 'token') ||
|
||||||
|
storageGet(window.localStorage, 'smashEggToken') ||
|
||||||
|
''
|
||||||
|
).trim()
|
||||||
|
|
||||||
|
if (explicitAuthorization && !explicitToken) explicitToken = bearerToken(explicitAuthorization)
|
||||||
|
if (explicitToken && !explicitAuthorization) explicitAuthorization = bearer(explicitToken)
|
||||||
|
|
||||||
|
storageSet(window.sessionStorage, 'Authorization', explicitAuthorization)
|
||||||
|
storageSet(window.sessionStorage, 'token', explicitToken)
|
||||||
|
storageSet(window.localStorage, 'smashEggAuthorization', explicitAuthorization)
|
||||||
|
storageSet(window.localStorage, 'smashEggToken', explicitToken)
|
||||||
|
|
||||||
|
var gatewayBase = normalizeBase(resolveBase())
|
||||||
|
var gatewayPrefix = normalizePrefix(resolvePrefix())
|
||||||
|
|
||||||
|
function rewriteUrl(rawUrl) {
|
||||||
|
if (!gatewayBase) return rawUrl
|
||||||
|
|
||||||
|
var parsed
|
||||||
|
try {
|
||||||
|
parsed = new URL(rawUrl, window.location.href)
|
||||||
|
} catch (error) {
|
||||||
|
return rawUrl
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isLegacySmashUrl(parsed) && !isAppSmashUrl(parsed)) return rawUrl
|
||||||
|
|
||||||
|
var uid = resolveUID()
|
||||||
|
var legacyUrl = isLegacySmashUrl(parsed)
|
||||||
|
var appUrl = isAppSmashUrl(parsed)
|
||||||
|
if (legacyUrl || appUrl) {
|
||||||
|
ensureQueryParam(parsed, 'sysOrigin', resolveSysOrigin())
|
||||||
|
ensureQueryParam(parsed, 'originSys', resolveSysOrigin())
|
||||||
|
ensureQueryParam(parsed, '_login_uid', uid)
|
||||||
|
ensureQueryParam(parsed, 'uid', uid)
|
||||||
|
ensureQueryParam(parsed, 'token', explicitToken)
|
||||||
|
}
|
||||||
|
if (legacyUrl) {
|
||||||
|
if (shouldUseSemanticLegacyRoutes()) rewriteLegacyActionToSemanticPath(parsed)
|
||||||
|
} else if (appUrl && !shouldUseSemanticLegacyRoutes()) {
|
||||||
|
rewriteSemanticPathToLegacyAction(parsed)
|
||||||
|
}
|
||||||
|
replaceQueryPlaceholders(parsed)
|
||||||
|
|
||||||
|
return gatewayBase + gatewayPrefix + parsed.pathname + parsed.search
|
||||||
|
}
|
||||||
|
|
||||||
|
function injectHeaders(config) {
|
||||||
|
config.headers = config.headers || {}
|
||||||
|
if (!gatewayPrefix && !explicitToken && !explicitAuthorization) {
|
||||||
|
removeHeader(config.headers, 'sign')
|
||||||
|
removeHeader(config.headers, 'timestamp')
|
||||||
|
}
|
||||||
|
setHeader(config.headers, 'Authorization', explicitAuthorization)
|
||||||
|
setHeader(config.headers, 'token', explicitToken)
|
||||||
|
setHeader(config.headers, 'req-sys-origin', 'origin=' + resolveSysOrigin() + ';originChild=' + resolveSysOrigin())
|
||||||
|
setHeader(config.headers, 'req-client', resolveReqClient())
|
||||||
|
setHeader(config.headers, 'req-app-intel', resolveReqAppIntel())
|
||||||
|
setHeader(config.headers, 'req-imei', params.reqImei || defaultReqImei)
|
||||||
|
if (gatewayPrefix || explicitToken || explicitAuthorization) {
|
||||||
|
setHeader(config.headers, 'req-version', params.reqVersion || defaultReqVersion)
|
||||||
|
}
|
||||||
|
setHeader(config.headers, 'req-zone', resolveReqZone())
|
||||||
|
setHeader(config.headers, 'req-lang', resolveReqLang())
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeLegacyPrizeImage(item) {
|
||||||
|
if (!item || typeof item !== 'object') return
|
||||||
|
if (item.type === 1 || !item.image) {
|
||||||
|
item.image = legacyGoldImage
|
||||||
|
}
|
||||||
|
if (item.type === 1) {
|
||||||
|
var displayGold = Number(item.price || item.goldAmount || item.value || 0)
|
||||||
|
if ((!item.num || Number(item.num) <= 1) && displayGold > 1) {
|
||||||
|
item.num = displayGold
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeLegacyPrizeList(list) {
|
||||||
|
if (!Array.isArray(list)) return
|
||||||
|
list.forEach(function (item) {
|
||||||
|
normalizeLegacyPrizeImage(item)
|
||||||
|
if (Array.isArray(item && item.prizeList)) normalizeLegacyPrizeList(item.prizeList)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeLegacyResponse(data) {
|
||||||
|
var payload = data && data.response_data
|
||||||
|
if (!payload || typeof payload !== 'object') return
|
||||||
|
normalizeLegacyPrizeList(payload.normalList)
|
||||||
|
normalizeLegacyPrizeList(payload.superList)
|
||||||
|
normalizeLegacyPrizeList(payload.list)
|
||||||
|
normalizeLegacyPrizeList(payload.notices)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.axios && window.axios.interceptors) {
|
||||||
|
window.axios.interceptors.request.use(function (config) {
|
||||||
|
if (config && typeof config.url === 'string') {
|
||||||
|
var nextUrl = rewriteUrl(config.url)
|
||||||
|
if (nextUrl !== config.url) {
|
||||||
|
window.__SMASH_EGG_LAST_API_REWRITE__ = {
|
||||||
|
from: config.url,
|
||||||
|
to: nextUrl,
|
||||||
|
at: Date.now()
|
||||||
|
}
|
||||||
|
config.url = nextUrl
|
||||||
|
injectHeaders(config)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return config
|
||||||
|
})
|
||||||
|
window.axios.interceptors.response.use(function (response) {
|
||||||
|
normalizeLegacyResponse(response && response.data)
|
||||||
|
return response
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
window.__SMASH_EGG_GATEWAY__ = {
|
||||||
|
base: gatewayBase,
|
||||||
|
prefix: gatewayPrefix,
|
||||||
|
reqSysOrigin: function () {
|
||||||
|
return 'origin=' + resolveSysOrigin() + ';originChild=' + resolveSysOrigin()
|
||||||
|
},
|
||||||
|
rewriteUrl: rewriteUrl
|
||||||
|
}
|
||||||
|
})()
|
||||||
1
h5/smash-golden-egg/js/app_local.js
Normal file
1
h5/smash-golden-egg/js/ar.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["ar"],{"0T85":function(e,t,n){"use strict";n.r(t);var a={title:"سحق البيض الذهبي",loading:"جار التحميل...",rank_noData:"لايوجد بيانات",noData:"لايوجد بيانات",roolMsg:"حصل علي",balanceTagText:"رصيد الكونزات",lotteryBtnText:"سحق%n مرة",dayRankTitle:"الفائز الكبير في اليوم",eggRulesTitle:"قاعدة البيض الذهبي",eggRulesMsg:"لعبة تحطيم البيض الذهبي تربح 100٪ ، وفي كل مرة تحطم بيضة ، ستحصل على إحدى المكافآت التالية.",recordPageTitle:"سجل اللعبة",recordTableTitle:["جائزة","تاريخ"],bounsToast:"في عملية سحق البيض ...",topOneText:"ترتيب "};window._lang=a,window._images={},a.title&&(document.title=a.title)}},[["0T85","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/en.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["en"],{rKIV:function(e,t,n){"use strict";n.r(t);var a={title:"Smash Golden Egg",loading:"loading...",rank_noData:"No data yet",noData:"No data yet",roolMsg:"Get",balanceTagText:"Balance",lotteryBtnText:"Smash %n times",dayRankTitle:"big winner of the day",eggRulesTitle:"Rules",eggRulesMsg:"Smash Golden Egg is 100% winning, every time you smash will get one of the following rewards",recordPageTitle:"betting record",recordTableTitle:["reward","Date"],bounsToast:"Smashing",topOneText:"Ranking"};window._lang=a,window._images={},a.title&&(document.title=a.title)}},[["rKIV","runtime"]]]);
|
||||||
29
h5/smash-golden-egg/js/env.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
window.__appConfig = {
|
||||||
|
cdn: 'assets',
|
||||||
|
loading: 'assets/common/waky5_loading.gif',
|
||||||
|
coin: 'assets/common/yumi_coin.png',
|
||||||
|
|
||||||
|
androidAppName: 'Chat App',
|
||||||
|
androidLogo: 'assets/common/waky5_logo.png',
|
||||||
|
androidUrl: '#',
|
||||||
|
androidStartProtocol: 'chatapp://',
|
||||||
|
|
||||||
|
iosAppName: 'Chat App',
|
||||||
|
iosLogo: 'assets/common/waky5_logo.png',
|
||||||
|
iosUrl: '#',
|
||||||
|
iosStartProtocol: 'chatapp://',
|
||||||
|
}
|
||||||
|
|
||||||
|
const ios = navigator.userAgent.match(/iPhone|iPod|ios|iPad/i)
|
||||||
|
|
||||||
|
if (ios) {
|
||||||
|
window.appName = window.__appConfig.iosAppName
|
||||||
|
window.logo = window.__appConfig.iosLogo
|
||||||
|
window.appUrl = window.__appConfig.iosUrl
|
||||||
|
window.startProtocol = window.__appConfig.iosStartProtocol
|
||||||
|
} else {
|
||||||
|
window.appName = window.__appConfig.androidAppName
|
||||||
|
window.logo = window.__appConfig.androidLogo
|
||||||
|
window.appUrl = window.__appConfig.androidUrl
|
||||||
|
window.startProtocol = window.__appConfig.androidStartProtocol
|
||||||
|
}
|
||||||
1
h5/smash-golden-egg/js/id.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["id"],{LkrU:function(a,e,n){"use strict";n.r(e);var t={title:"Pecahkan Telur Emas",loading:"Dimuat...",rank_noData:"Tidak ada data",noData:"Tidak ada data",roolMsg:"Dari Telur Emas mendapatkan",balanceTagText:"Saldo koin",lotteryBtnText:"Pecahkan\n%n kali",dayRankTitle:"pemenang besar hari ini",eggRulesTitle:"Aturan Pecahkan Telur Emas",eggRulesMsg:"Permainan pecahkan telur emas 100% menang, Setiap kali Anda pecahkan telur, Anda akan mendapatkan salah satu dari hadiah berikut.",recordPageTitle:"rekor permainan",recordTableTitle:["Bonus","Tanggal"],bounsToast:"Sedang memecahkan telur...",topOneText:"Ranking"};window._lang=t,window._images={},t.title&&(document.title=t.title)}},[["LkrU","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/pt.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["pt"],{olt1:function(e,a,o){"use strict";o.r(a);var n={title:"Esmague Ovo Dourado",loading:"Carregando...",rank_noData:"Ainda não há dados",noData:"Ainda não há dados",roolMsg:"Receber",balanceTagText:"Equilíbrio",lotteryBtnText:"Esmague %n vezes",dayRankTitle:"grande vencedor do dia",eggRulesTitle:"Regras",eggRulesMsg:"Smash Golden Egg é 100% vencedor, cada vez que você esmagar receberá uma das seguintes recompensas",recordPageTitle:"recorde de apostas",recordTableTitle:["Prêmio","Data"],bounsToast:"Esmagador",topOneText:"Ranking"};window._lang=n,window._images={},n.title&&(document.title=n.title)}},[["olt1","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/ru.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["ru"],{kgbd:function(e,t,n){"use strict";n.r(t);var a={title:"Разбейте золотое яйцо",loading:"Загрузка...",rank_noData:"Больше данных пока нет",noData:"Нет доступных данных",roolMsg:"Получил это в золотом яйце",balanceTagText:"баланс",lotteryBtnText:"Разбить %nраз",dayRankTitle:"Главный победитель дня",eggRulesTitle:"Правила разбивания золотых яиц",eggRulesMsg:"Игровой процесс игры smashing the golden egg на 100% выигрышный, и каждый раз, когда вы разбиваете яйцо, вы должны получать одну из следующих наград.",recordPageTitle:"Рекорд ставок",recordTableTitle:["награда","дата"],bounsToast:"Это разбивание яиц...",topOneText:"Ranking"};window._lang=a,window._images={},a.title&&(document.title=a.title)}},[["kgbd","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/tr.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["tr"],{"5dK/":function(a,e,n){"use strict";n.r(e);var r={title:"Altın yumurtaları kır",loading:"Yükleniyor...",rank_noData:"Henüz başka verilileri yok",noData:"Veri yok",roolMsg:"Altın yumurtadan elde edilen",balanceTagText:"Bakiye",lotteryBtnText:"%n kez parçala",dayRankTitle:"Günün büyük kazananı",eggRulesTitle:"Altın yumurta kuralı",eggRulesMsg:"Altın yumurta kırma oyunu %100 kazandırıyor.Her yumurta kırdığınızda aşağıdaki ödüllerden birini alacaksınız.",recordPageTitle:"Bahis rekoru",recordTableTitle:["Ödül","Tarih"],bounsToast:"Yumurta kırma sürecinde...",topOneText:"Ranking"};window._lang=r,window._images={},r.title&&(document.title=r.title)}},[["5dK/","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/vendor.js
Normal file
1
h5/smash-golden-egg/js/vi.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["vi"],{rHSA:function(n,t,e){"use strict";e.r(t);var g={title:"Đập trứng vàng",loading:"Đang tải...",rank_noData:"Không có dữ liệu",noData:"Không có dữ liệu",roolMsg:"Nhận qua đập trứng",balanceTagText:"Số xu dư",lotteryBtnText:"Đập %n lần",dayRankTitle:"Winner lớn nhất hôm nay",eggRulesTitle:"Quy tắc đập",eggRulesMsg:"100% trúng trong game này, mỗi lần đập chắc chắn sẽ nhận được một trong những giải thưởng sau này.",recordPageTitle:"Kỷ lục chơi hôm nay",recordTableTitle:["Thưởng","Ngày"],bounsToast:"Đang đập",topOneText:"Ranking"};window._lang=g,window._images={},g.title&&(document.title=g.title)}},[["rHSA","runtime"]]]);
|
||||||
1
h5/smash-golden-egg/js/zh.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([["zh"],{"WP+K":function(e,t,n){"use strict";n.r(t);var a={title:"砸金蛋",loading:"加载中...",rank_noData:"暂无更多数据",noData:"暂无数据",roolMsg:"在金蛋中获得了",balanceTagText:"余额",lotteryBtnText:"砸%n次",dayRankTitle:"本日大赢家",eggRulesTitle:"砸金蛋规则",eggRulesMsg:"砸金蛋玩法100%中奖,每次砸蛋必定获得以下奖励其中一个。",recordPageTitle:"下注记录",recordTableTitle:["奖励","日期"],bounsToast:"正在砸蛋中...",topOneText:"Ranking"};window._lang=a,window._images={},a.title&&(document.title=a.title)}},[["WP+K","runtime"]]]);
|
||||||
9
h5/smash-golden-egg/vendor/axios.min.js
vendored
Normal file
9
h5/smash-golden-egg/vendor/svga.lite.min.js
vendored
Normal file
6
h5/smash-golden-egg/vendor/vue-lazyload.js
vendored
Normal file
6
h5/smash-golden-egg/vendor/vue-router.min.js
vendored
Normal file
6
h5/smash-golden-egg/vendor/vue.runtime.min.js
vendored
Normal file
6
h5/smash-golden-egg/vendor/vuex.min.js
vendored
Normal file
25
h5/yumi-wheel/README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Yumi / Yumi 抽奖 H5 下载结果
|
||||||
|
|
||||||
|
包名:`com.yumi.android`
|
||||||
|
|
||||||
|
已验证 H5 入口:`https://api.yumi.local/agencypanel/#/lucky-box-new`
|
||||||
|
|
||||||
|
关键路由:
|
||||||
|
- `/lucky-box-new`:Classic / luxury / Advanced 抽奖页,chunk `7.c807b8c97b060a018578.js`
|
||||||
|
- `/lucky-box-middle-evel`:中级抽奖页,chunk `24.d662e27a93ee7b5e596d.js`
|
||||||
|
- `/lucky-gift`:幸运礼物页,chunk `70.c0dc729cb3bd2c4606b6.js`
|
||||||
|
|
||||||
|
目录:
|
||||||
|
- `h5/agencypanel/`:线上 H5 HTML、JS、CSS、sourcemap;`index_local.html` 已接入本地 mock 数据和本地静态资源
|
||||||
|
- `source_map_sources/`:从 sourcemap 拆出的原始 Vue/JS 源码
|
||||||
|
- `assets/external/`:抽奖相关静态素材
|
||||||
|
- `metadata/api_endpoints_lottery.txt`:抽奖相关接口
|
||||||
|
- `index.html`:扁平素材索引
|
||||||
|
- `local_preview/index.html`:独立还原版预览页
|
||||||
|
|
||||||
|
本地查看:
|
||||||
|
- 原始 H5 包本地数据版:`http://127.0.0.1:8787/h5/agencypanel/index_local.html#/lucky-box-new?roomId=23&appLanguage=en`
|
||||||
|
- 也可以直接打开:`file:///Users/hy/Documents/dev/yumi_yumi_lottery_h5_20260514/h5/agencypanel/index_local.html#/lucky-box-new?roomId=23&appLanguage=en`
|
||||||
|
- 独立还原预览:`http://127.0.0.1:8787/local_preview/`
|
||||||
|
|
||||||
|
接口说明:奖品列表、抽奖、历史记录等接口在源码中已列出;未带登录态直连会返回 `not logged in`。`index_local.html` 通过 `static/js/local-mock-api.js` 拦截这些接口并返回本地 mock 数据,方便直接看页面效果。
|
||||||
BIN
h5/yumi-wheel/assets/external/img01.yzcdn.cn/vant/custom-empty-image.png
vendored
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/advanced_gift.webp
vendored
Normal file
|
After Width: | Height: | Size: 383 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/christmasCheckIn_lottery_bg.png
vendored
Normal file
|
After Width: | Height: | Size: 195 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/christmasCheckIn_lottery_go.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/christmasCheckIn_lottery_select.png
vendored
Normal file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/christmasCheckIn_lottery_unselect.png
vendored
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/gold.png
vendored
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/gold_new.png
vendored
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_back.png
vendored
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_bg_new.png
vendored
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_bottom.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_btn.png
vendored
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_center.png
vendored
Normal file
|
After Width: | Height: | Size: 567 B |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_close.png
vendored
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_defalute.png
vendored
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_go.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_gold.png
vendored
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_light.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_light2.png
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_middle.png
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_reward.png
vendored
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_reward_bg.png
vendored
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_rule.png
vendored
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_select.png
vendored
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_bg_new.png
vendored
Normal file
|
After Width: | Height: | Size: 636 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_btn.png
vendored
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_default.png
vendored
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_go.png
vendored
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_gold.png
vendored
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_history.png
vendored
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_notice.png
vendored
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_reward_bg.png
vendored
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_rule.png
vendored
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_select.png
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_unbtn.png
vendored
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_three_unselect.png
vendored
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_title_top.png
vendored
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_top.png
vendored
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_bg_new.png
vendored
Normal file
|
After Width: | Height: | Size: 539 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_btn1.png
vendored
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_btn2.png
vendored
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_btn3.png
vendored
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_default.png
vendored
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_gold.png
vendored
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_light.png
vendored
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_light2.png
vendored
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_middle.png
vendored
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_notice.png
vendored
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_pointer.png
vendored
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
h5/yumi-wheel/assets/external/yumi-static/other/lucky_box_tow_reward.png
vendored
Normal file
|
After Width: | Height: | Size: 3.7 KiB |