java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > JeecgBoot代码生成器自定义请求接口

JeecgBoot代码生成器自定义请求接口实例

作者:一个比蒙牛还猛的男人.

文章介绍了如何在使用代码生成器生成的页面中添加启用/停用功能,通过修改List.vue页面并添加必要的请求头token来解决身份认证失败的问题,同时,还讲述了如何在菜单管理、角色管理中进行权限配置,以确保按钮功能生效

按钮效果图展示

想要实现一个在使用代码生成器生成的页面,在Table表格实现启用/停用来回切换

代码生成器的原生表单

JeecgBoot这款框架对新手十分不友好 想看代码得一个一个去细找。(学艺不精)

这是我经过许久研究出来的我的按钮写在了使用代码生成器生成出来的页面进行添加的。

​请使用原生表单,至少这个看起来,不是那么复杂。

请求缺少的东西

正常写请求可以请求到,但是后台会返回给你身份认证失败,在F12仔细观察后会发现你自己写的少了一个请求标头的token他是关键。

这是一个点击启用、停用的操作栏link按钮就跟定时任务的页面启用停用一样,只是找不到相应的代码没法复制就研究了一个。

缺少X-Access-Token自己写的接口并没有token。导致前端显示401后端显示身份认证失败。

代码部分(关键的来啦)

代码生成器页面的List.vue的页面

   const API_ENDPOINT = '/jeecgboot/regulatory_conditions/supervision/edit' //请求编辑的修改状态开关接口


   async function updateRecordStatus(recordId: number, warningStatus: string): Promise<void> {
    const token = getToken(); //获取自身token,可以打印测试一下。
    const data = {id: recordId, warningStatus: warningStatus};
    const config = { headers: { 'X-Access-Token': `${token}`}};

    let str = JSON.stringify(data)
    console.log("asd:> " + str) //此处是来回检查写的 可以不写
    try {
      await axios.post(API_ENDPOINT,data,config);
    } catch (error) {
      console.error('错误信息: ', error);
    }
   }

   async function toggleStatus(record: {id: number, warningStatus: string}, isEnabled: boolean): Promise<void> {
    const newStatus = isEnabled ? 'Y' : 'N';
    
    if (record.warningStatus !== newStatus){
      try {
        await updateRecordStatus(record.id, newStatus);

        record.warningStatus = newStatus;
      } catch (error) {
        console.log('失败记录: ',error);
      }
    }
   }

   function getTableAction(record: {id: number, warningStatus: string}) {
    const isDisabled = record.warningStatus === 'Y';
    return [
    {
        label: isDisabled ? '停用' : '启用',
        onClick: ()=> toggleStatus(record, !isDisabled).catch(error => console.error('错误: ', error)),
        auth: 'regulatory_conditions:supervision:editEnable' //权限
      }
    ];
  }

当然有前端代码就有后端代码必须全乎

	 //其实就是正常写接口对应上就行
	 @RequiresPermissions("regulatory_conditions:supervision:editEnable") //权限
	 @RequestMapping(value = "/editEnable", method = {RequestMethod.PUT,RequestMethod.POST})
	 @ApiOperation(value = "启动定时任务")
	 public Result<Object> startJob(@RequestBody Supervision supervision) throws SchedulerException {
//		 System.out.println("测试>>>>>>>>>>>>>>>>>>>>---------------------");
		 jobService.EnableTask(supervision);
		 return Result.ok("启动定时任务成功");
	 }

JeecgBoot其他配置

这些配置完后,只是可以请求了,还有还有一些其他的潜在危险。

找到菜单管理,以及你的按钮页面添加下级。

按钮/权限就是名称随便填。

这个添加完后在找到角色管理给你的用户进行授权

然后就去查看你的按钮是否生效,按钮不出现退出系统重新登录,记得授权按钮关掉看是否显示如果不显示就证明生效了。

数据字典也是非常有用的东西可以多多查看

至此所有东西就完成了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文