Files
ZYZ/web-server/app/service/Utils.ts
2020-12-31 11:17:17 +08:00

63 lines
1.7 KiB
TypeScript

import { Service } from 'egg';
import { resResult as pubResult } from '../pubUtils/util';
import { calPlayerCeAndSave } from 'app/pubUtils/playerCe';
import { HeroType } from '@db/Hero';
import { addSkins, addBags, addEquips } from 'app/pubUtils/itemUtils';
import { BagInter, EquipInter } from 'app/pubUtils/interface';
const csprng = require('csprng');
/**
* Utils Service
*/
export default class Utils extends Service {
/**
* 生成 len 长度的随机字符串
* @param len 长度
* @param radix 基数
*/
public generateStr(len: number, radix = 36) {
return `${csprng(len, radix)}`;
}
public genCode(len) {
const chars = '123456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijklmnopqrstuvwxyz';
const charArr = chars.split('');
let code = '';
for (let i = 0; i < len; i++) {
code += charArr[Math.floor(Math.random() * charArr.length)];
}
return code;
}
/**
* 生成指定长度的随机数
* @param len 随机数长度
*/
public generateNum(len: number) {
let code = '';
for (let i = 0; i < len; i++) {
code += parseInt(`${Math.random() * 10}`);
}
return code;
}
public resResult(status: {code: number, simStr: string}, data?, customMsg?: string) {
return pubResult(status, data, customMsg);
}
public calPlayerCeAndSave(roleId: string, heros: HeroType[], type: number, args: number[]) {
return calPlayerCeAndSave(roleId, heros, type, args)
}
public addSkins(roleId: string, id: number) {
return addSkins(roleId, id);
}
public addBags(roleId: string, roleName: string, data: BagInter) {
return addBags(roleId, roleName, data);
}
public addEquips(roleId: string, roleName: string, weapon: EquipInter) {
return addEquips(roleId, roleName, weapon);
}
}