@nger/fk-upload 1.0.32 → 1.0.35
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/entities/fk-download-task.entity.js +9 -3
- package/dist/fk-upload.module.js +8 -4
- package/dist/main.js +2 -1
- package/dist/mq-runner.js +5 -7
- package/dist/templates/add-task.d.ts +4 -2
- package/dist/templates/add-task.js +8 -4
- package/dist/templates/create-download-task.d.ts +0 -0
- package/dist/templates/create-download-task.js +1 -0
- package/dist/templates/player.d.ts +3 -0
- package/dist/templates/player.js +34 -0
- package/dist/templates/receive-shedule-task.d.ts +14 -0
- package/dist/templates/receive-shedule-task.js +64 -0
- package/dist/templates/setting.d.ts +5 -3
- package/dist/templates/setting.js +10 -11
- package/dist/templates/task-manage.d.ts +2 -5
- package/dist/templates/task-manage.js +10 -23
- package/dist/templates/task-types.d.ts +34 -0
- package/dist/templates/task-types.js +2 -0
- package/dist/templates/task.service.d.ts +0 -68
- package/dist/templates/task.service.js +406 -482
- package/dist/templates/tasks/actions.d.ts +38 -0
- package/dist/templates/tasks/actions.js +7 -0
- package/dist/templates/tasks/create-download-task.d.ts +12 -0
- package/dist/templates/tasks/create-download-task.js +65 -0
- package/dist/templates/tasks/download-task.d.ts +10 -0
- package/dist/templates/tasks/download-task.js +98 -0
- package/dist/templates/tasks/effect-task.d.ts +6 -0
- package/dist/templates/tasks/effect-task.js +30 -0
- package/dist/templates/tasks/fk.service.d.ts +26 -0
- package/dist/templates/tasks/fk.service.js +228 -0
- package/dist/templates/tasks/index.d.ts +0 -0
- package/dist/templates/tasks/index.js +1 -0
- package/dist/templates/tasks/providers.d.ts +2 -0
- package/dist/templates/tasks/providers.js +25 -0
- package/dist/templates/tasks/receive-shedule-task.d.ts +16 -0
- package/dist/templates/tasks/receive-shedule-task.js +66 -0
- package/dist/templates/tasks/schedule-task.d.ts +9 -0
- package/dist/templates/tasks/schedule-task.js +63 -0
- package/dist/templates/tasks/task.service.d.ts +10 -0
- package/dist/templates/tasks/task.service.js +77 -0
- package/dist/templates/tasks/upload-task.d.ts +6 -0
- package/dist/templates/tasks/upload-task.js +32 -0
- package/dist/templates/upload.service.d.ts +0 -12
- package/dist/templates/upload.service.js +0 -49
- package/package.json +1 -1
@@ -30,15 +30,21 @@ __decorate([
|
|
30
30
|
__metadata("design:type", String)
|
31
31
|
], FkDownloadTaskEntity.prototype, "filename", void 0);
|
32
32
|
__decorate([
|
33
|
-
(0, typeorm_1.Column)(
|
33
|
+
(0, typeorm_1.Column)({
|
34
|
+
default: 0
|
35
|
+
}),
|
34
36
|
__metadata("design:type", Number)
|
35
37
|
], FkDownloadTaskEntity.prototype, "status", void 0);
|
36
38
|
__decorate([
|
37
|
-
(0, typeorm_1.Column)(
|
39
|
+
(0, typeorm_1.Column)({
|
40
|
+
default: 0
|
41
|
+
}),
|
38
42
|
__metadata("design:type", Number)
|
39
43
|
], FkDownloadTaskEntity.prototype, "totalSize", void 0);
|
40
44
|
__decorate([
|
41
|
-
(0, typeorm_1.Column)(
|
45
|
+
(0, typeorm_1.Column)({
|
46
|
+
default: 0
|
47
|
+
}),
|
42
48
|
__metadata("design:type", Number)
|
43
49
|
], FkDownloadTaskEntity.prototype, "size", void 0);
|
44
50
|
__decorate([
|
package/dist/fk-upload.module.js
CHANGED
@@ -19,20 +19,23 @@ const error_1 = require("./templates/error");
|
|
19
19
|
const help_1 = require("./templates/help");
|
20
20
|
const setting_1 = require("./templates/setting");
|
21
21
|
const task_manage_1 = require("./templates/task-manage");
|
22
|
-
const task_service_1 = require("./templates/task.service");
|
22
|
+
const task_service_1 = require("./templates/tasks/task.service");
|
23
|
+
const providers_1 = require("./templates/tasks/providers");
|
23
24
|
const upload_1 = require("./templates/upload");
|
24
25
|
const upload_task_1 = require("./templates/upload-task");
|
25
|
-
const upload_service_1 = require("./templates/upload.service");
|
26
26
|
const verify_1 = require("./templates/verify");
|
27
27
|
const urlSafeBase64Decode_1 = require("./urlSafeBase64Decode");
|
28
|
+
const fk_service_1 = require("./templates/tasks/fk.service");
|
29
|
+
const player_1 = require("./templates/player");
|
28
30
|
let FkUploadModule = class FkUploadModule {
|
29
31
|
};
|
30
32
|
FkUploadModule = __decorate([
|
31
33
|
(0, core_1.Module)({
|
32
34
|
providers: [
|
33
35
|
urlSafeBase64Decode_1.UrlSafeBase64,
|
34
|
-
upload_service_1.UploadService,
|
35
36
|
task_service_1.TaskService,
|
37
|
+
fk_service_1.FkService,
|
38
|
+
...providers_1.tasksProviders,
|
36
39
|
{
|
37
40
|
provide: core_1.LoadAddon,
|
38
41
|
useFactory: () => new mq_runner_1.MqRunner(),
|
@@ -50,7 +53,8 @@ FkUploadModule = __decorate([
|
|
50
53
|
task_manage_1.TaskManageController,
|
51
54
|
add_task_1.AddTaskController,
|
52
55
|
error_1.ErrorController,
|
53
|
-
setting_1.SettingController
|
56
|
+
setting_1.SettingController,
|
57
|
+
player_1.Player
|
54
58
|
],
|
55
59
|
imports: [
|
56
60
|
typeorm_1.TypeormModule.forFeature([
|
package/dist/main.js
CHANGED
@@ -46,7 +46,8 @@ AppModule = __decorate([
|
|
46
46
|
], AppModule);
|
47
47
|
exports.AppModule = AppModule;
|
48
48
|
(0, core_1.platformCore)().bootstrap(AppModule).then(() => {
|
49
|
-
process.send
|
49
|
+
if (process && process.send)
|
50
|
+
process.send('ready');
|
50
51
|
});
|
51
52
|
process.on('uncaughtException', (err) => {
|
52
53
|
console.log(err.message);
|
package/dist/mq-runner.js
CHANGED
@@ -2,18 +2,16 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.MqRunner = void 0;
|
4
4
|
const core_1 = require("@nger/core");
|
5
|
-
const
|
6
|
-
let i = 0;
|
5
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
7
6
|
class MqRunner extends core_1.LoadAddon {
|
8
7
|
constructor() {
|
9
8
|
super(`mq runner`);
|
10
9
|
}
|
11
10
|
async handle(injector, next) {
|
12
|
-
const
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
await task.receiveScheduleTask();
|
11
|
+
const tasks = injector.getMulti(rabbitmq_1.Task);
|
12
|
+
const manager = injector.get(rabbitmq_1.TaskManager);
|
13
|
+
const topics = [...new Set(tasks.map(task => task.name))];
|
14
|
+
topics.map(topic => manager.listen(topic));
|
17
15
|
if (next)
|
18
16
|
await next();
|
19
17
|
}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import { Db } from '@nger/typeorm';
|
2
2
|
import { Context } from 'koa';
|
3
|
-
import { TaskService } from './task.service';
|
3
|
+
import { TaskService } from './tasks/task.service';
|
4
|
+
import { TaskManager } from '@nger/rabbitmq';
|
4
5
|
export declare class AddTaskController {
|
5
6
|
private db;
|
6
7
|
private task;
|
7
|
-
|
8
|
+
private taskService;
|
9
|
+
constructor(db: Db, task: TaskManager, taskService: TaskService);
|
8
10
|
postAddTask(post: any, ctx: Context): Promise<void>;
|
9
11
|
addTask(): JSX.Element;
|
10
12
|
}
|
@@ -22,19 +22,23 @@ const component_1 = require("./component");
|
|
22
22
|
const react_1 = __importDefault(require("react"));
|
23
23
|
const typeorm_1 = require("@nger/typeorm");
|
24
24
|
const entities_1 = require("../entities");
|
25
|
-
const task_service_1 = require("./task.service");
|
25
|
+
const task_service_1 = require("./tasks/task.service");
|
26
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
26
27
|
let AddTaskController = class AddTaskController {
|
27
28
|
db;
|
28
29
|
task;
|
29
|
-
|
30
|
+
taskService;
|
31
|
+
constructor(db, task, taskService) {
|
30
32
|
this.db = db;
|
31
33
|
this.task = task;
|
34
|
+
this.taskService = taskService;
|
32
35
|
}
|
33
36
|
async postAddTask(post, ctx) {
|
34
37
|
const { url, we7Username } = post;
|
35
38
|
const loginEntity = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { w7Username: we7Username } });
|
36
39
|
if (loginEntity) {
|
37
|
-
await this.
|
40
|
+
const task = await this.taskService.createDownLoadTask(url, loginEntity.fkLoginId, 0);
|
41
|
+
await this.task.send(task);
|
38
42
|
}
|
39
43
|
ctx.redirect('/@nger/fk-upload/task-manage');
|
40
44
|
return;
|
@@ -71,6 +75,6 @@ __decorate([
|
|
71
75
|
], AddTaskController.prototype, "addTask", null);
|
72
76
|
AddTaskController = __decorate([
|
73
77
|
(0, core_1.Controller)('@nger/fk-upload'),
|
74
|
-
__metadata("design:paramtypes", [typeorm_1.Db, task_service_1.TaskService])
|
78
|
+
__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager, task_service_1.TaskService])
|
75
79
|
], AddTaskController);
|
76
80
|
exports.AddTaskController = AddTaskController;
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
+
};
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
exports.Player = void 0;
|
16
|
+
const core_1 = require("@nger/core");
|
17
|
+
const http_1 = require("@nger/http");
|
18
|
+
const react_1 = __importDefault(require("react"));
|
19
|
+
let Player = class Player {
|
20
|
+
player() {
|
21
|
+
return react_1.default.createElement("div", null,
|
22
|
+
react_1.default.createElement("video", { controls: true, autoPlay: true, src: "https://17854642.s21v.faiusr.com/58/ABUIABA6GAAg0___kwYozPPaiAI.mp4" }));
|
23
|
+
}
|
24
|
+
};
|
25
|
+
__decorate([
|
26
|
+
(0, http_1.Get)(`player`),
|
27
|
+
__metadata("design:type", Function),
|
28
|
+
__metadata("design:paramtypes", []),
|
29
|
+
__metadata("design:returntype", void 0)
|
30
|
+
], Player.prototype, "player", null);
|
31
|
+
Player = __decorate([
|
32
|
+
(0, core_1.Controller)(`@nger/fk-upload`)
|
33
|
+
], Player);
|
34
|
+
exports.Player = Player;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { RabbitMqService } from "@nger/rabbitmq";
|
2
|
+
import { RedisService } from "@nger/redis";
|
3
|
+
import { ScheduleService } from "@nger/schedule";
|
4
|
+
import { Db } from "@nger/typeorm";
|
5
|
+
import { W7DataSource } from "packages/w7/dist/core";
|
6
|
+
export declare class ReceiveScheduleTask {
|
7
|
+
private rabbit;
|
8
|
+
private redis;
|
9
|
+
private schedule;
|
10
|
+
private db;
|
11
|
+
private w7;
|
12
|
+
constructor(rabbit: RabbitMqService, redis: RedisService, schedule: ScheduleService, db: Db, w7: W7DataSource);
|
13
|
+
receiveScheduleTask(runner: Function): Promise<void>;
|
14
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ReceiveScheduleTask = void 0;
|
4
|
+
const core_1 = require("packages/w7/dist/core");
|
5
|
+
const entities_1 = require("../entities");
|
6
|
+
const typeorm_1 = require("typeorm");
|
7
|
+
class ReceiveScheduleTask {
|
8
|
+
rabbit;
|
9
|
+
redis;
|
10
|
+
schedule;
|
11
|
+
db;
|
12
|
+
w7;
|
13
|
+
constructor(rabbit, redis, schedule, db, w7) {
|
14
|
+
this.rabbit = rabbit;
|
15
|
+
this.redis = redis;
|
16
|
+
this.schedule = schedule;
|
17
|
+
this.db = db;
|
18
|
+
this.w7 = w7;
|
19
|
+
}
|
20
|
+
async receiveScheduleTask(runner) {
|
21
|
+
const obs = await this.rabbit.receive(`@nger/fk-upload/schedule-task`);
|
22
|
+
obs.subscribe({
|
23
|
+
next: async ([data, complete, fail]) => {
|
24
|
+
try {
|
25
|
+
const task = JSON.parse(data);
|
26
|
+
const setting = await this.redis.get(`setting`);
|
27
|
+
if (!setting) {
|
28
|
+
return complete();
|
29
|
+
}
|
30
|
+
if (task.name === setting.name) {
|
31
|
+
console.log(`shedule job regist ${task.name}`);
|
32
|
+
this.schedule.scheduleJob(task.name, task.rule, async (time) => {
|
33
|
+
const accounts = await this.db.manager.find(entities_1.FkLoginEntity, {});
|
34
|
+
const w7Usernames = accounts.map(account => account.w7Username);
|
35
|
+
const users = await this.w7.manager.find(core_1.W7UsersEntity, { where: { username: (0, typeorm_1.In)(w7Usernames) } });
|
36
|
+
const uids = users.map(user => user.uid);
|
37
|
+
const uniAccounts = await this.w7.manager.find(core_1.W7UniAccountEntity, { where: { createUid: (0, typeorm_1.In)(uids) } });
|
38
|
+
const uniacids = uniAccounts.map(a => a.uniacid);
|
39
|
+
const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { select: ['topicId'] });
|
40
|
+
const ids = tasks.map(task => task.topicId);
|
41
|
+
const topics = await this.w7.manager.find(core_1.W7ChatTopicEntity, { where: { uniacid: (0, typeorm_1.In)(uniacids), id: (0, typeorm_1.Not)((0, typeorm_1.In)(ids)) } });
|
42
|
+
topics.map(topic => {
|
43
|
+
if (topic.thirdUrl) {
|
44
|
+
const uniacid = topic.uniacid;
|
45
|
+
const account = uniAccounts.find(a => a.uniacid === uniacid);
|
46
|
+
const user = users.find(u => u.uid === account.createUid);
|
47
|
+
const login = accounts.find(a => a.w7Username === user.username);
|
48
|
+
this.createDownLoadTask(topic.thirdUrl, login.fkLoginId, topic.id);
|
49
|
+
}
|
50
|
+
});
|
51
|
+
});
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
complete();
|
55
|
+
}
|
56
|
+
}
|
57
|
+
catch (e) {
|
58
|
+
fail();
|
59
|
+
}
|
60
|
+
}
|
61
|
+
});
|
62
|
+
}
|
63
|
+
}
|
64
|
+
exports.ReceiveScheduleTask = ReceiveScheduleTask;
|
@@ -1,10 +1,12 @@
|
|
1
|
-
import { TaskService } from './task.service';
|
1
|
+
import { TaskService } from './tasks/task.service';
|
2
2
|
import { Client } from '@nger/redis';
|
3
3
|
import { Context } from 'koa';
|
4
|
+
import { TaskManager } from '@nger/rabbitmq';
|
4
5
|
export declare class SettingController {
|
5
6
|
private task;
|
6
7
|
private redis;
|
7
|
-
|
8
|
-
|
8
|
+
private manager;
|
9
|
+
constructor(task: TaskService, redis: Client, manager: TaskManager);
|
10
|
+
saveSetting(body: any, ctx: Context): Promise<void>;
|
9
11
|
setting(): Promise<JSX.Element>;
|
10
12
|
}
|
@@ -20,22 +20,21 @@ const core_1 = require("@nger/core");
|
|
20
20
|
const http_1 = require("@nger/http");
|
21
21
|
const react_1 = __importDefault(require("react"));
|
22
22
|
const component_1 = require("./component");
|
23
|
-
const task_service_1 = require("./task.service");
|
23
|
+
const task_service_1 = require("./tasks/task.service");
|
24
24
|
const redis_1 = require("@nger/redis");
|
25
|
+
const rabbitmq_1 = require("@nger/rabbitmq");
|
25
26
|
let SettingController = class SettingController {
|
26
27
|
task;
|
27
28
|
redis;
|
28
|
-
|
29
|
+
manager;
|
30
|
+
constructor(task, redis, manager) {
|
29
31
|
this.task = task;
|
30
32
|
this.redis = redis;
|
33
|
+
this.manager = manager;
|
31
34
|
}
|
32
|
-
saveSetting(body, ctx) {
|
33
|
-
const task =
|
34
|
-
|
35
|
-
rule: body.rule
|
36
|
-
};
|
37
|
-
this.task.addScheduleTask(task);
|
38
|
-
this.redis.set(`setting`, JSON.stringify(task));
|
35
|
+
async saveSetting(body, ctx) {
|
36
|
+
const task = await this.task.createScheduleTask(body.name, body.rule);
|
37
|
+
await this.manager.send(task);
|
39
38
|
ctx.redirect(`/@nger/fk-upload/setting`);
|
40
39
|
return;
|
41
40
|
}
|
@@ -70,7 +69,7 @@ __decorate([
|
|
70
69
|
__param(1, (0, core_1.Inject)(http_1.CONTEXT)),
|
71
70
|
__metadata("design:type", Function),
|
72
71
|
__metadata("design:paramtypes", [Object, Object]),
|
73
|
-
__metadata("design:returntype",
|
72
|
+
__metadata("design:returntype", Promise)
|
74
73
|
], SettingController.prototype, "saveSetting", null);
|
75
74
|
__decorate([
|
76
75
|
(0, http_1.Get)(`setting`),
|
@@ -80,6 +79,6 @@ __decorate([
|
|
80
79
|
], SettingController.prototype, "setting", null);
|
81
80
|
SettingController = __decorate([
|
82
81
|
(0, core_1.Controller)(`@nger/fk-upload`),
|
83
|
-
__metadata("design:paramtypes", [task_service_1.TaskService, redis_1.Client])
|
82
|
+
__metadata("design:paramtypes", [task_service_1.TaskService, redis_1.Client, rabbitmq_1.TaskManager])
|
84
83
|
], SettingController);
|
85
84
|
exports.SettingController = SettingController;
|
@@ -1,13 +1,10 @@
|
|
1
1
|
import { Config } from '@nger/core';
|
2
2
|
import { Db } from '@nger/typeorm';
|
3
|
-
import { UploadService } from './upload.service';
|
4
3
|
import { Context } from 'koa';
|
5
4
|
export declare class TaskManageController {
|
6
5
|
private db;
|
7
6
|
private config;
|
8
|
-
|
9
|
-
constructor(db: Db, config: Config, upload: UploadService);
|
10
|
-
taskContinue(filename: string, ctx: Context): void;
|
7
|
+
constructor(db: Db, config: Config);
|
11
8
|
taskManage(): Promise<JSX.Element>;
|
12
|
-
staticTaskManage(ctx: Context):
|
9
|
+
staticTaskManage(ctx: Context): any;
|
13
10
|
}
|
@@ -24,7 +24,6 @@ const entities_1 = require("../entities");
|
|
24
24
|
const component_1 = require("./component");
|
25
25
|
const fs_extra_1 = require("fs-extra");
|
26
26
|
const path_1 = require("path");
|
27
|
-
const upload_service_1 = require("./upload.service");
|
28
27
|
function getStatusTitle(status) {
|
29
28
|
switch (status) {
|
30
29
|
case 0:
|
@@ -38,17 +37,9 @@ function getStatusTitle(status) {
|
|
38
37
|
let TaskManageController = class TaskManageController {
|
39
38
|
db;
|
40
39
|
config;
|
41
|
-
|
42
|
-
constructor(db, config, upload) {
|
40
|
+
constructor(db, config) {
|
43
41
|
this.db = db;
|
44
42
|
this.config = config;
|
45
|
-
this.upload = upload;
|
46
|
-
}
|
47
|
-
taskContinue(filename, ctx) {
|
48
|
-
if (filename)
|
49
|
-
this.upload.continueTask(decodeURIComponent(filename));
|
50
|
-
ctx.redirect(`/@nger/fk-upload/task-manage`);
|
51
|
-
return;
|
52
43
|
}
|
53
44
|
async taskManage() {
|
54
45
|
const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { where: {}, order: { loginId: "DESC" } });
|
@@ -70,7 +61,6 @@ let TaskManageController = class TaskManageController {
|
|
70
61
|
react_1.default.createElement("td", null, "upload size"),
|
71
62
|
react_1.default.createElement("td", { width: '240px' }, "upload url"))),
|
72
63
|
react_1.default.createElement("tbody", null, tasks.map((task, key) => {
|
73
|
-
const _continue = `/@nger/fk-upload/task-continue?filename=${encodeURIComponent(task.filename)}`;
|
74
64
|
return react_1.default.createElement("tr", { key: key },
|
75
65
|
react_1.default.createElement("td", null, task.filename),
|
76
66
|
react_1.default.createElement("td", null, getStatusTitle(task.status)),
|
@@ -82,19 +72,16 @@ let TaskManageController = class TaskManageController {
|
|
82
72
|
react_1.default.createElement("script", { src: "/@nger/fk-upload/static/task-manage.js?t=" + new Date().getTime() }));
|
83
73
|
}
|
84
74
|
staticTaskManage(ctx) {
|
85
|
-
|
86
|
-
|
87
|
-
|
75
|
+
try {
|
76
|
+
ctx.type = 'js';
|
77
|
+
const content = (0, fs_extra_1.readFileSync)((0, path_1.join)(__dirname, '../static/task-manage.js')).toString('utf-8');
|
78
|
+
return content;
|
79
|
+
}
|
80
|
+
catch (e) {
|
81
|
+
return e.message;
|
82
|
+
}
|
88
83
|
}
|
89
84
|
};
|
90
|
-
__decorate([
|
91
|
-
(0, http_1.Get)('task-continue'),
|
92
|
-
__param(0, (0, http_1.Query)('filename')),
|
93
|
-
__param(1, (0, core_1.Inject)(http_1.CONTEXT)),
|
94
|
-
__metadata("design:type", Function),
|
95
|
-
__metadata("design:paramtypes", [String, Object]),
|
96
|
-
__metadata("design:returntype", void 0)
|
97
|
-
], TaskManageController.prototype, "taskContinue", null);
|
98
85
|
__decorate([
|
99
86
|
(0, http_1.Get)('task-manage'),
|
100
87
|
__metadata("design:type", Function),
|
@@ -110,6 +97,6 @@ __decorate([
|
|
110
97
|
], TaskManageController.prototype, "staticTaskManage", null);
|
111
98
|
TaskManageController = __decorate([
|
112
99
|
(0, core_1.Controller)(`@nger/fk-upload`),
|
113
|
-
__metadata("design:paramtypes", [typeorm_1.Db, core_1.Config
|
100
|
+
__metadata("design:paramtypes", [typeorm_1.Db, core_1.Config])
|
114
101
|
], TaskManageController);
|
115
102
|
exports.TaskManageController = TaskManageController;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
export interface EffectTask {
|
2
|
+
filename: string;
|
3
|
+
uploadUrl: string;
|
4
|
+
topicId: number;
|
5
|
+
}
|
6
|
+
export interface ScheduleTask {
|
7
|
+
name: string;
|
8
|
+
rule: string;
|
9
|
+
}
|
10
|
+
export interface DownloadTask {
|
11
|
+
filename: string;
|
12
|
+
path: string;
|
13
|
+
size: number;
|
14
|
+
url: string;
|
15
|
+
totalSize: number;
|
16
|
+
}
|
17
|
+
export interface UploadTask {
|
18
|
+
filename: string;
|
19
|
+
path: string;
|
20
|
+
uploadUrl: string;
|
21
|
+
start: number;
|
22
|
+
end: number;
|
23
|
+
total: number;
|
24
|
+
cookies: string;
|
25
|
+
aid: number;
|
26
|
+
folderId: number;
|
27
|
+
fileMd5: string;
|
28
|
+
index: number;
|
29
|
+
splitSize: number;
|
30
|
+
totalChunks: number;
|
31
|
+
complete: boolean;
|
32
|
+
topicId: number;
|
33
|
+
token: string;
|
34
|
+
}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import { Injector } from '@nger/core';
|
2
|
-
import { RabbitMqService } from '@nger/rabbitmq';
|
3
|
-
import { Client } from '@nger/redis';
|
4
|
-
import { Db } from '@nger/typeorm';
|
5
|
-
import { Observable } from 'rxjs';
|
6
|
-
import { WsService } from '@nger/ws';
|
7
|
-
export interface DownloadTask {
|
8
|
-
filename: string;
|
9
|
-
path: string;
|
10
|
-
size: number;
|
11
|
-
url: string;
|
12
|
-
totalSize: number;
|
13
|
-
}
|
14
|
-
export interface UploadTask {
|
15
|
-
filename: string;
|
16
|
-
path: string;
|
17
|
-
uploadUrl: string;
|
18
|
-
start: number;
|
19
|
-
end: number;
|
20
|
-
total: number;
|
21
|
-
cookies: string;
|
22
|
-
aid: number;
|
23
|
-
folderId: number;
|
24
|
-
fileMd5: string;
|
25
|
-
index: number;
|
26
|
-
splitSize: number;
|
27
|
-
totalChunks: number;
|
28
|
-
complete: boolean;
|
29
|
-
topicId: number;
|
30
|
-
token: string;
|
31
|
-
}
|
32
|
-
import { ScheduleService } from '@nger/schedule';
|
33
|
-
import { W7DataSource } from '@nger/w7';
|
34
|
-
export interface EffectTask {
|
35
|
-
filename: string;
|
36
|
-
uploadUrl: string;
|
37
|
-
topicId: number;
|
38
|
-
}
|
39
|
-
export interface ScheduleTask {
|
40
|
-
name: string;
|
41
|
-
rule: string;
|
42
|
-
}
|
43
|
-
export declare class TaskService {
|
44
|
-
private rabbit;
|
45
|
-
private redis;
|
46
|
-
private db;
|
47
|
-
private ws;
|
48
|
-
private schedule;
|
49
|
-
private w7;
|
50
|
-
private injector;
|
51
|
-
constructor(rabbit: RabbitMqService, redis: Client, db: Db, ws: WsService, schedule: ScheduleService, w7: W7DataSource, injector: Injector);
|
52
|
-
addDownloadTask(task: DownloadTask): Promise<void>;
|
53
|
-
addUploadTask(task: UploadTask): Promise<void>;
|
54
|
-
beginUploadTask(filename: string): Promise<void>;
|
55
|
-
addEffectTask(task: EffectTask): Promise<void>;
|
56
|
-
addScheduleTask(task: ScheduleTask): Promise<void>;
|
57
|
-
createDownLoadTask(url: string, fkLoginId: number, topicId: number): Promise<void>;
|
58
|
-
receiveScheduleTask(): Promise<void>;
|
59
|
-
receiveEffectTask(): Promise<void>;
|
60
|
-
receiveUploadTask(): Promise<void>;
|
61
|
-
receiveDownloadTask(): Promise<void>;
|
62
|
-
private getUploadInfourl;
|
63
|
-
private encodeURIComponent;
|
64
|
-
private getUploadUrl;
|
65
|
-
reUploadTask(): Promise<void>;
|
66
|
-
startUploadTask(filename: string): Promise<void>;
|
67
|
-
download(task: DownloadTask): Observable<DownloadTask>;
|
68
|
-
}
|