This commit is contained in:
IndieKKY
2024-10-05 21:02:47 +08:00
parent b44a73cd2f
commit 4f03e75b6d
5 changed files with 2 additions and 23 deletions

View File

@@ -28,7 +28,6 @@
"less": "^4.1.3",
"lodash-es": "^4.17.21",
"pako": "^2.1.0",
"postmessage-promise": "^3.2.1",
"qs": "^6.11.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",

10
pnpm-lock.yaml generated
View File

@@ -53,9 +53,6 @@ importers:
pako:
specifier: ^2.1.0
version: 2.1.0
postmessage-promise:
specifier: ^3.2.1
version: 3.2.1
qs:
specifier: ^6.11.0
version: 6.11.0
@@ -2008,9 +2005,6 @@ packages:
resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==}
engines: {node: ^10 || ^12 || >=14}
postmessage-promise@3.2.1:
resolution: {integrity: sha512-cSs5eg+DvBQIdIQK9Cimd1wB2eb85xlzJXkJwm6jYNcTlsiwTFXvdyF/69JFozX6vIkdYz2Jv31W+BvSKQXNVg==}
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -4668,10 +4662,6 @@ snapshots:
picocolors: 1.0.0
source-map-js: 1.0.2
postmessage-promise@3.2.1:
dependencies:
'@babel/runtime': 7.19.0
prelude-ls@1.2.1: {}
prop-types@15.8.1:

View File

@@ -71,7 +71,7 @@ class ExtensionMessage {
const id = crypto.randomUUID()
const name = port.name
const portMessageHandler = new Layer1Protocol<MessageData, MessageResult>(async (value: MessageData) => {
// 初始化
// 初始化消息
if (value.method === '_init') {
const type = value.params.type
let tabId = value.params.tabId
@@ -95,6 +95,7 @@ class ExtensionMessage {
} as MessageResult
}
// 处理消息
return handler(value, portContext)
}, port)
const portContext: PortContext = {id, name, port, portMessageHandler, ready: false}

View File

@@ -8,15 +8,11 @@ class InjectMessage {
methods?: {
[key: string]: (params: any, context: MethodContext) => Promise<any>
}
// postMessageToApp?: (method: string, payload: PostMessagePayload) => Promise<PostMessageResponse>
debug = (...args: any[]) => {
console.debug('[Inject Messaging]', ...args)
}
/**
* @param sendResponse No matter what is returned, this method will definitely be called.
*/
messageHandler = async (event: MessageData): Promise<MessageResult> => {
this.debug(`${event.from} => `, JSON.stringify(event))

View File

@@ -30,13 +30,6 @@ class Layer1Protocol<L1Req = any, L1Res = any> {
this.handler = handler
}
// init(type: 'inject' | 'app', tabId?: number) {
// this.port.postMessage({
// type,
// tabId,
// })
// }
startListen() {
// 持久监听 port.onMessage
this.port.onMessage.addListener((msg: ReqMsg<L1Req, L1Res>) => {