
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
const config = {
// 接口域名
host: "https://xx.com/api/",
// 请求方法
method: "GET",
// 请求数据,GET时为QueryString,POST时为JSON
data: undefined,
// 接口数据类型
dataType: "json",
// 超时时间,单位毫秒
timeout: 10000,
// header头
header: {},
// 是否显示loading效果,为false时,不显示,为true时强制显示,不传时,会延迟showLoadingDelay毫秒后显示
showLoading: undefined,
// 延迟多长时间显示loading效果,为0时则直接显示
showLoadingDelay: 2000,
// 加载中文字
loadingText: "加载中",
// 遇到错误时是否提示
showError: true,
// 默认错误消息
defaultError: "请求失败",
// 是否对Response对象进行校验
validate: true,
// 是否只返回data层数据,不为true时,返回Response对象。
brief: true,
/**
* 在请求前对请求参数处理
* @param {Object} config
* @returns {Object}
*/
before: (config) => config,
/**
* 在返回promise前,对promise处理
* @param {RequestTaskPromise} promise
* @returns {RequestTaskPromise}
*/
after: (promise) => promise,
/**
* 将响应对象转换为Response对象,默认返回JsonResponse。
* @param {Object} response
* @returns {Response|JsonResponse|DownloadResponse}
*/
resolver: (response) => new JsonResponse(response),
/**
* 返回服务器数据
* @param {Response|JsonResponse|Object} response
* @returns {Object|*}
*/
briefReturn: (response) => response.getContent(),
/**
* 请求处理器,默认使用uni.request。
* @param {Object} config 请求参数
* @returns {RequestTaskPromise}
*/
handler: (config) => new RequestTaskPromise((resolve, reject) => uni.request({
url: config.url,
data: config.data,
header: config.header,
method: config.method,
dataType: config.dataType,
success: resolve,
fail: reject
}))
}
npm install qq-request --save
yarn add qq-request
import {Request} from 'qq-request';
const $request = new Request({
host: 'https://xx.com/api/',
// ... 其他参数参考参数说明
});
// GET请求
const user = await $request.get('/user/get', {
id: 1
});
console.log(user);
// POST请求
const result = await $request.post('/user/add', {
name: 'QQ',
age: 18
});
// 自定义请求参数
const result = await $request.post('/user/add', {
name: 'QQ',
age: 18
}, {
// 不显示loading
showLoading: false
});
不使用await关键词时,将返回任务TaskPromise;
const request = $request.get('/user/get', {
id: 1
});
// 终止请求
request.abort();
// 获取影响结果
request.then(user => {
console.log(user);
}).catch(e => {
});
默认情况下,只返回服务器响应的数据,不会返回statusCode,header等数据。可设置请求参数的brief: false,要求返回Response对象。
const response = await $request.get('/user/get', {
id: 1
}, {
brief: false
});
// HTTP状态码
response.getStatusCode();
// 响应数据
response.getContent();
const upload = $request.upload('/file/upload', '/path/to/file', 'image', {
user_id: 1
});
// 监听上传进度: `onProgressUpdate`
upload.onProgressUpdate((res) => {
console.log(res);
});
// 中止上传
upload.abort();
// 使用await关键词,可直接获取接口返回数据
const result = await $request.upload('/file/upload', '/path/to/file', 'image', {
user_id: 1
});
console.log(result);
const download = $request.download('/remote/file/path');
// 监听下载进度: `onProgressUpdate`
download.onProgressUpdate((res) => {
console.log(res);
});
// 中止下载
download.abort();
// 获取响应结果
download.then(response => {
console.log(response.getFilePath());
});
// 使用await关键词,支持获取DownloaResponse。
const response = await $request.download('/remote/file/path');
// 获取本地文件路径
console.log(response.getFilePath());
// 打开图片预览
response.previewImage();
// 打开文档
response.openDocument();
const $request = new Request({
before(config) {
config.header['Token'] = 'xxx';
return config;
}
});
const $request = new Request({
after(requestTaskPromise) {
return requestTaskPromise
.then(ret => ret)
.catch(console.log);
}
})
const $request = new Request({
validator(response) {
if (response.getStatusCode() !== 200) {
throw new Error("状态码错误");
}
}
})
// 自定义响应类
const $request = new Request({
resolver(result) {
return new JsonResponse(result);
}
});
// 自定义返回数据
const $request = new Request({
briefReturn(jsonResponse) {
return jsonResponse.getData();
}
});
const $request = new Request({
// 必须返回RequestTaskPromise或继承它的子类
handler(config) {
return new RequestTaskPromise((resolve, reject) => {
// fetch(..).then(resolve).catch(reject);
});
}
});
FAQs
基于uni-app 的网络请求工具
We found that qq-request demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.