291 lines
14 KiB
Go
291 lines
14 KiB
Go
package api
|
|
|
|
import (
|
|
"git.rosy.net.cn/baseapi/platformapi/jxprintapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/qywxapi"
|
|
"time"
|
|
|
|
"git.rosy.net.cn/baseapi/platformapi/fnpsapi"
|
|
|
|
"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/yinbaoapi"
|
|
|
|
"git.rosy.net.cn/baseapi/platformapi/tonglianpayapi"
|
|
|
|
aliyunsmsclient "github.com/KenmyZhang/aliyun-communicate"
|
|
|
|
"git.rosy.net.cn/baseapi/platformapi"
|
|
"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/dadaapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/ebaiapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/elmapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/feieapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
|
"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/baseapi/platformapi/xiaowmapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/yilianyunapi"
|
|
"git.rosy.net.cn/baseapi/platformapi/zhongwuapi"
|
|
"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/server/web"
|
|
"github.com/qiniu/api.v7/auth/qbox"
|
|
)
|
|
|
|
var (
|
|
JdAPI *jdapi.API
|
|
JdPageAPI *jdapi.API
|
|
|
|
Jd2API *jdapi.API
|
|
Jd3API *jdapi.API
|
|
JdcsAPI *jdapi.API
|
|
JdydAPI *jdapi.API
|
|
FakeJdAPI *jdapi.API
|
|
JdEclpAPI *jdeclpapi.API
|
|
JdShopAPI *jdshopapi.API
|
|
// JdShop2API *jdshopapi.API
|
|
|
|
ElmAPI *elmapi.API
|
|
EbaiAPI *ebaiapi.API
|
|
Ebai2API *ebaiapi.API
|
|
|
|
MtwmAPI *mtwmapi.API
|
|
Mtwm2API *mtwmapi.API
|
|
MtpsAPI *mtpsapi.API
|
|
DadaAPI *dadaapi.API
|
|
QywxAPI *qywxapi.API //企业微信
|
|
WeixinAPI *weixinapi.API // 微信公众号
|
|
WeixinMiniAPI *weixinapi.API // 小程序
|
|
WeixinMiniAPI2 *weixinapi.API // 小程序2
|
|
WeixinMiniAPIsc *weixinapi.API //小程序商超
|
|
WeixinApp *weixinapi.API // app微信登录
|
|
WeixinMiniAppID2 string
|
|
WeixinMiniAppID3 string
|
|
WeixinMiniAppIDsc string
|
|
WxpayAPI *wxpayapi.API // 微信支付API
|
|
TLpayAPI *tonglianpayapi.API //通联收银宝api
|
|
FnAPI *fnpsapi.API //蜂鸟配送api
|
|
|
|
YinBaoAPI *yinbaoapi.API //银豹平台api
|
|
|
|
WeixinPageAPI *weixinapi.API // 用户微信扫码登录
|
|
|
|
AliPayAPI *alipayapi.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
|
|
|
|
FeieAPI *feieapi.API
|
|
XiaoWMAPI *xiaowmapi.API
|
|
YilianyunAPI *yilianyunapi.API
|
|
YilianyunAPI2 *yilianyunapi.API
|
|
ZhongwuAPI *zhongwuapi.API
|
|
JxPrintAPI *jxprintapi.API
|
|
|
|
PushAPI *unipushapi.API
|
|
|
|
Cacher cache.ICacher
|
|
SMSClient *aliyunsmsclient.SmsClient
|
|
)
|
|
|
|
func init() {
|
|
Init() // 这里必须要调用
|
|
}
|
|
|
|
// 这样写的原因是在测试时,可以重新读取配置文件
|
|
func Init() {
|
|
if !beego.AppConfig.DefaultBool("disableJd", false) {
|
|
//初始化京东api
|
|
// JdAPI = jdapi.New(beego.AppConfig.DefaultString("jdToken"), beego.AppConfig.DefaultString("jdAppKey"), beego.AppConfig.DefaultString("jdSecret"))
|
|
JdAPI = jdapi.New("", "", "")
|
|
|
|
conf := platformapi.NewDefAPIConfig()
|
|
conf.MaxSleepSecondWhenExceedLimit = 60 * 30 // 最大重试间隙30分钟
|
|
JdPageAPI = jdapi.NewPageOnly("", conf)
|
|
|
|
if globals.Jd2OrgCode != "" {
|
|
// Jd2API = jdapi.New(beego.AppConfig.DefaultString("jd2Token"), beego.AppConfig.DefaultString("jd2AppKey"), beego.AppConfig.DefaultString("jd2Secret"))
|
|
Jd2API = jdapi.New("", "", "")
|
|
}
|
|
|
|
if globals.Jd3OrgCode != "" {
|
|
// Jd3API = jdapi.New(beego.AppConfig.DefaultString("jd3Token"), beego.AppConfig.DefaultString("jd3AppKey"), beego.AppConfig.DefaultString("jd3Secret"))
|
|
Jd3API = jdapi.New("", "", "")
|
|
}
|
|
|
|
if globals.JdcsOrgCode != "" {
|
|
// JdcsAPI = jdapi.New(beego.AppConfig.DefaultString("jdcsToken"), beego.AppConfig.DefaultString("jdcsAppKey"), beego.AppConfig.DefaultString("jdcsSecret"))
|
|
JdAPI = jdapi.New("", "", "")
|
|
}
|
|
|
|
if globals.JdydOrgCode != "" {
|
|
// JdydAPI = jdapi.New(beego.AppConfig.DefaultString("jdydToken"), beego.AppConfig.DefaultString("jdydAppKey"), beego.AppConfig.DefaultString("jdydSecret"))
|
|
JdAPI = jdapi.New("", "", "")
|
|
}
|
|
|
|
fakeJdToken := beego.AppConfig.DefaultString("fakeJdToken", "")
|
|
if fakeJdToken != "" {
|
|
FakeJdAPI = jdapi.NewFakeJD(fakeJdToken, beego.AppConfig.DefaultString("fakeJdBaseURL", ""))
|
|
}
|
|
} else {
|
|
JdAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableJdEclp", false) {
|
|
JdEclpAPI = jdeclpapi.New(beego.AppConfig.DefaultString("jdEclpAccessToken", ""), beego.AppConfig.DefaultString("jdEclpAppKey", ""), beego.AppConfig.DefaultString("jdEclpAppSecret", ""))
|
|
} else {
|
|
JdEclpAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableJdShop", false) {
|
|
// JdShopAPI = jdshopapi.New(beego.AppConfig.DefaultString("jdShopAccessToken", ""), beego.AppConfig.DefaultString("jdShopAppKey", ""), beego.AppConfig.DefaultString("jdShopAppSecret", ""))
|
|
JdShopAPI = jdshopapi.New(beego.AppConfig.DefaultString("jdShopAccessToken2", ""), beego.AppConfig.DefaultString("jdShopAppKey2", ""), beego.AppConfig.DefaultString("jdShopAppSecret2", ""))
|
|
} else {
|
|
JdShopAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableElm", false) {
|
|
ElmAPI = elmapi.New(beego.AppConfig.DefaultString("elmToken", ""), beego.AppConfig.DefaultString("elmAppKey", ""), beego.AppConfig.DefaultString("elmSecret", ""), beego.AppConfig.DefaultBool("elmIsProd", false))
|
|
} else {
|
|
ElmAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableMtwm", false) {
|
|
MtwmAPI = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID", ""), beego.AppConfig.DefaultString("mtwmSecret", ""), beego.AppConfig.DefaultString("mtwmCallbackURL", ""), "")
|
|
// if mtwmCookieStr := beego.AppConfig.DefaultString("mtwmCookieStr", ""); mtwmCookieStr != "" {
|
|
// MtwmAPI.SetCookieWithStr(mtwmCookieStr)
|
|
// }
|
|
Mtwm2API = mtwmapi.New(beego.AppConfig.DefaultString("mtwmAppID2", ""), beego.AppConfig.DefaultString("mtwmSecret2", ""), beego.AppConfig.DefaultString("mtwmCallbackURL2", ""), "")
|
|
} else {
|
|
MtwmAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableWeimob", false) {
|
|
//微盟上传大图片耗时较长
|
|
weimobAPIConfig := platformapi.DefAPIConfig
|
|
weimobAPIConfig.ClientTimeout = 120 * time.Second
|
|
WeimobAPI = weimobapi.New(nil, beego.AppConfig.DefaultString("weimobAppID", ""), beego.AppConfig.DefaultString("weimobAppSecret", ""), &weimobAPIConfig)
|
|
} else {
|
|
WeimobAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableEbai", false) {
|
|
EbaiAPI = ebaiapi.New(beego.AppConfig.DefaultString("ebaiSource", ""), beego.AppConfig.DefaultString("ebaiSecret", ""))
|
|
// ebaiStorePageCookieWMUSS := beego.AppConfig.DefaultString("ebaiStorePageCookieWMUSS", "")
|
|
// ebaiStorePageCookieWMSTOKEN := beego.AppConfig.DefaultString("ebaiStorePageCookieWMSTOKEN", "")
|
|
// ebaiStorePageCookieExdTOKEN := beego.AppConfig.DefaultString("ebaiStorePageCookieExdTOKEN", "")
|
|
// if ebaiStorePageCookieWMUSS != "" && ebaiStorePageCookieWMSTOKEN != "" && ebaiStorePageCookieExdTOKEN != "" {
|
|
// EbaiAPI.SetCookie("WMUSS", ebaiStorePageCookieWMUSS)
|
|
// EbaiAPI.SetCookie("WMSTOKEN", ebaiStorePageCookieWMSTOKEN)
|
|
// EbaiAPI.SetCookie("PASSPORT_DELIMONT_TOKEN", ebaiStorePageCookieExdTOKEN)
|
|
// }
|
|
Ebai2API = ebaiapi.New(beego.AppConfig.DefaultString("ebaiSource", ""), beego.AppConfig.DefaultString("ebaiSecret", ""))
|
|
// ebaiStorePageCookieWMUSS2 := beego.AppConfig.DefaultString("ebaiStorePageCookieWMUSS2", "")
|
|
// ebaiStorePageCookieWMSTOKEN2 := beego.AppConfig.DefaultString("ebaiStorePageCookieWMSTOKEN2", "")
|
|
// if ebaiStorePageCookieWMUSS2 != "" && ebaiStorePageCookieWMSTOKEN2 != "" && ebaiStorePageCookieExdTOKEN != "" {
|
|
// Ebai2API.SetCookie("WMUSS", ebaiStorePageCookieWMUSS2)
|
|
// Ebai2API.SetCookie("WMSTOKEN", ebaiStorePageCookieWMSTOKEN2)
|
|
// Ebai2API.SetCookie("PASSPORT_DELIMONT_TOKEN", ebaiStorePageCookieExdTOKEN)
|
|
// }
|
|
} else {
|
|
EbaiAPI = nil
|
|
Ebai2API = nil
|
|
}
|
|
|
|
if !beego.AppConfig.DefaultBool("disableYb", false) {
|
|
YinBaoAPI = yinbaoapi.New(beego.AppConfig.DefaultString("yinbaoAppKey", ""), beego.AppConfig.DefaultString("yinbaoAppID", ""))
|
|
} else {
|
|
YinBaoAPI = nil
|
|
}
|
|
|
|
if !beego.AppConfig.DefaultBool("disableMtps", false) {
|
|
MtpsAPI = mtpsapi.New(beego.AppConfig.DefaultString("mtpsAppKey", ""), beego.AppConfig.DefaultString("mtpsSecret", ""))
|
|
// if mtpsStoreToken := beego.AppConfig.DefaultString("mtpsStoreToken", ""); mtpsStoreToken != "" {
|
|
// MtpsAPI.SetCookie("token", mtpsStoreToken)
|
|
// }
|
|
} else {
|
|
MtpsAPI = nil
|
|
}
|
|
if !beego.AppConfig.DefaultBool("disableDada", false) {
|
|
DadaAPI = dadaapi.New(beego.AppConfig.DefaultString("dadaAppKey", ""), beego.AppConfig.DefaultString("dadaAppSecret", ""), beego.AppConfig.DefaultString("dadaSourceID", ""), beego.AppConfig.DefaultString("dadaCallbackURL", ""), beego.AppConfig.DefaultBool("dadaIsProd", false))
|
|
} else {
|
|
DadaAPI = nil
|
|
}
|
|
|
|
if !beego.AppConfig.DefaultBool("disableWeixin", false) {
|
|
WeixinAPI = weixinapi.New(beego.AppConfig.DefaultString("weixinAppID", ""), beego.AppConfig.DefaultString("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.DefaultString("weixinMiniAppID", ""), beego.AppConfig.DefaultString("weixinMiniSecret", ""))
|
|
if WeixinMiniAppID2 = beego.AppConfig.DefaultString("weixinMiniAppID2", ""); WeixinMiniAppID2 != "" {
|
|
WeixinMiniAPI2 = weixinapi.New(WeixinMiniAppID2, beego.AppConfig.DefaultString("weixinMiniSecret2", ""))
|
|
}
|
|
WeixinPageAPI = weixinapi.New(beego.AppConfig.DefaultString("weixinPageAppID", ""), beego.AppConfig.DefaultString("weixinPageSecret", ""))
|
|
if WeixinMiniAppID3 = beego.AppConfig.DefaultString("weixinMiniAppID3", ""); WeixinMiniAppID3 != "" {
|
|
WeixinApp = weixinapi.New(WeixinMiniAppID3, beego.AppConfig.DefaultString("weixinMiniSecret3", ""))
|
|
}
|
|
if WeixinMiniAppIDsc = beego.AppConfig.DefaultString("weixinMiniAppIDsc", ""); WeixinMiniAppIDsc != "" {
|
|
WeixinMiniAPIsc = weixinapi.New(WeixinMiniAppIDsc, beego.AppConfig.DefaultString("weixinMiniSecretsc", ""))
|
|
}
|
|
if globals.WxpayNotifyURL != "" {
|
|
// WxpayAPI = wxpayapi.New(beego.AppConfig.DefaultString("wxpayAppID"), beego.AppConfig.DefaultString("wxpayAppKey"), beego.AppConfig.DefaultString("wxpayAppMchID"))
|
|
WxpayAPI = wxpayapi.NewWithCertificate(beego.AppConfig.DefaultString("wxpayAppID", ""), beego.AppConfig.DefaultString("wxpayAppKey", ""), beego.AppConfig.DefaultString("wxpayAppMchID", ""),
|
|
"conf/apiclient_cert.pem", "conf/apiclient_key.pem")
|
|
}
|
|
|
|
if globals.TLPayNotifyURL != "" {
|
|
TLpayAPI = tonglianpayapi.New(beego.AppConfig.DefaultString("tonglianPayAppID", ""), beego.AppConfig.DefaultString("tonglianPayKey", ""), beego.AppConfig.DefaultString("tonglianPayCusID", ""))
|
|
}
|
|
AutonaviAPI = autonavi.New(beego.AppConfig.DefaultString("autonaviKey", ""))
|
|
BaiDuNaviAPI = baidunavi.New(beego.AppConfig.DefaultString("baidunaviAK", ""), beego.AppConfig.DefaultString("baidunaviSK", ""))
|
|
QiniuAPI = qbox.NewMac(beego.AppConfig.DefaultString("qiniuAK", ""), beego.AppConfig.DefaultString("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.DefaultString("aliUpcAppCode", ""))
|
|
|
|
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", ""))
|
|
DingDingAPI.SetCallbackToken(beego.AppConfig.DefaultString("dingdingCallbackToken", ""))
|
|
DingDingAPI.SetCallbackAESKey([]byte(beego.AppConfig.DefaultString("dingdingCallbackAESKey", "")))
|
|
|
|
if alipayAppID := beego.AppConfig.DefaultString("alipayAppID", ""); alipayAppID != "" {
|
|
AliPayAPI = alipayapi.New(alipayAppID, []byte(beego.AppConfig.DefaultString("alipayPrivateKey", "")))
|
|
}
|
|
|
|
FnAPI = fnpsapi.New(beego.AppConfig.DefaultString("fnAppID", ""), beego.AppConfig.DefaultString("fnAppSecret", ""))
|
|
FeieAPI = feieapi.New(beego.AppConfig.DefaultString("feieUser", ""), beego.AppConfig.DefaultString("feieKey", ""))
|
|
XiaoWMAPI = xiaowmapi.New(beego.AppConfig.DefaultInt("xiaoWMAppID", 0), beego.AppConfig.DefaultString("xiaoWMAppKey", ""))
|
|
YilianyunAPI = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID", ""), beego.AppConfig.DefaultString("yilianyunClientSecret", ""))
|
|
YilianyunAPI2 = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID2", ""), beego.AppConfig.DefaultString("yilianyunClientSecret2", ""))
|
|
ZhongwuAPI = zhongwuapi.New(beego.AppConfig.DefaultInt("zhongwuAppID", 0), beego.AppConfig.DefaultString("zhongwuAppSecret", ""))
|
|
PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", ""))
|
|
JxPrintAPI = jxprintapi.New(beego.AppConfig.DefaultString("jxPrintAppID", ""), beego.AppConfig.DefaultString("jxPrintAppKey", ""))
|
|
|
|
SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/")
|
|
|
|
QywxAPI = qywxapi.New(beego.AppConfig.DefaultString("qywxID", ""), beego.AppConfig.DefaultString("qywxSecret", ""), "")
|
|
}
|