记录搭建自己的应用中心-需求看板搭建
记录搭建自己的应用中心-需求看板搭建
- 人员管理
- 新增用户
- 组织用户登录和操作
- 看板状态
- 看板
- 任务
- 通知
- 任务详情
人员管理
由于不是所有人都有应用管理权限,所以额外做了一套应用登录权限,做了一个新的组织人员表,一个登录账户下的所有应用人员共享。
admin账号为默认创建,不可用于登录,这里显示了,其实不该显示,对应的是主应用情况下,微服务引用的时候,账号的所有操作均为管理员操作。 目前这样设计的。
// 新增组织用户表
model OrganizationUser {id String @id @default(uuid())username Stringnickname Stringpassword String?email String?userStatus StringlastVisitedUrl String?reportedTasks Task[] @relation("ReportedTasks")handledTasks Task[] @relation("HandledTasks")operationLogs OperationLog[]User User @relation(fields: [userId], references: [userId])userId StringcreatedAt DateTime @default(now())updatedAt DateTime @updatedAtemailVerified Boolean @default(false)
}
新增用户
新增一个用户后,会向填入的邮箱发送一个验证链接。页面比较简单,逻辑为,当新增用户的时候,会生成一个uuid存在redis有效期10分钟,然后,链接携带该uuid,用户在授权页面,输入用户名,密码,会携带uuid,redis里面,uuid对应的有用户的信息,如果页面输入的和redis存的是一样的用户,则做认证处理。
组织用户登录和操作
额外做了一套应用登录授权,原先的应用管理登录的账户,默认为admin账户。其他用户需要登录子应用的直接访问链接加appId,如果不加appId则为管理员登录模式(扫码)对应的和管理中心的一致。
链接为 xxx/?appId=d40f0187-4fe2-4ba2-b230-e60013424510
登录成功后,默认为某个应用的看板管理。不可切换(管理员可看所有)。
做了额外的守卫,这里命名比较随意,BdGuard为新增的登录授权,下面是原先的,都能通过。并且都会在request里面加入用户信息,区别就是一个有idAdmin字段,一个没有。
来换取组织用户。
看板状态
目前做的比较简单,可以新增,删除,排序。
看板
目前开发的也比较简单,就是简单的拖拽切换状态。后面考虑增加快速检索。
看板状态变动,包括任务从待办变成进行中,也会有邮件通知,但是邮箱需要通过授权。
任务
可以在待办和进行中进行切换。
通知
任务待办进行中切换,或者状态切换,都会有邮件通知。
任务详情
记录了任务状态,其他用的胡评论,以及上传的附件。