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