uni-mini-jz-request
v1.0.0
Published
A thread-safe network request wrapper for uniapp and wechat miniprogram.
Maintainers
Readme
uni-mini-jz-request
一款专为 uniapp 和微信小程序打造的轻量级网络请求封装库。采用无状态函数设计,彻底杜绝了高并发场景下的配置污染和状态冲突问题。
安装
npm install uni-mini-jz-request快速上手
1. 全局配置 (例如在 main.js 或 api.js 中)
import { $http } from 'uni-mini-jz-request'
// 设置基础 URL
$http.baseUrl = '[https://api.yourdomain.com](https://api.yourdomain.com)'
// 请求拦截器
$http.beforeRequest = (config) => {
// 可以在这里动态添加 token
const token = uni.getStorageSync('token')
if (token) {
config.header['Authorization'] = `Bearer ${token}`
}
// 也可以根据 config.customConfig 决定是否展示 loading
if (config.customConfig && config.customConfig.showLoading) {
uni.showLoading({ title: '加载中...' })
}
}
// 响应拦截器
$http.afterRequest = (res) => {
if (res.customConfig && res.customConfig.showLoading) {
uni.hideLoading()
}
// 统一的错误处理逻辑
if (res.statusCode !== 200) {
uni.showToast({ title: '网络请求失败', icon: 'none' })
}
}2. 发起请求
import { $http } from 'uni-mini-jz-request'
// GET 请求 (附带自定义配置 customConfig)
$http.get('/user/info', { id: 123 }, { showLoading: true })
.then(res => console.log(res.data))
.catch(err => console.error(err))
// POST 请求
$http.post('/order/create', { productId: 1, count: 2 })
.then(res => console.log(res.data))