更新记录
1.0.0(2026-08-14) 下载此版本
1.1.0(2026-08-05)— 重构:model_type 拆分 & 代码清理
- ✅
database.js/db-init.js/ai-service.js适配 model_type(text/vision 分离) - ✅ 6 个页面适配 +
model-manage重构 - ✅ 清理 deprecated
getActiveModel()→ 全项目零残留 - ✅
db-init.js删除无效 fallback 死代码(~32 行) - ✅
db-init.js清理vision_*冗余列(DDL + 同步 + SQL) - ✅ 清理
usage-record.vue/inventory.vue未使用的nextTick导入 - ✅ 提取硬编码
'千问VL'为配置常量DEFAULT_MODEL_CONFIG.visionName - ✅ 清理
database.jsdeprecatedgetDefaultModel()/ unusedsetDefaultModel()(App+MP 共 8 处) - ✅ 提取
adaptForMenuButton到共享 composableuseNavBarAdapt(6 页 → 1 处,含 statusBarHeight/navTotalHeight) - ✅ 清理
model-manage.vue3 个未使用 CSS 类(.is-default、.builtin-icon、.default-tag);rpx/px 混用为 UniApp 合理模式,无需改
平台兼容性
uni-app(5.23)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | √ | √ | √ | √ | - | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 3.16.2 | √ | √ | √ | √ | √ | - | √ | √ | √ | - | - |
拾物空间 ItemBox
拾起万物 · 归整于心
基于 UniApp (Vue 3) + Vite 跨端开发的智能物品管理应用。通过 AI 视觉识图实现拍照即录,结合 AI 对话智能管理与查询库存,支持多模型切换配置。
功能特性
- 拍照入库 — 拍照 / 相册多选(最多 9 张),AI 视觉自动识别物品名称、品牌、规格等信息,编辑确认后一键入库
- 库存管理 — 分类彩色卡片网格展示,快捷 ± 数量调整,搜索筛选,库存预警
- 物品详情 — 完整信息卡片,数量调整,编辑 / 删除,AI 问答入口
- AI 助手 — 基于库存上下文的智能对话,支持流式输出与 Markdown 渲染(markdown-it + highlight.js)
- 多模型管理 — 支持自定义文本 / 视觉模型配置,多模型灵活切换,内置模型申请指南
- 使用记录 — 物品消耗记录与统计
- 数据导入 — 支持外部数据导入
技术栈
| 分类 | 技术 |
|---|---|
| 框架 | UniApp (Vue 3) + Vite 5 |
| 状态管理 | Vue 3 reactive(轻量级,无需 Pinia/Vuex) |
| UI 组件 | @dcloudio/uni-ui(easycom 自动引入) |
| 样式 | SCSS + rpx 响应式单位 |
| AI 识图 | 多模态视觉模型(OpenAI 兼容接口) |
| AI 对话 | 流式输出 + 库存上下文注入 |
| Markdown | markdown-it + highlight.js |
| 本地存储 | App: SQLite(plus.sqlite)/ 小程序: Storage 降级 |
| 兼容平台 | 微信小程序 · Android App · H5 |
项目结构
ItemBox/
├── App.vue # 根组件,全局生命周期与样式
├── main.js # 入口文件
├── pages.json # 页面路由与 TabBar 配置
├── manifest.json # 应用配置(Android + 小程序)
├── uni.scss # 全局 SCSS 变量
├── vite.config.js # Vite 构建配置
├── config/
│ └── model.config.js # AI Prompt 模板与默认模型配置
├── services/
│ ├── ai-service.js # AI 识别与对话服务(流式输出)
│ ├── database.js # 双端数据库适配(SQLite / Storage)
│ ├── db-init.js # 数据库初始化与表结构
│ └── image-service.js # 图片拍照/压缩/存储服务
├── composables/
│ ├── useDate.js # 日期格式化
│ ├── useImage.js # 图片处理
│ └── useNavBarAdapt.js # 导航栏适配(状态栏高度)
├── components/
│ ├── BasePopup/ # 通用弹窗组件
│ ├── EmptyState/ # 空状态占位
│ ├── ImageSwiper/ # 图片轮播
│ └── stat-card/ # 统计卡片
├── pages/
│ ├── index/index.vue # 首页 — 总览统计
│ ├── inventory/inventory.vue # 库存 — 分类卡片网格
│ ├── ai-assistant/ai-assistant.vue # AI 助手 — 智能对话
│ ├── item-detail/item-detail.vue # 物品详情
│ ├── model-manage/model-manage.vue # 模型管理
│ ├── model-form/model-form.vue # 模型表单(新增/编辑)
│ ├── model-guide/model-guide.vue # 模型申请指南
│ ├── usage-record/usage-record.vue # 使用记录
│ └── import-data/import-data.vue # 数据导入
├── uni_modules/ # 第三方插件
│ ├── neo-ai-chat/ # AI 对话流式请求
│ ├── mp-html/ # Markdown HTML 渲染
│ ├── liang2uv-sse/ # SSE 流式事件
│ ├── uni-icons/ # 图标组件
│ └── uni-scss/ # UniApp SCSS 变量
├── common/
│ ├── _shared.scss # 共享样式
│ └── _tokens.scss # 设计令牌
└── static/ # 静态资源(图标、图片)
快速开始
环境要求
- Node.js >= 18
- npm 或 yarn
- 微信开发者工具(小程序预览)
- HBuilderX(Android App 打包)
安装依赖
npm install
如果遇到依赖冲突,使用
npm install --legacy-peer-deps
开发运行
# H5 浏览器预览(最快验证)
npm run dev:h5
# 微信小程序(需微信开发者工具导入 dist/dev/mp-weixin)
npm run dev:mp-weixin
# Android App(需 HBuilderX 打包运行)
npm run dev:app
构建打包
# H5
npm run build:h5
# 微信小程序
npm run build:mp-weixin
# Android App
npm run build:app
AI 模型配置
本项目不内置任何模型 API Key,需自行申请并配置后使用。
- 启动应用后进入 模型管理 页面
- 点击「添加自定义模型」,填写模型名称、API 地址、模型名称和 API Key
- 分别配置文本模型(用于 AI 对话)和视觉模型(用于图片识别)
- 支持多模型配置,可随时切换激活模型
默认配置兼容 OpenAI 接口格式(如 https://api.openai.com/v1/chat/completions),也支持通义千问、智谱等兼容接口。
参与贡献
- Fork 本仓库
- 新建
feat/xxx分支 - 提交代码
- 新建 Pull Request
许可证
更新日志
详见 changelog.md

收藏人数:
https://gitee.com/dim_sky/item-box.git
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 0
赞赏 0
下载 12508256
赞赏 1943
赞赏
京公网安备:11010802035340号