云同步功能
This commit is contained in:
@ -1,14 +1,21 @@
|
||||
import LoggerCore from "@App/app/logger/core";
|
||||
import { MessageConnect, MessageSend } from "./server";
|
||||
import Logger from "@App/app/logger/logger";
|
||||
|
||||
export async function sendMessage(msg: MessageSend, action: string, data?: any): Promise<any> {
|
||||
const res = await msg.sendMessage({ action, data });
|
||||
LoggerCore.getInstance().logger().trace("sendMessage", { action, data, response: res });
|
||||
const logger = LoggerCore.getInstance().logger().with({ action, data, response: res });
|
||||
logger.trace("sendMessage");
|
||||
if (res && res.code) {
|
||||
console.error(res);
|
||||
throw res.message;
|
||||
} else {
|
||||
return res.data;
|
||||
try {
|
||||
return res.data;
|
||||
} catch (e) {
|
||||
logger.trace("Invalid response data", Logger.E(e));
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -123,9 +123,16 @@ export class ExtensionContentMessageSend extends ExtensionMessageSend {
|
||||
|
||||
sendMessage(data: any): Promise<any> {
|
||||
return new Promise((resolve) => {
|
||||
chrome.tabs.sendMessage(this.tabId, data, this.options || {}, (resp) => {
|
||||
resolve(resp);
|
||||
});
|
||||
if (!this.options?.documentId || this.options?.frameId) {
|
||||
// 发送给指定的tab
|
||||
chrome.tabs.sendMessage(this.tabId, data, (resp) => {
|
||||
resolve(resp);
|
||||
});
|
||||
} else {
|
||||
chrome.tabs.sendMessage(this.tabId, data, this.options, (resp) => {
|
||||
resolve(resp);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user