vue ts 常用工具。Utils封装1、常用测试数据生成

开发中经常写一些常用测试数据比较麻烦,mock的话也比较麻烦。所以写了这个测试数据生成的类。

export default class Generater {
	private count = 0
	private sourceStr =
		'奇管类未朋且婚台夜青北队久乎越观落尽形影红爸百令周吧识步希亚术留市半热送兴造谈容极随演收首根讲整式取照办强石古华諣拿计您装似足双妻尼转诉米称丽客南领节衣站黑刻统断福城故历惊脸选包紧争另建维绝树系伤示愿持千史谁准联妇纪基买志静阿诗独复痛消社算更拉东神记处让母父应直字场平报友关放至张认接告入笑内英军候民岁往何度山觉路带万男边风解叫任金快原吃妈变通师立象数四失满战远格士音轻目条呢病始达深完今提求清王化空业思切怎非找片罗钱紶吗语元喜曾离飞科言干流欢约各即指合反题必该论交终林请医晚制球决窢传画保读运及则房早院量苦火布品近坐产答星精视五连司巴见明问力理尔点文几定本公特做外孩相西果走将月十实向声车全信重三机工物气每并别真打太新比才便夫再书部水像眼等体却加电主界门利海受听表德少克代员许稜先口由死安写性马光白或住难望教命花结乐色的一是了我不人在他有这个上们来到时大地为子中你说生国年着就那和要她出也得里后自以会家可下而过天去能对小多然于心学么之都好看起发当没成只如事把还用第样道想作种开美总从无情己面最女但现前些所同日手又行意动方期它头经长儿回位分爱老因很给名法间斯知世什两次使身者被高已亲其进此话常与活正感'

	constructor (counterStartNumber: number) {
		this.count = counterStartNumber
	}
	// 生成自增整数
	AutoIncreaseInteger () {
		return this.count++
	}
	// 生成随机整数 具有范围约束(min, max)
	// min 最小值
	// max 最大值
	RangeInteger (min: number, max: number) {
		const range = max - min
		const value = Math.floor(Math.random() * range) + min

		return value
	}

	// 生成随机小数 具有范围约束(min, max, length)
	// min 最小值
	// max 最大值
	// length 小数点后保留位数
	RangeFloat (min: number, max: number, length: number) {
		const range = max - min
		const value = Math.random() * range + min

		return value.toFixed(length)
	}

	// 生成随机邮箱
	RandomEmail () {
		const prefix = ['@qq', '@163', '@gmail', '@126', '@outlook', '@sina']
		const suffix = ['.com', '.cn', '.net', '.org', '.gov']

		const email =
			this.RangeInteger(100000000, 999999999) +
			prefix[this.RangeInteger(0, prefix.length)] +
			suffix[this.RangeInteger(0, suffix.length)]

		return email
	}

	// 从sourceStr中生成随机一个指定长度的中文字符串
	// length 指定字符串长度
	RandomChinese (length: number) {
		let str = ''
		for (let i = 0; i < length; i++) {
			str += this.sourceStr[this.RangeInteger(0, this.sourceStr.length)]
		}

		return str
	}

	// 生成随机手机号
	RandomPhone () {
		const prefix = ['13', '14', '15', '16', '17', '18', '19']
		const phone =
			prefix[this.RangeInteger(0, prefix.length)] + this.RangeInteger(100000000, 999999999)

		return phone
	}

	// 生成随机一个指定参数中的字符串
	// ...strings 指定的字符串组
	SpecifiedString (...strings: string[]) {
		const map = new Map(Object.entries(strings))

		return map.get(this.RangeInteger(0, strings.length) + '')
	}
	// 生成指定长度的随机 含[a~z]的字符串,
	// length 指定字符串长度
	// toUpper 首字母是否大写
	RandomString (length: number, firstToUpper?: boolean) {
		let str = ''
		for (let i = 0; i < length; i++) {
			if (firstToUpper && i == 1) {
				str += String.fromCharCode(this.RangeInteger(97, 123)).toUpperCase()
				continue
			}
			str += String.fromCharCode(this.RangeInteger(97, 123))
		}

		return str
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ken Luff

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值