1.0.2 • Published 7 years ago

extend-api v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

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

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago