4 Commits

Author SHA1 Message Date
f43ca4bbcd Merge pull request '[🚀] v0.12.23' (#23) from dev into main
Reviewed-on: #23
2025-03-04 17:14:13 +08:00
568843f71c [🚀] v0.12.23 2025-03-04 17:12:57 +08:00
23b2b783e7 Merge pull request '[🚀] v0.12.22' (#22) from dev into main
Reviewed-on: #22
2025-02-27 15:42:16 +08:00
1ef1a68948 [🚀] v0.12.22 2025-02-27 15:41:45 +08:00
3 changed files with 18 additions and 53 deletions

View File

@ -60,3 +60,12 @@ func (e Email) MarshalJSON() ([]byte, error) {
v := fmt.Sprintf("%s***%s", split[0][:1], split[0][len(split[0])-1:])
return []byte(`"` + v + "@" + split[1] + `"`), nil
}
func (usc UnifiedSocialCreditCode) MarshalJSON() ([]byte, error) {
if len(usc) != 18 {
return []byte(`"` + usc + `"`), nil
}
v := fmt.Sprintf("%s**********%s", usc[:4], usc[14:])
return []byte(`"` + v + `"`), nil
}

View File

@ -1,19 +1,22 @@
package ddm
// 手机号 132****7986
// Mobile 手机号 132****7986
type Mobile string
// 银行卡号 622888******5676
// BankCard 银行卡号 622888******5676
type BankCard string
// 身份证号 1******7
// IDCard 身份证号 1******7
type IDCard string
// 姓名 *鸿章
// IDName 姓名 *鸿章
type IDName string
// 密码 ******
// PassWord 密码 ******
type PassWord string
// 邮箱 l***w@gmail.com
// Email 邮箱 l***w@gmail.com
type Email string
// UnifiedSocialCreditCode 统一社会信用代码 9137****73X
type UnifiedSocialCreditCode string

View File

@ -1,47 +0,0 @@
package lock
import (
"sync"
"sync/atomic"
)
var _ Locker = (*locker)(nil)
type Locker interface {
condition() bool
Lock()
Unlock()
}
type locker struct {
lock *sync.Mutex
cond *sync.Cond
v *atomic.Bool
}
func NewLocker() Locker {
lock := new(sync.Mutex)
return &locker{
lock: lock,
cond: sync.NewCond(lock),
v: new(atomic.Bool),
}
}
func (l *locker) condition() bool {
return l.v.Load()
}
func (l *locker) Lock() {
l.cond.L.Lock()
for l.condition() {
l.cond.Wait()
}
l.v.Store(true)
}
func (l *locker) Unlock() {
l.v.Store(false)
l.cond.L.Unlock()
l.cond.Signal()
}