309 lines
14 KiB
Markdown
309 lines
14 KiB
Markdown
# Graph Report - mobile-h5 (2026-08-30)
|
|
|
|
## Corpus Check
|
|
- 86 files · ~221,666 words
|
|
- Verdict: corpus is large enough that graph structure adds value.
|
|
|
|
## Summary
|
|
- 785 nodes · 1096 edges · 56 communities (49 shown, 7 thin omitted)
|
|
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 21 edges (avg confidence: 0.8)
|
|
- Token cost: 0 input · 0 output
|
|
|
|
## Graph Freshness
|
|
- Built from commit: `c8cec132`
|
|
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
|
- Run `graphify update .` after code changes (no API cost).
|
|
|
|
## Community Hubs (Navigation)
|
|
- [[_COMMUNITY_index.vue|index.vue]]
|
|
- [[_COMMUNITY_detail.vue|detail.vue]]
|
|
- [[_COMMUNITY_utils.ts|utils.ts]]
|
|
- [[_COMMUNITY_index.vue|index.vue]]
|
|
- [[_COMMUNITY_index.ts|index.ts]]
|
|
- [[_COMMUNITY_detail.vue|detail.vue]]
|
|
- [[_COMMUNITY_index.vue|index.vue]]
|
|
- [[_COMMUNITY_index.vue|index.vue]]
|
|
- [[_COMMUNITY_plan.vue|plan.vue]]
|
|
- [[_COMMUNITY_dependencies|dependencies]]
|
|
- [[_COMMUNITY_移动端 H5 项目|移动端 H5 项目]]
|
|
- [[_COMMUNITY_compilerOptions|compilerOptions]]
|
|
- [[_COMMUNITY_masterDataApi.ts|masterDataApi.ts]]
|
|
- [[_COMMUNITY_detail.vue|detail.vue]]
|
|
- [[_COMMUNITY_index.vue|index.vue]]
|
|
- [[_COMMUNITY_inventoryApi.ts|inventoryApi.ts]]
|
|
- [[_COMMUNITY_detail.vue|detail.vue]]
|
|
- [[_COMMUNITY_移动端重构完成总结|移动端重构完成总结]]
|
|
- [[_COMMUNITY_已完成功能|已完成功能]]
|
|
- [[_COMMUNITY_详细对比|详细对比]]
|
|
- [[_COMMUNITY_分页加载实现说明|分页加载实现说明]]
|
|
- [[_COMMUNITY_DbVehiclePicker.vue|DbVehiclePicker.vue]]
|
|
- [[_COMMUNITY_menu.ts|menu.ts]]
|
|
- [[_COMMUNITY_useSettingStore|useSettingStore]]
|
|
- [[_COMMUNITY_setting.ts|setting.ts]]
|
|
- [[_COMMUNITY_fill.vue|fill.vue]]
|
|
- [[_COMMUNITY_dayjs|dayjs]]
|
|
- [[_COMMUNITY_company-detail.vue|company-detail.vue]]
|
|
- [[_COMMUNITY_vehicle-detail.vue|vehicle-detail.vue]]
|
|
- [[_COMMUNITY_index.ts|index.ts]]
|
|
- [[_COMMUNITY_storage.ts|storage.ts]]
|
|
- [[_COMMUNITY_DbCustomerPicker.vue|DbCustomerPicker.vue]]
|
|
- [[_COMMUNITY_DbProductPicker.vue|DbProductPicker.vue]]
|
|
- [[_COMMUNITY_colors.ts|colors.ts]]
|
|
- [[_COMMUNITY_handleTabChange|handleTabChange]]
|
|
- [[_COMMUNITY_worktab.ts|worktab.ts]]
|
|
- [[_COMMUNITY_compilerOptions|compilerOptions]]
|
|
- [[_COMMUNITY_user.ts|user.ts]]
|
|
- [[_COMMUNITY_useECharts.ts|useECharts.ts]]
|
|
- [[_COMMUNITY_iconfont.ts|iconfont.ts]]
|
|
- [[_COMMUNITY_db.ts|db.ts]]
|
|
- [[_COMMUNITY_mergeDateTime|mergeDateTime]]
|
|
- [[_COMMUNITY_crmOptionsApi.ts|crmOptionsApi.ts]]
|
|
- [[_COMMUNITY_upgrade.ts|upgrade.ts]]
|
|
- [[_COMMUNITY_color.ts|color.ts]]
|
|
- [[_COMMUNITY_DualBarChart.vue|DualBarChart.vue]]
|
|
- [[_COMMUNITY_SimpleBarChart.vue|SimpleBarChart.vue]]
|
|
- [[_COMMUNITY_splitDateTime|splitDateTime]]
|
|
- [[_COMMUNITY_env.d.ts|env.d.ts]]
|
|
- [[_COMMUNITY_tabs.ts|tabs.ts]]
|
|
- [[_COMMUNITY_emojo.ts|emojo.ts]]
|
|
- [[_COMMUNITY_status.ts|status.ts]]
|
|
- [[_COMMUNITY_links.ts|links.ts]]
|
|
|
|
## God Nodes (most connected - your core abstractions)
|
|
1. `dayjs` - 21 edges
|
|
2. `compilerOptions` - 18 edges
|
|
3. `移动端 H5 项目` - 15 edges
|
|
4. `InventoryRecord` - 12 edges
|
|
5. `useSettingStore` - 11 edges
|
|
6. `useUserStore` - 10 edges
|
|
7. `Plan` - 9 edges
|
|
8. `WeighingRecord` - 9 edges
|
|
9. `MenuListType` - 8 edges
|
|
10. `api` - 8 edges
|
|
|
|
## Surprising Connections (you probably didn't know these)
|
|
- `onDateConfirm()` --calls--> `dayjs` [INFERRED]
|
|
src/views/inventory/fill.vue → package.json
|
|
- `loadData()` --calls--> `dayjs` [INFERRED]
|
|
src/views/inventory/detail.vue → package.json
|
|
- `onDateConfirm()` --calls--> `dayjs` [INFERRED]
|
|
src/views/inventory/detail.vue → package.json
|
|
- `canDeleteRecord()` --calls--> `dayjs` [INFERRED]
|
|
src/views/inventory/index.vue → package.json
|
|
- `loadData()` --calls--> `dayjs` [INFERRED]
|
|
src/views/inventory/index.vue → package.json
|
|
|
|
## Import Cycles
|
|
- 3-file cycle: `src/router/index.ts -> src/store/modules/user.ts -> src/store/modules/worktab.ts -> src/router/index.ts`
|
|
- 3-file cycle: `src/router/index.ts -> src/store/modules/user.ts -> src/utils/storage.ts -> src/router/index.ts`
|
|
- 4-file cycle: `src/router/index.ts -> src/store/modules/user.ts -> src/store/modules/setting.ts -> src/utils/storage.ts -> src/router/index.ts`
|
|
- 4-file cycle: `src/router/index.ts -> src/store/modules/user.ts -> src/store/modules/worktab.ts -> src/utils/storage.ts -> src/router/index.ts`
|
|
|
|
## Communities (56 total, 7 thin omitted)
|
|
|
|
### Community 0 - "index.vue"
|
|
Cohesion: 0.06
|
|
Nodes (27): activeTab, cargoAllData, cargoCurrentPage, cargoData, cargoFinished, cargoLoading, cargoPageSize, cargoSearchKeyword (+19 more)
|
|
|
|
### Community 1 - "detail.vue"
|
|
Cohesion: 0.07
|
|
Nodes (23): User, userApi, UserCreate, UserService, UserUpdate, editingUser, formData, isEdit (+15 more)
|
|
|
|
### Community 2 - "utils.ts"
|
|
Cohesion: 0.06
|
|
Nodes (3): copy(), copyToClipboard(), fallbackCopy()
|
|
|
|
### Community 3 - "index.vue"
|
|
Cohesion: 0.07
|
|
Nodes (24): allData, captureQrObjectUrl, captureRow, currentPage, dateFilterOptions, dateFilterType, finished, getQrImageUrl() (+16 more)
|
|
|
|
### Community 4 - "index.ts"
|
|
Cohesion: 0.09
|
|
Nodes (17): axios, ArticleService, fetchLogin(), LoginResult, PortalUserInfo, ArticleCategoryType, ArticleType, BaseResult (+9 more)
|
|
|
|
### Community 5 - "detail.vue"
|
|
Cohesion: 0.06
|
|
Nodes (23): cargoDisplay, editingRecord, formData, grossWeightDateSelected, grossWeightTimeSelected, isEdit, isNetInvalid, isView (+15 more)
|
|
|
|
### Community 6 - "index.vue"
|
|
Cohesion: 0.08
|
|
Nodes (20): allData, currentPage, dateFilterOptions, dateFilterType, finished, getWeighingRecordDate(), handleSearch(), isWeighingRecordToday() (+12 more)
|
|
|
|
### Community 7 - "index.vue"
|
|
Cohesion: 0.08
|
|
Nodes (18): allData, currentPage, dateFilterOptions, dateFilterType, finished, handleSearch(), loadData(), loading (+10 more)
|
|
|
|
### Community 8 - "plan.vue"
|
|
Cohesion: 0.08
|
|
Nodes (21): html2canvas, copyImageBlobToClipboard(), captureInventory, captureRef, copyingImage, createDialogOpen, createForm, creating (+13 more)
|
|
|
|
### Community 9 - "dependencies"
|
|
Cohesion: 0.08
|
|
Nodes (24): dependencies, jsencrypt, mitt, pinia, vant, vue, vue-router, devDependencies (+16 more)
|
|
|
|
### Community 10 - "移动端 H5 项目"
|
|
Cohesion: 0.08
|
|
Nodes (23): API 调用, 与 Web 端的差异, 交互优化, 功能模块, 后续优化建议, 安装依赖, ✅ 已完成, 布局方式 (+15 more)
|
|
|
|
### Community 11 - "compilerOptions"
|
|
Cohesion: 0.09
|
|
Nodes (21): compilerOptions, allowImportingTsExtensions, baseUrl, isolatedModules, jsx, lib, module, moduleResolution (+13 more)
|
|
|
|
### Community 12 - "masterDataApi.ts"
|
|
Cohesion: 0.12
|
|
Nodes (15): Cargo, cargoApi, CargoCreate, CargoUpdate, CompanyCreate, CompanyUpdate, VehicleCreate, VehicleUpdate (+7 more)
|
|
|
|
### Community 13 - "detail.vue"
|
|
Cohesion: 0.10
|
|
Nodes (14): dateSelected, editingRecord, formData, isEdit, isPlanNoReadonly, isView, productDisplay, route (+6 more)
|
|
|
|
### Community 14 - "index.vue"
|
|
Cohesion: 0.12
|
|
Nodes (15): dashboardApi, DashboardCargoStat, DashboardPartnerCargoStat, db, inboundByCargo, inboundByPartnerCargo, isLoading, menuList (+7 more)
|
|
|
|
### Community 15 - "inventoryApi.ts"
|
|
Cohesion: 0.19
|
|
Nodes (16): inventoryApi, InventoryCreate, InventoryRecord, InventoryRelatedData, InventoryUpdate, Plan, planApi, PlanCreate (+8 more)
|
|
|
|
### Community 16 - "detail.vue"
|
|
Cohesion: 0.11
|
|
Nodes (14): editingPlan, endDateSelected, formData, isEdit, isView, productDisplay, route, router (+6 more)
|
|
|
|
### Community 17 - "移动端重构完成总结"
|
|
Cohesion: 0.11
|
|
Nodes (17): 1. 弹窗改为跳转新页面, 2. 搜索功能与Web端一致, 3. 按钮和Tag配色与Web端一致, 4. API完全复用, 5. 表单字段与Web端一致, 下一步, 出入库管理 (`/inventory`), 功能完整性 (+9 more)
|
|
|
|
### Community 18 - "已完成功能"
|
|
Cohesion: 0.12
|
|
Nodes (15): 1. 登录页面 (`/login`), 2. 仪表盘 (`/dashboard`), 3. 计划管理 (`/plans`), 4. 出入库管理 (`/inventory`), 5. 地磅单管理 (`/weighing`), 6. 基础资料 (`/master-data`), 7. 用户管理 (`/user`), 下一步 (+7 more)
|
|
|
|
### Community 19 - "详细对比"
|
|
Cohesion: 0.12
|
|
Nodes (15): 1. 登录界面 ✅, 2. 仪表盘 ⚠️, 3. 计划管理 ⚠️, 4. 出入库管理 ⚠️, 5. 地磅单管理 ⚠️, 6. 基础资料 ⚠️, 7. 用户管理 ⚠️, Mobile-H5 与 Web 端功能对比报告 (+7 more)
|
|
|
|
### Community 20 - "分页加载实现说明"
|
|
Cohesion: 0.12
|
|
Nodes (15): 1. 数据结构, 2. 分页参数, 3. 加载逻辑, 4. 滚动加载, 使用场景, 分页加载实现说明, 初始加载, 增删改后 (+7 more)
|
|
|
|
### Community 21 - "DbVehiclePicker.vue"
|
|
Cohesion: 0.19
|
|
Nodes (12): extractList(), fetchPublicVehiclePlates(), fetchVehicleOptions(), VehicleOption, emit, keyword, loading, loadOptions() (+4 more)
|
|
|
|
### Community 22 - "menu.ts"
|
|
Cohesion: 0.21
|
|
Nodes (9): menuService, simpleRoutes, $t(), MenuState, useMenuStore, MenuItem, MenuListType, formatMenuTitle() (+1 more)
|
|
|
|
### Community 23 - "useSettingStore"
|
|
Cohesion: 0.22
|
|
Nodes (8): useCeremony(), useCommon(), useTheme(), festivalList, useSettingStore, mittBus, themeAnimation(), toggleTheme()
|
|
|
|
### Community 24 - "setting.ts"
|
|
Cohesion: 0.33
|
|
Nodes (10): config, ContainerWidthEnum, MenuThemeEnum, MenuTypeEnum, SystemThemeEnum, SettingState, MenuThemeType, Setting (+2 more)
|
|
|
|
### Community 25 - "fill.vue"
|
|
Cohesion: 0.15
|
|
Nodes (12): formData, handleSubmit(), isFilled, loadData(), loading, onDateConfirm(), qrcodeSrc, record (+4 more)
|
|
|
|
### Community 26 - "dayjs"
|
|
Cohesion: 0.17
|
|
Nodes (13): dayjs, loadData(), onDateConfirm(), canDeleteRecord(), loadData(), onEndDateConfirm(), onStartDateConfirm(), calculateNetWeight() (+5 more)
|
|
|
|
### Community 27 - "company-detail.vue"
|
|
Cohesion: 0.15
|
|
Nodes (9): Company, companyApi, editingCompany, formData, isEdit, isView, route, router (+1 more)
|
|
|
|
### Community 28 - "vehicle-detail.vue"
|
|
Cohesion: 0.15
|
|
Nodes (9): Vehicle, vehicleApi, editingVehicle, formData, isEdit, isView, route, router (+1 more)
|
|
|
|
### Community 29 - "index.ts"
|
|
Cohesion: 0.21
|
|
Nodes (8): app, initRouter(), router, routes, initStore(), store, handleMenuJump(), openExternalLink()
|
|
|
|
### Community 30 - "storage.ts"
|
|
Cohesion: 0.35
|
|
Nodes (10): useUserStore, getLocalStorageData(), getSysStorage(), getSysVersion(), handleError(), initState(), isLocalStorageEmpty(), logOut() (+2 more)
|
|
|
|
### Community 31 - "DbCustomerPicker.vue"
|
|
Cohesion: 0.20
|
|
Nodes (9): CrmCustomerOption, emit, keyword, loading, loadOptions(), onSelect(), options, props (+1 more)
|
|
|
|
### Community 32 - "DbProductPicker.vue"
|
|
Cohesion: 0.20
|
|
Nodes (8): emit, keyword, loading, loadOptions(), onSelect(), options, props, visible
|
|
|
|
### Community 33 - "colors.ts"
|
|
Cohesion: 0.33
|
|
Nodes (7): setElementThemeColor(), colourBlend(), getDarkColor(), getLightColor(), handleElementThemeColor(), hexToRgb(), rgbToHex()
|
|
|
|
### Community 34 - "handleTabChange"
|
|
Cohesion: 0.20
|
|
Nodes (10): handleCargoSearch(), handleCompanySearch(), handleTabChange(), handleVehicleSearch(), loadCargoData(), loadCompanyData(), loadVehicleData(), onCargoLoad() (+2 more)
|
|
|
|
### Community 35 - "worktab.ts"
|
|
Cohesion: 0.43
|
|
Nodes (6): useWorktabStore, WorktabState, WorkTabType, getIframeRoutes(), isIframe(), setWorktab()
|
|
|
|
### Community 36 - "compilerOptions"
|
|
Cohesion: 0.25
|
|
Nodes (7): compilerOptions, allowSyntheticDefaultImports, composite, module, moduleResolution, skipLibCheck, include
|
|
|
|
### Community 37 - "user.ts"
|
|
Cohesion: 0.43
|
|
Nodes (6): LanguageEnum, setPageTitle(), initVersion(), saveStoreStorage(), UserState, UserInfo
|
|
|
|
### Community 38 - "useECharts.ts"
|
|
Cohesion: 0.33
|
|
Nodes (3): defaultOpstions, EChartsInstance, EChartsOption
|
|
|
|
### Community 39 - "iconfont.ts"
|
|
Cohesion: 0.33
|
|
Nodes (5): extractIconFromRule(), getUnicode(), IconfontType, processedErrors, StyleSheetError
|
|
|
|
### Community 41 - "mergeDateTime"
|
|
Cohesion: 0.33
|
|
Nodes (6): handleSubmit(), mergeDateTime(), onGrossWeightTimeCancel(), onGrossWeightTimeConfirm(), onTareWeightTimeCancel(), onTareWeightTimeConfirm()
|
|
|
|
### Community 42 - "crmOptionsApi.ts"
|
|
Cohesion: 0.60
|
|
Nodes (4): CrmProductOption, extractOptions(), fetchCustomerOptions(), fetchProductOptions()
|
|
|
|
### Community 44 - "color.ts"
|
|
Cohesion: 0.80
|
|
Nodes (4): getDarkColor(), getLightColor(), hexToRgb(), rgbToHex()
|
|
|
|
### Community 45 - "DualBarChart.vue"
|
|
Cohesion: 0.50
|
|
Nodes (3): DualBarItem, maxValue, props
|
|
|
|
### Community 46 - "SimpleBarChart.vue"
|
|
Cohesion: 0.50
|
|
Nodes (3): maxValue, props, SimpleBarItem
|
|
|
|
### Community 47 - "splitDateTime"
|
|
Cohesion: 0.50
|
|
Nodes (4): handleOpenGrossWeightDateTime(), handleOpenTareWeightDateTime(), loadData(), splitDateTime()
|
|
|
|
## Knowledge Gaps
|
|
- **368 isolated node(s):** `name`, `version`, `type`, `dev`, `build` (+363 more)
|
|
These have ≤1 connection - possible missing edges or undocumented components.
|
|
- **7 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
|
|
|
## Suggested Questions
|
|
_Questions this graph is uniquely positioned to answer:_
|
|
|
|
- **Why does `api` connect `index.ts` to `detail.vue`, `crmOptionsApi.ts`, `masterDataApi.ts`, `DbVehiclePicker.vue`?**
|
|
_High betweenness centrality (0.068) - this node is a cross-community bridge._
|
|
- **Why does `dependencies` connect `dependencies` to `plan.vue`, `dayjs`, `index.ts`?**
|
|
_High betweenness centrality (0.049) - this node is a cross-community bridge._
|
|
- **Why does `useUserStore` connect `storage.ts` to `index.ts`, `user.ts`, `db.ts`, `upgrade.ts`, `index.vue`, `index.ts`?**
|
|
_High betweenness centrality (0.049) - this node is a cross-community bridge._
|
|
- **Are the 20 inferred relationships involving `dayjs` (e.g. with `loadData()` and `onDateConfirm()`) actually correct?**
|
|
_`dayjs` has 20 INFERRED edges - model-reasoned connections that need verification._
|
|
- **What connects `name`, `version`, `type` to the rest of the system?**
|
|
_368 weakly-connected nodes found - possible documentation gaps or missing edges._
|
|
- **Should `index.vue` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.06218487394957983 - nodes in this community are weakly interconnected._
|
|
- **Should `detail.vue` be split into smaller, more focused modules?**
|
|
_Cohesion score 0.07196969696969698 - nodes in this community are weakly interconnected._ |