From 3d2086731fb9225d1e0919e14d4866672701fea1 Mon Sep 17 00:00:00 2001 From: xxj <346944475@qq.com> Date: Wed, 3 Mar 2021 11:45:18 +0800 Subject: [PATCH] small camel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 小驼峰 --- mybigcamel/mybigcamel.go | 23 ++++- mybigcamel/mybigcamel_test.go | 10 ++ weixin/base.go | 179 +++++++++++++++++----------------- 3 files changed, 118 insertions(+), 94 deletions(-) diff --git a/mybigcamel/mybigcamel.go b/mybigcamel/mybigcamel.go index d6d579c..32d9387 100644 --- a/mybigcamel/mybigcamel.go +++ b/mybigcamel/mybigcamel.go @@ -37,9 +37,7 @@ func Marshal(name string) string { return s } -/* - 回退网络模式 -*/ +// UnMarshal 回退网络模式 func UnMarshal(name string) string { const ( lower = false @@ -89,3 +87,22 @@ func UnMarshal(name string) string { s := strings.ToLower(buf.String()) return s } + +// UnSmallMarshal 小驼峰模式 +func UnSmallMarshal(name string) string { + if name == "" { + return "" + } + + var ( + value = commonInitialismsReplacer.Replace(name) + ) + + strArry := []rune(value) + + if bool(strArry[0] >= 'A' && strArry[0] <= 'Z') { + strArry[0] = strArry[0] + 32 + } + + return string(strArry) +} diff --git a/mybigcamel/mybigcamel_test.go b/mybigcamel/mybigcamel_test.go index 7d4f1c2..dad0eed 100644 --- a/mybigcamel/mybigcamel_test.go +++ b/mybigcamel/mybigcamel_test.go @@ -19,6 +19,7 @@ func Test_cache(t *testing.T) { } fmt.Println(CapLowercase("IDAPIID")) + fmt.Println(CapSmallcase("IDAPIID")) } func CapLowercase(name string) string { @@ -29,3 +30,12 @@ func CapLowercase(name string) string { return list[0] + name[len(list[0]):] } + +func CapSmallcase(name string) string { + list := strings.Split(UnSmallMarshal(name), "_") + if len(list) == 0 { + return "" + } + + return list[0] + name[len(list[0]):] +} diff --git a/weixin/base.go b/weixin/base.go index 8dc0465..640a500 100644 --- a/weixin/base.go +++ b/weixin/base.go @@ -26,36 +26,33 @@ const ( func (_wx *wxTools) GetAccessToken() (accessToken string, err error) { //先从缓存中获取 access_token cache := mycache.NewCache(_cacheToken) - var tp interface{} - var b bool - tp, b = cache.Value(_cacheToken) - if b { - accessToken = *(tp.(*string)) - } else { - var url = _getToken + _wx.wxInfo.AppID + "&secret=" + _wx.wxInfo.AppSecret - - resp, err := http.Get(url) - if err != nil { - return "", err - } - - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return "", err - } - - //注入client ip - js, err := simplejson.NewJson(body) - if err == nil { - accessToken, _ = js.Get("access_token").String() - //保存缓存 - cache.Add(_cacheToken, &accessToken, time.Duration(7000)*time.Second) - //------------------end - } - //----------------------end + err = cache.Value(_cacheToken, &accessToken) + if err == nil { + return } - //---------------获取 access_token --------end + + var url = _getToken + _wx.wxInfo.AppID + "&secret=" + _wx.wxInfo.AppSecret + + resp, err := http.Get(url) + if err != nil { + return "", err + } + + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return "", err + } + + //注入client ip + js, err := simplejson.NewJson(body) + if err == nil { + accessToken, _ = js.Get("access_token").String() + //保存缓存 + cache.Add(_cacheToken, &accessToken, time.Duration(7000)*time.Second) + //------------------end + } + //----------------------end return } @@ -64,38 +61,38 @@ func (_wx *wxTools) GetAccessToken() (accessToken string, err error) { func (_wx *wxTools) GetAPITicket() (ticket string, err error) { //先从缓存中获取 cache := mycache.NewCache(_cacheTicket) - var tp interface{} - tp, b := cache.Value(_cacheTicket) - if b { - ticket = tp.(string) - } else { - accessToken, e := _wx.GetAccessToken() - if e != nil { - mylog.Error(e) - err = e - return - } - var url = _getTicket + accessToken - - resp, e1 := http.Get(url) - if e1 != nil { - mylog.Error(e1) - err = e1 - return - } - defer resp.Body.Close() - body, e2 := ioutil.ReadAll(resp.Body) - if e2 != nil { - mylog.Error(e2) - err = e2 - return - } - var result APITicket - json.Unmarshal(body, &result) - ticket = result.Ticket - //保存缓存 - cache.Add(_cacheTicket, ticket, 7000*time.Second) + err = cache.Value(_cacheTicket, &ticket) + if err == nil { + return } + + accessToken, e := _wx.GetAccessToken() + if e != nil { + mylog.Error(e) + err = e + return + } + var url = _getTicket + accessToken + + resp, e1 := http.Get(url) + if e1 != nil { + mylog.Error(e1) + err = e1 + return + } + defer resp.Body.Close() + body, e2 := ioutil.ReadAll(resp.Body) + if e2 != nil { + mylog.Error(e2) + err = e2 + return + } + var result APITicket + json.Unmarshal(body, &result) + ticket = result.Ticket + //保存缓存 + cache.Add(_cacheTicket, ticket, 7000*time.Second) + return } @@ -103,38 +100,38 @@ func (_wx *wxTools) GetAPITicket() (ticket string, err error) { func (_wx *wxTools) GetJsTicket() (ticket string, err error) { //先从缓存中获取 cache := mycache.NewCache("weixin_js_ticket") - var tp interface{} - tp, b := cache.Value("base") - if b { - ticket = tp.(string) - } else { - accessToken, e := _wx.GetAccessToken() - if e != nil { - mylog.Error(e) - err = e - return - } - var url = _getJsurl + accessToken - - resp, e1 := http.Get(url) - if e1 != nil { - mylog.Error(e1) - err = e1 - return - } - defer resp.Body.Close() - body, e2 := ioutil.ReadAll(resp.Body) - if e2 != nil { - mylog.Error(e2) - err = e2 - return - } - var result APITicket - json.Unmarshal(body, &result) - ticket = result.Ticket - //保存缓存 - cache.Add("base", ticket, 7000*time.Second) + err = cache.Value("base", &ticket) + if err == nil { + return } + + accessToken, e := _wx.GetAccessToken() + if e != nil { + mylog.Error(e) + err = e + return + } + var url = _getJsurl + accessToken + + resp, e1 := http.Get(url) + if e1 != nil { + mylog.Error(e1) + err = e1 + return + } + defer resp.Body.Close() + body, e2 := ioutil.ReadAll(resp.Body) + if e2 != nil { + mylog.Error(e2) + err = e2 + return + } + var result APITicket + json.Unmarshal(body, &result) + ticket = result.Ticket + //保存缓存 + cache.Add("base", ticket, 7000*time.Second) + return }