zhz-util
v5.2.0
Published
通过[seneca](https://www.npmjs.com/package/seneca)提供类rpc的微服务。
Downloads
342
Readme
zhz-util
通过seneca提供类rpc的微服务。
- FCClient、FCService: 封装阿里云函数计算@alicloud/fc2 提供调用类似seneca的实例
- Service: 通过z-seneca-extended提供类rpc的api
Install
$ npm install zhz-util
Basic Usage
const { util, ServiceBase, ServiceImp, mysqlSeneca, mongodbSeneca, XmlUtil, FCService, FCClient } = require('zhz-util');
Seneca Service Plugs
const { util, mysqlSeneca } = require('zhz-util');
const models = require('../../models');
const config = require('../../../config');
const model = models.Book;
module.exports = {
init: () => Promise.resolve(),
seneca(ctx) {
const resourceName = 'book';
const role = `${config.serviceName}.${resourceName}`;
const service = new mysqlSeneca.Service({
seneca: this,
model: new mysqlSeneca.SequelizeModel(model),
role,
cache: ctx.cache,
resourceName,
});
service.loadCmd();
service.addAsync('treeList', async function (msg) {
const { id } = msg.params;
const data = await this.model.findById(id);
return util.responseSuccess(data);
});
service.addAsync({
async treeList1(msg) {
const { id } = msg.params;
const data = await this.model.findById(id);
return util.responseSuccess(data);
},
async treeList2(msg) {
const { id } = msg.params;
const data = await this.model.findById(id);
return util.responseSuccess(data);
},
});
},
};
阿里云函数计算
const bunyan = require('bunyan')
const moment = require('moment')
const zhzutil = require('zhz-util')
const logger = bunyan.createLogger({
name: 'test',
streams: [{
level: 'info',
path: 'test.log',
}, {
level: 'debug',
stream: process.stdout,
}],
})
const accountId = ''
const options = {
accessKeyID: '',
accessKeySecret: '',
region: 'cn-shenzhen',
}
const zclient = new zhzutil.FCClient('test', 'test', {
accountId,
...options,
})
zclient.actAsync({
role: 'seneca.author',
cmd: 'create',
}, {
params: {
name: Math.random().toString(),
mobile: '13760471840',
sex: 'MAN',
},
}).then((ret) => {
console.log('zclient: ', ret)
})
Docs
$ pip install mkdocs
$ cd apidocs
$ modify mkdocs.yml pages to nav if you use apidocs version > 1
$ mkdocs server