From 1f5f4d16e668d49f0022d587784103b1ff068e32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=AB=E5=9C=B0=E5=83=A7?= <357099073@qq.com> Date: Mon, 1 Jun 2026 22:37:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=8E=E7=AB=AF=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/analytics.js | 4 +- src/api/babyhealth.js | 26 +- src/api/banner.js | 8 +- src/api/contact.js | 8 +- src/api/dashboard.js | 6 +- src/api/demand.js | 8 +- src/api/department.js | 10 +- src/api/dict.js | 24 +- src/api/email.js | 6 +- src/api/erp.js | 24 +- src/api/file.js | 30 +- src/api/friendlink.js | 12 +- src/api/frontMenu.js | 8 +- src/api/moduleCenter.js | 8 +- src/api/onepage.js | 8 +- src/api/operationLog.js | 10 +- src/api/permission.js | 6 +- src/api/position.js | 12 +- src/api/products.js | 16 +- src/api/role.js | 10 +- src/api/services.js | 8 +- src/api/sitesettings.js | 16 +- src/api/sms.ts | 10 +- src/api/tenant.js | 12 +- src/api/theme.js | 8 +- src/api/user.js | 32 +- src/api/workbench.js | 2 +- .../erp/employee/components/changepass.vue | 6 +- .../tenants/components/TenantUsersTab.vue | 8 +- .../tenants/components/adduser.vue | 6 +- src/views/user/components/BindEmailDialog.vue | 106 ++++ src/views/user/components/BindPhoneDialog.vue | 106 ++++ .../user/components/ChangePasswordDialog.vue | 125 ++++ src/views/user/components/DetailCard.vue | 91 +++ .../user/components/EditProfileDialog.vue | 137 +++++ src/views/user/components/ProfileCard.vue | 130 +++++ src/views/user/components/QuickActions.vue | 83 +++ src/views/user/components/SecurityCard.vue | 150 +++++ src/views/user/userProfile.vue | 551 ++---------------- 39 files changed, 1168 insertions(+), 663 deletions(-) create mode 100644 src/views/user/components/BindEmailDialog.vue create mode 100644 src/views/user/components/BindPhoneDialog.vue create mode 100644 src/views/user/components/ChangePasswordDialog.vue create mode 100644 src/views/user/components/DetailCard.vue create mode 100644 src/views/user/components/EditProfileDialog.vue create mode 100644 src/views/user/components/ProfileCard.vue create mode 100644 src/views/user/components/QuickActions.vue create mode 100644 src/views/user/components/SecurityCard.vue diff --git a/src/api/analytics.js b/src/api/analytics.js index 7a7f133..3f1780b 100644 --- a/src/api/analytics.js +++ b/src/api/analytics.js @@ -4,7 +4,7 @@ import request from "@/utils/request"; // 获取内容统计 export function getContentStats() { return request({ - url: "/admin/contentstats", + url: "/backend/contentstats", method: "get", }); } @@ -12,7 +12,7 @@ export function getContentStats() { // 获取用户统计 export function getUserStats() { return request({ - url: "/admin/usersstats", + url: "/backend/usersstats", method: "get", }); } \ No newline at end of file diff --git a/src/api/babyhealth.js b/src/api/babyhealth.js index 151945e..b50be60 100644 --- a/src/api/babyhealth.js +++ b/src/api/babyhealth.js @@ -10,7 +10,7 @@ import request from "@/utils/request"; */ export function getBabyList() { return request({ - url: '/admin/babys/list', + url: '/backend/babys/list', method: 'get' }); } @@ -22,7 +22,7 @@ export function getBabyList() { */ export function getBabyDetail(id) { return request({ - url: `/admin/babys/${id}`, + url: `/backend/babys/${id}`, method: "get", }); } @@ -34,7 +34,7 @@ export function getBabyDetail(id) { */ export function createBaby(data) { return request({ - url: "/admin/babys", + url: "/backend/babys", method: "post", data: data, headers: { @@ -46,7 +46,7 @@ export function createBaby(data) { // 更新宝贝信息 export function editBaby(id, data) { return request({ - url: `/admin/baby/update/${id}`, + url: `/backend/baby/update/${id}`, method: 'post', data: data }); @@ -59,7 +59,7 @@ export function editBaby(id, data) { */ export function deleteBaby(id) { return request({ - url: `/admin/babys/${id}`, + url: `/backend/babys/${id}`, method: "delete", }); } @@ -72,7 +72,7 @@ export function deleteBaby(id) { */ export function bindParent(id, data) { return request({ - url: `/admin/babys/bindparents/${id}`, + url: `/backend/babys/bindparents/${id}`, method: "post", data: data, }); @@ -85,7 +85,7 @@ export function bindParent(id, data) { */ export function getParents(id) { return request({ - url: `/admin/babys/getParents/${id}`, + url: `/backend/babys/getParents/${id}`, method: "get", }); } @@ -100,7 +100,7 @@ export function getParents(id) { */ export function getUserList() { return request({ - url: "/admin/babyhealthUser/list", + url: "/backend/babyhealthUser/list", method: "get", }); } @@ -112,7 +112,7 @@ export function getUserList() { */ export function getUserDetail(id) { return request({ - url: `/admin/babyhealthUser/detail/${id}`, + url: `/backend/babyhealthUser/detail/${id}`, method: "get", }); } @@ -124,7 +124,7 @@ export function getUserDetail(id) { */ export function createUser(data) { return request({ - url: "/admin/babyhealthUser/create", + url: "/backend/babyhealthUser/create", method: "post", data: data, headers: { @@ -141,7 +141,7 @@ export function createUser(data) { */ export function updateUser(id, data) { return request({ - url: `/admin/babyhealthUser/update/${id}`, + url: `/backend/babyhealthUser/update/${id}`, method: "post", data: data, headers: { @@ -157,7 +157,7 @@ export function updateUser(id, data) { */ export function deleteUser(id) { return request({ - url: `/admin/babyhealthUser/delete/${id}`, + url: `/backend/babyhealthUser/delete/${id}`, method: "delete", }); } @@ -173,7 +173,7 @@ export function deleteUser(id) { */ export function getDashborad() { return request({ - url: "/admin/babyhealthDashborad/dashborad", + url: "/backend/babyhealthDashborad/dashborad", method: "get", }); } \ No newline at end of file diff --git a/src/api/banner.js b/src/api/banner.js index ff6566f..51c6b75 100644 --- a/src/api/banner.js +++ b/src/api/banner.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getBanners() { return request({ - url: "/admin/allbanners", + url: "/backend/allbanners", method: "get", }); } @@ -18,7 +18,7 @@ export function getBanners() { */ export function createBanner(formData) { return request({ - url: "/admin/createbanner", + url: "/backend/createbanner", method: "post", data: formData, headers: { @@ -35,7 +35,7 @@ export function createBanner(formData) { */ export function editBanner(id, bannerData) { return request({ - url: `/admin/editbanner/${id}`, + url: `/backend/editbanner/${id}`, method: "post", data: bannerData, }); @@ -48,7 +48,7 @@ export function editBanner(id, bannerData) { */ export function deleteBanner(id) { return request({ - url: `/admin/deletebanner/${id}`, + url: `/backend/deletebanner/${id}`, method: "delete", }); } diff --git a/src/api/contact.js b/src/api/contact.js index f35d974..81580d1 100644 --- a/src/api/contact.js +++ b/src/api/contact.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function listContacts(params) { return request({ - url: '/admin/crm/contact/list', + url: '/backend/crm/contact/list', method: 'get', params, }) @@ -10,7 +10,7 @@ export function listContacts(params) { export function createContact(data) { return request({ - url: '/admin/crm/contact/add', + url: '/backend/crm/contact/add', method: 'post', data, }) @@ -18,7 +18,7 @@ export function createContact(data) { export function updateContact(data) { return request({ - url: '/admin/crm/contact/edit', + url: '/backend/crm/contact/edit', method: 'post', data, }) @@ -26,7 +26,7 @@ export function updateContact(data) { export function deleteContact(data) { return request({ - url: '/admin/crm/contact/delete', + url: '/backend/crm/contact/delete', method: 'post', data, }) diff --git a/src/api/dashboard.js b/src/api/dashboard.js index e7bdd2a..ca48105 100644 --- a/src/api/dashboard.js +++ b/src/api/dashboard.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getPlatformStats() { return request({ - url: "/admin/dashboard/platform-stats", + url: "/backend/dashboard/platform-stats", method: "get", }); } @@ -17,7 +17,7 @@ export function getPlatformStats() { */ export function getTenantStats() { return request({ - url: "/admin/dashboard/tenant-stats", + url: "/backend/dashboard/tenant-stats", method: "get", }); } @@ -30,7 +30,7 @@ export function getTenantStats() { */ export function getActivityLogs(pageNum = 1, pageSize = 10) { return request({ - url: "/admin/dashboard/user-activity-logs", + url: "/backend/dashboard/user-activity-logs", method: "get", params: { page_num: pageNum, diff --git a/src/api/demand.js b/src/api/demand.js index 7d6f2bb..35a96a9 100644 --- a/src/api/demand.js +++ b/src/api/demand.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getDemandList() { return request({ - url: "/admin/demandList", + url: "/backend/demandList", method: "get", }); } @@ -18,7 +18,7 @@ export function getDemandList() { */ export function addDemand(data) { return request({ - url: "/admin/addDemand", + url: "/backend/addDemand", method: "post", data, }); @@ -32,7 +32,7 @@ export function addDemand(data) { */ export function editDemand(id, data) { return request({ - url: `/admin/editDemand/${id}`, + url: `/backend/editDemand/${id}`, method: "post", data, }); @@ -45,7 +45,7 @@ export function editDemand(id, data) { */ export function deleteDemand(id) { return request({ - url: `/admin/deleteDemand/${id}`, + url: `/backend/deleteDemand/${id}`, method: "post", }); } diff --git a/src/api/department.js b/src/api/department.js index 8a8f2a7..13882eb 100644 --- a/src/api/department.js +++ b/src/api/department.js @@ -3,7 +3,7 @@ import request from '@/utils/request'; // 获取租户下的所有部门 export function getTenantDepartments(tenantId) { return request({ - url: `/admin/departments/tenant/${tenantId}`, + url: `/backend/departments/tenant/${tenantId}`, method: 'get', }); } @@ -11,7 +11,7 @@ export function getTenantDepartments(tenantId) { // 获取部门详情 export function getDepartmentInfo(departmentId) { return request({ - url: `/admin/departments/${departmentId}`, + url: `/backend/departments/${departmentId}`, method: 'get', }); } @@ -19,7 +19,7 @@ export function getDepartmentInfo(departmentId) { // 添加部门 export function addDepartment(data) { return request({ - url: '/admin/departments', + url: '/backend/departments', method: 'post', data, }); @@ -28,7 +28,7 @@ export function addDepartment(data) { // 更新部门信息 export function editDepartment(departmentId, data) { return request({ - url: `/admin/departments/${departmentId}`, + url: `/backend/departments/${departmentId}`, method: 'put', data, }); @@ -37,7 +37,7 @@ export function editDepartment(departmentId, data) { // 删除部门 export function deleteDepartment(departmentId) { return request({ - url: `/admin/departments/${departmentId}`, + url: `/backend/departments/${departmentId}`, method: 'delete', }); } diff --git a/src/api/dict.js b/src/api/dict.js index 2bd6323..6935034 100644 --- a/src/api/dict.js +++ b/src/api/dict.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 获取字典类型列表 export function getDictTypes(params) { return request({ - url: '/admin/dict/types', + url: '/backend/dict/types', method: 'get', params }) @@ -12,7 +12,7 @@ export function getDictTypes(params) { // 根据ID获取字典类型 export function getDictTypeById(id) { return request({ - url: `/admin/dict/types/${id}`, + url: `/backend/dict/types/${id}`, method: 'get' }) } @@ -20,7 +20,7 @@ export function getDictTypeById(id) { // 添加字典类型 export function addDictType(data) { return request({ - url: '/admin/dict/types', + url: '/backend/dict/types', method: 'post', data: { ...data, @@ -32,7 +32,7 @@ export function addDictType(data) { // 更新字典类型 export function updateDictType(id, data) { return request({ - url: `/admin/dict/types/${id}`, + url: `/backend/dict/types/${id}`, method: 'put', data: { ...data, @@ -44,7 +44,7 @@ export function updateDictType(id, data) { // 删除字典类型 export function deleteDictType(id) { return request({ - url: `/admin/dict/types/${id}`, + url: `/backend/dict/types/${id}`, method: 'delete' }) } @@ -52,7 +52,7 @@ export function deleteDictType(id) { // 获取字典项列表 export function getDictItems(params) { return request({ - url: '/admin/dict/items', + url: '/backend/dict/items', method: 'get', params }) @@ -61,7 +61,7 @@ export function getDictItems(params) { // 根据ID获取字典项 export function getDictItemById(id) { return request({ - url: `/admin/dict/items/${id}`, + url: `/backend/dict/items/${id}`, method: 'get' }) } @@ -69,7 +69,7 @@ export function getDictItemById(id) { // 添加字典项 export function addDictItem(data) { return request({ - url: '/admin/dict/items', + url: '/backend/dict/items', method: 'post', data }) @@ -78,7 +78,7 @@ export function addDictItem(data) { // 更新字典项 export function updateDictItem(id, data) { return request({ - url: `/admin/dict/items/${id}`, + url: `/backend/dict/items/${id}`, method: 'put', data }) @@ -87,7 +87,7 @@ export function updateDictItem(id, data) { // 删除字典项 export function deleteDictItem(id) { return request({ - url: `/admin/dict/items/${id}`, + url: `/backend/dict/items/${id}`, method: 'delete' }) } @@ -95,7 +95,7 @@ export function deleteDictItem(id) { // 根据字典编码获取字典项(用于业务查询) export function getDictItemsByCode(code, includeDisabled = false) { return request({ - url: `/admin/dict/items/code/${code}`, + url: `/backend/dict/items/code/${code}`, method: 'get', params: { include_disabled: includeDisabled ? '1' : '0' @@ -106,7 +106,7 @@ export function getDictItemsByCode(code, includeDisabled = false) { // 批量更新字典项排序 export function batchUpdateDictItemSort(data) { return request({ - url: '/admin/dict/items/sort', + url: '/backend/dict/items/sort', method: 'put', data }) diff --git a/src/api/email.js b/src/api/email.js index 835de1d..b6bf74b 100644 --- a/src/api/email.js +++ b/src/api/email.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getEmailInfo() { return request({ - url: "/admin/email/info", + url: "/backend/email/info", method: "get", }); } @@ -17,7 +17,7 @@ export function getEmailInfo() { */ export function editEmailInfo(data) { return request({ - url: "/admin/email/editinfo", + url: "/backend/email/editinfo", method: "post", data, }); @@ -29,7 +29,7 @@ export function editEmailInfo(data) { */ export function sendTestEmail(data) { return request({ - url: "/admin/email/sendtestemail", + url: "/backend/email/sendtestemail", method: "post", data, }); diff --git a/src/api/erp.js b/src/api/erp.js index cde3598..3684bd7 100644 --- a/src/api/erp.js +++ b/src/api/erp.js @@ -10,7 +10,7 @@ import request from "@/utils/request"; */ export function getOrganizationList() { return request({ - url: '/admin/erp/getOrganization', + url: '/backend/erp/getOrganization', method: 'get' }); } @@ -22,7 +22,7 @@ export function getOrganizationList() { */ export function getOrganizationDetail(id) { return request({ - url: `/admin/erp/getOrganizationDetail/${id}`, + url: `/backend/erp/getOrganizationDetail/${id}`, method: "get", }); } @@ -34,7 +34,7 @@ export function getOrganizationDetail(id) { */ export function createOrganization(data) { return request({ - url: "/admin/erp/createOrganization", + url: "/backend/erp/createOrganization", method: "post", data: data, headers: { @@ -46,7 +46,7 @@ export function createOrganization(data) { // 更新组织机构信息 export function editOrganization(id, data) { return request({ - url: `/admin/erp/editOrganization/${id}`, + url: `/backend/erp/editOrganization/${id}`, method: 'post', data: data }); @@ -59,7 +59,7 @@ export function editOrganization(id, data) { */ export function deleteOrganization(id) { return request({ - url: `/admin/erp/deleteOrganization/${id}`, + url: `/backend/erp/deleteOrganization/${id}`, method: "delete", }); } @@ -70,7 +70,7 @@ export function deleteOrganization(id) { */ export function getCompanys() { return request({ - url: '/admin/erp/getCompanys', + url: '/backend/erp/getCompanys', method: 'get' }); } @@ -82,7 +82,7 @@ export function getCompanys() { */ export function getDepartments(parentId) { return request({ - url: '/admin/erp/getDepartments', + url: '/backend/erp/getDepartments', method: 'get', params: parentId ? { parent_id: parentId } : {} }); @@ -99,7 +99,7 @@ export function getDepartments(parentId) { */ export function getEmployeeList(tenantId) { return request({ - url: '/admin/erp/getEmployee', + url: '/backend/erp/getEmployee', method: 'get', params: { tid: tenantId } }); @@ -112,7 +112,7 @@ export function getEmployeeList(tenantId) { */ export function getEmployeeDetail(id) { return request({ - url: `/admin/erp/getEmployeeDetail/${id}`, + url: `/backend/erp/getEmployeeDetail/${id}`, method: "get", }); } @@ -124,7 +124,7 @@ export function getEmployeeDetail(id) { */ export function createEmployee(data) { return request({ - url: "/admin/erp/createEmployee", + url: "/backend/erp/createEmployee", method: "post", data: data, headers: { @@ -136,7 +136,7 @@ export function createEmployee(data) { // 更新员工信息 export function editEmployee(id, data) { return request({ - url: `/admin/erp/editEmployee/${id}`, + url: `/backend/erp/editEmployee/${id}`, method: 'post', data: data }); @@ -149,7 +149,7 @@ export function editEmployee(id, data) { */ export function deleteEmployee(id) { return request({ - url: `/admin/erp/deleteEmployee/${id}`, + url: `/backend/erp/deleteEmployee/${id}`, method: "delete", }); } diff --git a/src/api/file.js b/src/api/file.js index 24378cf..232844d 100644 --- a/src/api/file.js +++ b/src/api/file.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getUserCate() { return request({ - url: `/admin/usercate`, + url: `/backend/usercate`, method: "get", }); } @@ -17,7 +17,7 @@ export function getUserCate() { */ export function getAllFiles() { return request({ - url: "/admin/allfiles", + url: "/backend/allfiles", method: "get", }); } @@ -29,7 +29,7 @@ export function getAllFiles() { */ export function createFileCate(data) { return request({ - url: "/admin/createfilecate", + url: "/backend/createfilecate", method: "post", data, }); @@ -43,7 +43,7 @@ export function createFileCate(data) { */ export function renameFileCate(id, data) { return request({ - url: `/admin/renamefilecate/${id}`, + url: `/backend/renamefilecate/${id}`, method: "post", data, }); @@ -56,7 +56,7 @@ export function renameFileCate(id, data) { */ export function deleteFileCate(id) { return request({ - url: `/admin/deletefilecate/${id}`, + url: `/backend/deletefilecate/${id}`, method: "delete", }); } @@ -78,7 +78,7 @@ export function getCateFiles(id, page = 1, pageSize = 24, keyword = "") { params.keyword = keyword; } return request({ - url: `/admin/catefiles/${id}`, + url: `/backend/catefiles/${id}`, method: "get", params, }); @@ -91,7 +91,7 @@ export function getCateFiles(id, page = 1, pageSize = 24, keyword = "") { */ export function getFileById(id) { return request({ - url: `/admin/catefiles`, + url: `/backend/catefiles`, method: "get", }); } @@ -109,7 +109,7 @@ export function uploadFile(formData, options = {}) { } return request({ - url: "/admin/uploadfile", + url: "/backend/uploadfile", method: "post", data: formData, headers: { @@ -126,7 +126,7 @@ export function uploadFile(formData, options = {}) { */ export function updateFile(id, fileData) { return request({ - url: `/admin/updatefile/${id}`, + url: `/backend/updatefile/${id}`, method: "post", data: fileData, }); @@ -139,7 +139,7 @@ export function updateFile(id, fileData) { */ export function deleteFile(id) { return request({ - url: `/admin/deletefile/${id}`, + url: `/backend/deletefile/${id}`, method: "delete", }); } @@ -151,7 +151,7 @@ export function deleteFile(id) { */ export function deleteFilePermanently(id) { return request({ - url: `/admin/deleteFilePermanently/${id}`, + url: `/backend/deleteFilePermanently/${id}`, method: "delete", }); } @@ -164,7 +164,7 @@ export function deleteFilePermanently(id) { */ export function moveFile(id, cate) { return request({ - url: `/admin/movefile/${id}`, + url: `/backend/movefile/${id}`, method: "get", params: { cate }, }); @@ -177,7 +177,7 @@ export function moveFile(id, cate) { */ export function batchDeleteFiles(ids) { return request({ - url: "/admin/batchDeleteFiles", + url: "/backend/batchDeleteFiles", method: "post", data: { ids }, }); @@ -190,7 +190,7 @@ export function batchDeleteFiles(ids) { */ export function batchDeleteFilesPermanently(ids) { return request({ - url: "/admin/batchDeleteFilesPermanently", + url: "/backend/batchDeleteFilesPermanently", method: "post", data: { ids }, }); @@ -204,7 +204,7 @@ export function batchDeleteFilesPermanently(ids) { */ export function batchMoveFiles(ids, cate) { return request({ - url: "/admin/batchMoveFiles", + url: "/backend/batchMoveFiles", method: "post", data: { ids, cate }, }); diff --git a/src/api/friendlink.js b/src/api/friendlink.js index cb288c6..0391654 100644 --- a/src/api/friendlink.js +++ b/src/api/friendlink.js @@ -7,7 +7,7 @@ import request from '@/utils/request' */ export function getFriendlinkList(params) { return request({ - url: '/admin/friendlinks', + url: '/backend/friendlinks', method: 'get', params }) @@ -19,7 +19,7 @@ export function getFriendlinkList(params) { */ export function getAllFriendlinks() { return request({ - url: '/admin/friendlinks/all', + url: '/backend/friendlinks/all', method: 'get' }) } @@ -31,7 +31,7 @@ export function getAllFriendlinks() { */ export function addFriendlink(data) { return request({ - url: '/admin/friendlinks', + url: '/backend/friendlinks', method: 'post', data }) @@ -45,7 +45,7 @@ export function addFriendlink(data) { */ export function updateFriendlink(id, data) { return request({ - url: `/admin/friendlinks/${id}`, + url: `/backend/friendlinks/${id}`, method: 'put', data }) @@ -58,7 +58,7 @@ export function updateFriendlink(id, data) { */ export function deleteFriendlink(id) { return request({ - url: `/admin/friendlinks/${id}`, + url: `/backend/friendlinks/${id}`, method: 'delete' }) } @@ -70,7 +70,7 @@ export function deleteFriendlink(id) { */ export function batchDeleteFriendlinks(ids) { return request({ - url: '/admin/friendlinks/batchdelete', + url: '/backend/friendlinks/batchdelete', method: 'post', data: { ids } }) diff --git a/src/api/frontMenu.js b/src/api/frontMenu.js index a071e56..869f7de 100644 --- a/src/api/frontMenu.js +++ b/src/api/frontMenu.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getFrontMenus() { return request({ - url: "/admin/frontmenus", + url: "/backend/frontmenus", method: "get", }); } @@ -18,7 +18,7 @@ export function getFrontMenus() { */ export function createFrontMenu(formData, options = {}) { return request({ - url: "/admin/createfrontmenu", + url: "/backend/createfrontmenu", method: "post", data: formData, headers: { @@ -35,7 +35,7 @@ export function createFrontMenu(formData, options = {}) { */ export function editFrontMenu(id, frontMenuData) { return request({ - url: `/admin/editfrontmenu/${id}`, + url: `/backend/editfrontmenu/${id}`, method: "post", data: frontMenuData, }); @@ -48,7 +48,7 @@ export function editFrontMenu(id, frontMenuData) { */ export function deleteFrontMenu(id) { return request({ - url: `/admin/deletefrontmenu/${id}`, + url: `/backend/deletefrontmenu/${id}`, method: "delete", }); } diff --git a/src/api/moduleCenter.js b/src/api/moduleCenter.js index 26d6954..f9613b9 100644 --- a/src/api/moduleCenter.js +++ b/src/api/moduleCenter.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getModuleCategory() { return request({ - url: "/admin/moduleCategory", + url: "/backend/moduleCategory", method: "get", }); } @@ -18,7 +18,7 @@ export function getModuleCategory() { */ export function getModules(cid) { return request({ - url: "/admin/moduleCenter/modules", + url: "/backend/moduleCenter/modules", method: "get", params: { cid } }); @@ -34,7 +34,7 @@ export function getModules(cid) { */ export function editModuleCategory(data) { return request({ - url: "/admin/moduleCenter/editCategory", + url: "/backend/moduleCenter/editCategory", method: "post", data }); @@ -50,7 +50,7 @@ export function editModuleCategory(data) { */ export function editModules(data) { return request({ - url: "/admin/moduleCenter/editModules", + url: "/backend/moduleCenter/editModules", method: "post", data }); diff --git a/src/api/onepage.js b/src/api/onepage.js index 6f17478..2ce2c7f 100644 --- a/src/api/onepage.js +++ b/src/api/onepage.js @@ -6,7 +6,7 @@ import request from "@/utils/request"; */ export function getOnePages() { return request({ - url: "/admin/allonepages", + url: "/backend/allonepages", method: "get", }); } @@ -18,7 +18,7 @@ export function getOnePages() { */ export function createOnePage(formData) { return request({ - url: "/admin/createonepage", + url: "/backend/createonepage", method: "post", data: formData, }); @@ -32,7 +32,7 @@ export function createOnePage(formData) { */ export function editOnePage(id, onePageData) { return request({ - url: `/admin/editonepage/${id}`, + url: `/backend/editonepage/${id}`, method: "post", data: onePageData, }); @@ -45,7 +45,7 @@ export function editOnePage(id, onePageData) { */ export function deleteOnePage(id) { return request({ - url: `/admin/deleteonepage/${id}`, + url: `/backend/deleteonepage/${id}`, method: "delete", }); } diff --git a/src/api/operationLog.js b/src/api/operationLog.js index b6d1a07..f3473e0 100644 --- a/src/api/operationLog.js +++ b/src/api/operationLog.js @@ -15,7 +15,7 @@ import request from "@/utils/request"; */ export function getOperationLogs(params) { return request({ - url: "/admin/operationLogs", + url: "/backend/operationLogs", method: "get", params, }); @@ -28,7 +28,7 @@ export function getOperationLogs(params) { */ export function getOperationLogDetail(id) { return request({ - url: `/admin/operationLogs/${id}`, + url: `/backend/operationLogs/${id}`, method: "get", }); } @@ -40,7 +40,7 @@ export function getOperationLogDetail(id) { */ export function deleteOperationLog(id) { return request({ - url: `/admin/operationLogs/${id}`, + url: `/backend/operationLogs/${id}`, method: "delete", }); } @@ -52,7 +52,7 @@ export function deleteOperationLog(id) { */ export function batchDeleteOperationLogs(ids) { return request({ - url: "/admin/operationLogs/batchDelete", + url: "/backend/operationLogs/batchDelete", method: "post", data: { ids }, }); @@ -64,7 +64,7 @@ export function batchDeleteOperationLogs(ids) { */ export function getOperationStatistics() { return request({ - url: "/admin/operationLogs/statistics", + url: "/backend/operationLogs/statistics", method: "get", }); } \ No newline at end of file diff --git a/src/api/permission.js b/src/api/permission.js index 7efa9d5..43d6215 100644 --- a/src/api/permission.js +++ b/src/api/permission.js @@ -2,7 +2,7 @@ import request from '@/utils/request'; export function getAllMenuPermissions(params = {}) { return request({ - url: '/admin/allmenupermissions', + url: '/backend/allmenupermissions', method: 'get', params }); @@ -10,14 +10,14 @@ export function getAllMenuPermissions(params = {}) { export function getRolePermissions(roleId) { return request({ - url: `/admin/rolepermissions/${roleId}`, + url: `/backend/rolepermissions/${roleId}`, method: 'get' }); } export function assignRolePermissions(roleId, permissions) { return request({ - url: `/admin/assignrolepermissions/${roleId}`, + url: `/backend/assignrolepermissions/${roleId}`, method: 'post', data: { permissions } }); diff --git a/src/api/position.js b/src/api/position.js index 43725ba..283a7b7 100644 --- a/src/api/position.js +++ b/src/api/position.js @@ -3,7 +3,7 @@ import request from '@/utils/request'; // 获取租户下的所有职位 export function getTenantPositions(tenantId) { return request({ - url: `/admin/positions/tenant/${tenantId}`, + url: `/backend/positions/tenant/${tenantId}`, method: 'get', }); } @@ -11,7 +11,7 @@ export function getTenantPositions(tenantId) { // 根据部门ID获取职位列表 export function getPositionsByDepartment(departmentId) { return request({ - url: `/admin/positions/department/${departmentId}`, + url: `/backend/positions/department/${departmentId}`, method: 'get', }); } @@ -19,7 +19,7 @@ export function getPositionsByDepartment(departmentId) { // 获取职位详情 export function getPositionInfo(positionId) { return request({ - url: `/admin/positions/${positionId}`, + url: `/backend/positions/${positionId}`, method: 'get', }); } @@ -27,7 +27,7 @@ export function getPositionInfo(positionId) { // 添加职位 export function addPosition(data) { return request({ - url: '/admin/positions', + url: '/backend/positions', method: 'post', data, }); @@ -36,7 +36,7 @@ export function addPosition(data) { // 更新职位信息 export function editPosition(positionId, data) { return request({ - url: `/admin/positions/${positionId}`, + url: `/backend/positions/${positionId}`, method: 'put', data, }); @@ -45,7 +45,7 @@ export function editPosition(positionId, data) { // 删除职位 export function deletePosition(positionId) { return request({ - url: `/admin/positions/${positionId}`, + url: `/backend/positions/${positionId}`, method: 'delete', }); } diff --git a/src/api/products.js b/src/api/products.js index 1a2f3a9..d9314ea 100644 --- a/src/api/products.js +++ b/src/api/products.js @@ -7,7 +7,7 @@ import request from '@/utils/request' */ export function getProductsList(params) { return request({ - url: '/admin/productsList', + url: '/backend/productsList', method: 'get', params }) @@ -20,7 +20,7 @@ export function getProductsList(params) { */ export function addProducts(data) { return request({ - url: '/admin/addProducts', + url: '/backend/addProducts', method: 'post', data }) @@ -34,7 +34,7 @@ export function addProducts(data) { */ export function updateProducts(id, data) { return request({ - url: `/admin/editProducts/${id}`, + url: `/backend/editProducts/${id}`, method: 'put', data }) @@ -47,7 +47,7 @@ export function updateProducts(id, data) { */ export function deleteProducts(id) { return request({ - url: `/admin/deleteProducts/${id}`, + url: `/backend/deleteProducts/${id}`, method: 'delete' }) } @@ -59,7 +59,7 @@ export function deleteProducts(id) { */ export function getProductsTypesList(params) { return request({ - url: '/admin/productsTypesList', + url: '/backend/productsTypesList', method: 'get', params }) @@ -72,7 +72,7 @@ export function getProductsTypesList(params) { */ export function addProductsTypes(data) { return request({ - url: '/admin/addProductsTypes', + url: '/backend/addProductsTypes', method: 'post', data }) @@ -86,7 +86,7 @@ export function addProductsTypes(data) { */ export function updateProductsTypes(id, data) { return request({ - url: `/admin/editProductsTypes/${id}`, + url: `/backend/editProductsTypes/${id}`, method: 'put', data }) @@ -99,7 +99,7 @@ export function updateProductsTypes(id, data) { */ export function deleteProductsTypes(id) { return request({ - url: `/admin/deleteProductsTypes/${id}`, + url: `/backend/deleteProductsTypes/${id}`, method: 'delete' }) } diff --git a/src/api/role.js b/src/api/role.js index 8d063dd..6b33318 100644 --- a/src/api/role.js +++ b/src/api/role.js @@ -2,21 +2,21 @@ import request from '@/utils/request' export function getAllRoles() { return request({ - url: '/admin/allRoles', + url: '/backend/allRoles', method: 'get' }) } export function getRoleById(id) { return request({ - url: `/admin/roles/${id}`, + url: `/backend/roles/${id}`, method: 'get' }) } export function createRole(data) { return request({ - url: '/admin/roles', + url: '/backend/roles', method: 'post', data }) @@ -24,7 +24,7 @@ export function createRole(data) { export function updateRole(id, data) { return request({ - url: `/admin/roles/${id}`, + url: `/backend/roles/${id}`, method: 'put', data }) @@ -32,7 +32,7 @@ export function updateRole(id, data) { export function deleteRole(id) { return request({ - url: `/admin/roles/${id}`, + url: `/backend/roles/${id}`, method: 'delete' }) } diff --git a/src/api/services.js b/src/api/services.js index 0c6eb25..c962b44 100644 --- a/src/api/services.js +++ b/src/api/services.js @@ -7,7 +7,7 @@ import request from '@/utils/request' */ export function getServiceList(params) { return request({ - url: '/admin/servicesList', + url: '/backend/servicesList', method: 'get', params }) @@ -20,7 +20,7 @@ export function getServiceList(params) { */ export function addService(data) { return request({ - url: '/admin/addServices', + url: '/backend/addServices', method: 'post', data }) @@ -34,7 +34,7 @@ export function addService(data) { */ export function updateService(id, data) { return request({ - url: `/admin/editServices/${id}`, + url: `/backend/editServices/${id}`, method: 'put', data }) @@ -47,7 +47,7 @@ export function updateService(id, data) { */ export function deleteService(id) { return request({ - url: `/admin/deleteServices/${id}`, + url: `/backend/deleteServices/${id}`, method: 'delete' }) } diff --git a/src/api/sitesettings.js b/src/api/sitesettings.js index ef14bf9..792c372 100644 --- a/src/api/sitesettings.js +++ b/src/api/sitesettings.js @@ -32,7 +32,7 @@ export function saveNormalInfos(data) { */ export function getVerifyInfos() { return request({ - url: "/admin/loginVerifyInfos", + url: "/backend/loginVerifyInfos", method: "get", }); } @@ -44,7 +44,7 @@ export function getVerifyInfos() { */ export function saveVerifyInfos(data) { return request({ - url: "/admin/saveloginVerifyInfos", + url: "/backend/saveloginVerifyInfos", method: "post", data: data, }); @@ -57,7 +57,7 @@ export function saveVerifyInfos(data) { */ export function getLegalInfos(tid) { return request({ - url: "/admin/legalInfos", + url: "/backend/legalInfos", method: "get", params: { tid } }); @@ -70,7 +70,7 @@ export function getLegalInfos(tid) { */ export function saveLegalInfos(data) { return request({ - url: "/admin/saveLegalInfos", + url: "/backend/saveLegalInfos", method: "post", data: data, }); @@ -83,7 +83,7 @@ export function saveLegalInfos(data) { */ export function getCompanyInfos(tid) { return request({ - url: "/admin/companyInfos", + url: "/backend/companyInfos", method: "get", params: { tid } }); @@ -96,7 +96,7 @@ export function getCompanyInfos(tid) { */ export function saveCompanyInfos(data) { return request({ - url: "/admin/saveCompanyInfos", + url: "/backend/saveCompanyInfos", method: "post", data: data, }); @@ -109,7 +109,7 @@ export function saveCompanyInfos(data) { */ export function getCompanySeo(tid) { return request({ - url: "/admin/companySeo", + url: "/backend/companySeo", method: "get", params: { tid } }); @@ -122,7 +122,7 @@ export function getCompanySeo(tid) { */ export function saveCompanySeo(data) { return request({ - url: "/admin/saveCompanySeo", + url: "/backend/saveCompanySeo", method: "post", data: data, }); diff --git a/src/api/sms.ts b/src/api/sms.ts index b94d82a..6147dbb 100644 --- a/src/api/sms.ts +++ b/src/api/sms.ts @@ -5,7 +5,7 @@ import request from "@/utils/request"; */ export function getSmsInfo() { return request({ - url: "/admin/sms/info", + url: "/backend/sms/info", method: "get", }); } @@ -15,7 +15,7 @@ export function getSmsInfo() { */ export function editSmsInfo(data: any) { return request({ - url: "/admin/sms/editinfo", + url: "/backend/sms/editinfo", method: "post", data, }); @@ -26,7 +26,7 @@ export function editSmsInfo(data: any) { */ export function sendTestSms(data: any) { return request({ - url: "/admin/sms/sendtest", + url: "/backend/sms/sendtest", method: "post", data, }); @@ -37,7 +37,7 @@ export function sendTestSms(data: any) { */ export function getSmsTaskList(params: { status?: string | number; phone?: string } = {}) { return request({ - url: "/admin/sms/taskList", + url: "/backend/sms/taskList", method: "get", params, }); @@ -48,7 +48,7 @@ export function getSmsTaskList(params: { status?: string | number; phone?: strin */ export function editSmsTask(id: number | string, data: any) { return request({ - url: `/admin/sms/taskEdit/${id}`, + url: `/backend/sms/taskEdit/${id}`, method: "post", data, }); diff --git a/src/api/tenant.js b/src/api/tenant.js index be3cda0..cf4af9e 100644 --- a/src/api/tenant.js +++ b/src/api/tenant.js @@ -11,7 +11,7 @@ import request from "@/utils/request"; */ export function getTenantList(params) { return request({ - url: "/admin/tenant/getTenant", + url: "/backend/tenant/getTenant", method: "get", params: params, }); @@ -24,7 +24,7 @@ export function getTenantList(params) { */ export function getTenantDetail(id) { return request({ - url: `/admin/tenant/getTenantDetail/${id}`, + url: `/backend/tenant/getTenantDetail/${id}`, method: "get", }); } @@ -36,7 +36,7 @@ export function getTenantDetail(id) { */ export function createTenant(data) { return request({ - url: "/admin/tenant/createTenant", + url: "/backend/tenant/createTenant", method: "post", data: data, headers: { @@ -52,7 +52,7 @@ export function createTenant(data) { */ export function editTenant(id, data) { return request({ - url: `/admin/tenant/editTenant/${id}`, + url: `/backend/tenant/editTenant/${id}`, method: "post", data: data, }); @@ -65,7 +65,7 @@ export function editTenant(id, data) { */ export function deleteTenant(id) { return request({ - url: `/admin/tenant/deleteTenant/${id}`, + url: `/backend/tenant/deleteTenant/${id}`, method: "delete", }); } @@ -77,7 +77,7 @@ export function deleteTenant(id) { */ export function checkTenantCode(tenant_code) { return request({ - url: '/admin/tenant/findTenantCode', + url: '/backend/tenant/findTenantCode', method: 'get', params: { tenant_code } }); diff --git a/src/api/theme.js b/src/api/theme.js index 0dce3d7..dc4452c 100644 --- a/src/api/theme.js +++ b/src/api/theme.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 获取模板列表 export function getThemeList() { return request({ - url: '/admin/theme', + url: '/backend/theme', method: 'get' }) } @@ -11,7 +11,7 @@ export function getThemeList() { // 切换模板 export function switchTheme(data) { return request({ - url: '/admin/theme/switch', + url: '/backend/theme/switch', method: 'post', data }) @@ -20,7 +20,7 @@ export function switchTheme(data) { // 获取模板数据 export function getThemeData(params) { return request({ - url: '/admin/theme/data', + url: '/backend/theme/data', method: 'get', params }) @@ -29,7 +29,7 @@ export function getThemeData(params) { // 保存模板数据 export function saveThemeData(data) { return request({ - url: '/admin/theme/data', + url: '/backend/theme/data', method: 'post', data }) diff --git a/src/api/user.js b/src/api/user.js index 6c0743e..bb075b6 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -1,17 +1,18 @@ import request from '@/utils/request'; //获取所有用户信息 -export function getAllUsers() { +export function getAllUsers(params) { return request({ - url: '/admin/getAllUsers', + url: '/backend/getAllUsers', method: 'get', + params, }); } //获取租户用户 export function getTenantUsers(tenantId) { return request({ - url: `/admin/getTenantUsers/${tenantId}`, + url: `/backend/getTenantUsers/${tenantId}`, method: 'get', }); } @@ -27,7 +28,7 @@ export function getUserInfo(userId) { // 添加用户 export function addUser(data) { return request({ - url: '/admin/addUser', + url: '/backend/addUser', method: 'post', data, }); @@ -36,7 +37,7 @@ export function addUser(data) { // 编辑用户信息 export function editUser(userId, data) { return request({ - url: `/admin/editUser/${userId}`, + url: `/backend/editUser/${userId}`, method: 'post', data, }); @@ -47,10 +48,25 @@ export function updateUserInfo(userId, data) { return editUser(userId, data); } +// 更新个人资料 +export function updateUserProfile(userId, data) { + return editUser(userId, data); +} + +// 绑定/更换手机号 +export function bindPhone(userId, phone) { + return editUser(userId, { phone }); +} + +// 绑定/更换邮箱 +export function bindEmail(userId, email) { + return editUser(userId, { email }); +} + // 删除用户 export function deleteUser(userId) { return request({ - url: `/admin/deleteUser/${userId}`, + url: `/backend/deleteUser/${userId}`, method: 'delete', }); } @@ -58,11 +74,11 @@ export function deleteUser(userId) { // 修改密码 export function changePassword(userId, data) { return request({ - url: '/admin/changePassword', + url: '/backend/changePassword', method: 'post', data: { id: userId, password: data.newPassword }, }); -} \ No newline at end of file +} diff --git a/src/api/workbench.js b/src/api/workbench.js index 2983c7e..379ef9e 100644 --- a/src/api/workbench.js +++ b/src/api/workbench.js @@ -4,7 +4,7 @@ import request from "@/utils/request"; // 获取文章列表 export function GetCRMWorkbench(params) { return request({ - url: `/admin/workbench/crm`, + url: `/backend/workbench/crm`, method: "get", params, }); diff --git a/src/views/apps/erp/employee/components/changepass.vue b/src/views/apps/erp/employee/components/changepass.vue index b886ec4..e1bbe46 100644 --- a/src/views/apps/erp/employee/components/changepass.vue +++ b/src/views/apps/erp/employee/components/changepass.vue @@ -36,7 +36,7 @@ \ No newline at end of file + diff --git a/src/views/user/components/BindEmailDialog.vue b/src/views/user/components/BindEmailDialog.vue new file mode 100644 index 0000000..9900995 --- /dev/null +++ b/src/views/user/components/BindEmailDialog.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/views/user/components/BindPhoneDialog.vue b/src/views/user/components/BindPhoneDialog.vue new file mode 100644 index 0000000..32a54c0 --- /dev/null +++ b/src/views/user/components/BindPhoneDialog.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/views/user/components/ChangePasswordDialog.vue b/src/views/user/components/ChangePasswordDialog.vue new file mode 100644 index 0000000..fbbd89c --- /dev/null +++ b/src/views/user/components/ChangePasswordDialog.vue @@ -0,0 +1,125 @@ + + + diff --git a/src/views/user/components/DetailCard.vue b/src/views/user/components/DetailCard.vue new file mode 100644 index 0000000..a64c100 --- /dev/null +++ b/src/views/user/components/DetailCard.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/views/user/components/EditProfileDialog.vue b/src/views/user/components/EditProfileDialog.vue new file mode 100644 index 0000000..f8c5fa4 --- /dev/null +++ b/src/views/user/components/EditProfileDialog.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/views/user/components/ProfileCard.vue b/src/views/user/components/ProfileCard.vue new file mode 100644 index 0000000..e3accc3 --- /dev/null +++ b/src/views/user/components/ProfileCard.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/user/components/QuickActions.vue b/src/views/user/components/QuickActions.vue new file mode 100644 index 0000000..08244e3 --- /dev/null +++ b/src/views/user/components/QuickActions.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/src/views/user/components/SecurityCard.vue b/src/views/user/components/SecurityCard.vue new file mode 100644 index 0000000..3192625 --- /dev/null +++ b/src/views/user/components/SecurityCard.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/src/views/user/userProfile.vue b/src/views/user/userProfile.vue index 45d27ed..fae94aa 100644 --- a/src/views/user/userProfile.vue +++ b/src/views/user/userProfile.vue @@ -2,233 +2,56 @@
-
-
-

个人资料

-
-
-
- - {{ userInfo?.account?.charAt(0)?.toUpperCase() || 'U' }} - - - 更换头像 - -
-
-
- 账号 - {{ userInfo?.account || '-' }} -
-
- 邮箱 - {{ userInfo?.email || '-' }} -
-
- 手机号 - {{ userInfo?.phone || '-' }} -
-
- 状态 - - {{ userInfo?.status === 1 ? '正常' : '禁用' }} - -
-
-
-
+ -
-
-

快捷操作

-
-
-
- - 退出登录 -
-
-
+
-
-
-

详细资料

- - 编辑 - -
- - - {{ userInfo?.name || '-' }} - - - {{ getSexText(userInfo?.sex) }} - - - {{ userInfo?.birth || '-' }} - - - - {{ userInfo?.status === 1 ? '正常' : '禁用' }} - - - - {{ formatDate(userInfo?.create_time) }} - - - {{ userInfo?.last_login_ip || '-' }} - - -
+ -
-
-

安全设置

-
-
-
-
- -
-
登录密码
-
用于登录系统
-
-
- - 修改 - -
-
-
- -
-
手机绑定
-
已绑定: {{ userInfo?.phone || '未绑定' }}
-
-
- - {{ userInfo?.phone ? '更换' : '绑定' }} - -
-
-
- -
-
邮箱绑定
-
已绑定: {{ userInfo?.email || '未绑定' }}
-
-
- - {{ userInfo?.email ? '更换' : '绑定' }} - -
-
-
+
- - - - - - - - 保密 - - - - - - - - - - - - - - - - + :user-info="userInfo" + :user-id="authStore.user?.id" + @saved="fetchUserInfo" + /> - - - - - - - - - - - - - - + :user-id="authStore.user?.id" + /> + + + +
@@ -236,15 +59,16 @@ import { ref, onMounted } from "vue"; import { useRouter } from "vue-router"; import { ElMessage, ElMessageBox } from "element-plus"; -import { - Edit, - Lock, - SwitchButton, - Iphone, - Message -} from "@element-plus/icons-vue"; -import { getUserInfo, updateUserInfo } from "@/api/user"; +import { getUserInfo } from "@/api/user"; import { useAuthStore } from "@/stores/auth"; +import ProfileCard from "./components/ProfileCard.vue"; +import QuickActions from "./components/QuickActions.vue"; +import DetailCard from "./components/DetailCard.vue"; +import SecurityCard from "./components/SecurityCard.vue"; +import EditProfileDialog from "./components/EditProfileDialog.vue"; +import ChangePasswordDialog from "./components/ChangePasswordDialog.vue"; +import BindPhoneDialog from "./components/BindPhoneDialog.vue"; +import BindEmailDialog from "./components/BindEmailDialog.vue"; const router = useRouter(); const authStore = useAuthStore(); @@ -252,57 +76,8 @@ const authStore = useAuthStore(); const userInfo = ref(null); const editDialogVisible = ref(false); const passwordDialogVisible = ref(false); -const editLoading = ref(false); -const passwordLoading = ref(false); - -const editFormRef = ref(null); -const passwordFormRef = ref(null); - -const editForm = ref({ - email: "", - phone: "", - name: "", - sex: 0, - birth: "" -}); - -const passwordForm = ref({ - oldPassword: "", - newPassword: "", - confirmPassword: "" -}); - -const validateConfirmPassword = (rule, value, callback) => { - if (value !== passwordForm.value.newPassword) { - callback(new Error("两次输入的密码不一致")); - } else { - callback(); - } -}; - -const editFormRules = { - email: [ - { required: true, message: "请输入邮箱", trigger: "blur" }, - { type: "email", message: "请输入正确的邮箱格式", trigger: "blur" } - ], - phone: [ - { pattern: /^1[3-9]\d{9}$/, message: "请输入正确的手机号", trigger: "blur" } - ] -}; - -const passwordFormRules = { - oldPassword: [ - { required: true, message: "请输入旧密码", trigger: "blur" } - ], - newPassword: [ - { required: true, message: "请输入新密码", trigger: "blur" }, - { min: 6, max: 20, message: "密码长度为 6 到 20 个字符", trigger: "blur" } - ], - confirmPassword: [ - { required: true, message: "请再次输入新密码", trigger: "blur" }, - { validator: validateConfirmPassword, trigger: "blur" } - ] -}; +const bindPhoneDialogVisible = ref(false); +const bindEmailDialogVisible = ref(false); const formatDate = (date) => { if (!date) return "-"; @@ -342,66 +117,13 @@ const fetchUserInfo = async () => { }; const handleEditProfile = () => { - editForm.value = { - name: userInfo.value?.name || "", - sex: userInfo.value?.sex || 0, - birth: userInfo.value?.birth || "", - email: userInfo.value?.email || "", - phone: userInfo.value?.phone || "" - }; editDialogVisible.value = true; }; -const handleSaveProfile = async () => { - try { - await editFormRef.value.validate(); - editLoading.value = true; - const userId = authStore.user?.id; - const res = await updateUserInfo(userId, editForm.value); - if (res.code === 200) { - ElMessage.success("保存成功"); - editDialogVisible.value = false; - await fetchUserInfo(); - } - } catch (error) { - console.error("保存失败", error); - if (error !== false) { - ElMessage.error("保存失败"); - } - } finally { - editLoading.value = false; - } -}; - -const handleEditDialogClose = () => { - editFormRef.value?.resetFields(); -}; - const handleChangePassword = () => { passwordDialogVisible.value = true; }; -const handleSavePassword = async () => { - try { - await passwordFormRef.value.validate(); - passwordLoading.value = true; - // TODO: 调用修改密码接口 - ElMessage.success("密码修改成功"); - passwordDialogVisible.value = false; - } catch (error) { - console.error("修改密码失败", error); - if (error !== false) { - ElMessage.error("修改密码失败"); - } - } finally { - passwordLoading.value = false; - } -}; - -const handlePasswordDialogClose = () => { - passwordFormRef.value?.resetFields(); -}; - const handleAvatarChange = () => { ElMessage.info("头像上传功能开发中"); }; @@ -417,7 +139,7 @@ const handleLogout = () => { } catch (error) { console.error("退出登录接口调用失败:", error); } - + // 清除所有本地存储 localStorage.removeItem("active_tab"); localStorage.removeItem("1123567809876"); @@ -425,14 +147,14 @@ const handleLogout = () => { localStorage.removeItem("token"); localStorage.removeItem("user"); localStorage.removeItem("tenant"); - + sessionStorage.removeItem("active_tab"); sessionStorage.removeItem("456"); sessionStorage.removeItem("tabs_list"); sessionStorage.removeItem("token"); sessionStorage.removeItem("user"); sessionStorage.removeItem("tenant"); - + // 清除所有 cookies,包括跨域和不同路径的 cookie const clearCookie = (name) => { document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`; @@ -442,13 +164,13 @@ const handleLogout = () => { document.cookie = `${name}=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${location.hostname}`; } }; - + // 清除所有已知 cookie clearCookie("PHPSESSID"); clearCookie("token"); clearCookie("user"); clearCookie("tenant"); - + // 同时清除所有现有的 cookie const cookies = document.cookie.split(";"); for (let i = 0; i < cookies.length; i++) { @@ -459,7 +181,7 @@ const handleLogout = () => { clearCookie(name); } } - + authStore.clearToken(); router.push("/login"); ElMessage.success("已退出登录"); @@ -474,166 +196,5 @@ onMounted(() => {