detail preview可以设置空颜色
This commit is contained in:
@@ -1,102 +1,158 @@
|
||||
<template>
|
||||
<div class="homeMain_max Guide_1_16_1">
|
||||
<header class="homeMain_heade">
|
||||
<div class="homeMain_right_content">
|
||||
<div class="homeMain_user">
|
||||
<div class="homeMain_user_icon" @click="openAccount">
|
||||
<img :src="userDetail.avatar" alt="">
|
||||
<div class="homeMain_max">
|
||||
<div class="leftBox">
|
||||
<div class="left">
|
||||
<div class="title">
|
||||
<span>AiDA</span>
|
||||
<svg 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>
|
||||
<div class="newObj marginT2">
|
||||
<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 Chat</p>
|
||||
</div>
|
||||
<div class="navList marginT2">
|
||||
<div class="tools list" v-for="item in openTypeList" :class="{active:openType == item.value}">
|
||||
<div class="titleBox" @click="setOpenType(item.value)">
|
||||
<div class="left">
|
||||
<i :class="['fi',item.icon]"></i>
|
||||
<span>{{item.label}}</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<i class="fi fi-br-angle-small-down"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailBox">
|
||||
<div class="detail" v-show="openType == item.value">
|
||||
<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>
|
||||
<span>{{ childItem.label }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="homeMain_user_detail">
|
||||
</div>
|
||||
<div class="navListBottom">
|
||||
<div class="tools marginT2 list language" :class="{active:isLanguage}">
|
||||
<div class="titleBox" @click="()=>isLanguage = !isLanguage">
|
||||
<div class="left">
|
||||
<i class="fi fi-br-angle-small-down"></i>
|
||||
<span>Advanced Tools</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<i class="fi fi-br-angle-small-down"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailBox">
|
||||
<div class="detail" v-show="isLanguage">
|
||||
<div class="detailItem">
|
||||
<!-- <i class="fi fi-br-angle-small-down"></i> -->
|
||||
<span>AI Image Generator</span>
|
||||
</div>
|
||||
<div class="detailItem active">
|
||||
<svg data-v-2396c87a="" 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>AI Image Generator</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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">
|
||||
<div class="homeMain_user">
|
||||
<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 class="attention_item attention_item_active"> -->
|
||||
<div>{{ userDetail?.followeeCount }}</div>
|
||||
<span>{{$t('account.Follow')}}</span>
|
||||
<div class="homeMain_user_detail">
|
||||
<div class="homeMain_user_icon" @click="openAccount">
|
||||
<img :src="userDetail.avatar" alt="">
|
||||
</div>
|
||||
<div class="attention_item">
|
||||
<div>{{ userDetail?.followerCount }}</div>
|
||||
<span>{{$t('account.Fans')}}</span>
|
||||
</div>
|
||||
<!-- <div class="attention_item">
|
||||
<div>22</div>
|
||||
<span>作品数</span>
|
||||
</div> -->
|
||||
</div>
|
||||
<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>
|
||||
<!-- <div>
|
||||
<span class="font">Cancel Renewal <i class="fi fi-rr-arrow-small-right"></i></span>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="homeMain_select">
|
||||
<div class="select_item_box" @click.stop="isLanguage = !isLanguage">
|
||||
<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 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>
|
||||
<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>
|
||||
</div>
|
||||
<div class="select_item" @click="orderForm()">
|
||||
|
||||
<i class="fi fi-rs-notebook"></i>
|
||||
<span class="select_item_des">{{$t('Header.ViewOrders')}}</span>
|
||||
<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>
|
||||
</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 class="homeMain_select">
|
||||
<div class="select_item_box" @click.stop="isLanguage = !isLanguage">
|
||||
<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>
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="router">
|
||||
<router-view v-if="!getLangIsShowMark" @setTask="setTask" :getLangIsShowMark="getLangIsShowMark">
|
||||
</router-view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<header class="homeMain_heade" v-show="false">
|
||||
<div class="homeMain_right_content">
|
||||
|
||||
<div
|
||||
class="trialApproval button_second credits hideChecked"
|
||||
>
|
||||
{{$t('Header.Credits')}}:
|
||||
<span :title="credits">
|
||||
<!-- <div>{{ String(credits.value[credits.value.legnth-1]) }}</div> -->
|
||||
<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="Assignment" class="fi fi-rr-gift" title="Assignment"></i> -->
|
||||
<i @click="UpgradePlan" title="Purchase" class="fi fi-rr-shop"></i>
|
||||
</div>
|
||||
<!-- <div class="gallery_btn" style="margin-left: 3rem;" @click="subscribe">{{$t('Header.SubscribeNow')}}</div> -->
|
||||
<div v-if="userDetail.systemUser == 0 || userDetail.systemUser == 3" class="gallery_btn" style="margin-left: 3rem;" @click="subscribe">{{$t('Header.SubscribeNow')}}</div>
|
||||
<div v-else style="width: 30rem;"></div>
|
||||
</div>
|
||||
<navRouter :routerList="navRouterList"></navRouter>
|
||||
<!-- <navRouter :routerList="navRouterList"></navRouter> -->
|
||||
<div class="homeMain_right">
|
||||
<div class="trialApproval credits message">
|
||||
<div class="message_iconItem">
|
||||
@@ -114,7 +170,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <Habit></Habit> -->
|
||||
</div>
|
||||
|
||||
@@ -122,16 +177,8 @@
|
||||
<UpgradePlan ref="UpgradePlan"></UpgradePlan>
|
||||
<TaskPage ref="TaskPage"></TaskPage>
|
||||
</header>
|
||||
<div class="homeMain_content_body">
|
||||
<!-- <router-view v-slot="{ Component }" @setTask = "setTask">
|
||||
<keep-alive>
|
||||
<component :key="$route.name" :is="Component" v-if="$route.meta.keepAlive"/>
|
||||
</keep-alive>
|
||||
<component :key="$route.name" :is="Component" v-if="!$route.meta.keepAlive"/>
|
||||
</router-view> -->
|
||||
<router-view v-if="!getLangIsShowMark" @setTask="setTask" :getLangIsShowMark="getLangIsShowMark">
|
||||
</router-view>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mark_loading" v-show="getLangIsShowMark">
|
||||
<a-spin size="large" />
|
||||
</div>
|
||||
@@ -144,7 +191,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script >
|
||||
import { defineComponent, createVNode, ref,toRefs, reactive, computed, onMounted, nextTick } from "vue";
|
||||
import { defineComponent, createVNode, ref,toRefs, reactive, computed, onMounted, nextTick, watch } from "vue";
|
||||
import { isEmail } from "@/tool/util";
|
||||
import { setCookie, getCookie, WriteCookie,clonAllCookie } from "@/tool/cookie";
|
||||
import payOrder from "@/component/Pay/payOrder.vue";
|
||||
@@ -169,6 +216,8 @@ import { gsap, TweenMax,TweenLite } from "gsap";
|
||||
import { ScrollTrigger } from "gsap/ScrollTrigger";
|
||||
import MyWs from "@/tool/webSocket";
|
||||
import MyEvent from "@/tool/myEvents";
|
||||
import { useRouter,useRoute } from 'vue-router'
|
||||
import {openTypeList} from "@/tool/listData.js";
|
||||
export default defineComponent({
|
||||
components: {
|
||||
VerificationCodeInput,
|
||||
@@ -187,6 +236,32 @@ export default defineComponent({
|
||||
const store = useStore();
|
||||
const {t} = useI18n()
|
||||
const {locale} = useI18n()
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const homeMainData = reactive({
|
||||
openType:'',
|
||||
openTypeChild:'',
|
||||
isLanguage:false,
|
||||
openTypeList:openTypeList(t),
|
||||
})
|
||||
watch(() => route.query,
|
||||
(query, oldQuery) => {
|
||||
// if(oldQuery && query?.works == oldQuery?.works)return
|
||||
console.log(query,oldQuery,Object.keys(query)[0]);
|
||||
// homeMainData.openTypeList[Object.keys(query)[0]]
|
||||
nextTick(()=>{
|
||||
const key = Object.keys(query)?.[0]
|
||||
if(key){
|
||||
homeMainData.openType = Object.keys(query)[0]
|
||||
homeMainData.openTypeChild = query[Object.keys(query)[0]]
|
||||
}else{
|
||||
homeMainData.openType = ''
|
||||
homeMainData.openTypeChild = ''
|
||||
}
|
||||
})
|
||||
},
|
||||
{ immediate: true } // 立即触发一次以处理初始参数
|
||||
);
|
||||
let userDetail= computed(()=>{
|
||||
return store.state.UserHabit.userDetail
|
||||
})
|
||||
@@ -272,7 +347,7 @@ export default defineComponent({
|
||||
document.removeEventListener("click", closeShowOperateContent);
|
||||
}
|
||||
let renew = ref(null)
|
||||
const subscribe = ()=>{
|
||||
const openUpgradeToPro = ()=>{
|
||||
renew.value.init()
|
||||
}
|
||||
onMounted(()=>{
|
||||
@@ -301,10 +376,26 @@ export default defineComponent({
|
||||
},
|
||||
]
|
||||
})
|
||||
const setOpenType = (type)=>{
|
||||
if(homeMainData.openType == type){
|
||||
homeMainData.openType = ''
|
||||
}else {
|
||||
homeMainData.openType = type
|
||||
if(type == 'history'){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
const setRouter = (item,childItem)=>{
|
||||
let itemRouter = item.router
|
||||
if(childItem.router)itemRouter = itemRouter + '?' + childItem.router
|
||||
router.push(itemRouter)
|
||||
}
|
||||
return {
|
||||
store,
|
||||
userDetail,
|
||||
t,
|
||||
...toRefs(homeMainData),
|
||||
locale,
|
||||
isMurmur,
|
||||
credits,
|
||||
@@ -319,7 +410,9 @@ export default defineComponent({
|
||||
changeLanguage,
|
||||
closeShowOperateContent,
|
||||
renew,
|
||||
subscribe,
|
||||
openUpgradeToPro,
|
||||
setOpenType,
|
||||
setRouter,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -612,12 +705,367 @@ export default defineComponent({
|
||||
display: flex;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
flex-direction: column;
|
||||
.homeMain_content_body{
|
||||
> .leftBox{
|
||||
height: 100%;
|
||||
background: #f5f5f5;
|
||||
> .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{
|
||||
height: 100%;
|
||||
> .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;
|
||||
> i{
|
||||
margin-right: .8rem;
|
||||
display: flex;
|
||||
}
|
||||
&.active{
|
||||
background: #f5f5f5;
|
||||
}
|
||||
&:hover{
|
||||
background: #f5f5f5;
|
||||
}
|
||||
}
|
||||
> .detailItem:last-child{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.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;
|
||||
> .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;
|
||||
}
|
||||
}
|
||||
> .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;
|
||||
}
|
||||
}
|
||||
> .navList{
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
> .navListBottom{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
> .gallery_btn{
|
||||
margin-top: 1.2rem;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
> .rightBox{
|
||||
flex: 1;
|
||||
height: calc(100% - 20rem);
|
||||
// height: calc(100vh - 7rem);
|
||||
overflow: hidden;
|
||||
> .right{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex-direction: column;
|
||||
> .user{
|
||||
margin-bottom: 1rem;
|
||||
.homeMain_user{
|
||||
height: 6rem;
|
||||
width: 6rem;
|
||||
margin-left: auto;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.homeMain_heade {
|
||||
@@ -702,159 +1150,7 @@ export default defineComponent({
|
||||
position: relative;
|
||||
top: 0.3rem;
|
||||
}
|
||||
.homeMain_user{
|
||||
.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{
|
||||
position: absolute;
|
||||
top: calc(100% + .5rem);
|
||||
background: #fff;
|
||||
width: 32rem;
|
||||
height: auto;
|
||||
opacity: 0;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.username {
|
||||
font-size: 1.8rem;
|
||||
color: #1a1a1a;
|
||||
|
||||
Reference in New Issue
Block a user