diff --git a/library.go b/library.go index f8bbd000..68e44f7b 100644 --- a/library.go +++ b/library.go @@ -1,5 +1,5 @@ package go_library func Version() string { - return "1.0.82" + return "1.0.83" } diff --git a/service/wechatminiprogram/cgi-bin.token.monitor.go b/service/wechatminiprogram/cgi-bin.token.monitor.go index 5cd35836..5d31cdd0 100644 --- a/service/wechatminiprogram/cgi-bin.token.monitor.go +++ b/service/wechatminiprogram/cgi-bin.token.monitor.go @@ -7,7 +7,7 @@ import ( ) func (c *Client) GetAccessTokenMonitor(ctx context.Context) (string, error) { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return "", errors.New("驱动没有初始化") } result := c.GetCallBackIp(ctx) diff --git a/service/wechatminiprogram/cgi-bin.token.rdb.go b/service/wechatminiprogram/cgi-bin.token.rdb.go index 11a20ad2..562c3e31 100644 --- a/service/wechatminiprogram/cgi-bin.token.rdb.go +++ b/service/wechatminiprogram/cgi-bin.token.rdb.go @@ -6,7 +6,7 @@ import ( ) func (c *Client) GetAccessToken(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.accessToken } newCache := c.cache.redisClient.NewSimpleStringCache(c.cache.redisClient.NewStringOperation(), time.Second*7000) diff --git a/service/wechatoffice/cgi-bin.ticket.getticket.monitor.go b/service/wechatoffice/cgi-bin.ticket.getticket.monitor.go index 5f7cb3c0..1af9d6f2 100644 --- a/service/wechatoffice/cgi-bin.ticket.getticket.monitor.go +++ b/service/wechatoffice/cgi-bin.ticket.getticket.monitor.go @@ -8,7 +8,7 @@ import ( // GetJsapiTicketMonitor 监控api_ticket func (c *Client) GetJsapiTicketMonitor(ctx context.Context) (string, error) { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return "", errors.New("驱动没有初始化") } result := c.DebugCgiBinTicketCheck(ctx) diff --git a/service/wechatoffice/cgi-bin.ticket.getticket.rdb.go b/service/wechatoffice/cgi-bin.ticket.getticket.rdb.go index b5d0a7f7..2c002f2f 100644 --- a/service/wechatoffice/cgi-bin.ticket.getticket.rdb.go +++ b/service/wechatoffice/cgi-bin.ticket.getticket.rdb.go @@ -7,7 +7,7 @@ import ( // GetJsapiTicket 获取api_ticket func (c *Client) GetJsapiTicket(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.jsapiTicket } newCache := c.cache.redisClient.NewSimpleStringCache(c.cache.redisClient.NewStringOperation(), time.Second*7000) diff --git a/service/wechatoffice/cgi-bin.token.monitor.go b/service/wechatoffice/cgi-bin.token.monitor.go index 44ad6ec7..388b8e82 100644 --- a/service/wechatoffice/cgi-bin.token.monitor.go +++ b/service/wechatoffice/cgi-bin.token.monitor.go @@ -7,7 +7,7 @@ import ( ) func (c *Client) GetAccessTokenMonitor(ctx context.Context) (string, error) { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return "", errors.New("驱动没有初始化") } result := c.GetCallBackIp(ctx) diff --git a/service/wechatoffice/cgi-bin.token.rdb.go b/service/wechatoffice/cgi-bin.token.rdb.go index da22002b..8c7558cc 100644 --- a/service/wechatoffice/cgi-bin.token.rdb.go +++ b/service/wechatoffice/cgi-bin.token.rdb.go @@ -6,7 +6,7 @@ import ( ) func (c *Client) GetAccessToken(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.accessToken } newCache := c.cache.redisClient.NewSimpleStringCache(c.cache.redisClient.NewStringOperation(), time.Second*7000) diff --git a/service/wechatopen/redis.go b/service/wechatopen/redis.go index 2ae4e571..4c982827 100644 --- a/service/wechatopen/redis.go +++ b/service/wechatopen/redis.go @@ -21,7 +21,7 @@ func (c *Client) SetComponentVerifyTicket(ctx context.Context, componentVerifyTi // GetComponentVerifyTicket 获取微信后台推送的ticke func (c *Client) GetComponentVerifyTicket(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.componentVerifyTicket } result, _ := c.cache.redisClient.Get(ctx, c.getComponentVerifyTicketCacheKeyName()).Result() @@ -44,10 +44,10 @@ func (c *Client) SetComponentAccessToken(ctx context.Context, componentAccessTok // GetComponentAccessToken 获取令牌 func (c *Client) GetComponentAccessToken(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.componentAccessToken } - result, _ := c.cache.redisClient.Db.Get(ctx, c.getComponentAccessTokenCacheKeyName()).Result() + result, _ := c.cache.redisClient.GetDb().Get(ctx, c.getComponentAccessTokenCacheKeyName()).Result() return result } @@ -84,7 +84,7 @@ func (c *Client) SetAuthorizerAccessToken(ctx context.Context, authorizerAccessT // GetAuthorizerAccessToken 获取授权方令牌 func (c *Client) GetAuthorizerAccessToken(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.authorizerAccessToken } result, _ := c.cache.redisClient.Get(ctx, c.getAuthorizerAccessTokenCacheKeyName()).Result() @@ -120,7 +120,7 @@ func (c *Client) SetPreAuthCode(ctx context.Context, preAuthCode string) string // GetPreAuthCode 获取预授权码 func (c *Client) GetPreAuthCode(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.authorizerAccessToken } result, _ := c.cache.redisClient.Get(ctx, c.getPreAuthCodeCacheKeyName()).Result() diff --git a/service/wechatunion/cgi-bin.token.monitor.go b/service/wechatunion/cgi-bin.token.monitor.go index 609e0c0f..f40cb697 100644 --- a/service/wechatunion/cgi-bin.token.monitor.go +++ b/service/wechatunion/cgi-bin.token.monitor.go @@ -7,7 +7,7 @@ import ( ) func (c *Client) GetAccessTokenMonitor(ctx context.Context) (string, error) { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return "", errors.New("驱动没有初始化") } result := c.GetCallBackIp(ctx) diff --git a/service/wechatunion/cgi-bin.token.rdb.go b/service/wechatunion/cgi-bin.token.rdb.go index d36d5d9b..e68c545e 100644 --- a/service/wechatunion/cgi-bin.token.rdb.go +++ b/service/wechatunion/cgi-bin.token.rdb.go @@ -6,7 +6,7 @@ import ( ) func (c *Client) GetAccessToken(ctx context.Context) string { - if c.cache.redisClient.Db == nil { + if c.cache.redisClient.GetDb() == nil { return c.config.accessToken } newCache := c.cache.redisClient.NewSimpleStringCache(c.cache.redisClient.NewStringOperation(), time.Second*7000) diff --git a/utils/dorm/redis.go b/utils/dorm/redis.go index 1817bced..0217abfb 100644 --- a/utils/dorm/redis.go +++ b/utils/dorm/redis.go @@ -22,7 +22,7 @@ type RedisClientConfig struct { // RedisClient // https://redis.uptrace.dev/ type RedisClient struct { - Db *redis.Client // 驱动 + db *redis.Client // 驱动 config *RedisClientConfig // 配置 } @@ -34,7 +34,7 @@ func NewRedisClient(config *RedisClientConfig) (*RedisClient, error) { c.config.PoolSize = 100 } - c.Db = redis.NewClient(&redis.Options{ + c.db = redis.NewClient(&redis.Options{ Addr: c.config.Addr, // 地址 Password: c.config.Password, // 密码 DB: c.config.DB, // 数据库 @@ -45,7 +45,7 @@ func NewRedisClient(config *RedisClientConfig) (*RedisClient, error) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() - _, err := c.Db.Ping(ctx).Result() + _, err := c.db.Ping(ctx).Result() if err != nil { return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) } diff --git a/utils/dorm/redis_curd.go b/utils/dorm/redis_curd.go index 29522b7a..5e2da5e3 100644 --- a/utils/dorm/redis_curd.go +++ b/utils/dorm/redis_curd.go @@ -8,63 +8,63 @@ import ( // Set 设置一个key的值 func (r *RedisClient) Set(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.StatusCmd { - return r.Db.Set(ctx, key, value, expiration) + return r.db.Set(ctx, key, value, expiration) } // Get 查询key的值 func (r *RedisClient) Get(ctx context.Context, key string) *redis.StringCmd { - return r.Db.Get(ctx, key) + return r.db.Get(ctx, key) } // GetSet 设置一个key的值,并返回这个key的旧值 func (r *RedisClient) GetSet(ctx context.Context, key string, value interface{}) *redis.StringCmd { - return r.Db.GetSet(ctx, key, value) + return r.db.GetSet(ctx, key, value) } // SetNX 如果key不存在,则设置这个key的值 func (r *RedisClient) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.BoolCmd { - return r.Db.SetNX(ctx, key, value, expiration) + return r.db.SetNX(ctx, key, value, expiration) } // MGet 批量查询key的值 func (r *RedisClient) MGet(ctx context.Context, keys ...string) *redis.SliceCmd { - return r.Db.MGet(ctx, keys...) + return r.db.MGet(ctx, keys...) } // MSet 批量设置key的值 // MSet(map[string]interface{}{"key1": "value1", "key2": "value2"}) func (r *RedisClient) MSet(ctx context.Context, values map[string]interface{}) *redis.StatusCmd { - return r.Db.MSet(ctx, values) + return r.db.MSet(ctx, values) } // Incr 针对一个key的数值进行递增操作 func (r *RedisClient) Incr(ctx context.Context, key string) *redis.IntCmd { - return r.Db.Incr(ctx, key) + return r.db.Incr(ctx, key) } // IncrBy 针对一个key的数值进行递增操作,指定每次递增多少 func (r *RedisClient) IncrBy(ctx context.Context, key string, value int64) *redis.IntCmd { - return r.Db.IncrBy(ctx, key, value) + return r.db.IncrBy(ctx, key, value) } // Decr 针对一个key的数值进行递减操作 func (r *RedisClient) Decr(ctx context.Context, key string) *redis.IntCmd { - return r.Db.Decr(ctx, key) + return r.db.Decr(ctx, key) } // DecrBy 针对一个key的数值进行递减操作,指定每次递减多少 func (r *RedisClient) DecrBy(ctx context.Context, key string, value int64) *redis.IntCmd { - return r.Db.DecrBy(ctx, key, value) + return r.db.DecrBy(ctx, key, value) } // Del 删除key操作,支持批量删除 func (r *RedisClient) Del(ctx context.Context, keys ...string) *redis.IntCmd { - return r.Db.Del(ctx, keys...) + return r.db.Del(ctx, keys...) } // Keys 按前缀获取所有key名 func (r *RedisClient) Keys(ctx context.Context, prefix string) []string { - values, _ := r.Db.Keys(ctx, prefix).Result() + values, _ := r.db.Keys(ctx, prefix).Result() keys := make([]string, 0, len(values)) if len(values) <= 0 { return keys @@ -77,7 +77,7 @@ func (r *RedisClient) Keys(ctx context.Context, prefix string) []string { // KeysValue 按前缀获取所有key值 func (r *RedisClient) KeysValue(ctx context.Context, prefix string) *redis.SliceCmd { - values, _ := r.Db.Keys(ctx, prefix).Result() + values, _ := r.db.Keys(ctx, prefix).Result() if len(values) <= 0 { return &redis.SliceCmd{} } diff --git a/utils/dorm/redis_curd_channel.go b/utils/dorm/redis_curd_channel.go index 259400dc..09579504 100644 --- a/utils/dorm/redis_curd_channel.go +++ b/utils/dorm/redis_curd_channel.go @@ -7,25 +7,25 @@ import ( // Subscribe 订阅channel func (r *RedisClient) Subscribe(ctx context.Context, channels ...string) *redis.PubSub { - return r.Db.Subscribe(ctx, channels...) + return r.db.Subscribe(ctx, channels...) } // PSubscribe 订阅channel支持通配符匹配 func (r *RedisClient) PSubscribe(ctx context.Context, channels ...string) *redis.PubSub { - return r.Db.PSubscribe(ctx, channels...) + return r.db.PSubscribe(ctx, channels...) } // Publish 将信息发送到指定的channel func (r *RedisClient) Publish(ctx context.Context, channel string, message interface{}) *redis.IntCmd { - return r.Db.Publish(ctx, channel, message) + return r.db.Publish(ctx, channel, message) } // PubSubChannels 查询活跃的channel func (r *RedisClient) PubSubChannels(ctx context.Context, pattern string) *redis.StringSliceCmd { - return r.Db.PubSubChannels(ctx, pattern) + return r.db.PubSubChannels(ctx, pattern) } // PubSubNumSub 查询指定的channel有多少个订阅者 func (r *RedisClient) PubSubNumSub(ctx context.Context, channels ...string) *redis.MapStringIntCmd { - return r.Db.PubSubNumSub(ctx, channels...) + return r.db.PubSubNumSub(ctx, channels...) } diff --git a/utils/dorm/redis_get.go b/utils/dorm/redis_get.go index a0b4ada8..a408a10a 100644 --- a/utils/dorm/redis_get.go +++ b/utils/dorm/redis_get.go @@ -4,5 +4,5 @@ import "github.com/redis/go-redis/v9" // GetDb 获取驱动 func (r *RedisClient) GetDb() *redis.Client { - return r.Db + return r.db } diff --git a/utils/dorm/redis_list_operation.go b/utils/dorm/redis_list_operation.go index bfcdf922..04638568 100644 --- a/utils/dorm/redis_list_operation.go +++ b/utils/dorm/redis_list_operation.go @@ -12,7 +12,7 @@ type ListOperation struct { // NewListOperation 列表(list)类型数据操作 https://www.tizi365.com/archives/299.html func (r *RedisClient) NewListOperation() *ListOperation { - return &ListOperation{db: r.Db, ctx: context.Background()} + return &ListOperation{db: r.db, ctx: context.Background()} } // LPush 从列表左边插入数据 diff --git a/utils/dorm/redis_simple_operation.go b/utils/dorm/redis_simple_operation.go index d4dc6e55..b4ccc2d7 100644 --- a/utils/dorm/redis_simple_operation.go +++ b/utils/dorm/redis_simple_operation.go @@ -11,7 +11,7 @@ type SimpleOperation struct { } func (r *RedisClient) NewSimpleOperation() *SimpleOperation { - return &SimpleOperation{db: r.Db} + return &SimpleOperation{db: r.db} } // Set 设置 diff --git a/utils/dorm/redis_string_operation.go b/utils/dorm/redis_string_operation.go index 9f382681..ed022385 100644 --- a/utils/dorm/redis_string_operation.go +++ b/utils/dorm/redis_string_operation.go @@ -11,7 +11,7 @@ type StringOperation struct { } func (r *RedisClient) NewStringOperation() *StringOperation { - return &StringOperation{db: r.Db} + return &StringOperation{db: r.db} } // Set 设置 diff --git a/utils/dorm/xorm.go b/utils/dorm/xorm.go index 718e557d..5ab701d9 100644 --- a/utils/dorm/xorm.go +++ b/utils/dorm/xorm.go @@ -11,6 +11,6 @@ type XormClientConfigXorm struct { // XormClient // https://xorm.io/ type XormClient struct { - Db *xorm.Engine // 驱动 + db *xorm.Engine // 驱动 config *XormClientConfigXorm // 配置 } diff --git a/utils/dorm/xorm_get.go b/utils/dorm/xorm_get.go index 394ccae7..fbfbd19f 100644 --- a/utils/dorm/xorm_get.go +++ b/utils/dorm/xorm_get.go @@ -6,5 +6,5 @@ import ( // GetDb 获取驱动 func (c *XormClient) GetDb() *xorm.Engine { - return c.Db + return c.db } diff --git a/utils/dorm/xorm_mysql.go b/utils/dorm/xorm_mysql.go index a1f48619..0d1890b4 100644 --- a/utils/dorm/xorm_mysql.go +++ b/utils/dorm/xorm_mysql.go @@ -12,7 +12,7 @@ func NewXormMysqlClient(config *XormClientConfigXorm) (*XormClient, error) { var err error c := &XormClient{config: config} - c.Db, err = xorm.NewEngine("mysql", c.config.Dns) + c.db, err = xorm.NewEngine("mysql", c.config.Dns) if err != nil { return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) } diff --git a/utils/dorm/xorm_postgres.go b/utils/dorm/xorm_postgres.go index 13ad09b0..17256df1 100644 --- a/utils/dorm/xorm_postgres.go +++ b/utils/dorm/xorm_postgres.go @@ -12,7 +12,7 @@ func NewXormPostgresClient(config *XormClientConfigXorm) (*XormClient, error) { var err error c := &XormClient{config: config} - c.Db, err = xorm.NewEngine("postgres", c.config.Dns) + c.db, err = xorm.NewEngine("postgres", c.config.Dns) if err != nil { return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) } diff --git a/utils/gocache/redis.go b/utils/gocache/redis.go index 580a8324..8a989e0a 100644 --- a/utils/gocache/redis.go +++ b/utils/gocache/redis.go @@ -30,39 +30,39 @@ func NewRedis(config *RedisConfig) *Redis { // Set 设置一个key的值 func (r *Redis) Set(key string, value interface{}, expiration time.Duration) (string, error) { r.setLog(key) - return r.Client.Db.Set(context.Background(), key, value, expiration).Result() + return r.Client.GetDb().Set(context.Background(), key, value, expiration).Result() } // SetInterface 设置一个key的值 func (r *Redis) SetInterface(key string, value interface{}, expiration time.Duration) (string, error) { r.setLog(key) marshal, _ := json.Marshal(value) - return r.Client.Db.Set(context.Background(), key, marshal, expiration).Result() + return r.Client.GetDb().Set(context.Background(), key, marshal, expiration).Result() } // SetDefaultExpiration 设置一个key的值,使用全局默认过期时间 func (r *Redis) SetDefaultExpiration(key string, value interface{}) (string, error) { r.setLog(key) - return r.Client.Db.Set(context.Background(), key, value, r.config.DefaultExpiration).Result() + return r.Client.GetDb().Set(context.Background(), key, value, r.config.DefaultExpiration).Result() } // SetInterfaceDefaultExpiration 设置一个key的值,使用全局默认过期时间 func (r *Redis) SetInterfaceDefaultExpiration(key string, value interface{}) (string, error) { r.setLog(key) marshal, _ := json.Marshal(value) - return r.Client.Db.Set(context.Background(), key, marshal, r.config.DefaultExpiration).Result() + return r.Client.GetDb().Set(context.Background(), key, marshal, r.config.DefaultExpiration).Result() } // Get 查询key的值 func (r *Redis) Get(key string) (string, error) { r.getLog(key) - return r.Client.Db.Get(context.Background(), key).Result() + return r.Client.GetDb().Get(context.Background(), key).Result() } // GetInterface 查询key的值 func (r *Redis) GetInterface(key string, result interface{}) error { r.getLog(key) - ret, err := r.Client.Db.Get(context.Background(), key).Result() + ret, err := r.Client.GetDb().Get(context.Background(), key).Result() if err != nil { return err } @@ -72,52 +72,52 @@ func (r *Redis) GetInterface(key string, result interface{}) error { // GetSet 设置一个key的值,并返回这个key的旧值 func (r *Redis) GetSet(key string, value interface{}) (string, error) { - return r.Client.Db.GetSet(context.Background(), key, value).Result() + return r.Client.GetDb().GetSet(context.Background(), key, value).Result() } // SetNX 如果key不存在,则设置这个key的值 func (r *Redis) SetNX(key string, value interface{}, expiration time.Duration) error { - return r.Client.Db.SetNX(context.Background(), key, value, expiration).Err() + return r.Client.GetDb().SetNX(context.Background(), key, value, expiration).Err() } // SetNXDefaultExpiration 如果key不存在,则设置这个key的值,使用全局默认过期时间 func (r *Redis) SetNXDefaultExpiration(key string, value interface{}) error { - return r.Client.Db.SetNX(context.Background(), key, value, r.config.DefaultExpiration).Err() + return r.Client.GetDb().SetNX(context.Background(), key, value, r.config.DefaultExpiration).Err() } // MGet 批量查询key的值 func (r *Redis) MGet(keys ...string) ([]interface{}, error) { - return r.Client.Db.MGet(context.Background(), keys...).Result() + return r.Client.GetDb().MGet(context.Background(), keys...).Result() } // MSet 批量设置key的值 // MSet(map[string]interface{}{"key1": "value1", "key2": "value2"}) func (r *Redis) MSet(values map[string]interface{}) error { - return r.Client.Db.MSet(context.Background(), values).Err() + return r.Client.GetDb().MSet(context.Background(), values).Err() } // Incr 针对一个key的数值进行递增操作 func (r *Redis) Incr(key string) (int64, error) { - return r.Client.Db.Incr(context.Background(), key).Result() + return r.Client.GetDb().Incr(context.Background(), key).Result() } // IncrBy 针对一个key的数值进行递增操作,指定每次递增多少 func (r *Redis) IncrBy(key string, value int64) (int64, error) { - return r.Client.Db.IncrBy(context.Background(), key, value).Result() + return r.Client.GetDb().IncrBy(context.Background(), key, value).Result() } // Decr 针对一个key的数值进行递减操作 func (r *Redis) Decr(key string) (int64, error) { - return r.Client.Db.Decr(context.Background(), key).Result() + return r.Client.GetDb().Decr(context.Background(), key).Result() } // DecrBy 针对一个key的数值进行递减操作,指定每次递减多少 func (r *Redis) DecrBy(key string, value int64) (int64, error) { - return r.Client.Db.DecrBy(context.Background(), key, value).Result() + return r.Client.GetDb().DecrBy(context.Background(), key, value).Result() } // Del 删除key操作,支持批量删除 func (r *Redis) Del(keys ...string) error { r.delLog(keys...) - return r.Client.Db.Del(context.Background(), keys...).Err() + return r.Client.GetDb().Del(context.Background(), keys...).Err() } diff --git a/utils/gopreg/gopreg.go b/utils/gopreg/gopreg.go deleted file mode 100644 index 69311aad..00000000 --- a/utils/gopreg/gopreg.go +++ /dev/null @@ -1,30 +0,0 @@ -package gopreg - -import ( - "regexp" -) - -// VerifyMobile 验证手机号码 -// 移动:134 135 136 137 138 139 147 150 151 152 157 158 159 178 182 183 184 187 188 198 -// 联通:130 131 132 145 155 156 166 171 175 176 185 186 -// 电信:133 149 153 173 177 180 181 189 199 -// 虚拟运营商: 170 195 -func VerifyMobile(mobile string) bool { - regular := "^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,5,8-9]))[0-9]{8}$" - reg := regexp.MustCompile(regular) - return reg.MatchString(mobile) -} - -// VerifyIdCard 验证身份证号码 -func VerifyIdCard(idCard string) bool { - regular := "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$|^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$" - reg := regexp.MustCompile(regular) - return reg.MatchString(idCard) -} - -// VerifyEmail 验证邮箱号码 -func VerifyEmail(email string) bool { - pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$` - reg := regexp.MustCompile(pattern) - return reg.MatchString(email) -} diff --git a/utils/gorsa/gorsa.go b/utils/gorsa/gorsa.go deleted file mode 100644 index 1bdd8d64..00000000 --- a/utils/gorsa/gorsa.go +++ /dev/null @@ -1,77 +0,0 @@ -package gorsa - -import ( - "crypto/rand" - "crypto/rsa" - "crypto/x509" - "encoding/base64" - "encoding/pem" - "os" -) - -// PublicEncrypt 公钥加密 -func PublicEncrypt(encryptStr string, path string) (string, error) { - // 打开文件 - file, err := os.Open(path) - if err != nil { - return "", err - } - defer file.Close() - - // 读取文件内容 - info, _ := file.Stat() - buf := make([]byte, info.Size()) - file.Read(buf) - - // pem 解码 - block, _ := pem.Decode(buf) - - // x509 解码 - publicKeyInterface, err := x509.ParsePKIXPublicKey(block.Bytes) - if err != nil { - return "", err - } - - // 类型断言 - publicKey := publicKeyInterface.(*rsa.PublicKey) - - //对明文进行加密 - encryptedStr, err := rsa.EncryptPKCS1v15(rand.Reader, publicKey, []byte(encryptStr)) - if err != nil { - return "", err - } - - //返回密文 - return base64.URLEncoding.EncodeToString(encryptedStr), nil -} - -// PrivateDecrypt 私钥解密 -func PrivateDecrypt(decryptStr string, path string) (string, error) { - // 打开文件 - file, err := os.Open(path) - if err != nil { - return "", err - } - defer file.Close() - - // 获取文件内容 - info, _ := file.Stat() - buf := make([]byte, info.Size()) - file.Read(buf) - - // pem 解码 - block, _ := pem.Decode(buf) - - // X509 解码 - privateKey, err := x509.ParsePKCS1PrivateKey(block.Bytes) - if err != nil { - return "", err - } - decryptBytes, err := base64.URLEncoding.DecodeString(decryptStr) - - //对密文进行解密 - decrypted, _ := rsa.DecryptPKCS1v15(rand.Reader, privateKey, decryptBytes) - - //返回明文 - return string(decrypted), nil -}