Commit c64461b9 authored by haiyoucuv's avatar haiyoucuv

init

parent e1759b46
import React, { ComponentType, Component } from "react";
import styles from "./ModalCtrl.module.less";
// import PrizePanel from "@/panels/PrizePanel/PrizePanel.tsx";
// import FailPanel from "@/panels/FailPanel/FailPanel.tsx";
import NewcomerPanel from "@/panels/NewcomerPanel/NewcomerPanel.tsx";
import WedExpPanel from "@/panels/WedExpPanel/WedExpPanel.tsx";
import SignSucPanel from "@/panels/SignSucPanel/SignSucPanel.tsx";
import VideoPanel from "@/panels/VideoPanel/VideoPanel.tsx";
// 弹窗优先级配置Map,key为弹窗组件名(建议用组件.displayName或组件名字符串),value为优先级数值
// 数值越大优先级越高,未配置的默认0
const modalPriorityMap = new Map<ComponentType<any>, number>([
// [PrizePanel, 20],
// [FailPanel, 15],
[NewcomerPanel, 20],
[WedExpPanel, 15],
[SignSucPanel, 15],
[VideoPanel, 10],
]);
interface ModalItem {
......
......@@ -30,6 +30,7 @@ import lightSvga from "@/assets/svga/5光点飘散.svga";
import API from "@/api";
import VideoPanel from "@/panels/VideoPanel/VideoPanel.tsx";
import ObtainPanel from "@/panels/ObtainPanel/ObtainPanel.tsx";
import NewcomerPanel from "@/panels/NewcomerPanel/NewcomerPanel.tsx";
@observer
......@@ -43,7 +44,6 @@ class HomePage extends React.Component<any, any> {
// if (getUrlParam('inviteCode')) {
// store.doAssist()
// }
}
clickPrize = () => {
......
......@@ -10,6 +10,7 @@ import { _asyncThrottle } from "@/utils/utils.ts";
import { ModalCtrl } from "@/core/ctrls/ModalCtrl.tsx";
import WedExpPanel from "@/panels/WedExpPanel/WedExpPanel.tsx";
import SignSucPanel from "@/panels/SignSucPanel/SignSucPanel.tsx";
import NewcomerPanel from "@/panels/NewcomerPanel/NewcomerPanel.tsx";
@observer
......@@ -29,6 +30,10 @@ class Sign extends React.Component<any, any> {
const { signCredits, extraCredits, boolLimit, multipleValue, url, taskId, newLuckCreditsNum } = data;
if (newLuckCreditsNum) {
ModalCtrl.showModal(NewcomerPanel, { creditNum: newLuckCreditsNum, });
}
if (boolLimit) {
// 周三限时奖励
ModalCtrl.showModal(WedExpPanel, data);
......
@import "../../res.less";
.NewcomerPanel {
width: 750px;
height: 1624px;
position: absolute;
left: 0;
top: 0;
.bgEffect {
width: 750px;
height: 1624px;
position: absolute;
left: 0;
top: 0;
}
.bg {
position: absolute;
left: 0;
top: 340px;
width: 750px;
height: 932px;
.webpBg("NewcomerPanel/bg.png");
}
.tip {
font-family: "zzgfyht";
font-size: 53.62px;
line-height: 1.2;
color: #8f2245;
position: absolute;
left: 0;
top: 520px;
width: 100%;
text-align: center;
}
.ok {
position: absolute;
left: 164px;
top: 973px;
width: 420px;
height: 123px;
.webpBg("NewcomerPanel/按钮.png");
}
.close {
position: absolute;
left: 336px;
top: 1242px;
width: 79px;
height: 79px;
.webpBg("common/close.png");
}
}
import React from "react";
import { observer } from "mobx-react";
import styles from "./NewcomerPanel.module.less";
import { Button } from "@grace/ui";
import { ModalCtrl } from "@/core/ctrls/ModalCtrl.tsx";
import classNames from "classnames";
import { SvgaPlayer } from "@grace/svgaplayer";
import bgEffectSvga from "@/assets/svga/2输出签到成功弹窗.svga";
export interface INewcomerPanelProps {
creditNum: number,
}
@observer
class NewcomerPanel extends React.Component<INewcomerPanelProps> {
componentDidMount() {
}
close = () => {
ModalCtrl.closeModal();
};
clickGet = () => {
ModalCtrl.closeModal();
};
render() {
const {creditNum} = this.props;
return <div className={classNames(styles.NewcomerPanel, "modal_center")}>
<SvgaPlayer className={styles.bgEffect} src={bgEffectSvga}/>
<div className={styles.bg}/>
<div className={styles.tip}>恭喜获得{creditNum}积分</div>
<div className="com_banner"/>
<Button className={styles.ok} onClick={this.clickGet}/>
<Button className={styles.close} onClick={this.close}/>
</div>;
}
}
export default NewcomerPanel;
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