|
@@ -30,27 +30,42 @@ export function setChromeStorage(params, callback) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+export function getSessionStorge(key) {
|
|
|
+ const value = sessionStorage.getItem(key);
|
|
|
+ return value && JSON.parse(value);
|
|
|
+}
|
|
|
+
|
|
|
+export function setSessionStorge(key, value) {
|
|
|
+ return sessionStorage.setItem(key, JSON.stringify(value));
|
|
|
+}
|
|
|
+
|
|
|
export async function getChromeStorageFromExtension(key = '') {
|
|
|
let params = {}
|
|
|
params[key] = ''
|
|
|
- return new Promise((res, rej) => {
|
|
|
- messageCenter.send({
|
|
|
- actionType: MESSAGE_ENUM.IFRAME_GET_EXTENSION_STORGE_DATA,
|
|
|
- data: {
|
|
|
- iframeID,
|
|
|
- key,
|
|
|
- messageID: guid(),
|
|
|
- overTime: 50
|
|
|
- },
|
|
|
- callback: (data) => {
|
|
|
- res(data)
|
|
|
- },
|
|
|
- failback: (e) => {
|
|
|
- rej(e)
|
|
|
- }
|
|
|
+ const value = getSessionStorge(key);
|
|
|
+ if (value) {
|
|
|
+ return Promise.resolve(value);
|
|
|
+ } else {
|
|
|
+ return new Promise((res, rej) => {
|
|
|
+ messageCenter.send({
|
|
|
+ actionType: MESSAGE_ENUM.IFRAME_GET_EXTENSION_STORGE_DATA,
|
|
|
+ data: {
|
|
|
+ iframeID,
|
|
|
+ key,
|
|
|
+ messageID: guid(),
|
|
|
+ overTime: 50
|
|
|
+ },
|
|
|
+ callback: (data) => {
|
|
|
+ setSessionStorge(key, data);
|
|
|
+ res(data);
|
|
|
+ },
|
|
|
+ failback: (e) => {
|
|
|
+ setSessionStorge(key, {});
|
|
|
+ rej(e)
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
-
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|