@nger/fk-upload 1.0.182 → 1.0.186

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,11 +3,13 @@ import { Config } from '@nger/core';
3
3
  import { Db } from '@nger/typeorm';
4
4
  import { Context } from 'koa';
5
5
  import { BrowserWindow } from 'electron';
6
+ import { W7DataSource } from '@nger/w7';
6
7
  export declare class TaskManageController {
7
8
  private db;
8
9
  private config;
9
10
  private win;
10
- constructor(db: Db, config: Config, win: BrowserWindow);
11
+ private w7;
12
+ constructor(db: Db, config: Config, win: BrowserWindow, w7: W7DataSource);
11
13
  toUrl(query: any): string;
12
14
  createPages(total: number, query: any, page: number): {
13
15
  index: number;
@@ -17,4 +19,5 @@ export declare class TaskManageController {
17
19
  taskManage(query: any): Promise<JSX.Element>;
18
20
  downloadFile(url: string, back: string, ctx: Context): void;
19
21
  staticTaskManage(ctx: Context): any;
22
+ finishTask(filename: string, callback: string, ctx: Context): Promise<void>;
20
23
  }
@@ -13,26 +13,29 @@ const path_1 = require("path");
13
13
  function getStatusTitle(status) {
14
14
  switch (status) {
15
15
  case 0:
16
- return 'downloading';
16
+ return '待下载';
17
17
  case 1:
18
- return 'uploading';
18
+ return '待上传';
19
19
  case 2:
20
- return 'effecting';
20
+ return '待生效';
21
21
  case 3:
22
- return 'finish';
22
+ return '已完成';
23
23
  default:
24
- return 'unknow';
24
+ return '未知';
25
25
  }
26
26
  }
27
27
  const electron_1 = require("electron");
28
+ const w7_1 = require("@nger/w7");
28
29
  let TaskManageController = class TaskManageController {
29
30
  db;
30
31
  config;
31
32
  win;
32
- constructor(db, config, win) {
33
+ w7;
34
+ constructor(db, config, win, w7) {
33
35
  this.db = db;
34
36
  this.config = config;
35
37
  this.win = win;
38
+ this.w7 = w7;
36
39
  }
37
40
  toUrl(query) {
38
41
  return Object.keys(query).map(key => `${key}=${decodeURIComponent(query[key])}`).join('&');
@@ -99,6 +102,12 @@ let TaskManageController = class TaskManageController {
99
102
  const take = psize;
100
103
  const skip = (page - 1) * psize;
101
104
  const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { where, order: { createDate: "DESC" }, take, skip });
105
+ await Promise.all(tasks.map(async (task) => {
106
+ const topic = await this.w7.manager.findOne(w7_1.W7ChatTopicEntity, { where: { id: task.topicId } });
107
+ if (topic) {
108
+ Reflect.set(topic, 'topicName', topic.topicName);
109
+ }
110
+ }));
102
111
  const count = await this.db.manager.count(entities_1.FkDownloadTaskEntity, { where });
103
112
  // const downloadSize = await this.db.manager.find();
104
113
  const totalPage = Math.ceil(count / psize);
@@ -147,6 +156,9 @@ let TaskManageController = class TaskManageController {
147
156
  link: `/@nger/fk-upload/task-manage?${this.toUrl({ ...query, status: 3, page: 1 })}`,
148
157
  key: 3
149
158
  }];
159
+ const finishUrl = (filename) => `/@nger/fk-upload/finish-task?ffilename=${filename}&callback=/@nger/fk-uplaod/task-manage?${this.toUrl({
160
+ ...query
161
+ })}`;
150
162
  const logins = await this.db.manager.find(entities_1.FkLoginEntity, { where: {} });
151
163
  const getLogin = (id) => {
152
164
  return logins.find(it => it.fkLoginId = id);
@@ -184,6 +196,8 @@ let TaskManageController = class TaskManageController {
184
196
  react_1.default.createElement("td", null),
185
197
  react_1.default.createElement("td", null),
186
198
  react_1.default.createElement("td", null),
199
+ react_1.default.createElement("td", null, "\u65F6\u95F4"),
200
+ react_1.default.createElement("td", null, "\u8BFE\u7A0B\u6807\u9898"),
187
201
  react_1.default.createElement("td", null, "\u64CD\u4F5C"))),
188
202
  react_1.default.createElement("tbody", null, tasks.map((task, key) => {
189
203
  const login = getLogin(task.loginId);
@@ -205,11 +219,15 @@ let TaskManageController = class TaskManageController {
205
219
  react_1.default.createElement("td", null, login.username),
206
220
  react_1.default.createElement("td", null, login.pass),
207
221
  react_1.default.createElement("td", null, login.w7Username),
222
+ react_1.default.createElement("td", null, `${task.createDate.getMonth() + 1}月${task.createDate.getDay()}日:${task.createDate.getMinutes()}分`),
223
+ react_1.default.createElement("td", null, Reflect.get(task, 'topicName')),
208
224
  react_1.default.createElement("td", null,
209
225
  react_1.default.createElement("input", { type: "hidden", id: task.filename + '-copy', onChange: () => { }, value: task.uploadUrl }),
210
226
  react_1.default.createElement("a", { className: "btn", target: "_blank", href: url }, "\u4E0B\u8F7D"),
211
227
  "\u00A0",
212
- react_1.default.createElement("a", { className: "btn", target: "_blank", href: `https://wx.jidujiaowang.com/web/index.php?c=site&a=entry&topic_id=${task.topicId}&do=topic_add&m=dg_chat` }, "\u7F16\u8F91")));
228
+ react_1.default.createElement("a", { className: "btn", target: "_blank", href: `https://wx.jidujiaowang.com/web/index.php?c=site&a=entry&topic_id=${task.topicId}&do=topic_add&m=dg_chat` }, "\u7F16\u8F91"),
229
+ "\u00A0",
230
+ react_1.default.createElement("a", { className: "btn", href: finishUrl(task.filename) }, "\u5B8C\u6210")));
213
231
  }))),
214
232
  react_1.default.createElement("nav", null,
215
233
  react_1.default.createElement("ul", { className: "pagination" },
@@ -240,6 +258,10 @@ let TaskManageController = class TaskManageController {
240
258
  return e.message;
241
259
  }
242
260
  }
261
+ async finishTask(filename, callback, ctx) {
262
+ await this.db.manager.update(entities_1.FkDownloadTaskEntity, filename, { status: 3 });
263
+ ctx.redirect(callback);
264
+ }
243
265
  };
244
266
  tslib_1.__decorate([
245
267
  (0, http_1.Get)('task-manage'),
@@ -264,8 +286,17 @@ tslib_1.__decorate([
264
286
  tslib_1.__metadata("design:paramtypes", [Object]),
265
287
  tslib_1.__metadata("design:returntype", void 0)
266
288
  ], TaskManageController.prototype, "staticTaskManage", null);
289
+ tslib_1.__decorate([
290
+ (0, http_1.Get)('finish-task'),
291
+ tslib_1.__param(0, (0, http_1.Query)('filename')),
292
+ tslib_1.__param(1, (0, http_1.Query)('callback')),
293
+ tslib_1.__param(2, (0, core_1.Inject)(http_1.CONTEXT)),
294
+ tslib_1.__metadata("design:type", Function),
295
+ tslib_1.__metadata("design:paramtypes", [String, String, Object]),
296
+ tslib_1.__metadata("design:returntype", Promise)
297
+ ], TaskManageController.prototype, "finishTask", null);
267
298
  TaskManageController = tslib_1.__decorate([
268
299
  (0, core_1.Controller)(`@nger/fk-upload`),
269
- tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, core_1.Config, electron_1.BrowserWindow])
300
+ tslib_1.__metadata("design:paramtypes", [typeorm_1.Db, core_1.Config, electron_1.BrowserWindow, w7_1.W7DataSource])
270
301
  ], TaskManageController);
271
302
  exports.TaskManageController = TaskManageController;
@@ -18,16 +18,6 @@ specifiers:
18
18
  reflect-metadata: ^0.1.13
19
19
 
20
20
  dependencies:
21
- '@nger/core': link:../../core
22
- '@nger/fk-upload': link:..
23
- '@nger/http': link:../../http
24
- '@nger/rabbitmq': link:../../rabbitmq
25
- '@nger/redis': link:../../redis
26
- '@nger/schedule': link:../../schedule
27
- '@nger/typeorm': link:../../typeorm
28
- '@nger/utils': link:../../utils
29
- '@nger/w7': link:../../w7
30
- '@nger/ws': link:../../ws
31
21
  dotenv: 16.0.1
32
22
  pm2: 5.2.0
33
23
  reflect-metadata: 0.1.13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nger/fk-upload",
3
- "version": "1.0.182",
3
+ "version": "1.0.186",
4
4
  "description": "nger fk upload",
5
5
  "main": "dist/electon.js",
6
6
  "types": "dist/core.d.ts",