@nger/fk-upload 1.0.161 → 1.0.165
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/{tests/test.d.ts → electon.d.ts} +0 -0
- package/dist/electon.js +70 -0
- package/dist/templates/add-fk-login.js +1 -3
- package/dist/templates/add-task.d.ts +1 -1
- package/dist/templates/add-task.js +11 -5
- package/dist/templates/code.js +2 -1
- package/dist/templates/component.js +1 -1
- package/dist/templates/help.js +0 -1
- package/dist/templates/setting.d.ts +1 -3
- package/dist/templates/setting.js +2 -5
- package/dist/templates/task-manage.d.ts +5 -1
- package/dist/templates/task-manage.js +71 -34
- package/dist/templates/tasks/upload-task.js +11 -6
- package/electron/.env +32 -0
- package/electron/package.json +31 -0
- package/electron/pnpm-lock.yaml +2888 -0
- package/env.env +30 -0
- package/package.json +14 -5
- package/pnpm-lock.yaml +1847 -103
- package/dist/entities/fk-login-account.entity.d.ts +0 -6
- package/dist/entities/fk-login-account.entity.js +0 -47
- package/dist/fk-upload.controller.d.ts +0 -28
- package/dist/fk-upload.controller.js +0 -271
- package/dist/fk-v2.service.d.ts +0 -29
- package/dist/fk-v2.service.js +0 -152
- package/dist/fk.service.d.ts +0 -17
- package/dist/fk.service.js +0 -89
- package/dist/templates/account-manage.d.ts +0 -3
- package/dist/templates/account-manage.js +0 -27
- package/dist/templates/add-account.d.ts +0 -0
- package/dist/templates/add-account.js +0 -1
- package/dist/templates/create-download-task.d.ts +0 -0
- package/dist/templates/create-download-task.js +0 -1
- package/dist/templates/download-task.d.ts +0 -10
- package/dist/templates/download-task.js +0 -47
- package/dist/templates/login.service.d.ts +0 -2
- package/dist/templates/login.service.js +0 -16
- package/dist/templates/receive-shedule-task.d.ts +0 -14
- package/dist/templates/receive-shedule-task.js +0 -64
- package/dist/templates/relogin.d.ts +0 -5
- package/dist/templates/relogin.js +0 -25
- package/dist/templates/task-types.d.ts +0 -34
- package/dist/templates/task-types.js +0 -2
- package/dist/templates/task.service.d.ts +0 -0
- package/dist/templates/task.service.js +0 -407
- package/dist/templates/tasks/create-download-task.d.ts +0 -12
- package/dist/templates/tasks/create-download-task.js +0 -65
- package/dist/templates/tasks/index.d.ts +0 -0
- package/dist/templates/tasks/index.js +0 -1
- package/dist/templates/tasks/receive-shedule-task.d.ts +0 -16
- package/dist/templates/tasks/receive-shedule-task.js +0 -66
- package/dist/templates/upload.service.d.ts +0 -0
- package/dist/templates/upload.service.js +0 -1
- package/dist/tests/test.js +0 -101
@@ -1,12 +0,0 @@
|
|
1
|
-
import { Injector } from '@nger/core';
|
2
|
-
import { Db } from '@nger/typeorm';
|
3
|
-
import { DownloadTask } from '../task-types';
|
4
|
-
import { RabbitMqService } from '@nger/rabbitmq';
|
5
|
-
export declare class CreateDownloadTask {
|
6
|
-
private injector;
|
7
|
-
private db;
|
8
|
-
private rabbit;
|
9
|
-
constructor(injector: Injector, db: Db, rabbit: RabbitMqService);
|
10
|
-
createDownLoadTask(url: string, fkLoginId: number, topicId: number): Promise<void>;
|
11
|
-
addDownloadTask(task: DownloadTask): Promise<void>;
|
12
|
-
}
|
@@ -1,65 +0,0 @@
|
|
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.CreateDownloadTask = void 0;
|
16
|
-
const core_1 = require("@nger/core");
|
17
|
-
const cids_1 = __importDefault(require("cids"));
|
18
|
-
const fs_extra_1 = require("fs-extra");
|
19
|
-
const multihashing_async_1 = __importDefault(require("multihashing-async"));
|
20
|
-
const path_1 = require("path");
|
21
|
-
const entities_1 = require("../../entities");
|
22
|
-
const typeorm_1 = require("@nger/typeorm");
|
23
|
-
const rabbitmq_1 = require("@nger/rabbitmq");
|
24
|
-
let CreateDownloadTask = class CreateDownloadTask {
|
25
|
-
injector;
|
26
|
-
db;
|
27
|
-
rabbit;
|
28
|
-
constructor(injector, db, rabbit) {
|
29
|
-
this.injector = injector;
|
30
|
-
this.db = db;
|
31
|
-
this.rabbit = rabbit;
|
32
|
-
}
|
33
|
-
async createDownLoadTask(url, fkLoginId, topicId) {
|
34
|
-
const hash = await (0, multihashing_async_1.default)(Buffer.from(url), 'sha1', 16);
|
35
|
-
const cid = new cids_1.default(1, 'raw', hash, 'base64');
|
36
|
-
let filename = encodeURIComponent(cid.toString('base64'));
|
37
|
-
const _url = new URL(url);
|
38
|
-
const filePath = _url.pathname;
|
39
|
-
let ext = (0, path_1.extname)(filePath);
|
40
|
-
filename += ext === '.' ? '.mp4' : ext;
|
41
|
-
const task = new entities_1.FkDownloadTaskEntity();
|
42
|
-
const root = this.injector.get(core_1.APP_ROOT);
|
43
|
-
(0, fs_extra_1.ensureDirSync)((0, path_1.join)(root, 'attachments/fk-upload'));
|
44
|
-
const path = (0, path_1.join)(root, 'attachments/fk-upload', filename);
|
45
|
-
task.filename = filename;
|
46
|
-
task.url = url;
|
47
|
-
task.loginId = fkLoginId;
|
48
|
-
task.totalSize = 0;
|
49
|
-
task.path = path;
|
50
|
-
task.status = 0;
|
51
|
-
task.size = 0;
|
52
|
-
task.topicId = topicId;
|
53
|
-
await this.db.manager.save(task);
|
54
|
-
return this.addDownloadTask(task);
|
55
|
-
}
|
56
|
-
async addDownloadTask(task) {
|
57
|
-
const content = Buffer.from(JSON.stringify(task));
|
58
|
-
await this.rabbit.send('@nger/fk-upload/download-task', content);
|
59
|
-
}
|
60
|
-
};
|
61
|
-
CreateDownloadTask = __decorate([
|
62
|
-
(0, core_1.Injectable)(),
|
63
|
-
__metadata("design:paramtypes", [core_1.Injector, typeorm_1.Db, rabbitmq_1.RabbitMqService])
|
64
|
-
], CreateDownloadTask);
|
65
|
-
exports.CreateDownloadTask = CreateDownloadTask;
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";
|
@@ -1,16 +0,0 @@
|
|
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 "@nger/w7";
|
6
|
-
import { CreateDownloadTask } from "./create-download-task";
|
7
|
-
export declare class ReceiveScheduleTask {
|
8
|
-
private rabbit;
|
9
|
-
private redis;
|
10
|
-
private schedule;
|
11
|
-
private db;
|
12
|
-
private w7;
|
13
|
-
private createDownloadTask;
|
14
|
-
constructor(rabbit: RabbitMqService, redis: RedisService, schedule: ScheduleService, db: Db, w7: W7DataSource, createDownloadTask: CreateDownloadTask);
|
15
|
-
receiveScheduleTask(runner: Function): Promise<void>;
|
16
|
-
}
|
@@ -1,66 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ReceiveScheduleTask = void 0;
|
4
|
-
const w7_1 = require("@nger/w7");
|
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
|
-
createDownloadTask;
|
14
|
-
constructor(rabbit, redis, schedule, db, w7, createDownloadTask) {
|
15
|
-
this.rabbit = rabbit;
|
16
|
-
this.redis = redis;
|
17
|
-
this.schedule = schedule;
|
18
|
-
this.db = db;
|
19
|
-
this.w7 = w7;
|
20
|
-
this.createDownloadTask = createDownloadTask;
|
21
|
-
}
|
22
|
-
async receiveScheduleTask(runner) {
|
23
|
-
const obs = await this.rabbit.receive(`@nger/fk-upload/schedule-task`);
|
24
|
-
obs.subscribe({
|
25
|
-
next: async ([data, complete, fail]) => {
|
26
|
-
try {
|
27
|
-
const task = JSON.parse(data);
|
28
|
-
const setting = await this.redis.get(`setting`);
|
29
|
-
if (!setting) {
|
30
|
-
return complete();
|
31
|
-
}
|
32
|
-
if (task.name === setting.name) {
|
33
|
-
console.log(`shedule job regist ${task.name}`);
|
34
|
-
this.schedule.scheduleJob(task.name, task.rule, async (time) => {
|
35
|
-
const accounts = await this.db.manager.find(entities_1.FkLoginEntity, {});
|
36
|
-
const w7Usernames = accounts.map(account => account.w7Username);
|
37
|
-
const users = await this.w7.manager.find(w7_1.W7UsersEntity, { where: { username: (0, typeorm_1.In)(w7Usernames) } });
|
38
|
-
const uids = users.map(user => user.uid);
|
39
|
-
const uniAccounts = await this.w7.manager.find(w7_1.W7UniAccountEntity, { where: { createUid: (0, typeorm_1.In)(uids) } });
|
40
|
-
const uniacids = uniAccounts.map(a => a.uniacid);
|
41
|
-
const tasks = await this.db.manager.find(entities_1.FkDownloadTaskEntity, { select: ['topicId'] });
|
42
|
-
const ids = tasks.map(task => task.topicId);
|
43
|
-
const topics = await this.w7.manager.find(w7_1.W7ChatTopicEntity, { where: { uniacid: (0, typeorm_1.In)(uniacids), id: (0, typeorm_1.Not)((0, typeorm_1.In)(ids)) } });
|
44
|
-
topics.map(topic => {
|
45
|
-
if (topic.thirdUrl) {
|
46
|
-
const uniacid = topic.uniacid;
|
47
|
-
const account = uniAccounts.find(a => a.uniacid === uniacid);
|
48
|
-
const user = users.find(u => u.uid === account.createUid);
|
49
|
-
const login = accounts.find(a => a.w7Username === user.username);
|
50
|
-
this.createDownloadTask.createDownLoadTask(topic.thirdUrl, login.fkLoginId, topic.id);
|
51
|
-
}
|
52
|
-
});
|
53
|
-
});
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
complete();
|
57
|
-
}
|
58
|
-
}
|
59
|
-
catch (e) {
|
60
|
-
fail();
|
61
|
-
}
|
62
|
-
}
|
63
|
-
});
|
64
|
-
}
|
65
|
-
}
|
66
|
-
exports.ReceiveScheduleTask = ReceiveScheduleTask;
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";
|
package/dist/tests/test.js
DELETED
@@ -1,101 +0,0 @@
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.AppModule = void 0;
|
13
|
-
require("reflect-metadata");
|
14
|
-
require('dotenv').config();
|
15
|
-
const core_1 = require("@nger/core");
|
16
|
-
const core_2 = require("@nger/core");
|
17
|
-
const fk_upload_module_1 = require("../fk-upload.module");
|
18
|
-
const typeorm_1 = require("@nger/typeorm");
|
19
|
-
const fk_service_1 = require("../fk.service");
|
20
|
-
const fk_v2_service_1 = require("../fk-v2.service");
|
21
|
-
const fs_1 = require("fs");
|
22
|
-
const path_1 = require("path");
|
23
|
-
let AppModule = class AppModule {
|
24
|
-
};
|
25
|
-
AppModule = __decorate([
|
26
|
-
(0, core_2.Module)({
|
27
|
-
providers: [{
|
28
|
-
provide: core_1.APP_ROOT,
|
29
|
-
useValue: process.cwd()
|
30
|
-
}],
|
31
|
-
imports: [
|
32
|
-
fk_upload_module_1.FkUploadModule,
|
33
|
-
typeorm_1.TypeormModule.forEnv()
|
34
|
-
],
|
35
|
-
controllers: []
|
36
|
-
})
|
37
|
-
], AppModule);
|
38
|
-
exports.AppModule = AppModule;
|
39
|
-
const axios_1 = __importDefault(require("axios"));
|
40
|
-
const form_data_1 = __importDefault(require("form-data"));
|
41
|
-
(0, core_1.platformCore)().bootstrap(AppModule).then(async (res) => {
|
42
|
-
const db = res.get(typeorm_1.Db);
|
43
|
-
const fk = res.get(fk_service_1.FkService);
|
44
|
-
const smr00 = await fk.getFkLogin(`smr00`);
|
45
|
-
if (smr00) {
|
46
|
-
const fkv2 = new fk_v2_service_1.FkV2Service(smr00, db, res);
|
47
|
-
await fkv2.init();
|
48
|
-
const token = await fkv2.genAccessKey();
|
49
|
-
const watermark = await fkv2.getWatermark();
|
50
|
-
const file = (0, fs_1.createReadStream)((0, path_1.join)(__dirname, './2.jpeg'));
|
51
|
-
if (token) {
|
52
|
-
const uploadUrl = fkv2.getUploadUrl(token);
|
53
|
-
const formdata = new form_data_1.default();
|
54
|
-
formdata.append('ctrl', file);
|
55
|
-
formdata.append('fileName', `2.jpeg`);
|
56
|
-
formdata.append('isFreeVer', `false`);
|
57
|
-
formdata.append('aid', fkv2.aid || 0);
|
58
|
-
formdata.append('folderId', fkv2.siteId || 0);
|
59
|
-
const bssInfo = {
|
60
|
-
// 是否上传到资源库
|
61
|
-
fromSite: true,
|
62
|
-
// 站点
|
63
|
-
siteId: fkv2.aid || 0,
|
64
|
-
// 文件夹
|
65
|
-
groupId: fkv2.siteId || 0,
|
66
|
-
// 文件大小限制
|
67
|
-
fileSizeLimit: fkv2.fileSizeLimit * 1024 * 1024
|
68
|
-
// waterMark
|
69
|
-
};
|
70
|
-
formdata.append('bssInfo', JSON.stringify(bssInfo));
|
71
|
-
const headers = formdata.getHeaders();
|
72
|
-
const res = await axios_1.default.put(uploadUrl, formdata, {
|
73
|
-
headers: {
|
74
|
-
...headers,
|
75
|
-
'Cookie': await fkv2.getCookies()
|
76
|
-
}
|
77
|
-
});
|
78
|
-
debugger;
|
79
|
-
// const req = Request.post(uploadUrl, {
|
80
|
-
// body: formdata,
|
81
|
-
// headers: {
|
82
|
-
// ...headers,
|
83
|
-
// 'Cookie': await fkv2.getCookies()
|
84
|
-
// }
|
85
|
-
// });
|
86
|
-
// req.on('data', (chunk) => {
|
87
|
-
// const str = chunk.toString('utf-8')
|
88
|
-
// debugger;
|
89
|
-
// })
|
90
|
-
// // const url = new URL(uploadUrl)
|
91
|
-
// formdata.submit(uploadUrl, (err, res) => {
|
92
|
-
// res.on('data', (buf: Buffer) => {
|
93
|
-
// const d = buf.toString('utf8');
|
94
|
-
// debugger;
|
95
|
-
// });
|
96
|
-
// });
|
97
|
-
// let token: any = JSON.parse(res)
|
98
|
-
// console.log({ data: res.data, watermark })
|
99
|
-
}
|
100
|
-
}
|
101
|
-
});
|