@vacantthinker/firefox-addon-framework-easy 2026.604.640 → 2026.604.1634
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/index.js +1 -0
- package/package.json +1 -1
- package/src/BaseORM.js +0 -1
- package/src/browserDownload.js +2 -2
- package/src/browserRuntimeOnMessageCommon.js +39 -0
- package/src/browserTab.js +1 -1
- package/src/serviceCommon.js +22 -0
package/README.md
CHANGED
|
@@ -59,8 +59,16 @@ export function browserRuntimeManifestName() { }
|
|
|
59
59
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
+
### 📄 File: `src/browserRuntimeOnMessageCommon.js`
|
|
63
|
+
```javascript
|
|
64
|
+
export function browserRuntimeOnMessageCommon() { }
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
|
|
62
68
|
### 📄 File: `src/browserTab.js`
|
|
63
69
|
```javascript
|
|
70
|
+
export async function browserTabSendMessage(tabId, message) { }
|
|
71
|
+
|
|
64
72
|
export async function browserTabCreateToDownload(message) { }
|
|
65
73
|
|
|
66
74
|
export async function browserTabCreateNearSendMessageToContentJs(message) { }
|
|
@@ -146,6 +154,8 @@ export async function tabOpRemoveCssCode(tabId, code) { }
|
|
|
146
154
|
|
|
147
155
|
### 📄 File: `src/serviceCommon.js`
|
|
148
156
|
```javascript
|
|
157
|
+
export async function serviceDownloadByDownlink(message) { }
|
|
158
|
+
|
|
149
159
|
```
|
|
150
160
|
|
|
151
161
|
### 📄 File: `src/serviceFetch.js`
|
package/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from './src/BaseORM.js'
|
|
|
2
2
|
export * from './src/browserDownload.js'
|
|
3
3
|
export * from './src/browserNotification.js'
|
|
4
4
|
export * from './src/browserRuntime.js'
|
|
5
|
+
export * from './src/browserRuntimeOnMessageCommon.js'
|
|
5
6
|
export * from './src/browserTab.js'
|
|
6
7
|
export * from './src/DomainORM.js'
|
|
7
8
|
export * from './src/generate.js'
|
package/package.json
CHANGED
package/src/BaseORM.js
CHANGED
package/src/browserDownload.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
*
|
|
3
3
|
* @param param0
|
|
4
4
|
* @param param0.downlink{string}
|
|
5
|
-
* @param param0.filename{string}
|
|
5
|
+
* @param param0.filename{string|null|undefined}
|
|
6
6
|
* @returns {Promise<void>}
|
|
7
7
|
*/
|
|
8
8
|
export async function browserDownloadByDownlink(
|
|
9
9
|
{
|
|
10
10
|
downlink,
|
|
11
|
-
filename,
|
|
11
|
+
filename= null,
|
|
12
12
|
}) {
|
|
13
13
|
|
|
14
14
|
let url = downlink;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {tabOpRemove} from './opTab.js';
|
|
2
|
+
import {serviceDownloadByDownlink} from './serviceCommon.js';
|
|
3
|
+
import {browserTabSendMessage} from './browserTab.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* offer common act <=> function, eg: actRemoveTab, actLog
|
|
7
|
+
*/
|
|
8
|
+
export function browserRuntimeOnMessageCommon() {
|
|
9
|
+
browser.runtime.onMessage.addListener(
|
|
10
|
+
(message, sender) => {
|
|
11
|
+
message['tab'] = sender.tab;
|
|
12
|
+
message['tabId'] = sender.tab?.id;
|
|
13
|
+
|
|
14
|
+
let keyAct = 'act';
|
|
15
|
+
/**
|
|
16
|
+
* @type{
|
|
17
|
+
* |'actLog'
|
|
18
|
+
* |'actRemoveTab'
|
|
19
|
+
* |'actDownloadFile'
|
|
20
|
+
* |'actSendMessageToTab'
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
let act = message[keyAct];
|
|
24
|
+
delete message[keyAct];
|
|
25
|
+
if (act === 'actLog') {
|
|
26
|
+
console.log('act', act, 'message', message);
|
|
27
|
+
}
|
|
28
|
+
else if (act === 'actRemoveTab') {
|
|
29
|
+
tabOpRemove(message.tabId)
|
|
30
|
+
}
|
|
31
|
+
else if (act === 'actDownloadFile') {
|
|
32
|
+
serviceDownloadByDownlink(message);
|
|
33
|
+
}
|
|
34
|
+
else if (act === 'actSendMessageToTab') {
|
|
35
|
+
browserTabSendMessage(message.tabId, message);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
}
|
package/src/browserTab.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {browserNotificationCreate} from './browserNotification.js';
|
|
4
4
|
import {tabOpCreateNear, tabOpRemove} from './opTab.js';
|
|
5
5
|
|
|
6
|
-
async function browserTabSendMessage(tabId, message) {
|
|
6
|
+
export async function browserTabSendMessage(tabId, message) {
|
|
7
7
|
await browser.tabs.sendMessage(tabId, message);
|
|
8
8
|
}
|
|
9
9
|
|
package/src/serviceCommon.js
CHANGED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {browserDownloadByDownlink} from './browserDownload.js';
|
|
2
|
+
import {browserNotificationCreate} from './browserNotification.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* service, download by downlink, if success, notification the filename
|
|
6
|
+
*
|
|
7
|
+
* if failed, nootification the reason, then try download only use downlink
|
|
8
|
+
* @param message
|
|
9
|
+
* @returns {Promise<void>}
|
|
10
|
+
*/
|
|
11
|
+
export async function serviceDownloadByDownlink(message) {
|
|
12
|
+
let {filename, downlink} = message;
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
await browserDownloadByDownlink(message);
|
|
16
|
+
await browserNotificationCreate(`downloading! ${filename}`);
|
|
17
|
+
} catch (e) {
|
|
18
|
+
await browserNotificationCreate(`reason=${e}`)
|
|
19
|
+
await browserDownloadByDownlink({downlink});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|