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請求接收能爲空的''