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