<!-- 
[报名] 样式3 - 报名
http://localhost:5173/card/#/pages/bm/style4/signup
https://oss-mbh5.colormaprun.com/card/#/pages/bm/style4/signup
 -->
<template>
	<view class="body">
		<view v-if="pageReady" class="content uni-column">
			<view class="uni-column" :class="cssTop">
				<my-topbar :mcName="mcName" :class="cssTopbarColor" @btnBackClick="btnBack"
					@btnInfoClick="btnInfo"></my-topbar>

				<view class="topcontent uni-column uni-jcsa">
					<view class="logo"></view>
					<text v-if="configParam.subTitle.length > 0" class="top-acttime">{{configParam.subTitle}}</text>
					<text v-else class="top-acttime">{{fmtMcTime2(beginSecond, endSecond)}}</text>
				</view>
			</view>

			<view class="timebar uni-row">
				<image mode="aspectFit" class="clock" src="/static/default/clock.png"></image>
				<text class="acttime">{{acttime}}</text>
			</view>

			<view class="main uni-column uni-jct">
				<input class="uni-input" maxlength="12" :placeholder="'请填写'+configParam.labelName" placeholder-style="font-size: 14px;" v-model="nickName" @click="nickNameClick" />
				<e-select v-model="coiId" :options="coiRs" :props="eSelectionProps" clearable
					maxHeight="40vh" :placeholder="'请选择'+configParam.labelOrg+'（可输入关键字）'" @getText="getESelectText"
					@change="eSelectChange"></e-select>

				<view class="introduce uni-column">
					<text class="introduce-title">{{introduce.title}}</text>
					<text class="introduce-content" v-html="introduce.content"></text>
				</view>

				<view v-if="activityRules.content.length > 0" class="activityRules uni-column">
					<text class="activityRules-title">{{activityRules.title}}</text>
					<text class="activityRules-content" v-html="activityRules.content"></text>
				</view>

				<button class="btnSignup btnSignup-enable" v-if="mcState<=1" @click="btnSignup">报 名</button>
				<button class="btnSignup btnSignup-disable" v-if="mcState==2">活动已结束</button>

			</view>

			<my-popup ref="mypopup" :config="popupRuleConfig" :dataList="popupDataList" :acttime="acttime"></my-popup>

			<!-- <uni-popup ref="alertDialog" type="dialog">
				<uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="您填写的姓名:" @confirm="dialogConfirm"
					@close="dialogClose">
					<view class="dialog-content uni-column">
						<text class="dialog-content-1">{{nickName}}</text>
					</view>
				</uni-popup-dialog>
			</uni-popup> -->

			<uni-popup ref="alertDialog" type="dialog">
				<uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="你的报名信息:" @confirm="dialogConfirm"
					@close="dialogClose">
					<view class="dialog-content uni-column">
						<text class="dialog-content-1">{{mcName}}</text>
						<view class="uni-column uni-ais">
							<text class="dialog-content-2">{{configParam.labelName}}: {{nickName}}</text>
							<text class="dialog-content-2">{{configParam.labelOrg}}: {{coiName}}</text>
							<!-- <text class="dialog-content-2">{{teamName}}</text> -->
						</view>
					</view>
				</uni-popup-dialog>
			</uni-popup>
		</view>
	</view>
</template>

<script>
	import tools from '../../../common/tools';
	import {
		defaultPopUpDataList,
		defaultPopUpDataList2
	} from '../../../common/define';
	import {
		token,
		apiCardDetailQuery,
		apiOnlineMcSignUpDetail,
		apiOnlineMcSignUp,
		apiCardConfigQuery,
		apiMatchRsDetailQuery,
		checkResCode,
		checkToken
	} from '../../../common/api';

	export default {
		data() {
			return {
				pageReady: false,
				pageName: "signup",
				firstEnterKey: 'firstEnter-bm-style4',
				rankKey: "rank-bm-style4",
				queryObj: {},
				queryString: "",
				from: "", // 来源页面
				token: "",

				ecId: 0, // 卡片id
				mcId: 0, // 赛事id
				mcType: 0, // 赛事类型 1 普通活动 2 线下赛 3 线上赛
				mcName: "", // 赛事名称
				acttime: "", // 活动时间
				beginSecond: null, // 活动或赛事开始时间戳，单位秒
				endSecond: null, // 活动或赛事结束时间戳，单位秒
				coiId: 0, // 已报名单位id
				coiName: "", // 已报名单位名称，可为空
				teamNum: 0, // 已报名队伍编号，可为0
				nickName: "", // 昵称
				coiRs: [], // 组织信息集合
				// orgList: [], // 分组下拉列表数据源
				// teamList: [], // 
				interval: null,

				mcState: 0, // 赛事/活动状态 0: 未开始  1: 进行中  2: 已结束
				// teamType: 0, // 队伍类型  0: 红黄蓝紫 1: 学生/家长
				cssTop: "",
				cssTopbarColor: "",
				cssLogo: "",
				introduce: {
					title: "",
					content: ""
				},
				activityRules: {
					title: "",
					content: ""
				},
				popupRuleConfig: {}, // 规则弹窗配置
				popupDataList: [],
				configParam: {
					labelName: "昵称",
					labelOrg: "组织",
					subTitle: ""
				},

				eSelectionProps: {
					text: 'coiName',
					value: 'coiId',
					// disabled: 'noallowed'
				},
			}
		},
		computed: {},
		onLoad(query) { // 类型非必填，可自动推导
			// console.log(query);
			this.queryObj = query;
			this.queryString = tools.objectToQueryString(this.queryObj);
			// console.log(queryString);
			this.from = query["from"] ?? "";
			this.token = query["token"] ?? token;
			this.ecId = query["id"] ?? 0;

			this.firstEnterKey += "-" + this.ecId;
			console.log("firstEnterKey:", this.firstEnterKey);

			this.rankKey += "-" + this.ecId;
			console.log("rankKey:", this.rankKey);

			tools.removeCssCode();

			this.getCardConfigQuery();
			this.getCardDetailQuery();
			this.matchRsDetailQuery();
		},
		// 页面初次渲染完成，此时组件已挂载完成，DOM 树($el)已可用
		onReady() {
			// this.dealFirstEnter();
		},
		onUnload() {
			this.clear();
		},
		methods: {
			dealNotice(rank) {
				// console.log('[dealNotice]');
				let that = this;
				uni.getStorage({
					key: that.rankKey,
					success: (res) => {
						console.log('[getStorage]', that.rankKey, res.data);
						const oldRank = res.data;
						if (oldRank != rank) {
							// that.notice = true;
							that.setRankValue(rank);
						}
					},
					fail: (e) => {
						console.log('[getStorage] fail', that.rankKey, e);
						// that.notice = false;
						that.setRankValue(rank);
					},
				})
			},
			setRankValue(data) {
				let that = this;
				uni.setStorage({
					key: that.rankKey,
					data: data,
					success: () => {
						console.log('[setStorage] success', that.rankKey, data);
					},
					fail: (e) => {
						console.log('[setStorage] fail', that.rankKey, e);
					},
				})
			},
			dealFirstEnter() {
				// console.log('[dealFirstEnter]');
				let that = this;
				uni.getStorage({
					key: that.firstEnterKey,
					success: (res) => {
						console.log('[getStorage]', that.firstEnterKey, res.data);
					},
					fail: (e) => {
						console.log('[getStorage] fail', that.firstEnterKey, e);
						that.btnInfo();
						that.setFirstEnterValue(true);
					},
				})
			},
			setFirstEnterValue(data) {
				let that = this;
				uni.setStorage({
					key: that.firstEnterKey,
					data: data,
					success: () => {
						console.log('[setStorage] success', that.firstEnterKey, data);
					},
					fail: (e) => {
						console.log('[setStorage] fail', that.firstEnterKey, e);
					},
				})
			},
			clear() {
				if (this.interval != null) {
					clearInterval(this.interval);
					this.interval = null;
				}
			},
			loadConfig(config) {
				// console.log("config", config);

				// 加载CSS样式
				const css = config.css;
				if (css != undefined && css.length > 0) {
					tools.loadCssCode(css);

					if (css.indexOf(".top{") >= 0) {
						this.cssTop = "top";
					}
					if (css.indexOf(".topbar-color{") >= 0) {
						this.cssTopbarColor = "topbar-color";
					}
				}

				if (this.cssTop == "") {
					this.cssTop = "top-default";
				}
				if (this.cssTopbarColor == "") {
					this.cssTopbarColor = "topbar-color-default";
				}
				console.log("[loadConfig] cssTop:", this.cssTop);
				console.log("[loadConfig] cssTopbarColor:", this.cssTopbarColor);

				// 加载队伍类型  0: 红黄蓝紫 1: 学生/家长
				/* if (config.teamType != undefined && config.teamType >= 0) {
					this.teamType = config.teamType;
				} */

				// 加载介绍内容
				const introduce = config.introduce;
				if (introduce != undefined) {
					if (introduce.title != undefined) {
						this.introduce.title = introduce.title;
					}
					if (introduce.content != undefined) {
						this.introduce.content = introduce.content;
					}
				}

				// 加载活动规则
				const activityRules = config.activityRules;
				if (activityRules != undefined) {
					if (activityRules.title != undefined) {
						this.activityRules.title = activityRules.title;
					}
					if (activityRules.content != undefined) {
						this.activityRules.content = activityRules.content;
					}
				}

				// 加载规则弹窗配置
				const popupRuleConfig = config.popupRuleConfig;
				if (popupRuleConfig != undefined) {
					this.popupRuleConfig = popupRuleConfig;
				}
				// console.log("[loadConfig] popupRuleConfig:", this.popupRuleConfig);
				
				// 加载弹窗数据
				const popupDataList = config.popupDataList;
				// console.log("[loadConfig] popupDataList:", popupDataList);
				if (popupDataList != undefined && popupDataList.length > 0) {
					for (var i = 0; i < popupDataList.length; i++) {
						// console.log("[loadConfig] popupDataList", i, popupDataList[i]);
						if (popupDataList[i] == 'default') {
							for (var j = 0; j < defaultPopUpDataList.length; j++) {
								this.popupDataList.push(defaultPopUpDataList[j]);
							}
						} else if (popupDataList[i] == 'default2') {
							for (var j = 0; j < defaultPopUpDataList2.length; j++) {
								this.popupDataList.push(defaultPopUpDataList2[j]);
							}
						} else {
							this.popupDataList.push(popupDataList[i]);
						}
					}
				} else {
					this.popupDataList = defaultPopUpDataList;
					console.log("[loadConfig] popupDataList 加载默认列表");
				}
				// console.log("[loadConfig] popupDataList:", this.popupDataList);

				// 加载页面参数
				const param = config.param;
				if (param != undefined) {
					if (param.labelName != undefined && param.labelName.length > 0) {
						this.configParam.labelName = param.labelName;
					}
					if (param.labelOrg != undefined && param.labelOrg.length > 0) {
						this.configParam.labelOrg = param.labelOrg;
					}
					if (param.subTitle != undefined && param.subTitle.length > 0) {
						this.configParam.subTitle = param.subTitle;
					}
				}
				// console.log("[loadConfig] param:", this.configParam);
				
				this.pageReady = true;
			},
			fmtMcTime(timestamp) {
				return tools.fmtMcTime(timestamp);
			},
			// 获取倒计时
			getActtime() {
				this.acttime = tools.getActtime(this.beginSecond, this.endSecond);
			},
			fmtMcTime2(timestamp1, timestamp2) {
				return tools.fmtMcTime2(timestamp1, timestamp2);
			},
			getCardConfigQuery() {
				uni.request({
					url: apiCardConfigQuery,
					header: {
						"Content-Type": "application/x-www-form-urlencoded",
						"token": this.token,
					},
					method: "POST",
					data: {
						ecId: this.ecId,
						pageName: this.pageName
					},
					success: (res) => {
						// console.log("getCardConfigQuery", res)
						const data = res.data.data;
						const config = data.configJson != "" ? JSON.parse(data.configJson) : "";
						// console.log("configJson", data.configJson);
						/* const config = {
							"css": `
								.top{
									width: 100%;
									height: 220px;
									padding-top: 36px;
									justify-content: space-between;
									background-image: url('static/backgroud/top_bg_sddx2.png');
									background-repeat: no-repeat;
									background-position: center;
									background-size: cover;
								}
								.topbar-rule {
									color: #FFFFFF;
									border-radius: 4px;
									background: #FF870D;
								}
								.logo{
									width: 180.5px !important;
									height: 130.5px !important;
									background-image: url('static/logo/sddx_jjyjy.png');
								}
								.top-acttime{
									display: flex !important;
									font-size: 20px !important; 
									line-height: 30px !important;
								}
								.topbar-color{
									color: #ffffff;
								}
								.btnSignup-enable {
									background-color: #a43a07 !important;
								}
								.swiper-item-button {
									background-color: #a43a07 !important;
								}
								.uni-swiper-dot-active {
									background: #a43a07 !important;
								}
							`,
							"popupRuleConfig": {
								"height": "530px"
							},
							"popupDataList": [		
								{
									"type": 7,
									"data": {
										"topLogo": {
											"src": "/static/logo/sddx.png",
											"width": "80px",
											"height": "80px"
										},
										"title": "“筑梦宿州·创赢未来 ”特训营",
										"content": "<span style='display:block; text-align: center; margin: 20px; font-weight: bold;'>欢乐定向赛</span>　　欢迎加入“筑梦宿州·创赢未来”特训营定向赛！在这里，你将亲历百年奥运精英运动——定向运动，体验个人与团队目标的完美融合，过程中运动与智慧并重。完赛即享奖励，最佳团队更享奖上奖！让我们携手加油吧！<br><br><span style='display:block; text-align: right;'>山东大学经济研究院</span>",
										"imageList": []
									}
								},
								{
									"type": 7,
									"data": {
										"topLogo": {
											"src": "/static/logo/sddx.png",
											"width": "80px",
											"height": "80px"
										},
										"title": "活动流程",
										"content": "<span style='line-height: 30px;'>① 选择战队赛事报名 ↓ <br>② 选择场地导航至起点 ↓ <br>③ 进入活动起点打点 ↓ <br>④ 按序号依次打点 ↓ <br>⑤ 知识问答 ↓ <br>⑥ 终点打点 ↓ <br>⑦ 查看成绩 ↓ <br>⑧ 获得奖励</span>",
										"imageList": []
									}
								},								
								{
									"type": 7,
									"data": {
										"topLogo": {
											"src": "/static/logo/sddx.png",
											"width": "80px",
											"height": "80px"
										},
										"title": "定向运动怎么玩？",
										"content": "",
										"imageList": [{
											"src": "/static/common/qrcode_spjc.png",
											"width": "140.5px",
											"height": "163.5px"
										}]
									}
								},
								{
									"type": 7,
									"data": {
										"topLogo": {
											"src": "/static/logo/sddx.png",
											"width": "80px",
											"height": "80px"
										},
										"title": "赛事规则及奖励",
										"content": "<br><span style='line-height: 22px;'>规则：<br>1. 选择心仪战队，共筑个人与战队荣耀。<br>2. 在规定的时间内，<span style='color: #FF8D1A;'>不限完赛次数</span>，最终成绩以完赛累计积分计算。<br>3. 途经点成功打点1积分，正确答题1积分。<br>4. 未成功完赛（未打结束点）积分不计入。<br><br>奖励：<br><span style='color: #FF8D1A;'>完赛奖、最佳战队奖、个人前三名</span></span>",
										"imageList": []
									}
								},
								"default2"
							],
							"introduce": {
								"title": "介绍：",
								"content": "　　欢迎加入“筑梦宿州·创赢未来”特训营定向赛！在这里，你将亲历百年奥运精英运动——定向运动，体验个人与团队目标的完美融合，过程中运动与智慧并重。完赛即享奖励，最佳团队更享奖上奖！让我们携手加油吧！<br><br><span style='display:block; text-align: right;'>山东大学经济研究院</span>"
							},
							"param": {
								"labelName": "姓名",
								"labelOrg": "战队",
								"subTitle": "“筑梦宿州·创赢未来 ”特训营"
							}
						}; */

						this.loadConfig(config);

						setTimeout(this.dealFirstEnter, 500);
					},
					fail: (err) => {
						console.log("getCardConfigQuery err", err)
					},
				});
			},
			// 卡片信息查询
			getCardDetailQuery() {
				uni.request({
					url: apiCardDetailQuery,
					header: {
						"Content-Type": "application/x-www-form-urlencoded",
						"token": this.token
					},
					method: "POST",
					data: {
						ecId: this.ecId
					},
					success: (res) => {
						// console.log("getCardDetailQuery", res);
						const data = res.data.data;
						this.mcType = data.mcType;
						this.mcId = data.mcId;
						this.mcName = data.mcName;
						this.beginSecond = data.beginSecond;
						this.endSecond = data.endSecond;
						this.coiId = data.coiId;
						this.coiName = data.coiName;
						this.teamNum = data.teamNum;
						this.nickName = data.nickName;

						this.mcState = tools.checkMcState(this.beginSecond, this.endSecond);

						this.getActtime();
						this.getOnlineMcSignUpDetail();

						this.clear();
						this.interval = setInterval(this.getActtime, 60000);
					},
					fail: (err) => {
						console.log("getCardDetailQuery err", err)
					},
				});
			},
			// 卡片对应线上赛多个活动查询
			matchRsDetailQuery() {
				uni.request({
					url: apiMatchRsDetailQuery,
					header: {
						"Content-Type": "application/x-www-form-urlencoded",
						"token": this.token,
					},
					method: "POST",
					data: {
						ecId: this.ecId
					},
					success: (res) => {
						// console.log("matchRsDetailQuery", res);
						if (res.data.code == 0) {
							const data = res.data.data;
							const rank = JSON.stringify(data);
							this.dealNotice(rank);
						}
					},
					fail: (err) => {
						console.log("matchRsDetailQuery err", err)
					},
				});
			},
			// 卡片用户当前排名查询
			// getUserCurrentRankNumQuery() {
			// 	uni.request({
			// 		url: apiUserCurrentRankNumQuery,
			// 		header: {
			// 			"Content-Type": "application/x-www-form-urlencoded",
			// 			"token": this.token,
			// 		},
			// 		method: "POST",
			// 		data: {
			// 			ecId: this.ecId
			// 		},
			// 		success: (res) => {
			// 			// console.log("getUserCurrentRankNumQuery", res)
			// 			if (res.data.code == 0) {
			// 				const data = res.data.data;
			// 				const rankNum = data.rankNum;
			// 				this.dealNotice(rankNum);
			// 			}
			// 		},
			// 		fail: (err) => {
			// 			console.log("getUserCurrentRankNumQuery err", err)
			// 		},
			// 	});
			// },
			// 线上赛报名页面信息详情
			getOnlineMcSignUpDetail() {
				uni.request({
					url: apiOnlineMcSignUpDetail,
					header: {
						"Content-Type": "application/x-www-form-urlencoded",
						"token": this.token,
					},
					method: "POST",
					data: {
						mcId: this.mcId,
					},
					success: (res) => {
						// console.log("getOnlineMcSignUpDetail", res);
						this.coiRs = res.data.data.coiRs;
						if (this.nickName == undefined || this.nickName == '') {
							this.nickName = res.data.data.name;
						}
						/* const rsNum = this.coiRs.length;
						this.orgList = [];
						for (let i = 0; i < rsNum; i++) {
							this.orgList[i] = {};
							this.orgList[i].value = this.coiRs[i].coiId;
							this.orgList[i].text = this.coiRs[i].coiName;
							this.orgList[i].teamNum = this.coiRs[i].teamNum;
						}
						// console.log("orgList", this.orgList);
						if (this.coiId > 0) {
							this.orgChange(this.coiId, false);
						} */
					},
					fail: (err) => {
						console.log("getOnlineMcSignUpDetail err", err)
					},
				});
			},
			// 线上赛报名
			onlineMcSignUp() {
				uni.request({
					url: apiOnlineMcSignUp,
					header: {
						"Content-Type": "application/x-www-form-urlencoded",
						"token": this.token,
					},
					method: "POST",
					data: {
						mcId: this.mcId,
						coiId: this.coiId,
						selectTeam: this.teamNum,
						nickName: this.nickName
					},
					success: (res) => {
						// console.log("onlineMcSignUp", res);

						if (checkResCode(res)) {
							uni.showToast({
								title: '比赛报名成功！',
								icon: 'none',
								duration: 3000
							});

							// uni.navigateTo({
							// 	// url: '/pages/bm/style4/rankOverview?' + this.queryString
							// 	url: '/pages/bm/style4/rankList?' + this.queryString
							// });
							const url = '/pages/bm/style4/rankList?' + this.queryString;
							tools.appAction(url, "uni.navigateTo");
						}
					},
					fail: (err) => {
						console.log("onlineMcSignUp err", err);
						uni.showToast({
							title: '出错了，报名失败',
							icon: 'none',
							duration: 3000
						});
					},
				});
			},
			btnBack() {
				// console.log("from:", this.from)
				if (this.from != '') {
					// window.history.back();
					// uni.navigateTo({
					// 	url: '/pages/bm/style4/' + this.from + '?' + this.queryString
					// });
					const url = '/pages/bm/style4/' + this.from + '?' + this.queryString;
					tools.appAction(url, "uni.navigateTo");
				} else {
					const url = `action://to_home/`;
					tools.appAction(url);
				}
			},
			btnInfo() {
				this.$refs.mypopup.popupOpen();
			},
			nickNameClick() {
				checkToken(this.token);
			},
			btnSignup() {
				if (!checkToken(this.token)) {
					return;
				}

				if (!(this.nickName.trim().length > 0)) {
					uni.showToast({
						title: `请填写${this.configParam.labelName}`,
						icon: 'none',
						duration: 2000
					});
					return;
				}

				if (!(this.coiId > 0)) {
					uni.showToast({
						title: `请选择${this.configParam.labelOrg}`,
						icon: 'none',
						duration: 2000
					});
					return;
				}

				this.nickName = this.nickName.trim();
				// this.coiName = tools.getSelectedText(this.orgList, this.coiId);
				// this.teamName = tools.getSelectedText(this.teamList, this.teamNum);

				this.$refs.alertDialog.open();
			},
			dialogConfirm() {
				this.onlineMcSignUp();
			},
			dialogClose() {},
			// 获取输入框中值
			getESelectText(data) {
				// console.log("getESelectText:", data);
				this.coiName = data;
			},
			// 获取选择选项值
			eSelectChange(data) {
				// console.log("eSelectChange:", data);
			},
		}
	}
</script>

<style scoped>
	.content {
		width: 100vw;
		min-height: 100vh;
	}

	.top-default {
		width: 100%;
		height: 220px;
		padding-top: 36px;
		justify-content: space-between;
		background-image: url('static/backgroud/top_bg_sddx.png');
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	.topbar-color-default {
		color: #333333;
	}

	.topcontent {
		height: 90%;
		margin-bottom: 30px;
	}

	.logo {
		width: 80px;
		height: 80px;
		margin-top: 10px;
		/* background-image: url('/static/logo/sddx.png'); */
		background-repeat: no-repeat;
		background-position-x: center;
		background-position-y: center;
		background-size: contain;
	}

	.top-acttime {
		display: none;
		text-shadow: 3px 3px 0px #640008;
		font-family: YouSheBiaoTiHei;
		/* font-family: Arial, Helvetica, sans-serif; */
		font-weight: bold;
		color: #ffee0b;
		font-size: 26px;
	}

	.mcName {
		font-size: 40rpx;
		font-weight: 550;
	}

	.main {
		width: 76%;
		/* min-height: 800rpx; */
		/* margin-top: 20rpx; */
		/* justify-content: space-around; */
		flex-grow: 1;
	}

	.timebar {
		min-width: 68%;
		height: 32px;
		margin-top: -17px;
		padding: 0 15px;
		justify-content: center;
		background: #ffffff;
		border: 0.5px solid;
		border-color: #e7e7e7;
		border-radius: 20px;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.13);
	}

	.acttime {
		font-weight: 550;
		color: #333333;
		font-size: 14px;
		text-wrap: nowrap;
	}

	.clock {
		width: 15px;
		height: 15px;
		margin-right: 10px;
	}

	.uni-input {
		width: 90%;
		height: 34px;
		margin-top: 15px;
		margin-bottom: 15px;
		padding: 0 13px;
		/* background: #f1f1f1; */
		border: 1px solid #dcdfe6;
		border-radius: 4px;
		font-size: 14px;
	}

	.input-placeholder {
		color: #333333;
		font-size: 16px;
	}

	.introduce {
		width: 100%;
		margin-top: 12px;
		margin-bottom: 10px;
		align-items: flex-start;
		justify-content: space-around;
	}

	.introduce-title {
		color: #333333;
		font-size: 15px;
		line-height: 30px;
		font-family: Source Han Sans CN;
	}

	.introduce-content {
		color: #333333;
		font-size: 14px;
		line-height: 23px;
		font-family: Source Han Sans CN;
	}

	.activityRules {
		width: 100%;
		margin-top: 5px;
		margin-bottom: 10px;
		padding: 10px 15px;
		align-items: flex-start;
		justify-content: space-around;
		border-radius: 9px;
		background: #EBEBEB;
	}

	.activityRules-title {
		color: #333333;
		font-size: 14px;
		line-height: 25px;
		font-weight: 500;
		font-family: Source Han Sans CN;
	}

	.activityRules-content {
		color: #333333;
		font-size: 13px;
		line-height: 23px;
		font-family: Source Han Sans CN;
	}

	.btnSignup {
		width: 100%;
		height: 100rpx;
		margin-top: 30rpx;
		margin-bottom: 30rpx;
		color: white;
		font-weight: bold;
		line-height: 100rpx;
		border-radius: 55rpx;
	}

	.btnSignup-enable {
		background-color: #81cd00;
	}

	.btnSignup-disable {
		background-color: #c3c3c3;
	}

	.dialog-content {
		width: 280px;
		height: 110px;
		padding: 0 20px;
		background: #f1f1f1;
		border-radius: 9px;
		justify-content: center;
		text-align: center;
		font-weight: 550;
		color: #333333;
	}

	.dialog-content-1 {
		font-size: 34rpx;
		margin-bottom: 30rpx;
	}

	.dialog-content-2 {
		font-size: 28rpx;
		margin-bottom: 10rpx;
		text-align: left;
	}
</style>