logo
0
0
WeChat Login
Chief Clouds<520@zut.edu.cn>
1

🔍 HarmonyOS 多功能扫描应用

App Icon

License HarmonyOS Platform

一款基于HarmonyOS开发的多功能扫描应用,支持二维码、条形码、文档等多种扫描模式,并提供用户个人中心功能。

🛠️ 技术栈

HarmonyOS

应用开发框架

ArkTS

开发语言

ArkUI

UI框架

DevEco Studio

开发工具

HMS Core

移动服务

SQLite

数据存储

👥 开发团队

Developer 1
Profile

徐有才

Developer 2
Profile

胡艺欣

✨ 功能特性

📱 多种扫描模式

  • ✓ 二维码扫描
  • ✓ 条形码扫描
  • ✓ 文档扫描
  • ✓ 翻译扫描
  • ✓ 商品扫描

📋 数据管理

  • ✓ 扫描历史记录
  • ✓ 结果分类管理
  • ✓ 数据导出功能
  • ✓ 云端同步支持

💡 智能功能

  • ✓ 闪光灯支持
  • ✓ 智能场景识别
  • ✓ 批量扫描处理
  • ✓ 自动优化增强

🎨 用户体验

  • ✓ 响应式设计
  • ✓ 深色模式支持
  • ✓ 个性化设置
  • ✓ 多设备适配

📥 安装指南

⚡ 环境要求

🛠 开发环境

  • ✓ DevEco Studio 3.0+
  • ✓ HarmonyOS SDK 3.0+
  • ✓ Node.js 14.0+
  • ✓ JDK 1.8+
<div>
  <h4 style="color: #FF69B4;">📱 运行环境</h4>
  <ul style="list-style: none; padding: 0;">
    <li style="margin: 8px 0;">✓ HarmonyOS 3.0+</li>
    <li style="margin: 8px 0;">✓ RAM: 2GB+</li>
    <li style="margin: 8px 0;">✓ 存储空间: 100MB+</li>
  </ul>
</div>

📱 设备适配与界面展示

多设备适配策略

本应用采用 HarmonyOS 的响应式布局系统,针对不同设备特点进行了精心优化:

📱 手机端(Small Device)

  • 布局策略
    • 采用单列紧凑型布局
    • 全屏沉浸式扫描界面
    • 底部导航栏快速切换
    • 支持单手操作的交互设计
  • 技术实现
    • 使用 MediaQuery 实现响应式布局
    • 基于 screenDensity 优化显示效果
    • 采用 Flex 布局确保界面弹性适配
    • 优化触摸区域大小,提升操作体验

📋 平板端(Large Device)

  • 布局策略
    • 双列布局最大化屏幕利用率
    • 侧边栏导航提供快捷访问
    • 扫描界面支持多任务分屏
    • 更大的操作区域和信息展示空间
  • 技术实现
    • 使用 GridRowGridCol 实现灵活分栏
    • 通过 breakpoints 设置响应断点
    • 支持横竖屏动态切换适配
    • 针对触控笔输入进行优化

界面展示

📋 平板端界面

平板端采用双列布局,提供更大的显示空间和更丰富的操作区域

左图:主界面布局 - 采用双列设计,左侧为功能导航,右侧为内容区域

右图:扫描功能界面 - 优化的取景框和直观的操作按钮

📱 手机端界面

手机端采用紧凑型单列布局,确保最佳的移动端使用体验

从左到右:首页界面 - 快捷功能入口 | 扫描界面 - 优化的取景体验 | 历史记录 - 时间轴展示

从左到右:个人中心 - 信息概览 | 设置界面 - 功能配置 | 扫描结果 - 即时处理

关键适配代码示例

// 响应式布局示例
@Component
struct ResponsiveLayout {
  @State deviceType: string = 'phone'
  
  aboutToAppear() {
    // 检测设备类型
    this.deviceType = this.getDeviceType()
  }
  
  // 设备类型判断
  getDeviceType() {
    return px2vp(screenWidth) >= 600 ? 'tablet' : 'phone'
  }
  
  build() {
    Column() {
      if (this.deviceType === 'tablet') {
        // 平板布局
        Row() {
          // 侧边导航栏
          Column() {
            // 导航内容
          }
          .width('30%')
          
          // 主内容区
          Column() {
            // 页面内容
          }
          .width('70%')
        }
      } else {
        // 手机布局
        Column() {
          // 页面内容
          // 底部导航栏
        }
      }
    }
  }
}

📋 详细安装步骤

方式一:直接安装(推荐)

  1. 下载最新发行版本中的 .app 文件包(包含 .hap.info
  2. 安装方法:
  • 方法A:通过 HarmonyOS 设备的文件管理器找到下载的 .app 文件并点击安装
  • 方法B:使用 hdc 命令行工具安装:
    hdc install <app文件路径>
    

方式二:从源码构建

  1. 准备开发环境:

    # 检查 Node.js 版本
    node -v  # 应为 14.0 或更高
    
    # 检查 JDK 版本
    java -version  # 应为 1.8 或更高
    
  2. 克隆仓库:

    git clone https://github.com/your-repo/harmony-scan-app.git
    cd harmony-scan-app
    
  3. 使用 DevEco Studio 打开项目:

  • 启动 DevEco Studio
  • 选择 File -> Open
  • 导航到克隆的项目目录并打开
  1. 构建和安装:
  • 连接设备:
    • 真机:通过USB连接并启用调试模式
    • 模拟器:在 DevEco Studio 中启动模拟器
  • 构建步骤:
    • 点击顶部菜单 Build -> Build Hap(s)/APP(s) -> Build Hap(s)
    • 选择 Release 模式
    • 等待构建完成
  1. 验证安装:
  • 检查应用是否出现在设备的应用列表中
  • 启动应用并确认基本功能正常

常见问题解决

  1. 安装失败:
  • 检查设备系统版本是否满足要求
  • 确保设备有足够的存储空间
  • 卸载旧版本后重新安装
  1. 构建错误:
  • 确保所有环境依赖都已正确安装
  • 尝试清理项目:Build -> Clean Project
  • 检查 DevEco Studio 的日志输出
  1. 权限问题:
  • 确保应用获得必要的系统权限
  • 在设备的设置中检查权限设置

特定设备说明

  • 手机设备:

    • 确保启用"允许安装未知来源应用"选项
    • 建议使用WiFi环境安装
  • 平板设备:

    • 支持分屏安装模式
    • 注意存储路径的读写权限

更新说明

  • 建议定期检查新版本
  • 更新前备份个人数据
  • 遵循版本更新说明进行升级

🚀 开发计划

近期计划

  • 优化扫描识别算法,提高识别准确率
  • 添加批量扫描功能
  • 支持导出扫描结果为多种格式
  • 增加用户自定义主题

长期计划

  • 集成更多类型的码制识别
  • 添加AI增强的图像处理功能
  • 支持多设备数据同步
  • 开发桌面端配套应用

❓ 常见问题

Q: 应用支持哪些类型的码?

A: 目前支持QR码、条形码(EAN-13, UPC-A, Code 39等)、Data Matrix和PDF417等。

Q: 扫描的历史记录会保存多久?

A: 默认情况下,历史记录会永久保存在本地,除非用户手动删除或清除应用数据。

Q: 如何在暗光环境下扫描?

A: 在扫描界面点击闪光灯图标开启手机闪光灯辅助扫描。

Q: 应用是否支持离线使用?

A: 是的,基本的扫描功能可以在离线状态下使用,但部分高级功能(如商品信息查询)需要网络连接。

Q: 如何导出我的扫描历史?

A: 在历史记录页面,点击右上角菜单按钮,选择"导出数据",然后选择导出格式。

🙏 致谢

📊 统计数据

GitHub stars GitHub forks GitHub issues GitHub pull requests

贡献指南

欢迎提交Pull Request或Issue。提交代码前请确保:

  1. 代码符合ESLint规范
  2. 已通过所有测试
  3. 更新相关文档

许可证

本项目采用MIT许可证 - 详情请见LICENSE文件