Commit 01d6b022 authored by yinjiacheng's avatar yinjiacheng

update B端网络服务支持H5传参标识接口是否需要加密

parent d73baf3c
......@@ -84,6 +84,18 @@ class HttpParamsUtils {
}
}
/**
* 获取业务参数
* C端增加user_id
* 注意: 使用此方法封装业务参数的接口是所有API环境下都不需要进行加密的
*/
fun getPrivateParamsMap(paramsMap: HashMap<String, String?>): HashMap<String, String?> {
// C端身份请求加uid
BCommonManager.getUid()?.let { paramsMap["user_id"] = it }
Timber.tag(BCommonManager.TAG_HTTP).d("request private params: ${gson.toJson(paramsMap)}")
return paramsMap
}
/**
* 获取业务参数(参数为JSONObject的情况)
* C端增加user_id
......
......@@ -28,16 +28,17 @@ class BNAHttpReqService : ZapService() {
val requestOptions = options as JSONObject
val method = requestOptions.optString("method", "POST")
val host = requestOptions.optString("host", RunConfig.API_URL)
val isEncrypt = requestOptions.optBoolean("is_encrypt", true)
val url = host + apiPath
val paramsMap: HashMap<String, String?> = parseParams(requestParams)
//发起请求
when (method) {
"GET", "get" -> {
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, isEncrypt, resolver)
}
"POST", "post" -> {
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, isEncrypt, resolver)
}
else -> {
resolver.fail(-1000, "request error", "不支持的请求方式")
......
......@@ -13,10 +13,17 @@ object BNARemoteDataSource {
/**
* 发起get请求
*/
fun launchGetRequest(apiCallback: IBNARequestCallBack, requestParams: HashMap<String, String?>, url: String, resolver: ResultResolver) {
fun launchGetRequest(
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
isEncrypt: Boolean,
resolver: ResultResolver
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
val privateParamsMap =
if (isEncrypt) HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp) else HttpParamsUtils.getPrivateParamsMap(requestParams)
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbGetRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
......@@ -34,10 +41,17 @@ object BNARemoteDataSource {
/**
* 发起post请求
*/
fun launchPostRequest(apiCallback: IBNARequestCallBack, requestParams: HashMap<String, String?>, url: String, resolver: ResultResolver) {
fun launchPostRequest(
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
isEncrypt: Boolean,
resolver: ResultResolver
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
val privateParamsMap =
if (isEncrypt) HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp) else HttpParamsUtils.getPrivateParamsMap(requestParams)
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbPostRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment