如何快速上手luch-request:轻量级uni-app网络请求库的完整指南
luch-request是一个基于Promise开发的uni-app跨平台网络请求库,体积小巧且API易用,支持拦截器、请求配置合并等实用功能,帮助开发者高效处理项目中的HTTP请求。无论是小程序、H5还是App开发,它都能提供一致的请求体验,让网络请求管理变得简单高效!🚀
📦 1分钟极速安装:3种简单方法任选
方法一:npm一键安装(推荐)
npm install luch-request --save
方法二:源码本地集成
直接将项目中的请求核心模块复制到你的项目目录:
test/dev-test/utils/luch-request/
该目录包含完整的请求适配器(adapters/)和核心逻辑(core/),无需额外依赖即可运行。
方法三:Git仓库克隆
git clone https://gitcode.com/gh_mirrors/lu/luch-request
⚡️ 3行代码快速上手:从零到发起请求
基础配置示例
import request from 'luch-request'
// 创建实例并配置基础路径
const http = new request({
baseURL: 'https://api.example.com', // 接口基础路径
timeout: 5000 // 超时时间(毫秒)
})
发起第一个GET请求
// 获取用户信息
http.get('/user', { params: { id: 1 } })
.then(res => console.log('用户数据:', res.data))
.catch(err => console.error('请求失败:', err))
发送POST请求提交数据
// 提交表单
http.post('/login', {
username: 'test',
password: '123456'
}).then(res => {
console.log('登录结果:', res.data)
})
🛠️ 高级玩法:拦截器与请求配置
请求/响应拦截器:统一处理Token和错误
// 请求拦截器:添加Token
http.interceptors.request.use(config => {
config.header.Authorization = 'Bearer ' + uni.getStorageSync('token')
return config
})
// 响应拦截器:统一错误处理
http.interceptors.response.use(
res => res.data, // 直接返回数据部分
err => {
if (err.statusCode === 401) {
uni.navigateTo({ url: '/pages/login' }) // 未授权跳转登录页
}
return Promise.reject(err)
}
)
自定义配置覆盖默认值
// 单次请求覆盖超时时间
http.get('/long-task', {
timeout: 10000 // 特殊接口延长超时
})
📝 最佳实践:项目级请求管理方案
模块化封装API(推荐)
创建api/service.js统一管理接口:
// api/service.js
import http from '../utils/luch-request'
export const Api = {
getUser: (id) => http.get(`/user/${id}`),
updateUser: (data) => http.put('/user', data),
uploadFile: (filePath) => http.upload('/upload', {
name: 'file',
filePath
})
}
在页面中调用:
import { Api } from '@/api/service'
async onLoad() {
try {
const user = await Api.getUser(1)
this.setData({ user })
} catch (e) {
uni.showToast({ title: '加载失败', icon: 'error' })
}
}
处理并发请求
// 同时获取多个接口数据
Promise.all([
Api.getUser(1),
Api.getArticleList()
]).then(([user, articles]) => {
console.log('用户:', user, '文章列表:', articles)
})
📚 官方文档与资源
- 完整使用指南:docs/guide/3.x/
- 核心源码实现:src/lib/core/
- 拦截器逻辑:InterceptorManager.js
- 请求合并配置:mergeConfig.js
无论是小型项目还是复杂应用,luch-request都能通过简洁的API和灵活的配置满足你的需求。现在就集成到项目中,让网络请求管理变得轻松高效吧!😊
提示:遇到问题可查阅项目的issue文档或提交反馈,社区会及时响应哦!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



