功能管理
接口设计
设计准则
#c 设计准则
为了满足以下需求:
- 不同协议下的调用效果一致
- 准确告知调用结果
- 能够查询调用状态
#c 数据结构设计
所以就不给接口设计路由, 一切操作都通过同一个接口进行, 通过对应的参数来进行对应的区分
为了能够在不同的协议上获取到相同效果,还需要一个调用id,用于区分是那一次调用
因为调用接口是需要有参数的, 所以应该包含一个params字段,用于存储参数
同时数据应该包含一个字段用于区分是响应, 还是调用, 还是通知
通知字段用于不同端之间进行主动触发
#d 结构体设计
使用json进行数据传递
字段名 |
描述 |
可选值 |
type |
类型, 用于区分是响应, 还是调用, 还是通知 |
req, res, notify |
action |
执行的什么操作 |
|
callId |
调用id,用于区分是那一次调用 |
|
params |
参数, 使用传递参数 |
|
code |
返回值 |
|
msg |
描述文字 |
|
桌面小组件管理功能
桌面编辑
- 组件更改
type: req
action: magnet_edit
params: 修改的组件信息
- 移除组件
图像管理功能
功能设计
- 图像浏览
浏览分类好后的图像库, 或者直接浏览指定目录下的图像. 可区分文件类型
- 图像对比
在图片库中选择两张图片, 进行对比 .
- 图片库分享
可以将图像库分享给其他人, 让其他人可以浏览你的图像库, 也可以标记图片, 分享者能够查看对应的图片列表
- 图像筛选
图片筛选完成后将指定图片直接移动图像到筛选完后的文件夹
- 图像分类
图片可以直接移动至对应的分类文件夹, 也可以添加标签
动态相册编辑
图片相册可以被动态变化
入口方式
桌面小组件直接进入
下方滚动条进入
音乐播放器
功能设计
- 目录扫描
- 扫描配置创建
- 编辑
- 删除
- 检索
- 实际扫描目录
- 展示扫描结果
- 歌曲喜欢
- 歌单创建
- 创建/编辑/删除
- 检索歌单
- 添加歌曲到歌单
- 移除歌曲
- 播放音频
- 获取播放列表
- 播放控制 (播放, 暂停, 停止, 上一曲, 下一曲)
- 播放进度控制 (播放进度, 播放速度, 音量)
- 播放位置, 为了控制
扫描逻辑设计
- 扫描音频文件时,在对应目录下创建扫描文件.
其中记录文件的名称, 以及最后修改时间.
- 每次开始扫描都先检查其中的内容