UNPKG

8.29 kBJavaScriptView Raw
1'use strict';
2
3var util = require('./util');
4var wrapper = util.wrapper;
5var postJSON = util.postJSON;
6
7/**
8 * 增加货架
9 * 详细请看:<http://mp.weixin.qq.com/wiki/8/703923b7349a607f13fb3100163837f0.html>
10 * Examples:
11 * ```
12 * api.createShelf(shelf, callback);
13 * ```
14 * Shelf:
15 * ```
16 * {
17 * "shelf_data": {
18 * "module_infos": [
19 * {
20 * "group_info": {
21 * "filter": {
22 * "count": 2
23 * },
24 * "group_id": 50
25 * },
26 * "eid": 1
27 * },
28 * {
29 * "group_infos": {
30 * "groups": [
31 * {
32 * "group_id": 49
33 * },
34 * {
35 * "group_id": 50
36 * },
37 * {
38 * "group_id": 51
39 * }
40 * ]
41 * },
42 * "eid": 2
43 * },
44 * {
45 * "group_info": {
46 * "group_id": 52,
47 * "img": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl29nqqObBwFwnIX3licVPnFV5Jm64z4I0TTicv0TjN7Vl9bykUUibYKIOjicAwIt6Oy0Y6a1Rjp5Tos8tg/0"
48 * },
49 * "eid": 3
50 * },
51 * {
52 * "group_infos": {
53 * "groups": [
54 * {
55 * "group_id": 49,
56 * "img": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl29nqqObBwFwnIX3licVPnFV5uUQx7TLx4tB9qZfbe3JmqR4NkkEmpb5LUWoXF1ek9nga0IkeSSFZ8g/0"
57 * },
58 * {
59 * "group_id": 50,
60 * "img": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl29nqqObBwFwnIX3licVPnFV5G1kdy3ViblHrR54gbCmbiaMnl5HpLGm5JFeENyO9FEZAy6mPypEpLibLA/0"
61 * },
62 * {
63 * "group_id": 52,
64 * "img": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl29nqqObBwFwnIX3licVPnFV5uUQx7TLx4tB9qZfbe3JmqR4NkkEmpb5LUWoXF1ek9nga0IkeSSFZ8g/0"
65 * }
66 * ]
67 * },
68 * "eid": 4
69 * },
70 * {
71 * "group_infos": {
72 * "groups": [
73 * {
74 * "group_id": 43
75 * },
76 * {
77 * "group_id": 44
78 * },
79 * {
80 * "group_id": 45
81 * },
82 * {
83 * "group_id": 46
84 * }
85 * ],
86 * "img_background": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl29nqqObBwFwnIX3licVPnFV5uUQx7TLx4tB9qZfbe3JmqR4NkkEmpb5LUWoXF1ek9nga0IkeSSFZ8g/0"
87 * },
88 * "eid": 5
89 * }
90 * ]
91 * },
92 * "shelf_banner": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2ibrWQn8zWFUh1YznsMV0XEiavFfLzDWYyvQOBBszXlMaiabGWzz5B2KhNn2IDemHa3iarmCyribYlZYyw/0",
93 * "shelf_name": "测试货架"
94 * }
95 * ```
96 * Callback:
97 *
98 * - `err`, 调用失败时得到的异常
99 * - `result`, 调用正常时得到的对象
100 *
101 * Result:
102 * ```
103 * {
104 * "errcode": 0,
105 * "errmsg": "success",
106 * "shelf_id": 12
107 * }
108 * ```
109 * @param {Object} shelf 货架信息
110 * @param {Function} callback 回调函数
111 */
112exports.createShelf = function (shelf, callback) {
113 this.preRequest(this._createShelf, arguments);
114};
115
116/*!
117 * 增加货架的未封装版本
118 */
119exports._createShelf = function (shelf, callback) {
120 var url = this.endpoint + '/merchant/shelf/add?access_token=' + this.token.accessToken;
121 this.request(url, postJSON(shelf), wrapper(callback));
122};
123
124/**
125 * 删除货架
126 * 详细请看:<http://mp.weixin.qq.com/wiki/8/703923b7349a607f13fb3100163837f0.html>
127 * Examples:
128 * ```
129 * api.deleteShelf(shelfId, callback);
130 * ```
131 * Callback:
132 *
133 * - `err`, 调用失败时得到的异常
134 * - `result`, 调用正常时得到的对象
135 *
136 * Result:
137 * ```
138 * {
139 * "errcode": 0,
140 * "errmsg": "success"
141 * }
142 * ```
143 * @param {String} shelfId 货架Id
144 * @param {Function} callback 回调函数
145 */
146exports.deleteShelf = function (shelfId, callback) {
147 this.preRequest(this._deleteShelf, arguments);
148};
149
150/*!
151 * 删除货架的未封装版本
152 */
153exports._deleteShelf = function (shelfId, callback) {
154 var data = {
155 'shelf_id': shelfId
156 };
157 var url = this.endpoint + '/merchant/shelf/del?access_token=' + this.token.accessToken;
158 this.request(url, postJSON(data), wrapper(callback));
159};
160
161/**
162 * 修改货架
163 * 详细请看:<http://mp.weixin.qq.com/wiki/8/703923b7349a607f13fb3100163837f0.html>
164 * Examples:
165 * ```
166 * api.updateShelf(shelf, callback);
167 * ```
168 * Shelf:
169 * ```
170 * {
171 * "shelf_id": 12345,
172 * "shelf_data": ...,
173 * "shelf_banner": "http://mmbiz.qpic.cn/mmbiz/ 4whpV1VZl2ibrWQn8zWFUh1YznsMV0XEiavFfLzDWYyvQOBBszXlMaiabGWzz5B2K hNn2IDemHa3iarmCyribYlZYyw/0",
174 * "shelf_name": "货架名称"
175 * }
176 * ```
177 * Callback:
178 *
179 * - `err`, 调用失败时得到的异常
180 * - `result`, 调用正常时得到的对象
181 *
182 * Result:
183 * ```
184 * {
185 * "errcode": 0,
186 * "errmsg": "success"
187 * }
188 * ```
189 * @param {Object} shelf 货架信息
190 * @param {Function} callback 回调函数
191 */
192exports.updateShelf = function (shelf, callback) {
193 this.preRequest(this._updateShelf, arguments);
194};
195
196/*!
197 * 修改货架的未封装版本
198 */
199exports._updateShelf = function (shelf, callback) {
200 var url = this.endpoint + '/merchant/shelf/mod?access_token=' + this.token.accessToken;
201 this.request(url, postJSON(shelf), wrapper(callback));
202};
203
204/**
205 * 获取所有货架
206 * 详细请看:<http://mp.weixin.qq.com/wiki/8/703923b7349a607f13fb3100163837f0.html>
207 * Examples:
208 * ```
209 * api.getAllShelf(callback);
210 * ```
211 * Callback:
212 *
213 * - `err`, 调用失败时得到的异常
214 * - `result`, 调用正常时得到的对象
215 *
216 * Result:
217 * ```
218 * {
219 * "errcode": 0,
220 * "errmsg": "success",
221 * "shelves": [
222 * {
223 * "shelf_info": {
224 * "module_infos": [
225 * {
226 * "group_infos": {
227 * "groups": [
228 * {
229 * "group_id": 200080093
230 * },
231 * {
232 * "group_id": 200080118
233 * },
234 * {
235 * "group_id": 200080119
236 * },
237 * {
238 * "group_id": 200080135
239 * }
240 * ],
241 * "img_background": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl294FzPwnf9dAcaN7ButStztAZyy2yHY8pW6sTQKicIhAy5F0a2CqmrvDBjMFLtc2aEhAQ7uHsPow9A/0"
242 * },
243 * "eid": 5
244 * }
245 * ]
246 * },
247 * "shelf_banner": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl294FzPwnf9dAcaN7ButStztAZyy2yHY8pW6sTQKicIhAy5F0a2CqmrvDBjMFLtc2aEhAQ7uHsPow9A/0",
248 * "shelf_name": "新新人类",
249 * "shelf_id": 22
250 * },
251 * {
252 * "shelf_info": {
253 * "module_infos": [
254 * {
255 * "group_info": {
256 * "group_id": 200080119,
257 * "filter": {
258 * "count": 4
259 * }
260 * },
261 * "eid": 1
262 * }
263 * ]
264 * },
265 * "shelf_banner": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl294FzPwnf9dAcaN7ButStztAZyy2yHY8pW6sTQKicIhAy5F0a2CqmrvDBjMFLtc2aEhAQ7uHsPow9A/0",
266 * "shelf_name": "店铺",
267 * "shelf_id": 23
268 * }
269 * ]
270 * }
271 * ```
272 * @param {Function} callback 回调函数
273 */
274exports.getAllShelves = function (callback) {
275 this.preRequest(this._getAllShelves, arguments);
276};
277
278/*!
279 * 获取所有货架的未封装版本
280 */
281exports._getAllShelves = function (callback) {
282 var url = this.endpoint + '/merchant/shelf/getall?access_token=' + this.token.accessToken;
283 this.request(url, {dataType: 'json'}, wrapper(callback));
284};
285
286/**
287 * 根据货架ID获取货架信息
288 * 详细请看:<http://mp.weixin.qq.com/wiki/8/703923b7349a607f13fb3100163837f0.html>
289 * Examples:
290 * ```
291 * api.getShelfById(shelfId, callback);
292 * ```
293 * Callback:
294 *
295 * - `err`, 调用失败时得到的异常
296 * - `result`, 调用正常时得到的对象
297 *
298 * Result:
299 * ```
300 * {
301 * "errcode": 0,
302 * "errmsg": "success",
303 * "shelf_info": {
304 * "module_infos": [...]
305 * },
306 * "shelf_banner": "http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2ibp2DgDXiaic6WdflMpNdInS8qUia2BztlPu1gPlCDLZXEjia2qBdjoLiaCGUno9zbs1UyoqnaTJJGeEew/0",
307 * "shelf_name": "新建货架",
308 * "shelf_id": 97
309 * }
310 * ```
311 * @param {String} shelfId 货架Id
312 * @param {Function} callback 回调函数
313 */
314exports.getShelfById = function (shelfId, callback) {
315 this.preRequest(this._getShelfById, arguments);
316};
317
318/*!
319 * 根据货架ID获取货架信息的未封装版本
320 */
321exports._getShelfById = function (shelfId, callback) {
322 var data = {
323 'shelf_id': shelfId
324 };
325 var url = this.endpoint + '/merchant/shelf/getbyid?access_token=' + this.token.accessToken;
326 this.request(url, postJSON(data), wrapper(callback));
327};