ManageDishTeminal 首轮可开发模块落地记录
记录日期:2026-06-22。本文用于承接《开发前的规划动作》和《接口参考与占位清单》,说明在接口材料未完全提供前,已经可以先落地的 Android 客户端基础能力。
一、已落地范围
| 模块 | 落地内容 | 代码位置 |
|---|---|---|
| 工程基础 | Java + 原生 XML + Activity 结构;最低 Android 10;横屏运行;沉浸式全屏;应用入口切到登录页。 | app/build.gradleapp/src/main/AndroidManifest.xmlactivity/BaseActivity.java |
| 图标资源 | 接入用户提供的 app 图标和标题栏白色 logo;登录页单独使用橙色 logo,避免白色 logo 在浅色背景上不可见。 | res/mipmap-hdpi/launcher.pngres/drawable/icon_logo.pngres/drawable/icon_logo_login.png |
| 标题栏封装 | 封装通用标题栏,包含返回、logo、标题、右侧动作入口,并支持换肤后刷新背景色。 | view/CommonTitleBarView.javares/layout/view_common_title_bar.xml |
| 系统设置 | 实现系统设置弹窗,参照 OrderingMachine 设置页的基础配置行式展示,包含配置链接、配对码、设备编号、本地密码、换肤、字号、退出登录入口;进入系统设置前需要输入管理员密码 cpt123,验证通过后才展示设置弹窗;配置链接和配对码使用项目统一单行输入弹窗录入;配对码确认后请求 /p/api/matecode,成功且返回配对码匹配后保存配对码和设备编号;设置保存到 SharedPreferences。 |
view/AdminPasswordDialog.javaview/SingleLineInputDialog.javaview/SettingsDialog.javares/layout/dialog_admin_password.xmlres/layout/dialog_single_line_input.xmlres/layout/dialog_settings.xml |
| 行为日志 | 参考现有项目文件日志思路,实现异步本地文件记录。首轮不入 SQLite,日志写入应用外部私有目录。 | utils/BehaviorLogUtils.javautils/LocalFileRecorder.javautils/LogUtils.java |
| Crash 拦截 | 实现全局异常捕获,记录 crash 日志并跳转错误页。 | utils/CrashHandler.javaactivity/CrashActivity.java |
| 网络框架 | 封装 Retrofit + OkHttp;连接、读取、写入超时均为 5 秒;预置已有项目接口和待补接口占位。 | network/ApiClient.javanetwork/ApiService.javanetwork/ApiRequest.java |
| 首期页面 | 登录页、功能首页、排菜页、设置菜谱页已完成基础页面骨架和主交互入口。 | activity/LoginActivity.javaactivity/HomeActivity.javaactivity/ArrangeActivity.javaactivity/RecipeActivity.java |
| 换肤能力 | 换肤从标题栏扩展到页面背景、首页欢迎区、首页入口卡片、入口图标、入口动作文字、排菜筛选按钮、餐段块、空状态容器、菜谱餐次按钮和主要操作按钮。 | utils/ThemeUtils.javaactivity/HomeActivity.javaactivity/ArrangeActivity.javaactivity/RecipeActivity.java |
| UI 资源封装 | 统一封装页面常用字号、字体颜色、间距、圆角、描边、按钮高度、标题栏高度、logo/图标尺寸、首页卡片尺寸、抽屉宽度等资源,当前首期页面已替换为资源引用;系统设置中的字体大小已实际作用到 Activity 和设置弹窗,并处理大字号下首页入口卡片显示不全的问题;单行输入框统一通过 ThemeUtils.applyInput 应用文字色、提示色和主题描边,随橙色、蓝色、绿色换肤切换。 |
res/values/dimens.xmlres/values/styles.xmlres/values/colors.xmlutils/ThemeUtils.javaactivity/BaseActivity.java |
二、当前占位边界
- 接口未最终提供前,档口、餐段、称位、菜品、菜谱数据均以空布局或文字提示占位。
- 排菜选择菜品抽屉、替换确认弹框、复制菜谱弹窗已保留交互入口,真正保存逻辑等待接口字段确认。
- 新增菜品、图片上传、扫码、拍照、相册、取消排菜、离线下发队列暂不实现。
- 目标 Android 15 暂未强行升级,当前沿用工程已有
compileSdk 32和targetSdk 32,后续确认本机 SDK 后再升级。 - 换肤当前按橙色、蓝色、绿色三套主题切换,已覆盖首期页面核心控件;后续真实称位卡片、菜品卡片、弹窗列表接入时继续复用
ThemeUtils。 - 后续新增单行输入场景时,应复用
SingleLineInputDialog或ThemeUtils.applyInput,避免直接使用系统默认AlertDialog输入框导致风格和换肤不一致。 - 后续新增页面时,通用字号、颜色、内外边距、图标尺寸、按钮尺寸应优先使用
dimens.xml、styles.xml、colors.xml,避免在页面 XML 中继续写散落数值。
三、验证结果
已执行 ./gradlew assembleDebug,构建通过。当前工程目录不是 Git 仓库,变更无法通过本项目内 git status 汇总。