package api import ( "git.rosy.net.cn/baseapi/platformapi/autonavi" "git.rosy.net.cn/baseapi/platformapi/dadaapi" "git.rosy.net.cn/baseapi/platformapi/elmapi" "git.rosy.net.cn/baseapi/platformapi/jdapi" "git.rosy.net.cn/baseapi/platformapi/mtpsapi" "git.rosy.net.cn/baseapi/platformapi/weixinapi" "git.rosy.net.cn/baseapi/utils" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" "github.com/qiniu/api.v7/auth/qbox" ) var ( JdAPI *jdapi.API ElmAPI *elmapi.API MtpsAPI *mtpsapi.API DadaAPI *dadaapi.API WeixinAPI *weixinapi.API AutonaviAPI *autonavi.API QiniuAPI *qbox.Mac ) func Init() { JdAPI = jdapi.New(beego.AppConfig.String("jdToken"), beego.AppConfig.String("jdAppKey"), beego.AppConfig.String("jdSecret")) initElm() MtpsAPI = mtpsapi.New(beego.AppConfig.String("mtpsAppKey"), beego.AppConfig.String("mtpsSecret")) DadaAPI = dadaapi.New(beego.AppConfig.String("dadaAppKey"), beego.AppConfig.String("dadaAppSecret"), beego.AppConfig.String("dadaSourceID"), beego.AppConfig.String("dadaCallbackURL"), beego.AppConfig.DefaultBool("dadaIsProd", false)) WeixinAPI = weixinapi.New(beego.AppConfig.String("weixinAppID"), beego.AppConfig.String("weixinSecret")) AutonaviAPI = autonavi.New(beego.AppConfig.String("autonaviKey")) QiniuAPI = qbox.NewMac(beego.AppConfig.String("qiniuAK"), beego.AppConfig.String("qiniuSK")) } func initElm() { token := beego.AppConfig.String("elmToken") if token == "" { db := orm.NewOrm() var tokenInfo []orm.Params num, err := db.Raw("SELECT * FROM config WHERE thirdparty='eleme'").Values(&tokenInfo) if err != nil || num != 1 { panic(err.Error()) } var tokenInfo2 map[string]interface{} if err := utils.UnmarshalUseNumber([]byte(tokenInfo[0]["token"].(string)), &tokenInfo2); err != nil { panic(err.Error()) } token = tokenInfo2["accessToken"].(string) } ElmAPI = elmapi.New(token, beego.AppConfig.String("elmAppKey"), beego.AppConfig.String("elmSecret"), beego.AppConfig.DefaultBool("elmIsProd", false)) }