|
|
@@ -48,7 +48,7 @@ const TokenKey = 'GCLS_Token';
|
|
|
|
|
|
export function getSessionID() {
|
|
|
const token = getItemWithExpiry(TokenKey);
|
|
|
- return token ? token.session_id ?? '' : '';
|
|
|
+ return token ? (token.session_id ?? '') : '';
|
|
|
}
|
|
|
|
|
|
export function getToken() {
|
|
|
@@ -83,23 +83,41 @@ export function removeConfig() {
|
|
|
/**
|
|
|
* 设置本地存储
|
|
|
* @param {string} key - 存储的键
|
|
|
- * @param {*} value - 存储的值
|
|
|
+ * @param {any} value - 存储的值
|
|
|
*/
|
|
|
export function setLocalStore(key, value) {
|
|
|
- localStorage.setItem(key, JSON.stringify(value));
|
|
|
+ try {
|
|
|
+ if (value === undefined) {
|
|
|
+ localStorage.removeItem(key);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const toStore = typeof value === 'string' ? value : JSON.stringify(value);
|
|
|
+ localStorage.setItem(key, toStore);
|
|
|
+ } catch (e) {
|
|
|
+ // 序列化或存储失败时退回到字符串存储,若仍失败则忽略
|
|
|
+ try {
|
|
|
+ localStorage.setItem(key, String(value));
|
|
|
+ } catch (_) {
|
|
|
+ /* noop */
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取本地存储
|
|
|
* @param {string} key - 存储的键
|
|
|
- * @returns {*} 返回存储的值
|
|
|
+ * @returns {any} 返回存储的值
|
|
|
*/
|
|
|
export function getLocalStore(key) {
|
|
|
const value = localStorage.getItem(key);
|
|
|
- if (value) {
|
|
|
- return JSON.parse(value);
|
|
|
+ try {
|
|
|
+ if (value) {
|
|
|
+ return JSON.parse(value);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ } catch (e) {
|
|
|
+ return value;
|
|
|
}
|
|
|
- return null;
|
|
|
}
|
|
|
|
|
|
/**
|