rop框架的nodejs客户端,能够快速联接rop相关的服务端node
npm install rop_client
建议使用 npm.taobao.org 源来安装,详见 npm.taobao.orgnpm
首先引用rop_client:数组
let {RichServiceRequest,UploadFile,RopUtils,ShaUtils} =require("rop_client");
1.RichServiceRequest构建一个请求类(例子):app
let {RichServiceRequest} = require("rop_client"); export default class extends RichServiceRequest{ constructor() { //构造函数 super(); this.v="1.0"; this.method="ping"; } }
2.生成ropUtils(需有services_url地址,app_key,app_secret)框架
let ropUtils=new RopUtils(clientInfo.services_url,clientInfo.app_key,clientInfo.app_secret);
3.而后请求服务:async
const duAsync = async() => { let pingRequest=new PingRequest(); let response=await ropUtils.doPostByObj(pingRequest); console.log(response);//返回{sucess:true}... }; duAsync();
4.有参数上传参考:函数
export default class extends RichserviceRequest{ constructor(applyNo) { //构造函数 super(applyNo); this.v="1.0"; this.method="sign.link.file"; //如下为其它属性 this.applyNo=applyNo; } /**验证方法,若是类中写入此方法则会先运行validate()有错执出Error*/ validate(){ this.applyNo=this.trim(this.applyNo); if(this.applyNo==''){ throw new Error("applyNo is null"); } return super.validate(); } }
5.对于有文件上传的状况,继承RichServiceRequest,并设置属行file,file后面传入值ui
let uploadFile=new UploadFile(); request.file=await uploadFile.init("/tmp/test.pdf"); let response=await ropUtils.doPostByObj(pingRequest);
6.RichserviceRequest特殊方法:this
//validate 方法,验证方法,请求服务前会校验此方法 //getIgnoreSign 返回字符串数组,上传时运行此方法,这个方法返回的字段不会加入签名(通常文件字段不作签名) //trim 处理字段为空的处理,转null空为http请求接收能为空的''