阅读 41

Project(5)-koa2-API

作为完整想项目搭建肯定少不了接口的支持,这里前端的基础页面都已经完成,现在对接口进行设计

接口需求

  • 实现登录功能
  • 实现权限功能

设计思路

|-用户表(user)
    |-字段包含:id主键、用户名、密码、创建时间、更新时间、签名、角色、预留字段
|-角色表(role)
    |-字段包含:id主键、角色名、预留字段
|-权限表(priv)
    |-字段包含:id主键、权限名称、权限值、权限类型、预留字段
|-用户角色关联表(userRoles)
    |-字段包含:userId,roleId——————外键关联
|-角色权限关联表(rolePrivs)
    |-字段包含:privId,roleId——————外键关联
复制代码

接口思路

|-登录接口:验证用户名和密码,返回签名token,这里会给token一个时限,通过更新时间去比较
|-查询权限接口:展现权限列表
|-添加角色接口:添加角色且可配置权限
|-修改角色接口:修改角色属性
|-删除角色接口:删除指定角色,这里做批量删除
|-查询角色接口:模糊查询所有角色属性
|-添加用户接口:添加用户基本信息,且可以赋予角色
|-删除用户接口:删除指定用户,这里做批量删除
|-修改用户接口:修改指定用户属性
|-查询用户列表接口:模糊查询用户信息列表
|-查询用户详情接口:精确查询单个用户所有属性(基本属性,角色权限)
复制代码

findAndCountAll-分页查询

与findAll比较---多出字段 offset:过滤条目数,limit:查询条目数

用法展示

    await module.findAndCountAll({
        where: {
            subject:{
                [Op.like]:'%' +subject + '%'
            },
            type:{
                [Op.like]:'%' +type + '%'
            },
            category:{
                [Op.like]:'%' +category + '%'
            },
            score:{
                [Op.like]:'%' +score + '%'
            }
        },
        offset,
        limit
    });
复制代码

了解更多sequelize点击这里

文章分类
后端
文章标签