index.ts
2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import {defineStore} from 'pinia'
import {setToken, getToken, removeToken} from '../utils/auth'
export const loginMain = defineStore('loginMain', {
// 相当于data
state: () => {
return {
// 所有这些属性都将自动推断其类型,如果推断失败可以试下 as xxx
userInfo: {},
token: null,
}
},
// 相当于计算属性
getters: {
getUserInfo: (state: Object) => {
return state.userInfo
},
getStoreToken: (state: Object) => {
return state.token
},
},
// 相当于vuex的 mutation + action,可以同时写同步和异步的代码
actions: {
setUserInfo(userInfo: Object) {
this.token = getToken()
localStorage.setItem('userInfo', JSON.stringify(userInfo))
window.sessionStorage.setItem('userInfo', JSON.stringify(userInfo))
this.userInfo = userInfo
},
refreshUserInfo() {
this.token = getToken()
/*if (window.sessionStorage.getItem('userInfo')) {
this.userInfo = JSON.parse(<string>window.sessionStorage.getItem('userInfo'))
} else {
this.removeUserInfo()
}*/
if (localStorage.getItem('userInfo')) {
this.userInfo = JSON.parse(<string>localStorage.getItem('userInfo'))
} else {
this.removeUserInfo()
}
},
removeUserInfo() {
// window.sessionStorage.removeItem('userInfo')
localStorage.removeItem("userInfo")
this.userInfo = null
this.token = null
removeToken()
}
},
})
export const orderInfo = defineStore('orderInfo', {
state: () => {
return {
reportOrder: {
reportInfo: {},
projectInfo: "",
}
}
},
getters: {
getReportOrder: (state: Object) => {
return state.reportOrder
}
},
actions: {
setReportInfo(reportInfo: any) {
this.reportOrder.reportInfo = reportInfo
},
setProjectInfo(projectInfo: any) {
this.reportOrder.projectInfo = projectInfo
}
}
})
export const creditInfo = defineStore('creditInfo', {
state: () => {
return {
creditId: ""
}
},
getters: {
getCreditId: (state: object) => {
return state.creditId
}
},
actions: {
setCreditId(creditId: any) {
this.creditId = creditId
},
}
})