综合项目(三):前端页面对接(Vue + Axios)
——一个老架构师的“别再用 alert() 调接口”的血泪忠告:在电科金仓支撑的学生管理系统里,裸调 API = 敏感信息泄露 + 用户体验崩坏 + 国产化验收翻车!
开场白:你的“学生管理页面”还在这么写?
看看你项目里的这些“灾难前端”:
// 场景1:敏感信息直接显示<div>身份证:{{student.id_card}}</div>// 身份证明文!等保一票否决!// 场景2:错误处理靠 alert()axios.post('/students',data).catch(err=>alert('出错了!'))// 用户看到 "Error 500"?// 场景3:无加载状态// 点击“保存” → 卡住3秒 → 用户狂点10次 → 创建10个重复学生!// 场景4:没做权限控制// 普通教师能看到“删除学生”按钮!结果是什么?
- 安全扫描高危漏洞(身份证/手机号明文渲染)
- 用户体验极差(无反馈 + 无防重)
- 数据不一致(重复提交)
- 国产化验收失败(没做国产浏览器适配)
这不是前端——这是给国产系统挖雷!
今天,咱们就用Vue 3 + Axios + Element Plus,手把手打造一套安全、流畅、可国产化的前端页面。
一、核心原则:前端三大铁律
铁律1:敏感信息绝不渲染(脱敏是底线!)
身份证、手机号 = 必须后端脱敏 或 前端掩码!
铁律2:用户操作必须有反馈(拒绝黑屏!)
加载中、成功、失败 = 必须明确提示!
铁律3:请求必须防重(拒绝重复提交!)
按钮点击后禁用 + Loading 状态!
💡关键认知:
在国产化教育系统,前端不是花瓶——是用户体验与安全的第一道防线!
了解 KES 企业级能力:https://kingbase.com.cn/product/details_549_476.html
二、环境准备:国产化前端栈
技术选型(信创适配)
| 技术 | 版本 | 国产化理由 |
|---|---|---|
| Vue | 3.4+ | 国产框架兼容性好 |
| Axios | 1.6+ | 支持拦截器 + 错误统一处理 |
| Element Plus | 2.3+ | 国产 UI 库(适配统信/UOS) |
| Vite | 5.0+ | 构建速度快,适配国产芯片 |
📌注意:
避免使用国外 CDN!所有依赖必须本地化(等保要求)。
三、Axios 封装:安全 + 统一错误处理
步骤1:创建 API 实例(带拦截器)
// api/index.jsimportaxiosfrom'axios'import{ElMessage,ElLoading}from'element-plus'// 创建 Axios 实例constapi=axios.create({baseURL:import.meta.env.VITE_API_BASE_URL,// 从 .env 读取timeout:10000,headers:{'Content-Type':'application/json'}})// 请求拦截器(添加 Loading + 防重)letloadingInstance=nullletrequestCount=0api.interceptors.request.use(config=>{// 显示全局 Loading(防重复点击)if(requestCount===0){loadingInstance=ElLoading.service({text:'处理中...',background:'rgba(0, 0, 0, 0.7)'})}requestCount++// 添加 Token(简化版)consttoken=localStorage.getItem('token')if(t