Files
jx-callback/globals/api/api.go
2022-06-24 17:33:26 +08:00

172 lines
7.7 KiB
Go

package api
import (
"git.rosy.net.cn/baseapi/platformapi/jdunionapi"
"git.rosy.net.cn/baseapi/platformapi/pddapi"
"git.rosy.net.cn/baseapi/platformapi/q_bida"
"git.rosy.net.cn/baseapi/platformapi/tbunionapi"
"io/ioutil"
"git.rosy.net.cn/baseapi/platformapi/mtunionapi"
"git.rosy.net.cn/baseapi/platformapi/txcloudapi"
"git.rosy.net.cn/baseapi/platformapi/ejyapi"
"git.rosy.net.cn/baseapi/platformapi/mtmemberapi"
"git.rosy.net.cn/baseapi/platformapi/unipushapi"
"git.rosy.net.cn/baseapi/platformapi/jdshopapi"
"git.rosy.net.cn/baseapi/platformapi/aliupcapi"
"git.rosy.net.cn/baseapi/platformapi/jdeclpapi"
"git.rosy.net.cn/baseapi/platformapi/tonglianpayapi"
aliyunsmsclient "github.com/KenmyZhang/aliyun-communicate"
"git.rosy.net.cn/baseapi/platformapi/alipayapi"
"git.rosy.net.cn/baseapi/platformapi/autonavi"
"git.rosy.net.cn/baseapi/platformapi/baidunavi"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/platformapi/showapi"
"git.rosy.net.cn/baseapi/platformapi/weimobapi"
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
"git.rosy.net.cn/baseapi/platformapi/wxpayapi"
"git.rosy.net.cn/jx-callback/business/jxutils/cache"
"git.rosy.net.cn/jx-callback/business/jxutils/cache/redis"
"git.rosy.net.cn/jx-callback/globals"
beego "github.com/astaxie/beego/adapter"
"github.com/qiniu/api.v7/auth/qbox"
)
var (
MtUnionAPI *mtunionapi.API
TbUnionAPI *tbunionapi.API
PddAPI *pddapi.API
JdUnionAPI *jdunionapi.API
JdEclpAPI *jdeclpapi.API
JdShopAPI *jdshopapi.API
EbaiAPI *ebaiapi.API
MtwmAPI *mtwmapi.API
WeixinAPI *weixinapi.API // 微信公众号
WeixinMiniAPI *weixinapi.API // 小程序
WeixinApp *weixinapi.API // app微信登录
WxpayAPI *wxpayapi.API // 微信支付AppAPI
WxpayAPI2 *wxpayapi.API // 微信支付小程序API
TLpayAPI *tonglianpayapi.API //通联收银宝api
MtMemberAPI *mtmemberapi.API
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
AliPayAPI *alipayapi.API
TxAPI *txcloudapi.API
AutonaviAPI *autonavi.API
BaiDuNaviAPI *baidunavi.API
QiniuAPI *qbox.Mac
ShowAPI *showapi.API
WeimobAPI *weimobapi.API
DingDingAPI *dingdingapi.API
DingDingQRCodeAPI *dingdingapi.API
AliUpcAPI *aliupcapi.API //阿里商品条码查询api
EjyAPI *ejyapi.API //易加油
PushAPI *unipushapi.API
Cacher cache.ICacher
SMSClient *aliyunsmsclient.SmsClient
// QBiDaApi
QBiDaAPI *q_bida.Api
)
func init() {
Init() // 这里必须要调用
}
// 这样写的原因是在测试时,可以重新读取配置文件
func Init() {
MtUnionAPI = mtunionapi.New(beego.AppConfig.DefaultString("mtUnionAppKey", ""), beego.AppConfig.DefaultString("mtUnionAppSecret", ""))
TbUnionAPI = tbunionapi.New(beego.AppConfig.DefaultString("tbUnionAppKey", ""), beego.AppConfig.DefaultString("tbUnionAppSecret", ""))
PddAPI = pddapi.New(beego.AppConfig.DefaultString("pddAppKey", ""), beego.AppConfig.DefaultString("pddAppSecret", ""))
JdUnionAPI = jdunionapi.New(beego.AppConfig.DefaultString("jdUnionAppKey", ""), beego.AppConfig.DefaultString("jdUnionAppSecret", ""))
if !beego.AppConfig.DefaultBool("disableJdEclp", false) {
JdEclpAPI = jdeclpapi.New(beego.AppConfig.String("jdEclpAccessToken"), beego.AppConfig.String("jdEclpAppKey"), beego.AppConfig.String("jdEclpAppSecret"))
} else {
JdEclpAPI = nil
}
if !beego.AppConfig.DefaultBool("disableJdShop", false) {
JdShopAPI = jdshopapi.New(beego.AppConfig.String("jdShopAccessToken"), beego.AppConfig.String("jdShopAppKey"), beego.AppConfig.String("jdShopAppSecret"))
// if jdsCookie := beego.AppConfig.DefaultString("jdsCookie", ""); jdsCookie != "" {
// JdShopAPI.SetCookieWithStr(jdsCookie)
// }
} else {
JdShopAPI = nil
}
if !beego.AppConfig.DefaultBool("disableMtwm", false) {
MtwmAPI = mtwmapi.New(beego.AppConfig.String("mtwmAppID"), beego.AppConfig.String("mtwmSecret"), beego.AppConfig.String("mtwmCallbackURL"), "")
// if mtwmCookieStr := beego.AppConfig.DefaultString("mtwmCookieStr", ""); mtwmCookieStr != "" {
// MtwmAPI.SetCookieWithStr(mtwmCookieStr)
// }
} else {
MtwmAPI = nil
}
if !beego.AppConfig.DefaultBool("disableWeixin", false) {
WeixinAPI = weixinapi.New(beego.AppConfig.String("weixinID"), beego.AppConfig.String("weixinSecret"))
// 这个主要是用于调试阶段使用,生产环境中用的是自动刷新那套
if weixinToken := beego.AppConfig.DefaultString("weixinToken", ""); weixinToken != "" {
WeixinAPI.CBSetToken(weixinToken)
}
if weixinMsgToken := beego.AppConfig.DefaultString("weixinMsgToken", ""); weixinMsgToken != "" {
WeixinAPI.SetMsgTokenAndKey(weixinMsgToken, beego.AppConfig.DefaultString("weixinMsgKey", ""))
}
} else {
WeimobAPI = nil
}
WeixinMiniAPI = weixinapi.New(beego.AppConfig.String("weixinMiniAppID"), beego.AppConfig.String("weixinMiniSecret"))
WeixinApp = weixinapi.New(beego.AppConfig.String("weixinAppID"), beego.AppConfig.String("weixinAppSecret"))
certPEMBlock, _ := ioutil.ReadFile("conf/apiclient_cert.pem")
keyPEMBlock, _ := ioutil.ReadFile("conf/apiclient_key.pem")
WxpayAPI = wxpayapi.NewWithCertificate(beego.AppConfig.String("wxpayAppID1"), beego.AppConfig.String("wxpayAppKey"), beego.AppConfig.String("wxpayAppMchID"),
certPEMBlock, keyPEMBlock)
WxpayAPI2 = wxpayapi.NewWithCertificate(beego.AppConfig.String("wxpayAppID2"), beego.AppConfig.String("wxpayAppKey"), beego.AppConfig.String("wxpayAppMchID"),
certPEMBlock, keyPEMBlock)
if globals.TLPayNotifyURL != "" {
TLpayAPI = tonglianpayapi.New(beego.AppConfig.String("tonglianPayAppID"), beego.AppConfig.String("tonglianPayKey"), beego.AppConfig.String("tonglianPayCusID"))
}
AutonaviAPI = autonavi.New(beego.AppConfig.String("autonaviKey"))
BaiDuNaviAPI = baidunavi.New(beego.AppConfig.String("baidunaviAK"), beego.AppConfig.String("baidunaviSK"))
QiniuAPI = qbox.NewMac(beego.AppConfig.String("qiniuAK"), beego.AppConfig.String("qiniuSK"))
ShowAPI = showapi.New(beego.AppConfig.DefaultInt("showAppID", 0), beego.AppConfig.DefaultString("showAppSecret", ""))
Cacher = redis.New(beego.AppConfig.DefaultString("redisHost", "localhost"), beego.AppConfig.DefaultInt("redisPort", 0), beego.AppConfig.DefaultString("redisPassword", ""))
AliUpcAPI = aliupcapi.New(beego.AppConfig.String("aliUpcAppCode"))
TxAPI = txcloudapi.New(beego.AppConfig.String("txCloudSecretID"), beego.AppConfig.String("txCloudSecretKey"))
DingDingAPI = dingdingapi.NewWithAgentID(beego.AppConfig.DefaultInt64("dingdingAgentID", 0), beego.AppConfig.DefaultString("dingdingCorpID", ""), beego.AppConfig.DefaultString("dingdingAppKey", ""), beego.AppConfig.DefaultString("dingdingSecret", ""), "", "")
DingDingQRCodeAPI = dingdingapi.New(beego.AppConfig.DefaultString("dingdingCorpID", ""), beego.AppConfig.DefaultString("dingdingQRCodeAppKey", ""), beego.AppConfig.DefaultString("dingdingQRCodeSecret", ""))
if alipayAppID := beego.AppConfig.DefaultString("alipayAppID", ""); alipayAppID != "" {
AliPayAPI = alipayapi.New(alipayAppID, []byte(beego.AppConfig.String("alipayPrivateKey")))
}
EjyAPI = ejyapi.New(beego.AppConfig.DefaultString("ejyPlatName", ""), beego.AppConfig.DefaultString("ejyBeforeKey", ""), beego.AppConfig.DefaultString("ejyAfterKey", ""))
PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", ""))
MtMemberAPI = mtmemberapi.New()
SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/")
// 初始化QBIDA
QBiDaAPI = q_bida.NewQBiDa(beego.AppConfig.DefaultString("QBiDaAccess", ""), beego.AppConfig.DefaultString("QBiDaPassword", ""))
}