# xinput **Repository Path**: yanjunhua/xinput ## Basic Information - **Project Name**: xinput - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-17 - **Last Updated**: 2025-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmartInput 智能输入系统 一个完整的智能语音输入系统,包含后端API、桌面管理端和手机端应用。 ## 🚀 系统架构 ### 后端服务 (Backend) - **技术栈**: Spring Boot + Kotlin + JPA + SQLite - **端口**: 8080 - **功能**: 用户认证、设备管理、语音识别、文字同步、实时通信 ### 桌面管理端 (Frontend) - **技术栈**: React + TypeScript + Vite + Tailwind CSS - **端口**: 5173 - **功能**: 系统管理、设备监控、数据统计、配置管理 ### 手机端应用 (Mobile App) - **技术栈**: React + TypeScript + Vite + PWA - **端口**: 3001 - **功能**: 语音输入、实时同步、历史记录 ## 📱 新增手机端模块 ### 主要特性 - **🎤 语音识别**: 使用Web Speech API进行实时语音识别 - **📱 移动端优化**: 专为手机屏幕设计的触摸友好界面 - **🔄 实时同步**: 语音识别结果实时同步到其他设备 - **📝 历史记录**: 查看和管理语音识别历史 - **🔐 用户认证**: 支持手机号登录和注册 - **📡 设备管理**: 自动设备注册和状态管理 - **📱 PWA支持**: 可安装为原生应用 ### 移动端优化 - 大按钮设计,适合手指操作 - 滑动切换标签页 - 触摸反馈和动画效果 - 状态栏显示连接状态 - 响应式设计,适配各种手机屏幕 ## 🛠️ 快速开始 ### 统一管理脚本 我们提供了一个统一的管理脚本 `smartinput.sh`,可以管理所有服务: ```bash # 启动所有服务 ./smartinput.sh start # 停止所有服务 ./smartinput.sh stop # 查看所有服务状态 ./smartinput.sh status # 查看所有日志 ./smartinput.sh logs ``` ### 详细用法 ```bash # 服务管理 ./smartinput.sh [服务] [命令] # 服务选项 all - 所有服务 (后端+前端+手机端) backend - 后端服务 frontend - 前端服务 mobile - 手机端服务 # 命令选项 start - 启动服务 stop - 停止服务 restart - 重启服务 status - 查看状态 logs - 查看日志 test - 测试功能 help - 显示帮助 ``` ### 使用示例 ```bash # 快捷命令(默认操作所有服务) ./smartinput.sh start # 启动所有服务 ./smartinput.sh stop # 停止所有服务 ./smartinput.sh status # 查看所有服务状态 ./smartinput.sh logs # 查看所有日志 # 单独管理服务 ./smartinput.sh backend start # 启动后端 ./smartinput.sh mobile start # 启动手机端 ./smartinput.sh frontend logs # 查看前端日志 ``` ### 环境要求 - Java 21+ - Node.js 16+ - Maven 3.6+ ## 📱 手机端使用说明 ### 首次使用 1. 启动手机端:`./smartinput.sh mobile start` 2. 在手机浏览器中访问 `http://localhost:3001` 3. 注册或登录账号 4. 设置设备名称,完成设备注册 5. 开始使用语音输入功能 ### 语音输入 1. 点击大录音按钮开始录音 2. 说话时查看实时识别结果 3. 录音完成后点击"保存并同步" 4. 文字将自动同步到其他设备 ### 安装为应用 1. 在手机浏览器中访问应用 2. 点击"添加到主屏幕" 3. 应用将安装为原生应用 ## 🔧 开发指南 ### 项目结构 ``` smartinput3/ ├── backend/ # 后端服务 ├── frontend/ # 桌面管理端 ├── mobile-app/ # 手机端应用 ├── browser-extension/ # 浏览器扩展 ├── logs/ # 日志文件 ├── smartinput.sh # 统一管理脚本 ├── deploy.sh # 部署脚本 └── README.md # 项目说明 ``` ### API文档 - 后端API: http://localhost:8080 - 桌面管理端: http://localhost:5173 - 手机端应用: http://localhost:3001 ## 🧪 测试 ### 运行测试 ```bash # 测试所有服务 ./smartinput.sh test # 测试特定服务 ./smartinput.sh backend test ./smartinput.sh mobile test ``` ## 📊 功能对比 | 功能 | 桌面管理端 | 手机端应用 | |------|------------|------------| | 用户认证 | ✅ | ✅ | | 设备管理 | ✅ | ✅ | | 语音识别 | ✅ | ✅ | | 实时同步 | ✅ | ✅ | | 历史记录 | ✅ | ✅ | | 系统监控 | ✅ | ❌ | | 数据统计 | ✅ | ❌ | | 配置管理 | ✅ | ❌ | | PWA支持 | ❌ | ✅ | | 移动端优化 | ❌ | ✅ | ## 🔒 安全特性 - JWT Token认证 - 设备指纹验证 - HTTPS通信(生产环境) - 本地数据加密存储 ## 🔒 HTTPS 支持 系统已自动生成自签名证书,所有服务均支持HTTPS安全访问。 - 证书目录:`certs/` - 后端HTTPS端口:`https://localhost:8443` - 前端HTTPS端口:`https://localhost:5173` - 手机端HTTPS端口:`https://localhost:3001` ### 浏览器信任自签名证书 1. 首次访问HTTPS地址时,浏览器会提示“不受信任”或“连接不安全”。 2. 选择“高级”→“继续前往(不安全)”即可。 3. 如需彻底信任,可将`certs/smartinput.crt`导入系统或浏览器信任证书列表。 ### 常见问题 - **为什么要用HTTPS?** - 提高数据安全性,防止中间人攻击。 - **如何更换为正式证书?** - 替换`certs/`目录下的证书文件,并在配置中指定新证书路径和密码。 - **移动端访问HTTPS?** - 手机浏览器同样支持HTTPS,首次访问需信任自签名证书。 ## 📄 许可证 MIT License ## 📞 支持 如有问题,请联系开发团队。