order apis
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
||||
"math"
|
||||
"math/rand"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -25,57 +24,6 @@ var (
|
||||
once sync.Once // 保证全局只初始化一次,并发安全
|
||||
)
|
||||
|
||||
func IsMobile(mobile string) bool {
|
||||
// 手机号验证正则表达式(支持国内手机号)
|
||||
phoneRegex := regexp.MustCompile(`^1[3-9]\d{9}$`)
|
||||
return phoneRegex.MatchString(mobile)
|
||||
}
|
||||
|
||||
// 初始化随机数生成器(内部方法,外部无需调用)
|
||||
func initRandGenerator() {
|
||||
// 创建随机数源
|
||||
source := rand.NewSource(time.Now().UnixNano())
|
||||
// 基于源创建生成器
|
||||
randGen = rand.New(source)
|
||||
}
|
||||
|
||||
// GetRandNum 工程化生成四位随机数(0000-9999)
|
||||
func GetRandNum(number int) int {
|
||||
// 首次调用时初始化,后续调用直接复用,无重复初始化开销
|
||||
once.Do(initRandGenerator)
|
||||
// 生成0-9999随机数,格式化补零为4位
|
||||
return randGen.Intn(number)
|
||||
}
|
||||
|
||||
func UniqueId(typeStr string, id int) string {
|
||||
// 格式化补零:%04d 表示数字占4位,不足左侧补0
|
||||
return fmt.Sprintf("%s%010d%s%s", typeStr, id, time.Now().Format("20060102150405"), fmt.Sprintf("%04d", GetRandNum(10000)))
|
||||
}
|
||||
|
||||
// GenerateNickname 生成风格1:形容词+名词+随机数字(例:帅气小猫668)
|
||||
func GenerateNickname() string {
|
||||
var (
|
||||
// 形容词(修饰昵称)
|
||||
adjectives = []string{
|
||||
"帅气", "可爱", "温柔", "霸气", "呆萌", "高冷", "暖心", "潇洒",
|
||||
"元气", "佛系", "硬核", "软萌", "酷飒", "慵懒", "清爽",
|
||||
}
|
||||
// 名词(核心昵称)
|
||||
nouns = []string{
|
||||
"小猫", "小狗", "星辰", "大海", "清风", "明月", "云朵", "小鹿",
|
||||
"枫叶", "晚风", "暖阳", "星辰", "鲸鱼", "兔子", "小熊",
|
||||
}
|
||||
)
|
||||
adj := adjectives[rand.Intn(len(adjectives))]
|
||||
noun := nouns[rand.Intn(len(nouns))]
|
||||
var numStr strings.Builder
|
||||
for i := 0; i < 3; i++ {
|
||||
numStr.WriteByte(byte('0' + rand.Intn(10)))
|
||||
}
|
||||
num := numStr.String() // 2位随机数字
|
||||
return fmt.Sprintf("%s%s%s", adj, noun, num)
|
||||
}
|
||||
|
||||
// MD5Encrypt 封装MD5加密函数:输入字符串,返回32位小写MD5哈希值
|
||||
func MD5Encrypt(str string) string {
|
||||
// 1. 创建MD5哈希对象
|
||||
|
||||
Reference in New Issue
Block a user