0.1.5 • Published 8 years ago
rpc-lite v0.1.5
快速开始
服务器
由于还在开发中,所以暂时只有Express的版本,更多的Trigger,正在开发
安装命令
npm i rpc-lite --save
express 的加载方法
var express = require(express.js);
var app = express();
var Mrpc = require("./index");
var mrpc = new Mrpc();
//使其不支持跨域
//mrpc.CROS = false;
//获取express的Trigger, 使用express的路由
app.use("/api",mrpc.getTrigger("express"));
app.listen(80);
绑定函数方法
mrpc.add("test",(p1,p2)=>{
//可以直接返回 或者选择 返回Promise对象
return Promise.resolve("test success");
});
获取附件
mrpc.add("test",(p1,p2)=>{
//通过 this.file 来获取附件
//this.file 是一个对象,里面包含着你上传的附件,通过上传时参数的名字获取
//this.file["f1"] 这样获取到的是一个f1附件数组(因为一个参数,可能附带多个附件)
//获取附件的名字
console.log(this.file["f1"][0].filename);
return "上传文件成功";
});
浏览器
由于这个库直接基于Promise
下开发的,所以浏览器需要加入polyfill
在使用前,请插入库
<!-- Promise的polyfil ,如果需要支持IE,则需要加入 -->
<script src="//cdn.bootcss.com/es6-promise/4.0.5/es6-promise.auto.min.js"></script>
<!-- sql-lite的web版,加载方式还支持 CommonJS,AMD,CMD -->
<script src="//meislzhua.github.io/rpc-lite/dist/mrpc.compile.min.js"></script>
初始化对象
//直接根据路由初始化
var mrpc = new Mprc("/api");
//使用完整路径初始化(记得带上协议),可以跨域
var mrpc = new Mprc("http://local/api");
执行远程函数
//调用方式
//mrpc.run(funcName[,arg1,arg2...])
mrpc.run("test","参数1","参数2").then(function(result){
//这里打印出远程函数的返回值
console.log(result);
}).catch(function(err){
//发生错误的时候,则会触发catch,包括 函数运行发生错误(包括手动抛出),找不到函数等
//err.code 错误码
//err.message 错误信息
//err.data 错误数据(手动throw非Error类型数据,云函数返回Promise.reject 的时候,才有数据)
})
使用扩展
//扩展函数
mrpc.extend({
//给函数设置附件
file: {
//input[type=file] 的id
el: ["f1","f2"],
progress:function(p){
console.log("已发送:",p.loaded,"总大小:",p.total)
}
}
}).run("test","参数1","参数2").then(function(result){
//这里打印出远程函数的返回值
console.log(result);
})
前端测试方法
后台还没编写好相应的API的时候,可以先用本方法用作开发时的测试
mrpc.isDebug = true;
//添加测试函数
mrpc.debugAdd("localTest",function(){
var whatYouWant = {want:true};
return whatYouWant;
})