近期正在学习Vue,计划整理一个Vue系列教程。在项目设计中,用户登录后会将token存入store,后续每次请求均需在请求头中携带token进行身份验证,若响应结果表明请求出错,则直接抛出对应的错误提示信息。本文将分享该方案的实现过程与心得体会,希望能为有需要的开发者提供参考和帮助。
1、 由于请求数量较多,若每个请求都单独编写写入token和处理错误的逻辑,代码会显得冗余且不够优雅。因此,我将axios封装在request.js文件中统一处理。同时,在api目录下的user.js中集中管理与用户相关的所有接口调用,整体结构清晰,便于维护,目录布局所示。
2、 所示为request.js文件。该文件中使用了ElementUI的Message组件以及Vuex的store状态管理。在Vue组件实例中,可通过this.\$store直接访问store,但在外部的.js文件中,由于不在Vue实例的作用域内,无法直接调用this相关属性。因此,需要像在main.js中那样,先将store显式导入,才能在该文件中正常使用store中的内容,确保状态管理功能正常运行。
3、 user.js 的运行需依赖 request.js,二者存在调用关系。
4、 测试失败时将直接通过消息提示显示错误信息。
