@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("ul", { className: "nav nav-pills" }, navs.map((nav, key) => {
26
- let cls = `nav-link`;
27
- if (props.active === key) {
28
- cls += ` active`;
29
- }
30
- return react_1.default.createElement("li", { key: key, className: "nav-item" },
31
- react_1.default.createElement("a", { className: cls, href: nav.link }, nav.title));
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
- taskManage(): Promise<JSX.Element>;
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
- default:
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
- async taskManage() {
33
- const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { where: {}, order: { createDate: "DESC" }, take: 50 });
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' }, task.uploadUrl));
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
- await db.manager.update(entities_1.FkDownloadTaskEntity, task.filename, { status: 3 });
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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nger/fk-upload",
3
- "version": "1.0.134",
3
+ "version": "1.0.138",
4
4
  "description": "",
5
5
  "main": "dist/core.js",
6
6
  "types": "dist/core.d.ts",