2024-03-21 10:49:21 +08:00
|
|
|
<template>
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="homeMain_max">
|
2025-06-03 14:57:18 +08:00
|
|
|
<div class="leftBox" :class="{leftHide:leftShow}">
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="left">
|
|
|
|
|
<div class="title">
|
|
|
|
|
<span>AiDA</span>
|
2025-06-03 14:57:18 +08:00
|
|
|
<svg @click="()=>leftShow=!leftShow" class="leftShowOrHide" xmlns="http://www.w3.org/2000/svg" width="2rem" height="2rem" fill="currentColor" viewBox="0 0 24 24" data-v-1c7326d6=""><path fill-rule="evenodd" d="M6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2V5H6Zm4 0v14h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-8ZM3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Z" clip-rule="evenodd" data-v-1c7326d6=""></path></svg>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="newObj marginT2" @click="newProject">
|
2025-05-08 14:09:12 +08:00
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12.5 5v14m-7-7h14"></path></svg>
|
2025-05-20 16:47:27 +08:00
|
|
|
<p>New Project</p>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="navList marginT2">
|
|
|
|
|
<div class="tools list" v-for="item in openTypeList" :class="{active:openType == item.value}">
|
2025-06-03 14:57:18 +08:00
|
|
|
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="titleBox" @click="setOpenType(item.value,item.list)">
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="left">
|
|
|
|
|
<i :class="['fi',item.icon]"></i>
|
|
|
|
|
<span>{{item.label}}</span>
|
2024-07-29 17:30:39 +08:00
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="right">
|
|
|
|
|
<i class="fi fi-br-angle-small-down"></i>
|
2024-07-29 17:30:39 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="detailBox" v-show="openType">
|
|
|
|
|
<div class="detail" v-if="item.value != 'history' && item.value != 'cloud'" v-show="openType == item.value">
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="detailItem" v-for="childItem in item.list" @click="setRouter(item,childItem)" :class="{active:openTypeChild == childItem.value}">
|
|
|
|
|
<i v-show="childItem.icon" :class="['fi',childItem.icon]"></i>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="text">
|
|
|
|
|
<span>{{ childItem.label }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="detail" v-else-if="item.value == 'history'">
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="detailItem history" v-for="childItem,index in item.list" @click="setHistory(item,childItem)" :class="{active:openTypeChild == childItem.id}">
|
|
|
|
|
<div class="text" style="width: 100%;">
|
|
|
|
|
<span :title="childItem.name" v-show="!childItem.editName">{{ childItem.name }}</span>
|
2025-05-28 10:28:07 +08:00
|
|
|
<textarea v-model="historyData.historyTextarea" v-show="childItem.editName" @click.stop></textarea>
|
2025-05-20 16:47:27 +08:00
|
|
|
</div>
|
2025-06-11 15:08:17 +08:00
|
|
|
<div class="type">{{ childItem.process.replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, char => char.toUpperCase()) }}</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="time">{{ childItem.updateTime.replace('T', ' ') }}</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="btn">
|
2025-06-11 15:08:17 +08:00
|
|
|
<i class="fi fi-br-menu-dots-vertical" v-show="!childItem.editName" @click.stop="editHistory(childItem,index,$event,item.list)"></i>
|
2025-05-20 16:47:27 +08:00
|
|
|
<i class="fi fi-br-check" v-show="childItem.editName" @click.stop="accomplishHistory(childItem,index,$event)"></i>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="operation" v-show="historyData.selectHistoryIndex == index">
|
|
|
|
|
<div class="item" @click.stop="editName(childItem)">
|
2025-05-20 16:47:27 +08:00
|
|
|
<i class="fi fi-rr-edit"></i>
|
|
|
|
|
<span>Rename</span>
|
2025-05-28 10:28:07 +08:00
|
|
|
</div>
|
2025-06-03 14:57:18 +08:00
|
|
|
<div class="item" v-if="childItem.process == 'SINGLE_DESIGN' || childItem.process == 'SERIES_DESIGN'" @click.stop="setting(childItem)">
|
2025-05-28 10:28:07 +08:00
|
|
|
<i class="fi fi-rr-settings-sliders"></i>
|
2025-05-21 20:05:08 +08:00
|
|
|
<span>Setting</span>
|
2025-05-20 16:47:27 +08:00
|
|
|
</div>
|
2025-06-09 10:25:54 +08:00
|
|
|
<div class="item" v-if="bathGenerationList.indexOf(childItem.process)>-1" @click.stop="bathGeneration(childItem)">
|
|
|
|
|
<i class="fi fi-rr-settings-sliders"></i>
|
|
|
|
|
<span>Batch Generation</span>
|
|
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="item" @click.stop="deleteItem(childItem)">
|
|
|
|
|
<i class="icon iconfont icon-shanchu operate_icon"></i>
|
|
|
|
|
<span>Delete</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div v-show="!historyData.isNoData" class="material_content_list_loding">
|
|
|
|
|
<span class="historyPage_loading" v-show="!historyData.isShowLoading"></span>
|
|
|
|
|
<span v-show="historyData.isShowLoading">
|
2025-05-20 16:47:27 +08:00
|
|
|
<a-spin size="large" />
|
|
|
|
|
</span>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<img v-show="historyData.isNoData && historyData.isNull" src="@/assets/images/homePage/null_img.png">
|
2024-12-11 16:26:36 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="navListBottom">
|
|
|
|
|
<div class="tools marginT2 list" :class="{active:$route.name == 'cloud'}" @click="()=>$router.push('/home/cloud')">
|
|
|
|
|
<div class="titleBox" style="margin-bottom: 0;">
|
|
|
|
|
<div class="left">
|
|
|
|
|
<i class="fi fi-rr-cloud-upload-alt"></i>
|
|
|
|
|
<span>Batch Generation</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tools list language" :class="{active:isLanguage}">
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="titleBox" @click="()=>isLanguage = !isLanguage">
|
|
|
|
|
<div class="left">
|
2025-05-20 16:47:27 +08:00
|
|
|
<i class="fi fi-br-globe"></i>
|
|
|
|
|
<span>Language</span>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<i class="fi fi-br-angle-small-down"></i>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="detailBox">
|
|
|
|
|
<div class="detail" v-show="isLanguage">
|
2025-05-28 10:28:07 +08:00
|
|
|
<div class="detailItem" v-for="item in language" :class="{active:locale == item.value}" @click="setLocale(item.value)">
|
|
|
|
|
<svg v-show="locale == item.value" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14" class="dark-icon sidebar-lang-icon" width="20" height="20"><path stroke="#52525b" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.167" d="M11.667 3.5 5.25 9.917 2.334 7"></path></svg>
|
|
|
|
|
<span>{{ item.name }}</span>
|
2024-12-11 16:26:36 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-28 10:28:07 +08:00
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="homeMain_right_content">
|
|
|
|
|
<div
|
|
|
|
|
class="button_second credits hideChecked"
|
|
|
|
|
>
|
|
|
|
|
{{$t('Header.Credits')}}:
|
|
|
|
|
<span :title="credits">
|
|
|
|
|
<div class="credits_item" v-for="item in String(credits)" :style="{'transform': 'translateY('+item*-100+'%)'}">
|
|
|
|
|
<div v-for="numItem in 10">{{ numItem-1 }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</span>
|
|
|
|
|
<i @click="getCredits" class="fi fi-br-refresh" :class="[activeCredits?'active':'']"></i>
|
|
|
|
|
<i @click="UpgradePlan" title="Purchase" class="fi fi-rr-shop"></i>
|
|
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
|
|
|
|
<div v-if="userDetail.systemUser == 0 || userDetail.systemUser == 3" @click="openUpgradeToPro" class="gallery_btn gallery_btn_radius" style="width: 100%;">Upgrade to Pro</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="rightBox">
|
|
|
|
|
<div class="right">
|
|
|
|
|
<div class="user">
|
2025-06-03 14:57:18 +08:00
|
|
|
<div class="left" v-show="leftShow">
|
|
|
|
|
<svg @click="()=>leftShow=!leftShow" class="leftShowOrHide" xmlns="http://www.w3.org/2000/svg" width="2rem" height="2rem" fill="currentColor" viewBox="0 0 24 24" data-v-1c7326d6=""><path fill-rule="evenodd" d="M6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2V5H6Zm4 0v14h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-8ZM3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Z" clip-rule="evenodd" data-v-1c7326d6=""></path></svg>
|
|
|
|
|
<div class="newObj marginT2" @click="newProject">
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 25 24"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12.5 5v14m-7-7h14"></path></svg>
|
|
|
|
|
<p>New Project</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="trialApproval">
|
|
|
|
|
<div class="message_iconItem">
|
|
|
|
|
<a-badge :count="messageNum">
|
|
|
|
|
<i class="fi fi-rr-envelope" @click="openMessage"></i>
|
|
|
|
|
</a-badge>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="message_iconItem">
|
|
|
|
|
<a-badge :count="messageType?.newPosted">
|
|
|
|
|
<!-- <i class="fi fi-rr-envelope" @click="openMessage"></i> -->
|
|
|
|
|
<i class="fi fi-rr-bell" @click.stop="openNewPosted"></i>
|
|
|
|
|
</a-badge>
|
|
|
|
|
<div class="message_iconItem_value select_block" v-show="isNewPosted" style="width: 40rem">
|
|
|
|
|
<newPosted ref="newPosted"></newPosted>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="homeMain_user">
|
|
|
|
|
<div class="homeMain_user_icon" @click="openAccount">
|
|
|
|
|
<img :src="userDetail.avatar" alt="">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="homeMain_user_detail">
|
|
|
|
|
<div class="homeMain_user_icon" @click="openAccount">
|
|
|
|
|
<img :src="userDetail.avatar" alt="">
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="userDetail.systemUser == 3" class="username">{{$t('Header.hello')}}@{{ $t('isTest.userName') }}</div>
|
|
|
|
|
<div v-else class="username">{{$t('Header.hello')}}@{{ userDetail.userName }}</div>
|
|
|
|
|
<div class="homeMain_user_detail_attention">
|
|
|
|
|
<div class="attention_item">
|
|
|
|
|
<!-- 点击事件就用下面的div -->
|
|
|
|
|
<div>{{ userDetail?.followeeCount }}</div>
|
|
|
|
|
<span>{{$t('account.Follow')}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="attention_item">
|
|
|
|
|
<div>{{ userDetail?.followerCount }}</div>
|
|
|
|
|
<span>{{$t('account.Fans')}}</span>
|
|
|
|
|
</div>
|
2024-12-11 16:26:36 +08:00
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="homeMain_subscribe">
|
|
|
|
|
<div>
|
|
|
|
|
<span class="font">Status</span>
|
|
|
|
|
<span v-if="userDetail.timeData.isExpiration" class="stateSucsess font">Valid <i class="fi fi-ss-check-circle"></i></span>
|
|
|
|
|
<span v-else class="stateError font">Expire <i class="fi fi-ss-check-circle"></i></span>
|
|
|
|
|
<span class="time">{{ userDetail.timeData.text }}</span>
|
|
|
|
|
</div>
|
2024-12-11 16:26:36 +08:00
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="homeMain_select">
|
2025-05-28 10:28:07 +08:00
|
|
|
<!-- <div class="select_item_box" @click.stop="isLanguage = !isLanguage">
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="select_item">
|
|
|
|
|
<span class="icon iconfont icon-yuyan"></span>
|
|
|
|
|
<span class="select_item_des">{{$t('Header.language')}}</span>
|
|
|
|
|
<span class="icon iconfont icon-xiala" :class="{'active': isLanguage}"></span>
|
|
|
|
|
</div>
|
|
|
|
|
<ul class="select_list" :class="{'active': isLanguage}" @click.stop="">
|
|
|
|
|
<li class="select_item" v-for="item in language" @click="setLocale(item.value)">
|
|
|
|
|
<span class="select_item_des">{{ item.name }}</span>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
2025-05-28 10:28:07 +08:00
|
|
|
</div> -->
|
2025-05-08 14:09:12 +08:00
|
|
|
<div class="select_item" @click="orderForm()">
|
|
|
|
|
|
|
|
|
|
<i class="fi fi-rs-notebook"></i>
|
|
|
|
|
<span class="select_item_des">{{$t('Header.ViewOrders')}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<router-link class="select_item" v-if="userDetail.systemList.indexOf(3) >= 0" :to="`/administrator`">
|
|
|
|
|
<span class="icon iconfont icon-yonghu"></span>
|
|
|
|
|
<span class="select_item_des">Administrator</span>
|
|
|
|
|
</router-link>
|
|
|
|
|
<router-link class="select_item" :to="`/Affiliate`" v-if="userDetail.systemList.indexOf(2) >= 0">
|
|
|
|
|
<span class="icon iconfont icon-yonghu"></span>
|
|
|
|
|
<span class="select_item_des">Affiliate</span>
|
|
|
|
|
</router-link>
|
|
|
|
|
<div class="select_item" @click="getTutorial()">
|
|
|
|
|
<span class="fi fi-rr-book-user"></span>
|
|
|
|
|
<span class="select_item_des">{{$t('Header.Tutorial')}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="select_item_long"></div>
|
|
|
|
|
<div class="select_item" @click="logout()">
|
|
|
|
|
<span class="icon iconfont icon-tuichu"></span>
|
|
|
|
|
<span class="select_item_des">{{$t('Header.logOff')}}</span>
|
|
|
|
|
</div>
|
2024-12-11 16:26:36 +08:00
|
|
|
</div>
|
2024-07-29 17:30:39 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="userSystem" v-if="userDetail.systemList.indexOf(1) == -1">
|
|
|
|
|
You can use these features only after becoming a regular user~
|
2025-05-08 14:09:12 +08:00
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
<div class="router" v-else-if="!getLangIsShowMark">
|
2025-06-03 14:57:18 +08:00
|
|
|
<home ref="home" @setTask="setTask"></home>
|
2024-09-03 16:39:06 +08:00
|
|
|
</div>
|
2024-03-21 10:49:21 +08:00
|
|
|
</div>
|
2025-05-20 16:47:27 +08:00
|
|
|
</div>
|
2025-05-08 14:09:12 +08:00
|
|
|
|
2025-05-20 16:47:27 +08:00
|
|
|
<payOrder ref="payOrder"></payOrder>
|
|
|
|
|
<UpgradePlan ref="UpgradePlan"></UpgradePlan>
|
|
|
|
|
<TaskPage ref="TaskPage"></TaskPage>
|
|
|
|
|
|
2025-02-03 16:30:11 +08:00
|
|
|
<div class="mark_loading" v-show="getLangIsShowMark">
|
|
|
|
|
<a-spin size="large" />
|
|
|
|
|
</div>
|
2025-06-09 10:25:54 +08:00
|
|
|
<!-- <RobotAssist v-if="!getLangIsShowMark"></RobotAssist> -->
|
2024-07-08 16:07:04 +08:00
|
|
|
<scaleVideo ref="scaleVideo"></scaleVideo>
|
2024-12-11 16:26:36 +08:00
|
|
|
<!-- 进行续订 -->
|
|
|
|
|
<renew ref="renew"></renew>
|
2025-05-21 20:05:08 +08:00
|
|
|
<projectSetting ref="projectSetting" @getHistory="settingGetHistory"></projectSetting>
|
2024-03-21 10:49:21 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script >
|
2025-06-03 14:57:18 +08:00
|
|
|
import { defineComponent, createVNode, ref,toRefs, reactive, computed, onMounted, nextTick, watch, provide } from "vue";
|
2024-03-21 10:49:21 +08:00
|
|
|
import { isEmail } from "@/tool/util";
|
2024-03-28 15:11:57 +08:00
|
|
|
import { setCookie, getCookie, WriteCookie,clonAllCookie } from "@/tool/cookie";
|
2024-03-21 10:49:21 +08:00
|
|
|
import payOrder from "@/component/Pay/payOrder.vue";
|
|
|
|
|
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
|
2024-12-11 16:26:36 +08:00
|
|
|
import renew from "@/component/HomePage/renew.vue";
|
2025-04-01 15:25:15 +08:00
|
|
|
// import Habit from "@/component/Detail/habit.vue";
|
2024-03-21 10:49:21 +08:00
|
|
|
import TaskPage from "@/component/HomePage/TaskPage.vue";
|
|
|
|
|
import UpgradePlan from "@/component/HomePage/UpgradePlan.vue";
|
|
|
|
|
import { Https } from "@/tool/https";
|
|
|
|
|
import { Modal, message } from "ant-design-vue";
|
|
|
|
|
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
|
|
|
|
import RobotAssist from "@/component/HomePage/RobotAssist.vue";
|
2024-07-08 16:07:04 +08:00
|
|
|
import scaleVideo from "@/component/HomePage/scaleVideo.vue";
|
2024-09-03 16:39:06 +08:00
|
|
|
import newPosted from "@/component/HomePage/newPosted.vue";
|
2024-03-21 10:49:21 +08:00
|
|
|
import { useStore } from "vuex";
|
|
|
|
|
import { setLang } from "@/tool/guide";
|
2024-07-08 16:07:04 +08:00
|
|
|
import showViewVideo from "@/tool/mount";
|
2024-03-21 10:49:21 +08:00
|
|
|
import { useI18n } from "vue-i18n";
|
2024-07-29 17:30:39 +08:00
|
|
|
import { gsap, TweenMax,TweenLite } from "gsap";
|
|
|
|
|
import { ScrollTrigger } from "gsap/ScrollTrigger";
|
2024-08-13 09:36:13 +08:00
|
|
|
import MyWs from "@/tool/webSocket";
|
2024-08-19 10:36:46 +08:00
|
|
|
import MyEvent from "@/tool/myEvents";
|
2025-05-08 14:09:12 +08:00
|
|
|
import { useRouter,useRoute } from 'vue-router'
|
|
|
|
|
import {openTypeList} from "@/tool/listData.js";
|
2025-05-20 16:47:27 +08:00
|
|
|
import home from "@/component/home/index.vue";
|
2025-05-21 20:05:08 +08:00
|
|
|
import projectSetting from '@/component/home/newProject/setting.vue'
|
2024-03-21 10:49:21 +08:00
|
|
|
export default defineComponent({
|
|
|
|
|
components: {
|
|
|
|
|
VerificationCodeInput,
|
2024-12-11 16:26:36 +08:00
|
|
|
renew,
|
2025-04-01 15:25:15 +08:00
|
|
|
// Habit,
|
2024-03-21 10:49:21 +08:00
|
|
|
RobotAssist,
|
2024-07-08 16:07:04 +08:00
|
|
|
scaleVideo,
|
2024-09-03 16:39:06 +08:00
|
|
|
newPosted,
|
2024-03-21 10:49:21 +08:00
|
|
|
UpgradePlan,
|
|
|
|
|
payOrder,
|
|
|
|
|
TaskPage,
|
2025-05-20 16:47:27 +08:00
|
|
|
home,
|
2025-05-21 20:05:08 +08:00
|
|
|
projectSetting,
|
2024-03-21 10:49:21 +08:00
|
|
|
},
|
|
|
|
|
setup(){
|
|
|
|
|
const store = useStore();
|
|
|
|
|
const {t} = useI18n()
|
|
|
|
|
const {locale} = useI18n()
|
2025-05-08 14:09:12 +08:00
|
|
|
const route = useRoute()
|
|
|
|
|
const router = useRouter()
|
|
|
|
|
const homeMainData = reactive({
|
2025-06-03 14:57:18 +08:00
|
|
|
leftShow:false,
|
2025-05-08 14:09:12 +08:00
|
|
|
openType:'',
|
|
|
|
|
openTypeChild:'',
|
|
|
|
|
isLanguage:false,
|
|
|
|
|
openTypeList:openTypeList(t),
|
2025-05-21 20:05:08 +08:00
|
|
|
projectSetting:null,
|
2025-05-28 10:28:07 +08:00
|
|
|
historyData:{
|
|
|
|
|
isNoData:false,
|
|
|
|
|
isShowLoading:false,
|
|
|
|
|
isNull:false,
|
|
|
|
|
searchCollectionName:'',
|
|
|
|
|
historyTextarea:'',
|
|
|
|
|
historyList:[],
|
|
|
|
|
selectHistoryIndex:-1,
|
|
|
|
|
page:1,
|
|
|
|
|
size:10,
|
2025-06-09 10:25:54 +08:00
|
|
|
},
|
|
|
|
|
bathGenerationList:["poseTransfer","SERIES_DESIGN","toProduct","relight"]
|
2025-05-20 16:47:27 +08:00
|
|
|
})
|
|
|
|
|
const historyData = reactive({
|
2025-05-28 10:28:07 +08:00
|
|
|
|
2025-05-08 14:09:12 +08:00
|
|
|
})
|
|
|
|
|
watch(() => route.query,
|
|
|
|
|
(query, oldQuery) => {
|
|
|
|
|
nextTick(()=>{
|
|
|
|
|
const key = Object.keys(query)?.[0]
|
|
|
|
|
if(key){
|
2025-05-20 16:47:27 +08:00
|
|
|
if(query.id){
|
|
|
|
|
homeMainData.openType = 'history'
|
|
|
|
|
homeMainData.openTypeChild = query.id
|
|
|
|
|
}else{
|
|
|
|
|
homeMainData.openType = Object.keys(query)[0]
|
|
|
|
|
homeMainData.openTypeChild = query[Object.keys(query)[0]]
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
}else{
|
|
|
|
|
homeMainData.openType = ''
|
|
|
|
|
homeMainData.openTypeChild = ''
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
{ immediate: true } // 立即触发一次以处理初始参数
|
|
|
|
|
);
|
2024-12-18 17:38:43 +08:00
|
|
|
let userDetail= computed(()=>{
|
|
|
|
|
return store.state.UserHabit.userDetail
|
2024-08-23 10:19:02 +08:00
|
|
|
})
|
2024-03-21 10:49:21 +08:00
|
|
|
let isMurmur = ref()
|
|
|
|
|
let credits = computed(()=>{
|
|
|
|
|
return store.state.UserHabit.credits.value
|
|
|
|
|
})
|
2024-09-03 16:39:06 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
let activeCredits = ref(false)
|
2024-06-17 11:32:31 +08:00
|
|
|
let getLangIsShowMark = ref(true)
|
2024-08-13 09:36:13 +08:00
|
|
|
let messageNum = computed(()=>{
|
|
|
|
|
return store.state.UserHabit.messageSystem.messageNum
|
|
|
|
|
})
|
2024-09-03 16:39:06 +08:00
|
|
|
let messageType = computed(()=>{
|
|
|
|
|
return store.state.UserHabit.messageSystem.messageType
|
|
|
|
|
})
|
|
|
|
|
let stateList = reactive({
|
|
|
|
|
isNewPosted:false,
|
|
|
|
|
isLanguage:false,
|
|
|
|
|
})
|
|
|
|
|
let newPosted = ref(null)
|
2024-12-19 13:47:55 +08:00
|
|
|
|
2024-08-19 10:36:46 +08:00
|
|
|
let getUnreadCount = ()=>{
|
|
|
|
|
Https.axiosGet(Https.httpUrls.getUnreadCount).then((rv)=>{
|
|
|
|
|
if(rv){
|
2024-10-02 12:27:58 +08:00
|
|
|
store.commit('setMessageSystem',[rv])
|
2024-08-19 10:36:46 +08:00
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-11-11 17:22:52 +08:00
|
|
|
MyWs.close()
|
2024-09-30 17:59:24 +08:00
|
|
|
// MyWs.linkWs("wss://"+MyWs.messageUrl,'message')
|
2024-09-30 16:07:35 +08:00
|
|
|
MyWs.linkWs("wss://"+MyWs.messageUrl,'message')
|
2024-08-19 10:36:46 +08:00
|
|
|
let getWsMessage = (data)=>{
|
2024-09-30 15:43:37 +08:00
|
|
|
let userInfo = ['followeeCount','followerCount']
|
|
|
|
|
let obj = {}
|
|
|
|
|
let isObj = false
|
|
|
|
|
data.forEach(element => {
|
|
|
|
|
const keys = Object.keys(element)[0]
|
|
|
|
|
if(userInfo.indexOf(keys) > 0){
|
|
|
|
|
obj[keys] = element[keys]
|
|
|
|
|
isObj = true
|
|
|
|
|
}
|
|
|
|
|
});
|
2024-12-18 17:38:43 +08:00
|
|
|
if(isObj)store.commit('upUserDetail',obj)
|
2024-09-30 15:43:37 +08:00
|
|
|
|
2024-10-02 12:27:58 +08:00
|
|
|
store.commit('setMessageSystem',data)
|
2024-08-19 10:36:46 +08:00
|
|
|
}
|
|
|
|
|
MyEvent.add('getMessage',getWsMessage)
|
2024-09-03 16:39:06 +08:00
|
|
|
let openNewPosted = ()=>{
|
|
|
|
|
stateList.isNewPosted = !stateList.isNewPosted
|
|
|
|
|
newPosted.value.init()
|
|
|
|
|
document.addEventListener(
|
|
|
|
|
"click",
|
|
|
|
|
closeShowOperateContent,
|
|
|
|
|
false
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
//点击下拉图标出现操作
|
|
|
|
|
let changeLanguage=() =>{
|
|
|
|
|
stateList.isLanguage = !stateList.isLanguage;
|
|
|
|
|
document.addEventListener(
|
|
|
|
|
"click",
|
|
|
|
|
closeShowOperateContent,
|
|
|
|
|
false
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//关闭下拉图标
|
|
|
|
|
let closeShowOperateContent=() =>{
|
|
|
|
|
stateList.isLanguage = false
|
|
|
|
|
stateList.isNewPosted = false
|
|
|
|
|
document.removeEventListener("click", closeShowOperateContent);
|
|
|
|
|
}
|
2024-12-11 16:26:36 +08:00
|
|
|
let renew = ref(null)
|
2025-05-08 14:09:12 +08:00
|
|
|
const openUpgradeToPro = ()=>{
|
2024-12-11 16:26:36 +08:00
|
|
|
renew.value.init()
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
onMounted(async ()=>{
|
|
|
|
|
let test = getCookie('isTest')
|
|
|
|
|
let isTest =JSON.parse(test)
|
|
|
|
|
//判断账号剩余时间是否太短
|
|
|
|
|
let isModalOne = JSON.parse(sessionStorage.getItem("isTimeOne"))
|
|
|
|
|
if(!isModalOne){//判断是否是试用用户
|
|
|
|
|
await new Promise(async (resolve) => {
|
|
|
|
|
if(isTest){
|
|
|
|
|
resolve('')
|
|
|
|
|
}else{
|
|
|
|
|
await Https.axiosPost(Https.httpUrls.getExpiredTime,{}).then((rv) => {
|
|
|
|
|
if (rv) {
|
|
|
|
|
let dateNow = Date.now()
|
|
|
|
|
let date = new Date(dateNow)
|
|
|
|
|
let rvDate = new Date(rv);
|
|
|
|
|
let diffInMilliseconds = Math.abs(date - rvDate); // 获取时间差的毫秒数
|
|
|
|
|
let days = Math.floor(diffInMilliseconds / (24 * 60 * 60 * 1000)); // 计算天数
|
|
|
|
|
let hours = Math.floor((diffInMilliseconds % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); // 计算小时数
|
|
|
|
|
let minutes = Math.floor((diffInMilliseconds % (60 * 60 * 1000)) / (60 * 1000)); // 计算分钟数
|
|
|
|
|
if(days < 5){
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
let text = {
|
|
|
|
|
str:`${t('HomeView.jsContent4',{days:days,hours:hours})}<a href="https://code-create.com.hk/aida" target="_blank">${t('HomeView.jsContent8')}</a>`,
|
|
|
|
|
title:`${t('HomeView.jsContent7')}`,
|
|
|
|
|
}
|
|
|
|
|
dataDom.affiche.init(text)
|
|
|
|
|
}, 500);
|
|
|
|
|
}
|
|
|
|
|
resolve('')
|
|
|
|
|
}else{
|
|
|
|
|
resolve('')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-08-19 10:36:46 +08:00
|
|
|
getUnreadCount()
|
2025-05-20 16:47:27 +08:00
|
|
|
nextTick(()=>{
|
|
|
|
|
setPorfolioDom()
|
|
|
|
|
})
|
2024-08-19 10:36:46 +08:00
|
|
|
})
|
2025-05-20 16:47:27 +08:00
|
|
|
const setOpenType = (type,list)=>{
|
2025-05-08 14:09:12 +08:00
|
|
|
if(homeMainData.openType == type){
|
|
|
|
|
homeMainData.openType = ''
|
|
|
|
|
}else {
|
|
|
|
|
homeMainData.openType = type
|
|
|
|
|
if(type == 'history'){
|
2025-05-20 16:47:27 +08:00
|
|
|
if(list.length == 0){
|
|
|
|
|
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
let setPorfolioDom = ()=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isShowLoading = false
|
|
|
|
|
homeMainData.historyData.isNoData = false
|
|
|
|
|
let imgParent = document.querySelector('.homeMain_max .detail .material_content_list_loding .historyPage_loading')
|
2025-05-20 16:47:27 +08:00
|
|
|
new IntersectionObserver(
|
|
|
|
|
(entries, observer) => {
|
|
|
|
|
// 如果不是相交,则直接返回
|
|
|
|
|
if (!entries[0].intersectionRatio) return;
|
|
|
|
|
getHistory()
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.page += 1
|
2025-05-20 16:47:27 +08:00
|
|
|
},
|
|
|
|
|
).observe(imgParent);
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
const setRouter = (item,childItem)=>{
|
|
|
|
|
let itemRouter = item.router
|
|
|
|
|
if(childItem.router)itemRouter = itemRouter + '?' + childItem.router
|
|
|
|
|
router.push(itemRouter)
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
const setHistory = (item,childItem)=>{
|
2025-06-03 14:57:18 +08:00
|
|
|
// router.push(`/home/tools?tools=toProduct&id=${childItem.id}`)
|
|
|
|
|
if(childItem.process == 'SERIES_DESIGN' || childItem.process == "SINGLE_DESIGN"){
|
|
|
|
|
router.push(`/home?history=${childItem.id}`)
|
|
|
|
|
}else{
|
2025-06-09 10:25:54 +08:00
|
|
|
let processList = {
|
|
|
|
|
toProduct:'TO_PRODUCT_IMAGE',
|
|
|
|
|
relight:'RELIGHT',
|
|
|
|
|
poseTransfer:'POSE_TRANSFER',
|
|
|
|
|
deReconstruction:'DE_RECONSTRUCTION',
|
|
|
|
|
patternMaking3D:'THREE_D_PLATE_MAKING',
|
|
|
|
|
canvasUpload:'CANVAS',
|
|
|
|
|
}
|
|
|
|
|
let process = ''
|
|
|
|
|
for (const key in processList) {
|
|
|
|
|
if(processList[key] == childItem.process){
|
|
|
|
|
process = key
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
router.push(`/home/tools?tools=${process}&id=${childItem.id}`)
|
2025-06-03 14:57:18 +08:00
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
// router.push(`/home?history=${childItem.id}`)
|
|
|
|
|
}
|
2025-05-21 20:05:08 +08:00
|
|
|
const settingGetHistory = ()=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.page = 1
|
2025-05-21 20:05:08 +08:00
|
|
|
homeMainData.openTypeList.history.list = []
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isShowLoading = false
|
|
|
|
|
homeMainData.historyData.isNoData = false
|
2025-05-21 20:05:08 +08:00
|
|
|
}
|
2025-06-03 14:57:18 +08:00
|
|
|
provide('settingGetHistory',settingGetHistory)
|
2025-05-20 16:47:27 +08:00
|
|
|
const getHistory = ()=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
if(homeMainData.historyData.isShowLoading && !homeMainData.historyData.isNoData)return
|
|
|
|
|
homeMainData.historyData.isShowLoading = true
|
2025-05-20 16:47:27 +08:00
|
|
|
let data = {
|
2025-05-28 10:28:07 +08:00
|
|
|
page:homeMainData.historyData.page,
|
|
|
|
|
size:homeMainData.historyData.size,
|
2025-06-09 10:25:54 +08:00
|
|
|
projectName:homeMainData.historyData.searchCollectionName,
|
|
|
|
|
asc:0,
|
|
|
|
|
process:'',
|
2025-05-20 16:47:27 +08:00
|
|
|
// startDate:startDate,
|
|
|
|
|
// endDate:endDate,
|
|
|
|
|
// intersection:1,
|
|
|
|
|
}
|
|
|
|
|
Https.axiosPost( Https.httpUrls.historyProject, data).then(
|
|
|
|
|
// Https.axiosPost( Https.httpUrls.queryUserGroup, data).then(
|
|
|
|
|
(rv) => {
|
|
|
|
|
if(data.page == 1 && rv.content.length == 0){
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNull = true
|
2025-05-20 16:47:27 +08:00
|
|
|
}else{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNull = false
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
if (rv.content.length > 0) {
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNull = false
|
2025-05-20 16:47:27 +08:00
|
|
|
homeMainData.openTypeList.history.list.push(...rv.content)
|
|
|
|
|
} else {
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNoData = true
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isShowLoading = false
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
).catch(res=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isShowMark = false
|
2025-05-20 16:47:27 +08:00
|
|
|
if(data.page == 1){
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNull = true
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.isNoData = true
|
2025-05-20 16:47:27 +08:00
|
|
|
});
|
|
|
|
|
}
|
2025-06-11 15:08:17 +08:00
|
|
|
const editHistory = (item,index,el,list)=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
if(homeMainData.historyData.selectHistoryIndex == -1){
|
2025-05-20 16:47:27 +08:00
|
|
|
let top = el.target.parentNode.parentNode.getBoundingClientRect().top
|
|
|
|
|
let parentTop = el.target.parentNode.parentNode.parentNode.offsetTop
|
|
|
|
|
let parentHeight = el.target.parentNode.parentNode.parentNode.offsetHeight
|
|
|
|
|
let operation = el.target.parentNode.querySelector('.operation')
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.selectHistoryIndex = index
|
2025-05-20 16:47:27 +08:00
|
|
|
//判断弹窗是加载按钮上面还是下面
|
2025-06-11 15:08:17 +08:00
|
|
|
if(list.length == 1){
|
|
|
|
|
operation.classList.add('activeLeft')
|
|
|
|
|
return
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
if((parentTop+parentHeight)/2 < top){//加在按钮上面
|
|
|
|
|
operation.classList.add('active')
|
|
|
|
|
}else{
|
|
|
|
|
operation.classList.remove('active')
|
|
|
|
|
}
|
|
|
|
|
}else{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.selectHistoryIndex = -1
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
let operationCli = ()=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.selectHistoryIndex = -1
|
2025-05-20 16:47:27 +08:00
|
|
|
document.removeEventListener("click", operationCli);
|
|
|
|
|
}
|
|
|
|
|
document.addEventListener("click",operationCli,);
|
|
|
|
|
}
|
|
|
|
|
const editName = (item)=>{
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.selectHistoryIndex = -1
|
2025-05-20 16:47:27 +08:00
|
|
|
homeMainData.openTypeList.history.list.forEach((item)=>{
|
|
|
|
|
item.editName = false
|
|
|
|
|
})
|
|
|
|
|
item.editName = true
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.historyTextarea = item.name
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
2025-05-21 20:05:08 +08:00
|
|
|
const deleteItem = (item)=>{
|
|
|
|
|
Https.axiosPost(Https.httpUrls.projectDetail,{},{params:{projectId:item.id}}).then(
|
|
|
|
|
(rv) => {
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.selectHistoryIndex = -1
|
2025-05-21 20:05:08 +08:00
|
|
|
settingGetHistory()
|
|
|
|
|
if(homeMainData.openTypeChild == item.id){
|
|
|
|
|
router.push('/home')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
const setting = (item)=>{
|
|
|
|
|
homeMainData.projectSetting.init(item)
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
const accomplishHistory = (item)=>{
|
|
|
|
|
let data = {
|
2025-05-28 10:28:07 +08:00
|
|
|
name:homeMainData.historyData.historyTextarea,//library名字
|
|
|
|
|
id :item.id,//history id
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
2025-05-28 10:28:07 +08:00
|
|
|
Https.axiosPost(Https.httpUrls.projectSaveOrUpdate, data).then(
|
2025-05-20 16:47:27 +08:00
|
|
|
(rv) => {
|
2025-05-28 10:28:07 +08:00
|
|
|
item.name = homeMainData.historyData.historyTextarea
|
2025-05-20 16:47:27 +08:00
|
|
|
item.editName = false
|
2025-05-28 10:28:07 +08:00
|
|
|
homeMainData.historyData.historyTextarea = ''
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
).catch((res)=>{
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
const newProject = ()=>{
|
|
|
|
|
router.push('/home')
|
|
|
|
|
}
|
2025-06-09 10:25:54 +08:00
|
|
|
const bathGeneration = (item)=>{
|
|
|
|
|
homeMainData.openType = ''
|
|
|
|
|
homeMainData.historyData.selectHistoryIndex = -1
|
|
|
|
|
router.push(`/home/cloud?type=creation&id=${item.id}&name=${item.name}`)
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
return {
|
|
|
|
|
store,
|
2024-12-18 17:38:43 +08:00
|
|
|
userDetail,
|
2024-03-21 10:49:21 +08:00
|
|
|
t,
|
2025-05-08 14:09:12 +08:00
|
|
|
...toRefs(homeMainData),
|
2025-05-20 16:47:27 +08:00
|
|
|
...toRefs(historyData),
|
2024-03-21 10:49:21 +08:00
|
|
|
locale,
|
|
|
|
|
isMurmur,
|
|
|
|
|
credits,
|
|
|
|
|
activeCredits,
|
2024-06-17 11:32:31 +08:00
|
|
|
getLangIsShowMark,
|
2024-08-13 09:36:13 +08:00
|
|
|
messageNum,
|
2024-09-03 16:39:06 +08:00
|
|
|
messageType,
|
|
|
|
|
...toRefs(stateList),
|
|
|
|
|
newPosted,
|
|
|
|
|
openNewPosted,
|
|
|
|
|
changeLanguage,
|
|
|
|
|
closeShowOperateContent,
|
2024-12-11 16:26:36 +08:00
|
|
|
renew,
|
2025-05-08 14:09:12 +08:00
|
|
|
openUpgradeToPro,
|
|
|
|
|
setOpenType,
|
|
|
|
|
setRouter,
|
2025-05-20 16:47:27 +08:00
|
|
|
setHistory,
|
|
|
|
|
editHistory,
|
2025-05-21 20:05:08 +08:00
|
|
|
settingGetHistory,
|
2025-05-20 16:47:27 +08:00
|
|
|
editName,
|
|
|
|
|
deleteItem,
|
2025-05-21 20:05:08 +08:00
|
|
|
setting,
|
2025-05-20 16:47:27 +08:00
|
|
|
accomplishHistory,
|
|
|
|
|
newProject,
|
2025-06-09 10:25:54 +08:00
|
|
|
bathGeneration,
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
email: "",
|
|
|
|
|
emailCode: ["", "", "", "", "", ""], //邮箱验证码
|
|
|
|
|
time: 60, //60秒倒计时
|
|
|
|
|
timer: 0,
|
|
|
|
|
timerOperate: null,
|
|
|
|
|
numTime: 30,
|
|
|
|
|
timerSec: null,
|
|
|
|
|
modalWarning: null,
|
|
|
|
|
|
|
|
|
|
language:[
|
|
|
|
|
{name:'English',value:'ENGLISH'},
|
|
|
|
|
{name:'中文',value:'CHINESE_SIMPLIFIED'},
|
|
|
|
|
// {name:'한국인',value:'KOREAN'},
|
|
|
|
|
// {name:'にほんご',value:'JAPANESE'},
|
|
|
|
|
// {name:'Русский',value:'RUSSIAN'},
|
|
|
|
|
// {name:'Français',value:'FRENCH'},
|
|
|
|
|
// {name:'แบบไทย',value:'THAI'},
|
|
|
|
|
// {name:'Tiếng Việt',value:'VIETNAMESE'},
|
|
|
|
|
// {name:'Italiano',value:'ITALIAN'},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
},
|
2024-07-29 17:30:39 +08:00
|
|
|
directives:{
|
|
|
|
|
},
|
2024-12-18 17:38:43 +08:00
|
|
|
async mounted() {
|
|
|
|
|
await new Promise((resolve, reject) => {
|
|
|
|
|
this.store.dispatch('getLangType').then(()=>{
|
|
|
|
|
this.getLangIsShowMark = false
|
|
|
|
|
resolve()
|
|
|
|
|
}).catch(()=>{
|
|
|
|
|
this.getLangIsShowMark = false
|
2024-12-19 13:47:55 +08:00
|
|
|
reject()
|
2024-12-18 17:38:43 +08:00
|
|
|
})
|
|
|
|
|
})
|
2024-12-19 13:47:55 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
let isMurmur = getCookie('isMurmur')//获取是否是试用用户
|
|
|
|
|
this.isMurmur =JSON.parse(isMurmur)
|
2024-12-18 17:38:43 +08:00
|
|
|
if (this.userDetail.userId && this.userDetail.userId > -1) {
|
|
|
|
|
this.accountIsLogin();
|
2024-03-21 10:49:21 +08:00
|
|
|
} else {
|
2024-12-18 17:38:43 +08:00
|
|
|
this.$router.replace("/");
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
2024-07-21 09:00:16 +08:00
|
|
|
if(!this.isMurmur){
|
2024-03-21 10:49:21 +08:00
|
|
|
this.operateClick();
|
|
|
|
|
document.addEventListener("click", this.operateClick);
|
|
|
|
|
}
|
|
|
|
|
this.getCredits()
|
|
|
|
|
this.getLang('')
|
2024-06-01 10:02:21 +08:00
|
|
|
//语言适配
|
2024-12-18 17:38:43 +08:00
|
|
|
|
2024-07-29 17:30:39 +08:00
|
|
|
|
|
|
|
|
let tl1 = gsap.timeline({ paused: true });
|
|
|
|
|
let userDetailMax = document.querySelector('.homeMain_max .homeMain_user')
|
|
|
|
|
let userDetail = document.querySelector('.homeMain_max .homeMain_user_detail')
|
|
|
|
|
// let anmiation = TweenMax.to(userDetailMax,1, {'margin-top':'30px',opacity:1})
|
|
|
|
|
// anmiation.stop()
|
|
|
|
|
let state
|
|
|
|
|
tl1
|
|
|
|
|
.to(userDetail,.3, {opacity:1,display:'flex'})
|
2024-12-11 16:26:36 +08:00
|
|
|
// .to(userDetailIcon,.3, {'left':'16rem',y:'25%',x:'-50%',scale:1.5,opacity:1},'-=.3')
|
2024-07-29 17:30:39 +08:00
|
|
|
let overTime
|
|
|
|
|
let outTime
|
|
|
|
|
userDetailMax.addEventListener('mouseenter',(event)=>{
|
|
|
|
|
if(state && !outTime)return
|
|
|
|
|
clearTimeout(overTime)
|
|
|
|
|
clearTimeout(outTime)
|
|
|
|
|
overTime = setTimeout(() => {
|
|
|
|
|
state = true
|
|
|
|
|
this.isLanguage = false
|
|
|
|
|
tl1.play()
|
|
|
|
|
}, 500);
|
|
|
|
|
})
|
2025-05-20 16:47:27 +08:00
|
|
|
userDetailMax.addEventListener('mouseleave',(event)=>{
|
2024-08-05 16:16:08 +08:00
|
|
|
if(overTime){
|
|
|
|
|
clearTimeout(overTime)
|
|
|
|
|
}
|
2024-07-29 17:30:39 +08:00
|
|
|
if(!state)return
|
|
|
|
|
clearTimeout(outTime)
|
|
|
|
|
outTime = setTimeout(() => {
|
|
|
|
|
state = false
|
|
|
|
|
tl1.reverse()
|
|
|
|
|
}, 500);
|
|
|
|
|
})
|
2024-12-18 17:38:43 +08:00
|
|
|
let orderId = sessionStorage.getItem('orderId');//进入首页后是否打开订单列表查询到订单
|
|
|
|
|
if(orderId){
|
|
|
|
|
let payOrder = this.$refs.payOrder
|
|
|
|
|
payOrder.init(orderId)
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
},
|
|
|
|
|
methods: {
|
2024-03-27 09:48:01 +08:00
|
|
|
setTask(data){
|
|
|
|
|
this.openTask(data)
|
2024-03-22 12:01:11 +08:00
|
|
|
},
|
2024-12-11 16:26:36 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
turnToPage(name) {
|
|
|
|
|
let noRefresh = name === "home" ? true : false;
|
|
|
|
|
this.$router.push({ name: name, params: { noRefresh: noRefresh } });
|
|
|
|
|
},
|
|
|
|
|
UpgradePlan(){//购买积分
|
|
|
|
|
let UpgradePlan = this.$refs.UpgradePlan
|
|
|
|
|
UpgradePlan.init()
|
|
|
|
|
},
|
|
|
|
|
Assignment(){//任务
|
|
|
|
|
// let num = 123+this.credits
|
|
|
|
|
// this.store.commit('setCredits',num)
|
|
|
|
|
},
|
|
|
|
|
getCredits(){//刷新当前积分
|
|
|
|
|
if(!this.activeCredits){
|
|
|
|
|
this.activeCredits = true
|
|
|
|
|
this.store.dispatch('getCredits').then((rv)=>{
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
this.activeCredits = false
|
|
|
|
|
},300)
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
this.activeCredits = false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
2024-09-03 16:39:06 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
|
2024-03-22 12:01:11 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
|
|
|
|
|
//查看订单
|
|
|
|
|
orderForm(){
|
|
|
|
|
let payOrder = this.$refs.payOrder
|
|
|
|
|
payOrder.init()
|
|
|
|
|
},
|
2024-07-08 16:07:04 +08:00
|
|
|
//教程
|
|
|
|
|
getTutorial(){
|
2025-02-05 14:43:35 +08:00
|
|
|
let url = 'https://code-create.com.hk/wp-content/uploads/2025/02/aida_3.0-Manual-2_5-CN.pdf'
|
2024-07-08 16:07:04 +08:00
|
|
|
if(this.locale == 'ENGLISH'){
|
2025-02-05 14:43:35 +08:00
|
|
|
url = 'https://code-create.com.hk/wp-content/uploads/2025/02/aida_3.0-Manual-2_5-EN.pdf'
|
|
|
|
|
showViewVideo({url:'https://code-create.com.hk/wp-content/uploads/2025/02/AiDA-demo-video_2_5_EN.mp4'})
|
2024-07-09 19:10:01 +08:00
|
|
|
}else{
|
2025-02-05 14:43:35 +08:00
|
|
|
showViewVideo({url:'https://code-create.com.hk/wp-content/uploads/2025/02/AiDA-demo-video_2_5_CN.mp4'})
|
2024-07-08 16:07:04 +08:00
|
|
|
}
|
|
|
|
|
//打开视频
|
|
|
|
|
const a = document.createElement('a');
|
|
|
|
|
a.href = url;
|
2024-07-11 17:17:40 +08:00
|
|
|
a.target = '_blank';
|
2024-07-08 17:04:32 +08:00
|
|
|
a.download = 'aida_3.0-Manual.pptx'; // 下载的文件名
|
2024-07-08 16:07:04 +08:00
|
|
|
document.body.appendChild(a);
|
|
|
|
|
a.click();
|
|
|
|
|
},
|
2024-03-21 10:49:21 +08:00
|
|
|
//登出
|
|
|
|
|
async logout() {
|
|
|
|
|
let data = {
|
2024-12-18 17:38:43 +08:00
|
|
|
userId: this.userDetail.userId,
|
2024-03-21 10:49:21 +08:00
|
|
|
};
|
2025-05-28 10:28:07 +08:00
|
|
|
await Https.axiosPost(Https.httpUrls.accountLogout, data).then((rv) => {
|
|
|
|
|
// WriteCookie("token");
|
|
|
|
|
});
|
|
|
|
|
this.$router.replace("/");
|
2024-12-18 17:38:43 +08:00
|
|
|
this.store.commit('createDetail')
|
2025-04-16 10:43:54 +08:00
|
|
|
this.store.commit('createProbject')
|
2024-06-17 11:32:31 +08:00
|
|
|
|
2024-03-28 15:11:57 +08:00
|
|
|
// WriteCookie("token");
|
2024-08-06 10:05:50 +08:00
|
|
|
clonAllCookie()
|
2024-03-21 10:49:21 +08:00
|
|
|
// window.location.reload()
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
//判断是否登录
|
2024-12-18 17:38:43 +08:00
|
|
|
accountIsLogin() {
|
2024-03-21 10:49:21 +08:00
|
|
|
let data = {
|
2024-12-18 17:38:43 +08:00
|
|
|
userId: this.userDetail.userId,
|
2024-03-21 10:49:21 +08:00
|
|
|
};
|
|
|
|
|
Https.axiosPost(Https.httpUrls.accountIsLogin, data).then((rv) => {
|
|
|
|
|
if (!rv) {
|
2024-06-17 09:39:01 +08:00
|
|
|
this.$router.replace("/");
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
//点击重置判断是否长时间五操作
|
|
|
|
|
operateClick() {
|
|
|
|
|
if (this.timer) {
|
|
|
|
|
clearTimeout(this.timer);
|
|
|
|
|
}
|
|
|
|
|
let _this = this;
|
|
|
|
|
let timeNum = 1000 * 60 * 120;
|
|
|
|
|
this.timer = setTimeout(() => {
|
|
|
|
|
this.modalWarning = Modal.warning({
|
|
|
|
|
title: () =>
|
|
|
|
|
this.t('Header.jsContent3',{numTime:_this.numTime}),
|
|
|
|
|
icon: createVNode(ExclamationCircleOutlined),
|
|
|
|
|
okText: "Ok",
|
|
|
|
|
centered:true,
|
|
|
|
|
onOk() {
|
|
|
|
|
_this.numTime = 30;
|
|
|
|
|
clearInterval(_this.timerSec);
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
_this.numCounter();
|
|
|
|
|
}, timeNum);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
numCounter() {
|
|
|
|
|
this.timerSec = setInterval(() => {
|
|
|
|
|
if (this.numTime > 0) {
|
|
|
|
|
this.numTime = this.numTime - 1;
|
|
|
|
|
} else {
|
|
|
|
|
clearTimeout(this.timer);
|
|
|
|
|
clearInterval(this.timerSec);
|
|
|
|
|
this.logout();
|
|
|
|
|
this.modalWarning.destroy();
|
|
|
|
|
}
|
|
|
|
|
}, 1000);
|
|
|
|
|
},
|
|
|
|
|
//获取当前语言
|
|
|
|
|
getLang(v){
|
|
|
|
|
let data
|
|
|
|
|
Https.axiosPost(Https.httpUrls.getUserLanguage, data).then(
|
|
|
|
|
(rv) => {
|
|
|
|
|
if (rv) {
|
|
|
|
|
this.locale = rv
|
|
|
|
|
setLang(rv)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
setLang(v){
|
|
|
|
|
|
|
|
|
|
Https.axiosGet(Https.httpUrls.changeUserLanguage,{params:{language:v}}).then((rv) => {
|
|
|
|
|
if (rv) {
|
|
|
|
|
if (rv) {
|
|
|
|
|
let token = rv;
|
|
|
|
|
setCookie("token", token);
|
|
|
|
|
this.getLang('')
|
|
|
|
|
// if(this.$router.currentRoute._value.path == '/home'){
|
|
|
|
|
// this.$router.push("/home")
|
|
|
|
|
// }else{
|
|
|
|
|
// this.$router.push("/home")
|
|
|
|
|
// }
|
|
|
|
|
this.store.commit('clearAllData')
|
2024-09-27 16:31:33 +08:00
|
|
|
// window.location.reload()
|
|
|
|
|
window.location.href = '/home';
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
setLocale(v){
|
|
|
|
|
this.setLang(v)
|
|
|
|
|
},
|
2024-03-27 09:48:01 +08:00
|
|
|
openTask(data){
|
2024-03-21 10:49:21 +08:00
|
|
|
let taskPage = this.$refs.TaskPage
|
2024-03-27 09:48:01 +08:00
|
|
|
taskPage.init(data)
|
2024-03-21 10:49:21 +08:00
|
|
|
},
|
2024-08-05 16:16:08 +08:00
|
|
|
openAccount(){
|
|
|
|
|
this.$router.push("/home/account")
|
|
|
|
|
},
|
2024-07-25 13:08:25 +08:00
|
|
|
openMessage(){
|
2024-08-05 16:16:08 +08:00
|
|
|
this.$router.push("/home/account/accountMessage")
|
2024-07-25 13:08:25 +08:00
|
|
|
},
|
2024-03-21 10:49:21 +08:00
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
.homeMain_max{
|
|
|
|
|
position: relative;
|
|
|
|
|
display: flex;
|
2025-04-23 16:20:53 +08:00
|
|
|
height: 100%;
|
|
|
|
|
box-sizing: border-box;
|
2025-05-08 14:09:12 +08:00
|
|
|
> .leftBox{
|
|
|
|
|
height: 100%;
|
|
|
|
|
background: #f5f5f5;
|
2025-06-03 14:57:18 +08:00
|
|
|
overflow: hidden;
|
|
|
|
|
width: 26rem;
|
|
|
|
|
transition: width .3s;
|
|
|
|
|
&.leftHide{
|
|
|
|
|
width: 0;
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
> .left{
|
|
|
|
|
width: 26rem;
|
|
|
|
|
height: 100%;
|
|
|
|
|
padding: 2rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
.marginT2{
|
|
|
|
|
margin-top: 2rem;
|
|
|
|
|
}
|
|
|
|
|
.list{
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
// padding: 1.2rem;
|
|
|
|
|
max-height: 5rem;
|
|
|
|
|
border-radius: 2rem;
|
|
|
|
|
> .titleBox{
|
|
|
|
|
padding: 1.2rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
font-size: 1.4rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
align-items: center;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
i{
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
|
|
|
|
> .left{
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
> i{
|
|
|
|
|
margin-right: .8rem;
|
|
|
|
|
}
|
|
|
|
|
> span{
|
|
|
|
|
line-height: 2.4rem;
|
|
|
|
|
color: #52525b;
|
|
|
|
|
transition: all .3s;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .right{
|
|
|
|
|
> i{
|
|
|
|
|
transition: all .3s;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
&:hover{
|
|
|
|
|
> .left{
|
|
|
|
|
> span{
|
|
|
|
|
color: #000;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .detailBox{
|
|
|
|
|
overflow: auto;
|
|
|
|
|
scrollbar-width: none;
|
|
|
|
|
flex: 1;
|
|
|
|
|
> .detail{
|
2025-05-20 16:47:27 +08:00
|
|
|
position: relative;
|
2025-05-08 14:09:12 +08:00
|
|
|
height: 100%;
|
2025-05-20 16:47:27 +08:00
|
|
|
> img{
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
> .detailItem{
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
padding: 1.2rem 1.1rem 1.2rem 2.2rem;
|
|
|
|
|
font-size: 1.4rem;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
margin-bottom: .4rem;
|
|
|
|
|
border-radius: .8rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
2025-05-20 16:47:27 +08:00
|
|
|
flex-wrap: wrap;
|
2025-05-28 10:28:07 +08:00
|
|
|
> .time{
|
|
|
|
|
font-size: 1.2rem;
|
|
|
|
|
opacity: .5;
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
> i{
|
|
|
|
|
margin-right: .8rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .text{
|
|
|
|
|
> span{
|
|
|
|
|
//只在一行显示
|
|
|
|
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
&.active{
|
|
|
|
|
background: #f5f5f5;
|
|
|
|
|
}
|
|
|
|
|
&:hover{
|
|
|
|
|
background: #f5f5f5;
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
&.history{
|
|
|
|
|
background: #f5f5f5;
|
|
|
|
|
&:hover{
|
|
|
|
|
background: #fdfdfd;
|
|
|
|
|
}
|
|
|
|
|
&.active{
|
|
|
|
|
background: #fdfdfd;
|
|
|
|
|
}
|
|
|
|
|
> .text{
|
|
|
|
|
> span{
|
|
|
|
|
width: 100%;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
line-height: 2rem;
|
|
|
|
|
font-size: 1.8rem;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
> textarea{
|
|
|
|
|
resize: none;
|
|
|
|
|
border: none;
|
|
|
|
|
background: rgba(0, 0, 0, 0);
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
line-height: 2rem;
|
|
|
|
|
height: 4rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
font-size: 1.8rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
> .type{
|
|
|
|
|
border: 1px solid #0000000d;
|
|
|
|
|
padding: .4rem .8rem;
|
|
|
|
|
border-radius: .8rem;
|
|
|
|
|
color: #71717a;
|
|
|
|
|
font-size: 1.4rem;
|
|
|
|
|
max-width: 70%;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
}
|
|
|
|
|
> .btn{
|
|
|
|
|
border: 1px solid #0000000d;
|
|
|
|
|
border-radius: .8rem;
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
position: relative;
|
|
|
|
|
> i{
|
|
|
|
|
width: 3rem;
|
|
|
|
|
height: 3rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
> .fi-br-check{
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: #38c793;
|
|
|
|
|
color: #fff;
|
|
|
|
|
width: 2rem;
|
|
|
|
|
height: 2rem;
|
|
|
|
|
}
|
|
|
|
|
> .operation{
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
top: 3rem;
|
|
|
|
|
background: #e4e4e7;
|
|
|
|
|
border: 1px solid #d4d4d8;
|
|
|
|
|
border-radius: 1rem;
|
|
|
|
|
z-index: 7;
|
|
|
|
|
padding: .8rem;
|
|
|
|
|
box-shadow: 0 0 3.2rem -.8rem #1a1b1e33;
|
|
|
|
|
position: absolute;
|
|
|
|
|
&.active{
|
|
|
|
|
top: auto;
|
|
|
|
|
bottom: 3rem;
|
|
|
|
|
}
|
2025-06-11 15:08:17 +08:00
|
|
|
&.activeLeft{
|
|
|
|
|
bottom: 0;
|
|
|
|
|
right: 3rem;
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .item{
|
|
|
|
|
padding: .8rem;
|
|
|
|
|
color: #52525b;
|
|
|
|
|
display: flex;
|
|
|
|
|
border-radius: .8rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
align-items: center;
|
|
|
|
|
> i{
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
|
|
|
|
> span{
|
|
|
|
|
margin-left: .5rem;
|
2025-06-09 10:25:54 +08:00
|
|
|
white-space: nowrap;
|
2025-05-20 16:47:27 +08:00
|
|
|
}
|
|
|
|
|
&:hover{
|
|
|
|
|
background: #efeff1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
}
|
|
|
|
|
> .detailItem:last-child{
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .material_content_list_loding{
|
|
|
|
|
text-align: center;
|
|
|
|
|
height: 50px;
|
|
|
|
|
.page_loading{
|
|
|
|
|
display: block;
|
|
|
|
|
width: 50px;
|
|
|
|
|
height: 50px;
|
|
|
|
|
margin: 0 auto;
|
|
|
|
|
}
|
|
|
|
|
img{
|
|
|
|
|
height: calc(10rem*1.2);
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
&.active{
|
|
|
|
|
padding: 1.2rem;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
max-height: 100%;
|
|
|
|
|
background: #00000008;
|
|
|
|
|
> .titleBox{
|
|
|
|
|
padding: 0;
|
|
|
|
|
margin-bottom: 1.6rem;
|
|
|
|
|
> .right{
|
|
|
|
|
> i{
|
|
|
|
|
transform: rotate(180deg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
&.language{
|
|
|
|
|
> .titleBox{
|
|
|
|
|
padding: .8rem;
|
|
|
|
|
background: #00000000;
|
2025-05-28 10:28:07 +08:00
|
|
|
height: 5rem;
|
2025-05-08 14:09:12 +08:00
|
|
|
> .left{
|
|
|
|
|
> i{
|
|
|
|
|
margin-right: 2rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .detailBox{
|
|
|
|
|
> .detail{
|
|
|
|
|
> .detailItem{
|
|
|
|
|
padding: .8rem;
|
|
|
|
|
> svg{
|
|
|
|
|
margin-right: 2.5rem;
|
|
|
|
|
width: 2rem;
|
|
|
|
|
height: 2rem;
|
|
|
|
|
}
|
|
|
|
|
> span{
|
|
|
|
|
color: #111a18;
|
|
|
|
|
opacity: .5;
|
|
|
|
|
margin-left: 4.5rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
&.active{
|
|
|
|
|
> span{
|
|
|
|
|
color: #52525b;
|
|
|
|
|
opacity: 1;
|
|
|
|
|
margin-left: 0px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .title{
|
|
|
|
|
display: flex;
|
|
|
|
|
padding: .4rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
> span{
|
|
|
|
|
font-size: 2rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
> svg{
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-06-03 14:57:18 +08:00
|
|
|
|
2025-05-08 14:09:12 +08:00
|
|
|
> .navList{
|
|
|
|
|
height: 100%;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
> .navListBottom{
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .homeMain_right_content {
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
width: 100%;
|
|
|
|
|
.homeMain_icon {
|
|
|
|
|
font-size: 3.6rem;
|
|
|
|
|
position: relative;
|
|
|
|
|
top: 0.3rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.username {
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
color: #1a1a1a;
|
|
|
|
|
margin: 0 0.8rem;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
span{
|
|
|
|
|
margin: .7rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.credits{
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
color: #1a1a1a;
|
|
|
|
|
font-weight: 900;
|
|
|
|
|
width: auto;
|
|
|
|
|
padding: 0 1.6rem;
|
|
|
|
|
cursor: auto;
|
|
|
|
|
display: flex;
|
|
|
|
|
line-height: 6rem;
|
|
|
|
|
height: 6rem;
|
|
|
|
|
box-sizing: content-box;
|
|
|
|
|
border-radius: 4rem;
|
|
|
|
|
span{
|
|
|
|
|
width: 5rem;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-right: .9rem;
|
|
|
|
|
.credits_item{
|
|
|
|
|
transition: .3s all;
|
|
|
|
|
// height: 4rem;
|
|
|
|
|
height: 100%;
|
|
|
|
|
// height: 3.2rem;
|
|
|
|
|
div{
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
i{
|
|
|
|
|
height: 100%;
|
|
|
|
|
border-left: .1rem solid ;
|
|
|
|
|
padding-left: 1.3rem;
|
|
|
|
|
margin-left: 1.5rem;
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-br-refresh{
|
|
|
|
|
margin-left: 0;
|
|
|
|
|
border-left: none;
|
|
|
|
|
padding-left: 0;
|
|
|
|
|
&.active{
|
|
|
|
|
transition: all .3s;
|
|
|
|
|
transform: rotate(360deg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
> .gallery_btn{
|
|
|
|
|
margin-top: 1.2rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-06-03 14:57:18 +08:00
|
|
|
.newObj{
|
|
|
|
|
border-radius: 1.2rem;
|
|
|
|
|
padding: 1.6rem 1.2rem;
|
|
|
|
|
border: 1px solid #0003;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
> svg{
|
|
|
|
|
margin-right: .4rem;
|
|
|
|
|
width: 2.4rem;
|
|
|
|
|
height: 2.4rem;
|
|
|
|
|
}
|
|
|
|
|
> p{
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
margin: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
> .rightBox{
|
2024-03-21 10:49:21 +08:00
|
|
|
flex: 1;
|
2025-02-17 09:34:28 +08:00
|
|
|
overflow: hidden;
|
2025-05-08 14:09:12 +08:00
|
|
|
> .right{
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
flex-direction: column;
|
2025-05-20 16:47:27 +08:00
|
|
|
position: relative;
|
2025-05-08 14:09:12 +08:00
|
|
|
> .user{
|
|
|
|
|
margin-bottom: 1rem;
|
2025-05-20 16:47:27 +08:00
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
2025-06-03 14:57:18 +08:00
|
|
|
padding: 2rem 2rem 1.2rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
> .left{
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
margin-right: auto;
|
|
|
|
|
> .newObj{
|
|
|
|
|
background: #f5f5f5;
|
|
|
|
|
padding: 1.2rem;
|
|
|
|
|
}
|
|
|
|
|
> svg{
|
|
|
|
|
margin-right: 2rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .trialApproval{
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
> .message_iconItem{
|
|
|
|
|
position: relative;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
i{
|
|
|
|
|
width: 3rem;
|
|
|
|
|
height: 3rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-05-08 14:09:12 +08:00
|
|
|
.homeMain_user{
|
|
|
|
|
height: 6rem;
|
|
|
|
|
width: 6rem;
|
2025-05-20 16:47:27 +08:00
|
|
|
// margin-left: auto;
|
|
|
|
|
|
2025-05-08 14:09:12 +08:00
|
|
|
position: relative;
|
|
|
|
|
.homeMain_user_icon{
|
|
|
|
|
height: 6rem;
|
|
|
|
|
width: 6rem;
|
|
|
|
|
position: relative;
|
|
|
|
|
transform-origin: top;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
z-index: 2;
|
|
|
|
|
left: 0;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
background: #fff;
|
|
|
|
|
img{
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
}
|
|
|
|
|
// transition: all .3s;
|
|
|
|
|
}
|
|
|
|
|
.homeMain_user_detail{
|
|
|
|
|
z-index: 999;
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: calc(100% + .5rem);
|
|
|
|
|
background: #fff;
|
|
|
|
|
width: 32rem;
|
|
|
|
|
height: auto;
|
|
|
|
|
opacity: 0;
|
|
|
|
|
right: 0px;
|
|
|
|
|
display: none;
|
|
|
|
|
// box-shadow: 0 0px 10px 1px rgba(0, 0, 0, 0.12);
|
|
|
|
|
text-align: center;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
padding: 1.2rem 2rem;
|
|
|
|
|
border: 2px solid #000;
|
|
|
|
|
border-radius: 2rem;
|
|
|
|
|
.username,.homeMain_user_detail_attention,.homeMain_subscribe{
|
|
|
|
|
margin-bottom: 2rem;
|
|
|
|
|
}
|
|
|
|
|
.homeMain_user_icon{
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
.homeMain_subscribe{
|
|
|
|
|
padding: 2rem;
|
|
|
|
|
background: #f3f3f6;
|
|
|
|
|
border-radius: 1.4rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
width: 100%;
|
|
|
|
|
> div{
|
|
|
|
|
display: flex;
|
|
|
|
|
margin-bottom: 2rem;
|
|
|
|
|
}
|
|
|
|
|
> div:last-child{
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
.font{
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
margin-right: 1rem;
|
|
|
|
|
}
|
|
|
|
|
.stateSucsess{
|
|
|
|
|
color: #3ab45c;
|
|
|
|
|
}
|
|
|
|
|
.stateError{
|
|
|
|
|
color: #b43a3a;
|
|
|
|
|
}
|
|
|
|
|
.time{
|
|
|
|
|
font-size: 1.4rem;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.homeMain_select{
|
|
|
|
|
width: 100%;
|
|
|
|
|
.select_item {
|
|
|
|
|
padding: 0 1rem;
|
|
|
|
|
border-radius: .8rem;
|
|
|
|
|
line-height: 4rem;
|
|
|
|
|
color: #4d4d4d;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
user-select: none;
|
|
|
|
|
width: 100%;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #f3f3f6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.iconfont ,.fi-rr-book-user {
|
|
|
|
|
// font-size: 1.4rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.select_item_des {
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
margin-left: 1rem;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.select_item_long{
|
|
|
|
|
border-bottom: 1px solid #eceaea;
|
|
|
|
|
margin: 2rem 0;
|
|
|
|
|
}
|
|
|
|
|
.icon-xiala{
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
&.active{
|
|
|
|
|
transform: rotate(180deg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.select_list{
|
|
|
|
|
height: 0;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
transition: all .3s;
|
|
|
|
|
width: 100%;
|
|
|
|
|
margin: 0;
|
|
|
|
|
> li{
|
|
|
|
|
padding-left: 2.5rem;
|
|
|
|
|
}
|
|
|
|
|
&.active{
|
|
|
|
|
height: auto;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.homeMain_user_detail_attention{
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding-left: 3.5rem;
|
|
|
|
|
padding-right: 3.5rem;
|
|
|
|
|
.attention_item{
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
}
|
|
|
|
|
.attention_item_active{
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
.attention_item_active:hover{
|
|
|
|
|
color: #39215b;
|
|
|
|
|
span{
|
|
|
|
|
color: #39215b;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
div{
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
span{
|
|
|
|
|
font-size: 1.4rem;
|
|
|
|
|
color: #949eae;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .router{
|
|
|
|
|
flex: 1;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
padding: 0 6rem;
|
2025-05-20 16:47:27 +08:00
|
|
|
padding-bottom: 2rem;
|
2025-05-08 14:09:12 +08:00
|
|
|
}
|
2025-05-20 16:47:27 +08:00
|
|
|
> .userSystem{
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
position: absolute;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
background: rgba(0, 0, 0, 0.4);
|
|
|
|
|
z-index:2;
|
2024-09-03 16:39:06 +08:00
|
|
|
display: flex;
|
2025-05-20 16:47:27 +08:00
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
color: #fff;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-size: 4rem;
|
2024-09-03 16:39:06 +08:00
|
|
|
}
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.select_block {
|
|
|
|
|
z-index: 1050;
|
|
|
|
|
position: absolute;
|
2025-05-20 16:47:27 +08:00
|
|
|
right: 0rem;
|
|
|
|
|
top: 4rem;
|
2024-04-23 14:01:56 +08:00
|
|
|
width: 13.5rem;
|
2024-03-21 10:49:21 +08:00
|
|
|
background: #ffffff;
|
|
|
|
|
box-shadow: 0px 0.4rem 0.4rem 0px rgba(0, 0, 0, 0.1);
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border: 1px solid #000000;
|
2024-06-17 09:39:01 +08:00
|
|
|
height: auto;
|
2025-05-20 16:47:27 +08:00
|
|
|
padding: 2rem;
|
|
|
|
|
border-radius: 2rem;
|
2024-12-11 16:26:36 +08:00
|
|
|
// &.select_list{
|
|
|
|
|
// top: 56%;
|
|
|
|
|
// left: 100%;
|
|
|
|
|
// // transform: translateX(5%);
|
|
|
|
|
// }
|
|
|
|
|
.homeMain_select{
|
|
|
|
|
width: 100%;
|
|
|
|
|
.select_item {
|
|
|
|
|
height: 4.1rem;
|
|
|
|
|
color: #4d4d4d;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
user-select: none;
|
|
|
|
|
width: 100%;
|
|
|
|
|
&:hover {
|
|
|
|
|
background: #f7f7f7;
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
|
2024-12-11 16:26:36 +08:00
|
|
|
.iconfont ,.fi-rr-book-user {
|
|
|
|
|
// font-size: 1.4rem;
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
|
2024-12-11 16:26:36 +08:00
|
|
|
.select_item_des {
|
|
|
|
|
font-size: 1.6rem;
|
|
|
|
|
margin-left: 1rem;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
}
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
}
|
2024-12-11 16:26:36 +08:00
|
|
|
|
2024-03-21 10:49:21 +08:00
|
|
|
}
|
|
|
|
|
.modal_component {
|
|
|
|
|
.skip_content {
|
|
|
|
|
width: 6rem;
|
|
|
|
|
height: 3rem;
|
|
|
|
|
line-height: 2.8rem;
|
2025-06-03 14:57:18 +08:00
|
|
|
border: 0.1rem solid #000;
|
2024-03-21 10:49:21 +08:00
|
|
|
font-size: 1.4rem;
|
2025-06-03 14:57:18 +08:00
|
|
|
color: #000;
|
2024-03-21 10:49:21 +08:00
|
|
|
position: absolute;
|
|
|
|
|
top: 1.8rem;
|
|
|
|
|
right: 1.8rem;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bind_email_content {
|
|
|
|
|
padding: 4.8rem 9.2rem 6rem;
|
|
|
|
|
|
|
|
|
|
.bind_email_tip {
|
|
|
|
|
font-size: 1.8rem;
|
|
|
|
|
color: #a5b0c2;
|
|
|
|
|
line-height: 1.9rem;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
.bind_email {
|
|
|
|
|
margin-top: 2rem;
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
color: #030303;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bind_email_form_content {
|
|
|
|
|
.bind_email_form_title {
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #030303;
|
|
|
|
|
line-height: 2.4rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bind_email_form_input {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 4.6rem;
|
|
|
|
|
margin-top: 1rem;
|
|
|
|
|
border: 0.1rem solid #b4bed7;
|
|
|
|
|
padding-left: 2.1rem;
|
|
|
|
|
line-height: 4.6rem;
|
|
|
|
|
font-size: 1.8rem;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
|
|
|
|
&::placeholder {
|
|
|
|
|
color: #a5b0c2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bind_email_submit_button {
|
|
|
|
|
height: 4.6rem;
|
|
|
|
|
line-height: 4.6rem;
|
2025-06-03 14:57:18 +08:00
|
|
|
background: #000;
|
2024-03-21 10:49:21 +08:00
|
|
|
font-size: 1.6rem;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
width: 12.8rem;
|
|
|
|
|
text-align: center;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
margin: 3rem auto 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.icon--shangyibu {
|
|
|
|
|
font-size: 2.5rem;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #030303;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.email_last_step_content {
|
|
|
|
|
margin-left: 1rem;
|
|
|
|
|
font-size: 2.2rem;
|
|
|
|
|
font-family: PingFang SC;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #030303;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tip_content {
|
|
|
|
|
font-size: 1.3rem;
|
|
|
|
|
font-weight: bold;
|
2025-06-03 14:57:18 +08:00
|
|
|
color: #000;
|
2024-03-21 10:49:21 +08:00
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.email_last_step_des {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
margin-top: 2.5rem;
|
|
|
|
|
margin-bottom: 1.5rem;
|
|
|
|
|
|
|
|
|
|
.sent_email_content {
|
|
|
|
|
font-size: 1.8rem;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #a5b0c2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|