Skip to content

功能模块的设计 #3

Description

@luoyunchong

功能模块的设计

基础权限模块

  • 用户信息:邮件、用户名(唯一)、昵称、头像、分组、是否激活、手机号、是否是Admin、个性签名
    • 注册/登录
    • 上传头像
    • 修改密码
    • 用户基本信息修改
    • 用户增删改,配置分组
  • 绑定第三方账号
    • GitHub登录
    • QQ 登录
    • Gitee登录
  • 分组信息:是否静态分组(无法删除,无法修改分组编码)、名称可以修改
    • 分组增删改
    • 组别配置权限
  • 文件管理
    • 本地文件上传
    • 七牛云存储
    • 文件去重,秒传
  • 系统日志:请求方法、路径、http返回码、时间、用户昵称、用户id、访问哪个权限、 日志信息
    • 记录系统请求的日志
    • 异常日志
  • 设置管理:name(键),value(值),provider_name(提供名),provider_key(提供者值)
    • 设置新增修改删除
    • 所有设置

比如存某用户选择的是markdown还是富文本。

name="Article.Editor",
value="markdown" 或 "富文本",
provider_name为"User",
provider_key为用户Id

或存储七牛云的某一个配置

name="Qiniu.AK",
value="asfadsfadf23rft66S4XM2GIK7FGmj7czuYkcAyNGDAc" ,
provider_name为"Qiniu"或自己定义的字符串
provider_key为空

cms 管理员维护模块

  • 标签管理:名称、图片,是否启用/禁用,排序、文章数量、用户关注数量。
    • 标签增删改
    • 标签列表,禁用
  • 技术频道:封面图、名称、是否启用/禁用、排序、编码、备注描述、下属标签.一个技术频道对应多个标签
    • 技术频道增删改
    • 列表、禁用
  • 随笔管理:
    • 审核随笔/拉黑
  • 评论管理
    • 后台审核通过/拉黑
    • 管理员删除评论
  • 字典管理
    • 字典类别管理
    • 字典管理:如随笔类型(原创、转载、翻译)

cms 用户端模块

  • 技术频道

    • 首页展示技术频道
    • 选择技术频道后,可再根据标签查询文章
  • 分类专栏管理:发布随笔时可选择单个分类。

    • 分类增删改(随笔数量、图片、名称、排序)
    • 分类列表,仅查看、编辑自己创建的分类专栏
  • 标签:统计每个标签下多少个文章、多少人关注

    • 标签列表
    • 无限加载
    • 最新/最热 根据标签名称模糊查询
    • 已关注的标签
    • 热门标签
  • 随笔

    • 支持markdown,增删改(仅自己的随笔),修正分类专栏中的随笔数量
    • 支持富文本编辑随笔
    • 列表无限加载,按标签查询随笔
    • 点赞随笔
    • 随笔详情页
      • 支持目录导航(滚动时,固定至顶部位置),展示字数统计、预计阅读时长;
      • 作者介绍:头像,昵称,签名,随笔数;
      • 展示文章类型:原创、转载、翻译
      • 作者最近的三个文章
      • 推荐文章
  • 评论

    • 用户关闭评论时,无法对随笔进行评论
    • 评论随笔(内容支持超链接、emoji)
    • 删除自己的评论
    • 点赞评论
    • 回复评论
  • 关注

    • 关注/取消关注用户
    • 关注/取消关注标签
  • 个人主页

    • 随笔
      • 用户专栏分类展示
      • 最新发布的随笔
    • 关注
      • 关注的人
      • 粉丝
      • 关注的标签
  • 设置

    • 个人主页设置
      • 个人资料更新
    • 安全设置
      • 密码修改:快速登录的账号,初次设置时可留空
    • 博客设置
      • 编辑器设置,(可切换markdown/富文本)
    • 代码风格配置(tango、native、monokai、github、solarized-light、vs)
  • 消息

    • 评论:点赞评论、评论随笔、回复评论
    • 喜欢和赞:点赞随笔、点赞评论
    • 关注,谁谁关注了你

脑图分享

http://naotu.baidu.com/file/6532431a2e1f0c37c93c5ffd1dd5b49c?token=87690a9bc64fbae1

分组

分为三种

id  name        info
1	Admin	    系统管理员
2	CmsAdmin	内容管理员
3	User	    普通用户

审计日志

大多数表存在如下8个字段,用于记录行的变化状态,is_deleted为软删除,执行删除操作时,将其状态置为true,默认实体类继承 FullAduitEntity 即可拥有以下8个字段。该设计参考ABP中的实现。FullAduitEntity为泛型,默认id为long类型,FullAduitEntity<Guid>,即可改变主键类型,默认LinUser表主键long,保持create_user_id,delete_user_id,update_user_id都与LinUser的主键相同


id	                bigint
create_user_id  	bigint
create_time	        datetime
is_deleted	        bit
delete_user_id  	bigint
delete_time	        datetime
update_user_id	    bigint
update_time	        datetime


lin-cms 开源地址分享

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions