Commit c7d8d6d3 authored by 徐士卿's avatar 徐士卿

merge

parent 1cde35b5
...@@ -9,6 +9,8 @@ export default [ ...@@ -9,6 +9,8 @@ export default [
"message": "dolor reprehenderit ex culpa veniam", "message": "dolor reprehenderit ex culpa veniam",
"data": { "data": {
"choosedChallengeId": "2", "choosedChallengeId": "2",
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737,
"challengeConfigList": [ "challengeConfigList": [
{ {
"challengeId": "1", "challengeId": "1",
...@@ -17,8 +19,6 @@ export default [ ...@@ -17,8 +19,6 @@ export default [
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png", "prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 666, "resignJf": 666,
"resignQg": 666, "resignQg": 666,
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737
}, },
{ {
"challengeId": "2", "challengeId": "2",
...@@ -27,8 +27,6 @@ export default [ ...@@ -27,8 +27,6 @@ export default [
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png", "prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 888, "resignJf": 888,
"resignQg": 888, "resignQg": 888,
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737
}, },
{ {
"challengeId": "3", "challengeId": "3",
...@@ -37,8 +35,6 @@ export default [ ...@@ -37,8 +35,6 @@ export default [
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png", "prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 999, "resignJf": 999,
"resignQg": 999, "resignQg": 999,
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737
}, },
{ {
"challengeId": "4", "challengeId": "4",
...@@ -47,14 +43,12 @@ export default [ ...@@ -47,14 +43,12 @@ export default [
"prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png", "prizeImg": "//yun.duiba.com.cn/polaris/045CCBB8-F6C7-43DB-9F81-45F52430A878.441c8f13daf61c48b85fe383e764d9089f1d4a66.png",
"resignJf": 999, "resignJf": 999,
"resignQg": 999, "resignQg": 999,
"challengeStartTime": 27404105.225178465,
"challengeEndTime": -87229323.37597737
} }
], ],
"hasChallengeDay": 5, "hasChallengeDay": 5,
"latestChallengeSuccessTime": 5, "latestChallengeSuccessTime": 5,
"boolNeedResign": false, "boolNeedResign": true,
"boolNeedResignPop": false, "boolNeedResignPop": true,
"taskInfoList": [ "taskInfoList": [
{ {
"code": "sign", "code": "sign",
...@@ -104,10 +98,10 @@ export default [ ...@@ -104,10 +98,10 @@ export default [
{ {
"code": "scan_{n}", "code": "scan_{n}",
"icon": "//yun.duiba.com.cn/polaris/credits.55f43bd9eece2d29fd077bbad5f38ea147938c45.png", "icon": "//yun.duiba.com.cn/polaris/credits.55f43bd9eece2d29fd077bbad5f38ea147938c45.png",
"subTitle": "看视频", "subTitle": "扫码",
"title": "看视频", "title": "扫码",
"completedSize": 3, "completedSize": 3,
"intervalLimitSize": 3, "intervalLimitSize": 6,
"intervalType": -54395962.26549375 "intervalType": -54395962.26549375
}, },
{ {
......
...@@ -203,139 +203,7 @@ export default [ ...@@ -203,139 +203,7 @@ export default [
"success": true, "success": true,
"message": "message", "message": "message",
"timeStamp": Date.now(), "timeStamp": Date.now(),
"data": [ "data": {}
{
"extra": {
"name": "现金奖励——发放成功",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"strategyId": 11,
"gmtCreate": 1565213353000,
"id": 331,
"prizeId": "g4c4c3edd",
"type": 4,
"moneyStatus": 1,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "现金奖励——可以补发",
"icon": "//yun.duiba.com.cn/polaris/%E6%95%B0%E6%8D%AE%E5%86%B3%E7%AD%96%E5%B7%A5%E5%85%B7.531c2dae250ab379fd6216eb038e60bc12ab9dd6.png",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"strategyId": 11,
"gmtCreate": 1565213116000,
"id": 330,
"prizeId": "g0e432eeb",
"type": 4,
"moneyStatus": 11,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "现金奖励——发放中",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"strategyId": 11,
"gmtCreate": 1565212826000,
"id": 329,
"prizeId": "g900c8442",
"type": 4,
"moneyStatus": 11,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "优惠券-大转盘01",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"gmtCreate": 1565205625000,
"id": 328,
"strategyId": 11,
"prizeId": "g4c7ba888",
"type": 1,
"moneyStatus": 1,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "优惠券-大转盘05",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"strategyId": 11,
"gmtCreate": 1565203101000,
"id": 327,
"prizeId": "g900c8442",
"type": 1,
"moneyStatus": 1,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "优惠券-大转盘03",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"strategyId": 11,
"gmtCreate": 1565203040000,
"id": 326,
"prizeId": "g0e432eeb",
"type": 1,
"moneyStatus": 1,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
{
"extra": {
"name": "优惠券-大转盘04",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"gmtCreate": 1565197386000,
"id": 325,
"prizeId": "gc1a8c03c"
},
{
"extra": {
"name": "last",
"icon": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"refType": "coupon",
"refId": "49354",
"type": 2
},
"gmtCreate": 1565197080000,
"id": 324,
"strategyId": 11,
"prizeId": "g0e432eeb",
"type": 1,
"moneyStatus": 1,
"moneyCanReissueStartTimestamp": 1565213353000,
"moneyCanReissueEndTimestamp": 1565213353000,
},
],
} }
}, },
}, },
......
'use strict'; "use strict";
import React from 'react'; import React from "react";
import { observer } from 'mobx-react'; import { observer } from "mobx-react";
import './finish_challenge.less'; import "./finish_challenge.less";
import { Button } from '@grace/ui'; import { Button } from "@grace/ui";
import { PageCtrl } from '@/core/ctrls/PageCtrl'; import { PageCtrl } from "@/core/ctrls/PageCtrl";
import { ModalCtrl } from '@/core/ctrls/ModalCtrl'; import { ModalCtrl } from "@/core/ctrls/ModalCtrl";
@observer @observer
class Finish_challenge extends React.Component { class Finish_challenge extends React.Component {
...@@ -15,22 +15,23 @@ class Finish_challenge extends React.Component { ...@@ -15,22 +15,23 @@ class Finish_challenge extends React.Component {
handleclose = () => { handleclose = () => {
ModalCtrl.closeModal(); ModalCtrl.closeModal();
} };
handlehappy = () => { handlehappy = () => {
ModalCtrl.closeModal(); ModalCtrl.closeModal();
} };
render() { render() {
const { prizeName, prizeImg } = this.props;
return ( return (
<div className="finish_challenge modal_center"> <div className="finish_challenge modal_center">
<span className="dongxiao"></span> <span className="dongxiao"></span>
<span className="bg"></span> <span className="bg"></span>
<span className="title"></span> <span className="title"></span>
<span className="tip">获得xxx奖励</span> <span className="tip">获得{prizeName}奖励</span>
<Button className="close" onClick={this.handleclose} /> <Button className="close" onClick={this.handleclose} />
<Button className="happy" onClick={this.handlehappy} /> <Button className="happy" onClick={this.handlehappy} />
<span className="icon"></span> <img className="icon" src={prizeImg} />
<span className="ditu"></span> <span className="ditu"></span>
</div> </div>
); );
......
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
left: 238px; left: 238px;
top: 527px; top: 527px;
position: absolute; position: absolute;
border-radius: 15px;
.sparkBg("finish_challenge/icon.png"); .sparkBg("finish_challenge/icon.png");
} }
......
...@@ -19,6 +19,10 @@ class Renewmodule extends React.Component { ...@@ -19,6 +19,10 @@ class Renewmodule extends React.Component {
}; };
} }
componentDidMount() {
store.getBaseIndex();
}
handleClick = (choice) => { handleClick = (choice) => {
this.setState({ activeChoice: choice }); this.setState({ activeChoice: choice });
}; };
...@@ -61,7 +65,8 @@ class Renewmodule extends React.Component { ...@@ -61,7 +65,8 @@ class Renewmodule extends React.Component {
render() { render() {
const { activeChoice } = this.state; const { activeChoice } = this.state;
const { hasChallengeDay, resignJf, resignQg, jfNum, qgNum } = this.props; const { hasChallengeDay, resignJf, resignQg } = this.props;
const { jfNum, qgNum } = store?.baseInfo || {};
// qg是否足够 // qg是否足够
const inferQg = qgNum >= resignQg; const inferQg = qgNum >= resignQg;
......
...@@ -16,27 +16,16 @@ class Check extends React.Component<any, any> { ...@@ -16,27 +16,16 @@ class Check extends React.Component<any, any> {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = {
baseInfo: {}
};
} }
componentDidMount() { componentDidMount() {
store.getTaskInfo() store.getTaskInfo()
this.getBaseIndex() store.getBaseIndex()
}
async getBaseIndex() {
const { success, data } = await API.getChallengeBaseIndex()
if (!success) return;
this.setState({
baseInfo: data
});
} }
// 按钮 // 按钮
handlegofinish = (type, n, code, title) => { handlegofinish = (type, n, code, title) => {
const { jfNum = 0, qgNum = 0 } = this.state?.baseInfo || {}; const { jfNum = 0, qgNum = 0 } = store?.baseInfo || {};
if (type === "xhqg") { if (type === "xhqg") {
if (n <= qgNum) { if (n <= qgNum) {
ModalCtrl.showModal(Consume_qg, { n, code, title }); ModalCtrl.showModal(Consume_qg, { n, code, title });
...@@ -56,8 +45,8 @@ class Check extends React.Component<any, any> { ...@@ -56,8 +45,8 @@ class Check extends React.Component<any, any> {
}; };
handlegosign = _asyncThrottle((hasChallengeDay, resignJf, resignQg, { jfNum = 0, qgNum = 0 } = this.state?.baseInfo || {}) => { handlegosign = _asyncThrottle((hasChallengeDay, resignJf, resignQg) => {
ModalCtrl.showModal(Renewmodule, { hasChallengeDay, resignJf, resignQg, jfNum, qgNum }); ModalCtrl.showModal(Renewmodule, { hasChallengeDay, resignJf, resignQg });
}); });
handlefinish = _asyncThrottle(() => { handlefinish = _asyncThrottle(() => {
...@@ -75,6 +64,8 @@ class Check extends React.Component<any, any> { ...@@ -75,6 +64,8 @@ class Check extends React.Component<any, any> {
choosedChallengeId = 0, choosedChallengeId = 0,
hasChallengeDay = 0, hasChallengeDay = 0,
boolNeedResign, boolNeedResign,
challengeStartTime = 0,
challengeEndTime = 0,
challengeConfigList = [], challengeConfigList = [],
taskInfoList = [], taskInfoList = [],
} = store?.taskInfo || {}; } = store?.taskInfo || {};
...@@ -87,8 +78,6 @@ class Check extends React.Component<any, any> { ...@@ -87,8 +78,6 @@ class Check extends React.Component<any, any> {
// 当前挑战信息 // 当前挑战信息
const { const {
challengeTotalDay = 0, challengeTotalDay = 0,
challengeStartTime = 0,
challengeEndTime = 0,
prizeName = '', prizeName = '',
prizeImg = '', prizeImg = '',
resignJf = 0, resignJf = 0,
......
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
// .sparkBg("rulePage/bg.png"); // .sparkBg("rulePage/bg.png");
} }
.back { .back {
width: 69px; left: 20px;
height: 68px; top: 60px;
left: 26px; width: 28px;
top: 46px; height: 43px;
position: absolute; position: absolute;
// .sparkBg("rulePage/back.png"); .webpBg("MyPrize/返回.png");
} }
} }
\ No newline at end of file
...@@ -8,7 +8,7 @@ import { ModalCtrl } from '@/core/ctrls/ModalCtrl'; ...@@ -8,7 +8,7 @@ import { ModalCtrl } from '@/core/ctrls/ModalCtrl';
import Choice_challenge from '../../src/components/choice_challenge/choice_challenge'; import Choice_challenge from '../../src/components/choice_challenge/choice_challenge';
import SkyFullGoldPanel from "@/panels/SkyFullGoldPanel/SkyFullGoldPanel.tsx"; import SkyFullGoldPanel from "@/panels/SkyFullGoldPanel/SkyFullGoldPanel.tsx";
import Renewmodule from '../../src/components/renewmodule/renewmodule'; import Renewmodule from '../../src/components/renewmodule/renewmodule';
import Finish_task from '../../src/components/finish_task/finish_task'; import Finish_challenge from '../../src/components/finish_challenge/finish_challenge';
import { IBubbleInfo } from "@/pages/HomePage/Top/Components/Bubble.ts"; import { IBubbleInfo } from "@/pages/HomePage/Top/Components/Bubble.ts";
import { IOverflowBubbleInfo } from "@/pages/HomePage/Top/Components/OverflowBubble.ts"; import { IOverflowBubbleInfo } from "@/pages/HomePage/Top/Components/OverflowBubble.ts";
...@@ -18,6 +18,8 @@ class Store { ...@@ -18,6 +18,8 @@ class Store {
makeAutoObservable(this); makeAutoObservable(this);
} }
baseInfo: any = {};
/** 前端开发配置 */ /** 前端开发配置 */
frontVariable: { frontVariable: {
shareInfo: IWxShareInfo, shareInfo: IWxShareInfo,
...@@ -118,13 +120,13 @@ class Store { ...@@ -118,13 +120,13 @@ class Store {
taskInfo: { taskInfo: {
boolOpenChallenge?: boolean; boolOpenChallenge?: boolean;
choosedChallengeId?: string; choosedChallengeId?: string;
challengeStartTime: number;
challengeEndTime: number;
hasChallengeDay?: number; hasChallengeDay?: number;
boolNeedResign?: boolean; boolNeedResign?: boolean;
challengeConfigList?: Array<{ challengeConfigList?: Array<{
challengeId: string; challengeId: string;
challengeTotalDay: number; challengeTotalDay: number;
challengeStartTime: number;
challengeEndTime: number;
prizeName: string; prizeName: string;
prizeImg: string; prizeImg: string;
resignJf: number; resignJf: number;
...@@ -142,20 +144,51 @@ class Store { ...@@ -142,20 +144,51 @@ class Store {
boolNeedChallengeCompletePop?: boolean; boolNeedChallengeCompletePop?: boolean;
latestChallengeSuccessTime?: number; latestChallengeSuccessTime?: number;
boolNeedResignPop?: boolean; boolNeedResignPop?: boolean;
} = {}; } = {
challengeStartTime: 0,
challengeEndTime: 0
};
async getBaseIndex() {
const { success, data } = await API.getChallengeBaseIndex()
if (!success) return;
this.baseInfo = data;
}
async getTaskInfo() { async getTaskInfo() {
const { success, data } = await API.getChallengeIndex(); const { success, data } = await API.getChallengeIndex();
if (success && data) { if (success && data) {
this.taskInfo = data this.taskInfo = data
const { boolOpenChallenge = 0,
choosedChallengeId = 0,
hasChallengeDay = 0,
boolNeedResign,
challengeConfigList = [],
taskInfoList = [],
} = this?.taskInfo || {};
// 找到当前挑战信息项
const currentChallenge = challengeConfigList.find(
item => item.challengeId === choosedChallengeId
);
// 当前挑战信息
const {
challengeTotalDay = 0,
prizeName = '',
prizeImg = '',
resignJf = 0,
resignQg = 0,
} = currentChallenge || {};
if (!data.choosedChallengeId) { if (!data.choosedChallengeId) {
ModalCtrl.showModal(Choice_challenge) ModalCtrl.showModal(Choice_challenge)
} }
if(data.boolNeedResignPop) { if (data.boolNeedResignPop) {
ModalCtrl.showModal(Renewmodule) ModalCtrl.showModal(Renewmodule, { hasChallengeDay, resignJf, resignQg });
} }
if(data.boolNeedChallengeCompletePop){ if (data.boolNeedChallengeCompletePop) {
ModalCtrl.showModal(Finish_task) ModalCtrl.showModal(Finish_challenge, { prizeName, prizeImg })
} }
} }
}; };
......
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