30aefecdf53fb67571a5d4c41eba1a64dfacf8a6f62016b754acb2566d2fc01a.json 24 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_docs_crm_migration_ref_lessons_learned_md", "label": "ref-lessons-learned.md", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L1"}, {"id": "crm_migration_ref_lessons_learned", "label": "\u53c2\u8003\uff1a\u79fb\u690d\u7ecf\u9a8c\u4e0e\u8e29\u5751\u8bb0\u5f55", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L1"}, {"id": "crm_migration_ref_lessons_learned_7", "label": "\u524d\u7aef\u7ecf\u9a8c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L7"}, {"id": "crm_migration_ref_lessons_learned_1", "label": "1. \u9644\u4ef6\u4e0a\u4f20\u5fc5\u987b\u9075\u5faa\u95e8\u6237\u6807\u51c6", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L9"}, {"id": "crm_migration_ref_lessons_learned_2_el_dialog_el_drawer", "label": "2. \u5f39\u7a97\u7edf\u4e00\u7528 el-dialog\uff0c\u7981\u6b62 el-drawer", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L14"}, {"id": "crm_migration_ref_lessons_learned_3_openspec", "label": "3. \u8be6\u60c5\u67e5\u770b\u5f39\u7a97\u6309 OpenSpec \u6807\u51c6\u6837\u5f0f", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L20"}, {"id": "crm_migration_ref_lessons_learned_4_label", "label": "4. \u8868\u5355\u5b57\u6bb5\u6ce8\u91ca\u653e\u5728 label \u540e\u9762", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L24"}, {"id": "crm_migration_ref_lessons_learned_codeblock_1", "label": "code:vue (<template #label>\u6392\u5e8f\u53f7<span class=\"form-label-tip\">\u6570\u503c\u8d8a\u5c0f\u8d8a\u9760\u524d</sp)", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L25"}, {"id": "crm_migration_ref_lessons_learned_5_element_plus_import", "label": "5. Element Plus \u7ec4\u4ef6\u4e0d\u8981\u624b\u52a8 import", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L29"}, {"id": "crm_migration_ref_lessons_learned_6_crm", "label": "6. \u89c6\u56fe\u5207\u6362\u4fdd\u7559\u539f CRM \u7ec4\u4ef6", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L32"}, {"id": "crm_migration_ref_lessons_learned_13_api", "label": "13. API \u54cd\u5e94\u89e3\u5305\u7528\u517c\u5bb9\u5199\u6cd5", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L35"}, {"id": "crm_migration_ref_lessons_learned_codeblock_2", "label": "code:js (const data = (res as any)?.data || res || {})", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L38"}, {"id": "crm_migration_ref_lessons_learned_14_api", "label": "14. \u5b57\u5178\u7c7b\u578b\u540d\u5fc5\u987b\u5339\u914d API \u5b9e\u9645\u8fd4\u56de\u503c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L45"}, {"id": "crm_migration_ref_lessons_learned_15", "label": "15. \u8de8\u6a21\u5757\u7ec4\u4ef6\u76f4\u63a5\u5f15\u7528\uff0c\u4e0d\u8981\u91cd\u65b0\u5b9e\u73b0", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L52"}, {"id": "crm_migration_ref_lessons_learned_16_pagesize", "label": "16. \u4e0b\u62c9\u9009\u62e9\u5668\u52a0\u8f7d\u5168\u91cf\u7528\u6237\u65f6\u6ce8\u610f pageSize \u4e0a\u9650", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L57"}, {"id": "crm_migration_ref_lessons_learned_62", "label": "\u540e\u7aef\u7ecf\u9a8c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L62"}, {"id": "crm_migration_ref_lessons_learned_7_64", "label": "7. \u7f16\u53f7\u81ea\u52a8\u751f\u6210", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L64"}, {"id": "crm_migration_ref_lessons_learned_8", "label": "8. \u552f\u4e00\u6027\u6821\u9a8c\u6392\u9664\u8f6f\u5220\u9664", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L67"}, {"id": "crm_migration_ref_lessons_learned_9", "label": "9. \u5173\u8054\u7edf\u8ba1\u5b57\u6bb5\u540c\u6b65\u66f4\u65b0", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L70"}, {"id": "crm_migration_ref_lessons_learned_10_java_python", "label": "10. \u5148\u7406\u89e3 Java \u518d\u5199 Python", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L73"}, {"id": "crm_migration_ref_lessons_learned_17", "label": "17. \u72b6\u6001\u53d8\u66f4\u65f6\u5fc5\u987b\u4fdd\u7559\u5173\u8054\u5c55\u793a\u5b57\u6bb5", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L79"}, {"id": "crm_migration_ref_lessons_learned_18_sql", "label": "18. \u5386\u53f2\u6570\u636e\u4fee\u590d\u5fc5\u987b\u914d\u5957 SQL", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L85"}, {"id": "crm_migration_ref_lessons_learned_90", "label": "\u6570\u636e\u5e93\u7ecf\u9a8c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L90"}, {"id": "crm_migration_ref_lessons_learned_11_ddl_orm", "label": "11. DDL \u4e0e ORM \u5b57\u6bb5\u987a\u5e8f\u4e00\u81f4", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L92"}, {"id": "crm_migration_ref_lessons_learned_12_sql", "label": "12. SQL \u589e\u91cf\u811a\u672c\u5fc5\u987b\u4fdd\u5b58", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L95"}, {"id": "crm_migration_ref_lessons_learned_2026_05_31", "label": "\u7ebf\u7d22\u7ba1\u7406\u6a21\u5757\u7ecf\u9a8c\uff082026-05-31 \u65b0\u589e\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L100"}, {"id": "crm_migration_ref_lessons_learned_19", "label": "19. \u8f6c\u5316\u903b\u8f91\u5fc5\u987b\u5728\u4e8b\u52a1\u4e2d\u6267\u884c", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L102"}, {"id": "crm_migration_ref_lessons_learned_20_4", "label": "20. \u8ddf\u8fdb\u8bb0\u5f55\u7ea7\u8054\u66f4\u65b0\u7ebf\u7d22 4 \u4e2a\u5b57\u6bb5", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L108"}, {"id": "crm_migration_ref_lessons_learned_21", "label": "21. \u524d\u7aef\u9002\u914d\u5148\u62f7\u8d1d\u518d\u9010\u884c\u4fee\u6539\uff0c\u4e0d\u8981\u76f4\u63a5\u65b0\u5199", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L113"}, {"id": "crm_migration_ref_lessons_learned_22_el_drawer_el_dialog", "label": "22. el-drawer\u2192el-dialog \u5e03\u5c40\u9700\u8c03\u6574", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L118"}, {"id": "crm_migration_ref_lessons_learned_23_tab", "label": "23. \u591a\u89c6\u56fe Tab \u5217\u8868\u9875\u5171\u7528\u540c\u4e00\u4e2a\u67e5\u8be2\u51fd\u6570", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L123"}, {"id": "crm_migration_ref_lessons_learned_24_attachmentuploadfield", "label": "24. \u9644\u4ef6\u4e0a\u4f20\u7528 AttachmentUploadField \u7ec4\u4ef6", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L128"}, {"id": "crm_migration_ref_lessons_learned_25_tab", "label": "25. \u64cd\u4f5c\u65e5\u5fd7 Tab \u6682\u4e0d\u8fc1\u79fb", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L133"}, {"id": "crm_migration_ref_lessons_learned_26_and", "label": "26. \u7ebf\u7d22\u6a21\u5757 \u2014 \u5feb\u901f\u641c\u7d22\u52ff\u7528\u591a\u5b57\u6bb5 AND", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L138"}, {"id": "crm_migration_ref_lessons_learned_27_failitems", "label": "27. \u7ebf\u7d22\u6a21\u5757 \u2014 \u6279\u91cf\u64cd\u4f5c\u8981\u5904\u7406 failItems", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L142"}, {"id": "crm_migration_ref_lessons_learned_28_menucodes_v_auth", "label": "28. \u7ebf\u7d22\u6309\u94ae\u6743\u9650\u7528 menuCodes \u800c\u975e v-auth", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L146"}, {"id": "crm_migration_ref_lessons_learned_29_excel_code_label_java_exceldictconvert", "label": "29. Excel \u5bfc\u51fa\u5fc5\u987b\u96c6\u4e2d\u505a\u5b57\u5178 code\u2192label\uff08\u5bf9\u9f50 Java ExcelDictConvert\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L150"}, {"id": "crm_migration_ref_lessons_learned_30_openpyxl_venv", "label": "30. \u5bfc\u51fa\u4f9d\u8d56 openpyxl\uff0cvenv \u987b\u663e\u5f0f\u5b89\u88c5", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L158"}, {"id": "crm_migration_ref_lessons_learned_31_blob_http", "label": "31. \u524d\u7aef Blob \u5bfc\u51fa\u987b\u9002\u914d http \u62e6\u622a\u5668", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L163"}, {"id": "crm_migration_ref_lessons_learned_32_crm_systemviewdialog", "label": "32. CRM \u67e5\u770b\u8be6\u60c5\u7edf\u4e00 SystemViewDialog\uff08\u5546\u673a/\u7ebf\u7d22\u5df2\u6539\uff09", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L170"}, {"id": "crm_migration_ref_lessons_learned_33_fetchuseroptions", "label": "33. \u8d1f\u8d23\u4eba/\u7528\u6237\u4e0b\u62c9\u5b57\u6bb5\u540d\u5bf9\u9f50 fetchUserOptions", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L175"}, {"id": "crm_migration_ref_lessons_learned_34", "label": "34. \u5546\u673a\u6a21\u5757\u8865\u5145", "file_type": "document", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L180"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_docs_crm_migration_ref_lessons_learned_md", "target": "crm_migration_ref_lessons_learned", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L1", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned", "target": "crm_migration_ref_lessons_learned_7", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L7", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L9", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_2_el_dialog_el_drawer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L14", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_3_openspec", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L20", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_4_label", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L24", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_4_label", "target": "crm_migration_ref_lessons_learned_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L25", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_5_element_plus_import", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L29", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_6_crm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L32", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_13_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L35", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_13_api", "target": "crm_migration_ref_lessons_learned_codeblock_2", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L38", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_14_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L45", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_15", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L52", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_7", "target": "crm_migration_ref_lessons_learned_16_pagesize", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L57", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned", "target": "crm_migration_ref_lessons_learned_62", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L62", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_7_64", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L64", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_8", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L67", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_9", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L70", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_10_java_python", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L73", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_17", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L79", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_62", "target": "crm_migration_ref_lessons_learned_18_sql", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L85", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned", "target": "crm_migration_ref_lessons_learned_90", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L90", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_90", "target": "crm_migration_ref_lessons_learned_11_ddl_orm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L92", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_90", "target": "crm_migration_ref_lessons_learned_12_sql", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L95", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned", "target": "crm_migration_ref_lessons_learned_2026_05_31", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L100", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_19", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L102", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_20_4", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L108", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_21", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L113", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_22_el_drawer_el_dialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L118", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_23_tab", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L123", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_24_attachmentuploadfield", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L128", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_25_tab", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L133", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_26_and", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L138", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_27_failitems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L142", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_28_menucodes_v_auth", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L146", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_29_excel_code_label_java_exceldictconvert", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L150", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_30_openpyxl_venv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L158", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_31_blob_http", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L163", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_32_crm_systemviewdialog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L170", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_33_fetchuseroptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L175", "weight": 1.0}, {"source": "crm_migration_ref_lessons_learned_2026_05_31", "target": "crm_migration_ref_lessons_learned_34", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/docs/crm-migration/ref-lessons-learned.md", "source_location": "L180", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}