# ukui interface

## API结构
初步计划API结构如下所示：
```
ukui interface结构
├── 操作系统(OS)
│   ├── 操作系统信息
│   │   ├── 版本：大版本号、小版本号、补丁集编号、build日期
│   │   ├── 授权：授权用户、授权时间
│   │   └── 桌面环境：UKUI、DDE、GNOME之类
│   ├── 文件浏览历史记录
│   │   ├── 是否记录文件打开历史
│   │   └── 开始菜单是否记录常用软件
│   ├── 备份还原
│   ├── 磁盘、分区管理
│   │   └── 分区管理器
│   └── 其他系统管理工具
│       ├── 系统服务：获取服务列表，禁用、启用服务，运行、停止、重启服务等
│       └── 打开其他各种图形化系统管理工具
├── 用户账户(Accounts)
│   ├── 用户(User)
│   │   └── 添加、修改、删除用户，包括以下信息
│   │       ├── 用户名
│   │       ├── 密码
│   │       ├── 用户组（账户类型）
│   │       ├── 自动登录
│   │       └── 语言
│   └── 用户组(Group)
│       └── 添加、修改、删除用户组，包括以下信息
│           ├── 组名
│           └── 组用户
├── 个性化(Personal)
│   ├── 个性化(Personal)
│   │   ├── 主题
│   │   ├── 屏幕保护程序
│   │   ├── 桌面壁纸
│   │   └── 桌面图标大小
│   ├── 显示(Display)
│   │   ├── 分辨率
│   │   ├── 多屏设置
│   │   └── 屏幕方向
│   └── 字体设置(Fonts)
│       ├── 添加删除字体
│       └── 设置字体大小
├── 时间(Date)
│   ├── 日期(Date)和时间(Time)
│   │   ├── 设置日期、时间
│   │   ├── 系统时间显示格式
│   │   ├── 禁用/启用时间同步
│   │   └── 时间同步服务器设置
│   ├── 语言(Language)
│   │   └── 设置语言
│   │   └── 设置输入法
│   └── 区域(Region)
│       └── 设置时区
├── 语言(Language)
│   ├── 设置语言
│   └── 输入法(Input)
├── 安全管理(Security)
│   ├── 安全概况(SecurityInfo)
│   │   ├── 获取安全等级及状态
│   │   ├── 更改安全等级
│   │   └── 安全策略设置
│   └── 防火墙(Firewall)
│       ├── 防火墙状态
│       ├── 防火墙禁用/启用
│       └── 防火墙规则设置
├── 软件管理(Software)
│   └── 默认应用程序(DefaultPrograms)
│       ├── 设置默认浏览器
│       ├── 设置默认文档编辑器
│       └── 设置默认图片查看器
├── 系统更新(Updates)
│   ├── 包版本
│   ├── 系统升级
│   ├── 包升级
│   └── 软件源(SoftwareSources)
│       ├── 添加、修改、移除、更新系统软件源
│       └── 添加、修改、移除、更新第三方软件源
├── 网络管理(Network)
│   ├── 网络设置(Network)
│   │   ├── 禁用启用网络接口；
│   │   ├── 设置以太网网络接口：IP、子网掩码、网关、DNS
│   │   └── 设置WiFi接口：SSID、密码、IP、子网掩码、网关、DNS
│   ├── 网络状态(Network)
│   │   ├── 接口
│   │   ├── MAC地址
│   │   ├── 驱动
│   │   ├── 链接速度
│   │   ├── IP地址、子网掩码、广播地址、网关、DNS
│   │   ├── 上传下载速率
│   │   ├── 总计上传下载数据包
│   │   ├── 总计上传下载数据量
│   │   └── 错误、丢弃、过载数据包数量
│   └── 网络共享(NetworkSharing)
│       └── samba、NFS之类服务
├── 硬件管理(Hardware)
│   ├── 硬件信息(HardwareInfo)
│   │   ├── CPU：厂商、体系结构、型号、主频
│   │   ├── 内存：厂商、内存数量、单根内存大小、内存总大小
│   │   ├── 磁盘：厂商、磁盘数量、磁盘大小
│   │   ├── 主板：厂商、主板型号
│   │   ├── 显卡：厂商、显卡型号
│   │   ├── 以太网：厂商、型号、MAC地址
│   │   ├── WiFi：厂商、型号、MAC地址
│   │   └── 蓝牙：厂商、型号、MAC地址
│   ├── 电源管理(Power)
│   │   ├── 电池设置：是否在菜单栏显示电池状态
│   │   ├── 关闭显示器时间
│   │   ├── 唤醒是否需要输入密码
│   │   └── 睡眠时间
│   ├── 打印机(Printers)
│   │   ├── 添加、删除打印机
│   │   └── 打印机测试
│   ├── 鼠标(Mouse)和触摸板(Touchpad)
│   │   ├── 左右手习惯
│   │   ├── 双击速度
│   │   ├── 指针图标
│   │   ├── 指针移动速度
│   │   ├── 滚轮滚动行数
│   │   └── 触摸板行为（这项可能需要与硬件匹配）
│   ├── 键盘(Keyboard)
│   │   ├── 打开/关闭按住某一键时重复该键：重复延时、重复速度
│   │   ├── 打开/关闭光标闪烁：光标闪烁速度
│   │   └── 快捷键：获取系统预设快捷键、设置自定义快捷键、删除自定义快捷键
│   ├── 声音管理(Sound)
│   │   ├── 输出管理：音量大小、静音、左右声道、输出源选择
│   │   ├── 输入管理：音量大小、静音、输出源选择
│   │   ├── 声音效果：警告音量、警告静音、选择警告声音
│   │   ├── 应用程序：应用音量设置
│   │   └── 菜单栏是否显示音量
│   ├── 显示器设置(Display)
│   │   ├── 分辨率
│   │   ├── 多屏设置
│   │   └── 屏幕方向
│   └── 蓝牙(Bluetooth)
│       ├── 打开关闭蓝牙
│       ├── 蓝牙设备列表
│       └── 菜单栏显示蓝牙状态
└── 其他功能
```
