90 lines
2.2 KiB
TypeScript
90 lines
2.2 KiB
TypeScript
import { Service } from 'egg';
|
|
import * as pubUtils from '@pubUtils/util';
|
|
// import { HeroUpdate } from '@db/Hero';
|
|
// import { SkinUpdate } from '@db/Skin';
|
|
// import { getInitRoleInfo } from '@pubUtils/roleUtil';
|
|
const csprng = require('csprng');
|
|
|
|
/**
|
|
* Utils Service
|
|
*/
|
|
export default class Utils extends Service {
|
|
|
|
constructor(args) {
|
|
super(args);
|
|
|
|
// this.setInitRole();
|
|
}
|
|
|
|
// private initHeroes: Map<number, HeroUpdate> = new Map(); // hid => hero
|
|
// private initSkins: Map<number, SkinUpdate> = new Map(); // hid => skin
|
|
|
|
// public setInitRole() {
|
|
// let result = getInitRoleInfo();
|
|
// let { heroes, skins } = result;
|
|
// for(let hero of heroes) {
|
|
// this.initHeroes.set(hero.hid, hero);
|
|
// }
|
|
// for(let skin of skins) {
|
|
// this.initSkins.set(skin.hid, skin);
|
|
// }
|
|
// }
|
|
|
|
// public getInitHeroById(hid: number) {
|
|
// return {
|
|
// heroInfo: this.initHeroes.get(hid),
|
|
// skinInfo: this.initSkins.get(hid)
|
|
// }
|
|
// }
|
|
|
|
/**
|
|
* 生成 len 长度的随机字符串
|
|
* @param len 长度
|
|
* @param radix 基数
|
|
*/
|
|
public generateStr(len: number, radix = 36) {
|
|
return `${csprng(len, radix)}`;
|
|
}
|
|
|
|
public genCode(len: number) {
|
|
return pubUtils.genCode(len)
|
|
}
|
|
|
|
public resResult(status: {code: number, simStr: string}, data?, customMsg?: string) {
|
|
return pubUtils.resResult(status, data, customMsg);
|
|
}
|
|
|
|
public checkActivityData(data: any, type: number) {
|
|
return { data, type }
|
|
}
|
|
|
|
public log(level: 'DEBUG'|'INFO'|'WARN'| 'ERROR', message: string) {
|
|
const log = this.app.loggers.get('linkLogger');
|
|
|
|
console.log(message);
|
|
if(level == 'DEBUG') {
|
|
log.error(`${message}`);
|
|
} else if (level == 'INFO') {
|
|
log.info(`${message}`);
|
|
} else if (level == 'WARN') {
|
|
log.warn(`${message}`);
|
|
} else if (level == "ERROR") {
|
|
log.error(`${message}`);
|
|
}
|
|
}
|
|
|
|
public async transmit(env: string, route: string, stream: any) {
|
|
const { ctx } = this;
|
|
console.log('****transmit', stream);
|
|
const result = await ctx.curl(`http://127.0.0.1:7002${route}`, {
|
|
method: 'POST',
|
|
files: stream,
|
|
|
|
headers: {
|
|
token: ctx.request.headers.token
|
|
}
|
|
});
|
|
console.log(env, result)
|
|
}
|
|
}
|