当前位置: 首页 > news >正文

Vue3辅助生成api接口(鱼皮学习笔记)

OpenAPI工具+axios工具

前置条件:确保npm的版本,我采用的版本是npm -v >=20.x,后端服务启动,并且配置了接口文档工具

axios工具

命令行下载安装依赖包

npm install axios

创建初始化文件:在src中创建文件reques.ts文件

import axios from 'axios' import { message } from 'ant-design-vue' // 创建 Axios 实例 const myAxios = axios.create({ baseURL: 'http://localhost:8123/api', timeout: 60000, withCredentials: true, }) // 全局请求拦截器 myAxios.interceptors.request.use( function (config) { // Do something before request is sent return config }, function (error) { // Do something with request error return Promise.reject(error) }, ) // 全局响应拦截器 myAxios.interceptors.response.use( function (response) { const { data } = response // 未登录 if (data.code === 40100) { // 不是获取用户信息的请求,并且用户目前不是已经在用户登录页面,则跳转到登录页面 if ( !response.request.responseURL.includes('user/get/login') && !window.location.pathname.includes('/user/login') ) { message.warning('请先登录') window.location.href = `/user/login?redirect=${window.location.href}` } } return response }, function (error) { // Any status codes that falls outside the range of 2xx cause this function to trigger // Do something with response error return Promise.reject(error) }, ) export default myAxios

OpenAPI工具:

官方地址

下载安装依赖包

npm i --save-dev @umijs/openapi

安装依赖包,不安装这个可能会报错

npm i --save-dev tslib

创建初始化配置文件,这个在整个项目的更目录下:这里的配置根据实际后端更改

export default { requestLibPath: "import request from '@/request'", schemaPath: 'http://localhost:8123/api/v3/api-docs', serversPath: './src', }

在package.json文件中配置

"scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "openapi2ts": "openapi2ts", //---在这里添加,然后左边有个箭头点击运行一下-- "preview": "vite preview", "build-only": "vite build", "type-check": "vue-tsc --build", "lint": "eslint . --fix --cache", "format": "prettier --write --experimental-cli src/" },

然后就可以看到运行成功,这个工具会自动添加一个api文件夹在src文件夹里

http://www.jsqmd.com/news/459488/

相关文章:

  • nlp_structbert_sentence-similarity_chinese-large入门必看:中文NLP语义匹配任务评估指标详解
  • Gemma-3-12B-IT WebUI实战效果:模型蒸馏方案+TinyGemma生成指导
  • 光模块-数字时代的算力传输纽带
  • YOLOv9训练日志分析:loss曲线解读与调优建议
  • 赵煜的时序建模学习手札——三种路线概览(统计学/机器学习/深度学习)
  • UI-TARS-desktop镜像级封装:Qwen3-4B模型权重、vLLM引擎、TARS框架、WebUI前端全集成
  • Z-Image Atelier开源镜像教程:如何为Z-Image添加自定义LoRA训练模块
  • Qwen3-0.6B-FP8多场景落地:政务窗口知识问答、医疗初筛助手案例
  • flinkSql的delete语句
  • Qwen3-0.6B与Phi-3性能对比:轻量模型推理速度实测案例
  • C#进阶 简单数据结构与泛型
  • HG-ha/MTools零基础教程:集成AI功能的一键部署方案
  • 相对路径 绝对路径 核心总结(Windows + Java 开发专用)
  • 图图的嗨丝造相-Z-Image-Turbo多平台部署:Jetson Orin Nano边缘设备上的轻量化运行方案
  • VMware Workstation 17 Pro 中文最新完整版下载地址和安装教程与永久key密钥 VMware-workstation-full-17.0.1.exe
  • Qwen3-VL-8B中文理解强?多语言图文对比评测
  • 目标检测模型和语言模型
  • lora-scripts实战:基于50张图片训练古风水墨风格,生成效果详细评测
  • PyTorch 2.9保姆级教程:从零开始搭建GPU加速训练环境
  • Emotion2Vec+ Large输出目录管理:results文件归档自动化脚本
  • 多模态多目标带局部PF问题
  • Face Fusion能否部署在云服务器?远程访问可行性分析
  • GLM-TTS固定种子42?可复现性在生产中的应用
  • 自然语言处理与bert
  • 文墨共鸣惊艳效果展示:转述识别准确率92.7%的水墨风语义分析作品集
  • 指针基础知识总结
  • 为什么你始终看不懂JavaScript?
  • vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)
  • Cursor 生死存亡:AI 编程痛点解决效率提升实战
  • LiuJuan Z-Image Generator实战案例:跨境电商独立站产品模特图生成SOP