【特种设备开发中遇到的各种BUG】
增加导入按钮后,页面不显示
(有可能没有引入JS
)
import { getToken } from ‘@/utils/auth’
验收填报后,跳转到登录页面
设备填报后,deptId = 0
来看代码逻辑
specInspect.getInspectMan()
获取的是填报人的真实姓名,并不是username,工号才是username
因此这里获取用户所属部门的方法应该改为:
userMapper.selectUserByUserName(specInspect.getJobNumber());
推送人列表不全
测试数据里应该是2个人,但是只显示了一个人
这个sp就是specPush对象,它在BUG3里没有的deptId,因此只出现了一个推送人。
所以说,这是连环BUG,解决一个,第二个也会跟着解决
访问提示 401 Unauthorized
、可以看下前端页面的延迟填报按钮对应的方法。
// 延迟填报
submitDelayInspect(){
// 封装参数
const data = {
id:this.equipmentId,
nextInspectionDate:this.form.nextInspectionDate
};
// 提交
updateEquipment(data).then(response => {
this.msgSuccess("延迟成功");
this.$router.push({ path: "/mobile/equipment/equipment-success-page"})
});
},
// 修改特种设备
export function updateEquipment(data) {
return request({
url: '/equipment',
method: 'put',
data: data
})
}
可以看到后台java代码上面,有个@Permission(level = ResourceLevel.SITE, permissionLogin = true)
,这个注解的作用是 如果没有获取token,则允许用户进行登录
因为在手机端填报,是无需登录的,因此应该改为:@Permission(permissionPublic = true)
像这样的BUG,401未鉴权,大多都是因为(注解不对
)这个原因导致的。
403 forbidden
这个BUG出现有2个原因。
- 没有加
@Permission(permissionPublic = true)
。 - 加了,但是没有刷新权限。
如果还没有解决,可能是因为put请求和post请求不一样(可以把put改成post,有可能稀里糊涂通过)