feat: 增加配置:doNotUseQueryString
默认情况下,POST请求,登陆态除了带在请求body中,也会带在queryString上,如果配置了这个为true,则登陆态不带在queryString中
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<p align="center"><img src="./image/logo.png" alt="weRequest" height="160"/></p>
|
||||
<h2 align="center">v1.2.7</h2>
|
||||
<h2 align="center">v1.2.8</h2>
|
||||
<p align="center"><b>解决繁琐的小程序会话管理,一款自带登录态管理的网络请求组件。</b></p>
|
||||
|
||||
|
||||
@@ -166,6 +166,7 @@ weRequest.request({
|
||||
|globalData|Object/Function|否||所有请求都会自动带上这里的参数|
|
||||
|sessionExpireTime|Int|否|null|为用户登陆态设置本地缓存时间(单位为ms),一旦过期,直接废弃缓存中的登陆态|
|
||||
|sessionExpireKey|String|否|sessionExpireKey|如果为用户登陆态设置了本地缓存时间,则过期时间将以此值为key存储在Storage中|
|
||||
|doNotUseQueryString|Boolean|否|false|默认情况下,POST请求,登陆态除了带在请求body中,也会带在queryString上,如果配置了这个为true,则登陆态不带在queryString中|
|
||||
|
||||
##### codeToSession参数说明
|
||||
|
||||
|
||||
1
build/interface.d.ts
vendored
1
build/interface.d.ts
vendored
@@ -16,6 +16,7 @@ export interface IInitOption {
|
||||
successData?: (res: string | IAnyObject | ArrayBuffer) => string | IAnyObject | ArrayBuffer;
|
||||
errorTitle?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
|
||||
errorContent?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
|
||||
doNotUseQueryString?: boolean;
|
||||
}
|
||||
export interface ICodeToSessionOptions {
|
||||
url: string;
|
||||
|
||||
File diff suppressed because one or more lines are too long
4
build/weRequest.min.js
vendored
4
build/weRequest.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "we-request",
|
||||
"version": "1.2.7",
|
||||
"version": "1.2.8",
|
||||
"description": "本工具通过拓展小程序的wx.request,让开发者通过简单的配置,实现自动管理登录态等功能",
|
||||
"keywords": [
|
||||
"登录态",
|
||||
|
||||
@@ -40,6 +40,8 @@ export interface IInitOption {
|
||||
errorTitle?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
|
||||
/* 接口逻辑失败时,错误弹窗的内容 */
|
||||
errorContent?: string | ((res: string | IAnyObject | ArrayBuffer) => string);
|
||||
/* 当请求为非GET时,不将登陆态等参数放在queryString上(默认都放queryString) */
|
||||
doNotUseQueryString?: boolean;
|
||||
}
|
||||
|
||||
export interface ICodeToSessionOptions{
|
||||
|
||||
@@ -66,7 +66,7 @@ function initializeRequestObj(obj: IRequestOption) {
|
||||
obj.dataType = obj.dataType || 'json';
|
||||
|
||||
// 如果请求不是GET,则在URL中自动加上登录态和全局参数
|
||||
if (obj.method !== "GET") {
|
||||
if (!config.doNotUseQueryString && obj.method !== "GET") {
|
||||
if (status.session) {
|
||||
obj.url = url.setParams(obj.url, {[config.sessionName]: status.session});
|
||||
}
|
||||
@@ -92,12 +92,14 @@ function initializeUploadFileObj(obj: IUploadFileOption) {
|
||||
const gd = getGlobalData();
|
||||
obj.formData = {...gd, ...obj.formData};
|
||||
|
||||
// 将登陆态也带在url上
|
||||
if (status.session) {
|
||||
obj.url = url.setParams(obj.url, {[config.sessionName]: status.session});
|
||||
if (!config.doNotUseQueryString) {
|
||||
// 将登陆态也带在url上
|
||||
if (status.session) {
|
||||
obj.url = url.setParams(obj.url, {[config.sessionName]: status.session});
|
||||
}
|
||||
// 全局参数同时放在url上
|
||||
obj.url = url.setParams(obj.url, gd);
|
||||
}
|
||||
// 全局参数同时放在url上
|
||||
obj.url = url.setParams(obj.url, gd);
|
||||
|
||||
durationReporter.start(obj);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user