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
+6 -6
View File
@@ -44,7 +44,7 @@ func GetSaltPassword(salt, password string) string {
// GetRandstring 取得随机字符串:使用字符串拼接
func GetRandString(length int) string {
if length < 1 {
if length < NumberOne {
return ""
}
char := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
@@ -53,7 +53,7 @@ func GetRandString(length int) string {
ran := rand.New(rand.NewSource(time.Now().Unix()))
var rchar string = ""
for i := 1; i <= length; i++ {
for i := NumberOne; i <= length; i++ {
rchar = rchar + charArr[ran.Intn(charlen)]
}
return rchar
@@ -133,8 +133,8 @@ func DecryptPhoneReplace(mobile string) string {
func GetSearchPhone(mobile string) string {
phone := StringEmpty
if len(mobile) == 11 {
prefix := mobile[NumberZero:3] // 前三位
if len(mobile) == NumberEleven {
prefix := mobile[NumberZero:NumberThree] // 前三位
username, cErr := Crypto{}.AESEncryptECB(prefix)
if cErr == nil {
phone = username
@@ -171,7 +171,7 @@ func GetSearchPhone(mobile string) string {
// GetRandstring 取得随机字符串:使用字符串拼接
func GetRandstring(length int) string {
if length < 1 {
if length < NumberOne {
return StringEmpty
}
char := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
@@ -180,7 +180,7 @@ func GetRandstring(length int) string {
ran := rand.New(rand.NewSource(time.Now().Unix()))
var rchar string = StringEmpty
for i := 1; i <= length; i++ {
for i := NumberOne; i <= length; i++ {
rchar = rchar + charArr[ran.Intn(charlen)]
}
return rchar
+24 -14
View File
@@ -10,20 +10,22 @@ import (
)
type UserInfo struct {
ID int64
Name string
RawUID string
Refresh string
ClientIP string // 客户端ip
UserAgent string // 完整原始ua
BrowserName string // 浏览器名称
BrowserVer string // 浏览器版本
StoreName string // 店铺名称
StoreId int64 // 店铺id
SaleName string // 销售名称
SaleId int64 // 销售id
GroupId int64 // 分组ID
Valid bool
ID int64
Name string
RawUID string
Refresh string
ClientIP string // 客户端ip
UserAgent string // 完整原始ua
BrowserName string // 浏览器名称
BrowserVer string // 浏览器版本
StoreName string // 店铺名称
StoreId int64 // 店铺id
SaleName string // 销售名称
SaleId int64 // 销售id
SaleMobile string // 销售手机
SaleProvince int64 // 销售省份
GroupId int64 // 分组ID
Valid bool
}
func GetUserFromCtx(ctx context.Context) UserInfo {
@@ -42,6 +44,8 @@ func GetUserFromCtx(ctx context.Context) UserInfo {
saleName := md.Get("x-sale-name")
saleId := md.Get("x-sale-id")
groupId := md.Get("x-group-id")
province := md.Get("x-sale-province")
mobile := md.Get("x-sale-mobile")
if len(refreshList) == NumberZero {
refreshList = md.Get("X-Refresh")
@@ -62,6 +66,12 @@ func GetUserFromCtx(ctx context.Context) UserInfo {
if len(saleName) > NumberZero {
userInfo.SaleName = saleName[NumberZero]
}
if len(province) > NumberZero {
userInfo.SaleProvince, _ = strconv.ParseInt(province[NumberZero], NumberTen, NumberSixtyFourth)
}
if len(mobile) > NumberZero {
userInfo.SaleMobile = mobile[NumberZero]
}
if len(saleId) > NumberZero {
userInfo.SaleId, _ = strconv.ParseInt(saleId[NumberZero], NumberTen, NumberSixtyFourth)
}
+1
View File
@@ -31,6 +31,7 @@ const (
NumberSixteen = 16
NumberThirtyTwo = 32
NumberSixtyFourth = 64
NumberThirty = 30
MaxSort uint16 = 999 //全局基础最大排序
MinSort uint8 = 1 //全局基础最小排序
+5
View File
@@ -25,6 +25,11 @@ type CustomTime struct {
time.Time
}
func GetAfterMinutes(minutes int) CustomTime {
t := time.Now().In(AsiaShanghai).Add(time.Duration(minutes) * time.Minute)
return CustomTime{Time: t}
}
// Now 获取当前时间
func Now() CustomTime {
return CustomTime{time.Now().In(AsiaShanghai)}
-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哈希对象