Files
miaoShare/src/pinia/store.js
T
2024-07-02 20:13:07 +08:00

73 lines
2.0 KiB
JavaScript

import { defineStore } from "pinia";
import config from "../../miaoShareConfig.json"
const userID = localStorage.getItem('userID');
const userGroup = localStorage.getItem('userGroup');
const tokenExpiresIn = config.tokenExpiresIn
if(localStorage.getItem('tokenExpiredTime') == null ||
parseInt(localStorage.getItem('tokenExpiredTime')) < parseInt(Date.now())){
localStorage.removeItem('token')
}
const token = localStorage.getItem('token');
// console.log(token)
var activeFuctionLocal = localStorage.getItem('activeFuction')
if (activeFuctionLocal == null){
activeFuctionLocal = 'AES128'
localStorage.setItem('activeFuction',activeFuctionLocal)
}
// localStorage.removeItem('activeKeyMap')
var activeKeyMap = localStorage.getItem('activeKeyMap')
if (activeKeyMap == null ){
activeKeyMap = JSON.stringify(['A-Z','0-9'])
localStorage.setItem('activeKeyMap',activeKeyMap)
}
// 开发环境下服务器端口使用设置的端口,否则使用与页面相同的端口
const serverPort = process.env.NODE_ENV === 'development' ? config.PORT : location.port
// console.log(process.env.NODE_ENV,config.DEVPORT,location.port,serverPort)
export const useSettingStore = defineStore("setting", {
state: () => ({
activeFuction: activeFuctionLocal,
activeKeyMap:JSON.parse(activeKeyMap),
enableGuest:config.enableGuest,
serverPort,
token,
userID,
userGroup
}),
getters: {
// double: state => state.count * 2
},
actions: {
setJWT( token,keepTokenLocal ){
this.token = token
if(keepTokenLocal){
localStorage.setItem('token',token)
localStorage.setItem('tokenExpiredTime',parseInt(Date.now())+parseInt(tokenExpiresIn)*3600000)
}
},
setUserID( id,keepTokenLocal ){
this.userID = id
if(keepTokenLocal)
localStorage.setItem('userID',id)
},
setUserGroup( g,keepTokenLocal ){
this.userGroup = g
if(keepTokenLocal)
localStorage.setItem('userGroup',g)
},
getToken(){
return localStorage.getItem('token')
}
// increment() {
// this.count++;
// }
}
});