Commit f59b8183 authored by 邱旭's avatar 邱旭

Merge remote-tracking branch 'origin/daily-20250721' into daily-20250721

parents 78ddbb44 35f929d8
...@@ -65,10 +65,10 @@ ...@@ -65,10 +65,10 @@
} }
</script> </script>
<script type="module" crossorigin src="https://yun.duiba.com.cn/db_games/spark/v3/1753769499211/assets/index-DBFCJ1aX.js"></script> <script type="module" crossorigin src="https://yun.duiba.com.cn/db_games/spark/v3/1753780087233/assets/index-75YciMf8.js"></script>
<link rel="modulepreload" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753769499211/assets/vendor-BiCVt3x5.js"> <link rel="modulepreload" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753780087233/assets/vendor-BiCVt3x5.js">
<link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753769499211/assets/vendor-BQh5NVNk.css"> <link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753780087233/assets/vendor-BQh5NVNk.css">
<link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753769499211/assets/index-CEoLLnMQ.css"> <link rel="stylesheet" crossorigin href="https://yun.duiba.com.cn/db_games/spark/v3/1753780087233/assets/index-t9jUNFOt.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>
...@@ -76,8 +76,8 @@ ...@@ -76,8 +76,8 @@
<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/1753769499211/assets/polyfills-legacy-D0AVcSo7.js"></script> <script nomodule crossorigin id="vite-legacy-polyfill" src="https://yun.duiba.com.cn/db_games/spark/v3/1753780087233/assets/polyfills-legacy-D0AVcSo7.js"></script>
<script nomodule crossorigin id="vite-legacy-entry" data-src="https://yun.duiba.com.cn/db_games/spark/v3/1753769499211/assets/index-legacy-BQO0gkMb.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/1753780087233/assets/index-legacy-CBG5r6J1.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -20,11 +20,11 @@ export default [ ...@@ -20,11 +20,11 @@ export default [
"message": "报错了~", "message": "报错了~",
"code": null, "code": null,
"data": { "data": {
shareInfo: { shareInfo: JSON.stringify({
"title": "万亿体验金狂欢节", "title": "万亿体验金狂欢节",
"content": "快来助我一臂之力,一起领百万理财体验金~", "content": "快来助我一臂之力,一起领百万理财体验金~",
"thumbnail": "//yun.duiba.com.cn/polaris/sharepic.8254652ad0b961401148278339f92ae7da94cf8b.png" "thumbnail": "//yun.duiba.com.cn/polaris/sharepic.8254652ad0b961401148278339f92ae7da94cf8b.png"
}, }),
} }
} }
}, },
......
...@@ -67,7 +67,7 @@ export default [ ...@@ -67,7 +67,7 @@ export default [
"startTime": "14:01:30" "startTime": "14:01:30"
} }
], ],
"redRainCountDownTime": 3, "redRainCountDownTime": 0,
actStartTime: Date.now() - 1 * 24 * 60 * 60 * 1000, actStartTime: Date.now() - 1 * 24 * 60 * 60 * 1000,
actEndTime: Date.now() + 3 * 24 * 60 * 60 * 1000, actEndTime: Date.now() + 3 * 24 * 60 * 60 * 1000,
endPoint: Date.now() + 0.0001 * 24 * 60 * 60 * 1000, endPoint: Date.now() + 0.0001 * 24 * 60 * 60 * 1000,
...@@ -494,7 +494,7 @@ export default [ ...@@ -494,7 +494,7 @@ export default [
return { return {
"code": null, "code": null,
"data": { "data": {
"answers": ['选项1选项1选项1选项1选项1选项1选项1选项1选项1选项1', "选项2", "选项3", "选项4"], "answers": ['选项选项选项选项选项选项选项选项选项选项a', "选项2", "选项3", "选项4"],
"avatar": null, "avatar": null,
"content": "题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目", "content": "题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目题目",
"fullStrength": true, "fullStrength": true,
......
...@@ -35,7 +35,7 @@ class App extends Component { ...@@ -35,7 +35,7 @@ class App extends Component {
prize: PrizePage, prize: PrizePage,
share: SharePage share: SharePage
}[skinId] || HomePage; }[skinId] || HomePage;
PageCtrl.changePage(HomePage); PageCtrl.changePage(defaultPage);
} }
async componentDidMount() { async componentDidMount() {
......
...@@ -33,6 +33,7 @@ export function handleLogExposure(id: number | string, id2: number | string = 1) ...@@ -33,6 +33,7 @@ export function handleLogExposure(id: number | string, id2: number | string = 1)
logExposure({ logExposure({
dpm: `${appId}.110.${id}.${id2}`, dpm: `${appId}.110.${id}.${id2}`,
dcm, dcm,
dom,
domain, domain,
appId, appId,
}); });
...@@ -42,6 +43,7 @@ export function handleLogClick(id: number | string, id2: number | string = 1) { ...@@ -42,6 +43,7 @@ export function handleLogClick(id: number | string, id2: number | string = 1) {
logClick({ logClick({
dpm: `${appId}.110.${id}.${id2}`, dpm: `${appId}.110.${id}.${id2}`,
dcm, dcm,
dom,
domain, domain,
appId, appId,
}); });
...@@ -52,6 +54,7 @@ export function handleTaskLogClick(id, id2 = 1, btnStatus) { ...@@ -52,6 +54,7 @@ export function handleTaskLogClick(id, id2 = 1, btnStatus) {
logClick({ logClick({
dpm: `${appId}.110.${id}.${id2}`, dpm: `${appId}.110.${id}.${id2}`,
dcm: `202.${CFG.projectId}.0.${btnStatus}'`, dcm: `202.${CFG.projectId}.0.${btnStatus}'`,
dom,
domain, domain,
appId, appId,
}); });
...@@ -60,6 +63,7 @@ export function handleTaskLogExposure(id, id2 = 1, btnStatus) { ...@@ -60,6 +63,7 @@ export function handleTaskLogExposure(id, id2 = 1, btnStatus) {
logExposure({ logExposure({
dpm: `${appId}.110.${id}.${id2}`, dpm: `${appId}.110.${id}.${id2}`,
dcm: `202.${CFG.projectId}.0.${btnStatus}'`, dcm: `202.${CFG.projectId}.0.${btnStatus}'`,
dom,
domain, domain,
appId, appId,
}); });
......
...@@ -93,7 +93,7 @@ class HomePage extends React.Component<any, any> { ...@@ -93,7 +93,7 @@ class HomePage extends React.Component<any, any> {
/** 跳转模拟交易记录 */ /** 跳转模拟交易记录 */
recordHadnle = _asyncThrottle(() => { recordHadnle = _asyncThrottle(() => {
if (!store.judgeActTime()) return if (!store.judgeActTime()) return
PageCtrl.changePage(NewRecordPage); PageCtrl.changePage(NewRecordPage, { tab: 1 });
}) })
......
...@@ -99,15 +99,11 @@ class NewRecordPage extends React.Component { ...@@ -99,15 +99,11 @@ class NewRecordPage extends React.Component {
} }
{ {
tab === 2 && list.map((item, index) => { tab === 2 && list.map((item, index) => {
const state = {
"-": { txt: "购买成功", color: "rgba(0,0,0,1)" },
"+": { txt: "赎回成功", color: "rgba(0,0,0,1)" }
}[item.changeType];
return <div className="item" key={index}> return <div className="item" key={index}>
<div className="title">{item.description}</div> <div className="title">{item.description}</div>
<div <div
className="date">{dateFormatter(item.gmtCreate, "yyyy.MM.dd hh:mm:ss")}</div> className="date">{dateFormatter(item.gmtCreate, "yyyy.MM.dd hh:mm:ss")}</div>
<div className="num" style={{ color: (state || {}).color }}>{`${item.changeType}¥${item.buyAmount / 100}`}</div> <div className="num" style={{ color: 'rgba(0,0,0,1)' }}>{`${item.changeType}¥${item.buyAmount / 100}`}</div>
</div> </div>
}) })
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
import React from 'react'; import React from 'react';
import { observer } from 'mobx-react'; import { observer } from 'mobx-react';
import './sharePage.less'; import './sharePage.less';
import { _throttle, windowJumpUrl, CHANNEL, generateUUID } from '@/utils/utils'; import { _throttle, windowJumpUrl, CHANNEL, generateUUID, _asyncThrottle } from '@/utils/utils';
import { copyToClipboard } from '@spark/utils'; import { copyToClipboard } from '@spark/utils';
import { Toast } from "@grace/ui"; import { Toast } from "@grace/ui";
import API from '@/api'; import API from '@/api';
...@@ -39,7 +39,7 @@ class SharePage extends React.Component { ...@@ -39,7 +39,7 @@ class SharePage extends React.Component {
} }
/** 唤端 */ /** 唤端 */
toApp = _throttle(() => { toApp = _asyncThrottle(() => {
if (CFG.inviteCode) { if (CFG.inviteCode) {
copyToClipboard(CFG.inviteCode); copyToClipboard(CFG.inviteCode);
Toast.show("复制成功") Toast.show("复制成功")
...@@ -58,7 +58,7 @@ class SharePage extends React.Component { ...@@ -58,7 +58,7 @@ class SharePage extends React.Component {
}, 300) }, 300)
}) })
doAssist = _throttle(async () => { doAssist = _asyncThrottle(async () => {
const { success, message, code } = await API.doAsistInSharePage({ const { success, message, code } = await API.doAsistInSharePage({
channel: CFG.channel, channel: CFG.channel,
deviceId: localStorage.getItem('like_uuid'), deviceId: localStorage.getItem('like_uuid'),
...@@ -120,8 +120,8 @@ class SharePage extends React.Component { ...@@ -120,8 +120,8 @@ class SharePage extends React.Component {
</p> </p>
</div> </div>
<div className='btn_con'> <div className='btn_con'>
<span className='check-btn' onClick={_throttle(() => { <span className='check-btn' onClick={_asyncThrottle(() => {
windowJumpUrl(el.realBuyJumpUrl) this.toApp()
})}></span> })}></span>
</div> </div>
</div> </div>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
top: 129px; top: 129px;
position: absolute; position: absolute;
.sparkBg("sharePage/title1.png"); .sparkBg("sharePage/title1.png");
font-size: 90px; font-size: 80px;
color: rgb(255, 243, 228); color: rgb(255, 243, 228);
line-height: 294px; line-height: 294px;
text-align: center; text-align: center;
......
...@@ -85,19 +85,34 @@ class AnswerPanel extends React.Component { ...@@ -85,19 +85,34 @@ class AnswerPanel extends React.Component {
ModalCtrl.closeModal() ModalCtrl.closeModal()
}) })
getBLen = function (str) {
if (str == null) return 0;
if (typeof str != "string") {
str += "";
}
return str.replace(/[^\x00-\xff]/g, "01").length;
}
render() { render() {
const qsInfo = this.state.qsInfo || {}; const qsInfo = this.state.qsInfo || {};
const correctAnswers = this.state.correctAnswers || []; const correctAnswers = this.state.correctAnswers || [];
const selAnswer = this.state.selAnswer; const selAnswer = this.state.selAnswer;
const labelObj = {
0: 'A',
1: 'B',
2: 'C',
3: 'D'
}
return ( return (
<div className="answerPanel modal_center"> <div className="answerPanel modal_center">
<span className="bg"></span> <span className="bg"></span>
<div className='question-title'>{qsInfo.content || ''}</div> <div className='question-title'>{qsInfo.content || ''}</div>
<div className='answer-con'> <div className='answer-con'>
{(qsInfo.answers || []).map((el, index) => { {(qsInfo.answers || []).map((el, index) => {
return <div className={`answer-item ${(selAnswer === index + 1 + '') && correctAnswers.length > 0 && !correctAnswers.includes(index + 1 + '') ? 'error' : ''} ${correctAnswers.includes(index + 1 + '') ? 'correct' : ''}`} key={index} onClick={_asyncThrottle(() => { const str = labelObj[index] + '、' + el;
let len = this.getBLen(str);
return <div className={`${len > 44 ? 'toolong' : ''} answer-item ${(selAnswer === index + 1 + '') && correctAnswers.length > 0 && !correctAnswers.includes(index + 1 + '') ? 'error' : ''} ${correctAnswers.includes(index + 1 + '') ? 'correct' : ''}`} key={index} onClick={_asyncThrottle(() => {
this.submit(index) this.submit(index)
})}>{el} })}>{str}
{(selAnswer === index + 1 + '') && correctAnswers.length > 0 && !correctAnswers.includes(index + 1 + '') && <span className='error-icon'></span>} {(selAnswer === index + 1 + '') && correctAnswers.length > 0 && !correctAnswers.includes(index + 1 + '') && <span className='error-icon'></span>}
{correctAnswers.includes(index + 1 + '') && <span className='correct-icon'></span>} {correctAnswers.includes(index + 1 + '') && <span className='correct-icon'></span>}
</div> </div>
......
...@@ -31,26 +31,30 @@ ...@@ -31,26 +31,30 @@
} }
.answer-con { .answer-con {
width: 492px; width: 540px;
height: 360px; height: 360px;
position: absolute; position: absolute;
top: 740px; top: 740px;
left: 129px; left: 105px;
.answer-item { .answer-item {
width: 492px; width: 540px;
height: 80px; height: 80px;
line-height: 80px; text-align: left;
text-align: center;
color: rgb(88, 88, 88); color: rgb(88, 88, 88);
font-size: 30px; font-size: 24px;
font-weight: bold; font-weight: bold;
margin-bottom: 6px; margin-bottom: 6px;
.lineClamp1(); line-height: 80px;
padding-left: 10px;
.sparkBg("answerPanel/normalBg.png"); .sparkBg("answerPanel/normalBg.png");
position: relative; position: relative;
} }
.toolong {
line-height: 1.5;
}
.error { .error {
.sparkBg("answerPanel/errorBg.png"); .sparkBg("answerPanel/errorBg.png");
} }
...@@ -64,7 +68,7 @@ ...@@ -64,7 +68,7 @@
position: absolute; position: absolute;
width: 61px; width: 61px;
height: 60px; height: 60px;
right: -20px; right: -10px;
top: -10px; top: -10px;
.sparkBg("answerPanel/correctIcon.png"); .sparkBg("answerPanel/correctIcon.png");
} }
...@@ -73,7 +77,7 @@ ...@@ -73,7 +77,7 @@
position: absolute; position: absolute;
width: 58px; width: 58px;
height: 54px; height: 54px;
right: -20px; right: -10px;
top: -10px; top: -10px;
display: inline-block; display: inline-block;
.sparkBg("answerPanel/errorIcon.png"); .sparkBg("answerPanel/errorIcon.png");
......
...@@ -52,11 +52,11 @@ class TaskPanel extends React.Component { ...@@ -52,11 +52,11 @@ class TaskPanel extends React.Component {
<span className='taskTitle'>{`${el.title}(${el.completeSize || 0}/${el.intervalLimit || 0})`}</span> <span className='taskTitle'>{`${el.title}(${el.completeSize || 0}/${el.intervalLimit || 0})`}</span>
<span className='taskSubTitle'>{el.subtitle}</span> <span className='taskSubTitle'>{el.subtitle}</span>
{el.taskStatus == 0 && <Button className='goToBtn' onClick={_asyncThrottle(() => { {el.taskStatus == 0 && <Button className='goToBtn' onClick={_asyncThrottle(() => {
handleTaskLogClick(20, el.id, 1); handleTaskLogClick(28, el.code, 1);
taskStore.doComplete(el) taskStore.doComplete(el)
})}></Button>} })}></Button>}
{el.taskStatus == 1 && <Button className='dailingqu' onClick={_asyncThrottle(() => { {el.taskStatus == 1 && <Button className='dailingqu' onClick={_asyncThrottle(() => {
handleTaskLogClick(20, el.id, 2); handleTaskLogClick(28, el.code, 2);
taskStore.sendPrize(el.code); taskStore.sendPrize(el.code);
})}></Button>} })}></Button>}
{el.taskStatus == 2 && <Button className='completed'></Button>} {el.taskStatus == 2 && <Button className='completed'></Button>}
......
...@@ -26,12 +26,12 @@ const taskStore = makeAutoObservable({ ...@@ -26,12 +26,12 @@ const taskStore = makeAutoObservable({
const arr3 = data.item.filter((el) => { return Number(el.taskStatus) === 2; }); const arr3 = data.item.filter((el) => { return Number(el.taskStatus) === 2; });
this.taskList = arr1.concat(arr2, arr3); this.taskList = arr1.concat(arr2, arr3);
this.taskList.forEach(el => { this.taskList.forEach(el => {
const { id } = el; const { code } = el;
if (el.taskStatus == 0) { if (el.taskStatus == 0) {
handleTaskLogExposure(28, id, 1); handleTaskLogExposure(28, code, 1);
} }
if (el.taskStatus == 1) { if (el.taskStatus == 1) {
handleTaskLogExposure(28, id, 2); handleTaskLogExposure(28, code, 2);
} }
}); });
} }
......
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