@open-dy/vibecoding-sdk-taro 0.0.1-beta.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 (239) hide show
  1. package/dist/adapters/interest-card/eslint/eslint-plugin-custom-navigation.mjs +290 -0
  2. package/dist/adapters/interest-card/eslint/taro.mjs +55 -0
  3. package/dist/adapters/interest-card/runtime/microapp.d.ts +7 -0
  4. package/dist/adapters/interest-card/runtime/microapp.js +8 -0
  5. package/dist/adapters/interest-card/runtime/microapp.js.map +1 -0
  6. package/dist/adapters/interest-card/types/taro.d.ts +28 -0
  7. package/dist/build/config-overrides.d.ts +19 -0
  8. package/dist/build/config-overrides.js +35 -0
  9. package/dist/build/config-overrides.js.map +1 -0
  10. package/dist/build/index.d.ts +1 -0
  11. package/dist/build/index.js +2 -0
  12. package/dist/build/index.js.map +1 -0
  13. package/dist/build/plugins/app-config.cjs +43 -0
  14. package/dist/build/plugins/vite-depend-card.d.ts +29 -0
  15. package/dist/build/plugins/vite-depend-card.js +250 -0
  16. package/dist/build/plugins/vite-depend-card.js.map +1 -0
  17. package/dist/build/plugins/vite-image-asset-import.d.ts +10 -0
  18. package/dist/build/plugins/vite-image-asset-import.js +150 -0
  19. package/dist/build/plugins/vite-image-asset-import.js.map +1 -0
  20. package/dist/build/plugins/vite-inline-json.d.ts +4 -0
  21. package/dist/build/plugins/vite-inline-json.js +129 -0
  22. package/dist/build/plugins/vite-inline-json.js.map +1 -0
  23. package/dist/build/plugins/vite-taro-source-location.d.ts +13 -0
  24. package/dist/build/plugins/vite-taro-source-location.js +159 -0
  25. package/dist/build/plugins/vite-taro-source-location.js.map +1 -0
  26. package/dist/build/taro.d.ts +53 -0
  27. package/dist/build/taro.js +729 -0
  28. package/dist/build/taro.js.map +1 -0
  29. package/dist/components/miniapp-open-card.d.ts +19 -0
  30. package/dist/components/miniapp-open-card.js +3 -0
  31. package/dist/components/miniapp-open-card.js.map +1 -0
  32. package/dist/eslint/eslint-plugin-microapp-pages.mjs +659 -0
  33. package/dist/eslint/server.mjs +69 -0
  34. package/dist/eslint/taro.mjs +553 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.js +3 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/internal/runtime/douyin-open-button.d.ts +29 -0
  39. package/dist/internal/runtime/iframe-auth/identity.d.ts +20 -0
  40. package/dist/internal/runtime/iframe-auth/identity.js +156 -0
  41. package/dist/internal/runtime/iframe-auth/identity.js.map +1 -0
  42. package/dist/internal/runtime/iframe-auth/index.d.ts +2 -0
  43. package/dist/internal/runtime/iframe-auth/index.js +3 -0
  44. package/dist/internal/runtime/iframe-auth/index.js.map +1 -0
  45. package/dist/internal/runtime/iframe-auth/sync.d.ts +2 -0
  46. package/dist/internal/runtime/iframe-auth/sync.js +23 -0
  47. package/dist/internal/runtime/iframe-auth/sync.js.map +1 -0
  48. package/dist/lib/measure.d.ts +21 -0
  49. package/dist/lib/measure.js +101 -0
  50. package/dist/lib/measure.js.map +1 -0
  51. package/dist/lib/platform.d.ts +2 -0
  52. package/dist/lib/platform.js +11 -0
  53. package/dist/lib/platform.js.map +1 -0
  54. package/dist/lib/utils.d.ts +2 -0
  55. package/dist/lib/utils.js +6 -0
  56. package/dist/lib/utils.js.map +1 -0
  57. package/dist/reference/llms.txt +36 -0
  58. package/dist/reference/sdk-api/build/taro/BuildContext.md +53 -0
  59. package/dist/reference/sdk-api/build/taro/CreateMicroappTaroConfigOptions.md +62 -0
  60. package/dist/reference/sdk-api/build/taro/createMicroappTaroConfig.md +66 -0
  61. package/dist/reference/sdk-api/build/taro/index.md +11 -0
  62. package/dist/reference/sdk-api/runtime/CreateMicroappClientOptions.md +47 -0
  63. package/dist/reference/sdk-api/runtime/createMicroappClient.md +378 -0
  64. package/dist/reference/sdk-api/runtime/index.md +10 -0
  65. package/dist/reference/sdk-api.json +1534 -0
  66. package/dist/reference/sdk-api.md +43 -0
  67. package/dist/runtime/client.d.ts +63 -0
  68. package/dist/runtime/client.js +194 -0
  69. package/dist/runtime/client.js.map +1 -0
  70. package/dist/runtime/closed-domain-request-header.d.ts +4 -0
  71. package/dist/runtime/closed-domain-request-header.js +8 -0
  72. package/dist/runtime/closed-domain-request-header.js.map +1 -0
  73. package/dist/runtime/default-client.d.ts +57 -0
  74. package/dist/runtime/default-client.js +21 -0
  75. package/dist/runtime/default-client.js.map +1 -0
  76. package/dist/runtime/default-iframe-auth.d.ts +8 -0
  77. package/dist/runtime/default-iframe-auth.js +10 -0
  78. package/dist/runtime/default-iframe-auth.js.map +1 -0
  79. package/dist/runtime/douyin-container-request.d.ts +11 -0
  80. package/dist/runtime/douyin-container-request.js +301 -0
  81. package/dist/runtime/douyin-container-request.js.map +1 -0
  82. package/dist/runtime/douyin-login-request.d.ts +32 -0
  83. package/dist/runtime/douyin-login-request.js +400 -0
  84. package/dist/runtime/douyin-login-request.js.map +1 -0
  85. package/dist/runtime/globals.d.ts +342 -0
  86. package/dist/runtime/index.d.ts +4 -0
  87. package/dist/runtime/index.js +4 -0
  88. package/dist/runtime/index.js.map +1 -0
  89. package/dist/runtime/network-url.d.ts +3 -0
  90. package/dist/runtime/network-url.js +53 -0
  91. package/dist/runtime/network-url.js.map +1 -0
  92. package/dist/types/taro.d.ts +1 -0
  93. package/dist/ui/accordion.d.ts +17 -0
  94. package/dist/ui/accordion.js +60 -0
  95. package/dist/ui/accordion.js.map +1 -0
  96. package/dist/ui/alert-dialog.d.ts +33 -0
  97. package/dist/ui/alert-dialog.js +96 -0
  98. package/dist/ui/alert-dialog.js.map +1 -0
  99. package/dist/ui/alert.d.ts +11 -0
  100. package/dist/ui/alert.js +49 -0
  101. package/dist/ui/alert.js.map +1 -0
  102. package/dist/ui/aspect-ratio.d.ts +5 -0
  103. package/dist/ui/aspect-ratio.js +10 -0
  104. package/dist/ui/aspect-ratio.js.map +1 -0
  105. package/dist/ui/avatar.d.ts +14 -0
  106. package/dist/ui/avatar.js +50 -0
  107. package/dist/ui/avatar.js.map +1 -0
  108. package/dist/ui/badge.d.ts +8 -0
  109. package/dist/ui/badge.js +27 -0
  110. package/dist/ui/badge.js.map +1 -0
  111. package/dist/ui/button-group.d.ts +14 -0
  112. package/dist/ui/button-group.js +52 -0
  113. package/dist/ui/button-group.js.map +1 -0
  114. package/dist/ui/button.d.ts +30 -0
  115. package/dist/ui/button.js +75 -0
  116. package/dist/ui/button.js.map +1 -0
  117. package/dist/ui/calendar.d.ts +29 -0
  118. package/dist/ui/calendar.js +141 -0
  119. package/dist/ui/calendar.js.map +1 -0
  120. package/dist/ui/card.d.ts +12 -0
  121. package/dist/ui/card.js +38 -0
  122. package/dist/ui/card.js.map +1 -0
  123. package/dist/ui/carousel.d.ts +30 -0
  124. package/dist/ui/carousel.js +60 -0
  125. package/dist/ui/carousel.js.map +1 -0
  126. package/dist/ui/checkbox.d.ts +9 -0
  127. package/dist/ui/checkbox.js +20 -0
  128. package/dist/ui/checkbox.js.map +1 -0
  129. package/dist/ui/collapsible.d.ts +18 -0
  130. package/dist/ui/collapsible.js +53 -0
  131. package/dist/ui/collapsible.js.map +1 -0
  132. package/dist/ui/combobox.d.ts +55 -0
  133. package/dist/ui/combobox.js +165 -0
  134. package/dist/ui/combobox.js.map +1 -0
  135. package/dist/ui/dialog.d.ts +26 -0
  136. package/dist/ui/dialog.js +54 -0
  137. package/dist/ui/dialog.js.map +1 -0
  138. package/dist/ui/drawer.d.ts +21 -0
  139. package/dist/ui/drawer.js +57 -0
  140. package/dist/ui/drawer.js.map +1 -0
  141. package/dist/ui/dropdown-menu.d.ts +52 -0
  142. package/dist/ui/dropdown-menu.js +112 -0
  143. package/dist/ui/dropdown-menu.js.map +1 -0
  144. package/dist/ui/empty.d.ts +12 -0
  145. package/dist/ui/empty.js +35 -0
  146. package/dist/ui/empty.js.map +1 -0
  147. package/dist/ui/field.d.ts +26 -0
  148. package/dist/ui/field.js +117 -0
  149. package/dist/ui/field.js.map +1 -0
  150. package/dist/ui/helpers.d.ts +6 -0
  151. package/dist/ui/helpers.js +23 -0
  152. package/dist/ui/helpers.js.map +1 -0
  153. package/dist/ui/index.d.ts +47 -0
  154. package/dist/ui/index.js +48 -0
  155. package/dist/ui/index.js.map +1 -0
  156. package/dist/ui/input-group.d.ts +17 -0
  157. package/dist/ui/input-group.js +122 -0
  158. package/dist/ui/input-group.js.map +1 -0
  159. package/dist/ui/input-otp.d.ts +18 -0
  160. package/dist/ui/input-otp.js +48 -0
  161. package/dist/ui/input-otp.js.map +1 -0
  162. package/dist/ui/input.d.ts +5 -0
  163. package/dist/ui/input.js +8 -0
  164. package/dist/ui/input.js.map +1 -0
  165. package/dist/ui/item.d.ts +22 -0
  166. package/dist/ui/item.js +83 -0
  167. package/dist/ui/item.js.map +1 -0
  168. package/dist/ui/label.d.ts +3 -0
  169. package/dist/ui/label.js +8 -0
  170. package/dist/ui/label.js.map +1 -0
  171. package/dist/ui/menubar.d.ts +65 -0
  172. package/dist/ui/menubar.js +244 -0
  173. package/dist/ui/menubar.js.map +1 -0
  174. package/dist/ui/navigation-menu.d.ts +27 -0
  175. package/dist/ui/navigation-menu.js +72 -0
  176. package/dist/ui/navigation-menu.js.map +1 -0
  177. package/dist/ui/pagination.d.ts +17 -0
  178. package/dist/ui/pagination.js +28 -0
  179. package/dist/ui/pagination.js.map +1 -0
  180. package/dist/ui/popover.d.ts +27 -0
  181. package/dist/ui/popover.js +139 -0
  182. package/dist/ui/popover.js.map +1 -0
  183. package/dist/ui/portal.d.ts +5 -0
  184. package/dist/ui/portal.js +18 -0
  185. package/dist/ui/portal.js.map +1 -0
  186. package/dist/ui/progress.d.ts +45 -0
  187. package/dist/ui/progress.js +67 -0
  188. package/dist/ui/progress.js.map +1 -0
  189. package/dist/ui/radio-group.d.ts +12 -0
  190. package/dist/ui/radio-group.js +29 -0
  191. package/dist/ui/radio-group.js.map +1 -0
  192. package/dist/ui/resizable.d.ts +20 -0
  193. package/dist/ui/resizable.js +244 -0
  194. package/dist/ui/resizable.js.map +1 -0
  195. package/dist/ui/scroll-area.d.ts +8 -0
  196. package/dist/ui/scroll-area.js +34 -0
  197. package/dist/ui/scroll-area.js.map +1 -0
  198. package/dist/ui/select.d.ts +35 -0
  199. package/dist/ui/select.js +136 -0
  200. package/dist/ui/select.js.map +1 -0
  201. package/dist/ui/separator.d.ts +5 -0
  202. package/dist/ui/separator.js +8 -0
  203. package/dist/ui/separator.js.map +1 -0
  204. package/dist/ui/sheet.d.ts +26 -0
  205. package/dist/ui/sheet.js +67 -0
  206. package/dist/ui/sheet.js.map +1 -0
  207. package/dist/ui/skeleton.d.ts +3 -0
  208. package/dist/ui/skeleton.js +8 -0
  209. package/dist/ui/skeleton.js.map +1 -0
  210. package/dist/ui/slider.d.ts +12 -0
  211. package/dist/ui/slider.js +94 -0
  212. package/dist/ui/slider.js.map +1 -0
  213. package/dist/ui/sonner.d.ts +6 -0
  214. package/dist/ui/sonner.js +13 -0
  215. package/dist/ui/sonner.js.map +1 -0
  216. package/dist/ui/spinner.d.ts +3 -0
  217. package/dist/ui/spinner.js +9 -0
  218. package/dist/ui/spinner.js.map +1 -0
  219. package/dist/ui/switch.d.ts +11 -0
  220. package/dist/ui/switch.js +33 -0
  221. package/dist/ui/switch.js.map +1 -0
  222. package/dist/ui/table.d.ts +13 -0
  223. package/dist/ui/table.js +54 -0
  224. package/dist/ui/table.js.map +1 -0
  225. package/dist/ui/tabs.d.ts +23 -0
  226. package/dist/ui/tabs.js +61 -0
  227. package/dist/ui/tabs.js.map +1 -0
  228. package/dist/ui/tailwind.css +2 -0
  229. package/dist/ui/textarea.d.ts +3 -0
  230. package/dist/ui/textarea.js +13 -0
  231. package/dist/ui/textarea.js.map +1 -0
  232. package/dist/ui/theme.css +234 -0
  233. package/dist/ui/toggle-group.d.ts +19 -0
  234. package/dist/ui/toggle-group.js +73 -0
  235. package/dist/ui/toggle-group.js.map +1 -0
  236. package/dist/ui/toggle.d.ts +14 -0
  237. package/dist/ui/toggle.js +41 -0
  238. package/dist/ui/toggle.js.map +1 -0
  239. package/package.json +97 -0
@@ -0,0 +1,156 @@
1
+ const IFRAME_IDENTITY_STORAGE_KEY = '__iframe_douyin_identity__';
2
+ const IFRAME_IDENTITY_MESSAGE_FROM = 'agiPreview';
3
+ const IFRAME_IDENTITY_MESSAGE_TYPE = 'douyinAuth';
4
+ const IFRAME_LOGOUT_MESSAGE_TYPE = 'douyinLogout';
5
+ let cachedIdentity = null;
6
+ const isWebIframeRuntime = (taro) => {
7
+ return (typeof taro?.getEnv === 'function' &&
8
+ taro.ENV_TYPE?.WEB != null &&
9
+ taro.getEnv() === taro.ENV_TYPE.WEB &&
10
+ typeof window !== 'undefined' &&
11
+ window.parent !== window);
12
+ };
13
+ const isRecord = (value) => {
14
+ return typeof value === 'object' && value !== null;
15
+ };
16
+ const isExpiredIdentity = (identity) => {
17
+ return identity.expiresAt <= Date.now();
18
+ };
19
+ const normalizeIdentity = (value) => {
20
+ if (!isRecord(value)) {
21
+ return null;
22
+ }
23
+ const accessToken = typeof value.accessToken === 'string' ? value.accessToken.trim() : '';
24
+ const expiresAt = typeof value.expiresAt === 'number' && Number.isFinite(value.expiresAt)
25
+ ? value.expiresAt
26
+ : 0;
27
+ const openId = typeof value.openId === 'string' ? value.openId.trim() : '';
28
+ if (!accessToken || !openId || expiresAt <= 0) {
29
+ return null;
30
+ }
31
+ return {
32
+ accessToken,
33
+ expiresAt,
34
+ openId,
35
+ };
36
+ };
37
+ const getParentOrigin = () => {
38
+ if (typeof document === 'undefined' || !document.referrer) {
39
+ return null;
40
+ }
41
+ try {
42
+ return new URL(document.referrer).origin;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ };
48
+ const readStoredIdentity = (taro) => {
49
+ if (!isWebIframeRuntime(taro) || typeof sessionStorage === 'undefined') {
50
+ return null;
51
+ }
52
+ try {
53
+ const storedValue = sessionStorage.getItem(IFRAME_IDENTITY_STORAGE_KEY);
54
+ if (!storedValue) {
55
+ return null;
56
+ }
57
+ return normalizeIdentity(JSON.parse(storedValue));
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ };
63
+ export const getIframeIdentity = (taro) => {
64
+ if (cachedIdentity) {
65
+ if (isExpiredIdentity(cachedIdentity)) {
66
+ clearIframeIdentity(taro);
67
+ return null;
68
+ }
69
+ return cachedIdentity;
70
+ }
71
+ cachedIdentity = readStoredIdentity(taro);
72
+ if (cachedIdentity && isExpiredIdentity(cachedIdentity)) {
73
+ clearIframeIdentity(taro);
74
+ return null;
75
+ }
76
+ return cachedIdentity;
77
+ };
78
+ export const persistIframeIdentity = (taro, identity) => {
79
+ if (isExpiredIdentity(identity)) {
80
+ clearIframeIdentity(taro);
81
+ return;
82
+ }
83
+ cachedIdentity = identity;
84
+ if (!isWebIframeRuntime(taro) || typeof sessionStorage === 'undefined') {
85
+ return;
86
+ }
87
+ try {
88
+ sessionStorage.setItem(IFRAME_IDENTITY_STORAGE_KEY, JSON.stringify(identity));
89
+ }
90
+ catch {
91
+ // Ignore storage failures and keep the in-memory copy.
92
+ }
93
+ };
94
+ export const clearIframeIdentity = (taro) => {
95
+ cachedIdentity = null;
96
+ if (!isWebIframeRuntime(taro) || typeof sessionStorage === 'undefined') {
97
+ return;
98
+ }
99
+ try {
100
+ sessionStorage.removeItem(IFRAME_IDENTITY_STORAGE_KEY);
101
+ }
102
+ catch {
103
+ // Ignore storage failures and rely on the in-memory reset.
104
+ }
105
+ };
106
+ export const getIframeIdentityHeaders = (taro) => {
107
+ const identity = getIframeIdentity(taro);
108
+ if (!identity) {
109
+ return {};
110
+ }
111
+ return {
112
+ OpenId: identity.openId,
113
+ Authorization: `Bearer ${identity.accessToken}`,
114
+ };
115
+ };
116
+ export const mergeIframeIdentityHeaders = (taro, header) => {
117
+ const identityHeaders = getIframeIdentityHeaders(taro);
118
+ if (Object.keys(identityHeaders).length === 0) {
119
+ return header;
120
+ }
121
+ return {
122
+ ...header,
123
+ ...identityHeaders,
124
+ };
125
+ };
126
+ export const parseIframeIdentityMessage = (taro, event) => {
127
+ if (!isWebIframeRuntime(taro) || event.source !== window.parent) {
128
+ return null;
129
+ }
130
+ const parentOrigin = getParentOrigin();
131
+ if (parentOrigin && event.origin !== parentOrigin) {
132
+ return null;
133
+ }
134
+ const message = event.data;
135
+ if (!message ||
136
+ message.from !== IFRAME_IDENTITY_MESSAGE_FROM ||
137
+ message.type !== IFRAME_IDENTITY_MESSAGE_TYPE) {
138
+ return null;
139
+ }
140
+ return normalizeIdentity(message.data);
141
+ };
142
+ export const isIframeLogoutMessage = (taro, event) => {
143
+ if (!isWebIframeRuntime(taro) || event.source !== window.parent) {
144
+ return false;
145
+ }
146
+ const parentOrigin = getParentOrigin();
147
+ if (parentOrigin && event.origin !== parentOrigin) {
148
+ return false;
149
+ }
150
+ const message = event.data;
151
+ return Boolean(message &&
152
+ message.from === IFRAME_IDENTITY_MESSAGE_FROM &&
153
+ message.type === IFRAME_LOGOUT_MESSAGE_TYPE);
154
+ };
155
+ export const shouldListenIframeIdentityMessage = (taro) => isWebIframeRuntime(taro);
156
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/internal/runtime/iframe-auth/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './identity.js';
2
+ export { subscribeIframeAuth } from './sync.js';
@@ -0,0 +1,3 @@
1
+ export * from './identity.js';
2
+ export { subscribeIframeAuth } from './sync.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/runtime/iframe-auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { type IframeTaroRuntime } from './identity.js';
2
+ export declare const subscribeIframeAuth: (taro: IframeTaroRuntime | null | undefined, clearLoginAuth: () => void) => (() => void) | undefined;
@@ -0,0 +1,23 @@
1
+ import { clearIframeIdentity, isIframeLogoutMessage, parseIframeIdentityMessage, persistIframeIdentity, shouldListenIframeIdentityMessage, } from './identity.js';
2
+ export const subscribeIframeAuth = (taro, clearLoginAuth) => {
3
+ if (!shouldListenIframeIdentityMessage(taro)) {
4
+ return;
5
+ }
6
+ const handleMessage = (event) => {
7
+ if (isIframeLogoutMessage(taro, event)) {
8
+ clearIframeIdentity(taro);
9
+ clearLoginAuth();
10
+ return;
11
+ }
12
+ const identity = parseIframeIdentityMessage(taro, event);
13
+ if (!identity) {
14
+ return;
15
+ }
16
+ persistIframeIdentity(taro, identity);
17
+ };
18
+ window.addEventListener('message', handleMessage);
19
+ return () => {
20
+ window.removeEventListener('message', handleMessage);
21
+ };
22
+ };
23
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/internal/runtime/iframe-auth/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,iCAAiC,GAClC,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAA0C,EAC1C,cAA0B,EAC1B,EAAE;IACF,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAM;IACR,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,EAAE;QACrD,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,mBAAmB,CAAC,IAAI,CAAC,CAAA;YACzB,cAAc,EAAE,CAAA;YAChB,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACjD,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACtD,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ export type Rect = {
2
+ left: number;
3
+ top: number;
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export declare const getViewport: () => {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ export declare const getRectById: (id: string) => Promise<Rect | null>;
12
+ export declare const computePosition: (params: {
13
+ triggerRect: Rect;
14
+ contentRect: Rect;
15
+ align: "start" | "center" | "end";
16
+ side: "top" | "bottom" | "left" | "right";
17
+ sideOffset: number;
18
+ }) => {
19
+ left: number;
20
+ top: number;
21
+ };
@@ -0,0 +1,101 @@
1
+ import Taro from '@tarojs/taro';
2
+ import { canUseDOM, isH5 } from './platform.js';
3
+ const toNumber = (v) => {
4
+ if (typeof v === 'number')
5
+ return v;
6
+ if (typeof v === 'string') {
7
+ const n = parseFloat(v);
8
+ return Number.isFinite(n) ? n : 0;
9
+ }
10
+ return 0;
11
+ };
12
+ const normalizeRect = (r) => {
13
+ if (!r)
14
+ return null;
15
+ return {
16
+ left: toNumber(r.left),
17
+ top: toNumber(r.top),
18
+ width: toNumber(r.width),
19
+ height: toNumber(r.height),
20
+ };
21
+ };
22
+ export const getViewport = () => {
23
+ if (isH5() && canUseDOM()) {
24
+ return { width: window.innerWidth, height: window.innerHeight };
25
+ }
26
+ try {
27
+ const info = Taro.getSystemInfoSync();
28
+ return {
29
+ width: toNumber(info.windowWidth),
30
+ height: toNumber(info.windowHeight),
31
+ };
32
+ }
33
+ catch {
34
+ return { width: 375, height: 667 };
35
+ }
36
+ };
37
+ const getRectH5 = (id) => {
38
+ if (!isH5() || !canUseDOM())
39
+ return null;
40
+ const el = document.getElementById(id);
41
+ if (!el)
42
+ return null;
43
+ const r = el.getBoundingClientRect();
44
+ return normalizeRect(r);
45
+ };
46
+ export const getRectById = (id) => {
47
+ const h5Rect = getRectH5(id);
48
+ if (h5Rect)
49
+ return Promise.resolve(h5Rect);
50
+ return new Promise(resolve => {
51
+ const query = Taro.createSelectorQuery();
52
+ query
53
+ .select(`#${id}`)
54
+ .boundingClientRect(res => {
55
+ const rect = Array.isArray(res) ? res[0] : res;
56
+ resolve(normalizeRect(rect));
57
+ })
58
+ .exec();
59
+ });
60
+ };
61
+ export const computePosition = (params) => {
62
+ const { triggerRect, contentRect, align, side, sideOffset } = params;
63
+ const { width: vw, height: vh } = getViewport();
64
+ const margin = 8;
65
+ const crossStart = side === 'left' || side === 'right' ? triggerRect.top : triggerRect.left;
66
+ const crossSize = side === 'left' || side === 'right'
67
+ ? triggerRect.height
68
+ : triggerRect.width;
69
+ const contentCrossSize = side === 'left' || side === 'right'
70
+ ? contentRect.height
71
+ : contentRect.width;
72
+ const cross = (() => {
73
+ if (align === 'start')
74
+ return crossStart;
75
+ if (align === 'end')
76
+ return crossStart + crossSize - contentCrossSize;
77
+ return crossStart + crossSize / 2 - contentCrossSize / 2;
78
+ })();
79
+ let left = 0;
80
+ let top = 0;
81
+ if (side === 'bottom' || side === 'top') {
82
+ left = cross;
83
+ top =
84
+ side === 'bottom'
85
+ ? triggerRect.top + triggerRect.height + sideOffset
86
+ : triggerRect.top - contentRect.height - sideOffset;
87
+ }
88
+ else {
89
+ top = cross;
90
+ left =
91
+ side === 'right'
92
+ ? triggerRect.left + triggerRect.width + sideOffset
93
+ : triggerRect.left - contentRect.width - sideOffset;
94
+ }
95
+ const maxLeft = Math.max(margin, vw - contentRect.width - margin);
96
+ const maxTop = Math.max(margin, vh - contentRect.height - margin);
97
+ left = Math.min(Math.max(left, margin), maxLeft);
98
+ top = Math.min(Math.max(top, margin), maxTop);
99
+ return { left, top };
100
+ };
101
+ //# sourceMappingURL=measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../src/lib/measure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const canUseDOM: () => boolean;
2
+ export declare const isH5: () => boolean;
@@ -0,0 +1,11 @@
1
+ import Taro from "@tarojs/taro";
2
+ export const canUseDOM = () => typeof window !== "undefined" && typeof document !== "undefined";
3
+ export const isH5 = () => {
4
+ try {
5
+ return Taro.getEnv() === Taro.ENV_TYPE.WEB;
6
+ }
7
+ catch {
8
+ return canUseDOM();
9
+ }
10
+ };
11
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/lib/platform.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAE/B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAA;AAE/F,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,EAAE,CAAA;IACpB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,6 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,36 @@
1
+ # SDK API index
2
+
3
+ > Generated from structured public SDK contracts and AI-facing JSDoc tags. Read `sdk-api.md` for the entry index, `sdk-api/<subpath>/<API>.md` for a focused API page, and `sdk-api.json` for machine-readable contracts.
4
+
5
+ ## Entry points
6
+ - `@open-dy/vibecoding-sdk-taro` — 根入口:类型与聚合导出。
7
+ - `@open-dy/vibecoding-sdk-taro/runtime` — SDK 公开 API。 ([docs](./sdk-api/runtime/index.md))
8
+ - `@open-dy/vibecoding-sdk-taro/interest-card/runtime/microapp` — 兴趣卡普通小程序适配器,复用 runtime 入口。 ([docs](./sdk-api/runtime/index.md))
9
+ - `@open-dy/vibecoding-sdk-taro/interest-card/eslint/taro` — 公开导出入口。
10
+ - `@open-dy/vibecoding-sdk-taro/interest-card/types/taro` — 公开导出入口。
11
+ - `@open-dy/vibecoding-sdk-taro/ui` — React UI 组件入口。
12
+ - `@open-dy/vibecoding-sdk-taro/ui/*` — React UI 组件入口。
13
+ - `@open-dy/vibecoding-sdk-taro/ui/theme.css` — UI 样式资源入口。
14
+ - `@open-dy/vibecoding-sdk-taro/ui/tailwind.css` — UI 样式资源入口。
15
+ - `@open-dy/vibecoding-sdk-taro/components/miniapp-open-card` — 公开导出入口。
16
+ - `@open-dy/vibecoding-sdk-taro/build/taro` — SDK 公开 API。 ([docs](./sdk-api/build/taro/index.md))
17
+ - `@open-dy/vibecoding-sdk-taro/types/taro` — 平台类型声明入口。
18
+ - `@open-dy/vibecoding-sdk-taro/reference/sdk-api.md` — 已生成的机器可读或 Markdown 参考文档。
19
+ - `@open-dy/vibecoding-sdk-taro/reference/sdk-api.json` — 已生成的机器可读或 Markdown 参考文档。
20
+ - `@open-dy/vibecoding-sdk-taro/reference/llms.txt` — 已生成的机器可读或 Markdown 参考文档。
21
+ - `@open-dy/vibecoding-sdk-taro/reference/sdk-api/*` — 已生成的机器可读或 Markdown 参考文档。
22
+ - `@open-dy/vibecoding-sdk-taro/eslint/taro` — 场景化 ESLint 配置入口。
23
+ - `@open-dy/vibecoding-sdk-taro/eslint/server` — 场景化 ESLint 配置入口。
24
+ - `@open-dy/vibecoding-sdk-taro/build` — 构建能力聚合入口;详细契约见 build/taro 和 build/opencard。 ([docs](./sdk-api/build/taro/index.md))
25
+
26
+ ## APIs
27
+ - [createMicroappClient](./sdk-api/runtime/createMicroappClient.md) — 创建普通小程序的网络入口;SDK 自动绑定项目 Taro 运行时。
28
+ Import: `@open-dy/vibecoding-sdk-taro/runtime`
29
+ - [CreateMicroappClientOptions](./sdk-api/runtime/CreateMicroappClientOptions.md) — 配置普通小程序 Network 的平台渠道。
30
+ Import: `@open-dy/vibecoding-sdk-taro/runtime`
31
+ - [BuildContext](./sdk-api/build/taro/BuildContext.md) — Taro 构建阶段共享的编译上下文。
32
+ Import: `@open-dy/vibecoding-sdk-taro/build/taro`
33
+ - [CreateMicroappTaroConfigOptions](./sdk-api/build/taro/CreateMicroappTaroConfigOptions.md) — 创建普通小程序 Taro 配置的选项。
34
+ Import: `@open-dy/vibecoding-sdk-taro/build/taro`
35
+ - [createMicroappTaroConfig](./sdk-api/build/taro/createMicroappTaroConfig.md) — 创建普通小程序的 Taro/Vite 构建配置。
36
+ Import: `@open-dy/vibecoding-sdk-taro/build/taro`
@@ -0,0 +1,53 @@
1
+ # BuildContext
2
+
3
+ <!-- Generated by build/src/sdk-reference/skill-reference.ts. Do not edit. -->
4
+
5
+ 导入路径:`@open-dy/vibecoding-sdk-taro/build/taro`
6
+ 源码:`src/build/taro.ts`
7
+
8
+ #### 说明
9
+
10
+ Taro 构建阶段共享的编译上下文。
11
+
12
+ 示例:
13
+
14
+ ```ts
15
+ const context: BuildContext = { isH5: true, isTt: false, mode: 'development', projectRoot }
16
+ ```
17
+
18
+ #### AI 使用约束
19
+
20
+ | 规则 | 内容 |
21
+ | --- | --- |
22
+ | 意图 | 描述 SDK 构建插件收到的 Taro 编译上下文。 |
23
+ | 适用时机 | 需要根据 H5、TT 或开发模式调整构建配置时。 |
24
+ | 避免 | 不要在业务页面中手动伪造该上下文或修改构建产物。 |
25
+ | 示例 | `{ isH5: true, isTt: false, mode: 'development', projectRoot }` |
26
+
27
+ #### 声明
28
+
29
+ ```ts
30
+ export interface BuildContext {
31
+ isH5: boolean;
32
+ isTt: boolean;
33
+ mode: string;
34
+ projectRoot: string;
35
+ }
36
+ ```
37
+
38
+ ### BuildContext 的类型契约
39
+
40
+ #### 类型
41
+
42
+ ```ts
43
+ BuildContext
44
+ ```
45
+
46
+ #### 字段
47
+
48
+ | 字段 | 类型 | 说明 |
49
+ | --- | --- | --- |
50
+ | isH5 | `boolean` | 是否构建 H5 输出。 |
51
+ | isTt | `boolean` | 是否构建 TT 小程序输出。 |
52
+ | mode | `string` | 当前 Taro 构建模式。 |
53
+ | projectRoot | `string` | 工程根目录。 |
@@ -0,0 +1,62 @@
1
+ # CreateMicroappTaroConfigOptions
2
+
3
+ <!-- Generated by build/src/sdk-reference/skill-reference.ts. Do not edit. -->
4
+
5
+ 导入路径:`@open-dy/vibecoding-sdk-taro/build/taro`
6
+ 源码:`src/build/taro.ts`
7
+
8
+ #### 说明
9
+
10
+ 创建普通小程序 Taro 配置的选项。
11
+
12
+ 参数:
13
+
14
+ | 名称 | 说明 |
15
+ | --- | --- |
16
+ | `projectRoot` | 工程根目录。 |
17
+ | `platformChannel` | 平台渠道。 |
18
+ | `viteErrorTargets` | Vite 错误上报目标。 |
19
+ | `overrides` | 配置覆盖项。 |
20
+
21
+ 示例:
22
+
23
+ ```ts
24
+ createMicroappTaroConfig({ projectRoot: process.cwd() })
25
+ ```
26
+
27
+ #### AI 使用约束
28
+
29
+ | 规则 | 内容 |
30
+ | --- | --- |
31
+ | 意图 | 配置普通小程序的 Taro/Vite 构建入口。 |
32
+ | 适用时机 | 需要从项目构建脚本创建普通小程序配置时。 |
33
+ | 避免 | 不要在业务代码中直接调用 Taro/Vite 内部构建 API。 |
34
+ | 示例 | `createMicroappTaroConfig({ projectRoot: process.cwd() })` |
35
+
36
+ #### 声明
37
+
38
+ ```ts
39
+ export interface CreateMicroappTaroConfigOptions {
40
+ projectRoot: string;
41
+ platformChannel?: '' | 'ext';
42
+ viteErrorTargets?: string[];
43
+ overrides?: Record<string, any> | ((config: UserConfigExport, ctx: BuildContext) => UserConfigExport | void);
44
+ }
45
+ ```
46
+
47
+ ### CreateMicroappTaroConfigOptions 的类型契约
48
+
49
+ #### 类型
50
+
51
+ ```ts
52
+ CreateMicroappTaroConfigOptions
53
+ ```
54
+
55
+ #### 字段
56
+
57
+ | 字段 | 类型 | 说明 |
58
+ | --- | --- | --- |
59
+ | projectRoot | `string` | 工程根目录。 |
60
+ | platformChannel? | `"" \| "ext" \| undefined` | 平台渠道。 |
61
+ | viteErrorTargets? | `string[] \| undefined` | Vite 错误上报目标列表。 |
62
+ | overrides? | `Record<string, any> \| ((config: UserConfigExport, ctx: BuildContext) => UserConfigExport \| void) \| undefined` | 配置对象或配置变换函数。 |
@@ -0,0 +1,66 @@
1
+ # createMicroappTaroConfig
2
+
3
+ <!-- Generated by build/src/sdk-reference/skill-reference.ts. Do not edit. -->
4
+
5
+ 导入路径:`@open-dy/vibecoding-sdk-taro/build/taro`
6
+ 源码:`src/build/taro.ts`
7
+
8
+ #### 说明
9
+
10
+ 创建普通小程序的 Taro/Vite 构建配置。
11
+
12
+ 参数:
13
+
14
+ | 名称 | 说明 |
15
+ | --- | --- |
16
+ | `options` | 构建配置选项。 |
17
+
18
+ 返回:Taro 配置工厂函数。
19
+
20
+ 示例:
21
+
22
+ ```ts
23
+ createMicroappTaroConfig({ projectRoot: process.cwd() })
24
+ ```
25
+
26
+ #### AI 使用约束
27
+
28
+ | 规则 | 内容 |
29
+ | --- | --- |
30
+ | 意图 | 创建普通小程序的 Taro/Vite 构建配置。 |
31
+ | 适用时机 | 构建脚本需要加载普通小程序的 SDK 配置时。 |
32
+ | 避免 | 不要在业务页面调用该构建工厂,也不要绕过 SDK 修改代理配置。 |
33
+ | 示例 | `createMicroappTaroConfig({ projectRoot: process.cwd() })` |
34
+
35
+ #### 声明
36
+
37
+ ```ts
38
+ function createMicroappTaroConfig(options: CreateMicroappTaroConfigOptions): UserConfigExport;
39
+ ```
40
+
41
+ ### createMicroappTaroConfig 的类型契约
42
+
43
+ #### 工厂签名
44
+
45
+ ```ts
46
+ (options: CreateMicroappTaroConfigOptions): UserConfigExport
47
+ ```
48
+
49
+ #### 参数
50
+
51
+ | 参数 | 类型 | 说明 |
52
+ | --- | --- | --- |
53
+ | options | `CreateMicroappTaroConfigOptions` | 构建配置选项。 |
54
+
55
+ ##### options 字段
56
+
57
+ | 字段 | 类型 | 说明 |
58
+ | --- | --- | --- |
59
+ | projectRoot | `string` | 工程根目录。 |
60
+ | platformChannel? | `"" \| "ext" \| undefined` | 平台渠道。 |
61
+ | viteErrorTargets? | `string[] \| undefined` | Vite 错误上报目标列表。 |
62
+ | overrides? | `Record<string, any> \| ((config: UserConfigExport, ctx: BuildContext) => UserConfigExport \| void) \| undefined` | 配置对象或配置变换函数。 |
63
+
64
+ #### 返回值
65
+
66
+ - 类型:`UserConfigExport`
@@ -0,0 +1,11 @@
1
+ # build/taro
2
+
3
+ <!-- Generated by build/src/sdk-reference/skill-reference.ts. Do not edit. -->
4
+
5
+ 导入路径前缀:`@open-dy/vibecoding-sdk-taro/build/taro`
6
+
7
+ | API | 说明 | 文档 |
8
+ | --- | --- | --- |
9
+ | `BuildContext` | Taro 构建阶段共享的编译上下文。 | [查看](./BuildContext.md) |
10
+ | `CreateMicroappTaroConfigOptions` | 创建普通小程序 Taro 配置的选项。 | [查看](./CreateMicroappTaroConfigOptions.md) |
11
+ | `createMicroappTaroConfig` | 创建普通小程序的 Taro/Vite 构建配置。 | [查看](./createMicroappTaroConfig.md) |
@@ -0,0 +1,47 @@
1
+ # CreateMicroappClientOptions
2
+
3
+ <!-- Generated by build/src/sdk-reference/skill-reference.ts. Do not edit. -->
4
+
5
+ 导入路径:`@open-dy/vibecoding-sdk-taro/runtime`
6
+ 源码:`src/runtime/client.ts`
7
+
8
+ #### 说明
9
+
10
+ 配置普通小程序 Network 的平台渠道。
11
+
12
+ 示例:
13
+
14
+ ```ts
15
+ const options = { platformChannel: 'ext' as const }
16
+ ```
17
+
18
+ #### AI 使用约束
19
+
20
+ | 规则 | 内容 |
21
+ | --- | --- |
22
+ | 意图 | 配置普通小程序 Network 的平台渠道。 |
23
+ | 适用时机 | 需要让普通小程序请求携带内场或外场渠道标识时。 |
24
+ | 避免 | 不要在业务页面直接拼接渠道请求头。 |
25
+ | 示例 | `{ platformChannel: 'ext' }` |
26
+
27
+ #### 声明
28
+
29
+ ```ts
30
+ export interface CreateMicroappClientOptions {
31
+ platformChannel?: '' | 'ext';
32
+ }
33
+ ```
34
+
35
+ ### CreateMicroappClientOptions 的类型契约
36
+
37
+ #### 类型
38
+
39
+ ```ts
40
+ CreateMicroappClientOptions
41
+ ```
42
+
43
+ #### 字段
44
+
45
+ | 字段 | 类型 | 说明 |
46
+ | --- | --- | --- |
47
+ | platformChannel? | `"" \| "ext" \| undefined` | 平台渠道:空字符串为内场,ext 为外场;默认空字符串。 |