当前课程知识点:软件开发实训--动态网站开发 > 3 接口设计 > 3.3菜单接口设计 > 3.3.1菜单接口设计
同学
你好
欢迎回到软件开发实训课堂
前面咱们把网站的配置信息的接口设计做了
一个简单的介绍
那么这节课咱们再来看一看
导航菜单的接口设计
实际上现在的网站在设计接口时
往往使用的都是http协议的接口
比如说咱们的常用的微信公众号小程序等等
他们的接口都使用的是HTV协议
而他们所接收的或者是返回的数据
要么是X mail格式的
要么是阶层格式
而我们在前面已经约定好了
所有的数据都采用JSON格式
导航菜单也不例外
那么导航菜单的接口涉及哪些内容呢
还是一样
第一个是选择采用哪一种方式来请求
是get方式还是post方式
Get方式
对于信息的隐藏
这样的安全性可以说不是很好
但是post他提交数据时信息可以隐藏
那么你就要考虑当你请求菜单时发送的消息
是否是需要隐藏的
是否隐秘性比较高
而从我们设计网站的角度来看
导航菜单再去服务器请求时发给服务器的信息
没有什么隐藏性
比较高的要求
那么这个时候咱们就可以选择简单的get请求
就可以了
然后就是我们请求的路径在前面我们曾经约定过
说对于菜单来讲
我们使用的关键字是menu
而现在我们就将他的请求路径设为menu
就可以了
只要我向后台发送menu这样的请求
那么我就可以得到我需要的导航菜单
但是有的网站它不止一个导航
怎么办呢
你要注意在设计的时候可以增加另外一个信息给他
也就是说在路径这里加上一个比如说菜单的
关键字
主菜单我们可以加一个primery或者
而二级菜单我们可以加一个second的等等这样
的关键字来表述我们请求的菜单
是哪一个菜单
所以在设计的时候也要考虑进去
看你有几个导航菜单需要去请求
还有我们返回的格式依然是JSON格式
这个格式你一定要注意
和前面不同的是
它是中括号开头
还记得咱们在JavaScript里讲过
中括号表示的是什么吗
它实际上就是一个数组
既然是数组
说明它里边的每一个元素都是独立的
那么再看第二个符号
是一个花括号的开始
表明它的元素是一个对象
再看它的对象有哪些东西
第一个MID是编号
第二个是name
是菜单的名称
这两个信息其实已经能够唯一地标识菜单了
但是对于菜单来讲
往往它需要一个链接的地址
我点击一个菜单
他就应该给我导航到我需要的位置去
所以我们需要给它设计一个链接的地址
这样我们能够使得在生成菜单时
很容易的去创建目标地址
那么有时候菜单它会有子菜单
比如说我们用到的word等等这样的
windows软件
当我们打开菜单时
他不止一级
有的甚至两级三级的菜单出现
这个时候我们就需要提供一个子菜单的选项
那么这个子菜单选项里边
你看一下
它依然是中括号大括号
它的数据实际上和主菜单一样
有菜单的编号
菜单的名称以及目标地址
每一个数组的元素都是对象
所以这样主菜单和子菜单之间就形成了统一
虽然它是子菜单
可是它的内容是一样的
这给我们程序统一的去生成我们的导航
提供了非常好的一种方式
那么有了这样的格式
你就可以去生成它了
而不是一个一个的去手写
通过程序来生成菜单
这里边你要注意主菜单子菜单之间的关系
我们通常情况下把主菜单放在导航条上
也就是我们所说的菜单条
那么菜单条上放的是菜单
也就是我们说的主菜单
然后子菜单在哪里
当我们点击主菜单时显示子菜单
或者是我们有两层时
点击某个子菜单
依然能够显示它的子菜单
这样一层一层的叠加或者叫嵌套
那么在生成的时候
你就要想一想
用哪些算法呢
在这个设计里你依然需要去考虑
那么你可以考虑比如说用递归的算法来实现他
这样在后期你就有了明确的实现方向
这也就是我们为什么把主菜单的相关字段与
子菜单的相关字段设计成相同的一个非常重要的原因
我们实现的时候可以用我们的递归算法来实现它
好
这就是什么
关于菜单
我们的导航
接口的设计
对于其他的导航
你也可以参照这个方式来进行设计
但不管是什么样的导航形式
它的结构形式始终是不变的
要记住
好
这节课我们就讲这么多内容
下一节课
再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试