npmapps 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/package.json +1 -1
  2. package/app/wujie-wk/dev.log +0 -1979
  3. package/app/wujie-wk/wujie-react-child/README.md +0 -126
  4. package/app/wujie-wk/wujie-react-child/eslint.config.js +0 -28
  5. package/app/wujie-wk/wujie-react-child/index.html +0 -13
  6. package/app/wujie-wk/wujie-react-child/package-lock.json +0 -4344
  7. package/app/wujie-wk/wujie-react-child/package.json +0 -32
  8. package/app/wujie-wk/wujie-react-child/public/vite.svg +0 -1
  9. package/app/wujie-wk/wujie-react-child/src/App.css +0 -0
  10. package/app/wujie-wk/wujie-react-child/src/App.tsx +0 -72
  11. package/app/wujie-wk/wujie-react-child/src/assets/react.svg +0 -1
  12. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.css +0 -63
  13. package/app/wujie-wk/wujie-react-child/src/components/FeatureCards.tsx +0 -112
  14. package/app/wujie-wk/wujie-react-child/src/components/LightCard/index.tsx +0 -36
  15. package/app/wujie-wk/wujie-react-child/src/components/LightCard/style.css +0 -20
  16. package/app/wujie-wk/wujie-react-child/src/hooks/use3DCard.ts +0 -53
  17. package/app/wujie-wk/wujie-react-child/src/hooks/useLightCard.ts +0 -141
  18. package/app/wujie-wk/wujie-react-child/src/index.css +0 -0
  19. package/app/wujie-wk/wujie-react-child/src/main.tsx +0 -8
  20. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.css +0 -55
  21. package/app/wujie-wk/wujie-react-child/src/pages/ChildToParent/index.tsx +0 -88
  22. package/app/wujie-wk/wujie-react-child/src/pages/Css.tsx +0 -28
  23. package/app/wujie-wk/wujie-react-child/src/pages/Home.tsx +0 -72
  24. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.css +0 -85
  25. package/app/wujie-wk/wujie-react-child/src/pages/ParentToChild.tsx +0 -119
  26. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.css +0 -61
  27. package/app/wujie-wk/wujie-react-child/src/pages/RouterJump/index.tsx +0 -87
  28. package/app/wujie-wk/wujie-react-child/src/router/index.tsx +0 -63
  29. package/app/wujie-wk/wujie-react-child/src/types/wujie.d.ts +0 -26
  30. package/app/wujie-wk/wujie-react-child/src/vite-env.d.ts +0 -1
  31. package/app/wujie-wk/wujie-react-child/tsconfig.app.json +0 -26
  32. package/app/wujie-wk/wujie-react-child/tsconfig.json +0 -7
  33. package/app/wujie-wk/wujie-react-child/tsconfig.node.json +0 -24
  34. package/app/wujie-wk/wujie-react-child/vite.config.ts +0 -10
  35. package/app/wujie-wk/wujie-vue3-child/.claude/settings.local.json +0 -8
  36. package/app/wujie-wk/wujie-vue3-child/.vscode/extensions.json +0 -3
  37. package/app/wujie-wk/wujie-vue3-child/PROJECT_MEMORY.md +0 -427
  38. package/app/wujie-wk/wujie-vue3-child/README.md +0 -5
  39. package/app/wujie-wk/wujie-vue3-child/index.html +0 -13
  40. package/app/wujie-wk/wujie-vue3-child/package-lock.json +0 -5744
  41. package/app/wujie-wk/wujie-vue3-child/package.json +0 -28
  42. package/app/wujie-wk/wujie-vue3-child/public/vite.svg +0 -1
  43. package/app/wujie-wk/wujie-vue3-child/src/App.vue +0 -130
  44. package/app/wujie-wk/wujie-vue3-child/src/assets/vue.svg +0 -1
  45. package/app/wujie-wk/wujie-vue3-child/src/components/HelloWorld.vue +0 -43
  46. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/index.jsx +0 -224
  47. package/app/wujie-wk/wujie-vue3-child/src/components/SmartAnchorTabs/style.css +0 -154
  48. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view.vue +0 -193
  49. package/app/wujie-wk/wujie-vue3-child/src/components/tags-view1.vue +0 -131
  50. package/app/wujie-wk/wujie-vue3-child/src/directives/aiLoading.js +0 -182
  51. package/app/wujie-wk/wujie-vue3-child/src/hooks/useClickOutside.js +0 -11
  52. package/app/wujie-wk/wujie-vue3-child/src/hooks/useTableDragSort.js +0 -28
  53. package/app/wujie-wk/wujie-vue3-child/src/main.js +0 -18
  54. package/app/wujie-wk/wujie-vue3-child/src/router/index.js +0 -104
  55. package/app/wujie-wk/wujie-vue3-child/src/store/tagsViewStroe.js +0 -34
  56. package/app/wujie-wk/wujie-vue3-child/src/style.css +0 -171
  57. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.jsx +0 -108
  58. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/collapseExpand/index.module.scss +0 -97
  59. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/README.md +0 -836
  60. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/REFLEX_EXAMPLES.md +0 -728
  61. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.jsx +0 -687
  62. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentPersonnelSelector.module.scss +0 -560
  63. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.jsx +0 -570
  64. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelector.module.scss +0 -330
  65. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.jsx +0 -378
  66. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/DepartmentSelectorV2.module.scss +0 -228
  67. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.jsx +0 -399
  68. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/OptionsSelector.module.scss +0 -252
  69. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.jsx +0 -585
  70. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PersonnelSelector.module.scss +0 -331
  71. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.jsx +0 -392
  72. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/PopoverSelector.module.scss +0 -39
  73. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/README.md +0 -248
  74. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/components/SelectorTrigger.jsx +0 -194
  75. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/index.jsx +0 -1459
  76. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/departmentPersonnel/mockData.js +0 -301
  77. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.jsx +0 -182
  78. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/dialogueSegment/index.module.scss +0 -28
  79. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/index.jsx +0 -375
  80. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.jsx +0 -121
  81. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ChartsPanel/index.module.scss +0 -76
  82. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/DonutChart/index.jsx +0 -104
  83. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.jsx +0 -75
  84. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/PracticeTable/index.module.scss +0 -12
  85. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.jsx +0 -62
  86. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankBarChart/index.module.scss +0 -43
  87. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.jsx +0 -29
  88. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingGroup/index.module.scss +0 -5
  89. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.jsx +0 -58
  90. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/RankingList/index.module.scss +0 -85
  91. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.jsx +0 -92
  92. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/ScriptStatsPanel/index.module.scss +0 -56
  93. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.jsx +0 -40
  94. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/StatCardsRow/index.module.scss +0 -53
  95. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsDonut.jsx +0 -106
  96. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/components/echarts/EchartsRankBar.jsx +0 -132
  97. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.jsx +0 -176
  98. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/practiceStatus/index.module.scss +0 -96
  99. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.jsx +0 -162
  100. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/CoachReport/index.module.scss +0 -16
  101. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.jsx +0 -29
  102. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ComprehensiveEvaluation/index.module.scss +0 -25
  103. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.jsx +0 -106
  104. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueBubble/index.module.scss +0 -164
  105. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.jsx +0 -182
  106. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DialogueRecord/index.module.scss +0 -203
  107. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.jsx +0 -145
  108. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionDetail/index.module.scss +0 -126
  109. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.jsx +0 -67
  110. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/DimensionScores/index.module.scss +0 -105
  111. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.jsx +0 -81
  112. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ReportHeader/index.module.scss +0 -47
  113. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.jsx +0 -64
  114. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/RoleInfo/index.module.scss +0 -85
  115. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.jsx +0 -39
  116. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/ScoreBadge/index.module.scss +0 -44
  117. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.jsx +0 -83
  118. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/components/SubDimensionItem/index.module.scss +0 -101
  119. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.jsx +0 -50
  120. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/reportDetail/index.module.scss +0 -25
  121. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.jsx +0 -196
  122. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/index.module.scss +0 -41
  123. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.jsx +0 -183
  124. package/app/wujie-wk/wujie-vue3-child/src/views/aiCoach/scriptTable/inputColumn/index.module.scss +0 -115
  125. package/app/wujie-wk/wujie-vue3-child/src/views/child-to-parent.vue +0 -117
  126. package/app/wujie-wk/wujie-vue3-child/src/views/home.vue +0 -53
  127. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/btnSelect.vue +0 -169
  128. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/btnSelect/index.vue +0 -69
  129. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/com.vue +0 -44
  130. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/dialog.jsx +0 -66
  131. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/index.vue +0 -72
  132. package/app/wujie-wk/wujie-vue3-child/src/views/jsx/props.vue +0 -33
  133. package/app/wujie-wk/wujie-vue3-child/src/views/parent-to-child.vue +0 -225
  134. package/app/wujie-wk/wujie-vue3-child/src/views/phone-code.vue +0 -318
  135. package/app/wujie-wk/wujie-vue3-child/src/views/router-jump.vue +0 -123
  136. package/app/wujie-wk/wujie-vue3-child/src/views/test.vue +0 -192
  137. package/app/wujie-wk/wujie-vue3-child/vite.config.js +0 -15
  138. package/app/wujie-wk/wujie-vue3-child copy/.vscode/extensions.json +0 -3
  139. package/app/wujie-wk/wujie-vue3-child copy/README.md +0 -5
  140. package/app/wujie-wk/wujie-vue3-child copy/index.html +0 -13
  141. package/app/wujie-wk/wujie-vue3-child copy/package-lock.json +0 -4617
  142. package/app/wujie-wk/wujie-vue3-child copy/package.json +0 -22
  143. package/app/wujie-wk/wujie-vue3-child copy/public/vite.svg +0 -1
  144. package/app/wujie-wk/wujie-vue3-child copy/src/App.vue +0 -124
  145. package/app/wujie-wk/wujie-vue3-child copy/src/assets/vue.svg +0 -1
  146. package/app/wujie-wk/wujie-vue3-child copy/src/components/HelloWorld.vue +0 -43
  147. package/app/wujie-wk/wujie-vue3-child copy/src/main.js +0 -12
  148. package/app/wujie-wk/wujie-vue3-child copy/src/router/index.js +0 -84
  149. package/app/wujie-wk/wujie-vue3-child copy/src/style.css +0 -4
  150. package/app/wujie-wk/wujie-vue3-child copy/src/views/child-to-parent.vue +0 -117
  151. package/app/wujie-wk/wujie-vue3-child copy/src/views/home.vue +0 -53
  152. package/app/wujie-wk/wujie-vue3-child copy/src/views/parent-to-child.vue +0 -225
  153. package/app/wujie-wk/wujie-vue3-child copy/src/views/phone-code.vue +0 -318
  154. package/app/wujie-wk/wujie-vue3-child copy/src/views/router-jump.vue +0 -115
  155. package/app/wujie-wk/wujie-vue3-child copy/src/views/test.vue +0 -192
  156. package/app/wujie-wk/wujie-vue3-child copy/vite.config.js +0 -10
  157. package/app/wujie-wk/wujie-vue3-main/.vscode/extensions.json +0 -3
  158. package/app/wujie-wk/wujie-vue3-main/README.md +0 -154
  159. package/app/wujie-wk/wujie-vue3-main/index.html +0 -13
  160. package/app/wujie-wk/wujie-vue3-main/package-lock.json +0 -4736
  161. package/app/wujie-wk/wujie-vue3-main/package.json +0 -25
  162. package/app/wujie-wk/wujie-vue3-main/public/vite.svg +0 -1
  163. package/app/wujie-wk/wujie-vue3-main/src/App.vue +0 -879
  164. package/app/wujie-wk/wujie-vue3-main/src/assets/vue.svg +0 -1
  165. package/app/wujie-wk/wujie-vue3-main/src/components/HelloWorld.vue +0 -43
  166. package/app/wujie-wk/wujie-vue3-main/src/components/WujieReact/index.vue +0 -20
  167. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue2/index.vue +0 -8
  168. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3/index.vue +0 -8
  169. package/app/wujie-wk/wujie-vue3-main/src/components/WujieVue3Copy/index.vue +0 -8
  170. package/app/wujie-wk/wujie-vue3-main/src/main.js +0 -23
  171. package/app/wujie-wk/wujie-vue3-main/src/router/index.js +0 -88
  172. package/app/wujie-wk/wujie-vue3-main/src/store/useMicroAppStore.js +0 -66
  173. package/app/wujie-wk/wujie-vue3-main/src/style.css +0 -3
  174. package/app/wujie-wk/wujie-vue3-main/src/views/home.vue +0 -103
  175. package/app/wujie-wk/wujie-vue3-main/src/views/router-jump.vue +0 -159
  176. package/app/wujie-wk/wujie-vue3-main/src/views/test.vue +0 -125
  177. package/app/wujie-wk/wujie-vue3-main/src/views/vue3-child-msg.vue +0 -108
  178. package/app/wujie-wk/wujie-vue3-main/vite.config.js +0 -12
@@ -1,22 +0,0 @@
1
- {
2
- "name": "wujie-vue3-child",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "vite build",
9
- "preview": "vite preview"
10
- },
11
- "dependencies": {
12
- "dayjs": "^1.11.13",
13
- "element-plus": "^2.9.1",
14
- "pinia-plugin-persistedstate": "^4.2.0",
15
- "vue": "^3.5.13",
16
- "vue-router": "^4.5.0"
17
- },
18
- "devDependencies": {
19
- "@vitejs/plugin-vue": "^5.2.1",
20
- "vite": "^6.0.5"
21
- }
22
- }
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
@@ -1,124 +0,0 @@
1
- <script setup>
2
- import { ref, computed } from 'vue'
3
- import { useRouter, useRoute } from 'vue-router'
4
- const router = useRouter()
5
- const route = useRoute()
6
-
7
- // 从路由配置生成菜单项
8
- const menuItems = computed(() =>
9
- router.options.routes.map((route, index) => ({
10
- index: String(index + 1),
11
- path: route.path,
12
- label: route.meta?.title || route.name,
13
- children: route.children?.map((child, childIndex) => ({
14
- index: `${index + 1}-${childIndex + 1}`,
15
- path: child.path,
16
- label: child.meta?.title || child.name
17
- }))
18
- }))
19
- )
20
-
21
- // 根据当前路由路径获取激活的菜单项
22
- const activeIndex = computed(() => {
23
- const currentPath = route.path
24
- for (const item of menuItems.value) {
25
- if (item.path === currentPath) return item.index
26
- const child = item.children?.find(child => child.path === currentPath)
27
- if (child) return child.index
28
- }
29
- return '1'
30
- })
31
-
32
- const handleSelect = (key) => {
33
- // 先查找主菜单项
34
- const mainItem = menuItems.value.find(item => item.index === key)
35
- if (mainItem && !mainItem.children) {
36
- router.push(mainItem.path)
37
- return
38
- }
39
-
40
- // 查找子菜单项
41
- for (const item of menuItems.value) {
42
- const childItem = item.children?.find(child => child.index === key)
43
- if (childItem) {
44
- router.push(childItem.path)
45
- return
46
- }
47
- }
48
- }
49
-
50
- window.$wujie?.bus.$on('router-jump', (data) => {
51
- if(data.app === 'vue3-child-copy'){
52
- router.push({
53
- path: data.path,
54
- query: data.query
55
- })
56
- }
57
- })
58
- window.$wujie?.bus.$emit('loaded', 'vue3-child-copy')
59
-
60
- </script>
61
-
62
- <template>
63
- <div class="app-container">
64
- <el-menu
65
- :default-active="activeIndex"
66
- class="el-menu-demo"
67
- mode="horizontal"
68
- @select="handleSelect"
69
- >
70
- <template v-for="item in menuItems" :key="item.index">
71
- <!-- 有子菜单的情况 -->
72
- <el-sub-menu v-if="item.children?.length" :index="item.index">
73
- <template #title>{{ item.label }}</template>
74
- <el-menu-item
75
- v-for="child in item.children"
76
- :key="child.index"
77
- :index="child.index"
78
- >
79
- {{ child.label }}
80
- </el-menu-item>
81
- </el-sub-menu>
82
- <!-- 没有子菜单的情况 -->
83
- <el-menu-item v-else :index="item.index">
84
- {{ item.label }}
85
- </el-menu-item>
86
- </template>
87
- </el-menu>
88
-
89
- <div class="content-container">
90
- <router-view></router-view>
91
- </div>
92
- </div>
93
- </template>
94
-
95
- <style scoped>
96
- .app-container {
97
- min-height: 100vh;
98
- }
99
-
100
- .el-menu-demo {
101
- padding-left: 20px;
102
- height: 40px; /* 减小菜单高度 */
103
- line-height: 40px; /* 确保文字垂直居中 */
104
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); /* 添加阴影效果 */
105
- }
106
-
107
- :deep(.el-menu-item) {
108
- height: 40px; /* 减小菜单项高度 */
109
- line-height: 40px; /* 确保文字垂直居中 */
110
- padding: 0 20px; /* 调整内边距 */
111
- font-size: 14px; /* 调整字体大小 */
112
- }
113
-
114
- .content-container {
115
- padding: 20px; /* 给内容区域添加内边距 */
116
- }
117
-
118
- /* 自定义菜单项悬停和激活状态的样式 */
119
- :deep(.el-menu-item:hover),
120
- :deep(.el-menu-item.is-active) {
121
- background-color: #f5f7fa; /* 更柔和的背景色 */
122
- color: #409eff; /* Element Plus 的主题蓝色 */
123
- }
124
- </style>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>
@@ -1,43 +0,0 @@
1
- <script setup>
2
- import { ref } from 'vue'
3
-
4
- defineProps({
5
- msg: String,
6
- })
7
-
8
- const count = ref(0)
9
- </script>
10
-
11
- <template>
12
- <h1>{{ msg }}</h1>
13
-
14
- <div class="card">
15
- <button type="button" @click="count++">count is {{ count }}</button>
16
- <p>
17
- Edit
18
- <code>components/HelloWorld.vue</code> to test HMR
19
- </p>
20
- </div>
21
-
22
- <p>
23
- Check out
24
- <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
25
- >create-vue</a
26
- >, the official Vue + Vite starter
27
- </p>
28
- <p>
29
- Learn more about IDE Support for Vue in the
30
- <a
31
- href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
32
- target="_blank"
33
- >Vue Docs Scaling up Guide</a
34
- >.
35
- </p>
36
- <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
37
- </template>
38
-
39
- <style scoped>
40
- .read-the-docs {
41
- color: #888;
42
- }
43
- </style>
@@ -1,12 +0,0 @@
1
- import { createApp } from 'vue'
2
- import router from './router' // 更新导入路径
3
- import './style.css'
4
- import App from './App.vue'
5
- import ElementPlus from 'element-plus'
6
- import 'element-plus/dist/index.css'
7
-
8
-
9
- const app = createApp(App)
10
- app.use(ElementPlus)
11
- app.use(router)
12
- app.mount('#app')
@@ -1,84 +0,0 @@
1
- import { createRouter, createWebHistory } from 'vue-router'
2
- import Home from '../views/home.vue'
3
- import Test from '../views/test.vue'
4
- import PhoneCode from '../views/phone-code.vue'
5
- import ChildToParent from '../views/child-to-parent.vue'
6
- import ParentToChild from '../views/parent-to-child.vue'
7
- import RouterJump from '../views/router-jump.vue'
8
- // 定义路由配置
9
- const router = createRouter({
10
- history: createWebHistory(),
11
- routes: [
12
- {
13
- path: '/',
14
- name: 'home',
15
- component: Home,
16
- meta: {
17
- title: '首页'
18
- }
19
- },
20
-
21
-
22
- // 通讯
23
- {
24
- path: '/contact',
25
- name: 'contact',
26
- meta: {
27
- title: '通讯'
28
- },
29
- children: [
30
- // 子通知父
31
- {
32
- path: '/contact/child-to-parent',
33
- name: 'child-to-parent',
34
- component: ChildToParent,
35
- meta: {
36
- title: '子通知父'
37
- }
38
- },
39
- // 父通知子
40
- {
41
- path: '/contact/parent-to-child',
42
- name: 'parent-to-child',
43
- component: ParentToChild,
44
- meta: {
45
- title: '父通知子'
46
- }
47
- }
48
- ]
49
- },
50
-
51
- // 手机验证码
52
- {
53
- path: '/phone-code',
54
- name: 'phone-code',
55
- component: PhoneCode,
56
- meta: {
57
- title: '手机验证码'
58
- }
59
- },
60
-
61
-
62
- // 路由跳转
63
- {
64
- path: '/router-jump',
65
- name: 'router-jump',
66
- component: RouterJump,
67
- meta: {
68
- title: '路由跳转'
69
- }
70
- },
71
-
72
- // 测试
73
- {
74
- path: '/test',
75
- name: 'test',
76
- component: Test,
77
- meta: {
78
- title: '测试'
79
- }
80
- }
81
- ]
82
- })
83
-
84
- export default router
@@ -1,4 +0,0 @@
1
- body {
2
- margin: 0;
3
- padding: 0;
4
- }
@@ -1,117 +0,0 @@
1
- <template>
2
- <div class="child-to-parent">
3
- <h1>子应用消息发送</h1>
4
- <div class="form-container">
5
- <div class="form-item">
6
- <label>标题:</label>
7
- <input type="text" v-model="formData.title" placeholder="请输入标题">
8
- </div>
9
- <div class="form-item">
10
- <label>消息:</label>
11
- <input type="text" v-model="formData.message" placeholder="请输入消息内容">
12
- </div>
13
- <div class="form-item">
14
- <label>类型:</label>
15
- <select v-model="formData.type">
16
- <option value="success">成功</option>
17
- <option value="warning">警告</option>
18
- <option value="error">错误</option>
19
- <option value="info">信息</option>
20
- </select>
21
- </div>
22
- <div class="form-item">
23
- <label>持续时间:</label>
24
- <input type="number" v-model="formData.duration" placeholder="持续时间(ms)">
25
- </div>
26
- <button class="submit-btn" @click="sendToParent">发送消息</button>
27
- </div>
28
- </div>
29
- </template>
30
-
31
- <script setup>
32
- import { reactive } from 'vue'
33
-
34
- const formData = reactive({
35
- title: 'vue3子应用测试title',
36
- message: 'vue3子应用测试消息',
37
- type: 'success',
38
- duration: 3000
39
- })
40
-
41
- const sendToParent = () => {
42
- window.$wujie?.bus.$emit('child-event', {
43
- message: formData.message,
44
- type: formData.type,
45
- duration: formData.duration,
46
- title: formData.title
47
- },'vue3子应用')
48
- }
49
- </script>
50
-
51
- <style scoped>
52
- .child-to-parent {
53
- padding: 20px;
54
- max-width: 600px;
55
- margin: 0 auto;
56
- }
57
-
58
- h1 {
59
- color: #333;
60
- margin-bottom: 30px;
61
- text-align: center;
62
- }
63
-
64
- .form-container {
65
- background: #fff;
66
- padding: 24px;
67
- border-radius: 8px;
68
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
69
- }
70
-
71
- .form-item {
72
- margin-bottom: 20px;
73
- display: flex;
74
- align-items: center;
75
- }
76
-
77
- label {
78
- width: 100px;
79
- text-align: right;
80
- padding-right: 12px;
81
- color: #606266;
82
- }
83
-
84
- input, select {
85
- flex: 1;
86
- height: 36px;
87
- line-height: 36px;
88
- padding: 0 12px;
89
- border: 1px solid #dcdfe6;
90
- border-radius: 4px;
91
- transition: border-color 0.2s;
92
- }
93
-
94
- input:focus, select:focus {
95
- outline: none;
96
- border-color: #409eff;
97
- }
98
-
99
- .submit-btn {
100
- width: 100%;
101
- height: 40px;
102
- background-color: #409eff;
103
- color: white;
104
- border: none;
105
- border-radius: 4px;
106
- cursor: pointer;
107
- transition: background-color 0.3s;
108
- }
109
-
110
- .submit-btn:hover {
111
- background-color: #66b1ff;
112
- }
113
-
114
- .submit-btn:active {
115
- background-color: #3a8ee6;
116
- }
117
- </style>
@@ -1,53 +0,0 @@
1
- // 主页
2
- <template>
3
- <div class="home-container">
4
- <h1 class="home-title">vue3-child-copy子应用主页(保活)</h1>
5
- <div class="home-content">
6
- <p class="welcome-text">欢迎使用无界微前端框架</p>
7
- <el-button @click="jumpToChild">跳转到测试页面</el-button>
8
- </div>
9
- </div>
10
- </template>
11
-
12
- <script setup>
13
- import { useRoute, useRouter } from 'vue-router'
14
-
15
- // 可以在这里添加组件逻辑
16
- // 获取路由参数
17
- const router = useRouter()
18
- const route = useRoute()
19
- const jumpToChild = () => {
20
- router.push('/test'+ '?name=123' )
21
- }
22
- </script>
23
-
24
- <style scoped>
25
- .home-container {
26
- padding: 2rem;
27
- max-width: 1200px;
28
- margin: 0 auto;
29
- min-height: 80vh;
30
- }
31
-
32
- .home-title {
33
- color: #2c3e50;
34
- font-size: 2.5rem;
35
- margin-bottom: 2rem;
36
- text-align: center;
37
- }
38
-
39
- .home-content {
40
- background-color: #f8f9fa;
41
- border-radius: 8px;
42
- padding: 2rem;
43
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
44
- }
45
-
46
- .welcome-text {
47
- font-size: 1.2rem;
48
- color: #666;
49
- text-align: center;
50
- line-height: 1.6;
51
- }
52
- </style>
53
-
@@ -1,225 +0,0 @@
1
- <template>
2
- <div class="parent-to-child">
3
- <h2 class="page-title">消息接收中心</h2>
4
-
5
- <div class="message-container">
6
- <div class="message-section">
7
- <div class="section-header">
8
- <h3>全局广播消息</h3>
9
- <el-button type="primary" size="small" @click="clearGlobalMessages">
10
- 清空消息
11
- </el-button>
12
- </div>
13
- <div class="message-list" v-if="globalMessages.length">
14
- <div v-for="(msg, index) in globalMessages"
15
- :key="index"
16
- class="message-item">
17
- <div class="message-header">
18
- <span class="message-time">{{ msg.time }}</span>
19
- <span class="message-type" :class="msg.type">{{ msg.type }}</span>
20
- </div>
21
- <h4 class="message-title">{{ msg.title }}</h4>
22
- <p class="message-content">{{ msg.message }}</p>
23
- </div>
24
- </div>
25
- <div v-else class="empty-message">
26
- 暂无消息
27
- </div>
28
- </div>
29
-
30
- <div class="message-section">
31
- <div class="section-header">
32
- <h3>定向消息</h3>
33
- <el-button type="primary" size="small" @click="clearDirectMessages">
34
- 清空消息
35
- </el-button>
36
- </div>
37
- <div class="message-list" v-if="directMessages.length">
38
- <div v-for="(msg, index) in directMessages"
39
- :key="index"
40
- class="message-item">
41
- <div class="message-header">
42
- <span class="message-time">{{ msg.time }}</span>
43
- <span class="message-type" :class="msg.type">{{ msg.type }}</span>
44
- </div>
45
- <h4 class="message-title">{{ msg.title }}</h4>
46
- <p class="message-content">{{ msg.message }}</p>
47
- </div>
48
- </div>
49
- <div v-else class="empty-message">
50
- 暂无消息
51
- </div>
52
- </div>
53
- </div>
54
- </div>
55
- </template>
56
-
57
- <script setup>
58
- import { ref, onMounted } from 'vue'
59
-
60
- const globalMessages = ref([])
61
- const directMessages = ref([])
62
-
63
- const formatTime = () => {
64
- const now = new Date()
65
- return `${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}`
66
- }
67
-
68
- const clearGlobalMessages = () => {
69
- globalMessages.value = []
70
- }
71
-
72
- const clearDirectMessages = () => {
73
- directMessages.value = []
74
- }
75
-
76
- onMounted(() => {
77
- // 监听全局广播消息
78
- window.$wujie?.bus.$on('global-message', (data) => {
79
- globalMessages.value.unshift({
80
- ...data,
81
- time: formatTime()
82
- })
83
- })
84
-
85
- // 监听定向消息
86
- window.$wujie?.bus.$on('vue3-child-message', (data) => {
87
- directMessages.value.unshift({
88
- ...data,
89
- time: formatTime()
90
- })
91
- })
92
- })
93
- </script>
94
-
95
- <style scoped>
96
- .parent-to-child {
97
- padding: 24px;
98
- background-color: #f5f7fa;
99
- min-height: 100vh;
100
- }
101
-
102
- .page-title {
103
- color: #303133;
104
- margin-bottom: 24px;
105
- font-size: 24px;
106
- }
107
-
108
- .message-container {
109
- display: grid;
110
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
111
- gap: 24px;
112
- }
113
-
114
- .message-section {
115
- background: white;
116
- border-radius: 8px;
117
- padding: 20px;
118
- box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
119
- }
120
-
121
- .section-header {
122
- display: flex;
123
- justify-content: space-between;
124
- align-items: center;
125
- margin-bottom: 16px;
126
- padding-bottom: 16px;
127
- border-bottom: 1px solid #ebeef5;
128
- }
129
-
130
- .section-header h3 {
131
- margin: 0;
132
- color: #303133;
133
- font-size: 18px;
134
- }
135
-
136
- .message-list {
137
- max-height: 500px;
138
- overflow-y: auto;
139
- }
140
-
141
- .message-item {
142
- padding: 12px;
143
- border-bottom: 1px solid #ebeef5;
144
- transition: background-color 0.3s;
145
- }
146
-
147
- .message-item:hover {
148
- background-color: #f5f7fa;
149
- }
150
-
151
- .message-time {
152
- font-size: 12px;
153
- color: #909399;
154
- }
155
-
156
- .message-content {
157
- margin: 8px 0 0;
158
- color: #606266;
159
- line-height: 1.5;
160
- }
161
-
162
- .empty-message {
163
- text-align: center;
164
- color: #909399;
165
- padding: 30px 0;
166
- }
167
-
168
- /* 滚动条样式 */
169
- .message-list::-webkit-scrollbar {
170
- width: 6px;
171
- }
172
-
173
- .message-list::-webkit-scrollbar-thumb {
174
- background: #c0c4cc;
175
- border-radius: 3px;
176
- }
177
-
178
- .message-list::-webkit-scrollbar-track {
179
- background: #f5f7fa;
180
- }
181
-
182
- .message-header {
183
- display: flex;
184
- justify-content: space-between;
185
- align-items: center;
186
- }
187
-
188
- .message-type {
189
- padding: 2px 6px;
190
- border-radius: 4px;
191
- font-size: 12px;
192
- }
193
-
194
- .message-type.info {
195
- background-color: #ecf5ff;
196
- color: #409eff;
197
- }
198
-
199
- .message-type.success {
200
- background-color: #f0f9eb;
201
- color: #67c23a;
202
- }
203
-
204
- .message-type.warning {
205
- background-color: #fdf6ec;
206
- color: #e6a23c;
207
- }
208
-
209
- .message-type.error {
210
- background-color: #fef0f0;
211
- color: #f56c6c;
212
- }
213
-
214
- .message-title {
215
- margin: 8px 0;
216
- font-size: 14px;
217
- color: #303133;
218
- }
219
-
220
- .message-content {
221
- margin: 8px 0 0;
222
- color: #606266;
223
- line-height: 1.5;
224
- }
225
- </style>