package help import ( "math/rand" "time" "github.com/sqids/sqids-go" ) var sqlids_sqlids *sqids.Sqids func init() { // 设置随机数种子 rand.NewSource(time.Now().UnixNano()) sqlids_sqlids, _ = sqids.New() } // 保证每秒,id唯一。同一秒内,由随机数区分,可能出现重复。 // 注: 此微信用户名,只是展示名称,不能作为用户唯一标识使用,后期用户也可以修改。所有并没有严格唯一性要求,只要不容易重复即可。 func GetUniqueIdEachSecond() string { // 生成一个0到1000之间的随机数 randomNum := rand.Intn(1001) // 获取当前时间戳,精度秒即可。 ts := time.Now().Unix() // 根据整数数组,生成唯一的短id id, _ := sqlids_sqlids.Encode([]uint64{uint64(ts), uint64(randomNum)}) return id }