@nger/fk-upload 1.0.201 → 1.0.204
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/dist/{templates → controllers}/code.d.ts +0 -0
- package/dist/{templates → controllers}/code.js +2 -1
- package/dist/controllers/relogin.d.ts +8 -0
- package/dist/controllers/relogin.js +42 -0
- package/dist/{templates → controllers}/verify.d.ts +0 -0
- package/dist/{templates → controllers}/verify.js +0 -0
- package/dist/entities/check-task.d.ts +13 -0
- package/dist/entities/check-task.js +221 -0
- package/dist/entities/download-task.d.ts +23 -0
- package/dist/entities/download-task.js +445 -0
- package/dist/entities/effect-task.d.ts +12 -0
- package/dist/entities/effect-task.js +207 -0
- package/dist/entities/fk-account.d.ts +16 -0
- package/dist/entities/fk-account.js +295 -0
- package/dist/entities/fk-jiqun.d.ts +5 -0
- package/dist/entities/fk-jiqun.js +56 -0
- package/dist/entities/upload-task.d.ts +15 -0
- package/dist/entities/upload-task.js +333 -0
- package/dist/entities/w7-account.d.ts +11 -0
- package/dist/entities/w7-account.js +126 -0
- package/dist/entities/w7.d.ts +10 -0
- package/dist/entities/w7.js +107 -0
- package/dist/entities/w7_chat_topic.d.ts +9 -0
- package/dist/entities/w7_chat_topic.js +58 -0
- package/dist/entities/w7_uni_account.d.ts +4 -0
- package/dist/entities/w7_uni_account.js +23 -0
- package/dist/fk-upload.module.d.ts +5 -0
- package/dist/fk-upload.module.js +76 -43
- package/dist/main.d.ts +1 -0
- package/dist/main.js +18 -29
- package/dist/services/check.service.d.ts +6 -0
- package/dist/services/check.service.js +32 -0
- package/dist/services/client.service.d.ts +6 -0
- package/dist/services/client.service.js +29 -0
- package/dist/services/download.service.d.ts +15 -0
- package/dist/services/download.service.js +139 -0
- package/dist/services/effect.service.d.ts +7 -0
- package/dist/services/effect.service.js +34 -0
- package/dist/services/fk.service.d.ts +24 -0
- package/dist/services/fk.service.js +323 -0
- package/dist/services/login.service.d.ts +17 -0
- package/dist/services/login.service.js +95 -0
- package/dist/services/upload.service.d.ts +13 -0
- package/dist/services/upload.service.js +100 -0
- package/dist/tasks/actions.d.ts +28 -0
- package/dist/tasks/actions.js +12 -0
- package/dist/{templates/tasks/schedule-task.d.ts → tasks/check-task.d.ts} +3 -5
- package/dist/tasks/check-task.js +205 -0
- package/dist/tasks/download-continue-task.d.ts +9 -0
- package/dist/tasks/download-continue-task.js +127 -0
- package/dist/{templates/tasks → tasks}/download-task.d.ts +0 -1
- package/dist/tasks/download-task.js +128 -0
- package/dist/{templates/tasks → tasks}/effect-task.d.ts +1 -1
- package/dist/tasks/effect-task.js +111 -0
- package/dist/{templates/tasks → tasks}/providers.d.ts +0 -0
- package/dist/{templates/tasks → tasks}/providers.js +11 -5
- package/dist/tasks/upload-continue-task.d.ts +8 -0
- package/dist/tasks/upload-continue-task.js +114 -0
- package/dist/{templates/tasks → tasks}/upload-task.d.ts +0 -0
- package/dist/tasks/upload-task.js +114 -0
- package/package.json +18 -14
- package/pnpm-lock.yaml +36 -1435
- package/dist/electon.d.ts +0 -3
- package/dist/electon.js +0 -80
- package/dist/entities/fk-download-task.entity.d.ts +0 -18
- package/dist/entities/fk-download-task.entity.js +0 -142
- package/dist/entities/fk-login-cookie.entity.d.ts +0 -7
- package/dist/entities/fk-login-cookie.entity.js +0 -46
- package/dist/entities/fk-login.entity.d.ts +0 -12
- package/dist/entities/fk-login.entity.js +0 -80
- package/dist/entities/index.d.ts +0 -3
- package/dist/entities/index.js +0 -6
- package/dist/login.controller.d.ts +0 -14
- package/dist/login.controller.js +0 -197
- package/dist/mq-runner.d.ts +0 -5
- package/dist/mq-runner.js +0 -19
- package/dist/static/task-manage.d.ts +0 -6
- package/dist/static/task-manage.js +0 -34
- package/dist/templates/add-fk-login.d.ts +0 -12
- package/dist/templates/add-fk-login.js +0 -93
- package/dist/templates/add-task.d.ts +0 -13
- package/dist/templates/add-task.js +0 -78
- package/dist/templates/check-upload.d.ts +0 -38
- package/dist/templates/check-upload.js +0 -195
- package/dist/templates/component.d.ts +0 -10
- package/dist/templates/component.js +0 -39
- package/dist/templates/error.d.ts +0 -4
- package/dist/templates/error.js +0 -27
- package/dist/templates/help.d.ts +0 -7
- package/dist/templates/help.js +0 -52
- package/dist/templates/player.d.ts +0 -4
- package/dist/templates/player.js +0 -23
- package/dist/templates/setting.d.ts +0 -13
- package/dist/templates/setting.js +0 -65
- package/dist/templates/task-manage.d.ts +0 -21
- package/dist/templates/task-manage.js +0 -314
- package/dist/templates/tasks/actions.d.ts +0 -44
- package/dist/templates/tasks/actions.js +0 -9
- package/dist/templates/tasks/check-task.d.ts +0 -8
- package/dist/templates/tasks/check-task.js +0 -89
- package/dist/templates/tasks/download-task.js +0 -130
- package/dist/templates/tasks/effect-task.js +0 -76
- package/dist/templates/tasks/fk.service.d.ts +0 -28
- package/dist/templates/tasks/fk.service.js +0 -254
- package/dist/templates/tasks/schedule-task.js +0 -94
- package/dist/templates/tasks/task.service.d.ts +0 -11
- package/dist/templates/tasks/task.service.js +0 -114
- package/dist/templates/tasks/upload-task.js +0 -97
- package/dist/templates/tasks/yasuo-task.d.ts +0 -0
- package/dist/templates/tasks/yasuo-task.js +0 -0
- package/dist/templates/upload-task.d.ts +0 -9
- package/dist/templates/upload-task.js +0 -141
- package/dist/templates/upload.d.ts +0 -16
- package/dist/templates/upload.js +0 -232
- package/dist/urlSafeBase64Decode.d.ts +0 -3
- package/dist/urlSafeBase64Decode.js +0 -32
- package/electron/.env +0 -32
- package/electron/package.json +0 -31
- package/electron/pnpm-lock.yaml +0 -2878
- package/fk-upload-pc/.vscode/extensions.json +0 -3
- package/fk-upload-pc/README.md +0 -16
- package/fk-upload-pc/index.html +0 -13
- package/fk-upload-pc/package.json +0 -19
- package/fk-upload-pc/pnpm-lock.yaml +0 -489
- package/fk-upload-pc/public/favicon.ico +0 -0
- package/fk-upload-pc/tsconfig.json +0 -18
- package/fk-upload-pc/tsconfig.node.json +0 -8
- package/fk-upload-pc/vite.config.ts +0 -7
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EffectTask = void 0;
|
|
4
|
+
const effect_task_1 = require("./../entities/effect-task");
|
|
5
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
|
6
|
+
const actions_1 = require("./actions");
|
|
7
|
+
const typeorm_1 = require("@nger/typeorm");
|
|
8
|
+
const typeorm_2 = require("typeorm");
|
|
9
|
+
const w7_chat_topic_1 = require("../entities/w7_chat_topic");
|
|
10
|
+
class EffectTask extends rabbitmq_1.Task {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(actions_1.EFFECT_ACTION);
|
|
13
|
+
this.count = 1;
|
|
14
|
+
}
|
|
15
|
+
async handle(injector, next) {
|
|
16
|
+
const task = injector.get(rabbitmq_1.DATA);
|
|
17
|
+
const db = injector.get(typeorm_1.Db);
|
|
18
|
+
const complete = injector.get(rabbitmq_1.COMPLETE);
|
|
19
|
+
const fail = injector.get(rabbitmq_1.FAIL);
|
|
20
|
+
const effect = await db.manager.findOneOrFail(effect_task_1.FkEffectTask, {
|
|
21
|
+
where: { id: task.id },
|
|
22
|
+
relations: [
|
|
23
|
+
'upload',
|
|
24
|
+
'upload.downloadTask',
|
|
25
|
+
'upload.downloadTask.w7Account',
|
|
26
|
+
'upload.downloadTask.w7Account.fkAccount',
|
|
27
|
+
// w7Account.w7
|
|
28
|
+
'upload.downloadTask.w7Account.w7',
|
|
29
|
+
'upload.downloadTask.jiqun',
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
if (!effect) {
|
|
33
|
+
complete();
|
|
34
|
+
return next && next();
|
|
35
|
+
}
|
|
36
|
+
// stop
|
|
37
|
+
if (effect.status !== '1') {
|
|
38
|
+
complete();
|
|
39
|
+
return next && next();
|
|
40
|
+
}
|
|
41
|
+
const upload = effect.upload;
|
|
42
|
+
if (!upload) {
|
|
43
|
+
complete();
|
|
44
|
+
return next && next();
|
|
45
|
+
}
|
|
46
|
+
const download = upload.downloadTask;
|
|
47
|
+
if (!download) {
|
|
48
|
+
complete();
|
|
49
|
+
return next && next();
|
|
50
|
+
}
|
|
51
|
+
if (download.status !== '7') {
|
|
52
|
+
complete();
|
|
53
|
+
return next && next();
|
|
54
|
+
}
|
|
55
|
+
const w7Account = download.w7Account;
|
|
56
|
+
if (!w7Account) {
|
|
57
|
+
complete();
|
|
58
|
+
return next && next();
|
|
59
|
+
}
|
|
60
|
+
const w7 = w7Account.w7;
|
|
61
|
+
if (!w7) {
|
|
62
|
+
complete();
|
|
63
|
+
return next && next();
|
|
64
|
+
}
|
|
65
|
+
const fkAccount = w7Account.fkAccount;
|
|
66
|
+
if (!fkAccount) {
|
|
67
|
+
complete();
|
|
68
|
+
return next && next();
|
|
69
|
+
}
|
|
70
|
+
const jiqun = download.jiqun;
|
|
71
|
+
if (!jiqun) {
|
|
72
|
+
complete();
|
|
73
|
+
return next && next();
|
|
74
|
+
}
|
|
75
|
+
// create database
|
|
76
|
+
const ds = new typeorm_2.DataSource({
|
|
77
|
+
type: 'mysql',
|
|
78
|
+
host: w7.host,
|
|
79
|
+
port: w7.port,
|
|
80
|
+
password: w7.password,
|
|
81
|
+
database: w7.database,
|
|
82
|
+
username: w7.username,
|
|
83
|
+
synchronize: false,
|
|
84
|
+
entities: [
|
|
85
|
+
w7_chat_topic_1.W7ChatTopicEntity
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
await ds.initialize();
|
|
89
|
+
//
|
|
90
|
+
const uploadUrl = upload.url;
|
|
91
|
+
if (uploadUrl.includes('s21i.faiusr.com')) {
|
|
92
|
+
effect.url = uploadUrl.replace('s21i.faiusr.com', 's21v.faiusr.com');
|
|
93
|
+
}
|
|
94
|
+
if (uploadUrl.includes('s21d.faiusrd.com')) {
|
|
95
|
+
effect.url = uploadUrl.replace('s21d.faiusrd.com', 's21v.faiusr.com');
|
|
96
|
+
}
|
|
97
|
+
if (download.topicId > 0) {
|
|
98
|
+
await ds.manager.update(w7_chat_topic_1.W7ChatTopicEntity, download.topicId, {
|
|
99
|
+
topicStyle: 7,
|
|
100
|
+
foreverUrl: effect.url
|
|
101
|
+
});
|
|
102
|
+
await db.manager.update(effect_task_1.FkEffectTask, effect.id, { status: '2', url: effect.url });
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
await db.manager.update(effect_task_1.FkEffectTask, effect.id, { status: '3', url: effect.url, desc: '没有找到相关活动' });
|
|
106
|
+
}
|
|
107
|
+
await complete();
|
|
108
|
+
return next && next();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.EffectTask = EffectTask;
|
|
File without changes
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tasksProviders = void 0;
|
|
4
|
-
const check_task_1 = require("./check-task");
|
|
5
4
|
const rabbitmq_1 = require("@nger/rabbitmq");
|
|
5
|
+
const check_task_1 = require("./check-task");
|
|
6
|
+
const download_continue_task_1 = require("./download-continue-task");
|
|
6
7
|
const download_task_1 = require("./download-task");
|
|
7
8
|
const effect_task_1 = require("./effect-task");
|
|
8
|
-
const
|
|
9
|
+
const upload_continue_task_1 = require("./upload-continue-task");
|
|
9
10
|
const upload_task_1 = require("./upload-task");
|
|
10
11
|
exports.tasksProviders = [
|
|
11
12
|
{
|
|
@@ -15,7 +16,12 @@ exports.tasksProviders = [
|
|
|
15
16
|
},
|
|
16
17
|
{
|
|
17
18
|
provide: rabbitmq_1.Task,
|
|
18
|
-
useFactory: () => new
|
|
19
|
+
useFactory: () => new download_continue_task_1.DownloadContinueTask(),
|
|
20
|
+
multi: true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
provide: rabbitmq_1.Task,
|
|
24
|
+
useFactory: () => new check_task_1.CheckTask(),
|
|
19
25
|
multi: true
|
|
20
26
|
},
|
|
21
27
|
{
|
|
@@ -25,12 +31,12 @@ exports.tasksProviders = [
|
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
33
|
provide: rabbitmq_1.Task,
|
|
28
|
-
useFactory: () => new
|
|
34
|
+
useFactory: () => new upload_continue_task_1.UploadContinueTask(),
|
|
29
35
|
multi: true
|
|
30
36
|
},
|
|
31
37
|
{
|
|
32
38
|
provide: rabbitmq_1.Task,
|
|
33
|
-
useFactory: () => new
|
|
39
|
+
useFactory: () => new effect_task_1.EffectTask(),
|
|
34
40
|
multi: true
|
|
35
41
|
}
|
|
36
42
|
];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Task } from "@nger/rabbitmq";
|
|
2
|
+
import { Injector, Next } from "@nger/core";
|
|
3
|
+
export declare class UploadContinueTask extends Task {
|
|
4
|
+
constructor();
|
|
5
|
+
getLocalSize(path: string): number;
|
|
6
|
+
errorCount: number;
|
|
7
|
+
handle(injector: Injector, next?: Next): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UploadContinueTask = void 0;
|
|
4
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
|
5
|
+
const actions_1 = require("./actions");
|
|
6
|
+
const typeorm_1 = require("@nger/typeorm");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const upload_task_1 = require("../entities/upload-task");
|
|
9
|
+
const client_service_1 = require("../services/client.service");
|
|
10
|
+
const fk_service_1 = require("../services/fk.service");
|
|
11
|
+
const operators_1 = require("rxjs/operators");
|
|
12
|
+
const fs_extra_1 = require("fs-extra");
|
|
13
|
+
class UploadContinueTask extends rabbitmq_1.Task {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(actions_1.UPLOAD_CONTINUE_ACTION);
|
|
16
|
+
this.count = 1;
|
|
17
|
+
}
|
|
18
|
+
getLocalSize(path) {
|
|
19
|
+
try {
|
|
20
|
+
const stat = (0, fs_1.statSync)(path);
|
|
21
|
+
return stat.size;
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
errorCount = 0;
|
|
28
|
+
async handle(injector, next) {
|
|
29
|
+
const task = injector.get(rabbitmq_1.DATA);
|
|
30
|
+
const db = injector.get(typeorm_1.Db);
|
|
31
|
+
const complete = injector.get(rabbitmq_1.COMPLETE);
|
|
32
|
+
const fail = injector.get(rabbitmq_1.FAIL);
|
|
33
|
+
const upload = await db.manager.findOneOrFail(upload_task_1.FkUploadTask, { where: { id: task.id }, relations: ['downloadTask', 'downloadTask.jiqun', 'downloadTask.w7Account', 'downloadTask.w7Account.fkAccount'] });
|
|
34
|
+
if (!upload) {
|
|
35
|
+
complete();
|
|
36
|
+
return next && next();
|
|
37
|
+
}
|
|
38
|
+
// stop
|
|
39
|
+
if (upload.status !== '5') {
|
|
40
|
+
complete();
|
|
41
|
+
return next && next();
|
|
42
|
+
}
|
|
43
|
+
const download = upload.downloadTask;
|
|
44
|
+
if (!download) {
|
|
45
|
+
complete();
|
|
46
|
+
return next && next();
|
|
47
|
+
}
|
|
48
|
+
if (download.status !== '7') {
|
|
49
|
+
complete();
|
|
50
|
+
return next && next();
|
|
51
|
+
}
|
|
52
|
+
const w7Account = download.w7Account;
|
|
53
|
+
if (!w7Account) {
|
|
54
|
+
complete();
|
|
55
|
+
return next && next();
|
|
56
|
+
}
|
|
57
|
+
const fkAccount = w7Account.fkAccount;
|
|
58
|
+
if (!fkAccount) {
|
|
59
|
+
complete();
|
|
60
|
+
return next && next();
|
|
61
|
+
}
|
|
62
|
+
const jiqun = download.jiqun;
|
|
63
|
+
if (!jiqun) {
|
|
64
|
+
complete();
|
|
65
|
+
return next && next();
|
|
66
|
+
}
|
|
67
|
+
const client = injector.get(client_service_1.ClientService);
|
|
68
|
+
const clientId = client.createClientId();
|
|
69
|
+
if (jiqun.clientId !== clientId) {
|
|
70
|
+
fail();
|
|
71
|
+
return next && next();
|
|
72
|
+
}
|
|
73
|
+
const filePath = download.path;
|
|
74
|
+
// check file size
|
|
75
|
+
// not exist
|
|
76
|
+
if (!(0, fs_1.existsSync)(filePath)) {
|
|
77
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '6', desc: '找不到文件' });
|
|
78
|
+
return next && next();
|
|
79
|
+
}
|
|
80
|
+
// upload
|
|
81
|
+
const stats = (0, fs_1.statSync)(filePath);
|
|
82
|
+
const total = stats.size;
|
|
83
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '3', size: total });
|
|
84
|
+
const fkService = injector.get(fk_service_1.FkService);
|
|
85
|
+
const sub = await fkService.uploadFile(fkAccount, download);
|
|
86
|
+
sub.pipe((0, operators_1.switchMap)(async (res) => {
|
|
87
|
+
const item = await db.manager.findOne(upload_task_1.FkUploadTask, { where: { id: upload.id } });
|
|
88
|
+
if (!item) {
|
|
89
|
+
sub.error(`人为中止`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (item.status !== '3') {
|
|
93
|
+
sub.error(`人为中止`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { uploadSize: res.end + 1, url: res.url });
|
|
97
|
+
return;
|
|
98
|
+
})).subscribe({
|
|
99
|
+
next: () => { },
|
|
100
|
+
complete: async () => {
|
|
101
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '7' });
|
|
102
|
+
await (0, fs_extra_1.unlink)(download.path);
|
|
103
|
+
await complete();
|
|
104
|
+
},
|
|
105
|
+
error: async (e) => {
|
|
106
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '6', desc: e.message || '' });
|
|
107
|
+
await fail();
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
if (next)
|
|
111
|
+
await next();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.UploadContinueTask = UploadContinueTask;
|
|
File without changes
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UploadTask = void 0;
|
|
4
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
|
5
|
+
const actions_1 = require("./actions");
|
|
6
|
+
const typeorm_1 = require("@nger/typeorm");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const upload_task_1 = require("../entities/upload-task");
|
|
9
|
+
const client_service_1 = require("../services/client.service");
|
|
10
|
+
const fk_service_1 = require("../services/fk.service");
|
|
11
|
+
const operators_1 = require("rxjs/operators");
|
|
12
|
+
const fs_extra_1 = require("fs-extra");
|
|
13
|
+
class UploadTask extends rabbitmq_1.Task {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(actions_1.UPLOAD_ACTION);
|
|
16
|
+
this.count = 1;
|
|
17
|
+
}
|
|
18
|
+
getLocalSize(path) {
|
|
19
|
+
try {
|
|
20
|
+
const stat = (0, fs_1.statSync)(path);
|
|
21
|
+
return stat.size;
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
errorCount = 0;
|
|
28
|
+
async handle(injector, next) {
|
|
29
|
+
const task = injector.get(rabbitmq_1.DATA);
|
|
30
|
+
const db = injector.get(typeorm_1.Db);
|
|
31
|
+
const complete = injector.get(rabbitmq_1.COMPLETE);
|
|
32
|
+
const fail = injector.get(rabbitmq_1.FAIL);
|
|
33
|
+
const upload = await db.manager.findOneOrFail(upload_task_1.FkUploadTask, { where: { id: task.id }, relations: ['downloadTask', 'downloadTask.jiqun', 'downloadTask.w7Account', 'downloadTask.w7Account.fkAccount'] });
|
|
34
|
+
if (!upload) {
|
|
35
|
+
complete();
|
|
36
|
+
return next && next();
|
|
37
|
+
}
|
|
38
|
+
// stop
|
|
39
|
+
if (upload.status !== '2') {
|
|
40
|
+
complete();
|
|
41
|
+
return next && next();
|
|
42
|
+
}
|
|
43
|
+
const download = upload.downloadTask;
|
|
44
|
+
if (!download) {
|
|
45
|
+
complete();
|
|
46
|
+
return next && next();
|
|
47
|
+
}
|
|
48
|
+
if (download.status !== '7') {
|
|
49
|
+
complete();
|
|
50
|
+
return next && next();
|
|
51
|
+
}
|
|
52
|
+
const w7Account = download.w7Account;
|
|
53
|
+
if (!w7Account) {
|
|
54
|
+
complete();
|
|
55
|
+
return next && next();
|
|
56
|
+
}
|
|
57
|
+
const fkAccount = w7Account.fkAccount;
|
|
58
|
+
if (!fkAccount) {
|
|
59
|
+
complete();
|
|
60
|
+
return next && next();
|
|
61
|
+
}
|
|
62
|
+
const jiqun = download.jiqun;
|
|
63
|
+
if (!jiqun) {
|
|
64
|
+
complete();
|
|
65
|
+
return next && next();
|
|
66
|
+
}
|
|
67
|
+
const client = injector.get(client_service_1.ClientService);
|
|
68
|
+
const clientId = client.createClientId();
|
|
69
|
+
if (jiqun.clientId !== clientId) {
|
|
70
|
+
fail();
|
|
71
|
+
return next && next();
|
|
72
|
+
}
|
|
73
|
+
const filePath = download.path;
|
|
74
|
+
// check file size
|
|
75
|
+
// not exist
|
|
76
|
+
if (!(0, fs_1.existsSync)(filePath)) {
|
|
77
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '6', desc: '找不到文件' });
|
|
78
|
+
return next && next();
|
|
79
|
+
}
|
|
80
|
+
// upload
|
|
81
|
+
const stats = (0, fs_1.statSync)(filePath);
|
|
82
|
+
const total = stats.size;
|
|
83
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '3', size: total });
|
|
84
|
+
const fkService = injector.get(fk_service_1.FkService);
|
|
85
|
+
const sub = await fkService.uploadFile(fkAccount, download);
|
|
86
|
+
sub.pipe((0, operators_1.switchMap)(async (res) => {
|
|
87
|
+
const item = await db.manager.findOne(upload_task_1.FkUploadTask, { where: { id: upload.id } });
|
|
88
|
+
if (!item) {
|
|
89
|
+
sub.error(`人为中止`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (item.status !== '3') {
|
|
93
|
+
sub.error(`人为中止`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { uploadSize: res.end + 1, url: res.url });
|
|
97
|
+
return;
|
|
98
|
+
})).subscribe({
|
|
99
|
+
next: () => { },
|
|
100
|
+
complete: async () => {
|
|
101
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '7' });
|
|
102
|
+
await (0, fs_extra_1.unlink)(download.path);
|
|
103
|
+
await complete();
|
|
104
|
+
},
|
|
105
|
+
error: async (e) => {
|
|
106
|
+
await db.manager.update(upload_task_1.FkUploadTask, upload.id, { status: '6', desc: e.message });
|
|
107
|
+
await fail();
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
if (next)
|
|
111
|
+
await next();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.UploadTask = UploadTask;
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nger/fk-upload",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.204",
|
|
4
4
|
"description": "nger fk upload",
|
|
5
|
-
"main": "dist/
|
|
6
|
-
"types": "dist/
|
|
5
|
+
"main": "dist/main.js",
|
|
6
|
+
"types": "dist/main.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"fk-upload": "./dist/main.js"
|
|
9
|
+
},
|
|
7
10
|
"nger": {
|
|
8
11
|
"cover": [],
|
|
9
12
|
"menu": []
|
|
@@ -15,33 +18,34 @@
|
|
|
15
18
|
"license": "ISC",
|
|
16
19
|
"dependencies": {
|
|
17
20
|
"@nger/api": "^1.0.0",
|
|
21
|
+
"@nger/main": "^1.0.0",
|
|
18
22
|
"@nger/core": "^1.0.0",
|
|
19
|
-
"@nger/rest": "^1.0.0",
|
|
20
23
|
"@nger/http": "^4.0.0",
|
|
21
24
|
"@nger/rabbitmq": "^1.0.0",
|
|
22
25
|
"@nger/redis": "^1.0.0",
|
|
26
|
+
"@nger/rest": "^1.0.0",
|
|
23
27
|
"@nger/schedule": "^1.0.0",
|
|
24
28
|
"@nger/typeorm": "^1.0.0",
|
|
25
29
|
"@nger/w7": "^1.0.0",
|
|
26
30
|
"@nger/ws": "^1.0.0",
|
|
27
|
-
"@types/download": "^8.0.1",
|
|
28
|
-
"@types/react": "^18.0.8",
|
|
29
|
-
"@types/request": "^2.48.8",
|
|
30
31
|
"axios": "^0.26.1",
|
|
31
|
-
"
|
|
32
|
-
"cids": "^1.1.9",
|
|
33
|
-
"download": "^8.0.0",
|
|
32
|
+
"date-fns": "^2.28.0",
|
|
34
33
|
"form-data": "^4.0.0",
|
|
35
34
|
"fs-extra": "^10.1.0",
|
|
36
35
|
"md5-file": "^5.0.0",
|
|
37
|
-
"multihashing-async": "^2.1.4",
|
|
38
|
-
"multispinner": "^0.2.1",
|
|
39
36
|
"react": "^18.1.0",
|
|
40
|
-
"request": "^2.88.2"
|
|
37
|
+
"request": "^2.88.2",
|
|
38
|
+
"tough-cookie": "^4.0.0",
|
|
39
|
+
"uuid": "^8.3.2"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/react": "^18.0.8",
|
|
43
|
+
"@types/request": "^2.48.8"
|
|
41
44
|
},
|
|
42
45
|
"scripts": {
|
|
43
46
|
"tsc": "tsc",
|
|
44
|
-
"tsc:build": "tsc"
|
|
47
|
+
"tsc:build": "tsc",
|
|
48
|
+
"start": "ts-node src/main.ts"
|
|
45
49
|
},
|
|
46
50
|
"readme": "## admin\n\n## account\n\n## test url -- \n\n## \n\nhttp://kaifa2.jidujiaowang.com/web/index.php?c=site&a=entry&eid=8&version_id=0\nadmin888\n12345678"
|
|
47
51
|
}
|