1. 新建request.js文件,用来配置请求和响应
export default {
config: {
baseURL: 'https://www.holardata.com/ergj',
getToken() {
let token = uni.getStorageSync('userToken');
if (!token) {
return uni.switchTab({
url: '/pages/login/login'
})
}
return token
},
beforeRequest(options = {}) {
return new Promise((resolve, reject) => {
options.url = this.baseURL + options.url;
options.method = options.method || 'GET';
options.header = {
"Authorization": "Bearer " + this.getToken()
}
resolve(options)
})
},
handleResponse(data) {
return new Promise((resolve, reject) => {
const [err, res] = data;
if (res && res.statusCode !== 200) {
let msg = res.data.msg || '请求错误';
uni.showToast({
icon: 'none',
title: msg
})
return reject(msg)
}
if (err) {
uni.showToast({
icon: 'none',
title: '请求错误'
})
return reject(err)
}
return resolve(res.data)
})
},
},
request(options = {}) {
return this.config.beforeRequest(options).then(opt => {
return uni.request(opt)
}).then(res => this.config.handleResponse(res))
}
}
2.新建index.js,用来整合所有的接口
import api from './request'
function getPhotoImg(data) {
return api.request({
method: 'post',
url: '/jcxywzx/add',
data: data
})
}
function getCode(data) {
return api.request({
method: 'get',
url: '/api/v1/login/checkCode',
responseType: 'arraybuffer',
data: data
})
}
function getLogin(data) {
return api.request({
method: 'post',
url: '/api/v1/login/auth2',
data: data
})
}
function getAlarm(data) {
return api.request({
method: 'get',
url: '/alarm/page',
data: data
})
}
export {
getPhotoImg,
getCode,
getLogin,
getAlarm
}
3.调用接口
import {
getAlarm
} from '../../api/index.js'
async getAlarmDataFun() {
const {
code,
data,
msg
} = await getAlarm();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!