40 lines
760 B
TypeScript
40 lines
760 B
TypeScript
|
export default {
|
||
|
// 生成随机数
|
||
|
randomNum({ min, max }: { min: number; max: number }) {
|
||
|
return Math.floor(Math.random() * (max - min + 1) + min);
|
||
|
},
|
||
|
getMinmax(type: '*' | '.' | '+') {
|
||
|
let min: number, max: number;
|
||
|
switch (type) {
|
||
|
case '*':
|
||
|
min = 30;
|
||
|
max = 150;
|
||
|
break;
|
||
|
case '.':
|
||
|
min = 60;
|
||
|
max = 200;
|
||
|
break;
|
||
|
case '+':
|
||
|
min = 20;
|
||
|
max = 70;
|
||
|
break;
|
||
|
}
|
||
|
return { min, max };
|
||
|
},
|
||
|
getRandom(value: string) {
|
||
|
value = value.replace(
|
||
|
'***',
|
||
|
'' + this.randomNum({ ...this.getMinmax('*') }),
|
||
|
);
|
||
|
value = value.replace(
|
||
|
'...',
|
||
|
'' + this.randomNum({ ...this.getMinmax('.') }),
|
||
|
);
|
||
|
value = value.replace(
|
||
|
'+++',
|
||
|
'' + this.randomNum({ ...this.getMinmax('+') }),
|
||
|
);
|
||
|
return value;
|
||
|
},
|
||
|
};
|