21 changed files with 810 additions and 68 deletions
@ -0,0 +1,48 @@ |
|||
<template> |
|||
<div class="md:w-screen-xl m-auto relative sm:flex" v-infinite-scroll="load"> |
|||
<el-row :gutter="24" class="flex"> |
|||
<template v-for="(item,index) in list" :key="index"> |
|||
<el-col :span="6" class="mb-5 min-w-xs"> |
|||
<el-card shadow="hover" :body-style="{ padding: '0px' }" class="hover:bg-gray-50 cursor-pointer" @click="openSpmUrl(`https://websoft.top/detail`,item,item.articleId)"> |
|||
<el-image :src="item.image" fit="fill" :lazy="true" class="w-full h-[150px] cursor-pointer" /> |
|||
<div class="flex-1 px-4 py-5 sm:p-6 !p-4"> |
|||
<p class="text-gray-700 dark:text-white text-base font-semibold flex items-center gap-1.5"> |
|||
<span class="flex-1 text-xl cursor-pointer max-h-[57px] overflow-hidden">{{ item.title }}</span> |
|||
</p> |
|||
<p class="flex items-center gap-1.5 py-2 text-gray-500"> |
|||
<el-avatar :src="item.avatar" :size="20" /> |
|||
<span>{{ item.nickname }} · {{ dayjs(item.createTime).format('MM-DD hh:mm') }}</span> |
|||
</p> |
|||
</div> |
|||
</el-card> |
|||
</el-col> |
|||
</template> |
|||
</el-row> |
|||
</div> |
|||
<div v-if="disabled" class="px-1 text-center text-gray-500 min-h-xs"> |
|||
没有更多了 |
|||
</div> |
|||
</template> |
|||
|
|||
<script setup lang="ts"> |
|||
import {openSpmUrl} from "~/utils/common"; |
|||
import dayjs from "dayjs"; |
|||
|
|||
const props = withDefaults( |
|||
defineProps<{ |
|||
list?: any[]; |
|||
disabled?: boolean; |
|||
}>(), |
|||
{} |
|||
); |
|||
|
|||
const emit = defineEmits<{ |
|||
(e: 'done'): void; |
|||
}>(); |
|||
|
|||
const load = () => { |
|||
if(!props.disabled){ |
|||
emit('done') |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,165 @@ |
|||
<template> |
|||
<PageBanner :layout="layout" /> |
|||
<div class="md:w-screen-xl m-auto relative sm:flex bg-white rounded-lg py-4 "> |
|||
<el-tabs class="px-7 bg-white"> |
|||
<el-tab-pane label="个人开发者认证"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="真实姓名"> |
|||
<el-input v-model="form.realName" placeholder="请输入真实姓名" /> |
|||
</el-form-item> |
|||
<el-form-item label="证件号码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入证件号码" /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(正面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(反面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-result |
|||
icon="success" |
|||
title="个人认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业开发者认证"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="企业名称"> |
|||
<el-input v-model="form.companyName" placeholder="请输入企业名称" /> |
|||
</el-form-item> |
|||
<el-form-item label="社会信用代码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入社会信用代码" /> |
|||
</el-form-item> |
|||
<el-form-item label="营业执照"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="所属行业"> |
|||
<el-select v-model="form.city" placeholder="请选择所属行业"> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="网站信息"> |
|||
<el-input v-model="form.idCard" placeholder="请输入网站信息" /> |
|||
</el-form-item> |
|||
<el-form-item label="您的身份"> |
|||
<el-radio-group v-model="form.sex"> |
|||
<el-radio value="1">法定代表人</el-radio> |
|||
<el-radio value="2">被授权人</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="用户协议"> |
|||
<el-checkbox v-model="form.status">请务必提供真实信息,我司有权自行或委托第三方审查您提供的身份信息是否属真实,有效。若提供虚假信息,由此的全部后果由您承担。</el-checkbox> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-result |
|||
icon="success" |
|||
title="企业认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
</template> |
|||
<script setup lang="ts"> |
|||
import type {ApiResult, PageResult} from "~/api"; |
|||
import {useServerRequest} from "~/composables/useServerRequest"; |
|||
import {useWebsite} from "~/composables/configState"; |
|||
import type {Navigation} from "~/api/cms/navigation/model"; |
|||
import type {CompanyParam} from "~/api/system/company/model"; |
|||
import type {Article} from "~/api/cms/article/model"; |
|||
import CardList from './components/CardList.vue'; |
|||
|
|||
const route = useRoute(); |
|||
|
|||
// 页面信息 |
|||
const runtimeConfig = useRuntimeConfig(); |
|||
const list = ref<Article[]>([]); |
|||
const page = ref<number>(1); |
|||
const resultText = ref(''); |
|||
const layout = ref<any>(); |
|||
const disabled = ref<boolean>(false); |
|||
const activeName = ref(undefined) |
|||
|
|||
// 获取状态 |
|||
const form = ref<Navigation>(); |
|||
const website = useWebsite(); |
|||
|
|||
// 搜索表单 |
|||
const where = reactive<CompanyParam>({ |
|||
keywords: '' |
|||
}); |
|||
|
|||
const handleClick = (e:any) => { |
|||
console.log(e.index) |
|||
} |
|||
|
|||
const onSearch = () => { |
|||
if(!disabled.value){ |
|||
page.value++; |
|||
reload(route.path); |
|||
} |
|||
} |
|||
|
|||
// 请求数据 |
|||
const reload = async (path: string) => { |
|||
const {data: response} = await useServerRequest<ApiResult<PageResult<Article>>>('/cms/cms-article/page',{baseURL: runtimeConfig.public.apiServer, params: { |
|||
page: page.value, |
|||
limit: 8, |
|||
userId: 0, |
|||
keywords: where.keywords |
|||
}}) |
|||
if(response.value?.data){ |
|||
if (list.value.length < response.value?.data.count) { |
|||
disabled.value = false; |
|||
if (response.value?.data.list) { |
|||
list.value = list.value.concat(response.value?.data.list); |
|||
} |
|||
}else { |
|||
disabled.value = true; |
|||
} |
|||
if(response.value.data.count == 0){ |
|||
resultText.value = '暂无相关结果' |
|||
} |
|||
} |
|||
} |
|||
|
|||
const { data: nav } = await useServerRequest<ApiResult<Navigation>>('/cms/cms-navigation/getNavigationByPath',{query: {path: route.path}}) |
|||
console.log(nav.value?.data) |
|||
if(nav.value?.data){ |
|||
form.value = nav.value?.data; |
|||
console.log(form.value,'form...') |
|||
} |
|||
// 页面布局 |
|||
if(form.value?.layout){ |
|||
layout.value = JSON.parse(form.value?.layout) |
|||
} |
|||
|
|||
useHead({ |
|||
title: `文档 - ${website.value.websiteName}`, |
|||
bodyAttrs: { |
|||
class: "page-container", |
|||
} |
|||
}); |
|||
|
|||
watch( |
|||
() => route.path, |
|||
(path) => { |
|||
reload(path); |
|||
}, |
|||
{ immediate: true } |
|||
); |
|||
</script> |
@ -0,0 +1,149 @@ |
|||
<template> |
|||
<PageBanner :layout="layout" /> |
|||
<div class="login-layout mt-[100px] m-auto sm:w-screen-xl w-full"> |
|||
<div class="mt-[100px] m-auto flex sm:flex-row flex-col sm:p-0 p-3"> |
|||
<div class="flash ml-8 bg-white rounded-lg px-7 py-4 w-full"> |
|||
<el-tabs class="flash bg-white ml-0"> |
|||
<el-tab-pane label="个人开发者"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="真实姓名"> |
|||
<el-input v-model="form.realName" placeholder="请输入真实姓名" /> |
|||
</el-form-item> |
|||
<el-form-item label="证件号码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入证件号码" /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(正面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(反面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-result |
|||
icon="success" |
|||
title="个人认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业开发者"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="企业名称"> |
|||
<el-input v-model="form.companyName" placeholder="请输入企业名称" /> |
|||
</el-form-item> |
|||
<el-form-item label="社会信用代码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入社会信用代码" /> |
|||
</el-form-item> |
|||
<el-form-item label="营业执照"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="所属行业"> |
|||
<el-select v-model="form.city" placeholder="请选择所属行业"> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="网站信息"> |
|||
<el-input v-model="form.idCard" placeholder="请输入网站信息" /> |
|||
</el-form-item> |
|||
<el-form-item label="您的身份"> |
|||
<el-radio-group v-model="form.sex"> |
|||
<el-radio value="1">法定代表人</el-radio> |
|||
<el-radio value="2">被授权人</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="用户协议"> |
|||
<el-checkbox v-model="form.status">请务必提供真实信息,我司有权自行或委托第三方审查您提供的身份信息是否属真实,有效。若提供虚假信息,由此的全部后果由您承担。</el-checkbox> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-result |
|||
icon="success" |
|||
title="企业认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script setup lang="ts"> |
|||
import {useConfigInfo, useToken, useWebsite} from "~/composables/configState"; |
|||
import useFormData from '@/utils/use-form-data'; |
|||
import type { User } from '@/api/system/user/model'; |
|||
import { ref } from 'vue' |
|||
import {useServerRequest} from "~/composables/useServerRequest"; |
|||
import type {ApiResult} from "~/api"; |
|||
|
|||
// 配置信息 |
|||
const runtimeConfig = useRuntimeConfig(); |
|||
const route = useRoute(); |
|||
const activeIndex = ref(''); |
|||
const website = useWebsite() |
|||
const config = useConfigInfo(); |
|||
const token = useToken(); |
|||
const userInfo = ref<User>(); |
|||
|
|||
// 配置信息 |
|||
const { form, assignFields } = useFormData<User>({ |
|||
userId: undefined, |
|||
nickname: '', |
|||
username: '', |
|||
phone: '', |
|||
mobile: '', |
|||
sex: '', |
|||
sexName: '', |
|||
email: '', |
|||
password: '', |
|||
code: '', |
|||
smsCode: '', |
|||
comments: '', |
|||
remember: true |
|||
}); |
|||
|
|||
useHead({ |
|||
title: `用户中心 - ${config.value?.siteName}`, |
|||
meta: [{ name: website.value.keywords, content: website.value.comments }] |
|||
}); |
|||
|
|||
const onSubmit = async () => { |
|||
const {data: modify } = await useServerRequest<ApiResult<User>>('/auth/user',{ |
|||
baseURL: runtimeConfig.public.apiServer, |
|||
method: 'put', |
|||
body: form |
|||
}) |
|||
if(modify.value?.code == 0){ |
|||
ElMessage.success('修改成功') |
|||
} |
|||
} |
|||
|
|||
const reload = async () => { |
|||
const {data: response} = await useServerRequest<ApiResult<User>>('/auth/user',{baseURL: runtimeConfig.public.apiServer}) |
|||
if(response.value?.data){ |
|||
userInfo.value = response.value?.data; |
|||
assignFields(response.value?.data); |
|||
} |
|||
} |
|||
|
|||
watch( |
|||
() => route.path, |
|||
(path) => { |
|||
activeIndex.value = path; |
|||
console.log(path,'=>Path') |
|||
reload(); |
|||
}, |
|||
{ immediate: true } |
|||
); |
|||
</script> |
@ -0,0 +1,82 @@ |
|||
<template> |
|||
|
|||
</template> |
|||
<script setup lang="ts"> |
|||
import type {ApiResult} from "~/api"; |
|||
import {useServerRequest} from "~/composables/useServerRequest"; |
|||
import {useConfigInfo, useForm, useToken, useWebsite} from "~/composables/configState"; |
|||
import type {BreadcrumbItem} from "~/types/global"; |
|||
import type {Navigation} from "~/api/cms/navigation/model"; |
|||
import {getIdBySpm} from "~/utils/common"; |
|||
|
|||
// 引入状态管理 |
|||
const route = useRoute(); |
|||
const user = useUser(); |
|||
const layout = ref<any>(); |
|||
const config = useConfigInfo(); |
|||
const token = useToken(); |
|||
const form = useForm(); |
|||
const breadcrumb = ref<BreadcrumbItem>(); |
|||
|
|||
// 请求数据 |
|||
const reload = async () => { |
|||
|
|||
// 存在spm(优先级高) |
|||
const {data: nav} = await useServerRequest<ApiResult<Navigation>>('/cms/cms-navigation/' + getIdBySpm(5)) |
|||
if (nav.value?.data) { |
|||
form.value = nav.value.data |
|||
} else { |
|||
const {data: nav} = await useServerRequest<ApiResult<Navigation>>('/cms/cms-navigation/getNavigationByPath', {query: {path: route.path}}) |
|||
if (nav.value?.data) { |
|||
form.value = nav.value?.data; |
|||
} |
|||
} |
|||
// 页面布局 |
|||
if (form.value?.layout) { |
|||
layout.value = JSON.parse(form.value?.layout) |
|||
} |
|||
|
|||
// 未登录状态(是否强制登录) |
|||
if (!token.value || token.value == '') { |
|||
if (config.value.MustLogin) { |
|||
navigateTo('/passport/login'); |
|||
return false; |
|||
} |
|||
} |
|||
// 判断是否开发者身份 |
|||
if(!user.value?.merchantId){ |
|||
navigateTo('/user/auth'); |
|||
return false; |
|||
} |
|||
// 开发者身份者跳转控制台 |
|||
if(user.value.merchantId){ |
|||
console.log('已认证未开发者>') |
|||
} |
|||
|
|||
// seo |
|||
useHead({ |
|||
title: `现代Web应用开发(Vue)框架 · WEBSOFT`, |
|||
meta: [{name: form.value.design?.keywords, content: form.value.design?.description}], |
|||
bodyAttrs: { |
|||
class: "page-container", |
|||
}, |
|||
script: [ |
|||
{ |
|||
children: `console.log(${JSON.stringify(form.value)})`, |
|||
}, |
|||
], |
|||
}); |
|||
// 面包屑 |
|||
breadcrumb.value = form.value |
|||
} |
|||
|
|||
watch( |
|||
() => route.path, |
|||
(path) => { |
|||
console.log(path, '=>Path') |
|||
|
|||
reload(); |
|||
}, |
|||
{immediate: true} |
|||
); |
|||
</script> |
@ -0,0 +1,174 @@ |
|||
<template> |
|||
<div class="login-layout mt-[100px] m-auto sm:w-screen-xl w-full"> |
|||
<div class="mt-[100px] m-auto flex sm:flex-row flex-col sm:p-0 p-3"> |
|||
<!-- 用户菜单 --> |
|||
<UserMenu :activeIndex="activeIndex" @done="onDone" /> |
|||
<div class="flash ml-8 bg-white rounded-lg px-7 py-4 w-full"> |
|||
<el-tabs class="flash bg-white ml-0"> |
|||
<el-tab-pane label="个人认证"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="真实姓名"> |
|||
<el-input v-model="form.realName" placeholder="请输入真实姓名" /> |
|||
</el-form-item> |
|||
<el-form-item label="证件号码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入证件号码" /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(正面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="身份证(反面)"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业认证"> |
|||
<el-form :model="form" label-width="auto" size="large" label-position="top" class="sm:w-screen-md w-full sm:py-2"> |
|||
<el-form-item label="企业名称"> |
|||
<el-input v-model="form.companyName" placeholder="请输入企业名称" /> |
|||
</el-form-item> |
|||
<el-form-item label="社会信用代码"> |
|||
<el-input v-model="form.idCard" placeholder="请输入社会信用代码" /> |
|||
</el-form-item> |
|||
<el-form-item label="营业执照"> |
|||
<Upload /> |
|||
</el-form-item> |
|||
<el-form-item label="所属行业"> |
|||
<el-select v-model="form.city" placeholder="请选择所属行业"> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="网站信息"> |
|||
<el-input v-model="form.idCard" placeholder="请输入网站信息" /> |
|||
</el-form-item> |
|||
<el-form-item label="您的身份"> |
|||
<el-radio-group v-model="form.sex"> |
|||
<el-radio value="1">法定代表人</el-radio> |
|||
<el-radio value="2">被授权人</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
<el-form-item label="用户协议"> |
|||
<el-checkbox v-model="form.status">请务必提供真实信息,我司有权自行或委托第三方审查您提供的身份信息是否属真实,有效。若提供虚假信息,由此的全部后果由您承担。</el-checkbox> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" size="large" @click="onSubmit">提交</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="个人认证成功"> |
|||
<el-result |
|||
icon="success" |
|||
title="个人认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业认证成功"> |
|||
<el-result |
|||
icon="success" |
|||
title="企业认证成功" |
|||
sub-title="认证完成时间 2024-09-30" |
|||
> |
|||
<template #extra> |
|||
<el-button type="text">修改认证信息</el-button> |
|||
</template> |
|||
</el-result> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script setup lang="ts"> |
|||
import {useConfigInfo, useToken, useWebsite} from "~/composables/configState"; |
|||
import useFormData from '@/utils/use-form-data'; |
|||
import type { User } from '@/api/system/user/model'; |
|||
import { ref } from 'vue' |
|||
import { Plus } from '@element-plus/icons-vue' |
|||
import {useServerRequest} from "~/composables/useServerRequest"; |
|||
import type {ApiResult} from "~/api"; |
|||
import UserMenu from "~/components/UserMenu.vue"; |
|||
|
|||
// 配置信息 |
|||
const runtimeConfig = useRuntimeConfig(); |
|||
const route = useRoute(); |
|||
const activeIndex = ref(''); |
|||
const website = useWebsite() |
|||
const config = useConfigInfo(); |
|||
const token = useToken(); |
|||
const userInfo = ref<User>(); |
|||
|
|||
// 配置信息 |
|||
const { form, assignFields } = useFormData<User>({ |
|||
userId: undefined, |
|||
nickname: '', |
|||
username: '', |
|||
phone: '', |
|||
mobile: '', |
|||
sex: '', |
|||
sexName: '', |
|||
email: '', |
|||
password: '', |
|||
code: '', |
|||
smsCode: '', |
|||
comments: '', |
|||
remember: true |
|||
}); |
|||
|
|||
useHead({ |
|||
title: `用户中心 - ${config.value?.siteName}`, |
|||
meta: [{ name: website.value.keywords, content: website.value.comments }] |
|||
}); |
|||
|
|||
const onSubmit = async () => { |
|||
const {data: modify } = await useServerRequest<ApiResult<User>>('/auth/user',{ |
|||
baseURL: runtimeConfig.public.apiServer, |
|||
method: 'put', |
|||
body: form |
|||
}) |
|||
if(modify.value?.code == 0){ |
|||
ElMessage.success('修改成功') |
|||
} |
|||
} |
|||
|
|||
const handleAvatarSuccess: UploadProps['onSuccess'] = ( |
|||
response, |
|||
uploadFile |
|||
) => { |
|||
imageUrl.value = URL.createObjectURL(uploadFile.raw!) |
|||
} |
|||
|
|||
const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => { |
|||
if (rawFile.type !== 'image/jpeg') { |
|||
ElMessage.error('Avatar picture must be JPG format!') |
|||
return false |
|||
} else if (rawFile.size / 1024 / 1024 > 2) { |
|||
ElMessage.error('Avatar picture size can not exceed 2MB!') |
|||
return false |
|||
} |
|||
return true |
|||
} |
|||
|
|||
const reload = async () => { |
|||
const {data: response} = await useServerRequest<ApiResult<User>>('/auth/user',{baseURL: runtimeConfig.public.apiServer}) |
|||
if(response.value?.data){ |
|||
userInfo.value = response.value?.data; |
|||
assignFields(response.value?.data); |
|||
} |
|||
} |
|||
|
|||
watch( |
|||
() => route.path, |
|||
(path) => { |
|||
activeIndex.value = path; |
|||
console.log(path,'=>Path') |
|||
reload(); |
|||
}, |
|||
{ immediate: true } |
|||
); |
|||
</script> |
Loading…
Reference in new issue