|
@@ -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,//用于告诉父窗口会传消息给哪个iframe
|
|
|
- key,// storage key
|
|
|
- messageID: guid(), // 唯一的ID,用于标记回调函数
|
|
|
- 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,//用于告诉父窗口会传消息给哪个iframe
|
|
|
+ key,// storage key
|
|
|
+ messageID: guid(), // 唯一的ID,用于标记回调函数
|
|
|
+ overTime: 50
|
|
|
+ },
|
|
|
+ callback: (data) => {
|
|
|
+ setSessionStorge(key, data);
|
|
|
+ res(data);
|
|
|
+ },
|
|
|
+ failback: (e) => {
|
|
|
+ setSessionStorge(key, {});
|
|
|
+ rej(e)
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
-
|
|
|
+ }
|
|
|
// console.log(window.parent.window.atest)
|
|
|
// window.postMessage({actionType: 'iframe_test', data: key})
|
|
|
}
|