Skip to content

Commit

Permalink
Merge branch 'plugin-update-05-10' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
lei-mu committed May 11, 2021
2 parents 25ddc16 + 091b368 commit 0be8acf
Show file tree
Hide file tree
Showing 27 changed files with 138 additions and 70 deletions.
2 changes: 1 addition & 1 deletion DCloud/luch-request/adapters/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export default (config) => {
'timeout',
// #endif
'dataType',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
'responseType',
// #endif
// #ifdef APP-PLUS
Expand Down
6 changes: 3 additions & 3 deletions DCloud/luch-request/core/Request.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/**
* @Class Request
* @description luch-request http请求插件
* @version 3.0.5
* @version 3.0.6
* @Author lu-ch
* @Date 2021-01-06
* @Date 2021-05-10
* @Email [email protected]
* 文档: https://www.quanzhan.co/luch-request/
* github: https://github.com/lei-mu/luch-request
Expand All @@ -25,7 +25,7 @@ export default class Request {
* @param {Object} arg.header - 全局header
* @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式
* @param {String} arg.dataType = [json] - 全局默认的dataType
* @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。App和支付宝小程序不支持
* @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持
* @param {Object} arg.custom - 全局默认的自定义参数
* @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序
* @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)
Expand Down
2 changes: 1 addition & 1 deletion DCloud/luch-request/core/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default {
header: {},
method: 'GET',
dataType: 'json',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
responseType: 'text',
// #endif
custom: {},
Expand Down
2 changes: 1 addition & 1 deletion DCloud/luch-request/core/mergeConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default (globalsConfig, config2 = {}) => {
'timeout',
// #endif
'dataType',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
'responseType',
// #endif
// #ifdef APP-PLUS
Expand Down
2 changes: 1 addition & 1 deletion DCloud/luch-request/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export interface HttpRequestConfig<T = Tasks> {
method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD";
/** 如果设为 json,会尝试对返回的数据做一次 JSON.parse */
dataType?: string;
/** 设置响应的数据类型,App和支付宝小程序不支持 */
/** 设置响应的数据类型,支付宝小程序不支持 */
responseType?: "text" | "arraybuffer";
/** 自定义参数 */
custom?: AnyObject;
Expand Down
1 change: 1 addition & 0 deletions docs/acknowledgement/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ title: 鸣谢
- qq:`78****245`
- `346****[email protected]`
- 名字找不到了 0.0
- <a href="https://www.regaing.cn" target="_blank" rel="noopener noreferrer nofollow">记得</a>
- ...

插件贡献
Expand Down
10 changes: 5 additions & 5 deletions docs/guide/3.x/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ cli 用户使用npm 包需增加以下配置(<a href="https://uniapp.dcloud.io/q
```

::: warning
cli用户使用npm包,为什么要加以上配置[详见](/issue/#_1-%E4%B8%BA%E4%BB%80%E4%B9%88cli%E7%94%A8%E6%88%B7%E4%B8%8D%E8%83%BD%E4%BD%BF%E7%94%A8-npm-%E6%96%B9%E5%BC%8F%E5%BC%95%E5%85%A5)
cli用户使用npm包,为什么要加以上配置[详见](/issue/#%E5%A6%82%E6%9E%9Ccli-%E7%94%A8%E6%88%B7npm-%E5%BC%95%E5%85%A5%E6%8A%A5%E9%94%99%EF%BC%9F)
:::

### github
Expand Down Expand Up @@ -84,7 +84,7 @@ http.get('/user/login', {
dataType: 'json',
// 注:如果局部custom与全局custom有同名属性,则后面的属性会覆盖前面的属性,相当于Object.assign(全局,局部)
custom: {auth: true}, // 可以加一些自定义参数,在拦截器等地方使用。比如这里我加了一个auth,可在拦截器里拿到,如果true就传token
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
responseType: 'text',
// #endif
// #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN
Expand Down Expand Up @@ -130,7 +130,7 @@ http.post('/user/login', {userName: 'name', password: '123456'}, {
dataType: 'json',
// 注:如果局部custom与全局custom有同名属性,则后面的属性会覆盖前面的属性,相当于Object.assign(全局,局部)
custom: {auth: true}, // 可以加一些自定义参数,在拦截器等地方使用。比如这里我加了一个auth,可在拦截器里拿到,如果true就传token
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
responseType: 'text',
// #endif
// #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN
Expand Down Expand Up @@ -177,7 +177,7 @@ http.post('/user/login', {userName: 'name', password: '123456'}, {
custom: {auth: true}, // 可以加一些自定义参数,在拦截器等地方使用。比如这里我加了一个auth,可在拦截器里拿到,如果true就传token
name: 'file', // 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
// #ifdef H5 || APP-PLUS
timeout: 3000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)
timeout: 60000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)
// #endif
header: {}, /* 会与全局header合并,如有同名属性,局部覆盖全局 */
formData: {}, // HTTP 请求中其他额外的 form data
Expand Down Expand Up @@ -387,7 +387,7 @@ http.trace(url[, data[, config]])
header: {},
method: 'GET',
dataType: 'json',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
responseType: 'text',
// #endif
// 注:如果局部custom与全局custom有同名属性,则后面的属性会覆盖前面的属性,相当于Object.assign(全局,局部)
Expand Down
27 changes: 19 additions & 8 deletions docs/issue/readme.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
---
sidebar: auto
title: 常见问题
---

#### 1. 如果cli 用户npm 引入报错?
# 常见问题

## 如果cli 用户npm 引入报错?

插件使用es6,es7 开发,好处就是结构清晰,语义化,开发代码少,并且对于目前的我来说,完全没有必要使用es5开发。
<br>
为什么不用babel解决:babel 编译后的代码对uni的条件编译注释不友好。如果不用条件编译则不能发挥最大优势。
Expand All @@ -18,24 +22,30 @@ title: 常见问题
```


#### 2. 为什么会请求两次?
## 为什么会请求两次?

如果其中有`options` 请求:`本地访问接口时跨域请求,所以浏览器会先发一个option 去预测能否成功,然后再发一个真正的请求`。(自己观察请求头,Request Method,百度`简单请求`

#### 3. 如何跨域?
## 如何跨域?

问的人不少,可以先百度了解一下。<a href="https://ask.dcloud.net.cn/article/35267" target="_blank" rel="noopener noreferrer nofollow">如何跨域</a>

#### 4. TypeError: undefined is not an object (evaluating 'this.$http.get')
## `TypeError: undefined is not an object (evaluating 'this.$http.get')`

不知道为啥问的人这么多?太基础了,百度学习一下 export default 和export,头大。<br>
`import { http } from '@/utils/luch-request/index.js'`
#### 5. 什么参数需要在` setConfig ` 设置?什么参数需要在` request ` 拦截器设置?

## 什么参数需要在` setConfig ` 设置?什么参数需要在` request ` 拦截器设置?

- ` setConfig ` 适用于设置一些静态的/默认的参数;比如header 里的一些默认值、默认全局参数(全局请求配置)。` token ` 并不适合在这里设置。
- ` interceptors.request ` 拦截器适用范围较广,但我仍然建议把一些静态的东西放在 ` setConfig ` 里。拦截器会在每次请求调用,而 ` setConfig ` 仅在调用时修改一遍。

#### 6. 如何jwt无痛刷新?
## 如何jwt无痛刷新?

[jwt无痛刷新](/resources/article.html#jwt-%E6%97%A0%E7%97%9B%E5%88%B7%E6%96%B0)

#### 7. 如何配置超时时间?
## 如何配置超时时间?

**全局**

网络请求的 超时时间 可以统一在 manifest.json 中配置 [networkTimeout](https://uniapp.dcloud.io/collocation/manifest?id=networktimeout)
Expand Down Expand Up @@ -68,7 +78,8 @@ title: 常见问题
})
````

#### 8. 发送FormData?
## 发送FormData?

uni 不支持发送`FormData`对象

对于 POST 方法且 header['content-type'] 为 application/json 的数据,会进行 JSON 序列化。
Expand Down
2 changes: 1 addition & 1 deletion example/request-demo/utils/luch-request/adapters/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ export default (config) => {
'timeout',
// #endif
'dataType',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
'responseType',
// #endif
// #ifdef APP-PLUS
Expand Down
6 changes: 3 additions & 3 deletions example/request-demo/utils/luch-request/core/Request.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/**
* @Class Request
* @description luch-request http请求插件
* @version 3.0.5
* @version 3.0.6
* @Author lu-ch
* @Date 2021-01-06
* @Date 2021-05-10
* @Email [email protected]
* 文档: https://www.quanzhan.co/luch-request/
* github: https://github.com/lei-mu/luch-request
Expand All @@ -25,7 +25,7 @@ export default class Request {
* @param {Object} arg.header - 全局header
* @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式
* @param {String} arg.dataType = [json] - 全局默认的dataType
* @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。App和支付宝小程序不支持
* @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持
* @param {Object} arg.custom - 全局默认的自定义参数
* @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序
* @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)
Expand Down
2 changes: 1 addition & 1 deletion example/request-demo/utils/luch-request/core/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default {
header: {},
method: 'GET',
dataType: 'json',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
responseType: 'text',
// #endif
custom: {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default (globalsConfig, config2 = {}) => {
'timeout',
// #endif
'dataType',
// #ifndef MP-ALIPAY || APP-PLUS
// #ifndef MP-ALIPAY
'responseType',
// #endif
// #ifdef APP-PLUS
Expand Down
2 changes: 1 addition & 1 deletion example/request-demo/utils/luch-request/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export interface HttpRequestConfig<T = Tasks> {
method?: "GET" | "POST" | "PUT" | "DELETE" | "CONNECT" | "HEAD" | "OPTIONS" | "TRACE" | "UPLOAD" | "DOWNLOAD";
/** 如果设为 json,会尝试对返回的数据做一次 JSON.parse */
dataType?: string;
/** 设置响应的数据类型,App和支付宝小程序不支持 */
/** 设置响应的数据类型,支付宝小程序不支持 */
responseType?: "text" | "arraybuffer";
/** 自定义参数 */
custom?: AnyObject;
Expand Down
4 changes: 4 additions & 0 deletions history.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 3.0.6 (2021-05-10)

1. New Feature: APP端 增加`responseType`配置项

## 3.0.5 (2021-01-10)
### Features

Expand Down
Loading

0 comments on commit 0be8acf

Please sign in to comment.