news 2026/7/2 7:28:56

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/6/26 7:59:57

【计算机毕业设计案例】基于python卷神经网络的纸箱是否有破损识别基于python深度学习的纸箱是否有破损识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/29 5:29:20

急刹事件作为道路风险评估新指标研究

我们通过分析Android Auto收集的急刹事件&#xff08;HBEs&#xff09;与实际道路事故率之间的关系&#xff0c;确立了两者之间的正相关性。研究证实&#xff0c;急刹事件频率较高的道路段确实具有显著更高的事故风险&#xff0c;这表明此类事件可以作为道路安全评估的前瞻性指…

作者头像 李华
网站建设 2026/6/25 21:33:21

部署AI智能体的七个实战经验教训

部署AI智能体并非传统的软件发布&#xff0c;需要在实际操作中投入大量工作和规划才能让这些工具发挥生产力。顶层策略包括给予智能体一定的自由度&#xff0c;但不能过度放任&#xff0c;同时还需要重新思考传统的投资回报率衡量标准。有效的AI开发和管理需要在控制、投资、治…

作者头像 李华
网站建设 2026/6/30 22:37:13

压测 把自己 压进去了

凌晨一点&#xff0c;城中村的出租屋里&#xff0c;只有电脑屏幕的蓝光映着小李的脸。作为一名自由后端开发者&#xff0c;他不用受公司制度约束&#xff0c;日常接些接口开发、bug修复的散活&#xff0c;大把空闲时间都耗在了钻研技术上——而压测各类接口&#xff0c;成了他藏…

作者头像 李华
网站建设 2026/6/26 8:00:01

项目的逻辑和流程

项目的逻辑和流程 在互联网项目的推进过程中&#xff0c;清晰的逻辑框架和规范的执行流程是保障项目稳定落地的核心。无论是小型工具开发还是大型系统搭建&#xff0c;都离不开“从无到有、从测试到上线”的全流程管控。 一、项目核心逻辑阶段核心目标关键动作参与角色交付成果…

作者头像 李华
网站建设 2026/7/1 4:57:14

招聘外包口碑品牌榜前10名测评+选型全套指南!

“旺季急招50人&#xff0c;外包承诺3天到岗&#xff0c;结果一周才凑20人&#xff0c;一半还不会用系统”“花大价钱找外包&#xff0c;招来的人连基础操作都不会&#xff0c;直接亏了几十万”……做HR的谁没在招聘外包上踩过坑&#xff1f;现在招聘外包市场规模超3000亿&…

作者头像 李华