GRAPH_REPORT.md 22 KB

Graph Report - sqxp_副本2 (2026-04-29)

Corpus Check

  • 700 files · ~634,064 words
  • Verdict: corpus is large enough that graph structure adds value.

Summary

  • 4643 nodes · 21509 edges · 58 communities detected
  • Extraction: 24% EXTRACTED · 76% INFERRED · 0% AMBIGUOUS · INFERRED: 16425 edges (avg confidence: 0.56)
  • Token cost: 0 input · 0 output

Community Hubs (Navigation)

  • [[_COMMUNITY_Community 0|Community 0]]
  • [[_COMMUNITY_Community 1|Community 1]]
  • [[_COMMUNITY_Community 2|Community 2]]
  • [[_COMMUNITY_Community 3|Community 3]]
  • [[_COMMUNITY_Community 4|Community 4]]
  • [[_COMMUNITY_Community 5|Community 5]]
  • [[_COMMUNITY_Community 6|Community 6]]
  • [[_COMMUNITY_Community 7|Community 7]]
  • [[_COMMUNITY_Community 8|Community 8]]
  • [[_COMMUNITY_Community 9|Community 9]]
  • [[_COMMUNITY_Community 10|Community 10]]
  • [[_COMMUNITY_Community 11|Community 11]]
  • [[_COMMUNITY_Community 12|Community 12]]
  • [[_COMMUNITY_Community 13|Community 13]]
  • [[_COMMUNITY_Community 14|Community 14]]
  • [[_COMMUNITY_Community 15|Community 15]]
  • [[_COMMUNITY_Community 16|Community 16]]
  • [[_COMMUNITY_Community 17|Community 17]]
  • [[_COMMUNITY_Community 18|Community 18]]
  • [[_COMMUNITY_Community 19|Community 19]]
  • [[_COMMUNITY_Community 20|Community 20]]
  • [[_COMMUNITY_Community 21|Community 21]]
  • [[_COMMUNITY_Community 24|Community 24]]
  • [[_COMMUNITY_Community 25|Community 25]]
  • [[_COMMUNITY_Community 26|Community 26]]
  • [[_COMMUNITY_Community 27|Community 27]]
  • [[_COMMUNITY_Community 29|Community 29]]
  • [[_COMMUNITY_Community 31|Community 31]]
  • [[_COMMUNITY_Community 32|Community 32]]
  • [[_COMMUNITY_Community 33|Community 33]]
  • [[_COMMUNITY_Community 34|Community 34]]
  • [[_COMMUNITY_Community 36|Community 36]]
  • [[_COMMUNITY_Community 37|Community 37]]
  • [[_COMMUNITY_Community 38|Community 38]]
  • [[_COMMUNITY_Community 39|Community 39]]
  • [[_COMMUNITY_Community 44|Community 44]]
  • [[_COMMUNITY_Community 46|Community 46]]
  • [[_COMMUNITY_Community 47|Community 47]]
  • [[_COMMUNITY_Community 48|Community 48]]
  • [[_COMMUNITY_Community 49|Community 49]]
  • [[_COMMUNITY_Community 50|Community 50]]
  • [[_COMMUNITY_Community 51|Community 51]]
  • [[_COMMUNITY_Community 53|Community 53]]
  • [[_COMMUNITY_Community 54|Community 54]]
  • [[_COMMUNITY_Community 55|Community 55]]
  • [[_COMMUNITY_Community 59|Community 59]]
  • [[_COMMUNITY_Community 62|Community 62]]
  • [[_COMMUNITY_Community 63|Community 63]]
  • [[_COMMUNITY_Community 65|Community 65]]
  • [[_COMMUNITY_Community 77|Community 77]]
  • [[_COMMUNITY_Community 87|Community 87]]
  • [[_COMMUNITY_Community 89|Community 89]]
  • [[_COMMUNITY_Community 143|Community 143]]
  • [[_COMMUNITY_Community 144|Community 144]]
  • [[_COMMUNITY_Community 145|Community 145]]
  • [[_COMMUNITY_Community 146|Community 146]]
  • [[_COMMUNITY_Community 147|Community 147]]
  • [[_COMMUNITY_Community 148|Community 148]]

God Nodes (most connected - your core abstractions)

  1. BizPriceListItem - 541 edges
  2. SysUser - 534 edges
  3. BizOrder - 531 edges
  4. BizDeliveryTask - 519 edges
  5. BasProduct - 518 edges
  6. SysRegion - 511 edges
  7. BizInquiry - 509 edges
  8. BizOrderItem - 509 edges
  9. BasProductCategory - 508 edges
  10. BasProductUnit - 508 edges

Surprising Connections (you probably didn't know these)

  • get_active() --calls--> query() [INFERRED] backend/app/models/base.py → sqxp-wx/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
  • register() --calls--> validate() [INFERRED] web-admin/src/views/auth/register/index.vue → sqxp-wx/pages/client/address/edit.vue
  • toTime() --calls--> getTime() [INFERRED] web-admin/src/views/dashboard/console/index.vue → sqxp-wx/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
  • number() --calls--> inputMaxlength() [INFERRED] web-admin/src/views/system/inquiry-quotation/index.vue → sqxp-wx/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
  • number() --calls--> onPickerChange() [INFERRED] web-admin/src/views/system/inquiry-quotation/index.vue → sqxp-wx/pages/client/invoice/invoice.vue

Communities

Community 0 - "Community 0"

Cohesion: 0.01 Nodes (608): adjust_order(), _aggregate_client_settlement_history(), _aggregate_supplier_settlement_history(), _apply_region_minutes_to_data(), approve_quotation(), assign_deliverer_to_order(), assign_delivery_alias(), batch_create_settlements() (+600 more)

Community 1 - "Community 1"

Cohesion: 0.08 Nodes (549): 获取管理员的区域过滤条件 对于区域管理员,返回其所属区域ID(用于过滤数据) 对于超级管理员(无区域绑定),返回None(不过滤), 更新用户菜单授权(按 code 全量覆盖;兼容明文/密文载荷)。, 更新用户菜单授权(按 code 全量覆盖;兼容明文/密文载荷)。, 与 PUT 同逻辑:前端按 POST 模式调用时复用。, 兼容旧逻辑:返回单区域过滤ID。多区域场景返回排序后首个区域。, 更新用户菜单授权(按 code 全量覆盖;兼容明文/密文载荷)。, 兼容旧逻辑:返回单区域过滤ID。多区域场景返回排序后首个区域。, 上传用户头像图片,返回可写入 avatarUrl 的地址 (+541 more)

Community 2 - "Community 2"

Cohesion: 0.01 Nodes (141): fullRegion(), if(), if(), FireworkSystem, mapKeys(), VantComponent(), HTMLParser(), parseAttrs() (+133 more)

Community 3 - "Community 3"

Cohesion: 0.01 Nodes (153): reload(), calendar(), memo(), record(), addUnit(), isDef(), isNumber(), nextTick() (+145 more)

Community 4 - "Community 4"

Cohesion: 0.01 Nodes (248): InvoiceCreateRequest, MessageCreateRequest, 获取商品的评价列表(仅显示已审核通过的评价), AdjustResponse, Config, CreateAdjustRequest, 兼容明文/密文请求,返回业务 payload。失败时返回 error_response。, BaseModel (+240 more)

Community 5 - "Community 5"

Cohesion: 0.01 Nodes (195): # TODO: 发送微信模板消息提醒配送员, 记录处理过程(不结案,结案由配送完成/取消自动触发), 小程序客户端扩展接口:购物车、商品分类、仪表盘、发票、下单、支付, 可申请开票的已完成订单(简化:已完成且尚无发票), 商品对应的一级(根)分类,供购物车行展示与序列化。, 购物车:先一级分类 sort_order,再商品名、商品 id(稳定)。, 当前用户有效购物车行(含区域价目表同步、过滤已删)。, 将购物车 ORM 行序列化为与 GET /cart 一致的 list 项(仅未删除行)。 (+187 more)

Community 6 - "Community 6"

Cohesion: 0.01 Nodes (136): fetchActiveRegions(), fetchAssignableMenuCodes(), fetchCategoryList(), fetchCategoryParameters(), fetchCategoryTree(), fetchCreateUnit(), fetchNotDeletedRegions(), fetchProductBannerList() (+128 more)

Community 7 - "Community 7"

Cohesion: 0.01 Nodes (129): handleSubmit(), loadDetail(), onRegionMultiConfirm(), regionLabel(), syncMultiFromForm(), validate(), close_payment(), create_wechat_pay() (+121 more)

Community 8 - "Community 8"

Cohesion: 0.02 Nodes (111): endDate(), selected(), startDate(), Calendar, changeFlag(), countDown(), day(), handler() (+103 more)

Community 9 - "Community 9"

Cohesion: 0.02 Nodes (67): fetchGetMenuCodes(), fetchGetUserInfo(), fetchLogin(), fetchGetMenuList(), fetchGetRoleList(), fetchGetUserList(), useSettingsHandlers(), useSettingsPanel() (+59 more)

Community 10 - "Community 10"

Cohesion: 0.03 Nodes (43): askAbortDownload(), checkLocalStoragePackage(), closeUpdate(), compare(), deleteSavedFile(), downLoadComplete(), installPackage(), onLoad() (+35 more)

Community 11 - "Community 11"

Cohesion: 0.05 Nodes (15): fetchGetLatestUpgradeLog(), if(), getDefaultLanguage(), emitUrls(), removeItem(), revokeLocalPreview(), checkStorageCompatibility(), StorageConfig (+7 more)

Community 12 - "Community 12"

Cohesion: 0.09 Nodes (27): base64ToBytes(), bytesToBase64(), decryptJson(), deriveKey(), encryptJson(), fromBase64Url(), hexToBytes(), sha256Hex() (+19 more)

Community 13 - "Community 13"

Cohesion: 0.11 Nodes (12): activated(), bottom(), center(), close(), deactivated(), destroyed(), left(), onTap() (+4 more)

Community 14 - "Community 14"

Cohesion: 0.15 Nodes (19): 备货完成后通知配送员(微信订阅消息,失败不阻断主流程), 供应商开始备货:assigned -> supplier_stocking,并写入订单状态日志(配送进度), 供应商备货完成:supplier_stocking -> supplier_ready(待配送员取货),写入订单日志并可通知配送员, [兼容] 请改用 POST /tasks/{id}/start-stock, [兼容] 请改用 POST /tasks/{id}/finish-stock, 供应商端商品详情:轮播、基础信息、参数、富文本、详情媒体, 价格清单行 price 为面向客户的最终单价;pricing_coefficient 为调价系数(%),供货单价 = price / (1 + 系数/100)。, 获取供应商的配送任务列表(含商品缩略列表;供货合计按价格清单还原供货单价后汇总) (+11 more)

Community 15 - "Community 15"

Cohesion: 0.18 Nodes (21): destroyed(), getDirection(), getDom(), isPC(), mousedown(), mouseleave(), mousemove(), mouseup() (+13 more)

Community 16 - "Community 16"

Cohesion: 0.13 Nodes (13): change(), clearVal(), created(), debounce(), emit(), formatItemName(), getCache(), handler() (+5 more)

Community 17 - "Community 17"

Cohesion: 0.12 Nodes (15): addCopyButton(), highlightCode(), insertLineNumbers(), isBlockProcessed(), markBlockAsProcessed(), processBlock(), setupHighlightDirective(), setupRippleDirective() (+7 more)

Community 18 - "Community 18"

Cohesion: 0.17 Nodes (16): animation(), bindTiming(), close(), getDom(), getEl(), getSelectorQuery(), init(), leftOptions() (+8 more)

Community 19 - "Community 19"

Cohesion: 0.18 Nodes (16): defaultAvatarPathByRole(), normalizeAvatarUrlForMini(), resolveUserAvatarUrl(), appendQueryParam(), fallbackVersionFromManifest(), getStaticAssetsVersion(), hasSignedQuery(), hasVersionParam() (+8 more)

Community 20 - "Community 20"

Cohesion: 0.16 Nodes (10): useTable(), useTableImpl(), getColumnChecks(), useTableColumns(), createErrorHandler(), createSmartDebounce(), defaultResponseAdapter(), extractPagination() (+2 more)

Community 21 - "Community 21"

Cohesion: 0.28 Nodes (14): getDirection(), getDisabledType(), getDom(), move(), moveDirection(), openState(), range(), resetTouchStatus() (+6 more)

Community 24 - "Community 24"

Cohesion: 0.17 Nodes (2): clean(), onInput()

Community 25 - "Community 25"

Cohesion: 0.24 Nodes (4): getVal(), leftIconWidth(), navbarHeight(), rightIconWidth()

Community 26 - "Community 26"

Cohesion: 0.4 Nodes (9): backup_table(), count_affected(), get_text_columns(), main(), make_backup_table_name(), parse_args(), quote_ident(), 生成备份表名,控制在 MySQL 64 字符限制内。 (+1 more)

Community 27 - "Community 27"

Cohesion: 0.24 Nodes (3): _calcValue(), _getDecimalScale(), _onBlur()

Community 29 - "Community 29"

Cohesion: 0.27 Nodes (4): dataValue(), emit(), onChange(), setOpen()

Community 31 - "Community 31"

Cohesion: 0.25 Nodes (2): borderStyle(), value2px()

Community 32 - "Community 32"

Cohesion: 0.39 Nodes (6): isIgnorableScriptError(), normalizeErrorMessage(), registerPromiseErrorHandler(), registerResourceErrorHandler(), scriptErrorHandler(), setupErrorHandle()

Community 33 - "Community 33"

Cohesion: 0.29 Nodes (2): handleTouchEnd(), setTransition()

Community 34 - "Community 34"

Cohesion: 0.36 Nodes (1): TableHeightCalculator

Community 36 - "Community 36"

Cohesion: 0.36 Nodes (1): RouteValidator

Community 37 - "Community 37"

Cohesion: 0.39 Nodes (5): chooseAll(), chooseAndUploadFile(), chooseImage(), chooseVideo(), uploadFiles()

Community 38 - "Community 38"

Cohesion: 0.33 Nodes (2): logApiCryptoBootInfo(), maskSecret()

Community 39 - "Community 39"

Cohesion: 0.38 Nodes (3): _change(), close(), open()

Community 44 - "Community 44"

Cohesion: 0.33 Nodes (1): BridgeError

Community 46 - "Community 46"

Cohesion: 0.4 Nodes (2): created(), getTable()

Community 47 - "Community 47"

Cohesion: 0.47 Nodes (3): get_file_data(), get_file_ext(), get_file_info()

Community 48 - "Community 48"

Cohesion: 0.4 Nodes (2): created(), getForm()

Community 49 - "Community 49"

Cohesion: 0.47 Nodes (4): onDial(), onTextClick(), dialPhone(), normalizeDialNumber()

Community 50 - "Community 50"

Cohesion: 0.4 Nodes (4): 运营端角色守卫:admin / super_admin 可访问。, 接口菜单权限守卫。super_admin 直接放行。, require_admin_or_super_admin(), require_menu_code()

Community 51 - "Community 51"

Cohesion: 0.5 Nodes (2): focusInput(), handleKeydown()

Community 53 - "Community 53"

Cohesion: 0.5 Nodes (3): BaseSettings, Config, Settings

Community 54 - "Community 54"

Cohesion: 0.67 Nodes (3): build_menu_tree(), get_menu_list(), 获取菜单列表(从 sys_menu 表读取,构建树形结构)

Community 55 - "Community 55"

Cohesion: 0.5 Nodes (1): collectIds()

Community 59 - "Community 59"

Cohesion: 0.83 Nodes (3): classes(), isTrue(), onClick()

Community 62 - "Community 62"

Cohesion: 0.67 Nodes (2): created(), getParent()

Community 63 - "Community 63"

Cohesion: 1.0 Nodes (2): getSettingDefaults(), resetToDefaults()

Community 65 - "Community 65"

Cohesion: 1.0 Nodes (2): defaultAvatarPathByRole(), resolveUserAvatarUrl()

Community 77 - "Community 77"

Cohesion: 0.67 Nodes (1): updateUseModal()

Community 87 - "Community 87"

Cohesion: 1.0 Nodes (2): buildMiniEncryptedLoginBody(), fetchLoginPublicKey()

Community 89 - "Community 89"

Cohesion: 0.67 Nodes (1): return()

Community 143 - "Community 143"

Cohesion: 1.0 Nodes (1): 发送订单状态通知 Args: openid: 用户openid ord

Community 144 - "Community 144"

Cohesion: 1.0 Nodes (1): 发送支付成功通知 Args: openid: 用户openid ord

Community 145 - "Community 145"

Cohesion: 1.0 Nodes (1): 发送配送通知 Args: openid: 配送员openid task

Community 146 - "Community 146"

Cohesion: 1.0 Nodes (1): 发送配送时效预警 Args: openid: 配送员openid ta

Community 147 - "Community 147"

Cohesion: 1.0 Nodes (1): 发送退款结果通知 Args: openid: 用户openid ord

Community 148 - "Community 148"

Cohesion: 1.0 Nodes (1): 发送催单通知给配送员 Args: deliver_openid: 配送员openid

Knowledge Gaps

  • 71 isolated node(s): 关闭超时未支付的线上订单(超时分钟数来自系统设置 auto_cancel_minutes)。, 初始化定时任务 Args: get_db_session: 数据库会话获取函数(从 app.core.database 导入), 登录凭据 RSA 解密(与前端 JSEncrypt PKCS#1 v1.5 兼容)。, Base64 密文 -> JSON 对象(须含 username、password、ts 毫秒时间戳)。, 从请求体解析用户名、密码。 返回 (username, password, error_message);error_message 非空时表示失败。 (+66 more) These have ≤1 connection - possible missing edges or undocumented components.
  • Thin community Community 24 (13 nodes): uni-combox.vue, clean(), data(), default(), filterCandidates(), filterCandidatesLength(), handler(), labelStyle(), onBlur(), onFocus(), onInput(), onSelectorClick(), toggleSelector() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 31 (9 nodes): upload-file.vue, borderLineStyle(), borderStyle(), choose(), default(), delFile(), styles(), uploadFiles(), value2px() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 33 (8 nodes): cleanupEventListeners(), handleTouchEnd(), handleTouchMove(), handleTouchStart(), handleWheelScroll(), setTransition(), setupEventListeners(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 34 (8 nodes): TableHeightCalculator, .calculate(), .calculateOffset(), .calculatePaginationOffset(), .constructor(), .getHeaderHeight(), useTableHeight(), useTableHeight.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 36 (8 nodes): RouteValidator, .checkComponents(), .checkDuplicates(), .checkNestedIndexComponent(), .logLayoutError(), .resolvePath(), .validate(), RouteValidator.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 38 (7 nodes): refreshButtonAutoIcons(), refreshPanelTitleIcons(), logApiCryptoBootInfo(), maskSecret(), App.vue, main.ts, console.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 44 (6 nodes): bridge-error.js, BridgeError, .code(), .constructor(), .errCode(), .errMsg() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 46 (6 nodes): uni-thead.vue, checkboxSelected(), created(), data(), getTable(), init() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 48 (6 nodes): uni-group.vue, created(), data(), getForm(), onClick(), title() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 51 (5 nodes): focusInput(), handleKeydown(), if(), search(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 55 (4 nodes): catch(), collectIds(), handleCategoryTableSelectionChange(), index.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 62 (4 nodes): popup.js, created(), data(), getParent() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 63 (3 nodes): getSettingDefaults(), resetToDefaults(), setting.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 65 (3 nodes): defaultAvatarPathByRole(), resolveUserAvatarUrl(), user-avatar.ts Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 77 (3 nodes): check-update.js, check-update.ts, updateUseModal() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 87 (3 nodes): loginRsa.js, buildMiniEncryptedLoginBody(), fetchLoginPublicKey() Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 89 (3 nodes): return(), detail.vue, detail.vue Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 143 (1 nodes): 发送订单状态通知 Args: openid: 用户openid ord Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 144 (1 nodes): 发送支付成功通知 Args: openid: 用户openid ord Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 145 (1 nodes): 发送配送通知 Args: openid: 配送员openid task Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 146 (1 nodes): 发送配送时效预警 Args: openid: 配送员openid ta Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 147 (1 nodes): 发送退款结果通知 Args: openid: 用户openid ord Too small to be a meaningful cluster - may be noise or needs more connections extracted.
  • Thin community Community 148 (1 nodes): 发送催单通知给配送员 Args: deliver_openid: 配送员openid Too small to be a meaningful cluster - may be noise or needs more connections extracted.

Suggested Questions

Questions this graph is uniquely positioned to answer:

  • Why does push() connect Community 2 to Community 0, Community 3, Community 6, Community 7, Community 8, Community 10, Community 11? High betweenness centrality (0.110) - this node is a cross-community bridge.
  • Why does query() connect Community 0 to Community 16, Community 5, Community 54, Community 7? High betweenness centrality (0.050) - this node is a cross-community bridge.
  • Why does CRUDBase connect Community 5 to Community 0, Community 4? High betweenness centrality (0.038) - this node is a cross-community bridge.
  • Are the 539 inferred relationships involving BizPriceListItem (e.g. with PriceListCRUD and PriceListItemCRUD) actually correct? BizPriceListItem has 539 INFERRED edges - model-reasoned connections that need verification.
  • Are the 532 inferred relationships involving SysUser (e.g. with 刷新会话 TTL(用于 refreshToken 延长会话) and 写入 refreshToken(用于 one-time 使用/吊销)) actually correct? SysUser has 532 INFERRED edges - model-reasoned connections that need verification.
  • Are the 529 inferred relationships involving BizOrder (e.g. with DeliveryTaskCRUD and DeliveryTaskItemCRUD) actually correct? BizOrder has 529 INFERRED edges - model-reasoned connections that need verification.
  • Are the 517 inferred relationships involving BizDeliveryTask (e.g. with DeliveryWarningTask and 配送时效预警定时任务 依据订单分配时写入的配送截止时间(biz_delivery_task.effective_time)及区域表 sys_region.) actually correct? BizDeliveryTask has 517 INFERRED edges - model-reasoned connections that need verification.