@nger/fk-upload 1.0.134 → 1.0.138
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.
@@ -22,14 +22,21 @@ function Nav(props) {
|
|
22
22
|
}];
|
23
23
|
return react_1.default.createElement("div", null,
|
24
24
|
react_1.default.createElement("link", { href: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css", rel: "stylesheet" }),
|
25
|
-
react_1.default.createElement("
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
react_1.default.createElement("nav", { className: "navbar navbar-expand-lg navbar-light bg-light" },
|
26
|
+
react_1.default.createElement("div", { className: "collapse navbar-collapse" },
|
27
|
+
react_1.default.createElement("ul", { className: "navbar-nav mr-auto" },
|
28
|
+
react_1.default.createElement("li", { className: "nav-item active" },
|
29
|
+
react_1.default.createElement("a", { className: "nav-link", href: "/@nger/fk-upload/help" },
|
30
|
+
"Home ",
|
31
|
+
react_1.default.createElement("span", { className: "sr-only" }, "(current)"))),
|
32
|
+
navs.map((nav, key) => {
|
33
|
+
let cls = `nav-link`;
|
34
|
+
if (props.active === key) {
|
35
|
+
cls += ` active`;
|
36
|
+
}
|
37
|
+
return react_1.default.createElement("li", { key: key, className: "nav-item" },
|
38
|
+
react_1.default.createElement("a", { className: cls, href: nav.link }, nav.title));
|
39
|
+
})))),
|
33
40
|
props.children);
|
34
41
|
}
|
35
42
|
exports.Nav = Nav;
|
@@ -6,6 +6,11 @@ export declare class TaskManageController {
|
|
6
6
|
private db;
|
7
7
|
private config;
|
8
8
|
constructor(db: Db, config: Config);
|
9
|
-
|
9
|
+
toUrl(query: any): string;
|
10
|
+
createPages(total: number, query: any): {
|
11
|
+
index: number;
|
12
|
+
link: string;
|
13
|
+
}[];
|
14
|
+
taskManage(query: any): Promise<JSX.Element>;
|
10
15
|
staticTaskManage(ctx: Context): any;
|
11
16
|
}
|
@@ -18,8 +18,10 @@ function getStatusTitle(status) {
|
|
18
18
|
return 'uploading';
|
19
19
|
case 2:
|
20
20
|
return 'effecting';
|
21
|
-
|
21
|
+
case 3:
|
22
22
|
return 'finish';
|
23
|
+
default:
|
24
|
+
return 'unknow';
|
23
25
|
}
|
24
26
|
}
|
25
27
|
let TaskManageController = class TaskManageController {
|
@@ -29,9 +31,76 @@ let TaskManageController = class TaskManageController {
|
|
29
31
|
this.db = db;
|
30
32
|
this.config = config;
|
31
33
|
}
|
32
|
-
|
33
|
-
|
34
|
+
toUrl(query) {
|
35
|
+
return Object.keys(query).map(key => `${key}=${decodeURIComponent(query[key])}`).join('&');
|
36
|
+
}
|
37
|
+
createPages(total, query) {
|
38
|
+
const list = [];
|
39
|
+
for (let i = 0; i < total; i++) {
|
40
|
+
list.push({
|
41
|
+
index: i + 1,
|
42
|
+
link: `/@nger/fk-upload/task-manage?${this.toUrl({
|
43
|
+
...query,
|
44
|
+
page: i + 1
|
45
|
+
})}`
|
46
|
+
});
|
47
|
+
}
|
48
|
+
return list;
|
49
|
+
}
|
50
|
+
async taskManage(query) {
|
51
|
+
const where = {};
|
52
|
+
let page = 1;
|
53
|
+
let psize = 10;
|
54
|
+
if (query && typeof query.status !== 'undefined') {
|
55
|
+
where.status = Number(query.status);
|
56
|
+
}
|
57
|
+
if (query && typeof query.isBigFile !== 'undefined') {
|
58
|
+
where.isBigFile = Boolean(Number(query.isBigFile));
|
59
|
+
}
|
60
|
+
if (query && typeof query.page !== 'undefined') {
|
61
|
+
page = Number(query.page);
|
62
|
+
}
|
63
|
+
if (query && typeof query.psize !== 'undefined') {
|
64
|
+
psize = Number(query.psize);
|
65
|
+
}
|
66
|
+
const take = psize;
|
67
|
+
const skip = (page - 1) * psize;
|
68
|
+
const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { where, order: { createDate: "DESC" }, take, skip });
|
69
|
+
const count = await this.db.manager.count(entities_1.FkDownloadTaskEntity, { where });
|
70
|
+
const totalPage = Math.ceil(count / psize);
|
71
|
+
const pre = {
|
72
|
+
...query,
|
73
|
+
page: page - 1 > 0 ? page - 1 : 1
|
74
|
+
};
|
75
|
+
const preUrl = `/@nger/fk-upload/task-manage?${this.toUrl(pre)}`;
|
76
|
+
const next = {
|
77
|
+
...query,
|
78
|
+
page: page + 1 < totalPage ? page + 1 : totalPage
|
79
|
+
};
|
80
|
+
const nextUrl = `/@nger/fk-upload/task-manage?${this.toUrl(next)}`;
|
81
|
+
const pages = this.createPages(totalPage, query);
|
82
|
+
const navs = [{
|
83
|
+
title: 'downloading',
|
84
|
+
link: `/@nger/fk-upload/task-manage?${this.toUrl({ ...query, status: 0 })}`
|
85
|
+
}, {
|
86
|
+
title: 'uploading',
|
87
|
+
link: `/@nger/fk-upload/task-manage?${this.toUrl({ ...query, status: 1 })}`
|
88
|
+
}, {
|
89
|
+
title: 'effecting',
|
90
|
+
link: `/@nger/fk-upload/task-manage?${this.toUrl({ ...query, status: 2 })}`
|
91
|
+
}, {
|
92
|
+
title: 'finish',
|
93
|
+
link: `/@nger/fk-upload/task-manage?${this.toUrl({ ...query, status: 3 })}`
|
94
|
+
}];
|
34
95
|
return react_1.default.createElement(component_1.Nav, { active: 2 },
|
96
|
+
react_1.default.createElement("ul", { className: "nav nav-pills" }, navs.map((nav, key) => {
|
97
|
+
let cls = `nav-link`;
|
98
|
+
if (where.status === key) {
|
99
|
+
cls += ` active`;
|
100
|
+
}
|
101
|
+
return react_1.default.createElement("li", { key: key, className: "nav-item" },
|
102
|
+
react_1.default.createElement("a", { className: cls, href: nav.link }, nav.title));
|
103
|
+
})),
|
35
104
|
react_1.default.createElement("script", { dangerouslySetInnerHTML: {
|
36
105
|
__html: `
|
37
106
|
window.WS_PORT = ${this.config.get(`WS_PORT`)};
|
@@ -47,7 +116,8 @@ let TaskManageController = class TaskManageController {
|
|
47
116
|
react_1.default.createElement("td", null, "\u5927\u5C0F"),
|
48
117
|
react_1.default.createElement("td", null, "\u4E0B\u8F7D"),
|
49
118
|
react_1.default.createElement("td", null, "\u4E0A\u4F20"),
|
50
|
-
react_1.default.createElement("td", { width: '240px' }, "\u8FDE\u63A5")
|
119
|
+
react_1.default.createElement("td", { width: '240px' }, "\u8FDE\u63A5"),
|
120
|
+
react_1.default.createElement("td", null, "operation"))),
|
51
121
|
react_1.default.createElement("tbody", null, tasks.map((task, key) => {
|
52
122
|
return react_1.default.createElement("tr", { key: key },
|
53
123
|
react_1.default.createElement("td", null, task.filename),
|
@@ -55,8 +125,18 @@ let TaskManageController = class TaskManageController {
|
|
55
125
|
react_1.default.createElement("td", { id: task.filename + '-total' }, task.totalSize),
|
56
126
|
react_1.default.createElement("td", { id: task.filename + '-size' }, task.size),
|
57
127
|
react_1.default.createElement("td", { id: task.filename + '-upload-size' }, task.uploadSize),
|
58
|
-
react_1.default.createElement("td", { id: task.filename + '-upload-url' },
|
59
|
-
|
128
|
+
react_1.default.createElement("td", { id: task.filename + '-upload-url' },
|
129
|
+
react_1.default.createElement("a", { href: task.uploadUrl }, "download")),
|
130
|
+
react_1.default.createElement("td", { id: task.filename + '-operation-td' }));
|
131
|
+
}))),
|
132
|
+
react_1.default.createElement("nav", null,
|
133
|
+
react_1.default.createElement("ul", { className: "pagination" },
|
134
|
+
react_1.default.createElement("li", { className: "page-item" },
|
135
|
+
react_1.default.createElement("a", { className: "page-link", href: preUrl }, "Previous")),
|
136
|
+
pages.map(page => react_1.default.createElement("li", { className: "page-item" },
|
137
|
+
react_1.default.createElement("a", { className: "page-link", href: page.link }, page.index))),
|
138
|
+
react_1.default.createElement("li", { className: "page-item" },
|
139
|
+
react_1.default.createElement("a", { className: "page-link", href: nextUrl }, "Next")))))),
|
60
140
|
react_1.default.createElement("script", { src: "/@nger/fk-upload/static/task-manage.js?t=" + new Date().getTime() }));
|
61
141
|
}
|
62
142
|
staticTaskManage(ctx) {
|
@@ -72,8 +152,9 @@ let TaskManageController = class TaskManageController {
|
|
72
152
|
};
|
73
153
|
tslib_1.__decorate([
|
74
154
|
(0, http_1.Get)('task-manage'),
|
155
|
+
tslib_1.__param(0, (0, http_1.Query)()),
|
75
156
|
tslib_1.__metadata("design:type", Function),
|
76
|
-
tslib_1.__metadata("design:paramtypes", []),
|
157
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
77
158
|
tslib_1.__metadata("design:returntype", Promise)
|
78
159
|
], TaskManageController.prototype, "taskManage", null);
|
79
160
|
tslib_1.__decorate([
|
@@ -37,9 +37,12 @@ class EffectTask extends rabbitmq_1.Task {
|
|
37
37
|
await complete();
|
38
38
|
return next && next();
|
39
39
|
}
|
40
|
-
const fail = injector.get(rabbitmq_1.FAIL);
|
41
40
|
const w7 = injector.get(w7_1.W7DataSource);
|
42
|
-
|
41
|
+
let uploadUrl = task.uploadUrl;
|
42
|
+
if (uploadUrl.startsWith('https://29294142.s21i.faiusr.com')) {
|
43
|
+
uploadUrl = uploadUrl.replace('https://29294142.s21i.faiusr.com', 'https://29294142.s21v.faiusr.com');
|
44
|
+
}
|
45
|
+
await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 3, uploadUrl });
|
43
46
|
if (task.topicId) {
|
44
47
|
try {
|
45
48
|
await (0, fs_extra_1.unlink)(task.path);
|