From 211e4c70b1b4ae94666b1be79e45b0af5bd9ffc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com> Date: Fri, 28 Jun 2024 13:56:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=AA=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/user.js | 80 +++++ src/assets/icons/Account.vue | 13 + src/assets/icons/Log.vue | 13 + src/assets/icons/Notice.vue | 13 + src/assets/icons/Password.vue | 13 + src/assets/icons/Secure.vue | 13 + src/assets/icons/WechartRound.vue | 24 ++ src/assets/icons/index.js | 6 + src/style/user.scss | 7 +- src/views/userCenter/index.vue | 56 ++- src/views/userCenter/user/account.vue | 22 +- src/views/userCenter/user/bind.vue | 398 +++++++++++++++++++++ src/views/userCenter/user/password.vue | 30 +- src/views/userCenter/user/pushSettings.vue | 200 ++++++++++- src/views/userCenter/user/seting.vue | 3 +- 15 files changed, 818 insertions(+), 73 deletions(-) create mode 100644 src/api/model/user.js create mode 100644 src/assets/icons/Account.vue create mode 100644 src/assets/icons/Log.vue create mode 100644 src/assets/icons/Notice.vue create mode 100644 src/assets/icons/Password.vue create mode 100644 src/assets/icons/Secure.vue create mode 100644 src/assets/icons/WechartRound.vue create mode 100644 src/views/userCenter/user/bind.vue diff --git a/src/api/model/user.js b/src/api/model/user.js new file mode 100644 index 0000000..135d720 --- /dev/null +++ b/src/api/model/user.js @@ -0,0 +1,80 @@ +import config from "@/config"; +import http from "@/utils/request"; + +export default { + getInfo: { + url: `${config.API_URL}/user.bind.info`, + name: "获取绑定(微信、钉钉)个人中心", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + uploadAvatar:{ + url: `${config.API_URL}/user.update.avatar`, + name: "个人头像上传", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + getInformation:{ + url: `${config.API_URL}/user.information`, + name: "获取登录用户个人信息", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + timeoutConfig:{ + url: `${config.API_URL}/system.login.timeout.config`, + name: "登录超时退出配置", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + timeoutGet:{ + url: `${config.API_URL}/system.login.timeout.get`, + name: "获取登录超时时间", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + subscribe:{ + list:{ + url: `${config.API_URL}/messages.subscribe.list`, + name: "消息订阅列表", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + set:{ + url: `${config.API_URL}/messages.user.subscribe`, + name: "消息订阅", + post: async function (params) { + return await http.post(this.url, params); + }, + } + }, + messages:{ + list:{ + url: `${config.API_URL}/messages.todo.list`, + name: "消息列表", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + read:{ + url: `${config.API_URL}/messages.todo.read`, + name: "消息已读", + post: async function (params) { + return await http.post(this.url, params); + }, + }, + delete:{ + url: `${config.API_URL}/messages.todo.del`, + name: "删除待办消息", + post: async function (params) { + return await http.post(this.url, params); + }, + } + } + +}; diff --git a/src/assets/icons/Account.vue b/src/assets/icons/Account.vue new file mode 100644 index 0000000..c2e60a3 --- /dev/null +++ b/src/assets/icons/Account.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Log.vue b/src/assets/icons/Log.vue new file mode 100644 index 0000000..8fe4af4 --- /dev/null +++ b/src/assets/icons/Log.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Notice.vue b/src/assets/icons/Notice.vue new file mode 100644 index 0000000..a3db709 --- /dev/null +++ b/src/assets/icons/Notice.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Password.vue b/src/assets/icons/Password.vue new file mode 100644 index 0000000..ef5ab1f --- /dev/null +++ b/src/assets/icons/Password.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Secure.vue b/src/assets/icons/Secure.vue new file mode 100644 index 0000000..5702b34 --- /dev/null +++ b/src/assets/icons/Secure.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/WechartRound.vue b/src/assets/icons/WechartRound.vue new file mode 100644 index 0000000..8c7bb70 --- /dev/null +++ b/src/assets/icons/WechartRound.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js index a47d338..cf763ea 100644 --- a/src/assets/icons/index.js +++ b/src/assets/icons/index.js @@ -14,6 +14,12 @@ export { default as Bell } from './Bell.vue' export { default as Full } from './Full.vue' export { default as Refresh } from './Refresh.vue' export { default as Search } from './Search.vue' +export { default as Account } from './Account.vue' +export { default as Notice } from './Notice.vue' +export { default as Password } from './Password.vue' +export { default as Secure } from './Secure.vue' +export { default as UserLog } from './Log.vue' +export { default as WechartRound } from './WechartRound.vue' export { default as Home } from './menu/Home.vue' export { default as Setup } from './menu/Setup.vue' diff --git a/src/style/user.scss b/src/style/user.scss index cbbdb03..52874d5 100644 --- a/src/style/user.scss +++ b/src/style/user.scss @@ -2,8 +2,7 @@ .userAside{ border-right: 0; .el-header{ - margin-bottom: 10px; - border-bottom: 0; + border-bottom: 1px solid #f2f2f2; background: var(--el-bg-color-overlay); border-top-left-radius: 6px; border-top-right-radius: 6px; @@ -41,7 +40,7 @@ box-sizing: border-box; .el-card{ border:0; - height: 100%; + height: calc(100%); display: flex; flex-direction: column; .el-card__header{ @@ -53,7 +52,7 @@ } .el-card__body{ flex: 1; - padding: 20px 10px 0 10px; + padding: 10px 10px 0 10px; overflow: hidden; .nopadding{ height: 100%; diff --git a/src/views/userCenter/index.vue b/src/views/userCenter/index.vue index e44a66a..d287bdc 100644 --- a/src/views/userCenter/index.vue +++ b/src/views/userCenter/index.vue @@ -7,7 +7,7 @@

{{ user.userName }}

-

{{ user.role }}

+

{{ user.role }}

@@ -50,65 +50,61 @@ password: defineAsyncComponent(() => import('./user/password')), space: defineAsyncComponent(() => import('./user/space')), logs: defineAsyncComponent(() => import('./user/logs')), - upToEnterprise: defineAsyncComponent(() => import('./user/upToEnterprise')) + upToEnterprise: defineAsyncComponent(() => import('./user/upToEnterprise')), + bind: defineAsyncComponent(() => import('./user/bind')), }, data() { return { menu: [ { - groupName: "基本设置", + groupName: "账号设置", list: [ { - icon: "el-icon-postcard", + icon: "sc-icon-Account", title: "账号信息", component: "account" }, { - icon: "el-icon-operation", - title: "个人设置", - component: "seting" - }, - { - icon: "el-icon-lock", + icon: "sc-icon-Password", title: "密码", component: "password" }, { - icon: "el-icon-bell", + icon: "sc-icon-Notice", title: "通知设置", component: "pushSettings" - } + }, + { + icon: "sc-icon-Secure", + title: "账户安全", + component: "bind" + }, ] }, { groupName: "数据管理", list: [ { - icon: "el-icon-coin", - title: "存储空间信息", - component: "space" - }, - { - icon: "el-icon-clock", + icon: "sc-icon-UserLog", title: "操作日志", component: "logs" } ] }, - { - groupName: "账号升级", - list: [ - { - icon: "el-icon-office-building", - title: "升级为企业账号", - component: "upToEnterprise" - } - ] - } + // { + // groupName: "账号升级", + // list: [ + // { + // icon: "el-icon-office-building", + // title: "升级为企业账号", + // component: "upToEnterprise" + // } + // ] + // } ], user: { - userName: "Sakuya", - role: "超级管理员", + userName: "龙隆", + role: "管理员", }, page: "account" } diff --git a/src/views/userCenter/user/account.vue b/src/views/userCenter/user/account.vue index b04a06d..0a97874 100644 --- a/src/views/userCenter/user/account.vue +++ b/src/views/userCenter/user/account.vue @@ -1,21 +1,18 @@