前端发生的问题

问题:import zhCn from 'element-plus/dist/locale/zh-cn.mjs' 找不到文件

解决办法

于vite-env.d.ts声明该模块存在且类型安全,避免编译报错

Declare module ‘element-plus/dist/locale/zh-cn.mjs’

替代方案:使用带类型提示的语言包路径

Import zhCn from ‘element-plus/es/locale/lang/zh-cn’

此方式无需手动声明模块,且支持代码提示

问题:tsconfig.app.json中extends字段引用路径无效导致运行失败

解决办法:可以直接删除extends字段或替换为项目本地配置

问题:打包后的静态资源无法服务器访问

解决办法:在vite.config.ts文件中配置base:’./’,该配置指定了项目的静态资源加载路径,

指定后项目部署后会在当前文件夹下寻找assets文件夹获取静态资源

问题:页面始终卡在登录界面无法跳转

解决办法:app.vue中设置了超时点击事件,若没有重置登录时间,会导致每次点击都判定

是超时,则每次都会跳转到登录界面,故在点击登录和修改密码之前重置登录时间

django后端问题

问题:对用户分组后无效,用户正常实现对分组外表的增删改查,对登陆用户调用权限验证发现用户所属组为空,所属权限也全为空

分析:经过排查,发现所有用户type都为<class 'django.contrib.auth.models.AnonymousUser'>,均为匿名用户,原因是前端请求拦截器加的jwt验证请求头丢失,导致后续访问都无jwt验证,判定所有用户为匿名用户

解决办法:更改前端拦截器中加请求头的代码为config.headers.Authorization = 'Bearer '+localStorage.getItem('Authorization');确保请求头包含token

问题:发现切换登陆用户无效,用户正常使用已禁用的权限,实际用户均为admin用户

分析:在login.vue登陆时,会获取本地localStorage存储的Authorization即jwt token和上次更新token的时间,判定该时间超时则重新刷新token,未超时则继续使用该token进行后续业务逻辑使用,而切换用户后如果本地token未超时,则继续使用,该token为上一用户的token,导致django验证该用户为上一用户,会以上一用户的所有权限和组进行操作

解决办法:每次登陆使用新的token存储在本地,退出登陆时清空本地token

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐