diff --git a/src/api/user/index.ts b/src/api/user/index.ts index 7a9025b..117df7b 100644 --- a/src/api/user/index.ts +++ b/src/api/user/index.ts @@ -12,6 +12,7 @@ import { baseUrlHost } from '../baseUrlHost'; * @method updateUser 更新用户 * @method getuserListAll 获取全部用户 * @method getUserDetail 查询单个用户 + * @method updatepwd 修改用户密码 */ export function userApi() { @@ -55,5 +56,12 @@ export function userApi() { method: 'get', }); }, + updatepwd: (id:Number,data:object) => { + return request({ + url: baseUrlHost + `/acUser/${id}/pwdreset`, + method: 'post', + data + }) + } }; } diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index 7a80e8a..40badf7 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -129,9 +129,10 @@ export default { dropdownDefault: 'default', dropdownSmall: 'small', dropdown1: 'home page', - dropdown2: 'Personal Center', - dropdown3: '404', - dropdown4: '401', + dropdown2:'updatepwd', + // dropdown2: 'Personal Center', + // dropdown3: '404', + // dropdown4: '401', dropdown5: 'Log out', dropdown6: 'Code warehouse', searchPlaceholder: 'Menu search: support Chinese, routing path', diff --git a/src/i18n/lang/zh-cn.ts b/src/i18n/lang/zh-cn.ts index f4f3f89..b8d59d2 100644 --- a/src/i18n/lang/zh-cn.ts +++ b/src/i18n/lang/zh-cn.ts @@ -132,9 +132,10 @@ export default { dropdownDefault: '默认', dropdownSmall: '小型', dropdown1: '首页', - dropdown2: '个人中心', - dropdown3: '404', - dropdown4: '401', + // dropdown2: '个人中心', + // dropdown3: '404', + // dropdown4: '401', + dropdown2:'修改密码', dropdown5: '退出登录', dropdown6: '代码仓库', searchPlaceholder: '菜单搜索:支持中文、路由路径', diff --git a/src/i18n/lang/zh-tw.ts b/src/i18n/lang/zh-tw.ts index 2a3f8e5..3e994b8 100644 --- a/src/i18n/lang/zh-tw.ts +++ b/src/i18n/lang/zh-tw.ts @@ -129,9 +129,10 @@ export default { dropdownDefault: '默認', dropdownSmall: '小型', dropdown1: '首頁', - dropdown2: '個人中心', - dropdown3: '404', - dropdown4: '401', + dropdown2:'修改密碼', + // dropdown2: '個人中心', + // dropdown3: '404', + // dropdown4: '401', dropdown5: '登出', dropdown6: '程式碼倉庫', searchPlaceholder: '選單蒐索:支援中文、路由路徑', diff --git a/src/layout/navBars/topBar/user.vue b/src/layout/navBars/topBar/user.vue index cd765f2..a97be71 100644 --- a/src/layout/navBars/topBar/user.vue +++ b/src/layout/navBars/topBar/user.vue @@ -73,15 +73,38 @@ +
+ + + + + + + + + + + +
@@ -98,6 +121,7 @@ import other from '/@/utils/other'; import mittBus from '/@/utils/mitt'; import { Session, Local } from '/@/utils/storage'; import { useLoginApi } from '/@/api/login'; +import { userApi } from '/@/api/user' // 引入组件 const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/topBar/userNews.vue')); @@ -106,6 +130,8 @@ const Search = defineAsyncComponent(() => import('/@/layout/navBars/topBar/searc // 引入 api 请求接口 const loginApi = useLoginApi(); +const userapi = userApi(); + // 定义变量内容 const userNewsRef = ref(); const userNewsBadgeRef = ref(); @@ -120,8 +146,23 @@ const state = reactive({ isScreenfull: false, disabledI18n: 'zh-cn', disabledSize: 'large', + userDetailList:{ + old:'', + pwd:'', + }, + dialog:{ + isShowDialog: false, + title: '修改密码', + loading: false, + }, + rules:{ + old:{ required: true, message: '旧密码不能为空', trigger: 'blur' }, + pwd:{ required: true, message: '新密码不能为空', trigger: 'blur' } + } }); +const userDialogFormRef = ref(); + // 设置分割样式 const layoutUserFlexNum = computed(() => { let num: string | number = ''; @@ -152,7 +193,8 @@ const onLayoutSetingClick = () => { mittBus.emit('openSetingsDrawer'); }; // 下拉菜单点击时 -const onHandleCommandClick = (path: string) => { +const onHandleCommandClick = async(path: string) => { + if (path === 'logOut') { ElMessageBox({ closeOnClickModal: false, @@ -189,10 +231,73 @@ const onHandleCommandClick = (path: string) => { .catch(() => {}); } else if (path === 'wareHouse') { window.open('https://gitee.com/lyt-top/vue-next-admin'); - } else { + } else if(path === 'updatepwd'){ + state.dialog.isShowDialog = true; + state.userDetailList.pwd =''; + try{ + const res = await userapi.getUserDetail(localStorage.getItem('userid')); + if(res?.success){ + state.userDetailList.old = res.data.password; + // console.log(111111111,state.userDetailList.oldpwd) + } + }catch(error){ + console.error(error); + } + } + else { router.push(path); } }; + +// 关闭弹窗 +const closeDialog = () => { + state.dialog.isShowDialog = false; +}; + +//确定 +const handleSure = () =>{ + userDialogFormRef.value?.validate(async(valid:boolean) =>{ + if(valid){ + // console.log(111111111) + + try{ + const res = await userapi.updatepwd(localStorage.getItem('userid'),state.userDetailList); + if(res?.success){ + ElMessage.success('修改成功!'); + reset(); + closeDialog(); + ElMessageBox.alert('你已被登出,请重新登录', '提示', {}) + .then(async () => { + // 清除缓存/token等 + console.log('清除缓存/token等'); + Session.clear(); + // 使用 reload 时,不需要调用 resetRoute() 重置路由 + window.location.reload(); + window.location.href = import.meta.env.MODE === "development" ? '/' : '/pixelAdmin/'; // 去登录页 + }) + .catch(() => {}); + } + }catch(error){ + console.error(error); + ElMessage.error('修改失败!'); + } + } + }) +}; + +// 取消 +const onCancel = () => { + closeDialog(); +}; + +const reset = () =>{ + state.userDetailList = { + old:'', + pwd:'' + } + +}; + // 菜单搜索点击 const onSearchClick = () => { searchRef.value.openSearch(); diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 0daf6d6..253e419 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -14,28 +14,28 @@
- {{ currentTime }},admin,生活变的再糟糕,也不妨碍我变得更好! + {{ currentTime }},{{username}},生活变的再糟糕,也不妨碍我变得更好!
昵称:
-
小柒
+
{{ username }}
身份:
-
超级管理
+
{{ acgroup }}
- + -
登录时间:
-
2021-02-05 18:47:26
+
创建时间:
+
{{creatime}}
@@ -193,17 +193,22 @@