1.1.5 • Published 1 year ago

xenon-jsonrpc-client v1.1.5

Weekly downloads
-
License
apache 2.0
Repository
-
Last release
1 year ago

xenon-jsonrpc-client

支持jsonrpc 协议调用,是对axios库的封装,支持动态切换访问地址来调用服务接口

install

yarn add axios log4js  xenon-jsonrpc-client -D

Usage

typescript:

import {JsonRpcClient} from "xenon-jsonrpc-client"
import {getLogger} from 'log4js'
const logger = getLogger("out")


try{
    const options={
        //服务名称
        serviceName:'xxx',
        //指定url地址,如果指定了该值,这不会走nacos的负载均衡器,直接调用url所指定的地址
        //url:'http://localhost:9501', 
        // 接口的path路径,默认值为"/"
        path:'v1', 
        // 当需要走nacos的负载均衡器时,需要写下面的代码,该代码是通过负载均衡器获得一个
        // 可访问的url地址
        getHost:(serviceName:string)=>{
            const instancesRobin=config.nacosInstances[serviceName]
            if(!instancesRobin){
                return null
            }
            const host=instancesRobin.pick()
            return host
        },
        // logger 日志输出, 如log4js
        logger:logger,
        // 全局配置变量,和nacos所使用的变量为同一个对象
        config:config 
    }

    // 声明对象,一个serviceName代表一个服务,如果有多个不同的服务,需要定义个多实例对象,
    // 每个实例对象只能访问自己的数据资源
    const jsonRpcClient=  new JsonRpcClient(options)

    //调用示例的参数
    var param = {
        "keyId": 'xxxxxx',
        "salt": '',
        "info": 'dddddddddddddddddddddddddddddddddddddddd',
        "length": 16
    }
    //调用请求方法
    //  第一个参数为 method
    //  第二个参数为 需要请求的params
    const res=await jsonRpcClient.request('xxxxxxx',param)
    
    //异步返回调用结果
    logger.info(JSON.stringify(res))
}catch (e){
    //输出异常信息
    logger.error(e) 
}

javascript:

const {JsonRpcClient} = require("xenon-jsonrpc-client");
var log4js = require("log4js")
const logger = log4js.getLogger("out")



try{
    const options={
        //服务名称
        serviceName:'xxx',
        //指定url地址,如果指定了该值,这不会走nacos的负载均衡器,直接调用url所指定的地址
        //url:'http://localhost:9501', 
        // 接口的path路径,默认值为"/"
        path:'v1',
        // 当需要走nacos的负载均衡器时,需要写下面的代码,该代码是通过负载均衡器获得一个
        // 可访问的url地址
        getHost:(serviceName:string)=>{
            const instancesRobin=config.nacosInstances[serviceName]
            if(!instancesRobin){
                return null
            }
            const host=instancesRobin.pick()
            return host
        },
        // logger 日志输出, 如log4js
        logger:logger,
        // 全局配置变量,和nacos所使用的变量为同一个对象
        config:config 
    }

    // 声明对象,一个serviceName代表一个服务,如果有多个不同的服务,需要定义个多实例对象,
    // 每个实例对象只能访问自己的数据资源
    const jsonRpcClient=  new JsonRpcClient(options)

    //调用示例的参数
    var param = {
        "keyId": 'xxxxx',
        "salt": '',
        "info": 'dddddddddddddddddddddddddddddddddddddddd',
        "length": 16
    }
    //调用请求方法
    //  第一个参数为 method
    //  第二个参数为 需要请求的params
    const res=await jsonRpcClient.request('xxxxxxx',param)

    //异步返回调用结果
    logger.info(JSON.stringify(res))
}catch (e){
    //输出异常信息
    logger.error(e) 
}
1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago