一、实现思路
- 新建utils目录
- utils目录中新建http.js文件
- utils目录中新建api.js文件
- 页面引入使用
自定义加载、请求头、数据简化处理、状态处理等项目需求,可依照实际开发自行配置
二、代码注释详解
http.js 代码如下:
const baseUrl = '此处填写基准路径'
const timestamp = Math.round(new Date());
export const request = function(url, method, parmas) {
return new Promise((reslove, reject) => {
uni.showLoading()
uni.request({
url: baseUrl + url,
method: method,
data: parmas,
header: {
'content-type': 'application/x-www-form-urlencoded',
'token':''
},
success(res) {
reslove(res)
uni.hideLoading()
},
fail(err) {
reject(err)
uni.hideLoading()
}
})
})
}
api.js 代码如下:
import {
request
} from "./http.js"
export const reqLogin = async (params) => {
return await request('接口路径', 'POST', params);
}
页面使用代码如下:
<template>
<view class="box">
<input type="text" v-model="username">
<input password v-model="password">
<button @click="login">登录</button>
</view>
</template>
<script>
import {
reqLogin
} from "../../utils/api.js";
export default {
name: "index",
data() {
return {
username: '',
password: '',
};
},
onLoad() {
},
methods: {
login() {
let result = await reqLogin({
username: this.username,
password: this.password
}).catch(err => {
console.error(err)
})
console.log(result)
}
},
components: {
}
}
</script>
<style lang="scss" scoped>
input {
border: 1px solid #ccc;
height: 60rpx;
margin-bottom: 20rpx;
}
</style>