Compare commits
5 Commits
b0b50ed960
...
9ac4fa6e5d
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ac4fa6e5d | |||
| 0bc2bdb9bb | |||
| 4db377161c | |||
| a60b28aa22 | |||
| fec929bf06 |
@ -43,7 +43,7 @@ export const updateUserExtend = (params: UserExtendSaveReqVO) => {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export const getUserAuthInfo = () => {
|
export const getUserAuthInfo = () => {
|
||||||
return useFetchRequest.get<IResponse<UserAuthInfoRespVO>>('/prod-api/app-api/member/user-auth-info/get', {})
|
return useDollarFetchRequest.get<IResponse<UserAuthInfoRespVO>>('/prod-api/app-api/member/user-auth-info/get', {})
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 创建用户信息
|
* 创建用户信息
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
|
|
||||||
<nuxt-link to="/personal-Center/personal-profile" class="flex items-center justify-between py-[14px]">
|
<!-- <nuxt-link to="/personal-Center/personal-profile" class="flex items-center justify-between py-[14px]">
|
||||||
<div class="flex items-center pl-[20px]">
|
<div class="flex items-center pl-[20px]">
|
||||||
<img v-if="!route.path.startsWith('/personal-Center/personal-profile')" src="~/assets/images/user_zl.png" alt="" srcset="" class="h-[16px]" />
|
<img v-if="!route.path.startsWith('/personal-Center/personal-profile')" src="~/assets/images/user_zl.png" alt="" srcset="" class="h-[16px]" />
|
||||||
<img v-else src="~/assets/images/个人资料 (1).png" alt="" srcset="" class="h-[16px]" />
|
<img v-else src="~/assets/images/个人资料 (1).png" alt="" srcset="" class="h-[16px]" />
|
||||||
@ -34,6 +34,16 @@
|
|||||||
<div class="pr-[20px]">
|
<div class="pr-[20px]">
|
||||||
<el-icon><ArrowRight /></el-icon>
|
<el-icon><ArrowRight /></el-icon>
|
||||||
</div>
|
</div>
|
||||||
|
</nuxt-link> -->
|
||||||
|
<nuxt-link to="/personal-Center/account-management" class="flex items-center justify-between py-[14px]">
|
||||||
|
<div class="flex items-center pl-[20px]">
|
||||||
|
<img v-if="!route.path.startsWith('/personal-Center/account-management')" src="~/assets/images/account.png" alt="" srcset="" class="h-[20px]" />
|
||||||
|
<img v-else src="~/assets/images/账户安全.png" alt="" srcset="" class="h-[20px]" />
|
||||||
|
<span class="ml-[14px]">账户管理</span>
|
||||||
|
</div>
|
||||||
|
<div class="pr-[20px]">
|
||||||
|
<el-icon><ArrowRight /></el-icon>
|
||||||
|
</div>
|
||||||
</nuxt-link>
|
</nuxt-link>
|
||||||
<nuxt-link to="/personal-Center/resource-center" class="flex items-center justify-between py-[14px]">
|
<nuxt-link to="/personal-Center/resource-center" class="flex items-center justify-between py-[14px]">
|
||||||
<div class="flex items-center pl-[20px]">
|
<div class="flex items-center pl-[20px]">
|
||||||
|
|||||||
26
pages/personal-Center/index/account-bind.vue
Normal file
26
pages/personal-Center/index/account-bind.vue
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<template>
|
||||||
|
<div class="box-border w-auto border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px mt-10px">
|
||||||
|
<div class="flex flex-col justify-center text-[14px] text-[#333333] font-normal">
|
||||||
|
<div class="mt-[6px] flex items-center">
|
||||||
|
<img src="~/assets/images/qq-v2.png" alt="" srcset="" class="h-[35px] w-[34px]" />
|
||||||
|
<div class="ml-[19px] w-50px">手机号</div>
|
||||||
|
<div class="ml-[100px] flex items-center"><div class="w-[90px]">手机号码:</div><div class="w-[180px]">xxx</div></div>
|
||||||
|
<div class="btn">绑定</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-[30px] flex items-center">
|
||||||
|
<img src="~/assets/images/qq-v2.png" alt="" srcset="" class="h-[35px] w-[34px]" />
|
||||||
|
<div class="ml-[19px] w-50px">QQ</div>
|
||||||
|
<div class="ml-[100px] flex items-center"><div class="w-[90px]">QQ昵称:</div><div class="w-[180px]">xxx</div></div>
|
||||||
|
<div class="btn">绑定</div>
|
||||||
|
</div>
|
||||||
|
<div class="mt-[30px] flex items-center">
|
||||||
|
<img src="~/assets/images/weixin-v2.png" alt="" srcset="" class="h-[35px] w-[34px]" />
|
||||||
|
<div class="ml-[19px] w-50px">微信</div>
|
||||||
|
<div class="ml-[95px] flex items-center"><div class="w-[90px]">微信昵称:</div><div class="w-[180px]">xxx</div></div>
|
||||||
|
<div class="btn">绑定</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts"></script>
|
||||||
18
pages/personal-Center/index/account-logout.vue
Normal file
18
pages/personal-Center/index/account-logout.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<div class="box-border w-auto border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px mt-10px">
|
||||||
|
<el-button type="danger" @click="handleClick">注销账号</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
const handleClick = () => {
|
||||||
|
console.log('注销账号')
|
||||||
|
ElMessageBox.confirm('确定注销账号吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
}).then(() => {
|
||||||
|
console.log('注销账号')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
18
pages/personal-Center/index/account-management.vue
Normal file
18
pages/personal-Center/index/account-management.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<div class="box-border w-913px border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px">
|
||||||
|
<el-tabs v-model="activeName" class="demo-tabs">
|
||||||
|
<el-tab-pane label="个人资料" name="个人资料">
|
||||||
|
<PersonalProfile />
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="账户安全" name="账户安全">
|
||||||
|
<AccountSecurityV2 />
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import AccountSecurityV2 from './account-security-v2.vue'
|
||||||
|
import PersonalProfile from './personal-profile.vue'
|
||||||
|
const activeName = ref('个人资料')
|
||||||
|
</script>
|
||||||
37
pages/personal-Center/index/account-security-v2.vue
Normal file
37
pages/personal-Center/index/account-security-v2.vue
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<template>
|
||||||
|
<KlTabBar v-model="type" :data="tabBar" />
|
||||||
|
<div v-if="type === '修改密码'">
|
||||||
|
<AccountSecurity />
|
||||||
|
</div>
|
||||||
|
<div v-else-if="type === '账号绑定'">
|
||||||
|
<AccountBind />
|
||||||
|
</div>
|
||||||
|
<div v-else-if="type === '账号注销'">
|
||||||
|
<AccountLogout />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import KlTabBar from '~/components/kl-tab-bar/v2/index.vue'
|
||||||
|
import AccountSecurity from './account-security.vue'
|
||||||
|
import AccountBind from './account-bind.vue'
|
||||||
|
import AccountLogout from './account-logout.vue'
|
||||||
|
|
||||||
|
const tabBar = ref([
|
||||||
|
{
|
||||||
|
label: '修改密码',
|
||||||
|
value: '修改密码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '账号绑定',
|
||||||
|
value: '账号绑定',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '账号注销',
|
||||||
|
value: '账号注销',
|
||||||
|
},
|
||||||
|
])
|
||||||
|
const type = ref('修改密码')
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped></style>
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box-border w-913px border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px">
|
<div class="box-border w-auto border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px mt-10px">
|
||||||
<el-tabs v-model="activeName" class="demo-tabs">
|
<!-- <el-tabs v-model="activeName" class="demo-tabs"> -->
|
||||||
<el-tab-pane label="修改密码" name="修改密码">
|
<!-- <el-tab-pane label="修改密码" name="修改密码"> -->
|
||||||
<el-form ref="formRef" :model="form" label-width="120px" class="profile-form" autocomplete="off">
|
<el-form ref="formRef" :model="form" label-width="120px" class="profile-form" autocomplete="off">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="手机号"
|
label="手机号"
|
||||||
@ -19,7 +19,7 @@
|
|||||||
<el-input v-model="form.phone" type="text" placeholder="请输入手机号" class="h-37px" />
|
<el-input v-model="form.phone" type="text" placeholder="请输入手机号" class="h-37px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="验证码" prop="code" class="mt-15px!" :rules="{ required: true, message: '请输入验证码', trigger: ['blur', 'change'] }">
|
<el-form-item label="验证码" prop="code" class="mt-15px!" :rules="{ required: true, message: '请输入验证码', trigger: ['blur', 'change'] }">
|
||||||
<div class="flex items-center gap10">
|
<div class="flex items-center gap-10px">
|
||||||
<el-input v-model="form.code" type="text" placeholder="请输入验证码" class="h-37px" />
|
<el-input v-model="form.code" type="text" placeholder="请输入验证码" class="h-37px" />
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<el-button type="primary" class="h-37px w-121px line-height-37px" @click="handleSave">保存</el-button>
|
<el-button type="primary" class="h-37px w-121px line-height-37px" @click="handleSave">保存</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
<!-- </el-tab-pane> -->
|
||||||
<!-- <el-tab-pane label="登录设备管理" name="登录设备管理"> </el-tab-pane> -->
|
<!-- <el-tab-pane label="登录设备管理" name="登录设备管理"> </el-tab-pane> -->
|
||||||
</el-tabs>
|
<!-- </el-tabs> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,10 @@
|
|||||||
<el-image :src="scope.row.iconUrl" fit="cover" alt="" srcset="" class="h-91px w-181px rd-4px" />
|
<el-image :src="scope.row.iconUrl" fit="cover" alt="" srcset="" class="h-91px w-181px rd-4px" />
|
||||||
<div class="ml-17px">
|
<div class="ml-17px">
|
||||||
<div class="text-16px text-[#333333] font-normal">{{ scope.row.title }}</div>
|
<div class="text-16px text-[#333333] font-normal">{{ scope.row.title }}</div>
|
||||||
<div class="text-14px text-[#333333] font-normal my-10px!">{{ dayjs(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }}</div>
|
<div class="text-14px text-[#333333] font-normal my-10px!">
|
||||||
|
{{ dayjs(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') }}
|
||||||
|
<span class="ml-10px">{{ scope.row.sizecountry }}</span>
|
||||||
|
</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<img src="~/assets/images/look.png" alt="" srcset="" class="h-17px" />
|
<img src="~/assets/images/look.png" alt="" srcset="" class="h-17px" />
|
||||||
@ -78,6 +81,10 @@
|
|||||||
label: '文本',
|
label: '文本',
|
||||||
value: 2,
|
value: 2,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '工具箱',
|
||||||
|
value: 4,
|
||||||
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
const handleStatus = (status: number) => {
|
const handleStatus = (status: number) => {
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box-border w-[913px] border border-[#EEEEEE] rounded-[6px] border-solid bg-[#FFFFFF] px-[30px] py-[18px]">
|
<div class="box-border w-[913px] border border-[#EEEEEE] rounded-[6px] border-solid bg-[#FFFFFF] px-[30px] py-[18px]">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<img :src="userStore.userInfoRes.avatar" alt="" srcset="" class="h-[105px] w-[105px] rounded-full" />
|
<div class="relative">
|
||||||
|
<img :src="userStore.userInfoRes.avatar" alt="" srcset="" class="h-[105px] w-[105px] rounded-full" />
|
||||||
|
<img v-if="userStore.userInfoRes.vipLevel === 1" src="~/assets/svg/vip.svg" alt="" class="absolute bottom-[0px] right-[4px]" />
|
||||||
|
<img v-if="userStore.userInfoRes.vipLevel === 2" src="~/assets/svg/svip.svg" alt="" class="absolute bottom-[0px] right-[5px]" />
|
||||||
|
</div>
|
||||||
<div class="ml-[29px]">
|
<div class="ml-[29px]">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<span class="text-[20px] text-[#333333] font-normal">Hi,{{ userStore.userInfoRes.nickname }}</span>
|
<span class="text-[20px] text-[#333333] font-normal">Hi,{{ userStore.userInfoRes.nickname }}</span>
|
||||||
<img v-if="userStore.userInfoRes.vipLevel === 1" src="~/assets/svg/vip.svg" alt="" class="relative top-[2px] ml-[5px]" />
|
|
||||||
<img v-if="userStore.userInfoRes.vipLevel === 2" src="~/assets/svg/svip.svg" alt="" class="relative top-[2px] ml-[5px]" />
|
|
||||||
<div
|
<div
|
||||||
class="ml-[18px] h-[30px] w-[80px] cursor-pointer border border-[#1A65FF] rounded-[15px] border-solid text-center text-[14px] text-[#1A65FF] font-normal line-height-[30px]"
|
class="ml-[18px] h-[30px] w-[80px] cursor-pointer border border-[#1A65FF] rounded-[15px] border-solid text-center text-[14px] text-[#1A65FF] font-normal line-height-[30px]"
|
||||||
@click="handleClick"
|
@click="handleClick"
|
||||||
@ -16,7 +18,7 @@
|
|||||||
<div class="mt-[20px] flex items-center text-[14px] text-[#333333] font-normal">
|
<div class="mt-[20px] flex items-center text-[14px] text-[#333333] font-normal">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<img src="~/assets/images/cad_0 (1).png" alt="" srcset="" />
|
<img src="~/assets/images/cad_0 (1).png" alt="" srcset="" />
|
||||||
<span class="ml-[4px]">我的积分: {{ userStaticInfo?.pointCount || 0 }}</span>
|
<span class="ml-[4px]">我的金币: {{ userStaticInfo?.pointCount || 0 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="ml-[37px] flex items-center">
|
<div class="ml-[37px] flex items-center">
|
||||||
<img src="~/assets/images/cad_0 (2).png" alt="" srcset="" />
|
<img src="~/assets/images/cad_0 (2).png" alt="" srcset="" />
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="box-border h-[782px] w-[913px] border border-[#EEEEEE] rounded-[6px] border-solid bg-[#FFFFFF] px-[30px] py-[21px]">
|
<div class="box-border h-[682px] w-[913px] border border-[#EEEEEE] rounded-[6px] border-solid bg-[#FFFFFF] px-[30px] py-[21px]">
|
||||||
<div class="flex items-center justify-between border-b-[1px] border-b-[#eeeeee] border-b-solid pb-[18px]">
|
<!-- <div class="flex items-center justify-between border-b-[1px] border-b-[#eeeeee] border-b-solid pb-[18px]">
|
||||||
<div class="text-[16px] text-[#333333] font-normal">个人资料</div>
|
<div class="text-[16px] text-[#333333] font-normal">个人资料</div>
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<!-- <img src="~/assets/images/fans.png" alt="" srcset="" /> -->
|
<img src="~/assets/images/fans.png" alt="" srcset="" />
|
||||||
<span class="ml-[8px] text-[14px] text-[#333333] font-normal"></span>
|
<span class="ml-[8px] text-[14px] text-[#333333] font-normal"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="user-profile-container">
|
<div class="user-profile-container">
|
||||||
<div class="avatar-section">
|
<div class="avatar-section">
|
||||||
<el-upload class="avatar-uploader" action="#" :show-file-list="false" :auto-upload="false" :on-change="handleAvatarChange">
|
<el-upload class="avatar-uploader" action="#" :show-file-list="false" :auto-upload="false" :on-change="handleAvatarChange">
|
||||||
|
|||||||
Reference in New Issue
Block a user