Commit dc170315 authored by 天马流星拳's avatar 天马流星拳

refactor: 优化代码结构并清理无用代码

- 调整签到成功弹窗位置
- 重构渠道配置,简化逻辑
- 移除签到任务中的prizeInfo依赖
- 清理mock数据和未使用的代码
- 更新API接口路径
- 优化store中的冗余代码
parents dce485f4 003a0dc2
export default [
{
url: "/gaw/address/getChildrenByParentCode",
response: ({ query }) => {
return {
"success": true,
"code": "0000000000",
"desc": "OK",
"timestamp": 1736580360076,
"data": [{
"name": "东华门街道",
"adCode": "110101001",
"level": 4
},
{
"name": "景山街道",
"adCode": "110101002",
"level": 4
},
{
"name": "交道口街道",
"adCode": "110101003",
"level": 4
},
{
"name": "安定门街道",
"adCode": "110101004",
"level": 4
},
{
"name": "北新桥街道",
"adCode": "110101005",
"level": 4
},
{
"name": "东四街道",
"adCode": "110101006",
"level": 4
},
{
"name": "朝阳门街道",
"adCode": "110101007",
"level": 4
},
{
"name": "建国门街道",
"adCode": "110101008",
"level": 4
},
{
"name": "东直门街道",
"adCode": "110101009",
"level": 4
},
{
"name": "和平里街道",
"adCode": "110101010",
"level": 4
},
{
"name": "前门街道",
"adCode": "110101011",
"level": 4
},
{
"name": "崇文门外街道",
"adCode": "110101012",
"level": 4
},
{
"name": "东花市街道",
"adCode": "110101013",
"level": 4
},
{
"name": "龙潭街道",
"adCode": "110101014",
"level": 4
},
{
"name": "体育馆路街道",
"adCode": "110101015",
"level": 4
},
{
"name": "天坛街道",
"adCode": "110101016",
"level": 4
},
{
"name": "永定门外街道",
"adCode": "110101017",
"level": 4
}
]
}
},
},
]
export default [
{
url: "/challenge/index.do",
method: 'get',
response: ({ query }) => {
return {
"code": "sit sint proident nostrud",
"success": true,
"message": "dolor reprehenderit ex culpa veniam",
"data": {
"choosedChallengeId": "1",
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737,
"boolShowFailPop": false,
"challengeSuccessPopInfo": null,
// {
// "prizeName": "30天的奖励",
// "prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
// },
"challengeConfigList": [
{
"challengeId": "1",
"challengeTotalDay": 30,
"prizeName": "30天的任务",
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 666,
"resignQg": 666,
},
{
"challengeId": "2",
"challengeTotalDay": 60,
"prizeName": "60天的任务",
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 888,
"resignQg": 888,
},
{
"challengeId": "3",
"challengeTotalDay": 90,
"prizeName": "90天的任务",
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 999,
"resignQg": 999,
},
{
"challengeId": "4",
"challengeTotalDay": 120,
"prizeName": "120天的任务",
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 999,
"resignQg": 999,
}
],
"hasChallengeDay": 29,
"boolNeedResign": false,
"boolNeedResignPop": false,
"taskInfoList": [
{
"code": "sign",
"icon": "//yun.duiba.com.cn/polaris/credits.55f43bd9eece2d29fd077bbad5f38ea147938c45.png",
"subTitle": "签到",
"title": "签到",
"completedSize": 1,
"intervalLimitSize": 1,
"intervalType": -18649400.705077305,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 1,
},
{
"code": "xhqg_{200}",
"icon": "//yun.duiba.com.cn/polaris/Qg.ce064174141cb66ced062f69809e43cfb4595486.png",
"subTitle": "点击确认消耗200青果",
"title": "消耗200青果",
"completedSize": 0,
"intervalLimitSize": 1,
"intervalType": 69737947.09434697,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 2,
},
{
"code": "xhjf_{300}",
"icon": "//yun.duiba.com.cn/polaris/credits.55f43bd9eece2d29fd077bbad5f38ea147938c45.png",
"subTitle": "点击确认消耗300积分",
"title": "消耗300积分",
"completedSize": 0,
"intervalLimitSize": 1,
"intervalType": 15800400.399293274,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 3,
},
{
"code": "yqzl",
"icon": "//yun.duiba.com.cn/polaris/assist.2d9c5be86de1b7ff8652c27d9df73e625d316fdb.png",
"subTitle": "邀请助力",
"title": "邀请助力",
"completedSize": 3,
"intervalLimitSize": 6,
"intervalType": -54395962.26549375,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 4,
},
{
"code": "yqzl_new",
"icon": "//yun.duiba.com.cn/polaris/sign.3976eb6cfb3124aee5a0d3c869f82398a8713928.png",
"subTitle": "邀请新用户",
"title": "邀请新用户",
"completedSize": 3,
"intervalLimitSize": 6,
"intervalType": -54395962.26549375,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 5,
},
{
"code": "scan",
"icon": "//yun.duiba.com.cn/polaris/scan.9b0733c0dae1cc733524431ec5112478e2fefba3.png",
"subTitle": "扫码",
"title": "扫码",
"completedSize": 3,
"intervalLimitSize": 6,
"intervalType": -54395962.26549375,
"jumpUrl": '',
"boolShowCompletePop": false,
"id": 6,
},
{
"code": "browse_{x}",
"icon": "//yun.duiba.com.cn/polaris/see.c249defe0f5dcd540898adbffe3fc6c7f9e7f212.png",
"subTitle": "浏览",
"title": "浏览",
"completedSize": 3,
"intervalLimitSize": 6,
"intervalType": -54395962.26549375,
"jumpUrl": 'https://www.baidu.com/index.html',
"boolShowCompletePop": false,
"id": 7,
},
],
"boolNeedChallengeCompletePop": false,
"boolOpenChallenge": true,
}
}
},
},
{
url: "/challenge/baseIndex.do",
method: 'get',
response: ({ query }) => {
return {
"code": "veniam eiusmod sunt officia in",
"success": true,
"message": "incididunt ipsum aliquip sint dolore",
"data": {
"jfNum": 3000,
"qgNum": 4000,
}
}
},
},
{
url: "/challenge/chooseChallenge.do",
method: 'get',
response: ({ query }) => {
return {
"code": "proident ullamco quis",
"success": true,
"message": "labore",
"data": {},
}
},
},
{
url: "/challenge/taskComplete.do",
method: 'get',
response: ({ query }) => {
return {
"code": "proident ullamco quis",
"success": true,
"message": "labore",
"data": {},
}
},
},
{
url: "/challenge/resign.do",
method: 'get',
response: ({ query }) => {
return {
"code": "irure ut",
"success": true,
"message": "Ut nulla cillum esse",
"data": {},
}
},
},
{
url: "/challenge/getInviterCode.do",
method: 'post',
response: ({ query }) => {
return {
"code": "sint dolor",
"success": true,
"message": "officia",
"data": {
"inviteCode": "111"
}
}
},
},
{
url: "/challenge/assist.do",
method: 'get',
response: ({ query }) => {
return {
"code": "velit in ullamco enim",
"success": false,
"message": "dolore",
"data": {},
}
},
}
]
export default [
{
url: '/credits/creditsCost.do',
method: 'post',
response: ({ query }) => {
return {
"code": null,
"data": "pca599ef9a7645cc9421c39e92ca9e28",
"message": null,
"success": true,
"timeStamp": 1742894067802
}
},
},
{
url: '/credits/queryStatus.do',
method: 'get',
response: ({ query }) => {
return {
"code": null, "data": 1, "message": null, "success": true, "timeStamp": 1742894067868
}
},
},
{
url: '/credits/creditsLogList.do',
method: 'post',
response: ({ query }) => {
return {
"success": true,
"code": "",
"message": "",
"data": {
"leftCredits": 123,
"list": [
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 111,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 11111
},
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 111,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 11111
},
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 111,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 11111
},
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 111,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 11111
},
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 111,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 11111
},
{
"id": 222,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注红球",
"gmtCreate": 22222
},
{
"id": 123123,
"cycle": "20250316",
"type": 1,
"delta": -10,
"desc": "投注蓝球",
"gmtCreate": 11111
}
],
"haveMore": false
}
}
},
},
]
\ No newline at end of file
export default [
// {
// url: '/draw/index.do',
// response: ({ query }) => {
// return {
// success: true,
// code: "",
// message: "",
// timeStamp: Date.now(),
// data: {
// drawEndTime: Date.now() + 999999,
// titleImg: "titleImg",
// interval: "2250元(含)-8300元",
// amount: Math.random() * 100000 >> 0,
// profit: Math.random() * 10000000 >> 0,
// cycle: "12312312cyclecycle",
// cycleStartTime: Date.now() - 9999999,
// cycleEndTime: Date.now() + 9999999,
// remainDrawTime: Math.random() * 3 >> 0,
// prizeInfo: new Array(6).fill(1).map((_, i) => {
// return {
// prizeId: `prizeId${i}`,
// prizeName: `prizeName${i}`,
// prizeImg: `prizeImg${i}`,
// }
// })
// }
// }
// },
// },
// {
// url: '/draw/join.do',
// response: ({ query }) => {
// const i = Math.random() * 6 >> 0;
// return {
// success: true,
// code: "",
// message: "",
// data: {
// ruleId: "ruleId",
// optionId: `prizeId${i}`,
// optionImg: "optionImg",
// prizeId: `prizeId${i}`,
// optionName: `optionName${i}`,
// prizeType: Math.random() * 5 >> 0,
// position: Math.random() * 6 >> 0,
// userRecordId: "userRecordId",
// url: "url",
// sendCount: 1,
// },
// }
// },
// },
]
......@@ -4,7 +4,7 @@ export default [
{
url: '/projectRule.query',
method: 'get',
response: ({ query }) => {
response: () => {
return {
"data": "<p>以下是游戏规则:手速要快,点击红包雨。。333。。。。。。。。。。。。。。。。。。。。11111111111111sadasdadadsad5555555557777777777799999999999911111111111111111111111222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333311111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333331111111111111111111111111111111111111111111111111111111111111112222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333</p>",
"success": true
......@@ -14,7 +14,7 @@ export default [
{
url: '/coop_frontVariable.query',
method: 'get',
response: ({ query }) => {
response: () => {
return {
"success": true,
"message": "报错了~",
......@@ -32,7 +32,7 @@ export default [
},
{
url: '/join.do',
response: ({ query }) => {
response: () => {
return {
"code": "code",
"success": true,
......@@ -76,36 +76,4 @@ export default [
}
},
},
{
url: '/common/moneyReissue.do',
response: ({ query }) => {
return {
"code": "code",
"success": true,
"message": "message",
"timeStamp": Date.now(),
"data": {}
}
},
},
{
url: "/customActivity/kouweiwang/prize/queryOrderNo",
method: 'get',
response: ({ query }) => {
return {
"success": true,
"message": "报错了~",
"code": null,
"data": {
"recordId": 1,
"projectId": 1,
"orderNo": 1234567890,
"activityId": 1,
"uid": 1,
},
}
}
},
]
export default [
{
url: '/home/isWhiteUser.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "60002",
......@@ -15,7 +15,7 @@ export default [
},
{
url: '/home/coop_codeUpdate.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -27,7 +27,7 @@ export default [
},
{
url: '/home/coop_queryAgreement.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -171,8 +171,8 @@ export default [
},
},
{
url: '/checkIn_1/doSign.do',
response: ({ query }) => {
url: '/checkIn_1/doCheckIn.do',
response: () => {
return {
success: true,
code: "",
......@@ -180,7 +180,7 @@ export default [
data: {
"otherPrizeInfo": {
"productName": "deserunt in aliquip",
"wealthAmount": 3174067.9120013267,
"prizeName": "deserunt in aliquip",
"link": "minim et commodo eu ullamco"
},
"extra": "tempor sunt ipsum",
......@@ -461,7 +461,7 @@ export default [
{
url: '/home/coop_sendCode.do',
method: 'post',
response: ({ query }) => {
response: () => {
return {
"code": "magna laborum amet",
"data": {
......@@ -477,7 +477,7 @@ export default [
{
url: '/home/coop_checkCode.do',
method: 'post',
response: ({ query }) => {
response: () => {
return {
"code": "magna laborum amet",
"data": 'http://localhost:5173/?t=1',
......@@ -489,7 +489,7 @@ export default [
},
{
url: '/home/doCheckIn.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -500,7 +500,7 @@ export default [
},
{
url: '/home/doRewards.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -511,7 +511,7 @@ export default [
},
{
url: '/customActivity/hxlc/login',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -523,7 +523,7 @@ export default [
},
{
url: '/invite/coop_queryRecommand.do',
response: ({ query }) => {
response: () => {
return {
"success": true,
"data": {
......@@ -582,7 +582,7 @@ export default [
},
{
url: '/task/queryTasks.do',
response: ({ query }) => {
response: () => {
return {
"success": true,
"code": "sit velit ut cillum laboris",
......@@ -652,7 +652,7 @@ export default [
},
{
url: '/task/doCompleted.do',
response: ({ query }) => {
response: () => {
return {
"success": true,
"code": "sit velit ut cillum laboris",
......@@ -663,7 +663,7 @@ export default [
},
{
url: '/task/sendPrize.do',
response: ({ query }) => {
response: () => {
return {
"success": true,
"code": "sit velit ut cillum laboris",
......@@ -678,7 +678,7 @@ export default [
},
{
url: '/answer_1/query.do',
response: ({ query }) => {
response: () => {
return {
"code": null,
"data": {
......@@ -722,7 +722,7 @@ export default [
},
{
url: '/answer_1/start.do',
response: ({ query }) => {
response: () => {
return {
"code": null,
"data": {
......@@ -744,7 +744,7 @@ export default [
},
{
url: '/answer_1/getQuestion.do',
response: ({ query }) => {
response: () => {
return {
"code": null,
"data": {
......@@ -766,7 +766,7 @@ export default [
},
{
url: '/answer_1/submit.do',
response: ({ query }) => {
response: () => {
return {
"code": null,
"data": {
......@@ -791,7 +791,7 @@ export default [
},
{
url: '/answer_1/doCompleted.do',
response: ({ query }) => {
response: () => {
return {
"code": null,
"data": {
......@@ -819,7 +819,7 @@ export default [
},
{
url: '/home/queryWealthRecords.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......@@ -840,7 +840,7 @@ export default [
},
{
url: '/invite/coop_assist.do',
response: ({ query }) => {
response: () => {
return {
success: true,
code: "",
......
......@@ -29,12 +29,10 @@ export const RATE_NAME = {
/** 渠道 */
export const CHANNEL = {
/** 母行(华夏银行) */
HXBANK: "1",
/** 华夏理财 */
HXLC: "1",
/** 母行-华夏银行 */
HXBANK: "2",
/** 渠道5-昆仑银行 */
KUNLUN: "5",
HXLC: "2",
};
/** 是否为三方合作APP */
......
......@@ -17,7 +17,7 @@ const API = generateAPI({
// 查询签到数据
querySign: "checkIn_1/querySign.do",
// 完成签到
doSign: "checkIn_1/doSign.do",
doSign: "checkIn_1/doCheckIn.do",
// 完成签到浏览任务
completeSignView: "checkIn_1/completeSignView.do",
// 查看排行榜
......@@ -38,20 +38,12 @@ const API = generateAPI({
// getShareInfo: '/wechatShare/getShareInfo/v2',
getShareInfo: '/wechatMiniApp/ticket/info',
// cookie丢失-临时保存cookie
tempSaveCookie: {
uri: "/autoLogin/tempSaveCookie",
showMsg: false,
},
// cookie丢失-重新设置cookie
resetCookie: "/autoLogin/resetCookie",
userLogin: {
uri: "userLogin.check",
showMsg: false,
},
// 红包补领
redpacket: "common/moneyReissue.do",
getInviteCode: {
uri: 'inviteAssist_1/getInviteCode.do',
......@@ -174,7 +166,6 @@ const API = generateAPI({
uri: 'invite/queryInviteCode.do',
withToken: true,
}
})
// console.log('======', API)
......
......@@ -79,7 +79,6 @@ class SignCom extends React.Component {
if(signInfo?.prizeDays?.includes(`${currentWeek}`)) {
ModalCtrl.showModal(SignTaskPop, {
otherPrizeInfo: data.otherPrizeInfo || {},
prizeInfo: data?.options?.[0] || {},
callback: () => {
this.jumpToSing();
}
......
......@@ -11,7 +11,7 @@
width: 539px;
position: absolute;
left: 100px;
top: 268px;
top: 398px;
}
.bg {
......
......@@ -23,12 +23,12 @@ class SignTaskPop extends React.Component {
})
render() {
const {otherPrizeInfo, prizeInfo} = this.props;
const {otherPrizeInfo} = this.props;
return (
<div className="signTaskPop modal_center">
<div className='center-box'>
<span className="bg"></span>
<div className='prize_remark'>浏览“{otherPrizeInfo?.productName}”产品,再得{prizeInfo?.optionName}元红包</div>
<div className='prize_remark'>浏览“{otherPrizeInfo?.productName}”产品,再得{otherPrizeInfo?.prizeName}</div>
<Button className="know_btn" onClick={this.handleToLink} />
{/* <Button className="close" onClick={this.handleClose} /> */}
</div>
......
......@@ -10,7 +10,6 @@ import { ModalCtrl } from "@/core/ctrls/ModalCtrl";
import SignCom from './signCom/signCom';
import API from '@/api';
import taskStore from '@/store/task';
import { handleTaskLogClick } from '@/MD';
@observer
class TaskPanel extends React.Component {
......@@ -52,11 +51,9 @@ class TaskPanel extends React.Component {
<span className='taskTitle'>{`${el.title}(${el.completeSize || 0}/${el.intervalLimit || 0})`}</span>
<span className='taskSubTitle'>{el.subtitle}</span>
{el.taskStatus == 0 && <Button className='goToBtn' onClick={_asyncThrottle(() => {
handleTaskLogClick(28, el.code, 1);
taskStore.doComplete(el)
})}></Button>}
{el.taskStatus == 1 && <Button className='dailingqu' onClick={_asyncThrottle(() => {
handleTaskLogClick(28, el.code, 2);
taskStore.sendPrize(el.code);
})}></Button>}
{el.taskStatus == 2 && <Button className='completed'></Button>}
......
import { makeAutoObservable, toJS, } from 'mobx';
import { makeAutoObservable, } from 'mobx';
import API from '../api/index';
import { Toast } from "@grace/ui";
import { initWx, IWxShareInfo } from "@/built-in/share/weixin/weixin.ts";
import { _asyncThrottle, _debounce, getTimeStamp, getUrlParam } from '@/utils/utils';
import { PageCtrl } from '@/core/ctrls/PageCtrl';
import { initWx } from "@/built-in/share/weixin/weixin.ts";
import { _asyncThrottle, _debounce, getUrlParam } from '@/utils/utils';
import { ModalCtrl } from '@/core/ctrls/ModalCtrl';
import { getDomain } from '@spark/dbdomain';
import { showShareGuide } from '@spark/share';
import FirstPop from '@/panels/firstPop/firstPop';
import Tipspop from '@/panels/tipspop/tipspop';
import { IS_OTHER_APP, isWeiXin, queryAppFundDetail } from '@/AppTools';
import { CHANNEL } from '@/AppTools';
import { errMessageMap } from '@/utils/errorHandler';
import BlackPop from '@/panels/blackPop/index';
import SetupPop from '@/panels/setupPop/index';
import EndPop from '@/panels/endPop';
......@@ -22,8 +16,7 @@ class Store {
constructor() {
makeAutoObservable(this);
}
baseInfo: any = {};
homeRoot= null;
/** 前端开发配置 */
frontVariable: {
......@@ -44,9 +37,6 @@ class Store {
ruleInfo = '';
/** 积分门票 */
ticketNum = null;
/** 获取活动规则 */
async initRule() {
// 模拟获取远程的数据
......@@ -115,9 +105,6 @@ class Store {
isBlack: boolean,
signInStatus: boolean,
} = {} as any;
percent = 0;
homeRoot = null;
async updateIndex() {
const { success, data, timeStamp } = await API.index();
......@@ -153,126 +140,6 @@ class Store {
}
}
/**
* 更新某些基金信息
* @param fundcodeList 需要查询的基金code列表
*/
async updateFundInfo(fundcodeList) {
console.info('需要查询的基金code列表, ', fundcodeList.map(item => item.code))
// 调客户端方法 查询产品的收益率等信息
const adInfos = []
for (let len = fundcodeList.length, i = 0; i < len; i++) {
const res = await queryAppFundDetail(fundcodeList[i])
if (res) adInfos.push(res)
}
// 本地自测代码
// adInfos[0] = {
// fundcode: '23112008P',
// incomeRate: '1.78%',
// pernetValue: '1.0690',
// }
// 将客户端查到的收益率 更新到产品列表中
const _temp = JSON.parse(JSON.stringify(this.indexData))
_temp.recommendProductConfig = _temp.recommendProductConfig?.map(item => {
const _adInfo = adInfos.find(adInfo => adInfo.fundcode == item.code)
if (_adInfo) {
item.rate = (_adInfo.incomeRate.replace('%', '') || 0) * 10000 / 100
return item
}
return item
})
this.indexData = _temp;
console.info('基金产品收益率信息(客户端更新后的), ', toJS(this.indexData))
if (!adInfos?.length) return
// 将客户端查到的收益率 更新我们后端
const _codeList = adInfos.map(item => {
return {
code: item.fundcode, // 产品code
incomeRate: (item.incomeRate.replace('%', '') || 0) * 10000 / 100, // 年化率(单位:分),例如:1.78%传递178
netValue: (item.pernetValue || 0) * 1000000 / 100, // 净值(单位:分),例如:1.66传递16600
}
})
const params = {
codeList: _codeList,
}
console.info('coop_codeUpdate入参,', params)
API.coop_codeUpdate(params)
}
/**
* 计算不均匀进度条百分比
* 进度条一共固定4个节点,每个节点的百分比为:0-13 24-38 49-63 74-90
* 节点之间的空白间隔不计入进度范围
* @param checkInConfig 签到配置数组
* @param totalCheckIn 总签到天数
* @returns 进度条百分比
*/
calculateProgressPercent(checkInConfig: Array<{ days: number }>, totalCheckIn: number): number {
if (!checkInConfig || checkInConfig.length === 0 || totalCheckIn === 0) {
return 0;
}
// 进度条节点配置:每个节点的起始和结束百分比
const progressNodes = [
{ start: 0, end: 13 }, // 节点1: 0-13%
{ start: 24, end: 38 }, // 节点2: 24-38%
{ start: 49, end: 63 }, // 节点3: 49-63%
{ start: 74, end: 90 } // 节点4: 74-90%
];
// 找到当前签到天数对应的节点
let currentNode = 0;
for (let i = 0; i < checkInConfig.length; i++) {
if (totalCheckIn >= checkInConfig[i].days) {
currentNode = i;
} else {
break;
}
}
// 如果已经完成所有节点
if (currentNode >= progressNodes.length - 1) {
return progressNodes[progressNodes.length - 1].end;
}
// 获取当前节点的配置
const currentNodeConfig = progressNodes[currentNode];
const currentDays = checkInConfig[currentNode].days;
// 如果当前签到天数等于当前节点要求的天数,返回节点结束百分比
if (totalCheckIn === currentDays) {
return currentNodeConfig.end;
}
// 如果当前签到天数大于当前节点要求的天数,计算在下一个节点内的进度
if (totalCheckIn > currentDays) {
const nextDays = currentNode + 1 < checkInConfig.length ? checkInConfig[currentNode + 1].days : currentDays;
const nextNodeConfig = progressNodes[currentNode + 1];
const daysDiff = nextDays - currentDays;
const progressDiff = nextNodeConfig.end - nextNodeConfig.start;
const extraDays = totalCheckIn - currentDays;
const extraProgress = (extraDays / daysDiff) * progressDiff;
const result = Math.min(nextNodeConfig.start + extraProgress, nextNodeConfig.end);
return result;
}
// 如果当前签到天数小于第一个节点要求的天数,计算在第一个节点内的进度
if (currentNode === 0 && totalCheckIn < currentDays) {
const progressRatio = totalCheckIn / currentDays;
const nodeProgress = currentNodeConfig.end - currentNodeConfig.start;
const result = currentNodeConfig.start + (progressRatio * nodeProgress);
return result;
}
// 默认返回当前节点的起始百分比
return currentNodeConfig.start;
}
judgeActTime(brakeStart = true, brakeEnd = true) {
if (brakeStart && this.indexData.currentTime < this.indexData.actStartTime) {
Toast.show("活动未开始");
......@@ -289,10 +156,10 @@ class Store {
async initShare() {
const domain = await getDomain();
console.error('看下域名', domain);
let url = `${domain || location.origin}${CFG.index}`;
const url = `${domain || location.origin}${CFG.index}`;
const shareInfo = this.frontVariable?.shareInfo?.[0]
let option = {
const option = {
title: shareInfo?.title,
// 标题
desc: shareInfo?.desc || '',
......@@ -311,7 +178,7 @@ class Store {
let url = `${domain || location.origin}${CFG.index}`;
const shareInfo = this.frontVariable?.shareInfo?.[1]
let option = {
const option = {
title: shareInfo?.title,
// 标题
desc: shareInfo?.desc || '',
......@@ -329,7 +196,7 @@ class Store {
}
async doAssist() {
let inviteCode = getUrlParam('inviteCode')
const inviteCode = getUrlParam('inviteCode')
if (!inviteCode || inviteCode == 'null' || inviteCode == 'undefined') return false;
const { success, message, code } = await API.doAssist({ inviteCode: inviteCode });
history.replaceState({}, '', location.href.replace(new RegExp(`[?&]inviteCode=[^&]*`), ''));
......
......@@ -7,7 +7,7 @@ import HomePage from '@/pages/HomePage/HomePage';
import { windowJumpUrl } from '@/utils/utils';
import { Toast } from '@grace/ui';
import shareStore from './share';
import { handleTaskLogExposure } from '@/MD';
// import { handleTaskLogExposure } from '@/MD';
const taskStore = makeAutoObservable({
// 任务列表
taskInfo: {},
......@@ -28,10 +28,10 @@ const taskStore = makeAutoObservable({
this.taskList.forEach(el => {
const { code } = el;
if (el.taskStatus == 0) {
handleTaskLogExposure(28, code, 1);
// handleTaskLogExposure(28, code, 1);
}
if (el.taskStatus == 1) {
handleTaskLogExposure(28, code, 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