upRequestModule 优家服务接口签名请求模块

模块概述

upRequestModule提供通过原生请求优家服务接口的能力,可以避免H5前端直接请求server接口时跨域问题并且自带优家服务接口签名认证算法

注意: 用私有的appId时需要在headers中特殊说明,并且保证appId和私有appId传递的值一致 使用GET方法不应传入body 本文档中三个方法均只在url为空的情况下返回参数错误,其他参数需要跟服务端做约定


方法列表

  • signRequest(signRequest 签名请求)
  • dynamicSignRequest(防盗刷签名请求)
  • signRequestCache (signRequest缓存 签名请求,Method必须为GET,useCache为1)

公共数据

  • 所有数据均以JSON结构返回,由retCode,retInfo,retData三个固定部分;

  • 如果调用的请求接口的返回数据中有相应属性:retCode、retInfo,则这两个属性将按照调用的请求接口返回数据填充

  • 调用的请求接口的返回数据原样填充到retData中

  • 触发成功回调,只表示网络连接接口成功,业务是否成功请识别retCode是否返回接口定义的成功code码或者从retData判断

{
    "retCode": "000000", //接口状态标识码;若接口返回数据中有retCode信息,则显示接口返回retCode信息
    "retInfo": "操作成功",//接口信息说明;若接口返回数据中有retInfo信息,则显示接口返回retInfo信息
    "retData": datas,    //服务端返回的数据体,原样返回
}

模块变更记录

  • V3.0.0
    • 新增方法:signRequest(signRequest 签名请求)
  • V3.2.0
    • request模块未定义的retCode编码按照通用数据规定变为990001,新增'Json转换出错'的retCode为290001
    • 新增方法:dynamicSignRequest(防盗刷签名请求)
  • V3.3.0
    • 新增方法:signRequestCache
  • V4.0.0
    • 代码重构

方法说明

  • signRequest (signRequest 请求)

    signRequest({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
url String server 接口地址
headers Object 接口所需headers,headers里需要填入除了sign属性外其他server接口要求的属性字段
body String 传输的body,json字符串,GET方法不传
method String 请求类型:'GET' 'POST' 'PUT' 'DELETE'
signType String 签名算法: 'SHA256' 'MD5'
transform Boolean true: 域名转换为ip false:不做转换(默认)
错误返回 retCode说明:

按照通用

正确返回 retData说明:
属性名 数据类型 说明
datas Object server接口返回的业务数据
示例:
uplusapi.upRequestModule.signRequest({
  url:'http://uhome.haier.net/',
  headers:{},
  body:JSON.stringfy({signKey:'appSign'}),
  method:'POST',
  signType:'MD5',
  transform:true
}).then((result) => {
  console.log('result',result);
}).catch((err) =>{
  console.log('err',err);
});
  • dynamicSignRequest (防盗刷签名请求)

    dynamicSignRequest({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
url String server 接口地址
headers Object 接口所需header
body String 传输的body,json字符串,GET方法不传
method String 请求类型:,包括但不限于'GET' 'POST',具体参考接口所需方式
signKey any 动态签名算法,具体值需接口提供
transform Boolean true: 域名转换为ip false:不做转换(默认)

说明:并非所有接口都可以直接拿来用作防盗刷接口,需要服务端处理,约定动态签名signKey

错误返回 retCode说明:
retCode编码 retInfo说明
000001 按实际情况
正确返回 retData说明:
属性名 数据类型 说明
datas Object server接口返回的业务数据
示例:
uplusapi.upRequestModule.dynamicSignRequest({
  url:'http://uhome.haier.net/omsappapi/v2/coin/v2/sign',
  headers:{'Content-Type':'application/json'},
  body:JSON.stringfy({signKey:'appSign'}),
  method:'POST',
  signKey:'appSign',
  transform:true
}).then((result) => {
  console.log('result',result);
}).catch((err) =>{
  console.log('err',err);
});
  • 新增方法:signRequestCache 新增方法:signRequestCache 请求)

    新增方法:signRequestCache({params})
适用性
容器 Nebula
支持情况
APP版本 6.12.0 及以上
params 输入参数:
属性名 数据类型 是否必填 说明
url String server 接口地址
headers Object 接口所需headers,headers里需要填入除了sign属性外其他server接口要求的属性字段
body String 传输的body,json字符串,GET方法不传
method String 请求类型:'GET' 'POST' 'PUT' 'DELETE' 只对GET请求生效
signType String 签名算法: 'SHA256' 'MD5'
transform Boolean true: 域名转换为ip false:不做转换(默认)
useCache String '1': 使用缓存 '0':不使用缓存
signRequestCallback any signRequest请求的callback
错误返回 retCode说明:
retCode编码 retInfo说明
000001 按实际情况
正确返回 retData说明:
属性名 数据类型 说明
datas Object server接口返回的业务数据
示例:
uplusapi.upRequestModule.signRequestCache({
  url: 'https://s.ehaier.com/search/commonLoadItemNew.html?pholder=1&productCateId=2729&provinceId=16&cityId=173&districtId=2450&streetId=12036596&fromType=1&memberId=&qs=isHotDesc&filterData=&pageIndex=3&pageSize=10',
  body: null,
  headers: {},
  method: 'GET',
  signType: 'MD5',
  transform: false,
  useCache: '1',
  signRequestCallback
}).then((res) => {
  console.log('result',res);
}).catch((err) => {
  console.log('err',err);
});

function signRequestCallback(ret) {
  alert(JSON.stringify(ret));
}

results matching ""

    No results matching ""