Commit 71097e5d authored by 俞嘉婷's avatar 俞嘉婷

埋点

parent 1cafd14f
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000"> <meta name="theme-color" content="#000000">
<link rel="dns-prefetch" href="//yun.duiba.com.cn" /> <link rel="dns-prefetch" href="//yun.duiba.com.cn" />
<link rel="preconnect" href="//embedlog.duiba.com.cn"> <link rel="preconnect" href="//embedlog.duiba.com.cn">
<title>模拟理财 月度争霸赛</title> <title>模拟理财 月度争霸赛</title>
<script type="text/javascript"> <script type="text/javascript">
if (localStorage && localStorage.isWebp) { if (localStorage && localStorage.isWebp) {
document document
.getElementsByTagName('html')[0] .getElementsByTagName('html')[0]
.setAttribute('duiba-webp', 'true'); .setAttribute('duiba-webp', 'true');
} }
</script> </script>
<script src="//yun.duiba.com.cn/js-libs/rem/1.1.3/rem.min.js"></script> <script src="//yun.duiba.com.cn/js-libs/rem/1.1.3/rem.min.js"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<!-- 华夏银行app文件 --> <!-- 华夏银行app文件 -->
<script src="//yun.duiba.com.cn/polaris/hxbExtLib.min.f2e3022c5ce5dd92689bff0a5b6c5cb0e9193cd1.js"></script> <script src="//yun.duiba.com.cn/polaris/hxbExtLib.min.f2e3022c5ce5dd92689bff0a5b6c5cb0e9193cd1.js"></script>
<script> <script>
var CFG = CFG || {}; var CFG = CFG || {};
CFG.projectId = location.pathname.split('/')[2] || '1'; CFG.projectId = location.pathname.split('/')[2] || '1';
function getUrlParam(name) { function getUrlParam(name) {
var search = window.location.search; var search = window.location.search;
var matched = search var matched = search
.slice(1) .slice(1)
.match(new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i')); .match(new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'));
return search.length ? matched && matched[2] : null; return search.length ? matched && matched[2] : null;
} }
CFG.appID = '${APPID}'; CFG.appID = '${APPID}';
CFG.domain = location.origin CFG.domain = location.origin
// 渠道 // 渠道
CFG.channel = getUrlParam("channel"); CFG.channel = getUrlParam("channel");
// 首页 // 首页
CFG.index = '/projectx/' + CFG.projectId + '/index.html?appID=' + CFG.appID + '&channel=' + CFG.channel; CFG.index = '/projectx/' + CFG.projectId + '/index.html?appID=' + CFG.appID + '&channel=' + CFG.channel;
// 提示弹窗二维码短链链接(目的页是 首页xx/index.html?off=1) 线上正式 TODO 域名记得改为dexfu的 // 提示弹窗二维码短链链接(目的页是 首页xx/index.html?off=1) 线上正式 TODO 域名记得改为dexfu的
CFG.prizePageQrcodeUrl = "https://hxlc90548.activity-29.m.duiba.com.cn/outActivity/12hy"; CFG.prizePageQrcodeUrl = "https://hxlc90548.activity-29.m.duiba.com.cn/outActivity/12hy";
if (location.origin.indexOf("duibatest") > -1) { if (location.origin.indexOf("duibatest") > -1) {
// 测试环境 // 测试环境
CFG.prizePageQrcodeUrl = CFG.index + "&off=1" CFG.prizePageQrcodeUrl = CFG.index + "&off=1"
} else if (CFG.projectId == 'p5185b9f0') { } else if (CFG.projectId == 'p5185b9f0') {
// 线上测试 // 线上测试
CFG.prizePageQrcodeUrl = "https://hxlc90548.activity-29.m.duiba.com.cn/outActivity/12hw" CFG.prizePageQrcodeUrl = "https://hxlc90548.activity-29.m.duiba.com.cn/outActivity/12hw"
} }
if (!getUrlParam("appID")) { if (!getUrlParam("appID")) {
// alert("【警告】检测到活动url中没有appID参数\n缺少该参数会导致埋点、分享、app信息获取错误。") // alert("【警告】检测到活动url中没有appID参数\n缺少该参数会导致埋点、分享、app信息获取错误。")
} }
</script> </script>
<script type="module" crossorigin src="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/index-BM7Q4-pC.js"></script> <script type="module" crossorigin src="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/index-DfsDTbI8.js"></script>
<link rel="modulepreload" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/vendor-D7FE14_V.js"> <link rel="modulepreload" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/vendor-2l0R3ad-.js">
<link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/vendor-BQh5NVNk.css"> <link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/vendor-BQh5NVNk.css">
<link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/index-Bg8fXq6u.css"> <link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/index-DwxZQkDT.css">
<script type="module">import.meta.url;import("_").catch(()=>1);(async function*(){})().next();if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script> <script type="module">import.meta.url;import("_").catch(()=>1);(async function*(){})().next();if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script>
<script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script> <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script> <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
<script nomodule crossorigin id="vite-legacy-polyfill" src="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/polyfills-legacy-D0AVcSo7.js"></script> <script nomodule crossorigin id="vite-legacy-polyfill" src="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/polyfills-legacy-D0AVcSo7.js"></script>
<script nomodule crossorigin id="vite-legacy-entry" data-src="https://yun.duiba.com.cn/db_games/spark/v3/1751973995788/assets/index-legacy-C6NB_NDM.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script> <script nomodule crossorigin id="vite-legacy-entry" data-src="https://yun.duiba.com.cn/db_games/spark/v3/1751977795693/assets/index-legacy-HWHxrxNw.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
</body> </body>
</html> </html>
...@@ -9,7 +9,7 @@ const domain = ""; ...@@ -9,7 +9,7 @@ const domain = "";
const channel = getUrlParam("channel"); const channel = getUrlParam("channel");
const dom = `${channel}.0.0.0`; const dom = `${channel}.0.0.0`;
const MDList: IAutoMdData[] = new Array(20).fill("").map((_, i) => { const MDList: IAutoMdData[] = new Array(19).fill("").map((_, i) => {
return { return {
ele: `.md${i + 1}`, ele: `.md${i + 1}`,
data: { data: {
......
...@@ -123,7 +123,7 @@ class HomePage extends React.Component<any, any> { ...@@ -123,7 +123,7 @@ class HomePage extends React.Component<any, any> {
return ( return (
<div className="com_Container" ref={(el) => this.root = el}> <div className="com_Container" ref={(el) => this.root = el}>
<div className="homePage"> <div className="homePage md4">
<span className="bg"></span> <span className="bg"></span>
<span className="title"></span> <span className="title"></span>
{/* 理财大明星 */} {/* 理财大明星 */}
...@@ -146,7 +146,7 @@ class HomePage extends React.Component<any, any> { ...@@ -146,7 +146,7 @@ class HomePage extends React.Component<any, any> {
<div className={`virtual_assets ${!virtualAssets?.realBuyJumpUrl ? 'short_height' : ''}`}> <div className={`virtual_assets ${!virtualAssets?.realBuyJumpUrl ? 'short_height' : ''}`}>
<span className="yesterday_label">昨日收益(元)</span> <span className="yesterday_label">昨日收益(元)</span>
<span className="yesterday_amount">{this.settleMoney(virtualAssets?.preDayIncome || 0)}</span> <span className="yesterday_amount">{this.settleMoney(virtualAssets?.preDayIncome || 0)}</span>
<div className="record_btn" onClick={this.recordHadnle}> <div className="record_btn md6" onClick={this.recordHadnle}>
<span className="record_btn_text">模拟交易记录</span> <span className="record_btn_text">模拟交易记录</span>
<span className="arrow_right"></span> <span className="arrow_right"></span>
</div> </div>
...@@ -168,15 +168,15 @@ class HomePage extends React.Component<any, any> { ...@@ -168,15 +168,15 @@ class HomePage extends React.Component<any, any> {
<span className="canuse_popover_bg"></span> <span className="canuse_popover_bg"></span>
<span className="canuse_popover_text">可用资金去购买理财</span> <span className="canuse_popover_text">可用资金去购买理财</span>
</div> </div>
{!!virtualAssets?.realBuyJumpUrl && <Button className="realbuy_btn" onClick={this.realBuyHandle}>真实买入</Button>} {!!virtualAssets?.realBuyJumpUrl && <Button className="realbuy_btn md7" onClick={this.realBuyHandle}>真实买入</Button>}
</div> </div>
{/* 签到区 */} {/* 签到区 */}
{productEnd ? null : <div className="sign_section"> {productEnd ? null : <div className="sign_section">
<span className="sign_section_bg"></span> <span className="sign_section_bg"></span>
<span className="sign_tips">累计签到,最高可得{((checkIn?.totalExperienceNum || 0) / 10000).toFixed(0)}万资金</span> <span className="sign_tips">累计签到,最高可得{((checkIn?.totalExperienceNum || 0) / 10000).toFixed(0)}万资金</span>
{checkIn?.todayCheckIn {checkIn?.todayCheckIn
? <Button className="signed_btn" onClick={this.signedHandle}>已签到</Button> ? <Button className="signed_btn md8" onClick={this.signedHandle}>已签到</Button>
: <Button className="sign_btn" onClick={this.signHandle}>签到得1万资金</Button> : <Button className="sign_btn md8" onClick={this.signHandle}>签到得1万资金</Button>
} }
<div className="sign_progress"> <div className="sign_progress">
<span className="progress_bg"></span> <span className="progress_bg"></span>
...@@ -186,7 +186,7 @@ class HomePage extends React.Component<any, any> { ...@@ -186,7 +186,7 @@ class HomePage extends React.Component<any, any> {
{checkIn?.checkInConfig?.map((item, index) => { {checkIn?.checkInConfig?.map((item, index) => {
return ( return (
<div <div
className={`step_item step_item${index + 1} ${item.days > checkIn?.totalCheckIn ? 'locked' : item.status ? 'received' : 'signed'}`} className={`step_item md16 step_item${index + 1} ${item.days > checkIn?.totalCheckIn ? 'locked' : item.status ? 'received' : 'signed'}`}
key={`sign_${index}`} key={`sign_${index}`}
onClick={() => this.signPrizeHandle(item)} onClick={() => this.signPrizeHandle(item)}
> >
...@@ -240,7 +240,7 @@ class HomePage extends React.Component<any, any> { ...@@ -240,7 +240,7 @@ class HomePage extends React.Component<any, any> {
</div> </div>
{!curTabProductList?.length && curTab == 2 && <div className="empty">暂无持仓产品哦</div>} {!curTabProductList?.length && curTab == 2 && <div className="empty">暂无持仓产品哦</div>}
</div> </div>
<Button className="rule_btn" onClick={this.ruleHandle} /> <Button className="rule_btn md5" onClick={this.ruleHandle} />
</div> </div>
</div> </div>
); );
......
...@@ -47,7 +47,7 @@ class FirstPop extends React.Component { ...@@ -47,7 +47,7 @@ class FirstPop extends React.Component {
<div className={`check_icon ${privacyChecked ? 'checked' : ''}`} onClick={() => this.setState({ privacyChecked: !this.state.privacyChecked })}></div> <div className={`check_icon ${privacyChecked ? 'checked' : ''}`} onClick={() => this.setState({ privacyChecked: !this.state.privacyChecked })}></div>
<div className="check_text">{notifyText}</div> <div className="check_text">{notifyText}</div>
</div>} </div>}
<Button className="happy_btn" onClick={this.handleSubmit}></Button> <Button className="happy_btn md2" onClick={this.handleSubmit}></Button>
<Button className="close" onClick={this.close}></Button> <Button className="close" onClick={this.close}></Button>
</div> </div>
</>); </>);
......
...@@ -28,7 +28,7 @@ class InvalidPop extends React.Component { ...@@ -28,7 +28,7 @@ class InvalidPop extends React.Component {
<div className="invalidPop modal_center"> <div className="invalidPop modal_center">
<span className="bg"></span> <span className="bg"></span>
<div className="text">本次活动适用于零基础投资者<br />感谢您对本次模拟理财大赛的关注</div> <div className="text">本次活动适用于零基础投资者<br />感谢您对本次模拟理财大赛的关注</div>
<Button className="know_btn" onClick={this.handleClose} /> <Button className="know_btn md1" onClick={this.handleClose} />
{/* <Button className="close" onClick={this.handleClose} /> */} {/* <Button className="close" onClick={this.handleClose} /> */}
</div> </div>
); );
......
...@@ -211,7 +211,7 @@ class Loginpop extends React.Component { ...@@ -211,7 +211,7 @@ class Loginpop extends React.Component {
<span className="content_title" onClick={() => this.setState({ showPrivacyPop: true })} dangerouslySetInnerHTML={{ __html: agreementTitle }}></span> <span className="content_title" onClick={() => this.setState({ showPrivacyPop: true })} dangerouslySetInnerHTML={{ __html: agreementTitle }}></span>
</div> </div>
</div>} </div>}
<Button className={`btn ${getUrlParam("off") == 1 ? 'enter_btn' : ''}`} onClick={this.handleSubmit}></Button> <Button className={`btn md3 ${getUrlParam("off") == 1 ? 'enter_btn' : ''}`} onClick={this.handleSubmit}></Button>
{!hideClose && <Button className="close" onClick={this.close}></Button>} {!hideClose && <Button className="close" onClick={this.close}></Button>}
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment