package pintoto import ( "go.dtapp.net/golog" "go.dtapp.net/gorequest" "math" "strconv" ) // ClientConfig 实例配置 type ClientConfig struct { AppKey string AppSecret string ApiGormClientFun golog.ApiClientFun // 日志配置 Debug bool // 日志开关 ZapLog *golog.ZapLog // 日志服务 } // Client 实例 type Client struct { requestClient *gorequest.App // 请求服务 zapLog *golog.ZapLog // 日志服务 config struct { appKey string appSecret string } log struct { status bool // 状态 client *golog.ApiClient // 日志服务 } } // NewClient 创建实例化 func NewClient(config *ClientConfig) (*Client, error) { c := &Client{} c.zapLog = config.ZapLog c.config.appKey = config.AppKey c.config.appSecret = config.AppSecret c.requestClient = gorequest.NewHttp() apiGormClient := config.ApiGormClientFun() if apiGormClient != nil { c.log.client = apiGormClient c.log.status = true } return c, nil } func (c *Client) GradeToFloat64(i interface{}) float64 { switch v := i.(type) { case string: float, _ := strconv.ParseFloat(v, 64) return float case float64: return v case int64: return float64(v) / math.Pow10(0) default: return 0 } }