|
1 | 1 | /*! |
2 | | - * axios-miniprogram-adapter 0.2.4 (https://github.com/bigMeow/axios-miniprogram-adapter) |
| 2 | + * axios-miniprogram-adapter 0.3.1 (https://github.com/bigMeow/axios-miniprogram-adapter) |
3 | 3 | * API https://github.com/bigMeow/axios-miniprogram-adapter/blob/master/doc/api.md |
4 | 4 | * Copyright 2018-2020 bigMeow. All Rights Reserved |
5 | 5 | * Licensed under MIT (https://github.com/bigMeow/axios-miniprogram-adapter/blob/master/LICENSE) |
|
8 | 8 | (function (global, factory) { |
9 | 9 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('axios/lib/utils'), require('axios/lib/core/settle'), require('axios/lib/helpers/buildURL'), require('axios/lib/core/buildFullPath'), require('axios/lib/core/createError')) : |
10 | 10 | typeof define === 'function' && define.amd ? define(['axios/lib/utils', 'axios/lib/core/settle', 'axios/lib/helpers/buildURL', 'axios/lib/core/buildFullPath', 'axios/lib/core/createError'], factory) : |
11 | | - (global['axios-miniprogram-adapter'] = factory(global.utils,global.settle,global.buildURL,global.buildFullPath,global.createError)); |
12 | | -}(this, (function (utils,settle,buildURL,buildFullPath,createError) { 'use strict'; |
| 11 | + (global = global || self, global['axios-miniprogram-adapter'] = factory(global.utils, global.settle, global.buildURL, global.buildFullPath, global.createError)); |
| 12 | +}(this, (function (utils, settle, buildURL, buildFullPath, createError) { 'use strict'; |
13 | 13 |
|
14 | | - utils = utils && utils.hasOwnProperty('default') ? utils['default'] : utils; |
15 | | - settle = settle && settle.hasOwnProperty('default') ? settle['default'] : settle; |
16 | | - buildURL = buildURL && buildURL.hasOwnProperty('default') ? buildURL['default'] : buildURL; |
17 | | - buildFullPath = buildFullPath && buildFullPath.hasOwnProperty('default') ? buildFullPath['default'] : buildFullPath; |
18 | | - createError = createError && createError.hasOwnProperty('default') ? createError['default'] : createError; |
| 14 | + utils = utils && Object.prototype.hasOwnProperty.call(utils, 'default') ? utils['default'] : utils; |
| 15 | + settle = settle && Object.prototype.hasOwnProperty.call(settle, 'default') ? settle['default'] : settle; |
| 16 | + buildURL = buildURL && Object.prototype.hasOwnProperty.call(buildURL, 'default') ? buildURL['default'] : buildURL; |
| 17 | + buildFullPath = buildFullPath && Object.prototype.hasOwnProperty.call(buildFullPath, 'default') ? buildFullPath['default'] : buildFullPath; |
| 18 | + createError = createError && Object.prototype.hasOwnProperty.call(createError, 'default') ? createError['default'] : createError; |
19 | 19 |
|
20 | 20 | var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; |
21 | 21 | // encoder |
|
56 | 56 | platFormName = 'baidu'; |
57 | 57 | return swan.request.bind(swan); |
58 | 58 | case typeof my === 'object': |
| 59 | + /** |
| 60 | + * remark: |
| 61 | + * 支付宝客户端已不再维护 my.httpRequest,建议使用 my.request。另外,钉钉客户端尚不支持 my.request。若在钉钉客户端开发小程序,则需要使用 my.httpRequest。 |
| 62 | + * my.httpRequest的请求头默认值为{'content-type': 'application/x-www-form-urlencoded'}。 |
| 63 | + * my.request的请求头默认值为{'content-type': 'application/json'}。 |
| 64 | + * TODO: 区分支付宝和钉钉环境 |
| 65 | + * 还有个 dd.httpRequest WFK!!! https://ding-doc.dingtalk.com/doc#/dev/httprequest |
| 66 | + */ |
59 | 67 | platFormName = 'alipay'; |
60 | 68 | return (my.request || my.httpRequest).bind(my); |
61 | 69 | default: |
|
129 | 137 | reject(createError('Network Error', config, null, '')); |
130 | 138 | break; |
131 | 139 | } |
| 140 | + } |
| 141 | + /** |
| 142 | + * 将axios的请求配置,转换成各个平台都支持的请求config |
| 143 | + * @param config |
| 144 | + */ |
| 145 | + function transformConfig(config) { |
| 146 | + if (platFormName === 'alipay') { |
| 147 | + config.headers = config.header; |
| 148 | + delete config.header; |
| 149 | + } |
| 150 | + return config; |
132 | 151 | } |
133 | 152 |
|
134 | 153 | var warn = console.warn; |
|
207 | 226 | if (requestData !== undefined) { |
208 | 227 | mpRequestOption.data = requestData; |
209 | 228 | } |
210 | | - requestTask = request(mpRequestOption); |
| 229 | + requestTask = request(transformConfig(mpRequestOption)); |
211 | 230 | }); |
212 | 231 | } |
213 | 232 |
|
|
0 commit comments