41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
|
|
package jiyi
|
|||
|
|
|
|||
|
|
// CallMode 请求组装模式(不同产品加密字段位置不同)
|
|||
|
|
type CallMode int
|
|||
|
|
|
|||
|
|
const (
|
|||
|
|
// CallModePlain 明文,不附加 encryptType/encryptionType/timestamp
|
|||
|
|
CallModePlain CallMode = iota
|
|||
|
|
// CallModeBodyEncrypt 洞侦类:body.encryptType,0 明文 / 1 MD5,并自动补 timestamp
|
|||
|
|
CallModeBodyEncrypt
|
|||
|
|
// CallModeTopEncrypt 借贷意向类:顶层 encryptionType,1 明文 / 2 MD5
|
|||
|
|
CallModeTopEncrypt
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// CallOptions 调用选项
|
|||
|
|
type CallOptions struct {
|
|||
|
|
Mode CallMode
|
|||
|
|
// EncryptValue:
|
|||
|
|
// - CallModeBodyEncrypt:0 明文,1 MD5(默认 0)
|
|||
|
|
// - CallModeTopEncrypt:1 明文,2 MD5(默认 1)
|
|||
|
|
EncryptValue int
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// DefaultCallOptions 默认:明文且不注入额外字段
|
|||
|
|
func DefaultCallOptions() CallOptions {
|
|||
|
|
return CallOptions{Mode: CallModePlain}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// CaveInvestOptions 洞侦1.0 等:body 内 encryptType + timestamp
|
|||
|
|
func CaveInvestOptions(encryptType int) CallOptions {
|
|||
|
|
return CallOptions{Mode: CallModeBodyEncrypt, EncryptValue: encryptType}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// TopEncryptionOptions 借贷意向验证3.0 等:顶层 encryptionType
|
|||
|
|
func TopEncryptionOptions(encryptionType int) CallOptions {
|
|||
|
|
if encryptionType <= 0 {
|
|||
|
|
encryptionType = 1
|
|||
|
|
}
|
|||
|
|
return CallOptions{Mode: CallModeTopEncrypt, EncryptValue: encryptionType}
|
|||
|
|
}
|