# HzLamp_SJ **Repository Path**: xiaozh/hz-lamp_-sj ## Basic Information - **Project Name**: HzLamp_SJ - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-03 - **Last Updated**: 2026-01-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能灯光控制系统小程序

智能灯光控制系统

智能灯光控制系统小程序是一款高性能的灯光控制微信小程序,支持多种智能灯具设备的搜索、连接和控制功能。通过该小程序,用户可以实现灯光颜色、亮度的调节,设置定时任务,创建自定义灯光场景,以及设备编组管理等功能。 ## 主要功能 - **设备管理**:搜索、添加、删除和编辑设备 - **设备控制**:调节灯光RGBW通道、亮度、温度等参数 - **灯光模式**:支持手动模式和自动模式 - **定时任务**:设置灯光定时开关和场景切换 - **设备分组**:将多台设备加入同一分组,统一控制 - **高级曲线**:设置复杂的灯光渐变曲线 - **快捷场景**:预设多种灯光场景,一键切换 ## 技术特点 - **蓝牙通信**:稳定的BLE蓝牙通信,支持自动重连 - **本地存储**:采用分层存储架构,支持复杂数据管理 - **组件化开发**:高度组件化,便于扩展和维护 - **多设备支持**:可扩展的设备类型系统架构 - **自动化构建**:完善的开发、测试、构建流程 ## 快速开始 ### 开发环境准备 - 安装 [Node.js](https://nodejs.org/) (>=12.0.0) - 安装 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html) ### 安装与运行 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 使用微信开发者工具打开项目目录 ``` ### 构建生产版本 ```bash # 构建生产环境代码 npm run build ``` ## 项目结构 项目采用分层架构设计: ``` ├── pages/ # 页面文件 ├── components/ # 组件文件 ├── services/ # 服务层 ├── utils/ # 工具函数 ├── config/ # 配置文件 ├── src/ # 设备相关实现 └── assets/ # 静态资源 ``` 详细的项目结构和开发文档请参考 [开发文档](docs/README.md)。 ## 开发指南 参见 [开发指南](docs/guides/development.md) 了解详细的开发流程和规范。 ## 贡献指南 我们欢迎各种形式的贡献,无论是新功能、文档改进还是bug修复。请遵循以下步骤: 1. Fork 本仓库 2. 创建你的特性分支 (`git checkout -b feature/amazing-feature`) 3. 提交你的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 提交 Pull Request ## 版权信息 Copyright © 2023-present YuGang Team. ## 联系我们 如有任何问题或建议,请 [提交Issue](https://github.com/yourusername/yugang/issues) 或发送邮件至 example@example.com。 ## 关于警告消息处理 ### 关于 SharedArrayBuffer 警告 在开发者工具中可能会看到如下警告: ``` [Deprecation] SharedArrayBuffer will require cross-origin isolation as of M92, around July 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details. ``` 这是因为 Chrome 浏览器的安全策略导致的警告。由于微信小程序运行在 WebView 环境中,而部分 WebView 会触发这个警告。**这个警告不会影响小程序的功能和使用**,可以安全忽略。 ### 关于 wx.getSystemInfoSync 已弃用 我们已将项目中的 `wx.getSystemInfoSync()` 替换为推荐的新 API: - `wx.getDeviceInfo()`:获取设备信息 - `wx.getWindowInfo()`:获取窗口信息 - `wx.getAppBaseInfo()`:获取基础应用信息 ## 使用须知 1. 本项目最低基础库版本要求:2.15.0 2. 使用网络相关功能时,请确保已正确配置服务器域名 3. 如需在真机上调试且连接本地服务器时,请在开发者工具中开启"不校验合法域名"选项 ## 其他说明 详情请参考官方文档: - [微信小程序官方文档](https://developers.weixin.qq.com/miniprogram/dev/framework/) - [网络相关文档](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html) ## 设备类型独立模块重构 本项目完成了淡水设备和海水设备的完全独立模块化设计,解决了之前共享页面和逻辑带来的问题。 ### 设计目标 - 将淡水设备和海水设备作为完全独立的两个模块 - 基本逻辑功能相同但可独立调整 - 便于后期针对不同设备类型进行单独的调整和更新 - 避免修改一种设备类型代码影响另一种设备 ### 目录结构 ``` src/ └── device_types/ ├── freshwater_lamp/ # 淡水设备模块 │ ├── components/ # 淡水设备组件 │ ├── pages/ # 淡水设备页面 │ ├── services/ # 淡水设备服务 │ └── utils/ # 淡水设备工具函数 │ └── seawater_lamp/ # 海水设备模块 ├── components/ # 海水设备组件 ├── pages/ # 海水设备页面 ├── services/ # 海水设备服务 └── utils/ # 海水设备工具函数 ``` ### 重构内容 1. **设备类型标识**: - 每个设备增加`deviceType`属性,用于区分淡水设备(`freshwater_lamp`)和海水设备(`seawater_lamp`) - 在设备搜索和配置过程中,根据设备ID前缀(`ds_`或`hs_`)判断设备类型 2. **独立页面模块**: - 模式设置页(`mode_setting`) - 快捷模式页(`shortcut_mode`) - 玩家模式页(`player_mode`) - 高阶模式页(`advanced_mode`) 3. **路由导航**: - 首页根据设备类型动态选择不同的页面路径 - 各模式页面间的导航也保持在同一设备类型的路径中 4. **UI样式差异**: - 淡水设备:绿色主题 - 海水设备:蓝色主题 - 独立的CSS样式和标识 5. **数据存储**: - 存储服务增加`deviceType`参数 - 确保不同设备类型的数据相互隔离 ### 设计亮点 1. **完全独立**:修改一个设备类型的代码不会影响另一个设备类型 2. **相同逻辑复用**:两种设备类型具有相同的基本功能和结构 3. **差异化UI**:不同设备类型拥有独特的UI主题和视觉识别 4. **数据隔离**:不同设备类型的数据完全分离存储 ### 后续维护 - 针对特定设备类型的功能可以只修改对应模块 - 共享功能的更新需要同步修改两个模块 - 可考虑未来引入更多设备类型而不影响现有功能 # 小程序图片优化工具 ## 图片优化工具套件 本项目包含一套完整的图片优化工具,用于优化微信小程序中的图片资源,提升加载速度和用户体验。 ### 工具列表 1. **图片分析工具** - 扫描项目中的图片使用情况 ```bash npm run image:analyze ``` 2. **图片优化工具** - 将图片转换为WebP格式并优化 ```bash npm run image:optimize ``` 3. **自适应图片处理工具** - 为不同设备生成不同尺寸图片 ```bash npm run image:adaptive ``` 4. **延迟加载图片组件** - 创建延迟加载图片组件 ```bash npm run image:component ``` 5. **一键优化** - 执行所有优化步骤 ```bash npm run image:all ``` ### 详细说明 请参考 [图片优化完全指南](./docs/guides/image_optimization_guide.md) 了解详细用法。 ## 优化效果 - 减少60-80%的图片体积 - 根据设备提供合适尺寸图片 - 大图片使用延迟加载提升体验 - 自动检测和处理重复图片 ## 使用流程 1. 分析图片资源状况 2. 优化大体积图片 3. 生成自适应图片 4. 使用延迟加载组件