mirror of
https://github.com/vastxie/99AI.git
synced 2025-12-25 17:25:57 +08:00
v4.1.0
This commit is contained in:
31
AIWebQuickDeploy/dist/common/auth/adminAuth.guard.js
vendored
Normal file
31
AIWebQuickDeploy/dist/common/auth/adminAuth.guard.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AdminAuthGuard = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const jwtAuth_guard_1 = require("./jwtAuth.guard");
|
||||
let AdminAuthGuard = class AdminAuthGuard extends jwtAuth_guard_1.JwtAuthGuard {
|
||||
async canActivate(context) {
|
||||
const isAuthorized = await super.canActivate(context);
|
||||
if (!isAuthorized) {
|
||||
return false;
|
||||
}
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const user = request.user;
|
||||
if (user && ['admin', 'super'].includes(user.role)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
throw new common_1.UnauthorizedException('非法操作、您的权限等级不足、无法执行当前请求!');
|
||||
}
|
||||
}
|
||||
};
|
||||
AdminAuthGuard = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], AdminAuthGuard);
|
||||
exports.AdminAuthGuard = AdminAuthGuard;
|
||||
33
AIWebQuickDeploy/dist/common/auth/jwt.strategy.js
vendored
Normal file
33
AIWebQuickDeploy/dist/common/auth/jwt.strategy.js
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JwtStrategy = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const passport_1 = require("@nestjs/passport");
|
||||
const passport_jwt_1 = require("passport-jwt");
|
||||
const redisCache_service_1 = require("../../modules/redisCache/redisCache.service");
|
||||
let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) {
|
||||
constructor(redisService) {
|
||||
super({
|
||||
jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
||||
secretOrKey: redisService.getJwtSecret(),
|
||||
});
|
||||
this.redisService = redisService;
|
||||
}
|
||||
async validate(payload) {
|
||||
return payload;
|
||||
}
|
||||
};
|
||||
JwtStrategy = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__metadata("design:paramtypes", [redisCache_service_1.RedisCacheService])
|
||||
], JwtStrategy);
|
||||
exports.JwtStrategy = JwtStrategy;
|
||||
85
AIWebQuickDeploy/dist/common/auth/jwtAuth.guard.js
vendored
Normal file
85
AIWebQuickDeploy/dist/common/auth/jwtAuth.guard.js
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.JwtAuthGuard = void 0;
|
||||
const globalConfig_service_1 = require("../../modules/globalConfig/globalConfig.service");
|
||||
const redisCache_service_1 = require("../../modules/redisCache/redisCache.service");
|
||||
const common_1 = require("@nestjs/common");
|
||||
const core_1 = require("@nestjs/core");
|
||||
const passport_1 = require("@nestjs/passport");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const auth_service_1 = require("../../modules/auth/auth.service");
|
||||
let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)('jwt') {
|
||||
constructor(redisCacheService, moduleRef, globalConfigService, authService) {
|
||||
super();
|
||||
this.redisCacheService = redisCacheService;
|
||||
this.moduleRef = moduleRef;
|
||||
this.globalConfigService = globalConfigService;
|
||||
this.authService = authService;
|
||||
}
|
||||
async canActivate(context) {
|
||||
if (!this.redisCacheService) {
|
||||
this.redisCacheService = this.moduleRef.get(redisCache_service_1.RedisCacheService, {
|
||||
strict: false,
|
||||
});
|
||||
}
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const domain = request.headers['x-website-domain'];
|
||||
const token = this.extractToken(request);
|
||||
request.user = await this.validateToken(token);
|
||||
await this.redisCacheService.checkTokenAuth(token, request);
|
||||
return true;
|
||||
}
|
||||
extractToken(request) {
|
||||
if (!request.headers.authorization) {
|
||||
if (request.headers.fingerprint) {
|
||||
let id = request.headers.fingerprint;
|
||||
if (id > 2147483647) {
|
||||
id = id.toString().slice(-9);
|
||||
id = Number(String(Number(id)));
|
||||
}
|
||||
const token = this.authService.createTokenFromFingerprint(id);
|
||||
return token;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const parts = request.headers.authorization.split(' ');
|
||||
if (parts.length !== 2 || parts[0] !== 'Bearer') {
|
||||
return null;
|
||||
}
|
||||
return parts[1];
|
||||
}
|
||||
async validateToken(token) {
|
||||
try {
|
||||
const secret = await this.redisCacheService.getJwtSecret();
|
||||
const decoded = await jwt.verify(token, secret);
|
||||
return decoded;
|
||||
}
|
||||
catch (error) {
|
||||
throw new common_1.HttpException('亲爱的用户,请登录后继续操作,我们正在等您的到来!', common_1.HttpStatus.UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
handleRequest(err, user, info) {
|
||||
if (err || !user) {
|
||||
console.log('err: ', err);
|
||||
throw err || new common_1.UnauthorizedException();
|
||||
}
|
||||
return user;
|
||||
}
|
||||
};
|
||||
JwtAuthGuard = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__metadata("design:paramtypes", [redisCache_service_1.RedisCacheService,
|
||||
core_1.ModuleRef,
|
||||
globalConfig_service_1.GlobalConfigService,
|
||||
auth_service_1.AuthService])
|
||||
], JwtAuthGuard);
|
||||
exports.JwtAuthGuard = JwtAuthGuard;
|
||||
31
AIWebQuickDeploy/dist/common/auth/superAuth.guard.js
vendored
Normal file
31
AIWebQuickDeploy/dist/common/auth/superAuth.guard.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.SuperAuthGuard = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const jwtAuth_guard_1 = require("./jwtAuth.guard");
|
||||
let SuperAuthGuard = class SuperAuthGuard extends jwtAuth_guard_1.JwtAuthGuard {
|
||||
async canActivate(context) {
|
||||
const isAuthorized = await super.canActivate(context);
|
||||
if (!isAuthorized) {
|
||||
return false;
|
||||
}
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const user = request.user;
|
||||
if (user && user.role === 'super') {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
throw new common_1.UnauthorizedException('非法操作、非超级管理员无权操作!');
|
||||
}
|
||||
}
|
||||
};
|
||||
SuperAuthGuard = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], SuperAuthGuard);
|
||||
exports.SuperAuthGuard = SuperAuthGuard;
|
||||
18
AIWebQuickDeploy/dist/common/constants/balance.constant.js
vendored
Normal file
18
AIWebQuickDeploy/dist/common/constants/balance.constant.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RechargeType = exports.ChatType = void 0;
|
||||
exports.ChatType = {
|
||||
NORMAL_CHAT: 1,
|
||||
PAINT: 2,
|
||||
EXTENDED_CHAT: 3,
|
||||
};
|
||||
exports.RechargeType = {
|
||||
REG_GIFT: 1,
|
||||
INVITE_GIFT: 2,
|
||||
REFER_GIFT: 3,
|
||||
PACKAGE_GIFT: 4,
|
||||
ADMIN_GIFT: 5,
|
||||
SCAN_PAY: 6,
|
||||
DRAW_FAIL_REFUND: 7,
|
||||
SIGN_IN: 8,
|
||||
};
|
||||
24
AIWebQuickDeploy/dist/common/constants/errorMessage.constant.js
vendored
Normal file
24
AIWebQuickDeploy/dist/common/constants/errorMessage.constant.js
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.OpenAiErrorCodeMessage = exports.ErrorMessageEnum = void 0;
|
||||
var ErrorMessageEnum;
|
||||
(function (ErrorMessageEnum) {
|
||||
ErrorMessageEnum["USERNAME_OR_EMAIL_ALREADY_REGISTERED"] = "\u7528\u6237\u540D\u6216\u90AE\u7BB1\u5DF2\u6CE8\u518C\uFF01";
|
||||
ErrorMessageEnum["USER_NOT_FOUND"] = "\u7528\u6237\u4E0D\u5B58\u5728\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_NOT_FOUND"] = "\u9A8C\u8BC1\u8BB0\u5F55\u4E0D\u5B58\u5728\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_CODE_EXPIRED"] = "\u9A8C\u8BC1\u7801\u5DF2\u8FC7\u671F\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_CODE_INVALID"] = "\u9A8C\u8BC1\u7801\u65E0\u6548\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_CODE_MISMATCH"] = "\u9A8C\u8BC1\u7801\u4E0D\u5339\u914D\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_CODE_SEND_FAILED"] = "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25\uFF01";
|
||||
ErrorMessageEnum["VERIFICATION_CODE_SEND_TOO_OFTEN"] = "\u9A8C\u8BC1\u7801\u53D1\u9001\u8FC7\u4E8E\u9891\u7E41\uFF01";
|
||||
})(ErrorMessageEnum = exports.ErrorMessageEnum || (exports.ErrorMessageEnum = {}));
|
||||
exports.OpenAiErrorCodeMessage = {
|
||||
400: '[Inter Error] 服务端错误[400]',
|
||||
401: '[Inter Error] 服务出现错误、请稍后再试一次吧[401]',
|
||||
403: '[Inter Error] 服务器拒绝访问,请稍后再试 | Server refused to access, please try again later',
|
||||
429: '[Inter Error] 当前key调用频率过高、请重新对话再试一次吧[429]',
|
||||
502: '[Inter Error] 错误的网关 | Bad Gateway[502]',
|
||||
503: '[Inter Error] 服务器繁忙,请稍后再试 | Server is busy, please try again later[503]',
|
||||
504: '[Inter Error] 网关超时 | Gateway Time-out[504]',
|
||||
500: '[Inter Error] 服务器繁忙,请稍后再试 | Internal Server Error[500]',
|
||||
};
|
||||
21
AIWebQuickDeploy/dist/common/constants/midjourney.constant.js
vendored
Normal file
21
AIWebQuickDeploy/dist/common/constants/midjourney.constant.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MidjourneyActionEnum = exports.MidjourneyStatusEnum = void 0;
|
||||
var MidjourneyStatusEnum;
|
||||
(function (MidjourneyStatusEnum) {
|
||||
MidjourneyStatusEnum[MidjourneyStatusEnum["WAITING"] = 1] = "WAITING";
|
||||
MidjourneyStatusEnum[MidjourneyStatusEnum["DRAWING"] = 2] = "DRAWING";
|
||||
MidjourneyStatusEnum[MidjourneyStatusEnum["DRAWED"] = 3] = "DRAWED";
|
||||
MidjourneyStatusEnum[MidjourneyStatusEnum["DRAWFAIL"] = 4] = "DRAWFAIL";
|
||||
MidjourneyStatusEnum[MidjourneyStatusEnum["DRAWTIMEOUT"] = 5] = "DRAWTIMEOUT";
|
||||
})(MidjourneyStatusEnum = exports.MidjourneyStatusEnum || (exports.MidjourneyStatusEnum = {}));
|
||||
var MidjourneyActionEnum;
|
||||
(function (MidjourneyActionEnum) {
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["DRAW"] = 1] = "DRAW";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["UPSCALE"] = 2] = "UPSCALE";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["VARIATION"] = 3] = "VARIATION";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["GENERATE"] = 4] = "GENERATE";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["REGENERATE"] = 5] = "REGENERATE";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["VARY"] = 6] = "VARY";
|
||||
MidjourneyActionEnum[MidjourneyActionEnum["ZOOM"] = 7] = "ZOOM";
|
||||
})(MidjourneyActionEnum = exports.MidjourneyActionEnum || (exports.MidjourneyActionEnum = {}));
|
||||
13
AIWebQuickDeploy/dist/common/constants/status.constant.js
vendored
Normal file
13
AIWebQuickDeploy/dist/common/constants/status.constant.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ModelsMapCn = exports.VerificationUseStatusEnum = void 0;
|
||||
var VerificationUseStatusEnum;
|
||||
(function (VerificationUseStatusEnum) {
|
||||
VerificationUseStatusEnum[VerificationUseStatusEnum["UNUSED"] = 0] = "UNUSED";
|
||||
VerificationUseStatusEnum[VerificationUseStatusEnum["USED"] = 1] = "USED";
|
||||
})(VerificationUseStatusEnum = exports.VerificationUseStatusEnum || (exports.VerificationUseStatusEnum = {}));
|
||||
exports.ModelsMapCn = {
|
||||
1: '普通模型',
|
||||
2: '绘画模型',
|
||||
3: '特殊模型'
|
||||
};
|
||||
16
AIWebQuickDeploy/dist/common/constants/user.constant.js
vendored
Normal file
16
AIWebQuickDeploy/dist/common/constants/user.constant.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UserStatusErrMsg = exports.UserStatusEnum = void 0;
|
||||
var UserStatusEnum;
|
||||
(function (UserStatusEnum) {
|
||||
UserStatusEnum[UserStatusEnum["PENDING"] = 0] = "PENDING";
|
||||
UserStatusEnum[UserStatusEnum["ACTIVE"] = 1] = "ACTIVE";
|
||||
UserStatusEnum[UserStatusEnum["LOCKED"] = 2] = "LOCKED";
|
||||
UserStatusEnum[UserStatusEnum["BLACKLISTED"] = 3] = "BLACKLISTED";
|
||||
})(UserStatusEnum = exports.UserStatusEnum || (exports.UserStatusEnum = {}));
|
||||
exports.UserStatusErrMsg = {
|
||||
[UserStatusEnum.PENDING]: '当前账户未激活,请前往邮箱验证或重新发送验证码!',
|
||||
[UserStatusEnum.ACTIVE]: '当前账户已激活!',
|
||||
[UserStatusEnum.LOCKED]: '当前账户已锁定,请联系管理员解锁!',
|
||||
[UserStatusEnum.BLACKLISTED]: '当前账户已被永久封禁!',
|
||||
};
|
||||
9
AIWebQuickDeploy/dist/common/constants/verification.constant.js
vendored
Normal file
9
AIWebQuickDeploy/dist/common/constants/verification.constant.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.VerificationEnum = void 0;
|
||||
var VerificationEnum;
|
||||
(function (VerificationEnum) {
|
||||
VerificationEnum[VerificationEnum["Registration"] = 0] = "Registration";
|
||||
VerificationEnum[VerificationEnum["PasswordReset"] = 1] = "PasswordReset";
|
||||
VerificationEnum[VerificationEnum["ChangeEmail"] = 2] = "ChangeEmail";
|
||||
})(VerificationEnum = exports.VerificationEnum || (exports.VerificationEnum = {}));
|
||||
35
AIWebQuickDeploy/dist/common/entity/baseEntity.js
vendored
Normal file
35
AIWebQuickDeploy/dist/common/entity/baseEntity.js
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.BaseEntity = void 0;
|
||||
const typeorm_1 = require("typeorm");
|
||||
let BaseEntity = class BaseEntity {
|
||||
};
|
||||
__decorate([
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
||||
__metadata("design:type", Number)
|
||||
], BaseEntity.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.CreateDateColumn)({ type: 'datetime', length: 0, nullable: false, name: 'createdAt', comment: '创建时间' }),
|
||||
__metadata("design:type", Date)
|
||||
], BaseEntity.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.UpdateDateColumn)({ type: 'datetime', length: 0, nullable: false, name: 'updatedAt', comment: '更新时间' }),
|
||||
__metadata("design:type", Date)
|
||||
], BaseEntity.prototype, "updatedAt", void 0);
|
||||
__decorate([
|
||||
(0, typeorm_1.DeleteDateColumn)({ type: 'datetime', length: 0, nullable: false, name: 'deletedAt', comment: '删除时间' }),
|
||||
__metadata("design:type", Date)
|
||||
], BaseEntity.prototype, "deletedAt", void 0);
|
||||
BaseEntity = __decorate([
|
||||
(0, typeorm_1.Entity)()
|
||||
], BaseEntity);
|
||||
exports.BaseEntity = BaseEntity;
|
||||
51
AIWebQuickDeploy/dist/common/filters/allExceptions.filter.js
vendored
Normal file
51
AIWebQuickDeploy/dist/common/filters/allExceptions.filter.js
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AllExceptionsFilter = void 0;
|
||||
const result_1 = require("../result");
|
||||
const common_1 = require("@nestjs/common");
|
||||
let AllExceptionsFilter = class AllExceptionsFilter {
|
||||
catch(exception, host) {
|
||||
const ctx = host.switchToHttp();
|
||||
const response = ctx.getResponse();
|
||||
const request = ctx.getRequest();
|
||||
const status = exception instanceof common_1.HttpException
|
||||
? exception.getStatus()
|
||||
: common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
||||
let message = 'Internal server error';
|
||||
if (exception instanceof common_1.HttpException) {
|
||||
const exceptionRes = exception.getResponse();
|
||||
message = (exceptionRes === null || exceptionRes === void 0 ? void 0 : exceptionRes.message)
|
||||
? Array.isArray(exceptionRes.message)
|
||||
? exceptionRes.message[0]
|
||||
: exceptionRes.message
|
||||
: exceptionRes;
|
||||
}
|
||||
else if (typeof exception.getResponse === 'function') {
|
||||
const exceptionRes = exception.getResponse();
|
||||
message = (exceptionRes === null || exceptionRes === void 0 ? void 0 : exceptionRes.message)
|
||||
? Array.isArray(exceptionRes.message)
|
||||
? exceptionRes.message[0]
|
||||
: exceptionRes.message
|
||||
: exceptionRes;
|
||||
}
|
||||
if (status === common_1.HttpStatus.NOT_FOUND) {
|
||||
response.redirect('/');
|
||||
}
|
||||
else {
|
||||
const statusCode = status || 400;
|
||||
response.status(statusCode);
|
||||
response.header('Content-Type', 'application/json; charset=utf-8');
|
||||
response.send(result_1.Result.fail(statusCode, Array.isArray(message) ? message[0] : message));
|
||||
}
|
||||
}
|
||||
};
|
||||
AllExceptionsFilter = __decorate([
|
||||
(0, common_1.Catch)()
|
||||
], AllExceptionsFilter);
|
||||
exports.AllExceptionsFilter = AllExceptionsFilter;
|
||||
34
AIWebQuickDeploy/dist/common/filters/typeOrmQueryFailed.filter.js
vendored
Normal file
34
AIWebQuickDeploy/dist/common/filters/typeOrmQueryFailed.filter.js
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TypeOrmQueryFailedFilter = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const typeorm_1 = require("typeorm");
|
||||
let TypeOrmQueryFailedFilter = class TypeOrmQueryFailedFilter {
|
||||
catch(exception, host) {
|
||||
const ctx = host.switchToHttp();
|
||||
const response = ctx.getResponse();
|
||||
const request = ctx.getRequest();
|
||||
if (exception.code === 'ER_DUP_ENTRY') {
|
||||
throw new common_1.BadRequestException('该记录已经存在,请勿重复添加!');
|
||||
}
|
||||
else {
|
||||
console.log('other query error');
|
||||
}
|
||||
response.status(500).json({
|
||||
statusCode: 500,
|
||||
timestamp: new Date().toISOString(),
|
||||
path: request.url,
|
||||
message: `Database query failed: ${exception.message}`,
|
||||
});
|
||||
}
|
||||
};
|
||||
TypeOrmQueryFailedFilter = __decorate([
|
||||
(0, common_1.Catch)(typeorm_1.QueryFailedError)
|
||||
], TypeOrmQueryFailedFilter);
|
||||
exports.TypeOrmQueryFailedFilter = TypeOrmQueryFailedFilter;
|
||||
19
AIWebQuickDeploy/dist/common/guards/roles/roles.guard.js
vendored
Normal file
19
AIWebQuickDeploy/dist/common/guards/roles/roles.guard.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RolesGuard = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
let RolesGuard = class RolesGuard {
|
||||
canActivate(context) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
RolesGuard = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], RolesGuard);
|
||||
exports.RolesGuard = RolesGuard;
|
||||
23
AIWebQuickDeploy/dist/common/interceptors/abort.interceptor.js
vendored
Normal file
23
AIWebQuickDeploy/dist/common/interceptors/abort.interceptor.js
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.AbortInterceptor = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const abort_controller_1 = require("abort-controller");
|
||||
let AbortInterceptor = class AbortInterceptor {
|
||||
intercept(context, next) {
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const abortController = new abort_controller_1.AbortController();
|
||||
request.abortController = abortController;
|
||||
return next.handle();
|
||||
}
|
||||
};
|
||||
AbortInterceptor = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], AbortInterceptor);
|
||||
exports.AbortInterceptor = AbortInterceptor;
|
||||
35
AIWebQuickDeploy/dist/common/interceptors/transform.interceptor.js
vendored
Normal file
35
AIWebQuickDeploy/dist/common/interceptors/transform.interceptor.js
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TransformInterceptor = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const rxjs_1 = require("rxjs");
|
||||
const operators_1 = require("rxjs/operators");
|
||||
const result_1 = require("../result");
|
||||
let TransformInterceptor = class TransformInterceptor {
|
||||
intercept(context, next) {
|
||||
return next.handle().pipe((0, operators_1.map)((data) => {
|
||||
const response = context.switchToHttp().getResponse();
|
||||
const request = context.switchToHttp().getRequest();
|
||||
response.statusCode = 200;
|
||||
if (request.path.includes('notify')) {
|
||||
return data;
|
||||
}
|
||||
const message = response.status < 400 ? null : response.statusText;
|
||||
return result_1.Result.success(data, message);
|
||||
}), (0, rxjs_1.catchError)((error) => {
|
||||
const statusCode = error.status || 500;
|
||||
const message = (error.response || 'Internal server error');
|
||||
return (0, rxjs_1.throwError)(new common_1.HttpException(message, statusCode));
|
||||
}));
|
||||
}
|
||||
};
|
||||
TransformInterceptor = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], TransformInterceptor);
|
||||
exports.TransformInterceptor = TransformInterceptor;
|
||||
45
AIWebQuickDeploy/dist/common/logger/custom-logger.service.js
vendored
Normal file
45
AIWebQuickDeploy/dist/common/logger/custom-logger.service.js
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CustomLoggerService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
let CustomLoggerService = class CustomLoggerService extends common_1.ConsoleLogger {
|
||||
constructor() {
|
||||
super();
|
||||
this.isDev = process.env.ISDEV === 'TRUE';
|
||||
}
|
||||
log(message, context) {
|
||||
super.log(message, context);
|
||||
}
|
||||
error(message, trace, context) {
|
||||
super.error(message, trace, context);
|
||||
}
|
||||
warn(message, context) {
|
||||
if (this.isDev) {
|
||||
super.warn(message, context);
|
||||
}
|
||||
}
|
||||
debug(message, context) {
|
||||
if (this.isDev) {
|
||||
super.debug(message, context);
|
||||
}
|
||||
}
|
||||
verbose(message, context) {
|
||||
if (this.isDev) {
|
||||
super.verbose(message, context);
|
||||
}
|
||||
}
|
||||
};
|
||||
CustomLoggerService = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__metadata("design:paramtypes", [])
|
||||
], CustomLoggerService);
|
||||
exports.CustomLoggerService = CustomLoggerService;
|
||||
23
AIWebQuickDeploy/dist/common/middleware/xml.middleware.js
vendored
Normal file
23
AIWebQuickDeploy/dist/common/middleware/xml.middleware.js
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
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;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.XMLMiddleware = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const bodyParser = require("body-parser");
|
||||
const bodyParserMiddleware = bodyParser.text({
|
||||
type: 'application/xml',
|
||||
});
|
||||
let XMLMiddleware = class XMLMiddleware {
|
||||
use(req, res, next) {
|
||||
bodyParserMiddleware(req, res, next);
|
||||
}
|
||||
};
|
||||
XMLMiddleware = __decorate([
|
||||
(0, common_1.Injectable)()
|
||||
], XMLMiddleware);
|
||||
exports.XMLMiddleware = XMLMiddleware;
|
||||
18
AIWebQuickDeploy/dist/common/result/index.js
vendored
Normal file
18
AIWebQuickDeploy/dist/common/result/index.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Result = void 0;
|
||||
class Result {
|
||||
constructor(code, success, data, message) {
|
||||
this.code = code;
|
||||
this.data = data;
|
||||
this.success = success;
|
||||
this.message = message;
|
||||
}
|
||||
static success(data, message = '请求成功') {
|
||||
return new Result(200, true, data, message);
|
||||
}
|
||||
static fail(code, message = '请求失败', data) {
|
||||
return new Result(code, false, data, message);
|
||||
}
|
||||
}
|
||||
exports.Result = Result;
|
||||
15
AIWebQuickDeploy/dist/common/swagger/index.js
vendored
Normal file
15
AIWebQuickDeploy/dist/common/swagger/index.js
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createSwagger = void 0;
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
const swaggerOptions = new swagger_1.DocumentBuilder()
|
||||
.setTitle('AIWeb Team api document')
|
||||
.setDescription('AIWeb Team api document')
|
||||
.setVersion('1.0.0')
|
||||
.addBearerAuth()
|
||||
.build();
|
||||
function createSwagger(app) {
|
||||
const document = swagger_1.SwaggerModule.createDocument(app, swaggerOptions);
|
||||
swagger_1.SwaggerModule.setup('/swagger/docs', app, document);
|
||||
}
|
||||
exports.createSwagger = createSwagger;
|
||||
26
AIWebQuickDeploy/dist/common/utils/base.js
vendored
Normal file
26
AIWebQuickDeploy/dist/common/utils/base.js
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.decrypt = exports.encrypt = void 0;
|
||||
const crypto = require("crypto");
|
||||
const encryptionKey = 'bf3c116f2470cb4che9071240917c171';
|
||||
const initializationVector = '518363fh72eec1v4';
|
||||
const algorithm = 'aes-256-cbc';
|
||||
function encrypt(text) {
|
||||
const cipher = crypto.createCipheriv(algorithm, encryptionKey, initializationVector);
|
||||
let encrypted = cipher.update(text, 'utf8', 'base64');
|
||||
encrypted += cipher.final('base64');
|
||||
return encrypted;
|
||||
}
|
||||
exports.encrypt = encrypt;
|
||||
function decrypt(text) {
|
||||
try {
|
||||
const decipher = crypto.createDecipheriv(algorithm, encryptionKey, initializationVector);
|
||||
let decrypted = decipher.update(text, 'base64', 'utf8');
|
||||
decrypted += decipher.final('utf8');
|
||||
return decrypted;
|
||||
}
|
||||
catch (error) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
exports.decrypt = decrypt;
|
||||
8
AIWebQuickDeploy/dist/common/utils/createOrderId.js
vendored
Normal file
8
AIWebQuickDeploy/dist/common/utils/createOrderId.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createOrderId = void 0;
|
||||
const uuid_1 = require("uuid");
|
||||
function createOrderId() {
|
||||
return (0, uuid_1.v1)().toString().replace(/-/g, '');
|
||||
}
|
||||
exports.createOrderId = createOrderId;
|
||||
9
AIWebQuickDeploy/dist/common/utils/createRandomCode.js
vendored
Normal file
9
AIWebQuickDeploy/dist/common/utils/createRandomCode.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createRandomCode = void 0;
|
||||
function createRandomCode() {
|
||||
const min = 100000;
|
||||
const max = 999999;
|
||||
return Math.floor(Math.random() * (max - min + 1) + min);
|
||||
}
|
||||
exports.createRandomCode = createRandomCode;
|
||||
14
AIWebQuickDeploy/dist/common/utils/createRandomInviteCode.js
vendored
Normal file
14
AIWebQuickDeploy/dist/common/utils/createRandomInviteCode.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generateRandomString = void 0;
|
||||
function generateRandomString() {
|
||||
const length = 10;
|
||||
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
let result = '';
|
||||
for (let i = 0; i < length; i++) {
|
||||
const randomIndex = Math.floor(Math.random() * characters.length);
|
||||
result += characters.charAt(randomIndex);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
exports.generateRandomString = generateRandomString;
|
||||
12
AIWebQuickDeploy/dist/common/utils/createRandomNonceStr.js
vendored
Normal file
12
AIWebQuickDeploy/dist/common/utils/createRandomNonceStr.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createRandomNonceStr = void 0;
|
||||
function createRandomNonceStr(len) {
|
||||
const data = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
||||
let str = '';
|
||||
for (let i = 0; i < len; i++) {
|
||||
str += data.charAt(parseInt((Math.random() * data.length).toFixed(0), 10));
|
||||
}
|
||||
return str;
|
||||
}
|
||||
exports.createRandomNonceStr = createRandomNonceStr;
|
||||
9
AIWebQuickDeploy/dist/common/utils/createRandomUid.js
vendored
Normal file
9
AIWebQuickDeploy/dist/common/utils/createRandomUid.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createRandomUid = void 0;
|
||||
const guid_typescript_1 = require("guid-typescript");
|
||||
function createRandomUid() {
|
||||
const uuid = guid_typescript_1.Guid.create();
|
||||
return uuid.toString().substr(0, 10).replace('-', '');
|
||||
}
|
||||
exports.createRandomUid = createRandomUid;
|
||||
43
AIWebQuickDeploy/dist/common/utils/date.js
vendored
Normal file
43
AIWebQuickDeploy/dist/common/utils/date.js
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isExpired = exports.formatCreateOrUpdateDate = exports.formatDate = void 0;
|
||||
const dayjs = require("dayjs");
|
||||
require("dayjs/locale/zh-cn");
|
||||
const a = require("dayjs/plugin/utc");
|
||||
const b = require("dayjs/plugin/timezone");
|
||||
dayjs.locale('zh-cn');
|
||||
dayjs.extend(a);
|
||||
dayjs.extend(b);
|
||||
dayjs.tz.setDefault('Asia/Shanghai');
|
||||
function formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
|
||||
return dayjs(date).format(format);
|
||||
}
|
||||
exports.formatDate = formatDate;
|
||||
function formatCreateOrUpdateDate(input, format = 'YYYY-MM-DD HH:mm:ss') {
|
||||
if (Array.isArray(input)) {
|
||||
return input.map((t) => {
|
||||
t.createdAt = (t === null || t === void 0 ? void 0 : t.createdAt) ? dayjs(t.createdAt).format(format) : dayjs().format(format);
|
||||
t.updatedAt = (t === null || t === void 0 ? void 0 : t.updatedAt) ? dayjs(t.updatedAt).format(format) : dayjs().format(format);
|
||||
return t;
|
||||
});
|
||||
}
|
||||
else {
|
||||
let obj = {};
|
||||
try {
|
||||
obj = JSON.parse(JSON.stringify(input));
|
||||
}
|
||||
catch (error) {
|
||||
}
|
||||
(obj === null || obj === void 0 ? void 0 : obj.createdAt) && (obj.createdAt = dayjs(obj.createdAt).format(format));
|
||||
(obj === null || obj === void 0 ? void 0 : obj.updatedAt) && (obj.updatedAt = dayjs(obj.updatedAt).format(format));
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
exports.formatCreateOrUpdateDate = formatCreateOrUpdateDate;
|
||||
function isExpired(createdAt, days) {
|
||||
const expireDate = new Date(createdAt.getTime() + days * 24 * 60 * 60 * 1000);
|
||||
const now = new Date();
|
||||
return now > expireDate;
|
||||
}
|
||||
exports.isExpired = isExpired;
|
||||
exports.default = dayjs;
|
||||
14
AIWebQuickDeploy/dist/common/utils/encrypt.js
vendored
Normal file
14
AIWebQuickDeploy/dist/common/utils/encrypt.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.copyRightMsg = exports.atob = void 0;
|
||||
function atob(str) {
|
||||
return Buffer.from(str, 'base64').toString('utf-8');
|
||||
}
|
||||
exports.atob = atob;
|
||||
exports.copyRightMsg = [
|
||||
'agxoTstMY8m+DJO89Iwy4zqcFTqlcj/Fa/erMTvn0IexetXaDttr4K/BN2+RbtfouXOeFjPDYnxOfQ+IIpuJ3PmtyHAzmlGFls/HvBDeh6EXAQ3waALbvK9Ue96soAb5/3Tv6VuZE7npISqXiYhI6Vqx4yDVYf6vUUkEO9jvVotWQkLOLkr6M/guLK6sik/ZOgHvSlDYKAv79NFJJ0Tt0WkH2SyN8l+woMiWVTOKkdE=',
|
||||
'nXdXi8UU7J5av2eDOFjxQWlZDa+3bdASE4UwpqT6B11XSCweKKuzHxmFO2wx45iVlib/V0tt+NbEcOQZtzEWKqHsREkwEb5aqVCUl2Kj4nJeEFId2iyvY6MWEV1lHtCY+htpJoyqwQJc7yeNfpTl2SLBubWk77p4AHei1QFEs1rpOOwyE79lF0RqzY/Cpzhs',
|
||||
'VjVCGib1VFp7hNynpKGQPUrX+ishpxi2u5a4txHXzk2nyUP1NZfIomEDmGhDTQ7VRJLox+8urtVG1CBBSct1v+4OA2ucAcDUFoy1H1Kl1z+dndVcNU6gz5YGnDppsxY8uGFAVGsWrDl2DIOKxk7kMURaRiQCXCHRF/3sLGyIEmE6KL9Q4kDInB6vuzBScxupFShMXTq2XrOhwRgn2elcig==',
|
||||
'ZPcz1IaPDMGI3Yn9sm4QOT0qCZo7yZbJl4/c2RTrhUKINkjGB5yb0yN5vAnLtt/o8cmpoOoH3PUSOOWQa9aKD86NWK+1r8wBOVjwXZOpp2gbB1ZJLbWvjRbENvEJxVsLROXnpNDqUXVGxFMaIt+gmEi3Rp0thqC1soXUpvM1zqU4+LkQmunR7UytvzwXEmXBlIfPwz5hv+n/lxDsw526KWixC3jLLpeijw5433Zh7cI=',
|
||||
'YPo1HNzS6p6190ku4f1PQENUBa/ip+v+6sPuQXVyAn3axo6SLKQBszNr3PAW2EzWhZLy2o+nBgr3o3IOy9OgNit1JHrCklpVp172wbGDKh8sB8HCXyJoRv3BaZVY5UhyhpV5K+4nPoM2RUwvIGONUGFPQfPQv9N8MS8UCL7UnWYcVLzxWo0ZDg+UXFRr7NhXKu7KQ7e1+Wiqm0qE+olfDVowi4pGDRGrYL154wEEJUo='
|
||||
];
|
||||
11
AIWebQuickDeploy/dist/common/utils/fromatUrl.js
vendored
Normal file
11
AIWebQuickDeploy/dist/common/utils/fromatUrl.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.formatUrl = void 0;
|
||||
function formatUrl(url) {
|
||||
let formattedUrl = url.replace(/\s+/g, '');
|
||||
if (formattedUrl.endsWith('/')) {
|
||||
formattedUrl = formattedUrl.slice(0, -1);
|
||||
}
|
||||
return formattedUrl;
|
||||
}
|
||||
exports.formatUrl = formatUrl;
|
||||
9
AIWebQuickDeploy/dist/common/utils/generateCrami.js
vendored
Normal file
9
AIWebQuickDeploy/dist/common/utils/generateCrami.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generateCramiCode = void 0;
|
||||
const uuid_1 = require("uuid");
|
||||
function generateCramiCode() {
|
||||
const code = (0, uuid_1.v4)().replace(/-/g, '').slice(0, 16);
|
||||
return code;
|
||||
}
|
||||
exports.generateCramiCode = generateCramiCode;
|
||||
22
AIWebQuickDeploy/dist/common/utils/getClientIp.js
vendored
Normal file
22
AIWebQuickDeploy/dist/common/utils/getClientIp.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getClientIp = void 0;
|
||||
function getFirstValidIp(ipString) {
|
||||
const ips = ipString.split(',').map(ip => ip.trim());
|
||||
return ips.find(ip => isValidIp(ip)) || '';
|
||||
}
|
||||
function isValidIp(ip) {
|
||||
return /^\d{1,3}(\.\d{1,3}){3}$/.test(ip) || /^::ffff:\d{1,3}(\.\d{1,3}){3}$/.test(ip);
|
||||
}
|
||||
function getClientIp(req) {
|
||||
const forwardedFor = req.header('x-forwarded-for');
|
||||
let clientIp = forwardedFor ? getFirstValidIp(forwardedFor) : '';
|
||||
if (!clientIp) {
|
||||
clientIp = req.connection.remoteAddress || req.socket.remoteAddress || '';
|
||||
}
|
||||
if (clientIp.startsWith('::ffff:')) {
|
||||
clientIp = clientIp.substring(7);
|
||||
}
|
||||
return clientIp;
|
||||
}
|
||||
exports.getClientIp = getClientIp;
|
||||
15
AIWebQuickDeploy/dist/common/utils/getDiffArray.js
vendored
Normal file
15
AIWebQuickDeploy/dist/common/utils/getDiffArray.js
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getDiffArray = void 0;
|
||||
function getDiffArray(aLength, bLength, str) {
|
||||
const a = Array.from({ length: aLength }, (_, i) => i + 1);
|
||||
const b = Array.from({ length: bLength }, (_, i) => i + 1);
|
||||
const diffArray = [];
|
||||
for (let i = 0; i < a.length; i++) {
|
||||
if (!b.includes(a[i])) {
|
||||
diffArray.push(`${str}${a[i]}`);
|
||||
}
|
||||
}
|
||||
return diffArray;
|
||||
}
|
||||
exports.getDiffArray = getDiffArray;
|
||||
8
AIWebQuickDeploy/dist/common/utils/getRandomItem.js
vendored
Normal file
8
AIWebQuickDeploy/dist/common/utils/getRandomItem.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getRandomItem = void 0;
|
||||
function getRandomItem(array) {
|
||||
const randomIndex = Math.floor(Math.random() * array.length);
|
||||
return array[randomIndex];
|
||||
}
|
||||
exports.getRandomItem = getRandomItem;
|
||||
11
AIWebQuickDeploy/dist/common/utils/getRandomItemFromArray.js
vendored
Normal file
11
AIWebQuickDeploy/dist/common/utils/getRandomItemFromArray.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getRandomItemFromArray = void 0;
|
||||
function getRandomItemFromArray(array) {
|
||||
if (array.length === 0) {
|
||||
return null;
|
||||
}
|
||||
const randomIndex = Math.floor(Math.random() * array.length);
|
||||
return array[randomIndex];
|
||||
}
|
||||
exports.getRandomItemFromArray = getRandomItemFromArray;
|
||||
30
AIWebQuickDeploy/dist/common/utils/getTokenCount.js
vendored
Normal file
30
AIWebQuickDeploy/dist/common/utils/getTokenCount.js
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getTokenCount = void 0;
|
||||
const gpt_tokenizer_1 = require("gpt-tokenizer");
|
||||
const getTokenCount = async (input) => {
|
||||
let text = '';
|
||||
if (Array.isArray(input)) {
|
||||
text = input.reduce((pre, cur) => {
|
||||
if (Array.isArray(cur.content)) {
|
||||
const contentText = cur.content
|
||||
.filter((item) => item.type === 'text')
|
||||
.map((item) => item.text)
|
||||
.join(' ');
|
||||
return pre + contentText;
|
||||
}
|
||||
else {
|
||||
return pre + (cur.content || '');
|
||||
}
|
||||
}, '');
|
||||
}
|
||||
else if (typeof input === 'string') {
|
||||
text = input;
|
||||
}
|
||||
else if (input) {
|
||||
text = String(input);
|
||||
}
|
||||
text = text.replace(/<\|endoftext\|>/g, '');
|
||||
return (0, gpt_tokenizer_1.encode)(text).length;
|
||||
};
|
||||
exports.getTokenCount = getTokenCount;
|
||||
43
AIWebQuickDeploy/dist/common/utils/handleError.js
vendored
Normal file
43
AIWebQuickDeploy/dist/common/utils/handleError.js
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.handleError = void 0;
|
||||
const axios_1 = require("axios");
|
||||
function handleError(error) {
|
||||
let message = '发生未知错误,请稍后再试';
|
||||
if (axios_1.default.isAxiosError(error) && error.response) {
|
||||
switch (error.response.status) {
|
||||
case 400:
|
||||
message =
|
||||
'发生错误:400 Bad Request - 请求因格式错误无法被服务器处理。';
|
||||
break;
|
||||
case 401:
|
||||
message = '发生错误:401 Unauthorized - 请求要求进行身份验证。';
|
||||
break;
|
||||
case 403:
|
||||
message = '发生错误:403 Forbidden - 服务器拒绝执行请求。';
|
||||
break;
|
||||
case 404:
|
||||
message = '发生错误:404 Not Found - 请求的资源无法在服务器上找到。';
|
||||
break;
|
||||
case 500:
|
||||
message =
|
||||
'发生错误:500 Internal Server Error - 服务器内部错误,无法完成请求。';
|
||||
break;
|
||||
case 502:
|
||||
message =
|
||||
'发生错误:502 Bad Gateway - 作为网关或代理工作的服务器从上游服务器收到无效响应。';
|
||||
break;
|
||||
case 503:
|
||||
message =
|
||||
'发生错误:503 Service Unavailable - 服务器暂时处于超负载或维护状态,无法处理请求。';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
message = error.message || message;
|
||||
}
|
||||
return message;
|
||||
}
|
||||
exports.handleError = handleError;
|
||||
14
AIWebQuickDeploy/dist/common/utils/hideString.js
vendored
Normal file
14
AIWebQuickDeploy/dist/common/utils/hideString.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.hideString = void 0;
|
||||
function hideString(input, str) {
|
||||
const length = input.length;
|
||||
const start = input.slice(0, (length - 10) / 2);
|
||||
const end = input.slice((length + 10) / 2, length);
|
||||
const hidden = '*'.repeat(10);
|
||||
if (str) {
|
||||
return `**********${str}**********`;
|
||||
}
|
||||
return `${start}${hidden}${end}`;
|
||||
}
|
||||
exports.hideString = hideString;
|
||||
39
AIWebQuickDeploy/dist/common/utils/index.js
vendored
Normal file
39
AIWebQuickDeploy/dist/common/utils/index.js
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
__exportStar(require("./base"), exports);
|
||||
__exportStar(require("./createOrderId"), exports);
|
||||
__exportStar(require("./createRandomCode"), exports);
|
||||
__exportStar(require("./createRandomInviteCode"), exports);
|
||||
__exportStar(require("./createRandomNonceStr"), exports);
|
||||
__exportStar(require("./createRandomUid"), exports);
|
||||
__exportStar(require("./date"), exports);
|
||||
__exportStar(require("./encrypt"), exports);
|
||||
__exportStar(require("./fromatUrl"), exports);
|
||||
__exportStar(require("./generateCrami"), exports);
|
||||
__exportStar(require("./getClientIp"), exports);
|
||||
__exportStar(require("./getDiffArray"), exports);
|
||||
__exportStar(require("./getRandomItem"), exports);
|
||||
__exportStar(require("./getRandomItemFromArray"), exports);
|
||||
__exportStar(require("./getTokenCount"), exports);
|
||||
__exportStar(require("./handleError"), exports);
|
||||
__exportStar(require("./hideString"), exports);
|
||||
__exportStar(require("./maskCrami"), exports);
|
||||
__exportStar(require("./maskEmail"), exports);
|
||||
__exportStar(require("./maskIpAddress"), exports);
|
||||
__exportStar(require("./removeSpecialCharacters"), exports);
|
||||
__exportStar(require("./tools"), exports);
|
||||
__exportStar(require("./utcformatTime"), exports);
|
||||
11
AIWebQuickDeploy/dist/common/utils/maskCrami.js
vendored
Normal file
11
AIWebQuickDeploy/dist/common/utils/maskCrami.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.maskCrami = void 0;
|
||||
function maskCrami(str) {
|
||||
if (str.length !== 16) {
|
||||
throw new Error('Invalid input');
|
||||
}
|
||||
const masked = str.substring(0, 6) + '****' + str.substring(10);
|
||||
return masked;
|
||||
}
|
||||
exports.maskCrami = maskCrami;
|
||||
16
AIWebQuickDeploy/dist/common/utils/maskEmail.js
vendored
Normal file
16
AIWebQuickDeploy/dist/common/utils/maskEmail.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.maskEmail = void 0;
|
||||
function maskEmail(email) {
|
||||
if (!email)
|
||||
return '';
|
||||
const atIndex = email.indexOf('@');
|
||||
if (atIndex <= 1) {
|
||||
return email;
|
||||
}
|
||||
const firstPart = email.substring(0, atIndex - 1);
|
||||
const lastPart = email.substring(atIndex);
|
||||
const maskedPart = '*'.repeat(firstPart.length - 1);
|
||||
return `${firstPart.charAt(0)}${maskedPart}${email.charAt(atIndex - 1)}${lastPart}`;
|
||||
}
|
||||
exports.maskEmail = maskEmail;
|
||||
11
AIWebQuickDeploy/dist/common/utils/maskIpAddress.js
vendored
Normal file
11
AIWebQuickDeploy/dist/common/utils/maskIpAddress.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.maskIpAddress = void 0;
|
||||
function maskIpAddress(ipAddress) {
|
||||
if (!ipAddress)
|
||||
return '';
|
||||
const ipArray = ipAddress.split('.');
|
||||
ipArray[2] = '***';
|
||||
return ipArray.join('.');
|
||||
}
|
||||
exports.maskIpAddress = maskIpAddress;
|
||||
7
AIWebQuickDeploy/dist/common/utils/removeSpecialCharacters.js
vendored
Normal file
7
AIWebQuickDeploy/dist/common/utils/removeSpecialCharacters.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.removeSpecialCharacters = void 0;
|
||||
function removeSpecialCharacters(inputString) {
|
||||
return inputString.replace(/[^\w\s-]/g, '');
|
||||
}
|
||||
exports.removeSpecialCharacters = removeSpecialCharacters;
|
||||
8
AIWebQuickDeploy/dist/common/utils/tools.js
vendored
Normal file
8
AIWebQuickDeploy/dist/common/utils/tools.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.importDynamic = exports.isNotEmptyString = void 0;
|
||||
function isNotEmptyString(value) {
|
||||
return typeof value === 'string' && value.length > 0;
|
||||
}
|
||||
exports.isNotEmptyString = isNotEmptyString;
|
||||
exports.importDynamic = new Function('modulePath', 'return import(modulePath)');
|
||||
16
AIWebQuickDeploy/dist/common/utils/utcformatTime.js
vendored
Normal file
16
AIWebQuickDeploy/dist/common/utils/utcformatTime.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.utcToShanghaiTime = void 0;
|
||||
function utcToShanghaiTime(utcTime, format = 'YYYY/MM/DD hh:mm:ss') {
|
||||
const date = new Date(utcTime);
|
||||
const shanghaiTime = date.getTime() + 8 * 60 * 60 * 1000;
|
||||
const shanghaiDate = new Date(shanghaiTime);
|
||||
let result = format.replace('YYYY', shanghaiDate.getFullYear().toString());
|
||||
result = result.replace('MM', `0${shanghaiDate.getMonth() + 1}`.slice(-2));
|
||||
result = result.replace('DD', `0${shanghaiDate.getDate()}`.slice(-2));
|
||||
result = result.replace('hh', `0${shanghaiDate.getHours()}`.slice(-2));
|
||||
result = result.replace('mm', `0${shanghaiDate.getMinutes()}`.slice(-2));
|
||||
result = result.replace('ss', `0${shanghaiDate.getSeconds()}`.slice(-2));
|
||||
return result;
|
||||
}
|
||||
exports.utcToShanghaiTime = utcToShanghaiTime;
|
||||
Reference in New Issue
Block a user