diff --git a/src/router/index.js b/src/router/index.js index c745903..877f119 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,11 +29,11 @@ const routes = [ // name: 'Feedback', // component: () => import(/* webpackChunkName: "feedback" */ '../views/Feedback/Feedback.vue') // }, - // { - // path: '/settings', - // name: 'Settings', - // component: () => import(/* webpackChunkName: "settings" */ '../views/Settings/Settings.vue') - // }, + { + path: '/settings', + name: 'Settings', + component: () => import(/* webpackChunkName: "settings" */ '../views/Settings/Settings.vue') + }, { path: '/unlock', name: 'Unlock', diff --git a/src/store/index.js b/src/store/index.js index 6658d5e..7237d29 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -11,6 +11,8 @@ export default new Vuex.Store({ row_data: '', // aes化的用户主密码 row_pwd: '', + // 配置信息 + settings: '', }, mutations: { // 设置用户信息 @@ -25,6 +27,10 @@ export default new Vuex.Store({ SET_ROWPWD(state, row_pwd) { state.row_pwd = row_pwd; }, + // 设置配置信息 + SET_SETTINGS(state, settings) { + state.settings = settings; + }, }, actions: { // 设置用户信息 @@ -48,6 +54,13 @@ export default new Vuex.Store({ commit('SET_ROWPWD', arg[0]); localStorage.setItem("storeState", JSON.stringify(arg[1].$store.state)); }, + // 设置配置信息 + setSettings({ + commit + }, arg) { + commit('SET_SETTINGS', arg[0]); + localStorage.setItem("storeState", JSON.stringify(arg[1].$store.state)); + }, }, modules: {} }) diff --git a/src/views/Account/Account.vue b/src/views/Account/Account.vue index 6b5372a..e565945 100644 --- a/src/views/Account/Account.vue +++ b/src/views/Account/Account.vue @@ -311,8 +311,9 @@ export default { var second = date.getSeconds(); minute = minute < 10 ? "0" + minute : minute; second = second < 10 ? "0" + second : second; + return y + "-" + m + "-" + d + " " + h + ":" + minute; // return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second; - return y + "-" + m + "-" + d; + // return y + "-" + m + "-" + d; }, // 更新本地密码本 diff --git a/src/views/Add/Add.vue b/src/views/Add/Add.vue index 1547e06..653873f 100644 --- a/src/views/Add/Add.vue +++ b/src/views/Add/Add.vue @@ -65,7 +65,7 @@ export default { }; }, computed: { - ...mapState(['row_data', 'row_pwd']) + ...mapState(['row_data', 'row_pwd', 'settings']) }, methods: { ...mapActions(['setRowData', 'setRowPwd']), @@ -78,8 +78,8 @@ export default { if (Object.keys(this.row_pwd).length != 0) { // 有密码,已经输入过了 let now = new Date().getTime(); - if (now - this.row_pwd.create_time < 1000 * 60 * 5) { - // 上次写入时间距离现在在五分钟之内 + if (now - this.row_pwd.create_time < this.settings.expired_time) { + // 上次写入时间距离现在在(默认五分钟)之内 // 判断是否是更新 if (this.$route.params.modify_content) { // 刷新重置数据 diff --git a/src/views/Detail/Detail.vue b/src/views/Detail/Detail.vue index 320bb0a..642ba39 100644 --- a/src/views/Detail/Detail.vue +++ b/src/views/Detail/Detail.vue @@ -77,7 +77,7 @@ export default { }; }, computed: { - ...mapState(['row_data', 'row_pwd']), + ...mapState(['row_data', 'row_pwd', 'settings']), doitPassword() { if(this.content.password) { let doit = '' @@ -101,8 +101,8 @@ export default { if (Object.keys(this.row_pwd).length != 0) { // 有密码,已经输入过了 let now = new Date().getTime(); - if (now - this.row_pwd.create_time < 1000 * 60 * 5) { - // 上次写入时间距离现在在五分钟之内 + if (now - this.row_pwd.create_time < this.settings.expired_time) { + // 上次写入时间距离现在在(默认五分钟)之内 // 刷新重置数据 this.content = this.$route.params.code_content this.addCount() diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index 2659bfc..9c0f08f 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -44,10 +44,10 @@ Provide Feedback --> - + reply @@ -78,7 +78,7 @@ - add + add {{ snakebar_msg }} @@ -114,10 +114,10 @@ export default { }; }, computed: { - ...mapState(['user_infos', 'row_data', 'row_pwd']) + ...mapState(['user_infos', 'row_data', 'row_pwd', 'settings']) }, methods: { - ...mapActions(['setUserInfo', 'setRowData', 'setRowPwd']), + ...mapActions(['setUserInfo', 'setRowData', 'setRowPwd', 'setSettings']), // 修改md-app的最小高度 changeFixed(clientHeight) { @@ -133,19 +133,29 @@ export default { this.$store.replaceState(Object.assign(this.$store.state, JSON.parse(localStorage.getItem('storeState')))); // 初始化 this.initUserInfo(); + this.initSettings(); // 判断有无用户密码 if (Object.keys(this.row_pwd).length != 0) { // 有密码,已经输入过了 let now = new Date().getTime(); - if (now - this.row_pwd.create_time < 1000 * 60 * 5) { - // 上次写入时间距离现在在五分钟之内 + if (now - this.row_pwd.create_time < this.settings.expired_time) { + // 上次写入时间距离现在在(默认五分钟)之内 this.unlock = true; // 判断有无密码本 if (this.row_data) { // 解密主密码 let main_code_decrpt = decryptMainCode(this.row_pwd.main_code); + let data_decrypt // 解密密码本 - let data_decrypt = decrypt(main_code_decrpt, this.row_data); + try{ + data_decrypt = decrypt(main_code_decrpt, this.row_data); + } catch(e) { + // 不正确 + // 跳转到解锁界面 + console.log(e) + this.turnToUnlock('密码错误'); + return + } // 判断密码是否正确 if(!data_decrypt) { // 不正确 @@ -189,6 +199,19 @@ export default { } console.log('用户信息初始化完成'); }, + + // 初始化配置信息 + initSettings(){ + if (Object.keys(this.settings).length == 0) { + // 初始化配置信息 + let settings = { + expired_time: 1000 * 60 * 5, // 5分钟 + }; + this.setSettings([settings, this]); + console.log('配置信息覆写完成'); + } + console.log('配置信息初始化完成'); + }, // 修改排序 changeSortType(type) { diff --git a/src/views/Settings/Settings.vue b/src/views/Settings/Settings.vue index 660278f..c966a10 100644 --- a/src/views/Settings/Settings.vue +++ b/src/views/Settings/Settings.vue @@ -1,188 +1,320 @@ \ No newline at end of file + +