1.0.7 • Published 4 years ago

gyys-create-grpc-api v1.0.7

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

安装

    npm install gyys-create-grpc-api

使用

初始化组件
    import pb from 'xx/proto'
    import {init,createRpcServiceMethod} from 'gyys-create-grpc-api'

    init({
        apiurl: "http://<IP>:<PORT>",
        pb,
        //获取默认的头信息
        getDefauleMeta:()=>{
            return {}
        }
        //请求失败的时候监听, 通讯失败 或者 grpc返回异常对象
        onRequestError:({responseError,responseData})=>{
            console.log("onRequestError",responseError);
        },
        //请求成功,数据是否成功
        isRequestSuccess: (responseData)=>{
            let response = responseData;
            if(response.response instanceof pb.net.PResponse){
                response = response.response;
            }else{
            
            }
            return response.success;
        },
        //请求成功,但数据失败的监听. 即 isRequestSuccess() == false 时  执行
        onRequestDataError:(responseData)=>{
            console.log("onRequestDataError",responseData);
        }
    });

    export default createRpcServiceMethod
编写api
    import createRpcServiceMethod from "xxx/createRpcServiceMethod"
    //服务类名
    const serviceClassName = "pb.LoginService"
    
    /**
    * 用户名密码登录
    * @param {JSON} options {data:{},metadata:{}}
    */
    export const loginByUsernameAndPassword = createRpcServiceMethod(serviceClassName,"loginByUsernameAndPassword","pb.LoginReply");
使用api
    import loginByUsernameAndPassword from 'xxx/xxxService'

    loginByUsernameAndPassword({
        data: {} , //和pb对象对应
        metadata:{} , //额外的头信息
    }).then(res=>{
        console.log(res); //后台返回的真实的数据
    }).catch(({responseData,responseError})=>{
         console.log(responseData,responseError); // responseData 后台返回的真实的数据 ,responseError 请求异常数据
    })