@nger/fk-upload 1.0.201 → 1.0.204

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. package/dist/{templates → controllers}/code.d.ts +0 -0
  2. package/dist/{templates → controllers}/code.js +2 -1
  3. package/dist/controllers/relogin.d.ts +8 -0
  4. package/dist/controllers/relogin.js +42 -0
  5. package/dist/{templates → controllers}/verify.d.ts +0 -0
  6. package/dist/{templates → controllers}/verify.js +0 -0
  7. package/dist/entities/check-task.d.ts +13 -0
  8. package/dist/entities/check-task.js +221 -0
  9. package/dist/entities/download-task.d.ts +23 -0
  10. package/dist/entities/download-task.js +445 -0
  11. package/dist/entities/effect-task.d.ts +12 -0
  12. package/dist/entities/effect-task.js +207 -0
  13. package/dist/entities/fk-account.d.ts +16 -0
  14. package/dist/entities/fk-account.js +295 -0
  15. package/dist/entities/fk-jiqun.d.ts +5 -0
  16. package/dist/entities/fk-jiqun.js +56 -0
  17. package/dist/entities/upload-task.d.ts +15 -0
  18. package/dist/entities/upload-task.js +333 -0
  19. package/dist/entities/w7-account.d.ts +11 -0
  20. package/dist/entities/w7-account.js +126 -0
  21. package/dist/entities/w7.d.ts +10 -0
  22. package/dist/entities/w7.js +107 -0
  23. package/dist/entities/w7_chat_topic.d.ts +9 -0
  24. package/dist/entities/w7_chat_topic.js +58 -0
  25. package/dist/entities/w7_uni_account.d.ts +4 -0
  26. package/dist/entities/w7_uni_account.js +23 -0
  27. package/dist/fk-upload.module.d.ts +5 -0
  28. package/dist/fk-upload.module.js +76 -43
  29. package/dist/main.d.ts +1 -0
  30. package/dist/main.js +18 -29
  31. package/dist/services/check.service.d.ts +6 -0
  32. package/dist/services/check.service.js +32 -0
  33. package/dist/services/client.service.d.ts +6 -0
  34. package/dist/services/client.service.js +29 -0
  35. package/dist/services/download.service.d.ts +15 -0
  36. package/dist/services/download.service.js +139 -0
  37. package/dist/services/effect.service.d.ts +7 -0
  38. package/dist/services/effect.service.js +34 -0
  39. package/dist/services/fk.service.d.ts +24 -0
  40. package/dist/services/fk.service.js +323 -0
  41. package/dist/services/login.service.d.ts +17 -0
  42. package/dist/services/login.service.js +95 -0
  43. package/dist/services/upload.service.d.ts +13 -0
  44. package/dist/services/upload.service.js +100 -0
  45. package/dist/tasks/actions.d.ts +28 -0
  46. package/dist/tasks/actions.js +12 -0
  47. package/dist/{templates/tasks/schedule-task.d.ts → tasks/check-task.d.ts} +3 -5
  48. package/dist/tasks/check-task.js +205 -0
  49. package/dist/tasks/download-continue-task.d.ts +9 -0
  50. package/dist/tasks/download-continue-task.js +127 -0
  51. package/dist/{templates/tasks → tasks}/download-task.d.ts +0 -1
  52. package/dist/tasks/download-task.js +128 -0
  53. package/dist/{templates/tasks → tasks}/effect-task.d.ts +1 -1
  54. package/dist/tasks/effect-task.js +111 -0
  55. package/dist/{templates/tasks → tasks}/providers.d.ts +0 -0
  56. package/dist/{templates/tasks → tasks}/providers.js +11 -5
  57. package/dist/tasks/upload-continue-task.d.ts +8 -0
  58. package/dist/tasks/upload-continue-task.js +114 -0
  59. package/dist/{templates/tasks → tasks}/upload-task.d.ts +0 -0
  60. package/dist/tasks/upload-task.js +114 -0
  61. package/package.json +18 -14
  62. package/pnpm-lock.yaml +36 -1435
  63. package/dist/electon.d.ts +0 -3
  64. package/dist/electon.js +0 -80
  65. package/dist/entities/fk-download-task.entity.d.ts +0 -18
  66. package/dist/entities/fk-download-task.entity.js +0 -142
  67. package/dist/entities/fk-login-cookie.entity.d.ts +0 -7
  68. package/dist/entities/fk-login-cookie.entity.js +0 -46
  69. package/dist/entities/fk-login.entity.d.ts +0 -12
  70. package/dist/entities/fk-login.entity.js +0 -80
  71. package/dist/entities/index.d.ts +0 -3
  72. package/dist/entities/index.js +0 -6
  73. package/dist/login.controller.d.ts +0 -14
  74. package/dist/login.controller.js +0 -197
  75. package/dist/mq-runner.d.ts +0 -5
  76. package/dist/mq-runner.js +0 -19
  77. package/dist/static/task-manage.d.ts +0 -6
  78. package/dist/static/task-manage.js +0 -34
  79. package/dist/templates/add-fk-login.d.ts +0 -12
  80. package/dist/templates/add-fk-login.js +0 -93
  81. package/dist/templates/add-task.d.ts +0 -13
  82. package/dist/templates/add-task.js +0 -78
  83. package/dist/templates/check-upload.d.ts +0 -38
  84. package/dist/templates/check-upload.js +0 -195
  85. package/dist/templates/component.d.ts +0 -10
  86. package/dist/templates/component.js +0 -39
  87. package/dist/templates/error.d.ts +0 -4
  88. package/dist/templates/error.js +0 -27
  89. package/dist/templates/help.d.ts +0 -7
  90. package/dist/templates/help.js +0 -52
  91. package/dist/templates/player.d.ts +0 -4
  92. package/dist/templates/player.js +0 -23
  93. package/dist/templates/setting.d.ts +0 -13
  94. package/dist/templates/setting.js +0 -65
  95. package/dist/templates/task-manage.d.ts +0 -21
  96. package/dist/templates/task-manage.js +0 -314
  97. package/dist/templates/tasks/actions.d.ts +0 -44
  98. package/dist/templates/tasks/actions.js +0 -9
  99. package/dist/templates/tasks/check-task.d.ts +0 -8
  100. package/dist/templates/tasks/check-task.js +0 -89
  101. package/dist/templates/tasks/download-task.js +0 -130
  102. package/dist/templates/tasks/effect-task.js +0 -76
  103. package/dist/templates/tasks/fk.service.d.ts +0 -28
  104. package/dist/templates/tasks/fk.service.js +0 -254
  105. package/dist/templates/tasks/schedule-task.js +0 -94
  106. package/dist/templates/tasks/task.service.d.ts +0 -11
  107. package/dist/templates/tasks/task.service.js +0 -114
  108. package/dist/templates/tasks/upload-task.js +0 -97
  109. package/dist/templates/tasks/yasuo-task.d.ts +0 -0
  110. package/dist/templates/tasks/yasuo-task.js +0 -0
  111. package/dist/templates/upload-task.d.ts +0 -9
  112. package/dist/templates/upload-task.js +0 -141
  113. package/dist/templates/upload.d.ts +0 -16
  114. package/dist/templates/upload.js +0 -232
  115. package/dist/urlSafeBase64Decode.d.ts +0 -3
  116. package/dist/urlSafeBase64Decode.js +0 -32
  117. package/electron/.env +0 -32
  118. package/electron/package.json +0 -31
  119. package/electron/pnpm-lock.yaml +0 -2878
  120. package/fk-upload-pc/.vscode/extensions.json +0 -3
  121. package/fk-upload-pc/README.md +0 -16
  122. package/fk-upload-pc/index.html +0 -13
  123. package/fk-upload-pc/package.json +0 -19
  124. package/fk-upload-pc/pnpm-lock.yaml +0 -489
  125. package/fk-upload-pc/public/favicon.ico +0 -0
  126. package/fk-upload-pc/tsconfig.json +0 -18
  127. package/fk-upload-pc/tsconfig.node.json +0 -8
  128. package/fk-upload-pc/vite.config.ts +0 -7
@@ -1,34 +0,0 @@
1
- const url = new URL(window.location.href);
2
- const WS_PORT = Reflect.get(window, 'WS_PORT');
3
- const socket = new WebSocket(`ws://${url.hostname}:${WS_PORT}`);
4
- const CREATE_TASK = `@nger/fk-upload/create-task`;
5
- const CREATE_TASK_DOWNLOADING = `@nger/fk-upload/downloading`;
6
- const CREATE_TASK_UPLOADING = `@nger/fk-upload/uploading`;
7
- socket.onopen = () => {
8
- socket.onmessage = (msg) => {
9
- const data = msg.data;
10
- const payload = JSON.parse(data);
11
- if (payload.action === CREATE_TASK_DOWNLOADING) {
12
- const id = payload.data.filename + '-size';
13
- const item = document.getElementById(id);
14
- const total = document.getElementById(`${payload.data.filename}-total`);
15
- if (item)
16
- item.innerHTML = `${payload.data.size}`;
17
- if (total) {
18
- total.innerHTML = `${payload.data.total}`;
19
- }
20
- }
21
- else if (payload.action === CREATE_TASK_UPLOADING) {
22
- const id = payload.data.filename + '-upload-size';
23
- const item = document.getElementById(id);
24
- const uploadUrlHtml = document.getElementById(`${payload.data.filename}-upload-url`);
25
- if (item)
26
- item.innerHTML = `${payload.data.uploadSize}`;
27
- if (uploadUrlHtml && payload.data.uploadUrl)
28
- uploadUrlHtml.innerHTML = `${payload.data.uploadUrl}`;
29
- }
30
- else {
31
- console.log(payload);
32
- }
33
- };
34
- };
@@ -1,12 +0,0 @@
1
- /// <reference types="react" />
2
- import { Db } from '@nger/typeorm';
3
- import { Context } from 'koa';
4
- import { CryptoService } from '@nger/utils';
5
- export declare class AddFkLoginController {
6
- private db;
7
- private crypto;
8
- constructor(db: Db, crypto: CryptoService);
9
- postAddFkLogin(fkLoginId: string, post: any, ctx: Context): Promise<void>;
10
- delFkLogin(loginId: String, ctx: Context): Promise<void>;
11
- addFkLogin(fkLoginId: string): Promise<JSX.Element>;
12
- }
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddFkLoginController = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nger/core");
6
- const http_1 = require("@nger/http");
7
- const typeorm_1 = require("@nger/typeorm");
8
- const react_1 = tslib_1.__importDefault(require("react"));
9
- const entities_1 = require("../entities");
10
- const component_1 = require("./component");
11
- const utils_1 = require("@nger/utils");
12
- let AddFkLoginController = class AddFkLoginController {
13
- db;
14
- crypto;
15
- constructor(db, crypto) {
16
- this.db = db;
17
- this.crypto = crypto;
18
- }
19
- async postAddFkLogin(fkLoginId, post, ctx) {
20
- let fkLogin = new entities_1.FkLoginEntity();
21
- fkLogin.username = post.username;
22
- fkLogin.pass = post.pass;
23
- fkLogin.w7Username = post.w7Username;
24
- fkLogin.password = this.crypto.md5(post.pass);
25
- if (fkLoginId) {
26
- // edit
27
- await this.db.manager.update(entities_1.FkLoginEntity, Number(fkLoginId), fkLogin);
28
- }
29
- else {
30
- await this.db.manager.save(entities_1.FkLoginEntity, fkLogin);
31
- }
32
- ctx.redirect('/@nger/fk-upload/help');
33
- return;
34
- }
35
- async delFkLogin(loginId, ctx) {
36
- if (loginId) {
37
- await this.db.manager.delete(entities_1.FkLoginEntity, Number(loginId));
38
- }
39
- ctx.redirect('/@nger/fk-upload/help');
40
- return;
41
- }
42
- async addFkLogin(fkLoginId) {
43
- let fkLogin = new entities_1.FkLoginEntity();
44
- if (fkLoginId && Number(fkLoginId) > 0) {
45
- const item = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { fkLoginId: Number(fkLoginId) } });
46
- if (item)
47
- fkLogin = item;
48
- }
49
- return react_1.default.createElement(component_1.Nav, { active: 1 },
50
- react_1.default.createElement("form", { action: '', method: 'post', encType: 'application/x-www-form-urlencoded' },
51
- react_1.default.createElement("div", { className: "mb-3" },
52
- react_1.default.createElement("label", { htmlFor: "username" }, "\u7528\u6237\u540D"),
53
- react_1.default.createElement("input", { id: "username", name: "username", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.username })),
54
- react_1.default.createElement("div", { className: "mb-3" },
55
- react_1.default.createElement("label", { htmlFor: "password" }, "\u5BC6\u7801"),
56
- react_1.default.createElement("input", { id: "password", name: "pass", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.pass })),
57
- react_1.default.createElement("div", { className: "mb-3" },
58
- react_1.default.createElement("label", { htmlFor: "w7Username" }, "\u5FAE\u64CE\u7528\u6237"),
59
- react_1.default.createElement("input", { id: "w7Username", name: "w7Username", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.w7Username })),
60
- react_1.default.createElement("div", { className: "for-group" },
61
- react_1.default.createElement("button", { type: "submit", className: 'btn btn-primary' }, "\u6DFB\u52A0"),
62
- react_1.default.createElement("button", { type: "reset", className: 'btn' }, "\u91CD\u7F6E"))));
63
- }
64
- };
65
- tslib_1.__decorate([
66
- (0, http_1.Post)('add-fk-login'),
67
- tslib_1.__param(0, (0, http_1.Query)('loginId')),
68
- tslib_1.__param(1, (0, http_1.Body)()),
69
- tslib_1.__param(2, (0, core_1.Inject)(http_1.CONTEXT)),
70
- tslib_1.__metadata("design:type", Function),
71
- tslib_1.__metadata("design:paramtypes", [String, Object, Object]),
72
- tslib_1.__metadata("design:returntype", Promise)
73
- ], AddFkLoginController.prototype, "postAddFkLogin", null);
74
- tslib_1.__decorate([
75
- (0, http_1.Get)('del-fk-login'),
76
- tslib_1.__param(0, (0, http_1.Query)('loginId')),
77
- tslib_1.__param(1, (0, core_1.Inject)(http_1.CONTEXT)),
78
- tslib_1.__metadata("design:type", Function),
79
- tslib_1.__metadata("design:paramtypes", [String, Object]),
80
- tslib_1.__metadata("design:returntype", Promise)
81
- ], AddFkLoginController.prototype, "delFkLogin", null);
82
- tslib_1.__decorate([
83
- (0, http_1.Get)(`add-fk-login`),
84
- tslib_1.__param(0, (0, http_1.Query)(`loginId`)),
85
- tslib_1.__metadata("design:type", Function),
86
- tslib_1.__metadata("design:paramtypes", [String]),
87
- tslib_1.__metadata("design:returntype", Promise)
88
- ], AddFkLoginController.prototype, "addFkLogin", null);
89
- AddFkLoginController = tslib_1.__decorate([
90
- (0, core_1.Controller)('@nger/fk-upload'),
91
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, utils_1.CryptoService])
92
- ], AddFkLoginController);
93
- exports.AddFkLoginController = AddFkLoginController;
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- import { Db } from '@nger/typeorm';
3
- import { Context } from 'koa';
4
- import { TaskService } from './tasks/task.service';
5
- import { TaskManager } from '@nger/rabbitmq';
6
- export declare class AddTaskController {
7
- private db;
8
- private task;
9
- private taskService;
10
- constructor(db: Db, task: TaskManager, taskService: TaskService);
11
- postAddTask(post: any, ctx: Context): Promise<void>;
12
- addTask(query: any): JSX.Element;
13
- }
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddTaskController = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nger/core");
6
- const http_1 = require("@nger/http");
7
- const component_1 = require("./component");
8
- const react_1 = tslib_1.__importDefault(require("react"));
9
- const typeorm_1 = require("@nger/typeorm");
10
- const entities_1 = require("../entities");
11
- const task_service_1 = require("./tasks/task.service");
12
- const rabbitmq_1 = require("@nger/rabbitmq");
13
- let AddTaskController = class AddTaskController {
14
- db;
15
- task;
16
- taskService;
17
- constructor(db, task, taskService) {
18
- this.db = db;
19
- this.task = task;
20
- this.taskService = taskService;
21
- }
22
- async postAddTask(post, ctx) {
23
- const { url, we7Username } = post;
24
- const loginEntity = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { w7Username: we7Username } });
25
- if (loginEntity) {
26
- const topicId = Number(post.topicId);
27
- const task = await this.taskService.createDownLoadTask(url, loginEntity.fkLoginId, topicId);
28
- const download = task.data;
29
- const fkdownloadTask = new entities_1.FkDownloadTaskEntity();
30
- fkdownloadTask.filename = download.filename;
31
- fkdownloadTask.loginId = download.loginId;
32
- fkdownloadTask.path = download.path;
33
- fkdownloadTask.url = download.url;
34
- fkdownloadTask.topicId = download.topicId;
35
- await this.db.manager.save(entities_1.FkDownloadTaskEntity, fkdownloadTask);
36
- await this.task.send(task);
37
- }
38
- ctx.redirect('/@nger/fk-upload/task-manage');
39
- return;
40
- }
41
- addTask(query) {
42
- const data = query || {};
43
- return react_1.default.createElement(component_1.Nav, { active: 3 },
44
- react_1.default.createElement("form", { action: "/@nger/fk-upload/add-task", method: "post" },
45
- react_1.default.createElement("div", { className: "mb-3" },
46
- react_1.default.createElement("label", { htmlFor: "url" }, "\u8FDE\u63A5"),
47
- react_1.default.createElement("input", { type: "text", onChange: e => { }, name: "url", value: data.value, className: 'form-control', id: "url" })),
48
- react_1.default.createElement("div", { className: "mb-3" },
49
- react_1.default.createElement("label", { htmlFor: "w7Username" }, "\u5FAE\u64CE\u8D26\u6237"),
50
- react_1.default.createElement("input", { type: "text", onChange: e => { }, name: "we7Username", value: data.username, className: 'form-control', id: "w7Username" })),
51
- react_1.default.createElement("div", { className: "mb-3" },
52
- react_1.default.createElement("label", { htmlFor: "w7Username" }, "topicId"),
53
- react_1.default.createElement("input", { type: "text", onChange: e => { }, name: "topicId", value: data.id, className: 'form-control', id: "topicId" })),
54
- react_1.default.createElement("div", { className: "mb-3" },
55
- react_1.default.createElement("button", { type: "submit", className: "btn btn-primary" }, "\u63D0\u4EA4"),
56
- react_1.default.createElement("button", { type: "reset", className: "btn" }, "\u91CD\u7F6E"))));
57
- }
58
- };
59
- tslib_1.__decorate([
60
- (0, http_1.Post)('add-task'),
61
- tslib_1.__param(0, (0, http_1.Body)()),
62
- tslib_1.__param(1, (0, core_1.Inject)(http_1.CONTEXT)),
63
- tslib_1.__metadata("design:type", Function),
64
- tslib_1.__metadata("design:paramtypes", [Object, Object]),
65
- tslib_1.__metadata("design:returntype", Promise)
66
- ], AddTaskController.prototype, "postAddTask", null);
67
- tslib_1.__decorate([
68
- (0, http_1.Get)('add-task'),
69
- tslib_1.__param(0, (0, http_1.Query)()),
70
- tslib_1.__metadata("design:type", Function),
71
- tslib_1.__metadata("design:paramtypes", [Object]),
72
- tslib_1.__metadata("design:returntype", void 0)
73
- ], AddTaskController.prototype, "addTask", null);
74
- AddTaskController = tslib_1.__decorate([
75
- (0, core_1.Controller)('@nger/fk-upload'),
76
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager, task_service_1.TaskService])
77
- ], AddTaskController);
78
- exports.AddTaskController = AddTaskController;
@@ -1,38 +0,0 @@
1
- import { FkDownloadTaskEntity } from './../entities/fk-download-task.entity';
2
- import { TaskEntity, TaskManager } from '@nger/rabbitmq';
3
- import { Db } from '@nger/typeorm';
4
- import { Injector } from '@nger/core';
5
- export declare class CheckUploadController {
6
- private db;
7
- private manager;
8
- private injector;
9
- constructor(db: Db, manager: TaskManager, injector: Injector);
10
- reupload(): Promise<string>;
11
- recheck(): Promise<{
12
- msg: string;
13
- list: TaskEntity<object>[];
14
- }>;
15
- redownload(): Promise<{
16
- msg: string;
17
- list: TaskEntity<object>[];
18
- }>;
19
- checkSpace(): Promise<{
20
- msg: string;
21
- removes: string[];
22
- }>;
23
- checkWaitEffectTask(): Promise<{
24
- list: FkDownloadTaskEntity[];
25
- }>;
26
- checkWaitDownloadTask(): Promise<{
27
- list: FkDownloadTaskEntity[];
28
- }>;
29
- checkWaitUploadTask(): Promise<{
30
- list: string[];
31
- }>;
32
- checkFinish(): Promise<{
33
- list: string[];
34
- }>;
35
- reEffect(): Promise<{
36
- list: string[];
37
- }>;
38
- }
@@ -1,195 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckUploadController = void 0;
4
- const tslib_1 = require("tslib");
5
- const fk_service_1 = require("./tasks/fk.service");
6
- const fs_1 = require("fs");
7
- const fk_download_task_entity_1 = require("./../entities/fk-download-task.entity");
8
- const rabbitmq_1 = require("@nger/rabbitmq");
9
- const typeorm_1 = require("@nger/typeorm");
10
- const core_1 = require("@nger/core");
11
- const http_1 = require("@nger/http");
12
- const typeorm_2 = require("typeorm");
13
- const fs_extra_1 = require("fs-extra");
14
- const task_service_1 = require("./tasks/task.service");
15
- const actions_1 = require("./tasks/actions");
16
- let CheckUploadController = class CheckUploadController {
17
- db;
18
- manager;
19
- injector;
20
- constructor(db, manager, injector) {
21
- this.db = db;
22
- this.manager = manager;
23
- this.injector = injector;
24
- }
25
- async reupload() {
26
- const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
27
- const list = await task.find({ where: { topic: '@nger/fk-upload/upload-task', status: 0 } });
28
- await Promise.all(list.map(item => this.manager.send(item)));
29
- return 'reupload success';
30
- }
31
- async recheck() {
32
- const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
33
- const list = await task.find({ where: { topic: '@nger/fk-upload/effect-task', status: 0 } });
34
- await Promise.all(list.map(item => this.manager.send(item)));
35
- return { msg: 'recheck success', list };
36
- }
37
- async redownload() {
38
- const task = this.db.manager.getRepository(rabbitmq_1.TaskEntity);
39
- const list = await task.find({ where: { topic: '@nger/fk-upload/download-task', status: 0 } });
40
- await Promise.all(list.map(item => this.manager.send(item)));
41
- return { msg: 'redownload success', list };
42
- }
43
- async checkSpace() {
44
- const download = this.db.manager.getRepository(fk_download_task_entity_1.FkDownloadTaskEntity);
45
- // remove to large
46
- const largs = await download.find({ where: { totalSize: (0, typeorm_2.MoreThan)(1024 * 1024 * 1024) } });
47
- // remove finish
48
- const list = await download.find({ where: { status: (0, typeorm_2.Not)(1) } });
49
- // remove not use
50
- const root = this.injector.get(core_1.APP_ROOT);
51
- // const uploads = readdirSync(join(root, 'attachments/fk-upload'));
52
- const removes = [];
53
- Promise.all([...list, ...largs].map(async (item) => {
54
- if ((0, fs_1.existsSync)(item.path)) {
55
- try {
56
- await (0, fs_extra_1.unlink)(item.path);
57
- await (0, fs_extra_1.unlink)(item.path);
58
- removes.push(item.path);
59
- }
60
- catch (e) { }
61
- }
62
- }));
63
- return { msg: 'succes', removes };
64
- }
65
- async checkWaitEffectTask() {
66
- const download = this.db.manager.getRepository(fk_download_task_entity_1.FkDownloadTaskEntity);
67
- const list = await download.find({ where: { status: 2 } });
68
- const task = this.injector.get(task_service_1.TaskService);
69
- await Promise.all(list.map(async (item) => {
70
- const download = await task.createEffectTask(item.filename, item.uploadUrl, item.topicId, item.path);
71
- return this.manager.send(download);
72
- }));
73
- return { list };
74
- }
75
- async checkWaitDownloadTask() {
76
- const download = this.db.manager.getRepository(fk_download_task_entity_1.FkDownloadTaskEntity);
77
- const list = await download.find({ where: { status: 0 } });
78
- const task = this.injector.get(task_service_1.TaskService);
79
- await Promise.all(list.map(async (item) => {
80
- const download = await task.createDownLoadTask(item.url, item.loginId, item.topicId);
81
- return this.manager.send(download);
82
- }));
83
- return { list };
84
- }
85
- async checkWaitUploadTask() {
86
- const download = this.db.manager.getRepository(fk_download_task_entity_1.FkDownloadTaskEntity);
87
- const errors = await download.find({ where: { uploadUrl: (0, typeorm_2.Like)('https://site%') } });
88
- if (errors && errors.length > 0) {
89
- await download.update(errors.map(err => err.filename), { status: 1 });
90
- }
91
- const list = await download.find({ where: { status: 1, totalSize: (0, typeorm_2.LessThan)(1024 * 1024 * 1024) } });
92
- const task = this.injector.get(task_service_1.TaskService);
93
- const fk = this.injector.get(fk_service_1.FkService);
94
- await Promise.all(list.map(async (item) => {
95
- const cloudSize = await fk.getSize(item.url);
96
- const localSize = fk.getLocalSize(item.path);
97
- console.log({ cloudSize, localSize });
98
- const upload = await task.createUploadTask({
99
- filename: item.filename,
100
- path: item.path,
101
- url: item.url,
102
- topicId: item.topicId,
103
- loginId: item.loginId
104
- }, item.totalSize, item.fileMd5, this.injector);
105
- return this.manager.send(upload);
106
- }));
107
- return {
108
- list: list.map(item => item.filename)
109
- };
110
- }
111
- async checkFinish() {
112
- const finishs = await this.db.manager.find(fk_download_task_entity_1.FkDownloadTaskEntity, {});
113
- await Promise.all(finishs.map(finish => {
114
- const item = new rabbitmq_1.TaskEntity();
115
- item.topic = actions_1.CHECK_ACTION;
116
- item.data = { filename: finish.filename };
117
- return this.manager.send(item);
118
- }));
119
- return { list: finishs.map(it => it.filename) };
120
- }
121
- async reEffect() {
122
- const finishs = await this.db.manager.find(fk_download_task_entity_1.FkDownloadTaskEntity, { where: { status: 3 } });
123
- await Promise.all(finishs.map(finish => {
124
- const item = new rabbitmq_1.TaskEntity();
125
- item.topic = actions_1.EFFECT_ACTION;
126
- item.data = {
127
- filename: finish.filename,
128
- uploadUrl: finish.uploadUrl,
129
- topicId: finish.topicId,
130
- path: finish.path,
131
- };
132
- return this.manager.send(item);
133
- }));
134
- return { list: finishs.map(it => it.filename) };
135
- }
136
- };
137
- tslib_1.__decorate([
138
- (0, http_1.Get)('reupload'),
139
- tslib_1.__metadata("design:type", Function),
140
- tslib_1.__metadata("design:paramtypes", []),
141
- tslib_1.__metadata("design:returntype", Promise)
142
- ], CheckUploadController.prototype, "reupload", null);
143
- tslib_1.__decorate([
144
- (0, http_1.Get)('recheck'),
145
- tslib_1.__metadata("design:type", Function),
146
- tslib_1.__metadata("design:paramtypes", []),
147
- tslib_1.__metadata("design:returntype", Promise)
148
- ], CheckUploadController.prototype, "recheck", null);
149
- tslib_1.__decorate([
150
- (0, http_1.Get)('redownload'),
151
- tslib_1.__metadata("design:type", Function),
152
- tslib_1.__metadata("design:paramtypes", []),
153
- tslib_1.__metadata("design:returntype", Promise)
154
- ], CheckUploadController.prototype, "redownload", null);
155
- tslib_1.__decorate([
156
- (0, http_1.Get)('checkspace'),
157
- tslib_1.__metadata("design:type", Function),
158
- tslib_1.__metadata("design:paramtypes", []),
159
- tslib_1.__metadata("design:returntype", Promise)
160
- ], CheckUploadController.prototype, "checkSpace", null);
161
- tslib_1.__decorate([
162
- (0, http_1.Get)('checkWaitEffectTask'),
163
- tslib_1.__metadata("design:type", Function),
164
- tslib_1.__metadata("design:paramtypes", []),
165
- tslib_1.__metadata("design:returntype", Promise)
166
- ], CheckUploadController.prototype, "checkWaitEffectTask", null);
167
- tslib_1.__decorate([
168
- (0, http_1.Get)('checkWaitDownloadTask'),
169
- tslib_1.__metadata("design:type", Function),
170
- tslib_1.__metadata("design:paramtypes", []),
171
- tslib_1.__metadata("design:returntype", Promise)
172
- ], CheckUploadController.prototype, "checkWaitDownloadTask", null);
173
- tslib_1.__decorate([
174
- (0, http_1.Get)('checkWaitUploadTask'),
175
- tslib_1.__metadata("design:type", Function),
176
- tslib_1.__metadata("design:paramtypes", []),
177
- tslib_1.__metadata("design:returntype", Promise)
178
- ], CheckUploadController.prototype, "checkWaitUploadTask", null);
179
- tslib_1.__decorate([
180
- (0, http_1.Get)('checkFinish'),
181
- tslib_1.__metadata("design:type", Function),
182
- tslib_1.__metadata("design:paramtypes", []),
183
- tslib_1.__metadata("design:returntype", Promise)
184
- ], CheckUploadController.prototype, "checkFinish", null);
185
- tslib_1.__decorate([
186
- (0, http_1.Get)('reEffect'),
187
- tslib_1.__metadata("design:type", Function),
188
- tslib_1.__metadata("design:paramtypes", []),
189
- tslib_1.__metadata("design:returntype", Promise)
190
- ], CheckUploadController.prototype, "reEffect", null);
191
- CheckUploadController = tslib_1.__decorate([
192
- (0, core_1.Controller)(`@nger/fk-upload`),
193
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, rabbitmq_1.TaskManager, core_1.Injector])
194
- ], CheckUploadController);
195
- exports.CheckUploadController = CheckUploadController;
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- export interface Nav {
3
- title: string;
4
- link: string;
5
- }
6
- export interface NavProps {
7
- active: number;
8
- children: any | any[];
9
- }
10
- export declare function Nav(props: NavProps): JSX.Element;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Nav = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- function Nav(props) {
7
- const navs = [{
8
- link: '/@nger/fk-upload/help',
9
- title: '账户'
10
- }, {
11
- link: '/@nger/fk-upload/add-fk-login',
12
- title: '添加账户'
13
- }, {
14
- link: '/@nger/fk-upload/task-manage',
15
- title: '任务'
16
- }, {
17
- link: '/@nger/fk-upload/add-task',
18
- title: '添加任务'
19
- }, {
20
- link: '/@nger/fk-upload/setting',
21
- title: '设置'
22
- }];
23
- return react_1.default.createElement("div", null,
24
- react_1.default.createElement("link", { href: "/bootstrap/css/bootstrap.min.css", rel: "stylesheet" }),
25
- react_1.default.createElement("nav", { style: { padding: "0 10px" }, className: "navbar navbar-expand-lg navbar-dark bg-primary" },
26
- react_1.default.createElement("div", { className: "collapse navbar-collapse show" },
27
- react_1.default.createElement("ul", { className: "navbar-nav mr-auto", style: { display: "flex", flexDirection: 'row' } },
28
- react_1.default.createElement("a", { className: "navbar-brand", href: "/@nger/fk-upload/help" }, "FkUpload"),
29
- navs.map((nav, key) => {
30
- let cls = `nav-link`;
31
- if (props.active === key) {
32
- cls += ` active`;
33
- }
34
- return react_1.default.createElement("li", { key: key, style: { margin: "0 10px" }, className: "nav-item" },
35
- react_1.default.createElement("a", { className: cls, href: nav.link }, nav.title));
36
- })))),
37
- react_1.default.createElement("div", { className: "container-fluid", style: { padding: "10px 20px" } }, props.children));
38
- }
39
- exports.Nav = Nav;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare class ErrorController {
3
- error(msg: string): JSX.Element;
4
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorController = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nger/core");
6
- const http_1 = require("@nger/http");
7
- const component_1 = require("./component");
8
- const react_1 = tslib_1.__importDefault(require("react"));
9
- let ErrorController = class ErrorController {
10
- error(msg) {
11
- return react_1.default.createElement(component_1.Nav, { active: -1 },
12
- react_1.default.createElement("div", { className: "card" },
13
- react_1.default.createElement("div", { className: "card-body" },
14
- react_1.default.createElement("div", { className: "alert alert-danger", role: "alert" }, msg))));
15
- }
16
- };
17
- tslib_1.__decorate([
18
- (0, http_1.Get)('error'),
19
- tslib_1.__param(0, (0, http_1.Query)('msg')),
20
- tslib_1.__metadata("design:type", Function),
21
- tslib_1.__metadata("design:paramtypes", [String]),
22
- tslib_1.__metadata("design:returntype", void 0)
23
- ], ErrorController.prototype, "error", null);
24
- ErrorController = tslib_1.__decorate([
25
- (0, core_1.Controller)('@nger/fk-upload')
26
- ], ErrorController);
27
- exports.ErrorController = ErrorController;
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import { Db } from '@nger/typeorm';
3
- export declare class HelpController {
4
- private db;
5
- constructor(db: Db);
6
- help(): Promise<JSX.Element>;
7
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HelpController = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nger/core");
6
- const http_1 = require("@nger/http");
7
- const typeorm_1 = require("@nger/typeorm");
8
- const react_1 = tslib_1.__importDefault(require("react"));
9
- const fk_login_entity_1 = require("../entities/fk-login.entity");
10
- const component_1 = require("./component");
11
- let HelpController = class HelpController {
12
- db;
13
- constructor(db) {
14
- this.db = db;
15
- }
16
- async help() {
17
- const list = await this.db.manager.find(fk_login_entity_1.FkLoginEntity, { where: {} });
18
- return react_1.default.createElement(component_1.Nav, { active: 0 },
19
- react_1.default.createElement("table", { className: 'table' },
20
- react_1.default.createElement("thead", null,
21
- react_1.default.createElement("tr", null,
22
- react_1.default.createElement("td", null, "\u7528\u6237\u540D"),
23
- react_1.default.createElement("td", null, "\u5FAE\u64CE\u7528\u6237"),
24
- react_1.default.createElement("td", null),
25
- react_1.default.createElement("td", null))),
26
- react_1.default.createElement("tbody", null, list.map((li, key) => {
27
- const url = `/@nger/fk-upload/login?loginId=${li.fkLoginId}`;
28
- const edit = `/@nger/fk-upload/add-fk-login?loginId=${li.fkLoginId}`;
29
- const del = `/@nger/fk-upload/del-fk-login?loginId=${li.fkLoginId}`;
30
- return react_1.default.createElement("tr", { key: key },
31
- react_1.default.createElement("td", null, li.username),
32
- react_1.default.createElement("td", null, li.w7Username),
33
- react_1.default.createElement("td", null, li.status ? 'binded' : 'unbind'),
34
- react_1.default.createElement("td", null,
35
- react_1.default.createElement("div", { className: "btn-group" },
36
- react_1.default.createElement("a", { className: "btn btn-primary", href: url }, li.status ? '重新绑定' : '绑定'),
37
- react_1.default.createElement("a", { className: "btn btn-link", href: edit }, "\u7F16\u8F91"),
38
- react_1.default.createElement("a", { className: "btn btn-danger", href: del }, "\u5220\u9664"))));
39
- }))));
40
- }
41
- };
42
- tslib_1.__decorate([
43
- (0, http_1.Get)('help'),
44
- tslib_1.__metadata("design:type", Function),
45
- tslib_1.__metadata("design:paramtypes", []),
46
- tslib_1.__metadata("design:returntype", Promise)
47
- ], HelpController.prototype, "help", null);
48
- HelpController = tslib_1.__decorate([
49
- (0, core_1.Controller)('@nger/fk-upload'),
50
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db])
51
- ], HelpController);
52
- exports.HelpController = HelpController;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare class Player {
3
- player(): JSX.Element;
4
- }
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Player = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@nger/core");
6
- const http_1 = require("@nger/http");
7
- const react_1 = tslib_1.__importDefault(require("react"));
8
- let Player = class Player {
9
- player() {
10
- return react_1.default.createElement("div", null,
11
- react_1.default.createElement("video", { controls: true, autoPlay: true, src: "https://17854642.s21v.faiusr.com/58/ABUIABA6GAAg0___kwYozPPaiAI.mp4" }));
12
- }
13
- };
14
- tslib_1.__decorate([
15
- (0, http_1.Get)(`player`),
16
- tslib_1.__metadata("design:type", Function),
17
- tslib_1.__metadata("design:paramtypes", []),
18
- tslib_1.__metadata("design:returntype", void 0)
19
- ], Player.prototype, "player", null);
20
- Player = tslib_1.__decorate([
21
- (0, core_1.Controller)(`@nger/fk-upload`)
22
- ], Player);
23
- exports.Player = Player;
@@ -1,13 +0,0 @@
1
- /// <reference types="react" />
2
- import { TaskService } from './tasks/task.service';
3
- import { Context } from 'koa';
4
- import { TaskManager } from '@nger/rabbitmq';
5
- import { Db } from '@nger/typeorm';
6
- export declare class SettingController {
7
- private task;
8
- private manager;
9
- private db;
10
- constructor(task: TaskService, manager: TaskManager, db: Db);
11
- saveSetting(body: any, taskId: number, ctx: Context): Promise<void>;
12
- setting(): Promise<JSX.Element>;
13
- }