extend-api

1.0.2 • Public • Published

extend-api

extend api.

Install

$ npm install extend-api

Usage

Custom api

 
const { Api, ApiExtend } = require('extend-api');
 
let CustomApi = class customApi extends Api {
    constructor(token) { super(); this.token = token; }
    // override
    async buildApiReqOpts(extendInvokeOpts) {
        // attach 'token'
        extendInvokeOpts.qs = Object.assign({ token: this.token }, extendInvokeOpts.qs);
        return extendInvokeOpts;
    }
};
 
 

Custom extend

 
 
let MessageExtend = class MessageExtend extends ApiExtend {
    async send(to, content) {
        return await this.invoke(
            'https://api.weixin.qq.com/cgi-bin/message/custom/send',
            // request opts.   
            // (see: https://github.com/request/request#requestoptions-callback)
            {
                body: {
                    touser: to, msgtype: 'text',
                    text: { content }
                }
            }, 'POST');
    }
};
 
 

Register extend

 
 
let api = new CustomApi('token..');
 
 
// register
api.extend('message', MessageExtend);
 
 

Use

 
 
api.message.send('to', 'content')
    .then(function (result) {
        // ..
    }).catch(function (err) {
        // ..
    });
 
    
// or
// await api.message.send('openId', 'content');
 
 

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i extend-api

Weekly Downloads

1

Version

1.0.2

License

MIT

Last publish

Collaborators

  • unicreators