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}
|
||
}
|