@nger/fk-upload 1.0.3 → 1.0.6
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/entities/fk-download-task.entity.d.ts +12 -0
- package/dist/entities/fk-download-task.entity.js +80 -0
- package/dist/entities/fk-login-account.entity.d.ts +5 -0
- package/dist/entities/fk-login-account.entity.js +38 -0
- package/dist/entities/fk-login-cookie.entity.d.ts +7 -0
- package/dist/entities/fk-login-cookie.entity.js +54 -0
- package/dist/entities/fk-login.entity.d.ts +12 -0
- package/dist/entities/fk-login.entity.js +88 -0
- package/dist/entities/index.d.ts +3 -0
- package/dist/entities/index.js +19 -0
- package/dist/fk-upload.controller.d.ts +9 -2
- package/dist/fk-upload.controller.js +91 -32
- package/dist/fk-upload.module.js +35 -2
- package/dist/fk-v2.service.d.ts +29 -0
- package/dist/fk-v2.service.js +153 -0
- package/dist/fk.service.d.ts +14 -0
- package/dist/fk.service.js +66 -1
- package/dist/login.controller.d.ts +14 -0
- package/dist/login.controller.js +211 -0
- package/dist/main.js +3 -1
- package/dist/templates/account-manage.d.ts +3 -0
- package/dist/templates/account-manage.js +27 -0
- package/dist/templates/add-account.d.ts +0 -0
- package/dist/templates/add-account.js +1 -0
- package/dist/templates/add-fk-login.d.ts +6 -0
- package/dist/templates/add-fk-login.js +68 -0
- package/dist/templates/code.d.ts +3 -0
- package/dist/templates/code.js +51 -0
- package/dist/templates/component.d.ts +9 -0
- package/dist/templates/component.js +34 -0
- package/dist/templates/download-task.d.ts +10 -0
- package/dist/templates/download-task.js +183 -0
- package/dist/templates/help.d.ts +7 -0
- package/dist/templates/help.js +88 -0
- package/dist/templates/login.service.d.ts +2 -0
- package/dist/templates/login.service.js +16 -0
- package/dist/templates/relogin.d.ts +5 -0
- package/dist/templates/relogin.js +25 -0
- package/dist/templates/task-manage.d.ts +6 -0
- package/dist/templates/task-manage.js +78 -0
- package/dist/templates/upload-task.d.ts +10 -0
- package/dist/templates/upload-task.js +157 -0
- package/dist/templates/upload.d.ts +15 -0
- package/dist/templates/upload.js +245 -0
- package/dist/templates/verify.d.ts +15 -0
- package/dist/templates/verify.js +75 -0
- package/dist/tests/test.d.ts +3 -0
- package/dist/tests/test.js +101 -0
- package/dist/urlSafeBase64Decode.d.ts +3 -0
- package/dist/urlSafeBase64Decode.js +37 -0
- package/package.json +12 -4
- package/pnpm-lock.yaml +1026 -0
- package/readme.md +11 -0
- package/src/core.ts +0 -1
- package/src/fk-upload.controller.ts +0 -135
- package/src/fk-upload.module.ts +0 -13
- package/src/fk.service.ts +0 -14
- package/src/index.html +0 -20
- package/src/main.ts +0 -20
@@ -0,0 +1,153 @@
|
|
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.FkV2Service = void 0;
|
16
|
+
const core_1 = require("@nger/core");
|
17
|
+
const typeorm_1 = require("@nger/typeorm");
|
18
|
+
const entities_1 = require("./entities");
|
19
|
+
const axios_1 = __importDefault(require("axios"));
|
20
|
+
const urlSafeBase64Decode_1 = require("./urlSafeBase64Decode");
|
21
|
+
let FkV2Service = class FkV2Service {
|
22
|
+
fkLogin;
|
23
|
+
db;
|
24
|
+
injector;
|
25
|
+
baseurl = `https://smr00.vip.webportal.top/`;
|
26
|
+
get urlSafeBase64() {
|
27
|
+
return this.injector.get(urlSafeBase64Decode_1.UrlSafeBase64);
|
28
|
+
}
|
29
|
+
aid;
|
30
|
+
siteId;
|
31
|
+
get fileSizeLimit() {
|
32
|
+
return this.fkLogin.fileSizeLimit;
|
33
|
+
}
|
34
|
+
constructor(fkLogin, db, injector) {
|
35
|
+
this.fkLogin = fkLogin;
|
36
|
+
this.db = db;
|
37
|
+
this.injector = injector;
|
38
|
+
}
|
39
|
+
async init() {
|
40
|
+
return this.get(`https://i.vip.webportal.top/`).then(async (html) => {
|
41
|
+
this.aid = this.getAid(html);
|
42
|
+
this.siteId = this.getSiteId(html);
|
43
|
+
await this.db.manager.update(entities_1.FkLoginEntity, this.fkLogin.fkLoginId, {
|
44
|
+
aid: this.aid || 0,
|
45
|
+
uploadGroupId: this.siteId || 0
|
46
|
+
});
|
47
|
+
return html;
|
48
|
+
});
|
49
|
+
}
|
50
|
+
async updateToken(token) {
|
51
|
+
await this.db.manager.update(entities_1.FkLoginEntity, this.fkLogin.fkLoginId, {
|
52
|
+
token
|
53
|
+
});
|
54
|
+
}
|
55
|
+
// Fai.top._siteId
|
56
|
+
getSiteId(html) {
|
57
|
+
const list = html.match(/Fai.top._siteId = (.*),/);
|
58
|
+
if (list && list.length === 2)
|
59
|
+
return Number(list[1]);
|
60
|
+
return undefined;
|
61
|
+
}
|
62
|
+
getAid(html) {
|
63
|
+
const list = html.match(/Fai.top._aid = (.*),/);
|
64
|
+
if (list && list.length === 2)
|
65
|
+
return Number(list[1]);
|
66
|
+
return undefined;
|
67
|
+
}
|
68
|
+
async getCookies() {
|
69
|
+
const cookies = await this.db.manager.find(entities_1.FkLoginCookieEntity, { where: { fkLoginId: this.fkLogin.fkLoginId } });
|
70
|
+
const cookieStr = cookies.map(cookie => `${cookie.key}=${cookie.value}`).join(';');
|
71
|
+
return cookieStr;
|
72
|
+
}
|
73
|
+
async genAccessKey() {
|
74
|
+
const url = `${this.baseurl}/api/manage/advanceUpload/genAccessKey`;
|
75
|
+
const res = await this.get(url);
|
76
|
+
if (res.success) {
|
77
|
+
const str = this.urlSafeBase64.decode(res.accessKey);
|
78
|
+
if (str) {
|
79
|
+
const obj = JSON.parse(str);
|
80
|
+
return obj;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
getUploadUrl(token) {
|
85
|
+
return `https://${token.url}/${token.visitType}/${token.app}/upload?cmd=${token.cmd}&token=${token.token}`;
|
86
|
+
}
|
87
|
+
async getWatermark() {
|
88
|
+
const url = `${this.baseurl}/api/manage/advanceUpload/getWatermark`;
|
89
|
+
const res = await this.get(url);
|
90
|
+
if (res.success) {
|
91
|
+
return res.waterMark;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
_uTime = new Date().getTime();
|
95
|
+
async advanceUploadReport(tempFile, tempType, tempFlag) {
|
96
|
+
const url = `${this.baseurl}/ajax/advanceUpload.jsp?cmd=_report`;
|
97
|
+
const tempTime = new Date().getTime() - this._uTime;
|
98
|
+
const tempSize = tempFile.size;
|
99
|
+
const tempName = tempFile.name;
|
100
|
+
const res = await this.post(url, { "type": tempType, "size": tempSize, "time": tempTime, "flag": tempFlag, "name": tempName });
|
101
|
+
debugger;
|
102
|
+
}
|
103
|
+
async get(url) {
|
104
|
+
return axios_1.default.get(url, {
|
105
|
+
headers: {
|
106
|
+
Cookie: await this.getCookies()
|
107
|
+
}
|
108
|
+
}).then(res => {
|
109
|
+
const cookies = res.headers['set-cookie'];
|
110
|
+
console.log(cookies);
|
111
|
+
return res.data;
|
112
|
+
});
|
113
|
+
}
|
114
|
+
async post(url, data) {
|
115
|
+
return axios_1.default.post(url, this.encodeURIComponent(data), {
|
116
|
+
headers: {
|
117
|
+
Cookie: await this.getCookies()
|
118
|
+
}
|
119
|
+
}).then(res => res.data);
|
120
|
+
}
|
121
|
+
encodeURIComponent(data) {
|
122
|
+
return Object.keys(data).map(key => {
|
123
|
+
const value = Reflect.get(data, key);
|
124
|
+
return `${key}=${encodeURIComponent(value)}`;
|
125
|
+
}).join('&');
|
126
|
+
}
|
127
|
+
upload() {
|
128
|
+
// get /api/manage/advanceUpload/genAccessKey
|
129
|
+
// get /api/manage/advanceUpload/getWatermark
|
130
|
+
// post /ajax/advanceUpload.jsp?cmd=_report
|
131
|
+
// file, accessKey
|
132
|
+
// var bssInfo = {
|
133
|
+
// fromSite: true,
|
134
|
+
// siteId: Fai.top._siteId || 0,
|
135
|
+
// groupId: upload_groupId,
|
136
|
+
// fileSizeLimit: file_size_limit,
|
137
|
+
// }
|
138
|
+
// if(watermarkUse) {
|
139
|
+
// bssInfo.waterMark = waterMark
|
140
|
+
// }
|
141
|
+
// var params = {
|
142
|
+
// isFreeVer:(false || false == true),//是否为免费版
|
143
|
+
// aid: Fai.top._aid,
|
144
|
+
// folderId: Fai.top._siteId || 0,
|
145
|
+
// bssInfo: JSON.stringify(bssInfo)
|
146
|
+
// }
|
147
|
+
}
|
148
|
+
};
|
149
|
+
FkV2Service = __decorate([
|
150
|
+
(0, core_1.Injectable)(),
|
151
|
+
__metadata("design:paramtypes", [entities_1.FkLoginEntity, typeorm_1.Db, core_1.Injector])
|
152
|
+
], FkV2Service);
|
153
|
+
exports.FkV2Service = FkV2Service;
|
package/dist/fk.service.d.ts
CHANGED
@@ -1,4 +1,18 @@
|
|
1
|
+
import { Injector } from '@nger/core';
|
2
|
+
import { Db } from '@nger/typeorm';
|
3
|
+
import { FkLoginCookieEntity, FkLoginEntity } from './entities';
|
4
|
+
import { FkV2Service } from './fk-v2.service';
|
1
5
|
export declare class FkService {
|
6
|
+
db: Db;
|
7
|
+
private injector;
|
2
8
|
cookies: Map<string, any>;
|
9
|
+
constructor(db: Db, injector: Injector);
|
10
|
+
saveLogin(username: string, password: string): Promise<FkLoginEntity | null>;
|
11
|
+
updateFkLoginToken(token: string, fkLoginId: number): Promise<any>;
|
3
12
|
getCookie(): string;
|
13
|
+
getCloudUrl(url: string): void;
|
14
|
+
getFkLogin(username: string): Promise<FkLoginEntity | null>;
|
15
|
+
getFkLoginCookie(fkLoginId: number): Promise<FkLoginCookieEntity[]>;
|
16
|
+
createV2(login: FkLoginEntity): Promise<FkV2Service>;
|
17
|
+
saveCookie(fkLoginId: number): Promise<void>;
|
4
18
|
}
|
package/dist/fk.service.js
CHANGED
@@ -5,11 +5,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
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
|
+
};
|
8
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
9
15
|
exports.FkService = void 0;
|
10
16
|
const core_1 = require("@nger/core");
|
17
|
+
const typeorm_1 = require("@nger/typeorm");
|
18
|
+
const entities_1 = require("./entities");
|
19
|
+
const request_1 = __importDefault(require("request"));
|
20
|
+
const fs_1 = require("fs");
|
21
|
+
const path_1 = require("path");
|
22
|
+
const fk_v2_service_1 = require("./fk-v2.service");
|
11
23
|
let FkService = class FkService {
|
24
|
+
db;
|
25
|
+
injector;
|
12
26
|
cookies = new Map();
|
27
|
+
constructor(db, injector) {
|
28
|
+
this.db = db;
|
29
|
+
this.injector = injector;
|
30
|
+
}
|
31
|
+
async saveLogin(username, password) {
|
32
|
+
let item = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { username } });
|
33
|
+
if (!item && username && password) {
|
34
|
+
const login = new entities_1.FkLoginEntity();
|
35
|
+
login.username = username;
|
36
|
+
login.password = password;
|
37
|
+
item = await this.db.manager.save(entities_1.FkLoginEntity, login);
|
38
|
+
}
|
39
|
+
return item;
|
40
|
+
}
|
41
|
+
async updateFkLoginToken(token, fkLoginId) {
|
42
|
+
return this.db.manager.update(entities_1.FkLoginEntity, fkLoginId, { token });
|
43
|
+
}
|
13
44
|
getCookie() {
|
14
45
|
let cookies = [];
|
15
46
|
this.cookies.forEach((value, key) => {
|
@@ -17,8 +48,42 @@ let FkService = class FkService {
|
|
17
48
|
});
|
18
49
|
return cookies.join(';');
|
19
50
|
}
|
51
|
+
getCloudUrl(url) {
|
52
|
+
const req = (0, request_1.default)({
|
53
|
+
uri: url,
|
54
|
+
method: 'GET'
|
55
|
+
});
|
56
|
+
const out = (0, fs_1.createWriteStream)((0, path_1.join)(__dirname, 'demo.mp4'));
|
57
|
+
req.pipe(out);
|
58
|
+
req.on('end', () => {
|
59
|
+
console.log(`en`);
|
60
|
+
});
|
61
|
+
}
|
62
|
+
getFkLogin(username) {
|
63
|
+
return this.db.manager.findOne(entities_1.FkLoginEntity, { where: { username } });
|
64
|
+
}
|
65
|
+
getFkLoginCookie(fkLoginId) {
|
66
|
+
return this.db.manager.find(entities_1.FkLoginCookieEntity, { where: { fkLoginId } });
|
67
|
+
}
|
68
|
+
async createV2(login) {
|
69
|
+
return new fk_v2_service_1.FkV2Service(login, this.db, this.injector);
|
70
|
+
}
|
71
|
+
async saveCookie(fkLoginId) {
|
72
|
+
const cookies = this.cookies;
|
73
|
+
const list = await this.db.manager.find(entities_1.FkLoginCookieEntity, { where: { fkLoginId } });
|
74
|
+
await this.db.manager.remove(list);
|
75
|
+
const cookieEntities = [...cookies.entries()].map(([k, v]) => {
|
76
|
+
const cookie = new entities_1.FkLoginCookieEntity();
|
77
|
+
cookie.fkLoginId = fkLoginId;
|
78
|
+
cookie.key = k;
|
79
|
+
cookie.value = v;
|
80
|
+
return cookie;
|
81
|
+
});
|
82
|
+
await this.db.manager.save(entities_1.FkLoginCookieEntity, cookieEntities);
|
83
|
+
}
|
20
84
|
};
|
21
85
|
FkService = __decorate([
|
22
|
-
(0, core_1.Injectable)()
|
86
|
+
(0, core_1.Injectable)(),
|
87
|
+
__metadata("design:paramtypes", [typeorm_1.Db, core_1.Injector])
|
23
88
|
], FkService);
|
24
89
|
exports.FkService = FkService;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Context } from 'koa';
|
2
|
+
import { Db } from '@nger/typeorm';
|
3
|
+
export declare class LoginController {
|
4
|
+
private db;
|
5
|
+
cookies: Map<string, Map<string, string>>;
|
6
|
+
constructor(db: Db);
|
7
|
+
login(loginId: string, ctx: Context): Promise<any>;
|
8
|
+
relogin(token: string, loginId: string, ctx: Context): Promise<"login success" | undefined>;
|
9
|
+
private tryLogin;
|
10
|
+
logDog(arg0: number, arg1: number): void;
|
11
|
+
private loginSuccess;
|
12
|
+
private toCookie;
|
13
|
+
private toUrl;
|
14
|
+
}
|
@@ -0,0 +1,211 @@
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
13
|
+
};
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.LoginController = void 0;
|
19
|
+
const core_1 = require("@nger/core");
|
20
|
+
const http_1 = require("@nger/http");
|
21
|
+
const axios_1 = __importDefault(require("axios"));
|
22
|
+
const typeorm_1 = require("@nger/typeorm");
|
23
|
+
const entities_1 = require("./entities");
|
24
|
+
let LoginController = class LoginController {
|
25
|
+
db;
|
26
|
+
cookies = new Map();
|
27
|
+
constructor(db) {
|
28
|
+
this.db = db;
|
29
|
+
}
|
30
|
+
async login(loginId, ctx) {
|
31
|
+
if (!loginId) {
|
32
|
+
ctx.redirect(`/@nger/fk-upload/help`);
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
const loginEntity = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { fkLoginId: Number(loginId) } });
|
36
|
+
if (loginEntity) {
|
37
|
+
const baseUrl = `https://adm.webportal.top`;
|
38
|
+
return axios_1.default.get(baseUrl).then(async (res) => {
|
39
|
+
const map = this.cookies.get(baseUrl) || new Map();
|
40
|
+
const cookies = res.headers['set-cookie'];
|
41
|
+
// const domain
|
42
|
+
if (cookies) {
|
43
|
+
cookies.map(cookie => {
|
44
|
+
const list = cookie.split(';');
|
45
|
+
list.map(item => {
|
46
|
+
const [name, value] = item.split('=');
|
47
|
+
map.set(name, value);
|
48
|
+
});
|
49
|
+
});
|
50
|
+
}
|
51
|
+
const data = {
|
52
|
+
cacct: loginEntity.username,
|
53
|
+
pwd: loginEntity.password,
|
54
|
+
autoLogin: true,
|
55
|
+
staffLogin: false,
|
56
|
+
};
|
57
|
+
const login = await this.tryLogin(map, data);
|
58
|
+
if (!login.success) {
|
59
|
+
this.cookies.set(baseUrl, map);
|
60
|
+
ctx.redirect(`/@nger/fk-upload/code?loginId=${loginId}`);
|
61
|
+
return;
|
62
|
+
}
|
63
|
+
this.cookies.set(baseUrl, map);
|
64
|
+
return res.data;
|
65
|
+
});
|
66
|
+
}
|
67
|
+
}
|
68
|
+
async relogin(token, loginId, ctx) {
|
69
|
+
if (!loginId || !token) {
|
70
|
+
ctx.redirect('/@nger/fk-upload/help');
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
const baseUrl = `https://adm.webportal.top`;
|
74
|
+
const fkLogin = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { fkLoginId: Number(loginId) } });
|
75
|
+
if (fkLogin) {
|
76
|
+
const map = this.cookies.get(baseUrl);
|
77
|
+
if (!map) {
|
78
|
+
ctx.redirect('/@nger/fk-upload/login?loginId=' + loginId);
|
79
|
+
return;
|
80
|
+
}
|
81
|
+
const data = {
|
82
|
+
cacct: fkLogin.username,
|
83
|
+
pwd: fkLogin.password,
|
84
|
+
autoLogin: true,
|
85
|
+
staffLogin: false,
|
86
|
+
checkSign: token
|
87
|
+
};
|
88
|
+
const login = await this.tryLogin(map, data);
|
89
|
+
if (login.success) {
|
90
|
+
await this.db.manager.update(entities_1.FkLoginEntity, fkLogin.fkLoginId, { aid: login.aid, status: 1 });
|
91
|
+
await this.loginSuccess(fkLogin.fkLoginId, login, fkLogin.pass, map);
|
92
|
+
ctx.redirect('/@nger/fk-upload/help');
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
return `login success`;
|
97
|
+
}
|
98
|
+
async tryLogin(map, data) {
|
99
|
+
return await axios_1.default.post(`https://adm.webportal.top/ajax/login_h.jsp?cmd=loginCorp`, this.toUrl(data), {
|
100
|
+
headers: {
|
101
|
+
[`Content-Type`]: `application/x-www-form-urlencoded; charset=UTF-8`,
|
102
|
+
Cookie: this.toCookie(map)
|
103
|
+
}
|
104
|
+
}).then(async (res) => {
|
105
|
+
const cookies = res.headers['set-cookie'];
|
106
|
+
// const domain
|
107
|
+
if (cookies) {
|
108
|
+
cookies.map(cookie => {
|
109
|
+
const list = cookie.split(';');
|
110
|
+
list.map(item => {
|
111
|
+
const [name, value] = item.split('=');
|
112
|
+
map.set(name, value);
|
113
|
+
});
|
114
|
+
});
|
115
|
+
}
|
116
|
+
const data = res.data;
|
117
|
+
return data;
|
118
|
+
});
|
119
|
+
}
|
120
|
+
logDog(arg0, arg1) { }
|
121
|
+
loginSuccess(loginId, o, pass, map) {
|
122
|
+
const url = `https://adm.webportal.top`;
|
123
|
+
const cookie = this.cookies.get(url) || new Map();
|
124
|
+
this.logDog(100132, 0);
|
125
|
+
const e = pass;
|
126
|
+
let t = 0;
|
127
|
+
/\d/.test(e) && t++;
|
128
|
+
(/[a-z]/.test(e) || /[A-Z]/.test(e)) && t++;
|
129
|
+
(/\W/.test(e) || /[_]/.test(e)) && t++;
|
130
|
+
e.length < 8 && (t = 0);
|
131
|
+
if (t < 2) {
|
132
|
+
map.set('faiIng', `1`);
|
133
|
+
}
|
134
|
+
else {
|
135
|
+
map.set('faiIng', '0');
|
136
|
+
}
|
137
|
+
map.set('hasShowDomainBeianWindow', null);
|
138
|
+
map.set('hasShowBeianSmsTips', null);
|
139
|
+
return axios_1.default.get(url, {
|
140
|
+
headers: {
|
141
|
+
[`Content-Type`]: `text/plain`,
|
142
|
+
Cookie: this.toCookie(map)
|
143
|
+
}
|
144
|
+
}).then(async (res) => {
|
145
|
+
const cookies = res.headers['set-cookie'];
|
146
|
+
if (cookies) {
|
147
|
+
cookies.map(cok => {
|
148
|
+
const list = cok.split(';');
|
149
|
+
list.map(item => {
|
150
|
+
const [name, value] = item.split('=');
|
151
|
+
cookie.set(name, value);
|
152
|
+
});
|
153
|
+
});
|
154
|
+
}
|
155
|
+
this.cookies.set(url, cookie);
|
156
|
+
/**
|
157
|
+
* login success
|
158
|
+
*/
|
159
|
+
const fkLoginCookies = [];
|
160
|
+
this.cookies.forEach((val, domain) => {
|
161
|
+
val.forEach((value, name) => {
|
162
|
+
const entity = new entities_1.FkLoginCookieEntity();
|
163
|
+
entity.domain = domain;
|
164
|
+
entity.key = name;
|
165
|
+
entity.value = value || '';
|
166
|
+
entity.fkLoginId = loginId;
|
167
|
+
fkLoginCookies.push(entity);
|
168
|
+
});
|
169
|
+
});
|
170
|
+
const list = await this.db.manager.find(entities_1.FkLoginCookieEntity, { where: { fkLoginId: loginId } });
|
171
|
+
await this.db.manager.remove(list);
|
172
|
+
await this.db.manager.save(entities_1.FkLoginCookieEntity, fkLoginCookies);
|
173
|
+
return `bind success`;
|
174
|
+
});
|
175
|
+
}
|
176
|
+
toCookie(map) {
|
177
|
+
let cookies = [];
|
178
|
+
map.forEach((value, key) => {
|
179
|
+
cookies.push(`${key}=${value ? value : ''}`);
|
180
|
+
});
|
181
|
+
return cookies.join(';');
|
182
|
+
}
|
183
|
+
toUrl(data) {
|
184
|
+
return Object.keys(data).map(key => {
|
185
|
+
const value = Reflect.get(data, key);
|
186
|
+
return `${key}=${value}`;
|
187
|
+
}).join('&');
|
188
|
+
}
|
189
|
+
};
|
190
|
+
__decorate([
|
191
|
+
(0, http_1.Get)('login'),
|
192
|
+
__param(0, (0, http_1.Query)('loginId')),
|
193
|
+
__param(1, (0, core_1.Inject)(http_1.CONTEXT)),
|
194
|
+
__metadata("design:type", Function),
|
195
|
+
__metadata("design:paramtypes", [String, Object]),
|
196
|
+
__metadata("design:returntype", Promise)
|
197
|
+
], LoginController.prototype, "login", null);
|
198
|
+
__decorate([
|
199
|
+
(0, http_1.Get)('relogin'),
|
200
|
+
__param(0, (0, http_1.Query)('token')),
|
201
|
+
__param(1, (0, http_1.Query)('loginId')),
|
202
|
+
__param(2, (0, core_1.Inject)(http_1.CONTEXT)),
|
203
|
+
__metadata("design:type", Function),
|
204
|
+
__metadata("design:paramtypes", [String, String, Object]),
|
205
|
+
__metadata("design:returntype", Promise)
|
206
|
+
], LoginController.prototype, "relogin", null);
|
207
|
+
LoginController = __decorate([
|
208
|
+
(0, core_1.Controller)('@nger/fk-upload'),
|
209
|
+
__metadata("design:paramtypes", [typeorm_1.Db])
|
210
|
+
], LoginController);
|
211
|
+
exports.LoginController = LoginController;
|
package/dist/main.js
CHANGED
@@ -13,6 +13,7 @@ const core_1 = require("@nger/core");
|
|
13
13
|
const core_2 = require("@nger/core");
|
14
14
|
const fk_upload_module_1 = require("./fk-upload.module");
|
15
15
|
const http_1 = require("@nger/http");
|
16
|
+
const typeorm_1 = require("@nger/typeorm");
|
16
17
|
let AppModule = class AppModule {
|
17
18
|
};
|
18
19
|
AppModule = __decorate([
|
@@ -23,7 +24,8 @@ AppModule = __decorate([
|
|
23
24
|
}],
|
24
25
|
imports: [
|
25
26
|
fk_upload_module_1.FkUploadModule,
|
26
|
-
http_1.HttpModule.forEnv()
|
27
|
+
http_1.HttpModule.forEnv(),
|
28
|
+
typeorm_1.TypeormModule.forEnv()
|
27
29
|
],
|
28
30
|
controllers: []
|
29
31
|
})
|
@@ -0,0 +1,27 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.AccountManageController = void 0;
|
13
|
+
const core_1 = require("@nger/core");
|
14
|
+
const http_1 = require("@nger/http");
|
15
|
+
let AccountManageController = class AccountManageController {
|
16
|
+
accountManage() { }
|
17
|
+
};
|
18
|
+
__decorate([
|
19
|
+
(0, http_1.Get)('account-manage'),
|
20
|
+
__metadata("design:type", Function),
|
21
|
+
__metadata("design:paramtypes", []),
|
22
|
+
__metadata("design:returntype", void 0)
|
23
|
+
], AccountManageController.prototype, "accountManage", null);
|
24
|
+
AccountManageController = __decorate([
|
25
|
+
(0, core_1.Controller)(`@nger/fk-upload`)
|
26
|
+
], AccountManageController);
|
27
|
+
exports.AccountManageController = AccountManageController;
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";
|
@@ -0,0 +1,68 @@
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
13
|
+
};
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.AddFkLoginController = void 0;
|
19
|
+
const core_1 = require("@nger/core");
|
20
|
+
const http_1 = require("@nger/http");
|
21
|
+
const typeorm_1 = require("@nger/typeorm");
|
22
|
+
const react_1 = __importDefault(require("react"));
|
23
|
+
const entities_1 = require("../entities");
|
24
|
+
const component_1 = require("./component");
|
25
|
+
let AddFkLoginController = class AddFkLoginController {
|
26
|
+
db;
|
27
|
+
constructor(db) {
|
28
|
+
this.db = db;
|
29
|
+
}
|
30
|
+
async addFkLogin(fkLoginId) {
|
31
|
+
let fkLogin = new entities_1.FkLoginEntity();
|
32
|
+
if (fkLoginId) {
|
33
|
+
const item = await this.db.manager.findOne(entities_1.FkLoginEntity, { where: { fkLoginId: Number(fkLoginId) } });
|
34
|
+
if (item)
|
35
|
+
fkLogin = item;
|
36
|
+
}
|
37
|
+
return react_1.default.createElement(component_1.Nav, { active: 1 },
|
38
|
+
react_1.default.createElement("link", { href: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css", rel: "stylesheet" }),
|
39
|
+
react_1.default.createElement("div", { className: "card" },
|
40
|
+
react_1.default.createElement("div", { className: "card-body" },
|
41
|
+
react_1.default.createElement("form", null,
|
42
|
+
react_1.default.createElement("div", { className: "form-group" },
|
43
|
+
react_1.default.createElement("label", { htmlFor: "username" }, "username"),
|
44
|
+
react_1.default.createElement("input", { id: "username", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.username })),
|
45
|
+
react_1.default.createElement("div", { className: "form-group" },
|
46
|
+
react_1.default.createElement("label", { htmlFor: "password" }, "password"),
|
47
|
+
react_1.default.createElement("input", { id: "password", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.pass })),
|
48
|
+
react_1.default.createElement("div", { className: "form-group" },
|
49
|
+
react_1.default.createElement("label", { htmlFor: "w7Username" }, "w7Username"),
|
50
|
+
react_1.default.createElement("input", { id: "w7Username", onChange: e => { }, className: "form-control", type: "text", value: fkLogin.w7Username })),
|
51
|
+
react_1.default.createElement("div", { className: "for-group" },
|
52
|
+
react_1.default.createElement("button", { type: "submit", className: 'btn btn-primary' }, "add"),
|
53
|
+
react_1.default.createElement("button", { type: "reset", className: 'btn' }, "reset"),
|
54
|
+
react_1.default.createElement("a", { className: "btn btn-link", href: "/@nger/fk-upload/help" }, "list"))))));
|
55
|
+
}
|
56
|
+
};
|
57
|
+
__decorate([
|
58
|
+
(0, http_1.Get)(`add-fk-login`),
|
59
|
+
__param(0, (0, http_1.Query)(`loginId`)),
|
60
|
+
__metadata("design:type", Function),
|
61
|
+
__metadata("design:paramtypes", [String]),
|
62
|
+
__metadata("design:returntype", Promise)
|
63
|
+
], AddFkLoginController.prototype, "addFkLogin", null);
|
64
|
+
AddFkLoginController = __decorate([
|
65
|
+
(0, core_1.Controller)('@nger/fk-upload'),
|
66
|
+
__metadata("design:paramtypes", [typeorm_1.Db])
|
67
|
+
], AddFkLoginController);
|
68
|
+
exports.AddFkLoginController = AddFkLoginController;
|