UNPKG

1.06 kBJavaScriptView Raw
1'use strict';
2
3/*!
4 * 对返回结果的一层封装,如果遇见微信返回的错误,将返回一个错误
5 * 参见:http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html
6 */
7exports.wrapper = function (callback) {
8 return function (err, data, res) {
9 callback = callback || function () {};
10 if (err) {
11 err.name = 'WeChatAPI' + err.name;
12 return callback(err, data, res);
13 }
14 if (data && data.errcode) {
15 err = new Error(data.errmsg);
16 err.name = 'WeChatAPIError';
17 err.code = data.errcode;
18 return callback(err, data, res);
19 }
20 callback(null, data, res);
21 };
22};
23
24/*!
25 * 对提交参数一层封装,当POST JSON,并且结果也为JSON时使用
26 */
27exports.postJSON = function (data) {
28 return {
29 dataType: 'json',
30 type: 'POST',
31 data: data,
32 headers: {
33 'Content-Type': 'application/json'
34 }
35 };
36};
37
38exports.make = function (host, name, fn) {
39 host[name] = function () {
40 this.preRequest(this['_' + name], arguments);
41 };
42 host['_' + name] = fn;
43};