- update dorm

master v1.0.83
李光春 1 year ago
parent 65e1dfd699
commit 0f70942930

@ -1,5 +1,5 @@
package go_library
func Version() string {
return "1.0.82"
return "1.0.83"
}

@ -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)

@ -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)

@ -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)

@ -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)

@ -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)

@ -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)

@ -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()

@ -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)

@ -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)

@ -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))
}

@ -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{}
}

@ -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...)
}

@ -4,5 +4,5 @@ import "github.com/redis/go-redis/v9"
// GetDb 获取驱动
func (r *RedisClient) GetDb() *redis.Client {
return r.Db
return r.db
}

@ -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 从列表左边插入数据

@ -11,7 +11,7 @@ type SimpleOperation struct {
}
func (r *RedisClient) NewSimpleOperation() *SimpleOperation {
return &SimpleOperation{db: r.Db}
return &SimpleOperation{db: r.db}
}
// Set 设置

@ -11,7 +11,7 @@ type StringOperation struct {
}
func (r *RedisClient) NewStringOperation() *StringOperation {
return &StringOperation{db: r.Db}
return &StringOperation{db: r.db}
}
// Set 设置

@ -11,6 +11,6 @@ type XormClientConfigXorm struct {
// XormClient
// https://xorm.io/
type XormClient struct {
Db *xorm.Engine // 驱动
db *xorm.Engine // 驱动
config *XormClientConfigXorm // 配置
}

@ -6,5 +6,5 @@ import (
// GetDb 获取驱动
func (c *XormClient) GetDb() *xorm.Engine {
return c.Db
return c.db
}

@ -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))
}

@ -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))
}

@ -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()
}

@ -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)
}

@ -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
}
Loading…
Cancel
Save