Procházet zdrojové kódy

添加首次登录判断

zhaoke před 3 roky
rodič
revize
1edcd90375

+ 9 - 0
src/components/Hamburger/index.vue

@@ -26,9 +26,11 @@
 
 <script>
 import { loginUp } from '@/api/login'
+import { mapGetters } from 'vuex'
 export default {
   name: 'Hamburger',
   computed: {
+    ...mapGetters(['firstLogin']),
     name () {
       return this.$store.state.user.name
     }
@@ -43,6 +45,13 @@ export default {
       deep: true
     }
   },
+  mounted () {
+    // 首次登录
+    if (this.firstLogin) {
+      this.$message.warning('初次登录本系统,请修改密码')
+      this.dialogPwd()
+    }
+  },
   methods: {
     //退出系统-弹框
     exitDialog () {

+ 2 - 2
src/layout/index.vue

@@ -31,7 +31,7 @@
         </div>
         <div class="foot center t30">
           <el-button size="medium" type="primary" @click="addSubmit('dataForm')" class="r24">保存</el-button>
-          <el-button size="medium" @click="resetForm('dataForm')">取消</el-button>
+          <el-button v-if="!firstLogin" size="medium" @click="resetForm('dataForm')">取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -82,7 +82,7 @@ export default {
     }
   },
   computed: {
-    ...mapGetters(['pwdflag', 'outflag', 'name'])
+    ...mapGetters(['pwdflag', 'outflag', 'name', 'firstLogin'])
   },
   methods: {
     //存储数据项-提交

+ 1 - 0
src/store/getters.js

@@ -15,6 +15,7 @@ const getters = {
   avatar: state => state.user.avatar,
   name: state => state.user.name,
   roles: state => state.user.roles,
+  firstLogin: state => state.user.firstLogin,
   dialog: state => state.app.dialog,
   pwdflag: state => state.app.pwdflag,
   outflag: state => state.app.outflag,

+ 12 - 4
src/store/modules/user.js

@@ -7,6 +7,7 @@ const getDefaultState = () => {
     name: '',
     avatar: '',
     roles: [],
+    firstLogin: getToken('FirstLogin') ? JSON.parse(getToken('FirstLogin')) : false,
     UserType: sessionStorage.getItem('UserType') ? sessionStorage.getItem('UserType') : '',
     UserId: sessionStorage.getItem('User_Id') ? sessionStorage.getItem('User_Id') : '',
     userPoewrList: getToken('userAuthList') ? JSON.parse(getToken('userAuthList')) : []
@@ -40,7 +41,10 @@ const mutations = {
   },
   SET_UserPoewrList: (state, arr) => {
     state.userPoewrList = arr
-  }
+  },
+  SET_LOGIN: (state, login) => {
+    state.firstLogin = login
+  },
 }
 
 const actions = {
@@ -52,8 +56,10 @@ const actions = {
         commit('SET_TOKEN', returnData.Token)
         commit('SET_UserType', returnData.UserType)
         commit('SET_UserId', returnData.UserId)
+        commit('SET_LOGIN', returnData.FirstLogin)
         sessionStorage.setItem("userName", userInfo.LoginName);
-        setToken(TokenKey, returnData.Token)
+        setToken(TokenKey, returnData.Token);
+        setToken('FirstLogin', returnData.FirstLogin);
         setUserId(returnData.UserId)
         let nowDate = new Date();
         let oldDate = new Date(returnData.ValidTime);
@@ -76,12 +82,13 @@ const actions = {
         roles: state.userPoewrList,
         introduction: '',
         avatar: '',
+        firstLogin: state.firstLogin,
         name: sessionStorage.getItem("userName"),
         token: state.token
       }
 
-      const { name, avatar, roles } = data
-
+      const { name, avatar, roles, firstLogin } = data
+      commit('SET_LOGIN', firstLogin)
       commit('SET_NAME', name)
       commit('SET_AVATAR', avatar)
       commit('SET_ROLES', roles ? roles : ['admin'])
@@ -100,6 +107,7 @@ const actions = {
         removeToken(); // must remove  token  first
         removeToken('codeToken');
         removeToken('systemSet');
+        removeToken('FirstLogin');
         resetRouter();
         commit('RESET_STATE');
         commit('SET_ROLES', []);