菜单配置
菜单有两种,一种是前台页面(比如用户不需要登录,既可以查看的页面),一种是后台管理页面(生成后台管理目录树)。但是后台和前台的菜单也是通用的。
前台页面的URL格式如下:
/<model_name>.html
/<model_name>/dd-1/cc-gg.html
model_name
是数字和字母、下划线的组合,不能包含 -
。
其中dd =1 ,cc = gg 是传参方式。为了URL美观,不建议使用 ?aa=1&cc=gg
传参方式.
后台的URL格式如下:
# 自定义页面的配置,模板调用前端模板进行渲染
/<model_name>/page.html
# 自定义页面的配置,single指的是不带菜单的后台页面
# 这种模式渲染的页面和/<model_name>.html渲染结果一样
/<model_name>/page/single.html
# 列表模式:展示列表信息
/<model_name>/list.html
# 详细模式:展示单条数据,如果id不是空的,则为编辑模式,否则是新增模式
/<model_name>/info.html
# 详细模式:数据编辑模式
/<model_name>/info/data-8.html
# 搜索模式,数据展示结果只能查看,没有其他菜单
/<model_name>/search.html
# 单条数据编辑模式 一般用于内嵌到其他应用中,例如弹出框中的编辑菜单
/<model_name>/info/single/data-9.html
# 正则匹配URL为
^/[\w]+/(list|info|search|page|tree)(/single)?(/[\w]+-[\w]+)*.html$
注意:由于历史问题,在URL传递主键的时候,统一使用data-xx进行传递,不可使用id进行传值,避免带来一系列的麻烦。
# 前端
/news/data-1.html
# 后端
/manage/info/data-1.html
# 后端单独页面
/manage/info/single/data-1.html
以上关键词 single
和 list
info
search
page
可以随意搭配,不固定以上几种。
以上介绍了Hardmall的URL匹配模式,下面是对菜单表的详细字段介绍:
英文名称 | 中文名称 | 值域 | 说明 |
---|---|---|---|
id | ID主键 | ||
cname | 网页的中文名称 | 前端渲染使用 | |
ename | model_name | 主要用于权限判断和数据合成 | |
turn_code | 顺序号 | 后台渲染菜单的先后顺序 | |
menu_type | 暂无意义 | ||
url | 后台渲染必填 | 用于生成目录树 | |
vue_tree_form | 暂无意义 | ||
tplname | 模板名称 | 为空后默认使用 <ename>.html 模板 | |
father_id | 父级菜单ID | 后台管理页面,一级目录设置为1,其他子目录设置为根目录的ID | |
icon | 后台管理菜单的图标 | 只有一级菜单图标设置管用,图标使用饿了么的图标表示 | |
role_list | 角色ID,多个用, 隔开 | 网页权限访问控制,对于用户表来说,每个用户都有一个唯一的角色ID,如果列表里面还有用户角色ID,则有权限访问。对于前端页面来说,为空表示所有人可以访问,对于后端页面来说,为空表示没有访问权限。所以后端需要明确规定角色的权限。 | |
vue_button_list | 列表页数据操作菜单 | 分为弹框菜单和href跳转菜。 弹框菜单示例:dialog:编辑:edit_url ;跳转菜单示例:编辑:edit_url 。其中编辑 是显示在前台的菜单名称, edit_url 指的是数据列中的字段值。如果接口中返回的字段为空,那么按钮就是灰色的,禁止点击。 | |
save_post_log | 是否自动保存提交的表单数据 | 一般用来保存 前端通过 post-form提交的数据,保存在save_post_log 表中,格式为json | |
vue_form_id | table_info 表中的主键 | 用来配置后台管理页面的显示字段、编辑字段等。前台页面可以不配置。 |