# 功能管理 ## 接口设计 ### 设计准则 #c 设计准则 为了满足以下需求: 1. 不同协议下的调用效果一致 2. 准确告知调用结果 3. 能够查询调用状态 #c 数据结构设计 所以就不给接口设计路由, 一切操作都通过同一个接口进行, 通过对应的参数来进行对应的区分 为了能够在不同的协议上获取到相同效果,还需要一个调用id,用于区分是那一次调用 因为调用接口是需要有参数的, 所以应该包含一个params字段,用于存储参数 同时数据应该包含一个字段用于区分是响应, 还是调用, 还是通知 通知字段用于不同端之间进行主动触发 #d 结构体设计 使用json进行数据传递 | 字段名 | 描述 | 可选值 | |--------|-------------------------|------------------| | type | 类型, 用于区分是响应, 还是调用, 还是通知 | req, res, notify | | action | 执行的什么操作 | | | callId | 调用id,用于区分是那一次调用 | | | params | 参数, 使用传递参数 | | | code | 返回值 | | | msg | 描述文字 | | ## 桌面小组件管理功能 ### 桌面编辑 1. 组件更改 type: req action: magnet_edit params: 修改的组件信息 2. 移除组件 ## 图像管理功能 ### 功能设计 1. 图像浏览 浏览分类好后的图像库, 或者直接浏览指定目录下的图像. 可区分文件类型 2. 图像对比 在图片库中选择两张图片, 进行对比 . 3. 图片库分享 可以将图像库分享给其他人, 让其他人可以浏览你的图像库, 也可以标记图片, 分享者能够查看对应的图片列表 4. 图像筛选 图片筛选完成后将指定图片直接移动图像到筛选完后的文件夹 5. 图像分类 图片可以直接移动至对应的分类文件夹, 也可以添加标签 6. 动态相册编辑 图片相册可以被动态变化 ### 入口方式 1. 桌面小组件直接进入 2. 下方滚动条进入