|
|
|
@ -1,8 +1,9 @@
|
|
|
|
|
const persistObject = {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* GH-INT:USER_ID -> userId = 456
|
|
|
|
|
* GH-STR:LOGIN_TOKEN -> loginToken = 'E6779386E7D64DF0ADD0F97767E00D8B'
|
|
|
|
|
* G-INT:USER_ID -> userId = 456
|
|
|
|
|
* G-STR:LOGIN_TOKEN -> loginToken = 'E6779386E7D64DF0ADD0F97767E00D8B'
|
|
|
|
|
* G-JSON:LOGIN_USER -> loginUser = { username: 'test-username' }
|
|
|
|
|
*/
|
|
|
|
|
export function useStorage() {
|
|
|
|
|
|
|
|
|
@ -22,7 +23,11 @@ export function useStorage() {
|
|
|
|
|
if (typeAndKey.length === 2) {
|
|
|
|
|
const propName = camelCasedWords(typeAndKey[1])
|
|
|
|
|
persistObject[propName] = value
|
|
|
|
|
webStorage.setItem(key, value)
|
|
|
|
|
if (typeAndKey[0] === 'G-JSON') {
|
|
|
|
|
webStorage.setItem(key, JSON.stringify(value))
|
|
|
|
|
} else {
|
|
|
|
|
webStorage.setItem(key, value)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -51,8 +56,16 @@ export function useStorage() {
|
|
|
|
|
if (typeAndKey.length === 2) {
|
|
|
|
|
const value = webStorage.getItem(key)
|
|
|
|
|
const propName = camelCasedWords(typeAndKey[1])
|
|
|
|
|
if (typeAndKey[0] === 'GH-INT') {
|
|
|
|
|
if (typeAndKey[0] === 'G-INT') {
|
|
|
|
|
persistObject[propName] = parseInt(value, 10)
|
|
|
|
|
} else if (typeAndKey[0] === 'G-JSON') {
|
|
|
|
|
try {
|
|
|
|
|
persistObject[propName] = JSON.parse(value)
|
|
|
|
|
} catch (e) {
|
|
|
|
|
// 如果解析失败,保留原始字符串值
|
|
|
|
|
persistObject[propName] = value
|
|
|
|
|
console.error('解析 JSON 失败。')
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
persistObject[propName] = value
|
|
|
|
|
}
|
|
|
|
|