zcw-shared 2.4.0 → 2.8.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 (428) hide show
  1. package/dist/functions/android/integrateThirdPartyModule.d.ts +5 -0
  2. package/dist/functions/android/integrateThirdPartyModule.js +70 -0
  3. package/dist/functions/android/integrateThirdPartyModule.js.map +1 -1
  4. package/dist/functions/android/integrateUniPushAndroid.d.ts +23 -0
  5. package/dist/functions/android/integrateUniPushAndroid.js +266 -0
  6. package/dist/functions/android/integrateUniPushAndroid.js.map +1 -0
  7. package/dist/functions/api/auth.d.ts +14 -0
  8. package/dist/functions/api/auth.js +109 -0
  9. package/dist/functions/api/auth.js.map +1 -0
  10. package/dist/functions/api/schemas/auth.schema.d.ts +363 -0
  11. package/dist/functions/api/schemas/auth.schema.js +39 -0
  12. package/dist/functions/api/schemas/auth.schema.js.map +1 -0
  13. package/dist/functions/api/schemas/video.schema.d.ts +391 -0
  14. package/dist/functions/api/schemas/video.schema.js +55 -0
  15. package/dist/functions/api/schemas/video.schema.js.map +1 -0
  16. package/dist/functions/api/video.d.ts +62 -0
  17. package/dist/functions/api/video.js +243 -0
  18. package/dist/functions/api/video.js.map +1 -0
  19. package/dist/functions/browser/isElectron.d.ts +5 -0
  20. package/dist/functions/browser/isElectron.js +4 -0
  21. package/dist/functions/browser/isElectron.js.map +1 -0
  22. package/dist/functions/dom/isTextTruncated.d.ts +4 -0
  23. package/dist/functions/dom/isTextTruncated.js +16 -0
  24. package/dist/functions/dom/isTextTruncated.js.map +1 -0
  25. package/dist/functions/dom/localFileInput.d.ts +14 -0
  26. package/dist/functions/dom/localFileInput.js +27 -0
  27. package/dist/functions/dom/localFileInput.js.map +1 -0
  28. package/dist/functions/file/getIconfontNameByExtension.js +53 -56
  29. package/dist/functions/file/getIconfontNameByExtension.js.map +1 -1
  30. package/dist/functions/im/parseImMentionSegments.d.ts +15 -0
  31. package/dist/functions/im/parseImMentionSegments.js +56 -0
  32. package/dist/functions/im/parseImMentionSegments.js.map +1 -0
  33. package/dist/functions/ios/integrateThirdPartyModule.d.ts +9 -1
  34. package/dist/functions/ios/integrateThirdPartyModule.js +112 -2
  35. package/dist/functions/ios/integrateThirdPartyModule.js.map +1 -1
  36. package/dist/functions/ios/integrateUniPushIOS.d.ts +18 -0
  37. package/dist/functions/ios/integrateUniPushIOS.js +200 -0
  38. package/dist/functions/ios/integrateUniPushIOS.js.map +1 -0
  39. package/dist/functions/oss/uploadViaSignedPut.d.ts +35 -0
  40. package/dist/functions/oss/uploadViaSignedPut.js +86 -0
  41. package/dist/functions/oss/uploadViaSignedPut.js.map +1 -0
  42. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +38 -0
  43. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  44. package/dist/functions/uniapp/app-plus/buildIOSApp.js +38 -0
  45. package/dist/functions/uniapp/app-plus/buildIOSApp.js.map +1 -1
  46. package/dist/vue-hooks/dom/useAppendToBody.d.ts +25 -0
  47. package/dist/vue-hooks/dom/useAppendToBody.js +31 -0
  48. package/dist/vue-hooks/dom/useAppendToBody.js.map +1 -0
  49. package/dist/vue-hooks/dom/useDraggable.d.ts +8 -3
  50. package/dist/vue-hooks/dom/useDraggable.js +57 -19
  51. package/dist/vue-hooks/dom/useDraggable.js.map +1 -1
  52. package/package.json +11 -1
  53. package/references/dom.d.ts +8 -3
  54. package/types/im-api.d.ts +26 -2
  55. package/types/im-chat.d.ts +42 -1
  56. package/types/im-message-display.d.ts +89 -0
  57. package/types/uniapp-android-build.d.ts +31 -0
  58. package/types/uniapp-ios-build.d.ts +26 -0
  59. package/types/user.d.ts +2 -1
  60. package/dist/functions/async/sleep.d.ts +0 -5
  61. package/dist/functions/async/sleep.js +0 -6
  62. package/dist/functions/async/sleep.js.map +0 -1
  63. package/dist/functions/async/timeout.d.ts +0 -6
  64. package/dist/functions/async/timeout.js +0 -12
  65. package/dist/functions/async/timeout.js.map +0 -1
  66. package/dist/functions/browser/computePosition.d.ts +0 -6
  67. package/dist/functions/browser/computePosition.js +0 -49
  68. package/dist/functions/browser/computePosition.js.map +0 -1
  69. package/dist/functions/browser/createSharedKeyboardCenter.d.ts +0 -18
  70. package/dist/functions/browser/createSharedKeyboardCenter.js +0 -58
  71. package/dist/functions/browser/createSharedKeyboardCenter.js.map +0 -1
  72. package/dist/functions/browser/createThrottledEventListener.d.ts +0 -11
  73. package/dist/functions/browser/createThrottledEventListener.js +0 -51
  74. package/dist/functions/browser/createThrottledEventListener.js.map +0 -1
  75. package/dist/functions/browser/demonstrateResourceLoading.d.ts +0 -32
  76. package/dist/functions/browser/demonstrateResourceLoading.js +0 -169
  77. package/dist/functions/browser/demonstrateResourceLoading.js.map +0 -1
  78. package/dist/functions/browser/detectOverflow.d.ts +0 -12
  79. package/dist/functions/browser/detectOverflow.js +0 -17
  80. package/dist/functions/browser/detectOverflow.js.map +0 -1
  81. package/dist/functions/browser/getAlignment.d.ts +0 -2
  82. package/dist/functions/browser/getAlignment.js +0 -5
  83. package/dist/functions/browser/getAlignment.js.map +0 -1
  84. package/dist/functions/browser/getBasePlacement.d.ts +0 -2
  85. package/dist/functions/browser/getBasePlacement.js +0 -4
  86. package/dist/functions/browser/getBasePlacement.js.map +0 -1
  87. package/dist/functions/browser/getCrossAxisFlip.d.ts +0 -2
  88. package/dist/functions/browser/getCrossAxisFlip.js +0 -11
  89. package/dist/functions/browser/getCrossAxisFlip.js.map +0 -1
  90. package/dist/functions/browser/getElementRect.d.ts +0 -3
  91. package/dist/functions/browser/getElementRect.js +0 -14
  92. package/dist/functions/browser/getElementRect.js.map +0 -1
  93. package/dist/functions/browser/getFlipPlacements.d.ts +0 -2
  94. package/dist/functions/browser/getFlipPlacements.js +0 -13
  95. package/dist/functions/browser/getFlipPlacements.js.map +0 -1
  96. package/dist/functions/browser/getMainAxisFlip.d.ts +0 -2
  97. package/dist/functions/browser/getMainAxisFlip.js +0 -17
  98. package/dist/functions/browser/getMainAxisFlip.js.map +0 -1
  99. package/dist/functions/browser/getRelativePosition.d.ts +0 -3
  100. package/dist/functions/browser/getRelativePosition.js +0 -14
  101. package/dist/functions/browser/getRelativePosition.js.map +0 -1
  102. package/dist/functions/browser/getViewportRect.d.ts +0 -7
  103. package/dist/functions/browser/getViewportRect.js +0 -15
  104. package/dist/functions/browser/getViewportRect.js.map +0 -1
  105. package/dist/functions/browser/isValidPlacement.d.ts +0 -2
  106. package/dist/functions/browser/isValidPlacement.js +0 -16
  107. package/dist/functions/browser/isValidPlacement.js.map +0 -1
  108. package/dist/functions/browser/pickFile.d.ts +0 -15
  109. package/dist/functions/browser/pickFile.js +0 -48
  110. package/dist/functions/browser/pickFile.js.map +0 -1
  111. package/dist/functions/build/generateExports.d.ts +0 -26
  112. package/dist/functions/build/generateExports.js +0 -34
  113. package/dist/functions/build/generateExports.js.map +0 -1
  114. package/dist/functions/core/diff/diff.d.ts +0 -25
  115. package/dist/functions/core/diff/diff.js +0 -316
  116. package/dist/functions/core/diff/diff.js.map +0 -1
  117. package/dist/functions/core/diff/vueDiff.d.ts +0 -38
  118. package/dist/functions/core/diff/vueDiff.js +0 -333
  119. package/dist/functions/core/diff/vueDiff.js.map +0 -1
  120. package/dist/functions/core/generator/generatorUtils.d.ts +0 -16
  121. package/dist/functions/core/generator/generatorUtils.js +0 -139
  122. package/dist/functions/core/generator/generatorUtils.js.map +0 -1
  123. package/dist/functions/core/type/isType.d.ts +0 -11
  124. package/dist/functions/core/type/isType.js +0 -30
  125. package/dist/functions/core/type/isType.js.map +0 -1
  126. package/dist/functions/data/array-object/chunk.d.ts +0 -1
  127. package/dist/functions/data/array-object/chunk.js +0 -11
  128. package/dist/functions/data/array-object/chunk.js.map +0 -1
  129. package/dist/functions/data/array-object/deepClone.d.ts +0 -12
  130. package/dist/functions/data/array-object/deepClone.js +0 -131
  131. package/dist/functions/data/array-object/deepClone.js.map +0 -1
  132. package/dist/functions/data/array-object/evolve.d.ts +0 -3
  133. package/dist/functions/data/array-object/evolve.js +0 -15
  134. package/dist/functions/data/array-object/evolve.js.map +0 -1
  135. package/dist/functions/data/array-object/flatten.d.ts +0 -7
  136. package/dist/functions/data/array-object/flatten.js +0 -60
  137. package/dist/functions/data/array-object/flatten.js.map +0 -1
  138. package/dist/functions/data/array-object/flattenObject.d.ts +0 -5
  139. package/dist/functions/data/array-object/flattenObject.js +0 -102
  140. package/dist/functions/data/array-object/flattenObject.js.map +0 -1
  141. package/dist/functions/data/array-object/groupBy.d.ts +0 -1
  142. package/dist/functions/data/array-object/groupBy.js +0 -14
  143. package/dist/functions/data/array-object/groupBy.js.map +0 -1
  144. package/dist/functions/data/array-object/omit.d.ts +0 -1
  145. package/dist/functions/data/array-object/omit.js +0 -8
  146. package/dist/functions/data/array-object/omit.js.map +0 -1
  147. package/dist/functions/data/array-object/pick.d.ts +0 -1
  148. package/dist/functions/data/array-object/pick.js +0 -10
  149. package/dist/functions/data/array-object/pick.js.map +0 -1
  150. package/dist/functions/data/array-object/shuffle.d.ts +0 -1
  151. package/dist/functions/data/array-object/shuffle.js +0 -9
  152. package/dist/functions/data/array-object/shuffle.js.map +0 -1
  153. package/dist/functions/data/array-object/sortBy.d.ts +0 -1
  154. package/dist/functions/data/array-object/sortBy.js +0 -13
  155. package/dist/functions/data/array-object/sortBy.js.map +0 -1
  156. package/dist/functions/data/array-object/unique.d.ts +0 -10
  157. package/dist/functions/data/array-object/unique.js +0 -85
  158. package/dist/functions/data/array-object/unique.js.map +0 -1
  159. package/dist/functions/data/date/dateRange.d.ts +0 -1
  160. package/dist/functions/data/date/dateRange.js +0 -18
  161. package/dist/functions/data/date/dateRange.js.map +0 -1
  162. package/dist/functions/data/date/formatDate.d.ts +0 -1
  163. package/dist/functions/data/date/formatDate.js +0 -21
  164. package/dist/functions/data/date/formatDate.js.map +0 -1
  165. package/dist/functions/data/date/timeAgo.d.ts +0 -1
  166. package/dist/functions/data/date/timeAgo.js +0 -49
  167. package/dist/functions/data/date/timeAgo.js.map +0 -1
  168. package/dist/functions/data/number/average.d.ts +0 -1
  169. package/dist/functions/data/number/average.js +0 -8
  170. package/dist/functions/data/number/average.js.map +0 -1
  171. package/dist/functions/data/number/clamp.d.ts +0 -1
  172. package/dist/functions/data/number/clamp.js +0 -7
  173. package/dist/functions/data/number/clamp.js.map +0 -1
  174. package/dist/functions/data/number/formatNumber.d.ts +0 -8
  175. package/dist/functions/data/number/formatNumber.js +0 -16
  176. package/dist/functions/data/number/formatNumber.js.map +0 -1
  177. package/dist/functions/data/number/median.d.ts +0 -1
  178. package/dist/functions/data/number/median.js +0 -14
  179. package/dist/functions/data/number/median.js.map +0 -1
  180. package/dist/functions/data/number/percentile.d.ts +0 -1
  181. package/dist/functions/data/number/percentile.js +0 -18
  182. package/dist/functions/data/number/percentile.js.map +0 -1
  183. package/dist/functions/data/number/random.d.ts +0 -4
  184. package/dist/functions/data/number/random.js +0 -9
  185. package/dist/functions/data/number/random.js.map +0 -1
  186. package/dist/functions/data/number/range.d.ts +0 -1
  187. package/dist/functions/data/number/range.js +0 -18
  188. package/dist/functions/data/number/range.js.map +0 -1
  189. package/dist/functions/data/number/sum.d.ts +0 -1
  190. package/dist/functions/data/number/sum.js +0 -4
  191. package/dist/functions/data/number/sum.js.map +0 -1
  192. package/dist/functions/data/randomRegion.d.ts +0 -24
  193. package/dist/functions/data/randomRegion.js +0 -74
  194. package/dist/functions/data/randomRegion.js.map +0 -1
  195. package/dist/functions/data/string/base64.d.ts +0 -5
  196. package/dist/functions/data/string/base64.js +0 -6
  197. package/dist/functions/data/string/base64.js.map +0 -1
  198. package/dist/functions/data/string/capitalize.d.ts +0 -1
  199. package/dist/functions/data/string/capitalize.js +0 -6
  200. package/dist/functions/data/string/capitalize.js.map +0 -1
  201. package/dist/functions/data/string/caseConverter.d.ts +0 -19
  202. package/dist/functions/data/string/caseConverter.js +0 -94
  203. package/dist/functions/data/string/caseConverter.js.map +0 -1
  204. package/dist/functions/data/string/desensitize.d.ts +0 -13
  205. package/dist/functions/data/string/desensitize.js +0 -107
  206. package/dist/functions/data/string/desensitize.js.map +0 -1
  207. package/dist/functions/data/string/htmlEscape.d.ts +0 -20
  208. package/dist/functions/data/string/htmlEscape.js +0 -80
  209. package/dist/functions/data/string/htmlEscape.js.map +0 -1
  210. package/dist/functions/data/string/levenshtein.d.ts +0 -1
  211. package/dist/functions/data/string/levenshtein.js +0 -27
  212. package/dist/functions/data/string/levenshtein.js.map +0 -1
  213. package/dist/functions/data/string/normalize.d.ts +0 -8
  214. package/dist/functions/data/string/normalize.js +0 -37
  215. package/dist/functions/data/string/normalize.js.map +0 -1
  216. package/dist/functions/data/string/pad.d.ts +0 -13
  217. package/dist/functions/data/string/pad.js +0 -50
  218. package/dist/functions/data/string/pad.js.map +0 -1
  219. package/dist/functions/data/string/palindrome.d.ts +0 -3
  220. package/dist/functions/data/string/palindrome.js +0 -15
  221. package/dist/functions/data/string/palindrome.js.map +0 -1
  222. package/dist/functions/data/string/similarity.d.ts +0 -1
  223. package/dist/functions/data/string/similarity.js +0 -13
  224. package/dist/functions/data/string/similarity.js.map +0 -1
  225. package/dist/functions/data/string/template.d.ts +0 -4
  226. package/dist/functions/data/string/template.js +0 -21
  227. package/dist/functions/data/string/template.js.map +0 -1
  228. package/dist/functions/data/string/testRegex.d.ts +0 -20
  229. package/dist/functions/data/string/testRegex.js +0 -300
  230. package/dist/functions/data/string/testRegex.js.map +0 -1
  231. package/dist/functions/data/string/wordCount.d.ts +0 -5
  232. package/dist/functions/data/string/wordCount.js +0 -11
  233. package/dist/functions/data/string/wordCount.js.map +0 -1
  234. package/dist/functions/data/tree/buildTree.d.ts +0 -7
  235. package/dist/functions/data/tree/buildTree.js +0 -27
  236. package/dist/functions/data/tree/buildTree.js.map +0 -1
  237. package/dist/functions/data/tree/filterTree.d.ts +0 -4
  238. package/dist/functions/data/tree/filterTree.js +0 -21
  239. package/dist/functions/data/tree/filterTree.js.map +0 -1
  240. package/dist/functions/data/tree/findNode.d.ts +0 -4
  241. package/dist/functions/data/tree/findNode.js +0 -21
  242. package/dist/functions/data/tree/findNode.js.map +0 -1
  243. package/dist/functions/data/tree/flattenTree.d.ts +0 -6
  244. package/dist/functions/data/tree/flattenTree.js +0 -21
  245. package/dist/functions/data/tree/flattenTree.js.map +0 -1
  246. package/dist/functions/file/walk.d.ts +0 -18
  247. package/dist/functions/file/walk.js +0 -58
  248. package/dist/functions/file/walk.js.map +0 -1
  249. package/dist/functions/hybrid/detectBridgeEnvironment.d.ts +0 -11
  250. package/dist/functions/hybrid/detectBridgeEnvironment.js +0 -26
  251. package/dist/functions/hybrid/detectBridgeEnvironment.js.map +0 -1
  252. package/dist/functions/integrations/ag-grid/generateLicense.d.ts +0 -7
  253. package/dist/functions/integrations/ag-grid/generateLicense.js +0 -12
  254. package/dist/functions/integrations/ag-grid/generateLicense.js.map +0 -1
  255. package/dist/functions/integrations/uniapp/app-plus/buildAndroidApp.d.ts +0 -30
  256. package/dist/functions/integrations/uniapp/app-plus/buildAndroidApp.js +0 -884
  257. package/dist/functions/integrations/uniapp/app-plus/buildAndroidApp.js.map +0 -1
  258. package/dist/functions/integrations/uniapp/app-plus/buildIOSApp.d.ts +0 -31
  259. package/dist/functions/integrations/uniapp/app-plus/buildIOSApp.js +0 -900
  260. package/dist/functions/integrations/uniapp/app-plus/buildIOSApp.js.map +0 -1
  261. package/dist/functions/integrations/uniapp/build.d.ts +0 -21
  262. package/dist/functions/integrations/uniapp/build.js +0 -83
  263. package/dist/functions/integrations/uniapp/build.js.map +0 -1
  264. package/dist/functions/integrations/uniapp/detectAndroidProjectStructure.d.ts +0 -11
  265. package/dist/functions/integrations/uniapp/detectAndroidProjectStructure.js +0 -30
  266. package/dist/functions/integrations/uniapp/detectAndroidProjectStructure.js.map +0 -1
  267. package/dist/functions/integrations/uniapp/detectProjectType.d.ts +0 -20
  268. package/dist/functions/integrations/uniapp/detectProjectType.js +0 -68
  269. package/dist/functions/integrations/uniapp/detectProjectType.js.map +0 -1
  270. package/dist/functions/integrations/uniapp/parseManifest.d.ts +0 -20
  271. package/dist/functions/integrations/uniapp/parseManifest.js +0 -51
  272. package/dist/functions/integrations/uniapp/parseManifest.js.map +0 -1
  273. package/dist/functions/integrations/uniapp/waitForPages.d.ts +0 -7
  274. package/dist/functions/integrations/uniapp/waitForPages.js +0 -20
  275. package/dist/functions/integrations/uniapp/waitForPages.js.map +0 -1
  276. package/dist/functions/integrations/vue/dynamicMount.d.ts +0 -18
  277. package/dist/functions/integrations/vue/dynamicMount.js +0 -25
  278. package/dist/functions/integrations/vue/dynamicMount.js.map +0 -1
  279. package/dist/functions/integrations/vue/extractColorsFromVueFile.d.ts +0 -3
  280. package/dist/functions/integrations/vue/extractColorsFromVueFile.js +0 -18
  281. package/dist/functions/integrations/vue/extractColorsFromVueFile.js.map +0 -1
  282. package/dist/functions/integrations/vue/extractColorsFromVueSection.d.ts +0 -3
  283. package/dist/functions/integrations/vue/extractColorsFromVueSection.js +0 -53
  284. package/dist/functions/integrations/vue/extractColorsFromVueSection.js.map +0 -1
  285. package/dist/functions/integrations/vue/filterSections.d.ts +0 -2
  286. package/dist/functions/integrations/vue/filterSections.js +0 -11
  287. package/dist/functions/integrations/vue/filterSections.js.map +0 -1
  288. package/dist/functions/integrations/vue/isVNode.d.ts +0 -2
  289. package/dist/functions/integrations/vue/isVNode.js +0 -6
  290. package/dist/functions/integrations/vue/isVNode.js.map +0 -1
  291. package/dist/functions/integrations/vue/isVueComponent.d.ts +0 -2
  292. package/dist/functions/integrations/vue/isVueComponent.js +0 -6
  293. package/dist/functions/integrations/vue/isVueComponent.js.map +0 -1
  294. package/dist/functions/integrations/vue/parseVueFile.d.ts +0 -2
  295. package/dist/functions/integrations/vue/parseVueFile.js +0 -53
  296. package/dist/functions/integrations/vue/parseVueFile.js.map +0 -1
  297. package/dist/functions/integrations/wechat/miniapp/downloadFile.d.ts +0 -6
  298. package/dist/functions/integrations/wechat/miniapp/downloadFile.js +0 -39
  299. package/dist/functions/integrations/wechat/miniapp/downloadFile.js.map +0 -1
  300. package/dist/functions/patterns/MyPromise.d.ts +0 -32
  301. package/dist/functions/patterns/MyPromise.js +0 -254
  302. package/dist/functions/patterns/MyPromise.js.map +0 -1
  303. package/dist/functions/patterns/functionBind.d.ts +0 -4
  304. package/dist/functions/patterns/functionBind.js +0 -33
  305. package/dist/functions/patterns/functionBind.js.map +0 -1
  306. package/dist/functions/patterns/myInstanceof.d.ts +0 -5
  307. package/dist/functions/patterns/myInstanceof.js +0 -56
  308. package/dist/functions/patterns/myInstanceof.js.map +0 -1
  309. package/dist/functions/patterns/myNew.d.ts +0 -3
  310. package/dist/functions/patterns/myNew.js +0 -19
  311. package/dist/functions/patterns/myNew.js.map +0 -1
  312. package/dist/functions/platform/android/buildProject.d.ts +0 -13
  313. package/dist/functions/platform/android/buildProject.js +0 -122
  314. package/dist/functions/platform/android/buildProject.js.map +0 -1
  315. package/dist/functions/platform/android/configureAppIcon.d.ts +0 -17
  316. package/dist/functions/platform/android/configureAppIcon.js +0 -106
  317. package/dist/functions/platform/android/configureAppIcon.js.map +0 -1
  318. package/dist/functions/platform/android/configureLaunchScreen.d.ts +0 -21
  319. package/dist/functions/platform/android/configureLaunchScreen.js +0 -328
  320. package/dist/functions/platform/android/configureLaunchScreen.js.map +0 -1
  321. package/dist/functions/platform/android/detectAndroidModules.d.ts +0 -8
  322. package/dist/functions/platform/android/detectAndroidModules.js +0 -21
  323. package/dist/functions/platform/android/detectAndroidModules.js.map +0 -1
  324. package/dist/functions/platform/android/integrateFacebookLogin.d.ts +0 -12
  325. package/dist/functions/platform/android/integrateFacebookLogin.js +0 -91
  326. package/dist/functions/platform/android/integrateFacebookLogin.js.map +0 -1
  327. package/dist/functions/platform/android/integrateGoogleLogin.d.ts +0 -10
  328. package/dist/functions/platform/android/integrateGoogleLogin.js +0 -199
  329. package/dist/functions/platform/android/integrateGoogleLogin.js.map +0 -1
  330. package/dist/functions/platform/android/integrateMiuiLogin.d.ts +0 -13
  331. package/dist/functions/platform/android/integrateMiuiLogin.js +0 -115
  332. package/dist/functions/platform/android/integrateMiuiLogin.js.map +0 -1
  333. package/dist/functions/platform/android/integrateQQLogin.d.ts +0 -12
  334. package/dist/functions/platform/android/integrateQQLogin.js +0 -130
  335. package/dist/functions/platform/android/integrateQQLogin.js.map +0 -1
  336. package/dist/functions/platform/android/integrateShareTrace.d.ts +0 -10
  337. package/dist/functions/platform/android/integrateShareTrace.js +0 -181
  338. package/dist/functions/platform/android/integrateShareTrace.js.map +0 -1
  339. package/dist/functions/platform/android/integrateSinaLogin.d.ts +0 -13
  340. package/dist/functions/platform/android/integrateSinaLogin.js +0 -85
  341. package/dist/functions/platform/android/integrateSinaLogin.js.map +0 -1
  342. package/dist/functions/platform/android/integrateThirdPartyModule.d.ts +0 -46
  343. package/dist/functions/platform/android/integrateThirdPartyModule.js +0 -251
  344. package/dist/functions/platform/android/integrateThirdPartyModule.js.map +0 -1
  345. package/dist/functions/platform/android/integrateUniAppNativePlugin.d.ts +0 -22
  346. package/dist/functions/platform/android/integrateUniAppNativePlugin.js +0 -631
  347. package/dist/functions/platform/android/integrateUniAppNativePlugin.js.map +0 -1
  348. package/dist/functions/platform/android/integrateUniverifyLogin.d.ts +0 -11
  349. package/dist/functions/platform/android/integrateUniverifyLogin.js +0 -314
  350. package/dist/functions/platform/android/integrateUniverifyLogin.js.map +0 -1
  351. package/dist/functions/platform/android/integrateWechatLogin.d.ts +0 -13
  352. package/dist/functions/platform/android/integrateWechatLogin.js +0 -154
  353. package/dist/functions/platform/android/integrateWechatLogin.js.map +0 -1
  354. package/dist/functions/platform/android/integrateWechatShare.d.ts +0 -13
  355. package/dist/functions/platform/android/integrateWechatShare.js +0 -154
  356. package/dist/functions/platform/android/integrateWechatShare.js.map +0 -1
  357. package/dist/functions/platform/android/modifyGradle.d.ts +0 -28
  358. package/dist/functions/platform/android/modifyGradle.js +0 -119
  359. package/dist/functions/platform/android/modifyGradle.js.map +0 -1
  360. package/dist/functions/platform/android/modifyManifest.d.ts +0 -39
  361. package/dist/functions/platform/android/modifyManifest.js +0 -225
  362. package/dist/functions/platform/android/modifyManifest.js.map +0 -1
  363. package/dist/functions/platform/android/permission.d.ts +0 -54
  364. package/dist/functions/platform/android/permission.js +0 -85
  365. package/dist/functions/platform/android/permission.js.map +0 -1
  366. package/dist/functions/platform/ios/configureAppIcon.d.ts +0 -17
  367. package/dist/functions/platform/ios/configureAppIcon.js +0 -149
  368. package/dist/functions/platform/ios/configureAppIcon.js.map +0 -1
  369. package/dist/functions/platform/ios/configureLaunchScreen.d.ts +0 -17
  370. package/dist/functions/platform/ios/configureLaunchScreen.js +0 -150
  371. package/dist/functions/platform/ios/configureLaunchScreen.js.map +0 -1
  372. package/dist/functions/platform/ios/configurePermissions.d.ts +0 -19
  373. package/dist/functions/platform/ios/configurePermissions.js +0 -120
  374. package/dist/functions/platform/ios/configurePermissions.js.map +0 -1
  375. package/dist/functions/platform/ios/integrateNativePlugin.d.ts +0 -35
  376. package/dist/functions/platform/ios/integrateNativePlugin.js +0 -994
  377. package/dist/functions/platform/ios/integrateNativePlugin.js.map +0 -1
  378. package/dist/functions/platform/ios/integrateQQShare.d.ts +0 -14
  379. package/dist/functions/platform/ios/integrateQQShare.js +0 -132
  380. package/dist/functions/platform/ios/integrateQQShare.js.map +0 -1
  381. package/dist/functions/platform/ios/integrateSinaShare.d.ts +0 -16
  382. package/dist/functions/platform/ios/integrateSinaShare.js +0 -108
  383. package/dist/functions/platform/ios/integrateSinaShare.js.map +0 -1
  384. package/dist/functions/platform/ios/integrateThirdPartyModule.d.ts +0 -62
  385. package/dist/functions/platform/ios/integrateThirdPartyModule.js +0 -883
  386. package/dist/functions/platform/ios/integrateThirdPartyModule.js.map +0 -1
  387. package/dist/functions/platform/ios/integrateWechatOauth.d.ts +0 -14
  388. package/dist/functions/platform/ios/integrateWechatOauth.js +0 -107
  389. package/dist/functions/platform/ios/integrateWechatOauth.js.map +0 -1
  390. package/dist/functions/platform/ios/integrateWechatShare.d.ts +0 -14
  391. package/dist/functions/platform/ios/integrateWechatShare.js +0 -101
  392. package/dist/functions/platform/ios/integrateWechatShare.js.map +0 -1
  393. package/dist/functions/platform/ios/modifyInfoPlistKeyValue.d.ts +0 -2
  394. package/dist/functions/platform/ios/modifyInfoPlistKeyValue.js +0 -45
  395. package/dist/functions/platform/ios/modifyInfoPlistKeyValue.js.map +0 -1
  396. package/dist/functions/platform/ios/safelyModifyProjectPbxproj.d.ts +0 -16
  397. package/dist/functions/platform/ios/safelyModifyProjectPbxproj.js +0 -136
  398. package/dist/functions/platform/ios/safelyModifyProjectPbxproj.js.map +0 -1
  399. package/dist/functions/platform/ios/useAltool.d.ts +0 -39
  400. package/dist/functions/platform/ios/useAltool.js +0 -350
  401. package/dist/functions/platform/ios/useAltool.js.map +0 -1
  402. package/dist/functions/style/buildTokens.d.ts +0 -76
  403. package/dist/functions/style/buildTokens.js +0 -183
  404. package/dist/functions/style/buildTokens.js.map +0 -1
  405. package/dist/functions/style/extractCssVariables.d.ts +0 -16
  406. package/dist/functions/style/extractCssVariables.js +0 -256
  407. package/dist/functions/style/extractCssVariables.js.map +0 -1
  408. package/dist/functions/style/generateVariables.d.ts +0 -7
  409. package/dist/functions/style/generateVariables.js +0 -135
  410. package/dist/functions/style/generateVariables.js.map +0 -1
  411. package/dist/functions/style/mixColors.d.ts +0 -1
  412. package/dist/functions/style/mixColors.js +0 -38
  413. package/dist/functions/style/mixColors.js.map +0 -1
  414. package/dist/functions/style/parseDesignTokens.d.ts +0 -10
  415. package/dist/functions/style/parseDesignTokens.js +0 -216
  416. package/dist/functions/style/parseDesignTokens.js.map +0 -1
  417. package/dist/functions/uniapp/app-plus/buildAndroidPlugin.d.ts +0 -3
  418. package/dist/functions/uniapp/app-plus/buildAndroidPlugin.js +0 -509
  419. package/dist/functions/uniapp/app-plus/buildAndroidPlugin.js.map +0 -1
  420. package/dist/functions/uniapp/app-plus/buildIOSPlugin.d.ts +0 -3
  421. package/dist/functions/uniapp/app-plus/buildIOSPlugin.js +0 -406
  422. package/dist/functions/uniapp/app-plus/buildIOSPlugin.js.map +0 -1
  423. package/dist/functions/validation/parseJwtPayload.d.ts +0 -7
  424. package/dist/functions/validation/parseJwtPayload.js +0 -33
  425. package/dist/functions/validation/parseJwtPayload.js.map +0 -1
  426. package/dist/functions/validation/validate.d.ts +0 -11
  427. package/dist/functions/validation/validate.js +0 -44
  428. package/dist/functions/validation/validate.js.map +0 -1
@@ -1,631 +0,0 @@
1
- import { integrateThirdPartyModule, } from "./integrateThirdPartyModule";
2
- async function extractPlugin(pluginPath, extractDir, deps) {
3
- try {
4
- if (!deps.existsSync(pluginPath)) {
5
- return {
6
- success: false,
7
- error: `插件路径不存在: ${pluginPath}`,
8
- };
9
- }
10
- const stat = deps.statSync(pluginPath);
11
- if (stat.isDirectory()) {
12
- return {
13
- success: true,
14
- extractedPath: pluginPath,
15
- };
16
- }
17
- if (stat.isFile()) {
18
- const fileName = deps.basename(pluginPath);
19
- const ext = fileName.split(".").pop()?.toLowerCase();
20
- if (ext !== "zip") {
21
- return {
22
- success: false,
23
- error: `不支持的插件格式: ${ext},仅支持 zip 格式`,
24
- };
25
- }
26
- const pluginName = fileName.replace(/\.zip$/i, "");
27
- const targetDir = deps.join(extractDir, pluginName);
28
- if (!deps.existsSync(targetDir)) {
29
- deps.mkdirSync(targetDir, { recursive: true });
30
- }
31
- return new Promise((resolve) => {
32
- deps.exec(`unzip -q -o "${pluginPath}" -d "${targetDir}"`, (error, stdout, stderr) => {
33
- if (error) {
34
- resolve({
35
- success: false,
36
- error: `解压插件失败: ${error.message}${stderr ? `\n${stderr}` : ""}`,
37
- });
38
- }
39
- else {
40
- let extractedPath = targetDir;
41
- try {
42
- const entries = deps.readdirSync(targetDir);
43
- if (entries.length === 1) {
44
- const singleEntry = deps.join(targetDir, entries[0]);
45
- const singleStat = deps.statSync(singleEntry);
46
- if (singleStat.isDirectory()) {
47
- const packageJsonPath = deps.join(singleEntry, "package.json");
48
- const androidDir = deps.join(singleEntry, "android");
49
- if (deps.existsSync(packageJsonPath) ||
50
- deps.existsSync(androidDir)) {
51
- extractedPath = singleEntry;
52
- }
53
- }
54
- }
55
- }
56
- catch (e) {
57
- }
58
- resolve({
59
- success: true,
60
- extractedPath: extractedPath,
61
- });
62
- }
63
- });
64
- });
65
- }
66
- return {
67
- success: false,
68
- error: "插件路径既不是文件也不是目录",
69
- };
70
- }
71
- catch (error) {
72
- return {
73
- success: false,
74
- error: `解压插件失败: ${error instanceof Error ? error.message : String(error)}`,
75
- };
76
- }
77
- }
78
- function readPluginPackageJson(pluginDir, deps) {
79
- try {
80
- const packageJsonPath = deps.join(pluginDir, "package.json");
81
- if (!deps.existsSync(packageJsonPath)) {
82
- return {
83
- success: false,
84
- error: `插件 package.json 不存在: ${packageJsonPath}`,
85
- };
86
- }
87
- const content = deps.readFileSync(packageJsonPath, "utf8");
88
- const packageJson = deps.parse(content);
89
- return {
90
- success: true,
91
- packageJson,
92
- };
93
- }
94
- catch (error) {
95
- return {
96
- success: false,
97
- error: `读取插件 package.json 失败: ${error instanceof Error ? error.message : String(error)}`,
98
- };
99
- }
100
- }
101
- function findLibFilesRecursive(dir, deps) {
102
- const libFiles = [];
103
- if (!deps.existsSync(dir)) {
104
- return libFiles;
105
- }
106
- try {
107
- const entries = deps.readdirSync(dir);
108
- for (const entry of entries) {
109
- const entryPath = deps.join(dir, entry);
110
- const stat = deps.statSync(entryPath);
111
- if (stat.isFile()) {
112
- const ext = entry.split(".").pop()?.toLowerCase();
113
- if (ext === "aar" || ext === "jar") {
114
- libFiles.push(entryPath);
115
- }
116
- }
117
- else if (stat.isDirectory()) {
118
- libFiles.push(...findLibFilesRecursive(entryPath, deps));
119
- }
120
- }
121
- }
122
- catch (error) {
123
- }
124
- return libFiles;
125
- }
126
- function findAndroidLibFiles(pluginDir, deps) {
127
- const androidDir = deps.join(pluginDir, "android");
128
- return findLibFilesRecursive(androidDir, deps);
129
- }
130
- function copyAndroidFilesRecursive(sourceDir, projectPath, moduleDir, packageName, excludeFiles, deps) {
131
- const logs = [];
132
- let count = 0;
133
- const excludeSet = new Set(excludeFiles.map((f) => deps.join(f).replace(/\\/g, "/")));
134
- function copyRecursive(currentSource, currentTarget, relativePath = "") {
135
- if (!deps.existsSync(currentSource)) {
136
- return;
137
- }
138
- try {
139
- const entries = deps.readdirSync(currentSource);
140
- for (const entry of entries) {
141
- const sourcePath = deps.join(currentSource, entry);
142
- const normalizedSource = sourcePath.replace(/\\/g, "/");
143
- if (excludeSet.has(normalizedSource)) {
144
- continue;
145
- }
146
- const stat = deps.statSync(sourcePath);
147
- const targetPath = deps.join(currentTarget, entry);
148
- const newRelativePath = relativePath
149
- ? deps.join(relativePath, entry)
150
- : entry;
151
- if (stat.isFile()) {
152
- const ext = entry.split(".").pop()?.toLowerCase();
153
- if (ext === "java" || ext === "kt") {
154
- const javaTargetDir = deps.join(projectPath, moduleDir, "src", "main", "java", ...packageName.split("."));
155
- const javaTargetPath = deps.join(javaTargetDir, newRelativePath);
156
- const targetDir = deps.dirname(javaTargetPath);
157
- if (!deps.existsSync(targetDir)) {
158
- deps.mkdirSync(targetDir, { recursive: true });
159
- }
160
- let content = deps.readFileSync(sourcePath, "utf8");
161
- deps.writeFileSync(javaTargetPath, content, "utf8");
162
- logs.push(`已拷贝 Java 源文件: ${newRelativePath}`);
163
- count++;
164
- }
165
- else if (ext === "xml" &&
166
- (newRelativePath.includes("res/") ||
167
- newRelativePath.includes("AndroidManifest"))) {
168
- if (entry === "AndroidManifest.xml") {
169
- logs.push(`跳过 AndroidManifest.xml(需要手动合并)`);
170
- }
171
- else {
172
- const resTargetPath = deps.join(projectPath, moduleDir, "src", "main", "res", newRelativePath.replace(/^res\//, ""));
173
- const targetDir = deps.dirname(resTargetPath);
174
- if (!deps.existsSync(targetDir)) {
175
- deps.mkdirSync(targetDir, { recursive: true });
176
- }
177
- deps.copyFileSync(sourcePath, resTargetPath);
178
- logs.push(`已拷贝资源文件: ${newRelativePath}`);
179
- count++;
180
- }
181
- }
182
- else {
183
- const otherTargetPath = deps.join(projectPath, moduleDir, "src", "main", newRelativePath);
184
- const targetDir = deps.dirname(otherTargetPath);
185
- if (!deps.existsSync(targetDir)) {
186
- deps.mkdirSync(targetDir, { recursive: true });
187
- }
188
- deps.copyFileSync(sourcePath, otherTargetPath);
189
- logs.push(`已拷贝文件: ${newRelativePath}`);
190
- count++;
191
- }
192
- }
193
- else if (stat.isDirectory()) {
194
- copyRecursive(sourcePath, targetPath, newRelativePath);
195
- }
196
- }
197
- }
198
- catch (error) {
199
- logs.push(`拷贝文件时出错: ${error instanceof Error ? error.message : String(error)}`);
200
- }
201
- }
202
- const androidTargetBase = deps.join(projectPath, moduleDir, "src", "main");
203
- copyRecursive(sourceDir, androidTargetBase, "");
204
- return { count, logs };
205
- }
206
- function extractPluginConfig(packageJson) {
207
- try {
208
- let plugins = null;
209
- let androidConfig = null;
210
- const nativePlugins = packageJson.nativePlugins || packageJson["uni-app"]?.nativePlugins;
211
- if (nativePlugins &&
212
- Array.isArray(nativePlugins) &&
213
- nativePlugins.length > 0) {
214
- for (const pluginGroup of nativePlugins) {
215
- if (pluginGroup.plugins && Array.isArray(pluginGroup.plugins)) {
216
- plugins = pluginGroup.plugins;
217
- break;
218
- }
219
- }
220
- }
221
- if (!plugins && packageJson._dp_nativeplugin) {
222
- androidConfig = packageJson._dp_nativeplugin.android;
223
- const androidPlugins = androidConfig?.plugins;
224
- if (androidPlugins &&
225
- Array.isArray(androidPlugins) &&
226
- androidPlugins.length > 0) {
227
- plugins = androidPlugins;
228
- }
229
- }
230
- if (!plugins || plugins.length === 0) {
231
- return {
232
- success: false,
233
- error: "package.json 中未找到 nativePlugins 或 _dp_nativeplugin 配置",
234
- };
235
- }
236
- for (const plugin of plugins) {
237
- if (plugin.type === "module" && plugin.name && plugin.class) {
238
- let parameters = undefined;
239
- if (androidConfig?.parameters &&
240
- typeof androidConfig.parameters === "object") {
241
- parameters = {};
242
- for (const [paramName, paramConfig] of Object.entries(androidConfig.parameters)) {
243
- if (paramConfig &&
244
- typeof paramConfig === "object" &&
245
- "key" in paramConfig) {
246
- parameters[paramName] = {
247
- key: paramConfig.key,
248
- des: paramConfig.des || "",
249
- };
250
- }
251
- }
252
- }
253
- return {
254
- success: true,
255
- pluginItem: {
256
- type: plugin.type,
257
- name: plugin.name,
258
- class: plugin.class,
259
- },
260
- parameters,
261
- };
262
- }
263
- }
264
- return {
265
- success: false,
266
- error: "package.json 中未找到有效的 module 类型插件配置",
267
- };
268
- }
269
- catch (error) {
270
- return {
271
- success: false,
272
- error: `提取插件配置失败: ${error instanceof Error ? error.message : String(error)}`,
273
- };
274
- }
275
- }
276
- function readOrCreateUniPluginsConfig(assetsDir, deps) {
277
- const configPath = deps.join(assetsDir, "dcloud_uniplugins.json");
278
- try {
279
- if (!deps.existsSync(assetsDir)) {
280
- deps.mkdirSync(assetsDir, { recursive: true });
281
- }
282
- let config = {
283
- nativePlugins: [],
284
- };
285
- if (deps.existsSync(configPath)) {
286
- const content = deps.readFileSync(configPath, "utf8");
287
- try {
288
- config = deps.parse(content);
289
- if (!config.nativePlugins || !Array.isArray(config.nativePlugins)) {
290
- config.nativePlugins = [];
291
- }
292
- }
293
- catch (parseError) {
294
- }
295
- }
296
- return {
297
- success: true,
298
- config,
299
- };
300
- }
301
- catch (error) {
302
- return {
303
- success: false,
304
- error: `读取或创建 dcloud_uniplugins.json 失败: ${error instanceof Error ? error.message : String(error)}`,
305
- };
306
- }
307
- }
308
- function updateUniPluginsConfig(assetsDir, pluginItem, deps) {
309
- try {
310
- const configPath = deps.join(assetsDir, "dcloud_uniplugins.json");
311
- const readResult = readOrCreateUniPluginsConfig(assetsDir, deps);
312
- if (!readResult.success) {
313
- return readResult;
314
- }
315
- const config = readResult.config;
316
- let found = false;
317
- for (const nativePlugin of config.nativePlugins) {
318
- if (nativePlugin.plugins && Array.isArray(nativePlugin.plugins)) {
319
- const existingIndex = nativePlugin.plugins.findIndex((p) => p.name === pluginItem.name);
320
- if (existingIndex !== -1) {
321
- nativePlugin.plugins[existingIndex] = pluginItem;
322
- found = true;
323
- break;
324
- }
325
- }
326
- }
327
- if (!found) {
328
- let targetNativePlugin = config.nativePlugins.find((np) => np.plugins && Array.isArray(np.plugins));
329
- if (!targetNativePlugin) {
330
- targetNativePlugin = {
331
- plugins: [],
332
- };
333
- config.nativePlugins.push(targetNativePlugin);
334
- }
335
- targetNativePlugin.plugins.push(pluginItem);
336
- }
337
- const configContent = JSON.stringify(config, null, 2);
338
- deps.writeFileSync(configPath, configContent, "utf8");
339
- return {
340
- success: true,
341
- message: found
342
- ? `已更新插件配置: ${pluginItem.name}`
343
- : `已添加插件配置: ${pluginItem.name}`,
344
- };
345
- }
346
- catch (error) {
347
- return {
348
- success: false,
349
- error: `更新 dcloud_uniplugins.json 失败: ${error instanceof Error ? error.message : String(error)}`,
350
- };
351
- }
352
- }
353
- export async function integrateUniAppNativePlugin(projectPath, moduleDir, packageName, pluginPath, deps, parameters) {
354
- const logs = [];
355
- try {
356
- logs.push(`开始集成 UniApp 原生插件: ${pluginPath}`);
357
- logs.push("步骤 1: 解压插件");
358
- const tempDir = deps.join(projectPath, ".temp");
359
- if (deps.existsSync(tempDir)) {
360
- logs.push("清理已存在的临时目录...");
361
- await new Promise((resolve) => {
362
- deps.exec(`rm -rf "${tempDir}"`, (error) => {
363
- if (error) {
364
- logs.push(`警告: 清理临时目录失败: ${error.message}`);
365
- }
366
- else {
367
- logs.push("临时目录已清理");
368
- }
369
- resolve();
370
- });
371
- });
372
- }
373
- if (!deps.existsSync(tempDir)) {
374
- deps.mkdirSync(tempDir, { recursive: true });
375
- logs.push("已创建临时目录");
376
- }
377
- const extractResult = await extractPlugin(pluginPath, tempDir, {
378
- existsSync: deps.existsSync,
379
- readdirSync: deps.readdirSync,
380
- statSync: deps.statSync,
381
- join: deps.join,
382
- exec: deps.exec,
383
- basename: deps.basename,
384
- dirname: deps.dirname,
385
- mkdirSync: deps.mkdirSync,
386
- });
387
- if (!extractResult.success) {
388
- return {
389
- success: false,
390
- error: extractResult.error,
391
- logs,
392
- };
393
- }
394
- const pluginDir = extractResult.extractedPath;
395
- logs.push(`插件已解压到: ${pluginDir}`);
396
- logs.push("步骤 2: 读取插件配置");
397
- const packageJsonResult = readPluginPackageJson(pluginDir, {
398
- existsSync: deps.existsSync,
399
- readFileSync: deps.readFileSync,
400
- join: deps.join,
401
- parse: deps.parse,
402
- });
403
- if (!packageJsonResult.success) {
404
- return {
405
- success: false,
406
- error: packageJsonResult.error,
407
- logs,
408
- };
409
- }
410
- const packageJson = packageJsonResult.packageJson;
411
- const pluginName = packageJson.name || "UniApp Native Plugin";
412
- logs.push(`插件名称: ${pluginName}`);
413
- logs.push("步骤 3: 提取插件配置");
414
- const pluginConfigResult = extractPluginConfig(packageJson);
415
- let pluginItem = null;
416
- let pluginParameters = undefined;
417
- if (!pluginConfigResult.success) {
418
- logs.push(`警告: ${pluginConfigResult.error}`);
419
- logs.push("将继续处理库文件,但 dcloud_uniplugins.json 可能无法正确配置");
420
- }
421
- else {
422
- pluginItem = pluginConfigResult.pluginItem;
423
- pluginParameters = pluginConfigResult.parameters;
424
- logs.push(`插件配置: ${pluginItem.name} (${pluginItem.class})`);
425
- if (pluginParameters) {
426
- logs.push(`插件参数: ${Object.keys(pluginParameters).join(", ")}`);
427
- }
428
- }
429
- logs.push("步骤 4: 查找 Android 库文件");
430
- const androidLibFiles = findAndroidLibFiles(pluginDir, {
431
- existsSync: deps.existsSync,
432
- readdirSync: deps.readdirSync,
433
- statSync: deps.statSync,
434
- join: deps.join,
435
- });
436
- if (androidLibFiles.length === 0) {
437
- logs.push("警告: 未找到 android 目录下的 aar/jar 文件");
438
- }
439
- else {
440
- logs.push(`找到 ${androidLibFiles.length} 个库文件: ${androidLibFiles
441
- .map((f) => deps.basename(f))
442
- .join(", ")}`);
443
- }
444
- if (androidLibFiles.length > 0) {
445
- logs.push("步骤 5: 拷贝库文件到 libs 目录");
446
- const libFiles = androidLibFiles.map((filePath) => ({
447
- source: filePath,
448
- targetName: deps.basename(filePath),
449
- }));
450
- const manifestModifications = [];
451
- if (pluginParameters && parameters) {
452
- logs.push("步骤 5.1: 配置插件参数到 AndroidManifest.xml");
453
- for (const [paramName, paramDef] of Object.entries(pluginParameters)) {
454
- const paramValue = parameters[paramName];
455
- if (paramValue !== undefined &&
456
- paramValue !== null &&
457
- paramValue !== "") {
458
- manifestModifications.push({
459
- xpath: `//meta-data[@android:name='${paramDef.key}']`,
460
- action: "removeElement",
461
- });
462
- manifestModifications.push({
463
- xpath: "//application",
464
- action: "addElement",
465
- elementName: "meta-data",
466
- attributes: {
467
- "android:name": paramDef.key,
468
- "android:value": paramValue,
469
- },
470
- });
471
- logs.push(`已配置参数: ${paramName} (${paramDef.key}) = ${paramValue}`);
472
- }
473
- else {
474
- logs.push(`跳过参数: ${paramName} (未提供值)`);
475
- }
476
- }
477
- }
478
- let pluginDependencies = undefined;
479
- const androidConfig = packageJson._dp_nativeplugin?.android;
480
- if (androidConfig?.dependencies) {
481
- if (Array.isArray(androidConfig.dependencies)) {
482
- pluginDependencies = androidConfig.dependencies.filter((dep) => typeof dep === "string");
483
- if (pluginDependencies && pluginDependencies.length > 0) {
484
- logs.push(`找到插件依赖: ${pluginDependencies.join(", ")}`);
485
- }
486
- }
487
- else {
488
- logs.push(`警告: android.dependencies 不是数组类型`);
489
- }
490
- }
491
- else {
492
- logs.push(`调试: androidConfig.dependencies 不存在,androidConfig=${JSON.stringify(androidConfig)}`);
493
- }
494
- const moduleConfig = {
495
- name: pluginName,
496
- libFiles: libFiles,
497
- gradleDependencies: pluginDependencies,
498
- manifestModifications: manifestModifications.length > 0 ? manifestModifications : undefined,
499
- };
500
- const thirdPartyResult = await integrateThirdPartyModule(projectPath, moduleDir, packageName, moduleConfig, deps);
501
- logs.push(...thirdPartyResult.logs);
502
- if (!thirdPartyResult.success) {
503
- return {
504
- success: false,
505
- error: thirdPartyResult.error,
506
- logs,
507
- };
508
- }
509
- }
510
- else {
511
- logs.push("步骤 5: 跳过(未找到库文件)");
512
- }
513
- logs.push("步骤 6: 拷贝 android 目录下的其他文件");
514
- const androidDir = deps.join(pluginDir, "android");
515
- if (deps.existsSync(androidDir)) {
516
- const copiedFiles = copyAndroidFilesRecursive(androidDir, projectPath, moduleDir, packageName, androidLibFiles, deps);
517
- logs.push(...copiedFiles.logs);
518
- if (copiedFiles.count > 0) {
519
- logs.push(`已拷贝 ${copiedFiles.count} 个其他文件`);
520
- }
521
- }
522
- else {
523
- logs.push("android 目录不存在,跳过其他文件拷贝");
524
- }
525
- logs.push("步骤 7: 更新 dcloud_uniplugins.json 配置");
526
- const assetsDir = deps.join(projectPath, moduleDir, "src", "main", "assets");
527
- let plugins = null;
528
- const androidConfig = packageJson._dp_nativeplugin?.android;
529
- if (androidConfig?.plugins && Array.isArray(androidConfig.plugins)) {
530
- plugins = androidConfig.plugins;
531
- }
532
- if (plugins && plugins.length > 0) {
533
- for (const plugin of plugins) {
534
- if (plugin.type === "module" && plugin.name && plugin.class) {
535
- const pluginItem = {
536
- type: plugin.type,
537
- name: plugin.name,
538
- class: plugin.class,
539
- };
540
- const updateResult = updateUniPluginsConfig(assetsDir, pluginItem, {
541
- existsSync: deps.existsSync,
542
- readFileSync: deps.readFileSync,
543
- writeFileSync: deps.writeFileSync,
544
- mkdirSync: deps.mkdirSync,
545
- join: deps.join,
546
- parse: deps.parse,
547
- });
548
- if (updateResult.success) {
549
- logs.push(updateResult.message || `已添加插件配置: ${pluginItem.name}`);
550
- }
551
- else {
552
- logs.push(`警告: 添加插件 ${pluginItem.name} 配置失败: ${updateResult.error}`);
553
- }
554
- }
555
- }
556
- logs.push(`dcloud_uniplugins.json 配置完成,共添加 ${plugins.filter((p) => p.type === "module" && p.name && p.class)
557
- .length} 个插件`);
558
- }
559
- else if (pluginItem) {
560
- const updateResult = updateUniPluginsConfig(assetsDir, pluginItem, {
561
- existsSync: deps.existsSync,
562
- readFileSync: deps.readFileSync,
563
- writeFileSync: deps.writeFileSync,
564
- mkdirSync: deps.mkdirSync,
565
- join: deps.join,
566
- parse: deps.parse,
567
- });
568
- if (updateResult.success) {
569
- logs.push(updateResult.message || "dcloud_uniplugins.json 配置完成");
570
- }
571
- else {
572
- logs.push(`警告: dcloud_uniplugins.json 配置失败: ${updateResult.error}`);
573
- }
574
- }
575
- else {
576
- logs.push("步骤 7: 跳过 dcloud_uniplugins.json 配置(插件配置提取失败)");
577
- }
578
- logs.push("步骤 8: 清理临时文件");
579
- try {
580
- if (deps.existsSync(tempDir)) {
581
- await new Promise((resolve) => {
582
- deps.exec(`rm -rf "${tempDir}"`, (error) => {
583
- if (error) {
584
- logs.push(`警告: 清理临时目录失败: ${tempDir} (${error.message})`);
585
- }
586
- else {
587
- logs.push(`已清理临时目录: ${tempDir}`);
588
- }
589
- resolve();
590
- });
591
- });
592
- }
593
- else {
594
- logs.push(`临时目录不存在,跳过清理: ${tempDir}`);
595
- }
596
- }
597
- catch (cleanupError) {
598
- logs.push(`警告: 清理临时文件时出错: ${cleanupError instanceof Error
599
- ? cleanupError.message
600
- : String(cleanupError)}`);
601
- }
602
- logs.push(`UniApp 原生插件集成完成: ${pluginName}`);
603
- return {
604
- success: true,
605
- message: `成功集成 UniApp 原生插件: ${pluginName}`,
606
- logs,
607
- };
608
- }
609
- catch (error) {
610
- try {
611
- const tempDir = deps.join(projectPath, ".temp");
612
- if (deps.existsSync(tempDir)) {
613
- await new Promise((resolve) => {
614
- deps.exec(`rm -rf "${tempDir}"`, (error) => {
615
- if (error) {
616
- logs.push(`警告: 清理临时目录失败: ${error.message}`);
617
- }
618
- resolve();
619
- });
620
- });
621
- }
622
- }
623
- catch { }
624
- return {
625
- success: false,
626
- error: `集成 UniApp 原生插件失败: ${error instanceof Error ? error.message : String(error)}`,
627
- logs,
628
- };
629
- }
630
- }
631
- //# sourceMappingURL=integrateUniAppNativePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrateUniAppNativePlugin.js","sourceRoot":"","sources":["../../../../src/functions/platform/android/integrateUniAppNativePlugin.ts"],"names":[],"mappings":"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"}