您的位置:首页 > 汽车 > 时评 > 建立网站的公司平台_网站建站的流程_运营推广渠道有哪些_郑州seo外包费用

建立网站的公司平台_网站建站的流程_运营推广渠道有哪些_郑州seo外包费用

2024/11/16 1:32:13 来源:https://blog.csdn.net/weixin_61933613/article/details/143456240  浏览:    关键词:建立网站的公司平台_网站建站的流程_运营推广渠道有哪些_郑州seo外包费用
建立网站的公司平台_网站建站的流程_运营推广渠道有哪些_郑州seo外包费用

摘要:最近一个项目没有后端配合,临时使用使用Axios-Mock-Adapter来mock数据的逻辑,简单记录下使用步骤如下

1. 安装Axios-Mock-Adapter

        首先,安装Axios-Mock-Adapter。Axios Mock Adapter 是一个用于模拟 Axios 请求和响应的库,主要用于测试和开发环境中。它通过拦截 Axios 的请求来提供自定义的响应,从而避免在测试中进行实际的网络请求。

npm install axios-mock-adapter --save

        接着,创建Axios实例,这一步src/utils/request.js中已完成

import axios from 'axios'const service = axios.create({baseURL: process.env.VUE_APP_BASE_API,timeout: 5000
})export default service

2. 创建模拟数据文件

        然后,创建模拟数据文件src/mock/index.js配置 Axios Mock Adapter,以模拟请求和响应。创建一个 Mock Adapter 实例并将其与Axios实例关联。这样,当发出请求时,Mock Adapter 就会拦截这些请求

// import axios from 'axios'
import AxiosMockAdapter from 'axios-mock-adapter'
import request from '@/utils/request' // 引入上面创建的 Axios 实例const mock = new AxiosMockAdapter(request)// Mock GET 请求
mock.onGet('/api/data').reply(200, {message: 'Hello World'
})// Mock POST 请求
mock.onPost('**/api/sys/login**').reply(200, {data: {token: '8fa22e88-f6ab-4a4b-930a-a5e62c4c74e8'},message: '登陆成功',success: true
})export default mock

3. 引入文件并在组件中使用

        再然后,在在主入口文件main.js中引入 Mock

import '@/styles/index.scss'
// 导入svgIcon
import installIcons from '@/icons'
// 导入mock
import '@/mock/index.js'const app = createApp(App)
installElementPlus(app)

        最后,在Vue组件中使用Mock 数据,此处调用登录接口。当你使用 Axios 发送请求时,如果请求匹配已定义的 Mock 响应,Mock Adapter 会返回你设置的响应,而不执行真实的网络请求。

// 登陆动作处理
const loading = ref(false) // 使用ref声明的数据默认值false
const loginFormRef = ref(null) // 使用ref声明的数据默认值null,用于获取组件实例
const store = useStore()
const handleLogin = () => {// 1.进行表单校验loginFormRef.value.validate((valid) => { // vue3的compsition API中没有this.refsif (!valid) return// 2.触发登陆动作loading.value = truestore.dispatch('user/login', loginForm.value).then((res) => {console.log(res)  //返回数据:data: {token: '8fa22e88-f6ab-4a4b-930a-a5e62c4c74e8'},message: "登陆成功",success: trueloading.value = false// 3. TODO:进行登陆后处理}).catch((err) => {console.log(err)loading.value = false})})
}

        启动项目验证。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com