前言
登录后,我们来做一个列表页,对用户进行增删改查。调用第二节写好的restful服务来实现user表的CURD。Vben里面帮我们做好了一组系统管理的界面,包括账号管理,角色管理,菜单管理等,我们可以直接借用。不过里面的部门管理暂时不用了,后面如果要做SAAS平台的话,可以用起来。
一、springboot改动
- 加入了RoleController相关
- 引入了spring-boot-starter-validation 用于校验
- 更改了enabled字段为activated,这个有待会写篇番外
- 优化了全部捕捉异常
- sql中补充了一些权限,记得重启应用前,手动删除所有表
二、Vben改动
1.文件改动
主要涉及到 src/views/demo/system/account
中的相关页面和数据,以及 src/api/demo
中接口的改动
2. 核心知识点
也算对vben的学习,因为作者已经做了很多例子,我们直接复用就行了。这里建议大家直接下载完整版的来开发,不要用精简版。
接口调用
以修改账号接口为例
export const editAccount = (
id: string,
username: string,
role: number,
email: string,
nickname: string,
password: string,
) =>
defHttp.put(
{ url: Api.AccountList + '/' + id, params: { username, role, email, nickname, password } },
{ errorMessageMode: 'none' },
);
editAccount(
rowId.value,
values.username,
values.role,
values.email,
values.nickname,
values.password,
)
.then(() => {
createMessage.success(`2`);
})
.catch(() => {
createMessage.error('3');
})
.finally(() => {
console.log(values);
closeModal();
emit('success', {
isUpdate: unref(isUpdate),
values: { ...values, id: rowId.value },
});
});
自定义列表内容
头像和多个角色
<template v-if="column.key === 'avatar'">
<Avatar :size="60" :src="record.avatar" />
</template>
<template v-else-if="column.key === 'roles'">
<template v-for="item in record.roles" :key="item.name">
<Tag color="green">
{{ item.alias }}
</Tag>
</template>
</template>
三、看下效果
查询
新增
删除和修改类似,就不截图了。
总结
- 接下来对Vben的改动会越来越多,这样就代码链接会给到两个地址。 前后端需要同步跟进。
- 前端现在的技术框架不比后端简单,建议初学者还是多看看里面的例子,直接使用,效率会高很多。
问题
- 碰到的主要问题还是isXXX和mybatis有冲突的问题,最简单的解决方案就是把enabled字段为activated