package config

import "github.com/gogf/gf/v2/frame/g"

type Notification struct {
	Platform string `json:"platform"`
	WebHook  string `json:"WebHook"`
}

type TokenOptions struct {
	//  server name
	ServerName string `json:"serverName"`
	// 缓存key (每创建一个实例CacheKey必须不相同)
	CacheKey string `json:"cacheKey"`
	// 超时时间 默认10天（秒）
	Timeout int64 `json:"timeout"`
	// 缓存刷新时间 默认5天（秒）
	// 处理携带token的请求时当前时间大于超时时间并小于缓存刷新时间时token将自动刷新即重置token存活时间
	// MaxRefresh值为0时,token将不会自动刷新
	MaxRefresh int64 `json:"maxRefresh"`
	// Token加密key 32位
	EncryptKey []byte `json:"encryptKey"`
	// 拦截排除地址
	ExcludePaths g.SliceStr `json:"excludePaths"`
	CacheModel   string     `json:"cacheModel"`
	LoginPath    string     `json:"loginPath"`
	LogoutPath   string     `json:"logoutPath"`
}

type TMAll struct {
	Gateway     string `json:"gateway"`
	AppSecret   string `json:"appSecret"`
	AppKey      string `json:"appKey"`
	RedirectUri string `json:"redirectUri"`
}

type Agiso struct {
	AppId     string `json:"appId"`
	AppSecret string `json:"appSecret"`
}

type TMallDataSync struct {
	BaseUrl  string `json:"baseUrl"`
	Interval int64  `json:"interval"`
	ServerId string `json:"serverId"`
}

type JDCardCfg struct {
	Url string `json:"url" yaml:"url"`
}

type AddrCfg struct {
	ShopAddr     string `json:"shopAddr"`
	MerchantAddr string `json:"merchantAddr"`
}
