package sdkFacade import ( "f1-game/internal/data" cstring "github.com/cherry-game/cherry/extend/string" cgin "github.com/cherry-game/components/gin" ) type ( Invoke interface { SdkID() int32 // sdk配置id Login(sdkRow *data.SdkRow, input ParamsMap, callback Callback) // Login 登录验证 PayCallback(sdkRow *data.SdkRow, c *cgin.Context) // PayCallback 支付回调 OrderSign(sdkRow *data.SdkRow, chargeRow *data.ChargeRow, input ParamsMap) (map[string]string, int32) // 订单签名 } ParamsMap map[string]string Callback func(code int32, result ParamsMap, error ...error) ) func (p ParamsMap) Put(key string, value any) { p[key] = cstring.ToString(value) } func (p ParamsMap) GetInt(key string, def ...int) int { val, found := p[key] if !found { if len(def) > 0 { return def[0] } return 0 } intVal, _ := cstring.ToInt(val, 0) return intVal } func (p ParamsMap) Get(key string, def ...string) string { v, found := p[key] if !found { if len(def) > 0 { return def[0] } } return v }