package svc import ( "applet/app/customer/md" "applet/app/db" "applet/app/enum" "applet/app/utils/cache" "applet/app/utils/logx" "github.com/medivhzhan/weapp/v2" ) func GetWxAccessToken() (accessToken string, err error) { cacheKey := md.WxAccessToken // 获取之前生成的token accessToken, err = cache.GetString(cacheKey) if err != nil { _ = logx.Error(err) } // 没有获取到 if err != nil || accessToken == "" { sysCfgDb := db.SysCfgDb{} sysCfgDb.Set() cfg := sysCfgDb.SysCfgFindWithDb(enum.WxAppletAppId, enum.WxAppletAppSecret) // 生成 res, err1 := weapp.GetAccessToken(cfg[enum.WxAppletAppId], cfg[enum.WxAppletAppSecret]) if err1 != nil { return "", err1 } accessToken = res.AccessToken // 缓存 _, err = cache.SetEx(cacheKey, accessToken, md.WxAccessTokenCacheTime) if err != nil { return "", err } return accessToken, nil } return accessToken, nil }