order apis

This commit is contained in:
2026-08-26 17:32:54 +08:00
parent eabdc8772e
commit 299191749b
32 changed files with 1321 additions and 251 deletions
-52
View File
@@ -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哈希对象