1. 调整页面路由,将业务页面迁移到对应分包,主包仅保留首页 2. 拆分公共服务模块,将账户、融资相关逻辑移入对应分包 3. 统一资源路径,将专属静态资源放入各分包static目录,更新导航栏图标资源 4. 修复启动引导逻辑,实现仅首次冷启动显示引导页 5. 更新README文档,补充分包配置与开发规范说明
70 lines
5.9 KiB
Markdown
70 lines
5.9 KiB
Markdown
# AI 融资移动端
|
||
|
||
基于 uni-app x、Vue 3、UTS 的移动端原型,包含 19 个页面。使用 HBuilderX(VDOM 模式)开发,已验证 5.24 和 5.26 的本地编译;本项目没有独立的 npm 构建入口。
|
||
|
||
## 本地运行
|
||
|
||
在 HBuilderX 中导入当前目录,选择“运行 → 运行到浏览器”。共享请求配置位于 `services/api.uts`,账户、融资的接口模拟实现分别位于对应分包的 `services/`,没有连接真实短信、贷款申请或 AI 服务。
|
||
|
||
也可使用 HBuilderX CLI。以下 PowerShell 命令中的安装路径应按本机环境调整;在项目根目录执行:
|
||
|
||
```powershell
|
||
$hbuilderCli = 'D:\Develop\HBuilderX\cli.exe'
|
||
$projectPath = (Get-Location).Path
|
||
& $hbuilderCli open
|
||
& $hbuilderCli launch web --project $projectPath --compile false --continue-on-error false
|
||
```
|
||
|
||
## 各平台编译
|
||
|
||
以下命令仅本地编译,不上传、不发布:
|
||
|
||
```powershell
|
||
& $hbuilderCli launch mp-weixin --project $projectPath --compile true --continue-on-error false
|
||
& $hbuilderCli launch app-android --project $projectPath --compile true --continue-on-error false
|
||
& $hbuilderCli launch app-ios --project $projectPath --iosTarget simulator --compile true --continue-on-error false
|
||
```
|
||
|
||
产物位于 `unpackage/dist/dev/` 对应平台目录。Android 命令可检查 Kotlin/class 编译;Windows 上 iOS 命令只检查当前编译链生成的源码产物,不代表已完成 Xcode 构建或生成 IPA。
|
||
|
||
运行微信小程序需配置自己的 AppID,并开启微信开发者工具服务端口。Android 真机运行需启用 USB 调试;iOS 真机运行需相应签名环境。正式发行还需配置应用图标、签名、真实接口及平台要求的资料,并完成真机测试。
|
||
|
||
## 跨端维护约定
|
||
|
||
- 页面尺寸和安全区计算集中在 `services/layout.uts`。新增页面应复用这里的逻辑,并检查小屏、横屏、键盘弹出及底部安全区。
|
||
- 原生样式遵循 uni-app x 支持范围。仅 Web/小程序支持的样式用条件编译隔离;修改 UTS 类型后应重新验证 Android 编译。
|
||
- 首页及跨包共用的轻量位图位于 `static/mobile/`,专属大图位于各分包的 `static/`,原始图片保留在 `static/images/` 与 `static/icons-generated/`。箭头继续使用 `static/icons/` 下的 SVG。
|
||
- 底栏使用 `static/mobile/navigation/` 的专用位图,由现有高清图标按可见边界裁切、等高居中得到。更换素材时保持一致的图案高度和画布留白,避免仅统一图片元素尺寸却出现视觉错位。
|
||
- 微信打包忽略原始图片目录和未使用的 `static/logo.png`,规则位于 `manifest.json` 的 `mp-weixin.packOptions.ignore`。新增资源要检查引用与排除规则,最终包体以微信开发者工具结果为准。
|
||
- API 地址目前为空,表示模拟模式。接入后端时需补齐环境配置、认证、错误契约及真实业务校验,再进行联调。
|
||
|
||
## 当前前端交互
|
||
|
||
个人与企业评估分别保存本机草稿;选图仅供本机预览,资料上传和数据查询尚未接入。课程章节进度、消息已读与体验签到均保存在当前设备,不代表服务器账户数据。
|
||
|
||
新闻与课程的数据定义位于 `packages/content/services/content.uts`,产品定义位于 `packages/finance/services/finance.uts`。产品列表与详情共用 ID;预留 `GET /matches`(`items` 数组)及 `GET /products/:id`(单个产品),字段见 `FinanceProduct`,其中 `amount` 为万元数值、`rate` 为年化百分比数值。申请入口目前仅引导准备资料,不向金融机构提交申请。
|
||
|
||
## 页面与分包
|
||
|
||
`pages/` 只保留 `home/home.uvue`,也是唯一主包页面。页面注册统一维护在 `pages.json` 的 `pages` 和 `subPackages`,分包内的 `path` 相对于 `root`。
|
||
|
||
| 目录 | 内容 | 页面数 |
|
||
| --- | --- | --- |
|
||
| `pages/home` | 首页 | 1 |
|
||
| `packages/finance` | 融资入口、评估、确认、分析、报告、匹配、产品、助手、档案 | 9 |
|
||
| `packages/account` | 启动引导、登录、个人中心、积分、消息 | 5 |
|
||
| `packages/content` | 新闻、文章、融资课堂、课程详情 | 4 |
|
||
|
||
当前各模块体积较小,优先保持完整业务链;普通内容统一一个包。新增功能先放入所属分包,再根据微信编译产物大小决定是否细分。单包以 2 MiB 为保守预算,需预留增长空间,最终体积以微信开发者工具为准。
|
||
|
||
2026-09-20 使用 HBuilderX 5.26 本地微信开发编译,按 `packOptions.ignore` 排除原始素材后统计:主包约 887 KiB,融资包 378 KiB,账户包 148 KiB,内容包 355 KiB。此为磁盘产物统计,不等同于开发者工具上传后的压缩体积。
|
||
|
||
- 分包页面使用完整绝对路由 `/packages/<模块>/<页面>/<页面>`,包含路由比较和携带参数的跳转;主包首页仍为 `/pages/home/home`。
|
||
- 微信按 `subPackages` 下载分包。Android、iOS 使用相同目录、页面注册和路由编译为应用,不将小程序按需下载机制等同于 App 热更新。
|
||
- 保留现有自绘 `BottomNav`,新闻、消息、我的允许在分包中;不配置要求页面留在主包的原生 `tabBar`。底栏切换使用 `reLaunch`,详情使用 `navigateTo` / `navigateBack`。
|
||
- 冷启动首页通过 `services/launch.uts` 只触发一次账户引导,之后按登录状态进入首页或登录;直接打开分包页面和正常返回首页不会重复触发引导。
|
||
- `components/` 与 `services/` 只保留共享组件、布局、请求、会话和跨包草稿。主包或其他分包不得 import 某个分包的专属模块;分包间只通过路由与共享服务交互。
|
||
- 仅某个分包使用的图片放在该包 `static/`;首页也使用的插图及通用图标保留在根 `static/`,避免分包资源被主包引用。
|
||
|
||
参考:[uni-app x 页面与分包配置](https://doc.dcloud.net.cn/uni-app-x/collocation/pagesjson.html#subpackages)。
|