@ohos-cpf/3rdloop 0.0.1

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 (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,137 @@
1
+ # README 模板格式差异与改写要点
2
+
3
+ ## 如何判定格式(detect-readme-format.js)
4
+
5
+ 按下列信号综合判定,**不符目标模板则进入整改流程**:
6
+
7
+ | 信号 | 外链/旧文档 | v0.4.0(usage-docs 常见) | v0.4.1(库内常见) | v0.4.2(目标) |
8
+ |------|-------------|---------------------------|--------------------|----------------|
9
+ | 首行 | 无 / `# 包名` | `> 模板版本:v0.4.0` 或 `> Template version: v0.4.0` | `> 文档模板:v0.4.1` | `> 文档模板:v0.4.2` |
10
+ | 版本表 | 无完整表 | 有表,列名偏旧 | 含 `三方库版本` + **`npm地址`** | 含 **`三方库版本(npm地址)`** + **`源码地址`** |
11
+ | 结构 | 常仅有 Documentation URL 外链 | 分节编号如 `## 1. 安装与使用` | `## 简介` / `## 下载安装` / `## 使用示例` 等 | 同 0.4.1 骨架,并强调 **`## 使用说明`** 等 0.4.2 章节 |
12
+ | 外链特征 | 含 `Documentation URL` 且正文几乎只有外链 | — | — | — |
13
+
14
+ `kind` 输出建议:`external_link` | `v0.4.0` | `v0.4.1` | `v0.4.2` | `unknown`。
15
+
16
+ ## 0.4.1 → 0.4.2 主要变更
17
+
18
+ 1. 首行版本改为 `v0.4.2`
19
+ 2. 版本关系表:
20
+ - `三方库版本` → `三方库版本(npm地址)`(单元格内放 npm 版本链接)
21
+ - `npm地址` 列改为 **`源码地址`**(指向 Gitcode 分支/源码树)
22
+ 3. 保留并理顺:`简介`、`下载安装`、`Link`、`约束与限制`、`使用示例`、`使用说明`、`接口说明`、`遗留问题`、`其他`、`目录结构`、`贡献代码`、`开源协议`
23
+ 4. 内容按**当前库**重写:Autolink、API 级别、兼容性矩阵、示例代码(从 example / 源码提取)
24
+ 5. **ManualLink 取舍**:若当前分支版本表与 Link 表中 Autolink **全部为是/Yes**,删除 README 中 ManualLink `<details>` 整段;详见下文「ManualLink 章节」
25
+
26
+ ## ManualLink 章节(Autolink 全支持时删除)
27
+
28
+ 模板 `model-0.4.2.md` 含 ManualLink 作为**多版本混合**时的兜底;**单分支且该分支所有版本均支持 Autolink** 时:
29
+
30
+ - **删除** `<details>…ManualLink…</details>` 全部内容
31
+ - **删除**「可跳过 ManualLink 配置」一句(全版本已 Autolink 时无意义)
32
+ - **保留** Link 版本表、Autolinking 框架文档链接、`### 运行`
33
+
34
+ 判定数据源:版本关系表 `Autolink` 列 + `## Link` 小节表格;任一行 `否`/`No`/`partially` 则保留 ManualLink。
35
+
36
+ - overview 回写(usage-docs)
37
+
38
+ `model-0.4.2-overview.md` 为精简版:标题、基于上游说明、版本表、简介、下载安装。
39
+
40
+ - 中英文都 **覆盖** `zh-cn/<alias>.md` 与 `en/<alias>.md`
41
+ - 英文由中文 overview 翻译
42
+ - 版本表等事实与库内 README 保持一致
43
+
44
+ ## 链接与组织(必读)
45
+
46
+ ### 根因说明(避免 openharmony-sig 残留)
47
+
48
+ | 来源 | 问题 |
49
+ |------|------|
50
+ | **usage-docs 正文** | 大量文档仍含 `gitcode.com/openharmony-sig/...`,从 usage-docs 迁入库 README 时会**原样复制** |
51
+ | **库内 package.json** | `repository.url` 可能仍指向旧组织 |
52
+ | **模板 model-0.4.2.md** | 框架/本库链接已用 `CPF-RN`;但勿把 usage-docs 专用相对路径(如 `/zh-cn/link-source-code.md`)留到库 README |
53
+
54
+ 技能内置模板(`references/model-0.4.2.md`)的 **Releases / Issue / PR / Autolinking** 已使用 [CPF-RN](https://gitcode.com/CPF-RN) 组织;**不能**假设 usage-docs 与 package.json 已同步。
55
+
56
+ ### 组织与仓库解析顺序
57
+
58
+ 1. **本库 Gitcode 地址**:优先 `git remote get-url origin` 或 `package.json.repository.url`
59
+ 2. 若仍为 `openharmony-sig`,在 [CPF-RN 组织](https://gitcode.com/CPF-RN) 搜索 `rntpc_<alias>` 确认(如 [rntpc_react-native-audio](https://gitcode.com/CPF-RN/rntpc_react-native-audio))
60
+ 3. **框架 Autolinking 文档**:`https://gitcode.com/CPF-RN/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md`(框架仓)
61
+ 4. **三方库接入指导**(如直接链接源码):在 [usage-docs](https://gitcode.com/CPF-RN/usage-docs) 仓,例如 `zh-cn/link-source-code.md` → `https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/link-source-code.md`(**不在** `ohos_react_native`)
62
+ 5. **usage-docs 站内相对链接**(`/zh-cn/...`、`./link-source-code.md`):迁入库 README 时必须改为 usage-docs **绝对 URL**(见 [`link-registry.json`](link-registry.json))
63
+
64
+ ### Step 3.5 — 链接规范化(从 usage-docs 迁移后**必做**)
65
+
66
+ ```bash
67
+ node scripts/normalize-readme-links.js --lib-path "$LIB"
68
+ node scripts/normalize-readme-links.js --lib-path "$LIB" --write
69
+ ```
70
+
71
+ 脚本会:
72
+
73
+ - 将 `openharmony-sig` URL **仅在 CPF-RN 目标可达时**替换(见 `link-verify.js`;不可达则保留并报告)
74
+ - 将 `/zh-cn/link-source-code.md` 等 usage-docs 相对路径改为绝对链接,并对结果 URL **做 HTTP 可达性校验**
75
+ - 校验库内相对路径(仅允许 `./README.md` / `./README_EN.md` 等)
76
+ - 校验并同步修正 `package.json` 的 `repository.url` / `homepage` / `bugs.url`(验证通过才写回)
77
+
78
+ **退出码 2** 表示链接不可达、仓库根 URL 未验证、或仍有失效相对路径/旧组织残留。
79
+
80
+ ### 链接可达性(必做,禁止仅改组织名)
81
+
82
+ | 步骤 | 说明 |
83
+ |------|------|
84
+ | 解析仓库 | `resolveVerifiedLibRepoBase` 对多个候选 URL 执行 `curl -L`,选用首个 2xx/3xx |
85
+ | 组织迁移 | 每个 `openharmony-sig` 链接触发「替换后 URL 是否可达」探测,失败则不替换 |
86
+ | 改写后复检 | README / package 中所有 GitCode / usage-docs / npm 外链汇总校验 |
87
+ | 失败处理 | 报告 `linkVerification.failures`;Agent 需修正仓库名、分支或链接后重跑 |
88
+
89
+ ```bash
90
+ node scripts/normalize-readme-links.js --lib-path "$LIB" # 含可达性检查
91
+ node scripts/normalize-readme-links.js --lib-path "$LIB" --write # 仅当 ok=true
92
+ node scripts/normalize-package-meta.js --lib-path "$LIB" --write # 同样校验 homepage/issues/LICENSE
93
+ ```
94
+
95
+ 离线调试可加 `--skip-verify`;**提交交付前必须去掉**。
96
+
97
+ ### README 贡献 / 协议链接(CPF-RN 本库)
98
+
99
+ | 章节 | 中文 README | 英文 README |
100
+ |------|-------------|-------------|
101
+ | 贡献代码 / Contributing | Issue → `{libRepo}/issues`;PR → `{libRepo}/pulls` | 同左 |
102
+ | 开源协议 / License | `{libRepo}/blob/master/LICENSE` | 同左 |
103
+
104
+ `{libRepo}` = `https://gitcode.com/CPF-RN/rntpc_<alias>`(由 `normalize-readme-links.js` 解析)。
105
+
106
+ **禁止:**
107
+
108
+ - Issue/PR 仍指向 `openharmony-sig`
109
+ - LICENSE 仅指向上游 GitHub(如 `github.com/.../LICENSE`),而本库根目录已有 MIT LICENSE
110
+
111
+ ### Step 5 — package.json 与 oh-package.json5
112
+
113
+ 见 [rn-lib-update-doc SKILL Step 5](../SKILL.md#step-5--规范-packagejson-与-harmony-oh-packagejson5必做)。
114
+
115
+ ```bash
116
+ node scripts/normalize-package-meta.js --lib-path "$LIB" --write
117
+ ```
118
+
119
+ ### Step 6 — CHANGELOG
120
+
121
+ 见 [changelog-template.md](changelog-template.md) 与 `normalize-changelog.js`。
122
+
123
+ ## 英文标题对照(常用)
124
+
125
+ | 中文 | English |
126
+ |------|---------|
127
+ | 简介 | Introduction |
128
+ | 下载安装 | Installation |
129
+ | 约束与限制 | Constraints and Limitations |
130
+ | 使用示例 | Usage Example |
131
+ | 使用说明 | Usage Guide |
132
+ | 接口说明 | API Reference |
133
+ | 遗留问题 | Known Issues |
134
+ | 其他 | Others |
135
+ | 目录结构 | Directory Structure |
136
+ | 贡献代码 | Contributing |
137
+ | 开源协议 | License |
@@ -0,0 +1,33 @@
1
+ {
2
+ "orgHome": "https://gitcode.com/CPF-RN",
3
+ "defaultLibOrg": "CPF-RN",
4
+ "deprecatedOrgPatterns": [
5
+ "gitcode.com/openharmony-sig/",
6
+ "gitcode.com/OpenHarmony-sig/",
7
+ "gitee.com/openharmony-sig/"
8
+ ],
9
+ "frameworkDocs": {
10
+ "autolinkingZh": "https://gitcode.com/CPF-RN/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md"
11
+ },
12
+ "usageDocs": {
13
+ "base": "https://gitcode.com/CPF-RN/usage-docs",
14
+ "branch": "master",
15
+ "linkSourceCodeZh": "https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/link-source-code.md",
16
+ "linkSourceCodeEn": "https://gitcode.com/CPF-RN/usage-docs/blob/master/en/link-source-code.md"
17
+ },
18
+ "libRepoNamePattern": "rntpc_{alias}",
19
+ "allowedRelativeTargetsInLibReadme": [
20
+ "./README.md",
21
+ "./README_EN.md",
22
+ "README.md",
23
+ "README_EN.md"
24
+ ],
25
+ "linkVerify": {
26
+ "method": "curl",
27
+ "followRedirects": true,
28
+ "timeoutSec": 15,
29
+ "acceptStatusMin": 200,
30
+ "acceptStatusMax": 399,
31
+ "note": "Org migration must pass HTTP check before replacing URLs"
32
+ }
33
+ }
@@ -0,0 +1,40 @@
1
+ > 文档模板:v0.4.2
2
+
3
+ <p align="center">
4
+ <h1 align="center"> <code>lottie-react-native</code> </h1>
5
+ </p>
6
+
7
+ 本项目基于 [lottie-react-native](https://github.com/lottie-react-native/lottie-react-native) 开发。
8
+
9
+ 该第三方库的仓库已迁移至 Gitcode,且支持直接从 npm 下载,新的包名为:`@react-native-ohos/lottie-react-native` 版本所属关系如下:
10
+
11
+ | 三方库名称 | 三方库版本(npm地址) | 发布信息 | 支持RN版本 | Autolink | 编译API版本 | 社区基线版本 | 源码地址 |
12
+ | ------------ | ------------ | ------------------------------ | ------------- | ------------- |------------------------ | ------------- | ------------- |
13
+ | @react-native-ohos/lottie-react-native | [~ 7.3.0](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.82.* | 否 | API12+ | 7.3.4 | [br_rnoh0.82](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.82) |
14
+ | @react-native-ohos/lottie-react-native | [~ 7.2.3](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.77.* | 否 | API12+ | 7.3.4 | [br_rnoh0.77](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.77) |
15
+ | @react-native-ohos/lottie-react-native | [~ 6.4.2](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.72.* | 否 | API12+ | 7.3.4 | [br_rnoh0.72](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.72) |
16
+ | @react-native-oh-tpl/lottie-react-native | [<= 6.4.1-0.1.17@deprecated](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Github Releases(deprecated)](https://github.com/react-native-oh-library/lottie-react-native/releases) | 0.72.* | 否 | API12+ | 7.3.4 | [sig](https://github.com/react-native-oh-library/lottie-react-native) |
17
+
18
+ ## 简介
19
+
20
+ Lottie 组件用于 React Native。<br/>
21
+ Lottie 是一个库生态系统,用于解析 Adobe After Effects 动画导出为 JSON 并带 bodymovin 原生渲染的动画!<br/>
22
+ 设计师首次可以在无需工程师手工繁琐重现的情况下,创造并交付精美的动画。
23
+
24
+ ## 下载安装
25
+
26
+ 进入到工程目录并输入以下命令:
27
+
28
+ **npm**
29
+
30
+ ```bash
31
+ npm install @react-native-ohos/lottie-react-native
32
+ ```
33
+
34
+ **yarn**
35
+
36
+ ```bash
37
+ yarn add @react-native-ohos/lottie-react-native
38
+ ```
39
+
40
+
@@ -0,0 +1,429 @@
1
+ > 文档模板:v0.4.2
2
+
3
+ <p align="center">
4
+ <h1 align="center"> <code>lottie-react-native</code> </h1>
5
+ </p>
6
+
7
+ 本项目基于 [lottie-react-native](https://github.com/lottie-react-native/lottie-react-native) 开发。
8
+
9
+ 该第三方库的仓库已迁移至 Gitcode,且支持直接从 npm 下载,新的包名为:`@react-native-ohos/lottie-react-native` 版本所属关系如下:
10
+
11
+ | 三方库名称 | 三方库版本(npm地址) | 发布信息 | 支持RN版本 | Autolink | 编译API版本 | 社区基线版本 | 源码地址 |
12
+ | ------------ | ------------ | ------------------------------ | ------------- | ------------- |------------------------ | ------------- | ------------- |
13
+ | @react-native-ohos/lottie-react-native | [~ 7.3.0](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.82.* | 否 | API12+ | 7.3.4 | [br_rnoh0.82](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.82) |
14
+ | @react-native-ohos/lottie-react-native | [~ 7.2.3](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.77.* | 否 | API12+ | 7.3.4 | [br_rnoh0.77](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.77) |
15
+ | @react-native-ohos/lottie-react-native | [~ 6.4.2](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Gitcode Releases](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/releases) | 0.72.* | 否 | API12+ | 7.3.4 | [br_rnoh0.72](https://gitcode.com/CPF-RN/rntpc_lottie-react-native/tree/br_rnoh0.72) |
16
+ | @react-native-oh-tpl/lottie-react-native | [<= 6.4.1-0.1.17@deprecated](https://www.npmjs.com/package/@react-native-ohos/lottie-react-native) | [Github Releases(deprecated)](https://github.com/react-native-oh-library/lottie-react-native/releases) | 0.72.* | 否 | API12+ | 7.3.4 | [sig](https://github.com/react-native-oh-library/lottie-react-native) |
17
+
18
+ ## 简介
19
+
20
+ Lottie 组件用于 React Native。<br/>
21
+ Lottie 是一个库生态系统,用于解析 Adobe After Effects 动画导出为 JSON 并带 bodymovin 原生渲染的动画!<br/>
22
+ 设计师首次可以在无需工程师手工繁琐重现的情况下,创造并交付精美的动画。
23
+
24
+ ## 下载安装
25
+
26
+ 进入到工程目录并输入以下命令:
27
+
28
+ **npm**
29
+
30
+ ```bash
31
+ npm install @react-native-ohos/lottie-react-native
32
+ ```
33
+
34
+ **yarn**
35
+
36
+ ```bash
37
+ yarn add @react-native-ohos/lottie-react-native
38
+ ```
39
+
40
+
41
+ ## Link
42
+
43
+ | | 是否支持autolink | RN框架版本 |
44
+ |--------------------------------------|----------------|-----------|
45
+ | ~ 7.3.0 | No | 0.82 |
46
+ | ~ 7.2.3 | No | 0.77 |
47
+ | ~ 6.4.2 | Yes | 0.72 |
48
+ | <= 6.4.1-0.1.17@deprecated | No | 0.72 |
49
+
50
+ 使用 AutoLink 的工程需要根据 [Autolink 框架指导文档](https://gitcode.com/CPF-RN/ohos_react_native/blob/master/docs/zh-cn/Autolinking.md) 配置。
51
+
52
+ <!-- 以下 ManualLink 块:仅当 Link 表或版本关系表中存在「否/No/partially」时保留;当前分支若全部为「是/Yes」则整段删除(含本注释)。 -->
53
+ <details>
54
+ <summary>ManualLink: 此步骤为手动配置原生依赖项的指导</summary>
55
+
56
+ 首先需要使用 DevEco Studio 打开项目里的 HarmonyOS 工程 `harmony`。
57
+
58
+ ### 1. Overrides RN SDK
59
+
60
+ 为了让工程依赖同一个版本的 RN SDK,需要在工程根目录的 `oh-package.json5` 添加 overrides 字段,指向工程需要使用的 RN SDK 版本。替换的版本既可以是一个具体的版本号,也可以是一个模糊版本,还可以是本地存在的 HAR 包或源码目录。
61
+
62
+ 关于该字段的作用请阅读[官方说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-oh-package-json5-V5#zh-cn_topic_0000001792256137_overrides)
63
+
64
+ ```json
65
+ {
66
+ "overrides": {
67
+ "@rnoh/react-native-openharmony": "^0.72.38" // ohpm 在线版本
68
+ // "@rnoh/react-native-openharmony" : "./react_native_openharmony.har" // 指向本地 har 包的路径
69
+ // "@rnoh/react-native-openharmony" : "./react_native_openharmony" // 指向源码路径
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### 2. 引入原生端代码
75
+
76
+ 目前有两种方法:
77
+
78
+ - 通过 har 包引入;
79
+ - 直接链接源码。
80
+
81
+ 方法一:通过 har 包引入(推荐)
82
+
83
+ > [!TIP] har 包位于三方库安装路径的 `harmony` 文件夹下。
84
+
85
+ 打开 `entry/oh-package.json5`,添加以下依赖
86
+
87
+ ```json
88
+ "dependencies": {
89
+ "@react-native-ohos/lottie-react-native": "file:../../node_modules/@react-native-ohos/lottie-react-native/harmony/lottie.har"
90
+ }
91
+ ```
92
+
93
+ 点击右上角的 `sync` 按钮
94
+
95
+ 或者在命令行终端执行:
96
+
97
+ ```bash
98
+ cd entry
99
+ ohpm install
100
+ ```
101
+
102
+ 方法二:直接链接源码
103
+
104
+ > [!TIP] 如需使用直接链接源码,请参考[直接链接源码说明](https://gitcode.com/CPF-RN/usage-docs/blob/master/zh-cn/link-source-code.md)
105
+
106
+ ### 3. 配置 CMakeLists 和引入 LottieAnimationViewPackage
107
+
108
+ 打开 `entry/src/main/cpp/CMakeLists.txt`,添加:
109
+
110
+ ```diff
111
+ project(rnapp)
112
+ cmake_minimum_required(VERSION 3.4.1)
113
+ set(CMAKE_SKIP_BUILD_RPATH TRUE)
114
+ set(RNOH_APP_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
115
+ set(NODE_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../node_modules")
116
+ + set(OH_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules")
117
+ set(RNOH_CPP_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../react-native-harmony/harmony/cpp")
118
+ set(LOG_VERBOSITY_LEVEL 1)
119
+ set(CMAKE_ASM_FLAGS "-Wno-error=unused-command-line-argument -Qunused-arguments")
120
+ set(CMAKE_CXX_FLAGS "-fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -s -fPIE -pie")
121
+ set(WITH_HITRACE_SYSTRACE 1) # for other CMakeLists.txt files to use
122
+ add_compile_definitions(WITH_HITRACE_SYSTRACE)
123
+
124
+ add_subdirectory("${RNOH_CPP_DIR}" ./rn)
125
+
126
+ # RNOH_BEGIN: manual_package_linking_1
127
+ add_subdirectory("../../../../sample_package/src/main/cpp" ./sample-package)
128
+ + add_subdirectory("${OH_MODULES}/@react-native-ohos/lottie-react-native/src/main/cpp" ./lottie)
129
+ # RNOH_END: manual_package_linking_1
130
+
131
+ file(GLOB GENERATED_CPP_FILES "./generated/*.cpp")
132
+
133
+ add_library(rnoh_app SHARED
134
+ ${GENERATED_CPP_FILES}
135
+ "./PackageProvider.cpp"
136
+ "${RNOH_CPP_DIR}/RNOHAppNapiBridge.cpp"
137
+ )
138
+ target_link_libraries(rnoh_app PUBLIC rnoh)
139
+
140
+ # RNOH_BEGIN: manual_package_linking_2
141
+ target_link_libraries(rnoh_app PUBLIC rnoh_sample_package)
142
+ + target_link_libraries(rnoh_app PUBLIC rnoh_lottie)
143
+ # RNOH_END: manual_package_linking_2
144
+ ```
145
+
146
+ 打开 `entry/src/main/cpp/PackageProvider.cpp`,添加:
147
+
148
+ ```diff
149
+ #include "RNOH/PackageProvider.h"
150
+ #include "SamplePackage.h"
151
+ + #include "LottieAnimationViewPackage.h"
152
+
153
+ using namespace rnoh;
154
+
155
+ std::vector<std::shared_ptr<Package>> PackageProvider::getPackages(Package::Context ctx) {
156
+ return {
157
+ std::make_shared<SamplePackage>(ctx),
158
+ + std::make_shared<LottieAnimationViewPackage>(ctx)
159
+ };
160
+ }
161
+ ```
162
+
163
+ ### 4. 在 ArkTs 侧引入 Lottie 组件
164
+
165
+ 找到 **function buildCustomComponent()**,一般位于 `entry/src/main/ets/pages/index.ets` 或 `entry/src/main/ets/rn/LoadBundle.ets`,添加:
166
+
167
+ ```diff
168
+ ...
169
+ + import { LottieAnimationView, LOTTIE_TYPE } from "@react-native-ohos/lottie-react-native"
170
+
171
+ @Builder
172
+ export function buildCustomRNComponent(ctx: ComponentBuilderContext) {
173
+ ...
174
+ + if (ctx.componentName === LOTTIE_TYPE) {
175
+ + LottieAnimationView({
176
+ + ctx: ctx.rnComponentContext,
177
+ + tag: ctx.tag
178
+ + })
179
+ + }
180
+ ...
181
+ }
182
+ ```
183
+
184
+ > [!TIP] 本库使用了混合方案,需要添加组件名。
185
+
186
+ 在`entry/src/main/ets/pages/index.ets` 或 `entry/src/main/ets/rn/LoadBundle.ets` 找到常量 `arkTsComponentNames` 在其数组里添加组件名
187
+
188
+ ```diff
189
+ const arkTsComponentNames: Array<string> = [
190
+ SampleView.NAME,
191
+ GeneratedSampleView.NAME,
192
+ PropsDisplayer.NAME,
193
+ + LOTTIE_TYPE
194
+ ];
195
+ ```
196
+
197
+ ### 5. 在 ArkTs 侧引入 LottieAnimationViewPackage
198
+
199
+ 打开 `entry/src/main/ets/RNPackagesFactory.ts`,添加:
200
+
201
+ > [!TIP] 版本 6.4.1-0.1.13 及以上需要
202
+
203
+ ```diff
204
+ ...
205
+ + import {LottieAnimationViewPackage} from '@react-native-ohos/lottie-react-native/ts';
206
+
207
+ export function createRNPackages(ctx: RNPackageContext): RNPackage[] {
208
+ return [
209
+ + new LottieAnimationViewPackage(ctx)
210
+ ];
211
+ }
212
+ ```
213
+ </details>
214
+
215
+ ### 运行
216
+
217
+ 点击右上角的 `sync` 按钮
218
+
219
+ 或者在命令行终端执行:
220
+
221
+ ```bash
222
+ cd entry
223
+ ohpm install
224
+ ```
225
+
226
+ 然后编译、运行即可。
227
+
228
+
229
+
230
+ ## 约束与限制
231
+
232
+ ### 兼容性
233
+
234
+ 本文档内容基于以下版本验证通过:
235
+
236
+ 1. RNOH: 0.72.96; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
237
+ 2. RNOH: 0.72.33; SDK: HarmonyOS NEXT B1; IDE: DevEco Studio: 5.0.3.900; ROM: Next.0.0.71;
238
+ 3. RNOH: 0.77.18; SDK: HarmonyOS 6.0.0 Release SDK; IDE: DevEco Studio 6.0.0.858; ROM: 6.0.0.112;
239
+ 4. RNOH: 0.82.1; SDK: HarmonyOS 6.0.1 Release SDK; IDE: DevEco Studio 6.0.1 Release; ROM:6.0.0.120 SP7;
240
+
241
+ ### 权限要求
242
+
243
+ - 如果 source 使用网络 url 应用需要申请网络权限
244
+
245
+ 在`entry/src/main/module.json5`中添加
246
+
247
+ ```json
248
+ requestPermissions: [
249
+ {
250
+ name: "ohos.permission.INTERNET",
251
+ },
252
+ ],
253
+ ```
254
+
255
+ - 如果使用的 json 文件里有依赖图片资源或使用 imageAssetsFolder 属性,需要将资源文件放置到 HarmonyOS 工程 rawfile 下对应的路径中
256
+
257
+ rawfile 路径:`entry/src/main/resources/rawfile`
258
+
259
+ ### 编译运行API要求(如有)
260
+
261
+ > [!TIP] 当前三方库所有版本均已实现版本隔离,支持在 `API12+` 工程编译,及 `API12+` ROM运行。
262
+
263
+ > [!TIP] 以下功能依赖特定版本的API,使用 `低于指定API版本的工程编译` 或 `低于指定API版本的ROM运行` 均可能导致部分功能受限。
264
+ 1. 3.2.0版本引入[OH_ArkUI_NodeUtils_GetParentInPag](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-native-node-h#oh_arkui_nodeutils_getparentinpagetree),实现了xxx功能(解决/xxx问题),此API需要在支持`API14+`的工程编译,并在支持`API14+`的ROM上运行,方可生效。
265
+
266
+
267
+ ## 使用示例
268
+ 下面的代码展示了这个库的基本使用场景:
269
+
270
+ > [!WARNING] 使用时 import 的库名不变。
271
+
272
+ ```javascript
273
+ import React from "react";
274
+ import { View } from "react-native";
275
+ import LottieView from "lottie-react-native";
276
+
277
+ const App = () => {
278
+ return (
279
+ <View style={{ flex: 1 }}>
280
+ <LottieView
281
+ style={{ width: 300, height: 300 }}
282
+ source={require("./assets/xxx.json")}
283
+ autoPlay
284
+ loop />
285
+ </View>
286
+ );
287
+ };
288
+
289
+ export default App;
290
+ ```
291
+
292
+ ## 使用说明
293
+ **动画设置**
294
+ ```javascript
295
+ <LottieView
296
+ source={require('./assets/animations/loading.json')} // JSON文件路径
297
+ style={{ width: 200, height: 200 }}
298
+ duration={6000}
299
+ resizeMode={'center'}
300
+ autoPlay // 自动播放
301
+ loop // 循环播放
302
+
303
+ />
304
+ ```
305
+
306
+ **事件监听**
307
+ ```javascript
308
+ <LottieView
309
+ style={{ width: 300, height: 300 }}
310
+ source={require("../assets/data_base64s.json")}
311
+ loop
312
+ onAnimationFinish={() => {
313
+ // 动画播放完成时调用
314
+ }}
315
+ onAnimationLoaded={() => {
316
+ // 加载完成时调用
317
+ }}
318
+ onAnimationFailure={(event)=>{
319
+ // 动画加载或播放失败时调用
320
+ }}
321
+ />
322
+ ```
323
+
324
+ **播放控制**
325
+ ```javascript
326
+ const animationRef = useRef<LottieView>(null);
327
+
328
+ <LottieView
329
+ ref={animationRef}
330
+ style={{ width: 300, height: 300 }}
331
+ source={require("../assets/data_base64s.json")}
332
+ loop={true}
333
+ />
334
+
335
+ // 重置动画
336
+ animationRef.current.reset();
337
+ // 播放动画
338
+ animationRef.current.play();
339
+ // 暂停动画
340
+ animationRef.current.pause();
341
+ // 恢复暂停的动画。
342
+ animationRef.current.resume();
343
+ ```
344
+
345
+
346
+ ## 接口说明
347
+
348
+ > [!TIP] "Platform"列表示该属性在原三方库上支持的平台。
349
+
350
+ > [!TIP] "OpenHarmony Support"列为 yes 表示 OpenHarmony平台支持 该属性;no 则表示不支持;partially 表示部分支持。使用方法跨平台一致,效果对标 iOS 或 Android 的效果。
351
+
352
+ ### 组件
353
+ | 名称 | 参数类型 | 必填 | 平台 | OpenHarmony平台支持| 描述 |
354
+ |------------|------------|----------------------|------|-----|----------------|
355
+ | LottieView | [LottieViewProps](#LottieViewProps) | yes | all | yes | LottieView组件 |
356
+
357
+ ### 属性
358
+ LottieViewProps
359
+
360
+ | 名称 | 参数类型 | 默认值 | 必填 | 平台 | HarmonyOS平台支持 | 描述 |
361
+ |------------------------------|--------------------|------------|---------------|------|------------------|---------------|
362
+ | source | string | AnimationObject | { uri: string } | None | Yes | 必填 - 动画来源。可以通过字符串引用本地资源,或通过带有 uri 属性的对象引用远程资源,也可以是动画的实际 JS 对象(例如通过 require('../path/to/animation.json') 获取)|
363
+ | progress | number | 0 | No | iOS, Android, Windows | Yes | 0 到 1 之间的数字。该数字表示动画的标准进度。如果更新此属性,动画将相应更新到该进度值对应的帧。如果使用命令式 API,则不需要此属性。|
364
+ | speed | number | 1 | No | All | Yes | 动画播放的速度。设置为负值将使动画倒放 |
365
+ | duration | number | undefined | No | iOS, Android, Windows | Yes | 动画的持续时间(毫秒)。设置后将优先于速度属性。此属性仅在 source 为动画的实际 JS 对象时有效。|
366
+ | loop | boolean | true | No | All | Yes | 布尔值,指示动画是否应循环播放。 |
367
+ | autoPlay | boolean | false | No | All | Yes | 布尔值,指示组件挂载时是否自动开始播放动画。这仅影响命令式 API。 |
368
+ | resizeMode | 'cover'/ 'contain' /'center' | contain | No | iOS, Android, Windows | Yes | 确定当动画帧与原始图像尺寸不匹配时如何调整动画视图的大小。支持 cover、contain 和 center。|
369
+ | style | StyleProp<ViewStyle> | None | No | iOS, Android, Windows | Yes | 视图的样式属性,与标准 View 组件期望的样式相同,不包括边框样式 |
370
+ | containerStyle<sup>7.3.0+</sup> | StyleProp<ViewStyle> | None | No | iOS, Android, VisionOS | Yes | 最外层容器视图的样式属性,与标准 View 组件期望的样式相同。用于布局和定位。 |
371
+ | webStyle | CSSProperties | None | No | Web | No | 视图的样式属性,使用 CSSProperties。 |
372
+ | imageAssetsFolder | string | None | No | Android | Yes | Android 和 HarmonyOS 正确处理资源所需,iOS 将忽略此属性。 |
373
+ | useNativeLooping | boolean | false | No | Windows | No | 仅适用于 Windows。启用后,使用平台级循环以提高流畅度,但 onAnimationLoop 不会触发,且更改 loop 属性将重置播放而不是正常结束。|
374
+ | onAnimationLoop | callback | None | No | Windows, Web | No | 仅适用于 Windows 和 Web。动画循环播放时调用的回调函数。|
375
+ | onAnimationFinish | callback | None | No | All | Yes | 动画完成时调用的回调函数。此回调带有一个布尔值 isCancelled 参数,指示动画是实际完成播放,还是被取消(例如在播放时调用了 play() 或 reset())。注意:仅在 loop 设置为 false 时才会调用此回调。|
376
+ | onAnimationFailure | callback | None | No | All | Yes | 处理动画(加载、运行等)过程中发生错误时调用的回调函数。此回调带有一个字符串 error 参数,其中包含发生的错误信息。|
377
+ | onAnimationLoaded | callback | None | No | All | Yes | 动画加载完成时调用的回调函数。此回调不带参数。 |
378
+ | renderMode | 'AUTOMATIC' | 'HARDWARE' | 'SOFTWARE' | AUTOMATIC | No | iOS, Android | No | 字符串标志,用于设置使用 HARDWARE(硬件)还是 SOFTWARE(软件)加速渲染 |
379
+ | cacheComposition | boolean | true | No | Android | Yes | 仅适用于 Android 和 HarmonyOS,布尔值指示是否应对动画进行缓存。 |
380
+ | colorFilters | Array<ColorFilter> | [] | No | iOS, Android, Windows | Yes | 对象数组,表示通过 KeyPath 指定的图层以及新的颜色滤镜值(十六进制字符串)。 |
381
+ | textFiltersAndroid | Array<TextFilterAndroid> | [] | No | Android | No | 仅适用于 Android,表示要查找和替换的文本值的对象数组。 |
382
+ | textFiltersIOS | Array<TextFilterIOS> | [] | No | iOS | No | 仅适用于 iOS,表示通过 KeyPath 指定的文本图层以及新的字符串值的对象数组。 |
383
+ | hover | boolean | false | No | Web | No | 仅适用于 Web,布尔值表示鼠标悬停时是否播放。 |
384
+ | direction | 1 | -1 | 1 | No | Web | No | 仅适用于 Web,数值 1 或 -1 表示播放方向。 |
385
+
386
+ ### API
387
+ | 名称 | 类型 | 参数类型 | 返回值 | 必填 | 平台 | OpenHarmony平台支持 | 描述 |
388
+ |--------|---------|-----|-------|-------|--------|-----|-----------------|
389
+ | play | function | / | / | No | All | Yes | 按指定的属性速度完整播放动画。也可以在调用 play(startFrame, endFrame) 时播放动画的一个部分(网页上不可用)。 |
390
+ | reset | function | / | / | No | All | Yes | 将动画重置回 0 进度。 |
391
+ | pause | function | / | / | No | All | Yes | 暂停动画。 |
392
+ | resume | function | / | / | No | All | Yes | 恢复暂停的动画。 |
393
+
394
+ ## 遗留问题
395
+
396
+ - 原库部分接口在 HarmonyOS 中没有对应属性及接口处理相关逻辑,问题: [issue#18](https://github.com/react-native-oh-library/lottie-react-native/issues/18)
397
+
398
+ ## 其他
399
+
400
+
401
+ ## 目录结构
402
+ ````
403
+ /rntpc_lottie-react-native # 项目根目录
404
+ ├── harmony # 鸿蒙适配代码
405
+ │ └─ lottie.har # har包
406
+ │ └─ lottie # 鸿蒙适配核心代码
407
+ │ └─ index.ets # 鸿蒙适配代码入口
408
+ │ └─ src/main/ets
409
+ │ └─ LottieAnimationView # lottieView组件 。基于ohos/lottie库封装的lottieView组件
410
+ ├── src # RN代码
411
+ │ └─ index.tsx # 入口文件
412
+ │ └─ LottieAnimationViewNativeComponent.ts 类型文件
413
+ │ └─ codegenUtils.ts # 类型文件
414
+ ├── README.md # 英文安装使用方法
415
+ ├── README_zh.md # 中文安装使用方法
416
+ ````
417
+
418
+ ## 贡献代码
419
+
420
+ 欢迎通过 Issue 和 Pull Request 参与贡献。
421
+
422
+ - 提交 Issue:[GitCode Issues](https://gitcode.com/CPF-RN/rntpc_{alias}/issues)
423
+ - 提交 Pull Request:[GitCode Pull Requests](https://gitcode.com/CPF-RN/rntpc_{alias}/pulls)
424
+
425
+ 请确保变更通过 lint 检查,并在 CHANGELOG 中记录变更内容。
426
+
427
+ ## 开源协议
428
+
429
+ 本项目基于 [The MIT License (MIT)](https://gitcode.com/CPF-RN/rntpc_{alias}/blob/master/LICENSE) ,请自由地享受和参与开源。