news 2026/3/24 8:06:21

Vue—— Vue3 API 接口管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue—— Vue3 API 接口管理

26. API 接口管理

背景问题:
需要合理组织 API 接口。

方案思考:
按模块组织 API 接口。

具体实现:
API 接口分层管理:

// api/index.jsimportuserApifrom'./user'importmenuApifrom'./menu'importroleApifrom'./role'importdictApifrom'./dict'export{userApi,menuApi,roleApi,dictApi}

用户模块 API:

// api/user.jsimportrequestfrom'@/utils/request'constuserApi={// 获取用户列表getUserList:(params)=>request.get('/system/user/list',{params}),// 获取用户详情getUserDetail:(id)=>request.get(`/system/user/${id}`),// 创建用户createUser:(data)=>request.post('/system/user',data),// 更新用户updateUser:(data)=>request.put('/system/user',data),// 删除用户deleteUser:(id)=>request.delete(`/system/user/${id}`),// 批量删除用户batchDeleteUser:(ids)=>request.delete('/system/user',{data:{ids}}),// 导出用户exportUser:(params)=>request({url:'/system/user/export',method:'get',params,responseType:'blob'}),// 导入用户importUser:(data)=>request({url:'/system/user/importData',method:'post',data,headers:{'Content-Type':'multipart/form-data'}}),// 重置用户密码resetUserPwd:(id,password)=>request.put('/system/user/resetPwd',{userId:id,password}),// 获取部门树getDeptTree:()=>request.get('/system/dept/treeselect')}exportdefaultuserApi

菜单模块 API:

// api/menu.jsimportrequestfrom'@/utils/request'constmenuApi={// 获取菜单列表getMenuList:(params)=>request.get('/system/menu/list',{params}),// 获取菜单详情getMenuDetail:(id)=>request.get(`/system/menu/${id}`),// 创建菜单createMenu:(data)=>request.post('/system/menu',data),// 更新菜单updateMenu:(data)=>request.put('/system/menu',data),// 删除菜单deleteMenu:(id)=>request.delete(`/system/menu/${id}`),// 获取路由信息getRouters:()=>request.get('/getRouters'),// 获取菜单树getMenuTree:()=>request.get('/system/menu/treeselect')}exportdefaultmenuApi

API 工具类:

// utils/api-helper.jsimport{ElMessage}from'element-plus'// API 响应处理工具类exportclassApiHelper{// 处理成功响应statichandleSuccess(response,successMsg='操作成功'){if(response.code===200){ElMessage.success(successMsg)returnresponse.data}thrownewError(response.message||'操作失败')}// 处理文件下载statichandleDownload(response,filename){constblob=newBlob([response],{type:'application/octet-stream'})consturl=window.URL.createObjectURL(blob)constlink=document.createElement('a')link.href=url link.download=filename link.click()window.URL.revokeObjectURL(url)}// 处理上传进度statichandleUploadProgress(progressEvent,onProgress){constprogress=Math.round((progressEvent.loaded*100)/progressEvent.total)if(onProgress){onProgress(progress)}}// 批量操作staticasyncbatchOperation(apiFunc,items,options={}){const{successCallback,errorCallback,finallyCallback,concurrency=5// 并发数}=optionsconstresults=[]constchunks=this.createChunks(items,concurrency)for(constchunkofchunks){constpromises=chunk.map(item=>apiFunc(item).catch(error=>({error,item})))constchunkResults=awaitPromise.all(promises)results.push(...chunkResults)if(successCallback){successCallback(chunkResults)}}if(finallyCallback){finallyCallback(results)}returnresults}// 创建分片staticcreateChunks(array,size){constchunks=[]for(leti=0;i<array.length;i+=size){chunks.push(array.slice(i,i+size))}returnchunks}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/22 6:47:28

基于springboot的信息技术知识赛系统(11700)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告&#xff09;远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/3/23 12:32:50

Vue——Vue3 Mock 数据与联调

背景问题&#xff1a; 开发阶段需要 Mock 数据。 方案思考&#xff1a; 使用 Mock 服务进行前后端并行开发。 具体实现&#xff1a; 使用 MSW (Mock Service Worker) 进行 Mock&#xff1a; // mock/index.js import { setupWorker } from msw/browser import { rest } from ms…

作者头像 李华
网站建设 2026/3/24 3:36:32

无线网络仿真:6G网络仿真_(10).6G与5G网络仿真对比

6G与5G网络仿真对比 在无线网络技术的发展过程中&#xff0c;5G网络的仿真和测试已经积累了大量的经验和工具。然而&#xff0c;随着6G技术的提出和发展&#xff0c;仿真技术也面临着新的挑战和机遇。本节将详细对比6G与5G网络仿真在原理、工具、性能指标和应用场景等方面的不同…

作者头像 李华
网站建设 2026/3/23 7:39:44

交通仿真软件:SUMO_(19).交通仿真中的大数据处理技术

交通仿真中的大数据处理技术 在交通仿真软件中&#xff0c;大数据处理技术是实现高效、准确仿真结果的关键。随着城市交通系统的复杂性和数据量的不断增加&#xff0c;如何有效地处理和利用这些数据成为了交通仿真领域的一个重要课题。本节将详细介绍如何在交通仿真软件中应用大…

作者头像 李华
网站建设 2026/3/22 14:07:02

Salesforce推出全新升级版Slackbot智能体

Salesforce公司今日正式发布了其大幅增强版的Slackbot人工智能助手&#xff0c;该助手内置于Slack平台中。该公司在去年10月举办的Dreamforce 2025大会上首次展示了这一升级版本。原版Slackbot主要专注于显示通知等相对简单的任务。新版本大幅扩展了该工具可以自动化的使用场景…

作者头像 李华
网站建设 2026/3/24 2:07:31

AI大模型30个核心术语详解,从小白到入门

文章按照AI产品的四层架构&#xff08;基座层、模型层、应用层、用户层&#xff09;详细解释了30个AI领域的重要术语。基座层涵盖算法、算力、数据相关概念&#xff1b;模型层介绍AI核心能力载体&#xff1b;应用层展示AI落地场景&#xff1b;用户层关注AI与用户交互。这些术语…

作者头像 李华