ae-tracking 0.1.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 (308) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +50 -0
  3. package/dist/bin/ae-tracking.d.ts +2 -0
  4. package/dist/bin/ae-tracking.js +20 -0
  5. package/dist/scripts/postinstall.d.ts +1 -0
  6. package/dist/scripts/postinstall.js +17 -0
  7. package/dist/src/auth.d.ts +12 -0
  8. package/dist/src/auth.js +215 -0
  9. package/dist/src/cli/auth.d.ts +8 -0
  10. package/dist/src/cli/auth.js +81 -0
  11. package/dist/src/cli/code.d.ts +2 -0
  12. package/dist/src/cli/code.js +85 -0
  13. package/dist/src/cli/debug.d.ts +2 -0
  14. package/dist/src/cli/debug.js +152 -0
  15. package/dist/src/cli/home.d.ts +4 -0
  16. package/dist/src/cli/home.js +15 -0
  17. package/dist/src/cli/init.d.ts +14 -0
  18. package/dist/src/cli/init.js +107 -0
  19. package/dist/src/cli/package-root.d.ts +1 -0
  20. package/dist/src/cli/package-root.js +20 -0
  21. package/dist/src/cli/plan.d.ts +2 -0
  22. package/dist/src/cli/plan.js +242 -0
  23. package/dist/src/cli/wiki.d.ts +2 -0
  24. package/dist/src/cli/wiki.js +20 -0
  25. package/dist/src/client.d.ts +62 -0
  26. package/dist/src/client.js +56 -0
  27. package/dist/src/config.d.ts +4 -0
  28. package/dist/src/config.js +29 -0
  29. package/dist/src/plan/autotrack.d.ts +18 -0
  30. package/dist/src/plan/autotrack.js +350 -0
  31. package/dist/src/plan/conflict.d.ts +34 -0
  32. package/dist/src/plan/conflict.js +106 -0
  33. package/dist/src/plan/draft.d.ts +39 -0
  34. package/dist/src/plan/draft.js +104 -0
  35. package/dist/src/plan/fix.d.ts +32 -0
  36. package/dist/src/plan/fix.js +187 -0
  37. package/dist/src/plan/types.d.ts +57 -0
  38. package/dist/src/plan/types.js +1 -0
  39. package/dist/src/project-detect/detect.d.ts +2 -0
  40. package/dist/src/project-detect/detect.js +120 -0
  41. package/dist/src/project-detect/types.d.ts +9 -0
  42. package/dist/src/project-detect/types.js +1 -0
  43. package/dist/src/te-debug/client.d.ts +12 -0
  44. package/dist/src/te-debug/client.js +54 -0
  45. package/dist/src/te-debug/types.d.ts +16 -0
  46. package/dist/src/te-debug/types.js +1 -0
  47. package/dist/src/te-plan/fetch.d.ts +3 -0
  48. package/dist/src/te-plan/fetch.js +47 -0
  49. package/dist/src/te-plan/types.d.ts +7 -0
  50. package/dist/src/te-plan/types.js +1 -0
  51. package/dist/src/wiki/block-to-md.d.ts +74 -0
  52. package/dist/src/wiki/block-to-md.js +88 -0
  53. package/dist/src/wiki/crawler.d.ts +3 -0
  54. package/dist/src/wiki/crawler.js +71 -0
  55. package/dist/src/wiki/index-writer.d.ts +4 -0
  56. package/dist/src/wiki/index-writer.js +70 -0
  57. package/dist/src/wiki/slugify.d.ts +1 -0
  58. package/dist/src/wiki/slugify.js +11 -0
  59. package/dist/src/wiki/types.d.ts +29 -0
  60. package/dist/src/wiki/types.js +1 -0
  61. package/dist/src/wiki-query/query.d.ts +8 -0
  62. package/dist/src/wiki-query/query.js +32 -0
  63. package/dist/src/xlsx/read.d.ts +2 -0
  64. package/dist/src/xlsx/read.js +457 -0
  65. package/dist/src/xlsx/write.d.ts +3 -0
  66. package/dist/src/xlsx/write.js +251 -0
  67. package/package.json +47 -0
  68. package/skills/generate-tracking-code/SKILL.md +551 -0
  69. package/skills/generate-tracking-code/references/client-sdk-insert.md +92 -0
  70. package/skills/generate-tracking-code/references/datax-config.md +41 -0
  71. package/skills/generate-tracking-code/references/debug-script.md +99 -0
  72. package/skills/generate-tracking-code/references/logbus-config.md +224 -0
  73. package/skills/generate-tracking-code/references/modes.md +81 -0
  74. package/skills/generate-tracking-code/references/restful-call.md +34 -0
  75. package/skills/generate-tracking-code/references/sdk-index.md +123 -0
  76. package/skills/generate-tracking-code/references/server-sdk-insert.md +175 -0
  77. package/skills/generate-tracking-code/references/snippet-delivery.md +240 -0
  78. package/skills/generate-tracking-code/references/te-api.md +181 -0
  79. package/skills/generate-tracking-plan/SKILL.md +826 -0
  80. package/skills/generate-tracking-plan/references/autotrack-events.md +238 -0
  81. package/skills/generate-tracking-plan/references/te-api.md +97 -0
  82. package/skills/generate-tracking-plan/references/xlsx-schema.md +149 -0
  83. package/skills/te-wiki-synthesize/SKILL.md +142 -0
  84. package/wiki/te-docs/index.md +223 -0
  85. package/wiki/te-docs/log.md +28 -0
  86. package/wiki/te-docs/raw//346/216/245/345/205/245/345/211/215/345/207/206/345/244/207/345/267/245/344/275/234//346/225/260/346/215/256/350/247/204/345/210/231.md +379 -0
  87. package/wiki/te-docs/raw//346/216/245/345/205/245/345/211/215/345/207/206/345/244/207/345/267/245/344/275/234//347/224/250/346/210/267/350/257/206/345/210/253/350/247/204/345/210/231.md +461 -0
  88. package/wiki/te-docs/raw//346/216/245/345/205/245/345/211/215/345/207/206/345/244/207/345/267/245/344/275/234//351/242/204/347/275/256/345/261/236/346/200/247/344/270/216/347/263/273/347/273/237/345/255/227/346/256/265.md +634 -0
  89. package/wiki/te-docs/raw//346/216/245/345/205/245/345/211/215/345/207/206/345/244/207/345/267/245/344/275/234.md +190 -0
  90. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227/restful-api-/344/275/277/347/224/250/346/214/207/345/215/227.md +195 -0
  91. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227/sdk-information-collection-rules.md +63 -0
  92. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/205/263/344/272/216-gdpr.md +81 -0
  93. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//345/220/210/350/247/204/346/214/207/345/215/227.md +34 -0
  94. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//346/233/264/346/226/260/346/227/245/345/277/227.md +502 -0
  95. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227//344/270/211/346/226/271/346/225/260/346/215/256.md +367 -0
  96. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +117 -0
  97. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +96 -0
  98. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +947 -0
  99. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +686 -0
  100. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android//350/277/233/351/230/266/346/214/207/345/215/227.md +1126 -0
  101. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/android.md +461 -0
  102. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//346/233/264/346/226/260/346/227/245/345/277/227-RCu1wk.md +64 -0
  103. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//346/233/264/346/226/260/346/227/245/345/277/227.md +167 -0
  104. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225-T57MwB.md +56 -0
  105. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +57 -0
  106. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227-JARDwp.md +455 -0
  107. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227.md +477 -0
  108. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c-Uicgw2.md +145 -0
  109. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/c.md +253 -0
  110. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/h5-/344/270/216-app-sdk-/346/211/223/351/200/232.md +179 -0
  111. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//345/220/210/350/247/204/346/214/207/345/215/227.md +37 -0
  112. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//346/233/264/346/226/260/346/227/245/345/277/227.md +491 -0
  113. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227//344/270/211/346/226/271/346/225/260/346/215/256.md +154 -0
  114. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +148 -0
  115. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +92 -0
  116. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +479 -0
  117. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +587 -0
  118. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//350/277/233/351/230/266/346/214/207/345/215/227.md +912 -0
  119. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios//351/232/220/347/247/201/346/270/205/345/215/225.md +183 -0
  120. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/ios.md +397 -0
  121. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//345/220/210/350/247/204/346/214/207/345/215/227.md +39 -0
  122. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//346/233/264/346/226/260/346/227/245/345/277/227.md +239 -0
  123. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +55 -0
  124. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
  125. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +113 -0
  126. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +267 -0
  127. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript//350/277/233/351/230/266/346/214/207/345/215/227.md +455 -0
  128. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/javascript.md +257 -0
  129. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/macos//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +77 -0
  130. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/macos//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +249 -0
  131. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/macos//350/277/233/351/230/266/346/214/207/345/215/227.md +738 -0
  132. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/macos.md +317 -0
  133. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//345/220/210/350/247/204/346/214/207/345/215/227.md +345 -0
  134. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//346/233/264/346/226/260/346/227/245/345/277/227.md +128 -0
  135. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +60 -0
  136. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
  137. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +121 -0
  138. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +286 -0
  139. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227.md +408 -0
  140. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk/openharmony.md +209 -0
  141. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/256/242/346/210/267/347/253/257-sdk-/345/270/270/350/247/201/351/227/256/351/242/230.md +72 -0
  142. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//345/220/210/350/247/204/346/214/207/345/215/227.md +56 -0
  143. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//346/233/264/346/226/260/346/227/245/345/277/227.md +313 -0
  144. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +78 -0
  145. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +58 -0
  146. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +192 -0
  147. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +301 -0
  148. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227.md +644 -0
  149. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217.md +440 -0
  150. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//345/220/210/350/247/204/346/214/207/345/215/227.md +35 -0
  151. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//346/233/264/346/226/260/346/227/245/345/277/227.md +49 -0
  152. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +53 -0
  153. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +32 -0
  154. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +65 -0
  155. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227.md +288 -0
  156. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua.md +236 -0
  157. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//345/220/210/350/247/204/346/214/207/345/215/227.md +34 -0
  158. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//346/233/264/346/226/260/346/227/245/345/277/227.md +122 -0
  159. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +27 -0
  160. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +53 -0
  161. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +34 -0
  162. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +177 -0
  163. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x//350/277/233/351/230/266/346/214/207/345/215/227.md +368 -0
  164. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-x.md +311 -0
  165. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//345/220/210/350/247/204/346/214/207/345/215/227.md +42 -0
  166. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//346/233/264/346/226/260/346/227/245/345/277/227.md +184 -0
  167. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +142 -0
  168. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +60 -0
  169. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +96 -0
  170. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +255 -0
  171. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator//350/277/233/351/230/266/346/214/207/345/215/227.md +659 -0
  172. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocoscreator.md +213 -0
  173. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//345/220/210/350/247/204/346/214/207/345/215/227.md +39 -0
  174. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//346/233/264/346/226/260/346/227/245/345/277/227.md +42 -0
  175. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +59 -0
  176. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +37 -0
  177. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +50 -0
  178. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona//350/277/233/351/230/266/346/214/207/345/215/227.md +281 -0
  179. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/corona.md +304 -0
  180. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//346/233/264/346/226/260/346/227/245/345/277/227.md +129 -0
  181. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +74 -0
  182. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +60 -0
  183. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +74 -0
  184. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +228 -0
  185. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227.md +640 -0
  186. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret.md +210 -0
  187. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//346/233/264/346/226/260/346/227/245/345/277/227.md +129 -0
  188. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +79 -0
  189. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +60 -0
  190. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +73 -0
  191. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +254 -0
  192. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227.md +626 -0
  193. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair.md +228 -0
  194. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//345/216/206/345/217/262/347/211/210/346/234/254-unity-sdk-/344/275/277/347/224/250/346/214/207/345/215/227.md +503 -0
  195. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//345/220/210/350/247/204/346/214/207/345/215/227.md +34 -0
  196. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//346/233/264/346/226/260/346/227/245/345/277/227.md +505 -0
  197. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//344/270/211/346/226/271/346/225/260/346/215/256.md +86 -0
  198. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//345/216/237/347/224/237-sdk-/345/217/257/346/217/222/346/213/224.md +44 -0
  199. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +55 -0
  200. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +53 -0
  201. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +156 -0
  202. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +293 -0
  203. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity//350/277/233/351/230/266/346/214/207/345/215/227.md +667 -0
  204. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unity.md +203 -0
  205. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//345/220/210/350/247/204/346/214/207/345/215/227.md +34 -0
  206. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//346/233/264/346/226/260/346/227/245/345/277/227.md +209 -0
  207. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//350/277/233/351/230/266/346/214/207/345/215/227//344/270/211/346/226/271/346/225/260/346/215/256.md +152 -0
  208. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +41 -0
  209. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +81 -0
  210. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +181 -0
  211. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal//350/277/233/351/230/266/346/214/207/345/215/227.md +346 -0
  212. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/unreal.md +228 -0
  213. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216.md +20 -0
  214. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//345/220/210/350/247/204/346/214/207/345/215/227.md +37 -0
  215. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//346/233/264/346/226/260/346/227/245/345/277/227.md +201 -0
  216. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
  217. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +139 -0
  218. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +65 -0
  219. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter//350/277/233/351/230/266/346/214/207/345/215/227.md +356 -0
  220. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/flutter.md +176 -0
  221. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//345/220/210/350/247/204/346/214/207/345/215/227.md +37 -0
  222. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//346/233/264/346/226/260/346/227/245/345/277/227.md +162 -0
  223. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +60 -0
  224. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +140 -0
  225. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +23 -0
  226. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native//350/277/233/351/230/266/346/214/207/345/215/227.md +375 -0
  227. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/react-native.md +176 -0
  228. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//346/233/264/346/226/260/346/227/245/345/277/227.md +34 -0
  229. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +96 -0
  230. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +48 -0
  231. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +57 -0
  232. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +68 -0
  233. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +249 -0
  234. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app//350/277/233/351/230/266/346/214/207/345/215/227.md +420 -0
  235. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266/uni-app.md +193 -0
  236. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk//350/267/250/345/271/263/345/217/260/346/241/206/346/236/266.md +15 -0
  237. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//345/256/242/346/210/267/347/253/257-sdk.md +35 -0
  238. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/225/260/346/215/256/345/257/274/345/205/245/filebeat-logstash-/344/275/277/347/224/250/346/214/207/345/215/227.md +638 -0
  239. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/225/260/346/215/256/345/257/274/345/205/245/logbus2-/344/275/277/347/224/250/346/214/207/345/215/227.md +1140 -0
  240. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/225/260/346/215/256/345/257/274/345/205/245/ta-datax-writer-/346/217/222/344/273/266/344/275/277/347/224/250/346/214/207/345/215/227.md +256 -0
  241. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/225/260/346/215/256/345/257/274/345/205/245.md +17 -0
  242. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/225/260/346/225/260/347/247/221/346/212/200sdk/351/232/220/347/247/201/345/243/260/346/230/216.md +298 -0
  243. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//346/233/264/346/226/260/346/227/245/345/277/227-HZrPwz.md +80 -0
  244. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//346/233/264/346/226/260/346/227/245/345/277/227-U1zKwj.md +108 -0
  245. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//346/233/264/346/226/260/346/227/245/345/277/227.md +114 -0
  246. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225-LEb9wx.md +46 -0
  247. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225-TfR3wg.md +46 -0
  248. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +93 -0
  249. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247-U1Qvwk.md +75 -0
  250. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247-X08Fw7.md +75 -0
  251. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  252. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227-Jc1dwk.md +245 -0
  253. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227-YGuuwc.md +237 -0
  254. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c//350/277/233/351/230/266/346/214/207/345/215/227.md +242 -0
  255. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c-D4KBwg.md +211 -0
  256. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c-HF7Dwv.md +169 -0
  257. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/c.md +225 -0
  258. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/erlang//346/233/264/346/226/260/346/227/245/345/277/227.md +55 -0
  259. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/erlang//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +51 -0
  260. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/erlang//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  261. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/erlang//350/277/233/351/230/266/346/214/207/345/215/227.md +151 -0
  262. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/erlang.md +204 -0
  263. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/golang//346/233/264/346/226/260/346/227/245/345/277/227.md +135 -0
  264. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/golang//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +46 -0
  265. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/golang//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  266. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/golang//350/277/233/351/230/266/346/214/207/345/215/227.md +208 -0
  267. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/golang.md +193 -0
  268. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/java//346/233/264/346/226/260/346/227/245/345/277/227.md +138 -0
  269. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/java//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +52 -0
  270. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/java//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  271. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/java//350/277/233/351/230/266/346/214/207/345/215/227.md +289 -0
  272. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/java.md +214 -0
  273. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/lua//346/233/264/346/226/260/346/227/245/345/277/227.md +123 -0
  274. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/lua//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +57 -0
  275. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/lua//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  276. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/lua//350/277/233/351/230/266/346/214/207/345/215/227.md +234 -0
  277. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/lua.md +165 -0
  278. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/nodejs//346/233/264/346/226/260/346/227/245/345/277/227.md +89 -0
  279. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/nodejs//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +65 -0
  280. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/nodejs//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  281. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/nodejs//350/277/233/351/230/266/346/214/207/345/215/227.md +263 -0
  282. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/nodejs.md +161 -0
  283. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/php//346/233/264/346/226/260/346/227/245/345/277/227.md +86 -0
  284. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/php//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +48 -0
  285. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/php//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  286. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/php//350/277/233/351/230/266/346/214/207/345/215/227.md +269 -0
  287. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/php.md +206 -0
  288. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/python//346/233/264/346/226/260/346/227/245/345/277/227.md +155 -0
  289. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/python//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +47 -0
  290. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/python//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  291. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/python//350/277/233/351/230/266/346/214/207/345/215/227.md +274 -0
  292. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/python.md +162 -0
  293. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/ruby//346/233/264/346/226/260/346/227/245/345/277/227.md +53 -0
  294. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/ruby//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +50 -0
  295. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/ruby//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +75 -0
  296. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/ruby//350/277/233/351/230/266/346/214/207/345/215/227.md +226 -0
  297. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk/ruby.md +165 -0
  298. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227//346/234/215/345/212/241/347/253/257-sdk.md +23 -0
  299. package/wiki/te-docs/raw//346/216/245/345/205/245/346/214/207/345/215/227.md +64 -0
  300. package/wiki/te-docs/raw//350/277/233/351/230/266/346/225/260/346/215/256/347/261/273/345/236/213//345/217/257/346/233/264/346/226/260/344/272/213/344/273/266.md +109 -0
  301. package/wiki/te-docs/raw//350/277/233/351/230/266/346/225/260/346/215/256/347/261/273/345/236/213//351/246/226/346/254/241/344/272/213/344/273/266/346/240/241/351/252/214.md +88 -0
  302. package/wiki/te-docs/raw//350/277/233/351/230/266/346/225/260/346/215/256/347/261/273/345/236/213.md +22 -0
  303. package/wiki/te-docs/schema.md +17 -0
  304. package/wiki/te-docs/synthesis/batch-ingest-comparison.md +117 -0
  305. package/wiki/te-docs/synthesis/js-sdk-cheatsheet.md +136 -0
  306. package/wiki/te-docs/synthesis/restful-api-reference.md +142 -0
  307. package/wiki/te-docs/synthesis/sdk-selection.md +79 -0
  308. package/wiki/te-docs/synthesis/server-sdk-overview.md +124 -0
@@ -0,0 +1,551 @@
1
+ ---
2
+ name: generate-tracking-code
3
+ description: 交互式将 AE 埋点方案落为用户项目代码、LogBus2 配置或 debug 脚本。触发词:代码埋点、埋点代码、tracking code、埋点落地、logbus 配置、AE 上报代码。支持多端多平台独立选择输出方式(插入/片段),服务端默认 LoggerConsumer + LogBus2 架构。
4
+ ---
5
+
6
+ # generate-tracking-code
7
+
8
+ ## 何时触发
9
+
10
+ 用户说"生成埋点代码 / 帮我做 web 端埋点 / 生成 logbus 配置 / 服务端上报代码" 时触发。支持多端多平台独立选择输出方式。
11
+
12
+ ## Phase 0 — Anchor(每个问题单独一条消息)
13
+
14
+ ### 前置:从 draft.json 读取已有配置
15
+
16
+ 首先检查 `.ae-tracking/draft.json` 是否存在,读取已有配置:
17
+
18
+ | 配置项 | draft.json 字段 | 处理方式 |
19
+ |---|---|---|
20
+ | AE projectId | `meta.project_id` | 有值 → 确认;无值 → 询问 |
21
+ | AE web 地址 | `meta.host` | 有值 → 确认;无值 → 询问 |
22
+ | SDK 集成模式 | `meta.sdk_integration_mode` | 有值 → 直接使用 |
23
+ | 客户端 SDK 类型 | `meta.client_platforms`(优先)或 `meta.client_sdk_type` | 有值 → 直接使用 |
24
+ | 服务端语言 | `meta.server_language` | 有值 → 直接使用 |
25
+ | 用户体系 | `meta.user_identity` | 有值 → 直接使用 |
26
+
27
+ **多平台支持**:
28
+ - 若 `client_platforms` 存在(数组),则为多平台场景,需为每个平台生成代码
29
+ - 若只有 `client_sdk_type`,则为单平台(向后兼容)
30
+ - 示例:`client_platforms: ["android", "openharmony"]` → 生成 Android + OpenHarmony 代码
31
+
32
+ **开发语言支持**:
33
+ - Android SDK:支持 Java / Kotlin(可生成两种代码)
34
+ - iOS SDK:支持 Objective-C / Swift(可生成两种代码)
35
+ - 其他 SDK:固定语言,无需选择
36
+
37
+ **语言配置来源**:
38
+ - 优先读取 `meta.client_platform_languages`(如 `{"android": ["java", "kotlin"]}`)
39
+ - 若无配置,对于 Android/iOS 平台需追问用户选择
40
+
41
+ **确认流程**:
42
+ - 有值:问 **"确认使用 draft.json 中的配置:<值>?yes / 输入新值"**
43
+ - 用户 `yes` → 使用 draft 值
44
+ - 用户输入新值 → 更新 draft.json 并使用新值
45
+
46
+ ### 需要询问的配置(如果 draft 中无值)
47
+
48
+ 1. **SERVER_URL** — 数据上报地址(**与 web 地址不同**;请前往 AE 系统「项目管理」→「接入配置」→ 填写「公网地址」)
49
+ - ⚠️ 「公网地址」需要填写过才会显示,如果没填过不会显示此字段
50
+ - 解决方案:咨询运维获取地址,或**跳过此步骤**(代码中可暂时用 `SERVER_URL` 或 `PUSH_URL` 替代)
51
+ 2. **appId** — 请前往 AE 系统「项目管理」→「接入配置」→ 复制「APP_ID」
52
+
53
+ **host 处理**(可选):
54
+ - 如果需要从 AE fetch plan(无本地 draft.json)→ 询问 host
55
+ - 如果已有本地 draft.json → host 不必须,仅在验证阶段提示用户打开 AE Debug 页面
56
+
57
+ ### 如果只有 xlsx 文件(无 draft.json)
58
+
59
+ 用户直接提供 xlsx 埋点方案文件(通过 `ae-tracking code import-xlsx` 命令或放在 `.ae-tracking/draft.xlsx`),则进入此流程:
60
+
61
+ **Step 1:解析 xlsx 文件**
62
+
63
+ 执行以下命令解析 xlsx:
64
+ ```bash
65
+ ae-tracking code import-xlsx --xlsx <xlsx路径> --out .ae-tracking/draft.json
66
+ ```
67
+
68
+ 此命令会:
69
+ 1. 读取 xlsx 中的事件、事件属性、公共属性、用户属性
70
+ 2. 根据事件 `platform` 字段推断 `sdk_integration_mode`
71
+ 3. 输出 draft.json(meta 部分仅有 events 和 plan_name)
72
+
73
+ **Step 2:从 xlsx 可推断的信息**
74
+
75
+ | 字段 | 是否可推断 | 说明 |
76
+ |---|---|---|
77
+ | 事件列表 | ✅ | 从 `#事件数据` sheet |
78
+ | 事件属性池 | ✅ | 从 `#事件数据` sheet |
79
+ | 公共事件属性 | ✅ | 从 `#公共事件属性` sheet |
80
+ | 用户属性 | ✅ | 从 `#用户数据` sheet |
81
+ | sdk_integration_mode | ⚠️ 有限支持 | xlsx 的"采集端"列可推断(client/server/both),但若无该列则需询问 |
82
+ | client_platforms | ❌ | 需询问用户选择 |
83
+ | client_platform_languages | ❌ | 需询问用户选择(仅 Android/iOS) |
84
+ | server_language | ❌ | 需询问用户选择(仅 sdk_integration_mode 含 server) |
85
+ | user_identity | ❌ | 需询问用户选择 |
86
+ | host / project_id | ❌ | 需询问或跳过 |
87
+
88
+ **"采集端"列解析规则**:
89
+ - 空值 / 无此列 → 无法推断 platform,默认生成客户端代码(向后兼容)
90
+ - `客户端` / `client` → 仅客户端采集,解析为 `platform: "client"`
91
+ - `服务端` / `server` → 仅服务端采集,解析为 `platform: "server"`
92
+ - `客户端,服务端` / `client,server` / `服务端,客户端` / `server,client` → 两端都采集,解析为 `platform: "both"`
93
+
94
+ **内部表示**:xlsx 中的 "采集端" 值经过 `ae-tracking code import-xlsx` 解析后,统一转为 `platform` 字段的内部值:
95
+ - `client` → 客户端采集
96
+ - `server` → 服务端采集
97
+ - `both` → 两端都采集(xlsx 中是 "客户端,服务端" 或 "client,server")
98
+
99
+ **代码生成时的平台过滤**:
100
+ - 客户端代码:只生成 `platform === "client"` 或 `platform === "both"` 的事件
101
+ - 服务端代码:只生成 `platform === "server"` 或 `platform === "both"` 的事件
102
+ - 若 xlsx 无 platform 列,客户端和服务端代码都会生成(向后兼容)
103
+
104
+ **Step 3:询问缺失配置**
105
+
106
+ 按顺序依次询问,每项单独一条消息:
107
+
108
+ 1. **SDK 集成模式**:问 **"埋点通过客户端还是服务端上报?客户端 / 服务端 / 两者都有"**
109
+
110
+ 2. **客户端平台**(仅 sdk_integration_mode 含 client):
111
+ 问 **"这是什么平台的 App?"**
112
+ - Android / Android SDK
113
+ - iOS / iOS SDK
114
+ - OpenHarmony / OpenHarmony SDK
115
+ - Web / H5(JavaScript SDK)
116
+ - 微信小程序(小程序 SDK)
117
+ - 微信小游戏(小游戏 SDK)
118
+ - Unity 游戏(Unity SDK)
119
+ - Cocos 游戏(CocosCreator / Cocos2d-x / LayaAir)
120
+ - React Native / Flutter / uni-app
121
+ - 其他
122
+
123
+ → 用户选择后,**仅当选择 Android 或 iOS 时**,追问:
124
+ - Android → 问 **"开发语言是什么?Java / Kotlin / 两者都支持"**
125
+ - iOS → 问 **"开发语言是什么?Objective-C / Swift / 两者都支持"**
126
+
127
+ 3. **服务端语言**(仅 sdk_integration_mode 含 server):
128
+ 问 **"服务端语言是什么?"**
129
+ - Java
130
+ - Python
131
+ - Go
132
+ - Node.js
133
+ - PHP
134
+ - C# / .NET
135
+ - 其他
136
+
137
+ 4. **用户体系**:
138
+ - 账号 ID 来源:user_account / role_id / none
139
+ - 访客 ID 策略:auto / device_id / custom
140
+
141
+ 5. **SERVER_URL / APP_ID**(如已配置则跳过)
142
+
143
+ **Step 4:合并配置并进入 Phase 1**
144
+
145
+ 将询问结果写入 `.ae-tracking/draft.json` 的 meta 部分,然后进入 Phase 1 执行。
146
+
147
+ ---
148
+
149
+ ### 如果无本地 plan 文件
150
+
151
+ 如果没有 `.ae-tracking/draft.json` 或 `.ae-tracking/remote-plan.json`,需要:
152
+
153
+ 1. **AE projectId** — 从 AE 后台获取
154
+ 2. **AE web 地址** — 用于 fetch plan
155
+ 3. 执行 `ae-tracking plan fetch` 获取埋点方案
156
+
157
+ **追问规则**(根据集成模式确定需要生成代码的端/平台):
158
+
159
+ | 集成模式 | 需要生成的端/平台 |
160
+ |---|---|
161
+ | `client_only` | 1 个客户端平台(从 plan 读取 `client_sdk_type` 或询问) |
162
+ | `server_only` | 1 个服务端语言(从 plan 读取 `server_language` 或询问) |
163
+ | `both` | 客户端平台 + 服务端语言(两者都需要) |
164
+
165
+ ---
166
+
167
+ ### 端/平台定义
168
+
169
+ **客户端平台**(对应客户端 SDK):
170
+
171
+ | plan 字段 | 平台 | SDK | 文档路径 |
172
+ |---|---|---|---|
173
+ | `android` | Android | Android SDK | `wiki/te-docs/raw/client/android/` |
174
+ | `ios` | iOS | iOS SDK | `wiki/te-docs/raw/client/ios/` |
175
+ | `openharmony` | OpenHarmony | OpenHarmony SDK | `wiki/te-docs/raw/client/openharmony/` |
176
+ | `javascript` | Web / H5 | JavaScript SDK | `wiki/te-docs/raw/client/js/` |
177
+ | `miniprogram` | 小程序 | 小程序 SDK | `wiki/te-docs/raw/client/miniprogram/` |
178
+ | `unity` | Unity | Unity SDK | `wiki/te-docs/raw/client/unity/` |
179
+ | `game_engine` | 游戏引擎 | Cocos / Laya / Unreal | 见 `references/sdk-index.md` |
180
+
181
+ **服务端语言**(对应服务端 SDK):
182
+
183
+ | plan 字段 | 语言 | SDK | 文档路径 |
184
+ |---|---|---|---|
185
+ | `java` | Java | Java SDK | `wiki/te-docs/raw/server/java/` |
186
+ | `python` | Python | Python SDK | `wiki/te-docs/raw/server/python/` |
187
+ | `go` | Go | Go SDK | `wiki/te-docs/raw/server/go/` |
188
+ | `nodejs` | Node.js | Node SDK | `wiki/te-docs/raw/server/node/` |
189
+ | `php` | PHP | PHP SDK | `wiki/te-docs/raw/server/php/` |
190
+ | `csharp` | C# | C# SDK | `wiki/te-docs/raw/server/csharp/` |
191
+
192
+ ---
193
+
194
+ ### 输出方式定义
195
+
196
+ 每个端/平台可选择两种输出方式:
197
+
198
+ | 方式 | 说明 | 参数 | 产物 |
199
+ |---|---|---|---|
200
+ | **insert**(插入) | 直接 Edit 写入用户项目 | 需指定项目路径 | 代码写入指定目录 |
201
+ | **snippet**(片段) | markdown 打印 + 生成代码文件 | 无需路径 | `.ae-tracking/output/<platform>-sdk.<ext>` |
202
+
203
+ **服务端默认附加**:
204
+ - LoggerConsumer 代码(插入或片段,根据选择)
205
+ - LogBus2 配置文件(`.ae-tracking/output/daemon.json`)
206
+ - 官方文档链接:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
207
+
208
+ **独立选项**:
209
+ - `debug` — 校验脚本(生成测试上报代码)
210
+
211
+ ---
212
+
213
+ ## Phase 1 — Load plan
214
+
215
+ ```bash
216
+ ae-tracking auth login --host <host>
217
+ ae-tracking auth status
218
+ ae-tracking plan fetch --project <projectId> --host <host> > .ae-tracking/remote-plan.json
219
+ ```
220
+
221
+ 失败降级:
222
+ - AE 无法访问 → 问用户是否用 `.ae-tracking/draft.json`(本地已有 plan)
223
+ - 两者都没有 → 终止,让用户先跑 `generate-tracking-plan`
224
+
225
+ **读取 SDK 集成配置**:
226
+ 从 plan 文件中读取:
227
+ - `meta.sdk_integration_mode` — SDK 集成模式
228
+ - `meta.client_sdk_type` — 客户端 SDK 类型(如 `client_only` 或 `both`)
229
+ - `meta.server_language` — 服务端开发语言(如 `server_only` 或 `both`)
230
+ - `meta.user_identity` — 用户体系配置(用于生成 `login()` / `identify()` 调用)
231
+
232
+ **确定需要生成代码的端/平台列表**:
233
+ ```
234
+ 端/平台列表 = {
235
+ client: [client_sdk_type] // 如 ['android'] 或 ['javascript']
236
+ server: [server_language] // 如 ['java'] 或 ['python']
237
+ }
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Phase 2 — Route mode(选择输出方式)
243
+
244
+ ### 2.1 展示端/平台列表
245
+
246
+ 根据 Phase 1 读取的配置,展示需要生成代码的端/平台:
247
+
248
+ ```
249
+ 需要生成代码的端/平台:
250
+
251
+ 客户端:
252
+ - android(Android SDK)
253
+
254
+ 服务端:
255
+ - java(Java SDK,默认 LoggerConsumer + LogBus2)
256
+ ```
257
+
258
+ ### 2.2 快捷选项
259
+
260
+ 提供快捷选项,简化交互:
261
+
262
+ **选项 1:全都生成片段**
263
+ - 所有端/平台都选择 `snippet`
264
+ - 一次性输出 markdown + 多个代码文件 + LogBus2 配置
265
+ - 无需指定项目路径
266
+
267
+ **选项 2:逐个选择**
268
+ - 每个端/平台独立选择输出方式
269
+
270
+ ### 2.3 逐个选择流程
271
+
272
+ 如果用户选择「逐个选择」,按端/平台顺序询问:
273
+
274
+ **客户端平台询问**:
275
+ ```
276
+ 客户端 android 选择输出方式:
277
+ 1. insert(插入)— 需指定项目路径
278
+ 2. snippet(片段)— 无需路径,生成代码文件
279
+
280
+ 请选择:insert / snippet
281
+ ```
282
+
283
+ - 选 `insert` → 问 **"项目路径是什么?(绝对路径)"**
284
+ - 选 `snippet` → 无需额外参数
285
+
286
+ **服务端语言询问**:
287
+ ```
288
+ 服务端 java 选择输出方式:
289
+ 1. insert(插入)— 需指定项目路径
290
+ 2. snippet(片段)— 无需路径,生成代码文件
291
+
292
+ 请选择:insert / snippet
293
+
294
+ (默认附加:LoggerConsumer + LogBus2 配置 + 官方文档链接)
295
+ ```
296
+
297
+ - 选 `insert` → 问 **"项目路径是什么?(绝对路径)"**
298
+ - 选 `snippet` → 无需额外参数
299
+ - 服务端无论选择哪种,都额外生成 `.ae-tracking/output/daemon.json`
300
+ - **同步提供 LogBus2 官方文档链接**:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
301
+
302
+ ### 2.4 独立选项
303
+
304
+ 在端/平台选择完成后,询问:
305
+
306
+ **"是否需要生成 debug 校验脚本?yes / no"**
307
+
308
+ - `yes` → 生成 `.ae-tracking/output/te-debug.<ext>`
309
+ - `no` → 跳过
310
+
311
+ ### 2.5 汇总选择结果
312
+
313
+ 展示最终选择汇总:
314
+
315
+ ```
316
+ 输出方式汇总:
317
+
318
+ 客户端 android:snippet(片段)
319
+ 产物:.ae-tracking/output/android-sdk.java
320
+
321
+ 服务端 java:snippet(片段)
322
+ 产物:.ae-tracking/output/java-sdk.java
323
+ .ae-tracking/output/daemon.json
324
+
325
+ LogBus2 官方文档:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
326
+
327
+ 独立选项:debug
328
+ 产物:te-debug.java
329
+
330
+ 确认?yes / no
331
+ ```
332
+
333
+ ---
334
+
335
+ ## Phase 3 — Execute(按端/平台执行)
336
+
337
+ ### 3.1 执行前检查
338
+
339
+ Phase 3 开始前检查:
340
+ ```bash
341
+ test -z "$(git status --porcelain)" || echo "uncommitted changes present"
342
+ ```
343
+
344
+ **处理规则**:
345
+ - 所有 `insert` 选择 → 必须检查 git 状态
346
+ - 有未提交改动 → 拒绝执行所有 `insert`,提示用户先 commit/stash
347
+ - `snippet` / `debug` → 无需检查(不写用户代码)
348
+
349
+ ### 3.2 按端/平台分发执行
350
+
351
+ **事件平台过滤规则**(重要):
352
+ - xlsx "采集端" 列的值映射为 `platform` 字段:
353
+ - `客户端` / `client` → `platform: "client"`
354
+ - `服务端` / `server` → `platform: "server"`
355
+ - `客户端,服务端` / `client,server` → `platform: "both"`
356
+ - 客户端代码:只生成 `platform === "client"` 或 `platform === "both"` 的事件
357
+ - 服务端代码:只生成 `platform === "server"` 或 `platform === "both"` 的事件
358
+ - 若 xlsx 无 platform 列(早期方案),则生成全部事件(向后兼容)
359
+ - `platform === undefined`(xlsx 无此列)→ 两端代码都生成
360
+
361
+ **客户端代码生成**:
362
+
363
+ | 输出方式 | 执行流程 |
364
+ |---|---|
365
+ | `insert` | 读 `references/client-sdk-insert.md` → Explore 项目 → 制定插入计划 → Edit 写入 |
366
+ | `snippet` | 读 `references/snippet-delivery.md` → markdown 打印 + 生成 `.ae-tracking/output/<platform>-sdk.<ext>` |
367
+
368
+ **只生成 `platform === "client"` 或 `platform === "both"` 的事件**
369
+
370
+ 生成前必须读取 wiki 对应 SDK 文档(见 `references/sdk-index.md`)。
371
+
372
+ ---
373
+
374
+ **服务端代码生成**:
375
+
376
+ | 输出方式 | 执行流程 |
377
+ |---|---|
378
+ | `insert` | 读 `references/server-sdk-insert.md` → Explore 项目 → 制定插入计划 → Edit 写入 |
379
+ | `snippet` | markdown 打印 + 生成 `.ae-tracking/output/<language>-sdk.<ext>` |
380
+
381
+ **只生成 `platform === "server"` 或 `platform === "both"` 的事件**
382
+
383
+ **服务端默认附加**:
384
+ - 生成 LoggerConsumer 模式代码(写本地日志文件)
385
+ - 生成 `.ae-tracking/output/daemon.json`(LogBus2 配置)
386
+ - **同步提供 LogBus2 官方文档链接**:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
387
+
388
+ 生成前必须读取 wiki 对应 SDK 文档(见 `references/sdk-index.md`)。
389
+
390
+ ---
391
+
392
+ **独立选项执行**:
393
+
394
+ | 选项 | 执行流程 |
395
+ |---|---|
396
+ | `debug` | 读 `references/debug-script.md` → 生成 `.ae-tracking/output/te-debug.<ext>` |
397
+
398
+ ---
399
+
400
+ ## Phase 4 — Deliver(产物展示)
401
+
402
+ 根据选择的输出方式展示产物:
403
+
404
+ ### 全都生成片段
405
+
406
+ ```
407
+ 产物清单:
408
+
409
+ 客户端:
410
+ - .ae-tracking/output/android-sdk.java(Android SDK 代码片段)
411
+
412
+ 服务端:
413
+ - .ae-tracking/output/java-sdk.java(Java SDK LoggerConsumer 代码)
414
+ - .ae-tracking/output/daemon.json(LogBus2 配置)
415
+
416
+ LogBus2 官方文档:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
417
+
418
+ 独立选项:
419
+ - .ae-tracking/output/te-debug.java(校验脚本)
420
+
421
+ README:.ae-tracking/output/README.md(使用说明)
422
+ ```
423
+
424
+ ### 混合选择(部分 insert + 部分 snippet)
425
+
426
+ ```
427
+ 产物清单:
428
+
429
+ 客户端 android(insert):
430
+ - <项目路径>/src/main/java/.../TrackingHelper.java(SDK init + 事件调用)
431
+
432
+ 服务端 java(snippet):
433
+ - .ae-tracking/output/java-sdk.java(LoggerConsumer 代码片段)
434
+ - .ae-tracking/output/daemon.json(LogBus2 配置)
435
+
436
+ LogBus2 官方文档:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
437
+
438
+ 独立选项:
439
+ - .ae-tracking/output/te-debug.java(校验脚本)
440
+ ```
441
+
442
+ ### Markdown 代码片段展示
443
+
444
+ 对于所有 `snippet` 选择,在 markdown 响应中按端/平台分组展示:
445
+
446
+ ```
447
+ ## 客户端 Android
448
+
449
+ ### SDK 初始化
450
+ ```java
451
+ TDAnalytics.init(this, SERVER_URL, APPID);
452
+ ```
453
+
454
+ ### 公共属性
455
+ ```java
456
+ Map<String, Object> superProperties = new HashMap<>();
457
+ superProperties.put("channel", "app_store");
458
+ TDAnalytics.setSuperProperties(superProperties);
459
+ ```
460
+
461
+ ### 事件组:auth
462
+ #### user_login
463
+ ```java
464
+ TDAnalytics.track("user_login", new HashMap<String, Object>() {{
465
+ put("login_method", "phone");
466
+ }});
467
+ ```
468
+ ...
469
+ ```
470
+
471
+ ---
472
+
473
+ ## Phase 5 — Validate hint
474
+
475
+ 根据选择的端/平台给出验证建议:
476
+
477
+ ### 验证步骤
478
+
479
+ ```
480
+ 验证步骤:
481
+ 1. 运行校验脚本:
482
+ - 客户端:运行 .ae-tracking/output/te-debug-client.<ext>
483
+ - 服务端:运行 .ae-tracking/output/te-debug-server.<ext>
484
+
485
+ 2. 打开 AE Debug 页面:
486
+ https://<host>/#/data/debug
487
+
488
+ 3. 筛选 distinct_id=claude-test 查看上报数据
489
+
490
+ 4. 如有 LogBus2:
491
+ - 将 daemon.json 复制到 LogBus2 的 conf/ 目录
492
+ - 启动:./logbus start
493
+ - 官方文档:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
494
+ ```
495
+
496
+ ### 验证通过后
497
+
498
+ - 提示用户 commit 改动(如有 `insert`)
499
+ - 提示用户在代码中调用 `login()` / `identify()` 以关联用户 ID
500
+ - 提示用户将 daemon.json 复制到 LogBus2 的 conf/ 目录
501
+
502
+ ### 验证失败
503
+
504
+ - 让用户贴错误文案回来 debug
505
+ - 检查 SERVER_URL / appId 是否正确
506
+ - 检查网络连通性
507
+ - 检查 LogBus2 配置文件格式
508
+
509
+ ---
510
+
511
+ ## 禁止
512
+
513
+ - 任何 `insert` 执行前未跑 `git status` 检查
514
+ - 在 Phase 3 跳 reference 直接乱插
515
+ - 忽略 `// @tracking <event>` 注释的增量检测
516
+ - 复用 web host 当 SERVER_URL(必须分开)
517
+ - **使用 LogBus v1(已过时,只用 LogBus2)**
518
+ - 生成 LogBus2 配置时未提供官方文档链接
519
+ - 生成客户端代码时包含 `platform === "server"` 的专属事件
520
+ - 生成服务端代码时包含 `platform === "client"` 的专属事件(除非 `platform === "both"`)
521
+ - **跳过读 SDK 主文档直接凭猜测选集成方式** — 各 SDK 集成方式不同,必须先读 wiki 主文档的「集成 SDK」章节,根据项目特征(有/无构建工具)选择正确方式
522
+
523
+ ---
524
+
525
+ ## 内部参考
526
+
527
+ 所有输出方式的实际规则在 `references/*.md`。本 SKILL.md 只做 Phase 编排。
528
+
529
+ **SDK 文档索引**:
530
+ - `references/sdk-index.md` — 所有 SDK 的 wiki 文档路径索引(权威源)
531
+
532
+ **输出方式参考**:
533
+ - `references/client-sdk-insert.md` — 客户端代码插入流程
534
+ - `references/snippet-delivery.md` — 代码片段生成流程
535
+ - `references/server-sdk-insert.md` — 服务端代码插入流程(LoggerConsumer + LogBus2)
536
+ - `references/logbus-config.md` — LogBus2 配置生成(含官方文档链接)
537
+ - `references/debug-script.md` — 校验脚本生成
538
+
539
+ **LogBus2 官方文档**(生成配置时必须同步提供):
540
+ - 使用指南:https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
541
+ - 下载地址在官方文档「二、下载 LogBus2」章节中
542
+
543
+ **wiki 目录结构**(见 `wiki/te-docs/schema.md`):
544
+ - `wiki/te-docs/raw/` — AE 官方文档镜像(只读,由 crawler 维护)
545
+ - `wiki/te-docs/synthesis/` — LLM 合成的概览文档
546
+
547
+ **生成代码时的文档读取顺序**:
548
+ 1. 读 `references/sdk-index.md` 找到对应 SDK 的文档路径
549
+ 2. 读 wiki 主文档(初始化、基础 API)
550
+ 3. 读 wiki 进阶指南(LoggerConsumer、用户属性等)
551
+ 4. 检查进阶指南下的子文档(如需要)
@@ -0,0 +1,92 @@
1
+ # 模式 A — 客户端 SDK 代码插入
2
+
3
+ ## Stage 0: Wiki(必须完成,禁止跳过)
4
+ 1. 读 `references/sdk-index.md` 找到对应 SDK 的主文档路径
5
+ 2. **读 SDK 主文档的「集成 SDK」章节**,了解该 SDK 的所有集成方式(如 JS SDK 有 npm / CDN同步 / CDN异步 三种)
6
+ 3. 根据项目特征(有无 package.json / 构建工具 / 纯 HTML)选择对应的集成方式
7
+ 4. 读 `~/.ae-tracking/wiki/te-docs/synthesis/sdk-selection.md`,确认 appType 对应的 npm 包名与 init 签名
8
+ 5. 读对应 cheatsheet(如 `js-sdk-cheatsheet.md`)补充细节
9
+
10
+ **禁止**:跳过 Stage 0 直接写代码、凭猜测选择集成方式、使用不确定的 CDN URL
11
+
12
+ ## Stage 1: Explore
13
+ 1. Grep 入口:`src/main.*`、`src/App.*`、`pages/_app.*`、`index.html`
14
+ 2. Grep 现有埋点:`ta\.track|thinkingdata|TA\.init|// @tracking`
15
+ 3. Grep 路由:`react-router|vue-router|next/router`
16
+ 4. Grep 用户态:`(handleLogin|onLogin|signIn|doLogin)` / `(handleLogout|signOut)`
17
+ - Astro 专属:
18
+ - 入口:`src/middleware.ts`(SSR 中间件,适合 page_view)、`src/layouts/*.astro`(全局布局插 init)、`astro.config.mjs`(integrations)
19
+ - 客户端组件:`*.astro` 文件里 `<script>` 块、含 `client:*` 指令的 React/Vue island 组件
20
+
21
+ ## Stage 2: Insertion Plan(markdown 表格)
22
+
23
+ **平台过滤**:
24
+ - xlsx "采集端" 值为 `客户端` / `client` → `platform: "client"`(仅客户端采集)
25
+ - xlsx "采集端" 值为 `客户端,服务端` / `client,server` → `platform: "both"`(两端都采集)
26
+ - xlsx "采集端" 值为 `服务端` / `server` → `platform: "server"`(仅服务端采集,不在客户端生成)
27
+ - 只插入 `platform === "client"` 或 `platform === "both"` 的事件
28
+
29
+ ```
30
+ ## SDK 初始化
31
+ - 文件: <path>:<line>
32
+ - 代码: init(...) with appId/SERVER_URL
33
+
34
+ ## 公共事件属性
35
+ - 文件: <path>:<line>
36
+ - setSuperProperties({...})
37
+
38
+ ## 用户属性
39
+ - 文件: <path>:<line>
40
+ - user_set / user_setOnce / user_add
41
+
42
+ ## 事件组: <tag>
43
+ - <event_name>: <file>:<symbol> 或 SKIP (already present at file:line)
44
+ - ...
45
+ ```
46
+
47
+ 展示后问用户 `ok` 进入 Stage 3,或 "回到事件 X 改映射"。
48
+
49
+ ## Stage 3: 分批 Edit
50
+ - Batch 1: SDK init + 公共属性
51
+ - Batch 2: 用户属性
52
+ - Batch 3..N: 按 `event_tag` 分组
53
+ - 每批用 Edit 工具;写完打印文件清单 + 新增行数,问 `ok / undo`
54
+ - `undo` → 反向 Edit 回滚本批
55
+
56
+ ## Stage 4: 汇总
57
+ - 打印所有改过的文件 + 每文件新增的事件列表
58
+ - 提示用户考虑跑 F 模式
59
+
60
+ ## 代码风格
61
+ - 单例:新建 `src/lib/tracking.ts`(若不存在),export `ta` 单例
62
+ - 每个 track 调用前加 `// @tracking <event_name>` 注释
63
+ - 不加 try/catch
64
+ - 事件名 / 属性名严格来自 plan,不改
65
+ - Astro:SDK init 放 `src/layouts/BaseLayout.astro` 的 `<script>` 块里;page_view 用 middleware 或 `Astro.url.pathname` 监听
66
+
67
+ ## 前置检查
68
+ - `git status --porcelain` 非空 → 拒绝,提示用户先 commit/stash
69
+
70
+ ## Stage 5: 验证步骤(insert 模式专用)
71
+
72
+ **⚠️ insert 模式 debug 默认关闭,不得引导用户到 Debug 页面查看数据**
73
+
74
+ ### 验证步骤
75
+ 1. **集成 SDK**(按集成方式选择对应步骤)
76
+ - **npm / 包管理器集成**(JavaScript/React Native/Flutter/uni-app):执行 `npm install` 或对应包管理器命令安装 SDK
77
+ - **构建工具集成**(Unity/Unreal):通过 Package Manager 或 Epic Games Launcher 添加 SDK 依赖
78
+ - **依赖管理集成**(Android/iOS):在 `build.gradle` / `Podfile` 中添加 SDK 依赖
79
+ - **手动下载集成**(Web H5/小程序/游戏引擎等):下载 SDK 文件并放置到项目对应目录
80
+
81
+ 参考 `references/sdk-index.md` 中对应 SDK 的官方文档
82
+
83
+ 2. **打开 AE 实时数据页面**(非 Debug 页面)
84
+ - `https://<host>/#/data/realtime`
85
+ - 因为 debug 模式关闭,数据走正常上报流程,实时数据页面才能看到
86
+
87
+ 3. **操作应用触发事件**,查看是否有数据上报
88
+
89
+ ### 上线前检查清单
90
+ - [ ] 确认 `debug: false` 或配置中无 debug 字段
91
+ - [ ] SDK 已正确集成(依赖已添加 / 文件已放置)
92
+ - [ ] 实时数据页面能看到事件上报
@@ -0,0 +1,41 @@
1
+ # 模式 D — DataX job.json
2
+
3
+ ## 询问用户
4
+ 1. 数据源类型(MySQL / Oracle / PostgreSQL / OSS / HDFS / 其它)
5
+ 2. 连接信息 / 库表名 / 查询条件(或文件路径)
6
+
7
+ ## 产物
8
+ `.ae-tracking/output/datax-job.json`:
9
+
10
+ ```json
11
+ {
12
+ "job": {
13
+ "content": [{
14
+ "reader": {
15
+ "name": "<mysqlreader|oraclereader|...>",
16
+ "parameter": { "connection": [ { "jdbcUrl": ["<TODO>"], "table": ["<TODO>"] } ], "username": "<TODO>", "password": "<TODO>", "column": ["*"] }
17
+ },
18
+ "writer": {
19
+ "name": "tewriter",
20
+ "parameter": {
21
+ "push_url": "<SERVER_URL>",
22
+ "appid": "<appId>",
23
+ "eventName": "<from plan>",
24
+ "columnMapping": { "<db_col>": "<te_prop>" }
25
+ }
26
+ }
27
+ }],
28
+ "setting": { "speed": { "channel": 2 } }
29
+ }
30
+ }
31
+ ```
32
+
33
+ `.ae-tracking/output/datax-README.md`:
34
+ - 启动:`python datax.py datax-job.json`
35
+ - 前置:DataX 运行环境
36
+ - `<TODO>` 清单
37
+
38
+ ## 生成步骤
39
+ 1. 确定 reader 插件名
40
+ 2. 按 plan 的第一个事件(或用户指定事件)填 `eventName` + `columnMapping`
41
+ 3. 写两份文件