Update API request formatting and routing structure
This commit is contained in:
@ -100,21 +100,21 @@ export const getMessagePage = (params: { pageNo: number; pageSize: number; fromI
|
||||
* 会话列表
|
||||
*/
|
||||
export const conversationList = () => {
|
||||
return useFetchRequest.get<IResponse<PageResultSessionRespVO[]>>('/prod-api/app-api/mqtt/session/list')
|
||||
return useDollarFetchRequest.get<IResponse<PageResultSessionRespVO[]>>('/prod-api/app-api/mqtt/session/list')
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取聊天记录
|
||||
*/
|
||||
export const getChatDetail = (params: { sessionId: number; pageNo: number; pageSize: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultMessageRespVO>>('/prod-api/app-api/mqtt/message/pageBySession', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultMessageRespVO>>('/prod-api/app-api/mqtt/message/pageBySession', {query:params})
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空未读信息
|
||||
*/
|
||||
export const clearUnreadMessage = (params: { id: number }) => {
|
||||
return useDollarFetchRequest.put<IResponse<boolean>>('/prod-api/app-api/mqtt/session/clear', { params })
|
||||
return useDollarFetchRequest.put<IResponse<boolean>>('/prod-api/app-api/mqtt/session/clear', params)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -59,5 +59,5 @@ export const sendSms = (params: { mobile: string; scene: number }) => {
|
||||
* 获得站内信
|
||||
*/
|
||||
export const getMessage = (params: { id: number }) => {
|
||||
return useFetchRequest.get<IResponse<NotifyMessageRespVO>>('/prod-api/app-api/system/notify-message/get', { params })
|
||||
return useDollarFetchRequest.get<IResponse<NotifyMessageRespVO>>('/prod-api/app-api/system/notify-message/get', { query:params })
|
||||
}
|
||||
|
||||
@ -36,7 +36,7 @@ export const createOrder = (params: { spuId: number }) => {
|
||||
* 获得钱包充值套餐列表
|
||||
*/
|
||||
export const listWalletRechargePackage = () => {
|
||||
return useFetchRequest.get<IResponse<AppPayWalletPackageRespVO[]>>('/prod-api/app-api/pay/wallet-recharge-package/list', {})
|
||||
return useDollarFetchRequest.get<IResponse<AppPayWalletPackageRespVO[]>>('/prod-api/app-api/pay/wallet-recharge-package/list', {})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -71,5 +71,5 @@ export const socialLoginByCode = (params: { type: number; code: string; state: s
|
||||
* 获得钱包充值记录分页
|
||||
*/
|
||||
export const getWalletRechargeRecordPage = (params: { pageNo: number; pageSize: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultAppPayWalletRechargeRespVO>>('/prod-api/app-api/pay/wallet-transaction/page', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultAppPayWalletRechargeRespVO>>('/prod-api/app-api/pay/wallet-transaction/page', {query:params})
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ import type {
|
||||
* @returns
|
||||
*/
|
||||
export const getUserInfo = () => {
|
||||
return useFetchRequest.get<IResponse<UserExtendRespVO>>('/prod-api/app-api/member/user-extend/get', {})
|
||||
return useDollarFetchRequest.get<IResponse<UserExtendRespVO>>('/prod-api/app-api/member/user-extend/get', {})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -66,13 +66,13 @@ export const updateUserAuthInfo = (params: UserAuthInfoRespVO) => {
|
||||
* 获得内容信息分页
|
||||
*/
|
||||
export const getContentPage = (params: { type: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/project-history/page', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/project-history/page', {query:params})
|
||||
}
|
||||
/**
|
||||
* 获得用户项目工具箱下载分页
|
||||
*/
|
||||
export const getUserToolBoxPage = (params: { pageNum: number; pageSize: number; type?: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/project-member-file/page', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/project-member-file/page', {query:params})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -98,34 +98,34 @@ export const getUserPointPage = (params: { pageNo: number; pageSize: number }) =
|
||||
* 近期收益和近期活跃
|
||||
*/
|
||||
export const getRecentIncomeAndActive = (params: { type: number; limit: number }) => {
|
||||
return useFetchRequest.get<IResponse<UserStatisticsLineRespVO>>('/prod-api/app-api/member/statistics/line', params)
|
||||
return useDollarFetchRequest.get<IResponse<UserStatisticsLineRespVO>>('/prod-api/app-api/member/statistics/line', {query:params})
|
||||
}
|
||||
/**
|
||||
*
|
||||
资源下载分布
|
||||
*/
|
||||
export const getResourceDistribution = (params: { type: number; limit: number }) => {
|
||||
return useFetchRequest.get<IResponse<UserStatisticsBarRespVO>>('/prod-api/app-api/member/statistics/bar', params)
|
||||
return useDollarFetchRequest.get<IResponse<UserStatisticsBarRespVO>>('/prod-api/app-api/member/statistics/bar', {query:params})
|
||||
}
|
||||
/**
|
||||
* 我的数据统计 包括我的金币 我的关注 我的发布等等
|
||||
*/
|
||||
export const getUserStatistics = () => {
|
||||
return useFetchRequest.get<IResponse<UserStatisticsCountRespVO>>('/prod-api/app-api/member/statistics/count', {})
|
||||
return useDollarFetchRequest.get<IResponse<UserStatisticsCountRespVO>>('/prod-api/app-api/member/statistics/count', {})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得项目订单用户收藏信息分页
|
||||
*/
|
||||
export const getUserFavoritePage = (params: { pageNo: number; pageSize: number; userId: any; type: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultProjectMemberFavoritesRespVO>>('/prod-api/app-api/business/project-member-favorites/page', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultProjectMemberFavoritesRespVO>>('/prod-api/app-api/business/project-member-favorites/page', {query:params})
|
||||
}
|
||||
|
||||
/***
|
||||
* 自己发布的-内容信息分页
|
||||
*/
|
||||
export const getOwnContentPage = (params: { pageNo: number; pageSize: number; type: number }) => {
|
||||
return useFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/app/project-draw/my-page', params)
|
||||
return useDollarFetchRequest.get<IResponse<PageResultProjectHistoryResVO>>('/prod-api/app-api/business/app/project-draw/my-page', {query:params})
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -52,12 +52,12 @@
|
||||
|
||||
// 用户中心
|
||||
const handleUserCenter = () => {
|
||||
navigateTo('/personal/center/info')
|
||||
navigateTo('/personal-Center/info')
|
||||
}
|
||||
|
||||
// 消息中心
|
||||
const handleMessageCenter = () => {
|
||||
navigateTo('/personal/center/message')
|
||||
navigateTo('/personal-Center/center-message')
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
|
||||
@ -182,7 +182,7 @@
|
||||
userStore.logout()
|
||||
userStore.$reset()
|
||||
} else if (command === '个人中心') {
|
||||
navigateTo('/personal/center/info')
|
||||
navigateTo('/personal-Center/info')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -71,5 +71,7 @@ const useClientRequest = async <T = unknown>(
|
||||
body?: any,
|
||||
config?: Omit<FetchOptions, 'method' | 'body'>
|
||||
): Promise<T> => {
|
||||
console.log({ ...config, method: 'PUT', body });
|
||||
|
||||
return useClientRequest<T>(endpoint, { ...config, method: 'PUT', body })
|
||||
}
|
||||
|
||||
@ -1,70 +1,70 @@
|
||||
<template>
|
||||
<KlNavTab />
|
||||
<div class="ma-auto w-1198px flex justify-between">
|
||||
<div class="left mt-25px box-border h-370px w-260px border border-[#EEEEEE] rounded-4px border-solid bg-[#FFFFFF] text-15px text-[#333333] font-medium">
|
||||
<nuxt-link to="/personal/center/info" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="route.path.startsWith('/personal/center/info')" src="~/assets/images/user3.png" alt="" srcset="" class="h-20px" />
|
||||
<img v-else src="~/assets/images/个人.png" alt="" srcset="" class="h-20px" />
|
||||
<span class="ml-10px">个人中心</span>
|
||||
<div class="ma-auto w-[1198px] flex justify-between">
|
||||
<div class="left mt-[25px] box-border h-[370px] w-[260px] border border-[#EEEEEE] rounded-[4px] border-solid bg-[#FFFFFF] text-[15px] text-[#333333] font-medium">
|
||||
<nuxt-link to="/personal-Center/info" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="route.path.startsWith('/personal/center/info')" src="~/assets/images/user3.png" alt="" srcset="" class="h-[20px]" />
|
||||
<img v-else src="~/assets/images/个人.png" alt="" srcset="" class="h-[20px]" />
|
||||
<span class="ml-[10px]">个人中心</span>
|
||||
</div>
|
||||
<div class="pr-20px">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
|
||||
<nuxt-link to="/personal/profile" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="!route.path.startsWith('/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" />
|
||||
<span class="ml-10px">个人资料</span>
|
||||
<nuxt-link to="/personal-Center/personal-profile" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="!route.path.startsWith('/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]" />
|
||||
<span class="ml-[10px]">个人资料</span>
|
||||
</div>
|
||||
<div class="pr-20px">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
<nuxt-link to="/personal/account/security" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="!route.path.startsWith('/personal/account/security')" 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>
|
||||
<nuxt-link to="/personal-Center/account-security" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="!route.path.startsWith('/personal/account/security')" 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">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
<nuxt-link to="/personal/resource/center" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="!route.path.startsWith('/personal/resource/center')" src="~/assets/images/ziyuan.png" alt="" srcset="" class="h-18px" />
|
||||
<img v-else src="~/assets/images/资源.png" alt="" srcset="" class="h-18px" />
|
||||
<span class="ml-12px">资源中心</span>
|
||||
<nuxt-link to="/personal-Center/resource-center" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="!route.path.startsWith('/personal/resource/center')" src="~/assets/images/ziyuan.png" alt="" srcset="" class="h-[18px]" />
|
||||
<img v-else src="~/assets/images/资源.png" alt="" srcset="" class="h-[18px]" />
|
||||
<span class="ml-[12px]">资源中心</span>
|
||||
</div>
|
||||
<div class="pr-20px">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
<nuxt-link to="/personal/trading/center" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="!route.path.startsWith('/personal/trading/center')" src="~/assets/images/pay.png" alt="" srcset="" class="h-20px" />
|
||||
<img v-else src="~/assets/images/交易管理.png" alt="" srcset="" class="h-20px" />
|
||||
<span class="ml-12px">交易中心</span>
|
||||
<nuxt-link to="/personal-Center/trading-center" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="!route.path.startsWith('/personal/trading/center')" src="~/assets/images/pay.png" alt="" srcset="" class="h-[20px]" />
|
||||
<img v-else src="~/assets/images/交易管理.png" alt="" srcset="" class="h-[20px]" />
|
||||
<span class="ml-[12px]">交易中心</span>
|
||||
</div>
|
||||
<div class="pr-20px">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
<nuxt-link to="/personal/center/message" class="flex items-center justify-between py-14px">
|
||||
<div class="flex items-center pl-20px">
|
||||
<img v-if="!route.path.startsWith('/personal/center/message')" src="~/assets/images/message.png" alt="" srcset="" class="h-18px" />
|
||||
<img v-else src="~/assets/images/消息.png" alt="" srcset="" class="h-18px" />
|
||||
<span class="ml-14px">消息通知</span>
|
||||
<nuxt-link to="/personal-Center/message-center" class="flex items-center justify-between py-[14px]">
|
||||
<div class="flex items-center pl-[20px]">
|
||||
<img v-if="!route.path.startsWith('/personal/center/message')" src="~/assets/images/message.png" alt="" srcset="" class="h-[18px]" />
|
||||
<img v-else src="~/assets/images/消息.png" alt="" srcset="" class="h-[18px]" />
|
||||
<span class="ml-[14px]">消息通知</span>
|
||||
</div>
|
||||
<div class="pr-20px">
|
||||
<div class="pr-[20px]">
|
||||
<el-icon><ArrowRight /></el-icon>
|
||||
</div>
|
||||
</nuxt-link>
|
||||
</div>
|
||||
<div class="right mt-25px">
|
||||
<div class="right mt-[25px]">
|
||||
<NuxtPage />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
</template>
|
||||
<div v-loading="loading" class="vip-cards">
|
||||
<div v-for="item in viplist" :key="item.id" class="vip-card">
|
||||
<div class="relative w-100% flex flex-col items-center">
|
||||
<div class="relative w-[100%] flex flex-col items-center">
|
||||
<div class="vip-card-header basic">
|
||||
<div class="vip-card-title">{{ item.name }}</div>
|
||||
<!-- <div class="vip-card-subtitle">中小微企业</div> -->
|
||||
@ -25,8 +25,8 @@
|
||||
> -->
|
||||
</ul>
|
||||
<div v-if="item.qrCodeUrl" class="vip-card-qrcode">
|
||||
<el-icon class="absolute right--10px top-0px cursor-pointer" @click="item.qrCodeUrl = ''"><Close /></el-icon>
|
||||
<qrcode-vue :value="item.qrCodeUrl" :size="140" level="H" />
|
||||
<el-icon class="absolute! right-[-10px] top-[0px] cursor-pointer" @click="item.qrCodeUrl = ''"><Close /></el-icon>
|
||||
<qrcode-vue :value="item.qrCodeUrl" :size="140" level="H" class="relative! left-[12px]" />
|
||||
<div>请使用微信扫二维码</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -1,45 +1,45 @@
|
||||
<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">
|
||||
<img :src="userStore.userInfoRes.avatar" alt="" srcset="" class="h-105px w-105px rounded-full" />
|
||||
<div class="ml-29px">
|
||||
<img :src="userStore.userInfoRes.avatar" alt="" srcset="" class="h-[105px] w-[105px] rounded-full" />
|
||||
<div class="ml-[29px]">
|
||||
<div class="flex items-center">
|
||||
<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" />
|
||||
<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
|
||||
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"
|
||||
>编辑资料</div
|
||||
>
|
||||
</div>
|
||||
<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">
|
||||
<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 class="ml-37px flex items-center">
|
||||
<div class="ml-[37px] flex items-center">
|
||||
<img src="~/assets/images/cad_0 (2).png" alt="" srcset="" />
|
||||
<span class="ml-4px">我的收藏: {{ userStaticInfo?.followCount || 0 }}</span>
|
||||
<span class="ml-[4px]">我的收藏: {{ userStaticInfo?.followCount || 0 }}</span>
|
||||
</div>
|
||||
<div class="ml-37px flex items-center">
|
||||
<div class="ml-[37px] flex items-center">
|
||||
<img src="~/assets/images/cad_0 (3).png" alt="" srcset="" />
|
||||
<span class="ml-4px">我的发布: {{ userStaticInfo?.projectCount || 0 }}</span>
|
||||
<span class="ml-[4px]">我的发布: {{ userStaticInfo?.projectCount || 0 }}</span>
|
||||
</div>
|
||||
<div class="ml-37px flex items-center">
|
||||
<div class="ml-[37px] flex items-center">
|
||||
<img src="~/assets/images/cad_0 (4).png" alt="" srcset="" />
|
||||
<span class="ml-4px">我的下载: {{ userStaticInfo?.downloadCount || 0 }}</span>
|
||||
<span class="ml-[4px]">我的下载: {{ userStaticInfo?.downloadCount || 0 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-30px flex items-center justify-around">
|
||||
<div class="mt-[30px] flex items-center justify-around">
|
||||
<div class="flex items-center">
|
||||
<div class="relative">
|
||||
<img src="~/assets/images/info_1 (3).png" alt="" srcset="" />
|
||||
<img src="~/assets/images/info_1 (4).png" alt="" srcset="" class="absolute left-18px top-18px" />
|
||||
<img src="~/assets/images/info_1 (4).png" alt="" srcset="" class="absolute left-[18px] top-[18px]" />
|
||||
</div>
|
||||
<div class="ml-18px">
|
||||
<div class="ml-[18px]">
|
||||
<div class="flex items-center">
|
||||
<span class="info_num text-[#17A86D]">{{ userStaticInfo?.currencyCount || 0 }}</span>
|
||||
<div class="info_pay cursor-pointer" @click="handlePay">充值</div>
|
||||
@ -50,9 +50,9 @@
|
||||
<div class="flex items-center">
|
||||
<div class="relative">
|
||||
<img src="~/assets/images/info_1 (5).png" alt="" srcset="" />
|
||||
<img src="~/assets/images/info_1 (6).png" alt="" srcset="" class="absolute left-18px top-22px" />
|
||||
<img src="~/assets/images/info_1 (6).png" alt="" srcset="" class="absolute left-[18px] top-[22px]" />
|
||||
</div>
|
||||
<div class="ml-18px">
|
||||
<div class="ml-[18px]">
|
||||
<div>
|
||||
<span class="info_num text-[#328CD7]">{{ userStaticInfo?.previewCount || 0 }}</span>
|
||||
</div>
|
||||
@ -62,9 +62,9 @@
|
||||
<div class="flex items-center">
|
||||
<div class="relative">
|
||||
<img src="~/assets/images/info_1 (1).png" alt="" srcset="" />
|
||||
<img src="~/assets/images/info_1 (2).png" alt="" srcset="" class="absolute left-20px top-18px" />
|
||||
<img src="~/assets/images/info_1 (2).png" alt="" srcset="" class="absolute left-[20px] top-[18px]" />
|
||||
</div>
|
||||
<div class="ml-18px">
|
||||
<div class="ml-[18px]">
|
||||
<div>
|
||||
<span class="info_num text-[#FFC415]">{{ userStaticInfo?.revenueCount || 0 }}</span>
|
||||
</div>
|
||||
@ -74,20 +74,20 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- -->
|
||||
<div class="mt-23px box-border h-183px w-913px border border-[#EEEEEE] rounded-6px border-solid bg-[#FFFFFF] px-30px py-21px">
|
||||
<div class="mt-[23px] box-border h-[183px] w-[913px] border border-[#EEEEEE] rounded-[6px] border-solid bg-[#FFFFFF] px-[30px] py-[21px]">
|
||||
<div class="title">快捷入口</div>
|
||||
<div class="mt-20px flex items-center">
|
||||
<div class="info_item cursor-pointer" @click="handleClickPush('/upnew/drawe')">
|
||||
<div class="mt-[20px] flex items-center">
|
||||
<div class="info_item cursor-pointer" @click="handleClickPush('/upnew')">
|
||||
<img src="~/assets/images/fabu_2 (3).png" alt="" srcset="" />
|
||||
<div class="mt-10px">发布资源</div>
|
||||
<div class="mt-[10px]">发布资源</div>
|
||||
</div>
|
||||
<div class="info_item ml-31px cursor-pointer" @click="handleClickPush('/communication/channel')">
|
||||
<div class="info_item ml-[31px] cursor-pointer" @click="handleClickPush('/channel')">
|
||||
<img src="~/assets/images/fabu_2 (1).png" alt="" srcset="" />
|
||||
<div class="mt-10px">交流频道</div>
|
||||
<div class="mt-[10px]">交流频道</div>
|
||||
</div>
|
||||
<div class="info_item ml-31px cursor-pointer" @click="handleService">
|
||||
<div class="info_item ml-[31px] cursor-pointer" @click="handleService">
|
||||
<img src="~/assets/images/fabu_2 (2).png" alt="" srcset="" />
|
||||
<div class="mt-10px">消息</div>
|
||||
<div class="mt-[10px]">消息</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -123,7 +123,7 @@
|
||||
fetchUserStatistics()
|
||||
|
||||
const handleClick = () => {
|
||||
router.push({ path: '/personal/profile' })
|
||||
router.push({ path: '/personal-Center/personal-profile' })
|
||||
}
|
||||
|
||||
const payVisible = ref(false)
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="box-border h-1082px 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="text-16px text-[#333333] font-normal">个人资料</div>
|
||||
<div class="box-border h-[782px] 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="text-[16px] text-[#333333] font-normal">个人资料</div>
|
||||
<div class="flex items-center">
|
||||
<!-- <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 class="user-profile-container">
|
||||
@ -12,7 +12,7 @@
|
||||
<el-upload class="avatar-uploader" action="#" :show-file-list="false" :auto-upload="false" :on-change="handleAvatarChange">
|
||||
<div class="flex flex-col items-center">
|
||||
<el-avatar :size="100" :src="userForm.avatar" />
|
||||
<div class="mt-15px">
|
||||
<div class="mt-[15px]">
|
||||
<el-button type="primary" plain>更改头像</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@ -24,7 +24,7 @@
|
||||
<!-- User information section -->
|
||||
<el-form-item label="用户名:" prop="nickname">
|
||||
<div class="flex items-center">
|
||||
<el-input v-model="userForm.nickname" class="w-247px" />
|
||||
<el-input v-model="userForm.nickname" class="w-[247px]" />
|
||||
<el-button type="primary" class="verify-btn" @click="handleVerify">实名认证</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@ -38,37 +38,37 @@
|
||||
|
||||
<el-form-item label="手机号:" prop="phone">
|
||||
<div class="flex items-center">
|
||||
<el-input v-model="userForm.phone" disabled class="w-247px" />
|
||||
<el-input v-model="userForm.phone" disabled class="w-[247px]" />
|
||||
<!-- <el-link type="primary" class="modify-link">修改</el-link> -->
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="电子邮箱:" prop="email">
|
||||
<div class="flex items-center">
|
||||
<el-input v-model="userForm.email" placeholder="请输入电子邮箱" class="w-247px" />
|
||||
<el-input v-model="userForm.email" placeholder="请输入电子邮箱" class="w-[247px]" />
|
||||
<!-- <el-link type="primary" class="modify-link">绑定</el-link> -->
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<div class="flex items-center">
|
||||
<el-form-item label="所在地区:" prop="isDomestic">
|
||||
<el-select v-model="userForm.isDomestic" placeholder="请选择" class="w-120px!" @change="handleCountryChange">
|
||||
<el-select v-model="userForm.isDomestic" placeholder="请选择" class="w-[120px]!" @change="handleCountryChange">
|
||||
<el-option label="国内" :value="1"></el-option>
|
||||
<el-option label="国外" :value="0"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="6px" prop="province">
|
||||
<el-select v-model="userForm.province" placeholder="请选择省份" class="w-120px" @change="handleProvinceChange">
|
||||
<el-select v-model="userForm.province" placeholder="请选择省份" class="w-[120px]!" @change="handleProvinceChange">
|
||||
<el-option v-for="item in provinceList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="6px" prop="city">
|
||||
<el-select v-model="userForm.city" placeholder="请选择城市" class="w-120px" @change="handleCityChange">
|
||||
<el-select v-model="userForm.city" placeholder="请选择城市" class="w-[120px]!" @change="handleCityChange">
|
||||
<el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="6px" prop="county">
|
||||
<el-select v-model="userForm.county" placeholder="请选择区县" class="w-120px">
|
||||
<el-select v-model="userForm.county" placeholder="请选择区县" class="w-[120px]!">
|
||||
<el-option v-for="item in countyList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -83,7 +83,7 @@
|
||||
filterable
|
||||
remote
|
||||
placeholder="请输入搜索标签"
|
||||
class="w-498px!"
|
||||
class="w-[498px]!"
|
||||
>
|
||||
<el-option v-for="(item, index) in labelsList" :key="index" :label="item" :value="item" />
|
||||
</el-select>
|
||||
@ -97,9 +97,9 @@
|
||||
:size="1"
|
||||
tips="上传图片支持jpg/gif/png格式、第一张为封面图片、每张图片大小不得超过1M"
|
||||
>
|
||||
<div class="h-77px w-161px flex items-center justify-center bg-[#fafafa]">
|
||||
<div class="h-[77px] w-[161px] flex items-center justify-center bg-[#fafafa]">
|
||||
<el-icon class="text-[#999999]"><Plus /></el-icon>
|
||||
<div class="ml-4px mt-2px text-14px text-[#999999] font-normal">上传图纸</div>
|
||||
<div class="ml-[4px] mt-[2px] text-[14px] text-[#999999] font-normal">上传图纸</div>
|
||||
</div>
|
||||
</KlUploader>
|
||||
</el-form-item>
|
||||
@ -109,27 +109,27 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" class="w-120px !h-37px" @click="submitForm">提交</el-button>
|
||||
<el-button type="primary" class="w-[120px] !h-[37px]" :loading="submitLoading" @click="submitForm">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<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="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>
|
||||
<div class="flex flex-col justify-center text-14px text-[#333333] font-normal">
|
||||
<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">QQ</div>
|
||||
<div class="ml-100px flex items-center"><div class="w-90px">QQ昵称:</div><div class="w-180px">xxx</div></div>
|
||||
<div class="flex flex-col justify-center text-[14px] text-[#333333] font-normal">
|
||||
<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]">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">微信</div>
|
||||
<div class="ml-95px flex items-center"><div class="w-90px">微信昵称:</div><div class="w-180px">xxx</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]">微信</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> -->
|
||||
</div>
|
||||
<verifyDialog ref="verifyDialogRef" />
|
||||
</template>
|
||||
@ -281,11 +281,13 @@
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
const submitLoading = ref(false)
|
||||
const submitForm = async () => {
|
||||
if (!userFormRef.value) return
|
||||
|
||||
try {
|
||||
await userFormRef.value.validate()
|
||||
submitLoading.value = true
|
||||
const res = userForm.id ? await updateUserExtend(userForm) : await userExtend(userForm)
|
||||
if (res.code === 0) {
|
||||
ElMessage.success('个人信息提交成功')
|
||||
@ -295,6 +297,8 @@
|
||||
} catch (error) {
|
||||
console.error('Validation failed:', error)
|
||||
ElMessage.error('表单验证失败,请检查输入')
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user