企业管理系统定制开发前端实现vue3使用axios调用后端接口

前言:在探索.0企业管理系统定制开发的道路上调接口这件事很重要,企业管理系统定制开发所以我就把我探索出来企业管理系统定制开发的这条道展示出来,企业管理系统定制开发为大家提供便利,望喜欢,废话不多说展示!!!

第一步:在src下创建一个http文件夹,创建一个config的js文件!

作用是:抛出基础请求方式、基础前缀、请求头信息、参数、超时时间、凭证、后端接口返回数据类型!

  1. //import { baseUrl } from '@/utils/global'
  2. export default {
  3. method: 'get',
  4. // 基础url前缀
  5. baseUrl: process.env.BASE_URL,
  6. // 请求头信息
  7. headers: {
  8. 'Content-Type': 'application/json;charset=UTF-8'
  9. },
  10. // 参数
  11. data: {},
  12. // 设置超时时间
  13. timeout: 10000,
  14. // 携带凭证
  15. withCredentials: true,
  16. // 返回数据类型
  17. responseType: 'json'
  18. }

第二步:在src下创建一个http文件夹,创建一个axios的js文件!

作用是:使用请求拦截器和响应拦截器解决下边的问题

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF
  1. import axios from 'axios'
  2. const request = axios.create({
  3. baseURL: '/api', // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!!
  4. timeout: 5000
  5. })
  6. // request 请求器
  7. // 可以自请求发送前对请求做一些处理
  8. // 比如统一加token,对请求参数统一加密
  9. request.interceptors.request.use(config => {
  10. if(config && config.headers){
  11. config.headers['Content-Type'] = 'application/json;charset=utf-8';
  12. }
  13. // config.headers['token'] = user.token; // 设置请求头
  14. return config
  15. }, error => {
  16. return Promise.reject(error)
  17. });
  18. // response 拦截器
  19. // 可以在接口响应后统一处理结果
  20. request.interceptors.response.use(
  21. response => {
  22. let res = response.data;
  23. // 如果是返回的文件
  24. if (response.config.responseType === 'blob') {
  25. return res
  26. }
  27. // 兼容服务端返回的字符串数据
  28. if (typeof res === 'string') {
  29. res = res ? JSON.parse(res) : res
  30. }
  31. return res;
  32. },
  33. error => {
  34. console.log('err' + error) // for debug
  35. return Promise.reject(error)
  36. }
  37. )
  38. export default request

第三步:在src下创建一个http文件夹,例:创建一个data的文件夹下创建一个index.js!

作用是:这里是放你要请求的接口url、请求方式post/get、传参data最后通过export default方式抛出在页面上调用!

  1. import axios from "../axios";
  2. export const alldata=(data)=>{
  3. return axios({
  4. url:'/article/data',
  5. method:'post',
  6. data
  7. })
  8. }
  9. export default {alldata}

第四步:在终端输入命令!

作用是:下载axios!

npm i axios -g

第五步:在main.js根文件挂载axios!

作用是:vue3不支持以 Vue.prototype的方式绑定全局变量,只能以app.config.globalProperties.$http在全局绑定

图片示例:

 

  1. import axios from 'axios'
  2. app.config.globalProperties.$http=axios;

第六步:要在vue.config.js更改配置实现跨域!

作用是:通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接通过proxy也更改axios发送请求中,配置请求的根路径!

  1. // 配置跨域
  2. const { defineConfig } = require('@vue/cli-service')
  3. module.exports = defineConfig({
  4. transpileDependencies: true,
  5. // lintOnSave:false,
  6. devServer: {
  7. port: 8080, // 端口
  8. proxy: {
  9. '/api': { // 若请求的前缀不是这个'/api',那请求就不会走代理服务器
  10. target: 'http://156.61.146.85:8078', //这里写路径
  11. pathRewrite: { '^/api': '' }, //将所有含/api路径的,去掉/api转发给服务器
  12. ws: true, //用于支持websocket
  13. changeOrigin: true //用于控制请求头中的host值
  14. },
  15. }
  16. }
  17. })

第七步:在需调接口的页面写上所要用的方法,生命周期,初始值,引入的方法!

作用是:调接口渲染页面!

图片示例:

  1. import { reactive,onMounted} from "vue";
  2. import {alldata} from "@/http/Home/home.js"
  3. export default {
  4. name: "app",
  5. setup(){
  6. const datas = reactive({
  7. value:[],
  8. })
  9. const methods = {
  10. requestall(){
  11. const data={
  12. pageNum:10,
  13. pageSize:5,
  14. articieId:100,
  15. };
  16. alldata(data).then(res => {
  17. datas.value=res
  18. console.log(res);
  19. }).catch(err => {
  20. console.log(err)
  21. })
  22. }
  23. }
  24. onMounted(()=>{
  25. methods.requestall()
  26. })
  27. return{
  28. ...methods
  29. }
  30. }
  31. }

 结果:接口调通了200状态码,参数传过去了data,接口的数据也请求到了,vue3.0前后交互达成!!!

图片示例:

                

 

 

 

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发