@spcsn/taro 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 (140) hide show
  1. package/README.md +12 -0
  2. package/dist/index.js +147 -0
  3. package/dist/index.js.map +1 -0
  4. package/index.js +9 -0
  5. package/package.json +86 -0
  6. package/types/api/ad/index.d.ts +197 -0
  7. package/types/api/ai/face.d.ts +133 -0
  8. package/types/api/ai/inference.d.ts +129 -0
  9. package/types/api/ai/visionkit.d.ts +874 -0
  10. package/types/api/alipay/index.d.ts +69 -0
  11. package/types/api/base/crypto.d.ts +104 -0
  12. package/types/api/base/debug.d.ts +329 -0
  13. package/types/api/base/env.d.ts +19 -0
  14. package/types/api/base/index.d.ts +102 -0
  15. package/types/api/base/performance.d.ts +258 -0
  16. package/types/api/base/system.d.ts +742 -0
  17. package/types/api/base/update.d.ts +130 -0
  18. package/types/api/base/weapp/app-event.d.ts +265 -0
  19. package/types/api/base/weapp/life-cycle.d.ts +155 -0
  20. package/types/api/canvas/index.d.ts +2162 -0
  21. package/types/api/cloud/index.d.ts +2622 -0
  22. package/types/api/data-analysis/index.d.ts +122 -0
  23. package/types/api/device/accelerometer.d.ts +102 -0
  24. package/types/api/device/accessibility.d.ts +26 -0
  25. package/types/api/device/battery.d.ts +46 -0
  26. package/types/api/device/bluetooth-ble.d.ts +601 -0
  27. package/types/api/device/bluetooth-peripheral.d.ts +430 -0
  28. package/types/api/device/bluetooth.d.ts +463 -0
  29. package/types/api/device/calendar.d.ts +98 -0
  30. package/types/api/device/clipboard.d.ts +81 -0
  31. package/types/api/device/compass.d.ts +105 -0
  32. package/types/api/device/contact.d.ts +110 -0
  33. package/types/api/device/gyroscope.d.ts +85 -0
  34. package/types/api/device/iBeacon.d.ts +168 -0
  35. package/types/api/device/keyboard.d.ts +97 -0
  36. package/types/api/device/memory.d.ts +52 -0
  37. package/types/api/device/motion.d.ts +88 -0
  38. package/types/api/device/network.d.ts +172 -0
  39. package/types/api/device/nfc.d.ts +1238 -0
  40. package/types/api/device/phone.d.ts +30 -0
  41. package/types/api/device/scan.d.ts +111 -0
  42. package/types/api/device/screen.d.ts +217 -0
  43. package/types/api/device/sms.d.ts +26 -0
  44. package/types/api/device/vibrate.d.ts +51 -0
  45. package/types/api/device/wifi.d.ts +301 -0
  46. package/types/api/ext/index.d.ts +64 -0
  47. package/types/api/files/index.d.ts +1472 -0
  48. package/types/api/framework/index.d.ts +51 -0
  49. package/types/api/location/index.d.ts +517 -0
  50. package/types/api/media/audio.d.ts +1013 -0
  51. package/types/api/media/background-audio.d.ts +291 -0
  52. package/types/api/media/camera.d.ts +207 -0
  53. package/types/api/media/editor.d.ts +239 -0
  54. package/types/api/media/image.d.ts +469 -0
  55. package/types/api/media/live.d.ts +461 -0
  56. package/types/api/media/map.d.ts +638 -0
  57. package/types/api/media/media-recorder.d.ts +117 -0
  58. package/types/api/media/recorder.d.ts +317 -0
  59. package/types/api/media/video-decoder.d.ts +117 -0
  60. package/types/api/media/video-processing.d.ts +84 -0
  61. package/types/api/media/video.d.ts +527 -0
  62. package/types/api/media/voip.d.ts +393 -0
  63. package/types/api/navigate/index.d.ts +327 -0
  64. package/types/api/network/download.d.ts +173 -0
  65. package/types/api/network/mdns.d.ts +191 -0
  66. package/types/api/network/request.d.ts +480 -0
  67. package/types/api/network/tcp.d.ts +181 -0
  68. package/types/api/network/udp.d.ts +218 -0
  69. package/types/api/network/upload.d.ts +201 -0
  70. package/types/api/network/websocket.d.ts +383 -0
  71. package/types/api/open-api/account.d.ts +51 -0
  72. package/types/api/open-api/address.d.ts +68 -0
  73. package/types/api/open-api/authorize.d.ts +80 -0
  74. package/types/api/open-api/card.d.ts +110 -0
  75. package/types/api/open-api/channels.d.ts +225 -0
  76. package/types/api/open-api/customer-service.d.ts +45 -0
  77. package/types/api/open-api/device-voip.d.ts +103 -0
  78. package/types/api/open-api/facial.d.ts +98 -0
  79. package/types/api/open-api/favorites.d.ts +101 -0
  80. package/types/api/open-api/group.d.ts +59 -0
  81. package/types/api/open-api/invoice.d.ts +87 -0
  82. package/types/api/open-api/license-plate.d.ts +27 -0
  83. package/types/api/open-api/login.d.ts +115 -0
  84. package/types/api/open-api/my-miniprogram.d.ts +28 -0
  85. package/types/api/open-api/privacy.d.ts +107 -0
  86. package/types/api/open-api/redpackage.d.ts +24 -0
  87. package/types/api/open-api/settings.d.ts +174 -0
  88. package/types/api/open-api/soter.d.ts +184 -0
  89. package/types/api/open-api/sticker.d.ts +83 -0
  90. package/types/api/open-api/subscribe-message.d.ts +305 -0
  91. package/types/api/open-api/user-info.d.ts +182 -0
  92. package/types/api/open-api/werun.d.ts +101 -0
  93. package/types/api/payment/index.d.ts +119 -0
  94. package/types/api/qq/index.d.ts +354 -0
  95. package/types/api/route/index.d.ts +324 -0
  96. package/types/api/share/index.d.ts +354 -0
  97. package/types/api/skyline/index.d.ts +345 -0
  98. package/types/api/storage/background-fetch.d.ts +131 -0
  99. package/types/api/storage/cache-manager.d.ts +249 -0
  100. package/types/api/storage/index.d.ts +405 -0
  101. package/types/api/swan/bookshelf.d.ts +307 -0
  102. package/types/api/swan/download-package.d.ts +80 -0
  103. package/types/api/swan/index.d.ts +251 -0
  104. package/types/api/swan/pay.d.ts +139 -0
  105. package/types/api/taro.extend.d.ts +233 -0
  106. package/types/api/taro.hooks.d.ts +148 -0
  107. package/types/api/ui/animation.d.ts +427 -0
  108. package/types/api/ui/background.d.ts +69 -0
  109. package/types/api/ui/custom-component.d.ts +23 -0
  110. package/types/api/ui/fonts.d.ts +77 -0
  111. package/types/api/ui/interaction.d.ts +281 -0
  112. package/types/api/ui/menu.d.ts +29 -0
  113. package/types/api/ui/navigation-bar.d.ts +130 -0
  114. package/types/api/ui/pull-down-refresh.d.ts +50 -0
  115. package/types/api/ui/scroll.d.ts +114 -0
  116. package/types/api/ui/sticky.d.ts +32 -0
  117. package/types/api/ui/tab-bar.d.ts +196 -0
  118. package/types/api/ui/window.d.ts +71 -0
  119. package/types/api/worker/index.d.ts +83 -0
  120. package/types/api/wxml/index.d.ts +540 -0
  121. package/types/compile/compiler.d.ts +32 -0
  122. package/types/compile/config/h5.d.ts +134 -0
  123. package/types/compile/config/harmony.d.ts +118 -0
  124. package/types/compile/config/index.d.ts +8 -0
  125. package/types/compile/config/manifest.d.ts +155 -0
  126. package/types/compile/config/mini.d.ts +118 -0
  127. package/types/compile/config/plugin.d.ts +34 -0
  128. package/types/compile/config/project.d.ts +338 -0
  129. package/types/compile/config/rn.d.ts +85 -0
  130. package/types/compile/config/util.d.ts +179 -0
  131. package/types/compile/hooks.d.ts +13 -0
  132. package/types/compile/index.d.ts +11 -0
  133. package/types/compile/viteCompilerContext.d.ts +167 -0
  134. package/types/global.d.ts +428 -0
  135. package/types/index.d.ts +190 -0
  136. package/types/taro.api.d.ts +130 -0
  137. package/types/taro.component.d.ts +168 -0
  138. package/types/taro.config.d.ts +712 -0
  139. package/types/taro.lifecycle.d.ts +220 -0
  140. package/types/taro.runtime.d.ts +9 -0
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # @spcsn/taro
2
+
3
+ 暴露给应用开发者的 Taro 核心 API。包含以下文件:
4
+
5
+ ## index.js
6
+
7
+ 兼容入口文件,运行时会加载 `dist/index.js`。
8
+
9
+ ## dist/index.js
10
+
11
+ 由 `src/index.js` 通过 Rolldown 构建生成的小程序端入口文件。
12
+
package/dist/index.js ADDED
@@ -0,0 +1,147 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
3
+ //#endregion
4
+ //#region src/react-hooks-fallback.js
5
+ var require_react_hooks_fallback = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6
+ const { Current, getPageInstance, injectPageInstance } = require("@spcsn/taro-runtime");
7
+ const React = require("react");
8
+ const hooksMap = {
9
+ useAddToFavorites: "onAddToFavorites",
10
+ useDidHide: "componentDidHide",
11
+ useDidShow: "componentDidShow",
12
+ useError: "onError",
13
+ useKeyboardHeight: "onKeyboardHeight",
14
+ useLaunch: "onLaunch",
15
+ useLoad: "onLoad",
16
+ useOptionMenuClick: "onOptionMenuClick",
17
+ usePageNotFound: "onPageNotFound",
18
+ usePageScroll: "onPageScroll",
19
+ usePullDownRefresh: "onPullDownRefresh",
20
+ usePullIntercept: "onPullIntercept",
21
+ useReachBottom: "onReachBottom",
22
+ useReady: "onReady",
23
+ useResize: "onResize",
24
+ useSaveExitState: "onSaveExitState",
25
+ useShareAppMessage: "onShareAppMessage",
26
+ useShareTimeline: "onShareTimeline",
27
+ useTabItemTap: "onTabItemTap",
28
+ useTitleClick: "onTitleClick",
29
+ useUnhandledRejection: "onUnhandledRejection",
30
+ useUnload: "onUnload"
31
+ };
32
+ function createHook(lifecycle) {
33
+ return (fn) => {
34
+ const router = Current.router;
35
+ const id = router?.$taroPath || router?.path || "taro-app";
36
+ const instRef = React.useRef();
37
+ const fnRef = React.useRef(fn);
38
+ if (fnRef.current !== fn) fnRef.current = fn;
39
+ React.useLayoutEffect(() => {
40
+ let inst = instRef.current = getPageInstance(id);
41
+ if (!inst) {
42
+ inst = instRef.current = Object.create(null);
43
+ injectPageInstance(inst, id);
44
+ }
45
+ const callback = (...args) => fnRef.current(...args);
46
+ if (typeof inst[lifecycle] === "function") inst[lifecycle] = [inst[lifecycle], callback];
47
+ else inst[lifecycle] = [...inst[lifecycle] || [], callback];
48
+ return () => {
49
+ const inst = instRef.current;
50
+ if (!inst) return;
51
+ const list = inst[lifecycle];
52
+ if (list === callback) inst[lifecycle] = void 0;
53
+ else if (Array.isArray(list)) inst[lifecycle] = list.filter((item) => item !== callback);
54
+ instRef.current = void 0;
55
+ };
56
+ }, []);
57
+ };
58
+ }
59
+ function initReactHooksFallback(taro) {
60
+ if (typeof taro.useShareAppMessage === "function") return;
61
+ Object.keys(hooksMap).forEach((key) => {
62
+ taro[key] = createHook(hooksMap[key]);
63
+ });
64
+ taro.useRouter = function useRouter(dynamic = false) {
65
+ if (dynamic) return Current.router;
66
+ return React.useMemo(() => Current.router, []);
67
+ };
68
+ taro.useScope = function useScope() {};
69
+ }
70
+ module.exports = { initReactHooksFallback };
71
+ }));
72
+ //#endregion
73
+ //#region src/native-api-fallback.js
74
+ var require_native_api_fallback = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75
+ const needPromiseApis = new Set([
76
+ "addFileToFavorites",
77
+ "addVideoToFavorites",
78
+ "authPrivateMessage",
79
+ "checkIsAddedToMyMiniProgram",
80
+ "chooseContact",
81
+ "cropImage",
82
+ "disableAlertBeforeUnload",
83
+ "editImage",
84
+ "enableAlertBeforeUnload",
85
+ "getBackgroundFetchData",
86
+ "getChannelsLiveInfo",
87
+ "getChannelsLiveNoticeInfo",
88
+ "getFuzzyLocation",
89
+ "getGroupEnterInfo",
90
+ "getLocalIPAddress",
91
+ "getShareInfo",
92
+ "getUserProfile",
93
+ "getWeRunData",
94
+ "join1v1Chat",
95
+ "openChannelsActivity",
96
+ "openChannelsEvent",
97
+ "openChannelsLive",
98
+ "openChannelsUserProfile",
99
+ "openCustomerServiceChat",
100
+ "openVideoEditor",
101
+ "saveFileToDisk",
102
+ "scanItem",
103
+ "setEnable1v1Chat",
104
+ "setWindowSize",
105
+ "sendBizRedPacket",
106
+ "startFacialRecognitionVerify"
107
+ ]);
108
+ function initWeappNativeApiFallback$1(taro) {
109
+ if (typeof wx === "undefined" || typeof taro.addInterceptor === "function") return;
110
+ const { processApis } = require("@spcsn/taro-shared");
111
+ processApis(taro, wx, {
112
+ needPromiseApis,
113
+ modifyApis(apis) {
114
+ apis.delete("lanDebug");
115
+ },
116
+ transformMeta(api, options) {
117
+ if (api === "showShareMenu") options.menus = options.showShareItems?.map((item) => item === "wechatFriends" ? "shareAppMessage" : item === "wechatMoment" ? "shareTimeline" : item);
118
+ return {
119
+ key: api,
120
+ options
121
+ };
122
+ }
123
+ });
124
+ taro.cloud = wx.cloud;
125
+ taro.getTabBar = function(pageCtx) {
126
+ if (typeof pageCtx?.getTabBar === "function") return pageCtx.getTabBar()?.$taroInstances;
127
+ };
128
+ taro.getRenderer = function() {
129
+ return taro.getCurrentInstance()?.page?.renderer ?? "webview";
130
+ };
131
+ }
132
+ module.exports = { initWeappNativeApiFallback: initWeappNativeApiFallback$1 };
133
+ }));
134
+ //#endregion
135
+ //#region src/index.js
136
+ const { hooks } = require("@spcsn/taro-runtime");
137
+ const taro = require("@spcsn/taro-api").default;
138
+ const { initReactHooksFallback } = require_react_hooks_fallback();
139
+ const { initWeappNativeApiFallback } = require_native_api_fallback();
140
+ if (hooks.isExist("initNativeApi")) hooks.call("initNativeApi", taro);
141
+ initReactHooksFallback(taro);
142
+ initWeappNativeApiFallback(taro);
143
+ module.exports = taro;
144
+ module.exports.default = module.exports;
145
+ //#endregion
146
+
147
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["initWeappNativeApiFallback"],"sources":["../src/react-hooks-fallback.js","../src/native-api-fallback.js","../src/index.js"],"sourcesContent":["const { Current, getPageInstance, injectPageInstance } = require('@spcsn/taro-runtime');\nconst React = require('react');\n\nconst hooksMap = {\n useAddToFavorites: 'onAddToFavorites',\n useDidHide: 'componentDidHide',\n useDidShow: 'componentDidShow',\n useError: 'onError',\n useKeyboardHeight: 'onKeyboardHeight',\n useLaunch: 'onLaunch',\n useLoad: 'onLoad',\n useOptionMenuClick: 'onOptionMenuClick',\n usePageNotFound: 'onPageNotFound',\n usePageScroll: 'onPageScroll',\n usePullDownRefresh: 'onPullDownRefresh',\n usePullIntercept: 'onPullIntercept',\n useReachBottom: 'onReachBottom',\n useReady: 'onReady',\n useResize: 'onResize',\n useSaveExitState: 'onSaveExitState',\n useShareAppMessage: 'onShareAppMessage',\n useShareTimeline: 'onShareTimeline',\n useTabItemTap: 'onTabItemTap',\n useTitleClick: 'onTitleClick',\n useUnhandledRejection: 'onUnhandledRejection',\n useUnload: 'onUnload',\n};\n\nfunction createHook(lifecycle) {\n return (fn) => {\n const router = Current.router;\n const id = router?.$taroPath || router?.path || 'taro-app';\n const instRef = React.useRef();\n const fnRef = React.useRef(fn);\n if (fnRef.current !== fn) fnRef.current = fn;\n\n React.useLayoutEffect(() => {\n let inst = (instRef.current = getPageInstance(id));\n if (!inst) {\n inst = instRef.current = Object.create(null);\n injectPageInstance(inst, id);\n }\n\n const callback = (...args) => fnRef.current(...args);\n if (typeof inst[lifecycle] === 'function') {\n inst[lifecycle] = [inst[lifecycle], callback];\n } else {\n inst[lifecycle] = [...(inst[lifecycle] || []), callback];\n }\n\n return () => {\n const inst = instRef.current;\n if (!inst) return;\n\n const list = inst[lifecycle];\n if (list === callback) {\n inst[lifecycle] = undefined;\n } else if (Array.isArray(list)) {\n inst[lifecycle] = list.filter((item) => item !== callback);\n }\n instRef.current = undefined;\n };\n }, []);\n };\n}\n\nfunction initReactHooksFallback(taro) {\n if (typeof taro.useShareAppMessage === 'function') return;\n\n Object.keys(hooksMap).forEach((key) => {\n taro[key] = createHook(hooksMap[key]);\n });\n\n taro.useRouter = function useRouter(dynamic = false) {\n if (dynamic) return Current.router;\n return React.useMemo(() => Current.router, []);\n };\n\n taro.useScope = function useScope() {\n return undefined;\n };\n}\n\nmodule.exports = {\n initReactHooksFallback,\n};\n","const needPromiseApis = new Set([\n 'addFileToFavorites',\n 'addVideoToFavorites',\n 'authPrivateMessage',\n 'checkIsAddedToMyMiniProgram',\n 'chooseContact',\n 'cropImage',\n 'disableAlertBeforeUnload',\n 'editImage',\n 'enableAlertBeforeUnload',\n 'getBackgroundFetchData',\n 'getChannelsLiveInfo',\n 'getChannelsLiveNoticeInfo',\n 'getFuzzyLocation',\n 'getGroupEnterInfo',\n 'getLocalIPAddress',\n 'getShareInfo',\n 'getUserProfile',\n 'getWeRunData',\n 'join1v1Chat',\n 'openChannelsActivity',\n 'openChannelsEvent',\n 'openChannelsLive',\n 'openChannelsUserProfile',\n 'openCustomerServiceChat',\n 'openVideoEditor',\n 'saveFileToDisk',\n 'scanItem',\n 'setEnable1v1Chat',\n 'setWindowSize',\n 'sendBizRedPacket',\n 'startFacialRecognitionVerify',\n]);\n\nfunction initWeappNativeApiFallback(taro) {\n if (typeof wx === 'undefined' || typeof taro.addInterceptor === 'function') return;\n\n const { processApis } = require('@spcsn/taro-shared');\n\n processApis(taro, wx, {\n needPromiseApis,\n modifyApis(apis) {\n apis.delete('lanDebug');\n },\n transformMeta(api, options) {\n if (api === 'showShareMenu') {\n options.menus = options.showShareItems?.map((item) =>\n item === 'wechatFriends' ? 'shareAppMessage' : item === 'wechatMoment' ? 'shareTimeline' : item,\n );\n }\n\n return {\n key: api,\n options,\n };\n },\n });\n\n taro.cloud = wx.cloud;\n taro.getTabBar = function (pageCtx) {\n if (typeof pageCtx?.getTabBar === 'function') {\n return pageCtx.getTabBar()?.$taroInstances;\n }\n };\n taro.getRenderer = function () {\n return taro.getCurrentInstance()?.page?.renderer ?? 'webview';\n };\n}\n\nmodule.exports = {\n initWeappNativeApiFallback,\n};\n","const { hooks } = require('@spcsn/taro-runtime');\nconst taro = require('@spcsn/taro-api').default;\n\nconst { initReactHooksFallback } = require('./react-hooks-fallback');\nconst { initWeappNativeApiFallback } = require('./native-api-fallback');\n\nif (hooks.isExist('initNativeApi')) {\n hooks.call('initNativeApi', taro);\n}\n\ninitReactHooksFallback(taro);\ninitWeappNativeApiFallback(taro);\n\nmodule.exports = taro;\nmodule.exports.default = module.exports;\n"],"mappings":";;;;;CAAA,MAAM,EAAE,SAAS,iBAAiB,uBAAuB,QAAQ,qBAAqB;CACtF,MAAM,QAAQ,QAAQ,OAAO;CAE7B,MAAM,WAAW;EACf,mBAAmB;EACnB,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,mBAAmB;EACnB,WAAW;EACX,SAAS;EACT,oBAAoB;EACpB,iBAAiB;EACjB,eAAe;EACf,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAChB,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,oBAAoB;EACpB,kBAAkB;EAClB,eAAe;EACf,eAAe;EACf,uBAAuB;EACvB,WAAW;CACb;CAEA,SAAS,WAAW,WAAW;EAC7B,QAAQ,OAAO;GACb,MAAM,SAAS,QAAQ;GACvB,MAAM,KAAK,QAAQ,aAAa,QAAQ,QAAQ;GAChD,MAAM,UAAU,MAAM,OAAO;GAC7B,MAAM,QAAQ,MAAM,OAAO,EAAE;GAC7B,IAAI,MAAM,YAAY,IAAI,MAAM,UAAU;GAE1C,MAAM,sBAAsB;IAC1B,IAAI,OAAQ,QAAQ,UAAU,gBAAgB,EAAE;IAChD,IAAI,CAAC,MAAM;KACT,OAAO,QAAQ,UAAU,OAAO,OAAO,IAAI;KAC3C,mBAAmB,MAAM,EAAE;IAC7B;IAEA,MAAM,YAAY,GAAG,SAAS,MAAM,QAAQ,GAAG,IAAI;IACnD,IAAI,OAAO,KAAK,eAAe,YAC7B,KAAK,aAAa,CAAC,KAAK,YAAY,QAAQ;SAE5C,KAAK,aAAa,CAAC,GAAI,KAAK,cAAc,CAAC,GAAI,QAAQ;IAGzD,aAAa;KACX,MAAM,OAAO,QAAQ;KACrB,IAAI,CAAC,MAAM;KAEX,MAAM,OAAO,KAAK;KAClB,IAAI,SAAS,UACX,KAAK,aAAa,KAAA;UACb,IAAI,MAAM,QAAQ,IAAI,GAC3B,KAAK,aAAa,KAAK,QAAQ,SAAS,SAAS,QAAQ;KAE3D,QAAQ,UAAU,KAAA;IACpB;GACF,GAAG,CAAC,CAAC;EACP;CACF;CAEA,SAAS,uBAAuB,MAAM;EACpC,IAAI,OAAO,KAAK,uBAAuB,YAAY;EAEnD,OAAO,KAAK,QAAQ,EAAE,SAAS,QAAQ;GACrC,KAAK,OAAO,WAAW,SAAS,IAAI;EACtC,CAAC;EAED,KAAK,YAAY,SAAS,UAAU,UAAU,OAAO;GACnD,IAAI,SAAS,OAAO,QAAQ;GAC5B,OAAO,MAAM,cAAc,QAAQ,QAAQ,CAAC,CAAC;EAC/C;EAEA,KAAK,WAAW,SAAS,WAAW,CAEpC;CACF;CAEA,OAAO,UAAU,EACf,uBACF;;;;;CCrFA,MAAM,kBAAkB,IAAI,IAAI;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,SAASA,6BAA2B,MAAM;EACxC,IAAI,OAAO,OAAO,eAAe,OAAO,KAAK,mBAAmB,YAAY;EAE5E,MAAM,EAAE,gBAAgB,QAAQ,oBAAoB;EAEpD,YAAY,MAAM,IAAI;GACpB;GACA,WAAW,MAAM;IACf,KAAK,OAAO,UAAU;GACxB;GACA,cAAc,KAAK,SAAS;IAC1B,IAAI,QAAQ,iBACV,QAAQ,QAAQ,QAAQ,gBAAgB,KAAK,SAC3C,SAAS,kBAAkB,oBAAoB,SAAS,iBAAiB,kBAAkB,IAC7F;IAGF,OAAO;KACL,KAAK;KACL;IACF;GACF;EACF,CAAC;EAED,KAAK,QAAQ,GAAG;EAChB,KAAK,YAAY,SAAU,SAAS;GAClC,IAAI,OAAO,SAAS,cAAc,YAChC,OAAO,QAAQ,UAAU,GAAG;EAEhC;EACA,KAAK,cAAc,WAAY;GAC7B,OAAO,KAAK,mBAAmB,GAAG,MAAM,YAAY;EACtD;CACF;CAEA,OAAO,UAAU,EACf,4BAAA,6BACF;;;;ACvEA,MAAM,EAAE,UAAU,QAAQ,qBAAqB;AAC/C,MAAM,OAAO,QAAQ,iBAAiB,EAAE;AAExC,MAAM,EAAE,2BAAA,6BAAA;AACR,MAAM,EAAE,+BAAA,4BAAA;AAER,IAAI,MAAM,QAAQ,eAAe,GAC/B,MAAM,KAAK,iBAAiB,IAAI;AAGlC,uBAAuB,IAAI;AAC3B,2BAA2B,IAAI;AAE/B,OAAO,UAAU;AACjB,OAAO,QAAQ,UAAU,OAAO"}
package/index.js ADDED
@@ -0,0 +1,9 @@
1
+ try {
2
+ module.exports = require('./dist/index.js');
3
+ } catch (error) {
4
+ if (error?.code !== 'MODULE_NOT_FOUND' || !/[\\/]dist[\\/]index\.js/.test(error.message)) {
5
+ throw error;
6
+ }
7
+
8
+ module.exports = require('./src/index.js');
9
+ }
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@spcsn/taro",
3
+ "version": "0.1.0",
4
+ "description": "Taro framework",
5
+ "author": "O2Team",
6
+ "license": "MIT",
7
+ "main": "index.js",
8
+ "types": "types/index.d.ts",
9
+ "typings": "types/index.d.ts",
10
+ "files": [
11
+ "index.js",
12
+ "dist",
13
+ "types"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/NervJS/taro.git"
18
+ },
19
+ "keywords": [
20
+ "taro"
21
+ ],
22
+ "engines": {
23
+ "node": ">= 22"
24
+ },
25
+ "dependencies": {
26
+ "@types/postcss-url": "^10.0.4",
27
+ "@spcsn/taro-api": "0.1.0",
28
+ "@spcsn/taro-runtime": "0.1.0",
29
+ "@spcsn/taro-shared": "0.1.0",
30
+ "@spcsn/taro-react": "0.1.0"
31
+ },
32
+ "devDependencies": {
33
+ "html-webpack-plugin": "^5.6.0",
34
+ "webpack": "5.91.0",
35
+ "webpack-chain": "^6.5.1",
36
+ "webpack-dev-server": "^4.15.2",
37
+ "rollup": "^3.29.4",
38
+ "@spcsn/taro-helper": "0.1.0",
39
+ "@spcsn/taro-components": "0.1.0",
40
+ "@spcsn/taro-shared": "0.1.0"
41
+ },
42
+ "peerDependencies": {
43
+ "@types/react": "^19",
44
+ "html-webpack-plugin": "^5",
45
+ "rollup": "^3",
46
+ "postcss": "^8",
47
+ "vue": "^3",
48
+ "webpack": "^5",
49
+ "webpack-chain": "^6",
50
+ "webpack-dev-server": "^4",
51
+ "@spcsn/taro-components": "0.1.0",
52
+ "@spcsn/taro-helper": "0.1.0",
53
+ "@spcsn/taro-shared": "0.1.0"
54
+ },
55
+ "peerDependenciesMeta": {
56
+ "@types/react": {
57
+ "optional": true
58
+ },
59
+ "html-webpack-plugin": {
60
+ "optional": true
61
+ },
62
+ "rollup": {
63
+ "optional": true
64
+ },
65
+ "vue": {
66
+ "optional": true
67
+ },
68
+ "webpack": {
69
+ "optional": true
70
+ },
71
+ "webpack-chain": {
72
+ "optional": true
73
+ },
74
+ "webpack-dev-server": {
75
+ "optional": true
76
+ }
77
+ },
78
+ "scripts": {
79
+ "prod": "pnpm run build",
80
+ "prebuild": "pnpm run clean",
81
+ "build": "pnpm run rolldown --environment NODE_ENV:production",
82
+ "clean": "rimraf ./dist",
83
+ "dev": "pnpm run rolldown --environment NODE_ENV:development -w",
84
+ "rolldown": "rolldown --config rolldown.config.mjs"
85
+ }
86
+ }
@@ -0,0 +1,197 @@
1
+ import Taro from '../../index'
2
+
3
+ declare module '../../index' {
4
+ namespace createRewardedVideoAd {
5
+ interface Option {
6
+ /** 小程序广告位 ID
7
+ * @supported weapp, tt, swan
8
+ */
9
+ adUnitId: string
10
+ /** 是否启用多例模式
11
+ * @default false
12
+ * @supported weapp
13
+ */
14
+ multiton?: boolean
15
+ /** 小程序应用 ID
16
+ * @supported swan
17
+ * @swan 必填
18
+ */
19
+ appSid?: string
20
+ }
21
+ }
22
+
23
+ namespace createInterstitialAd {
24
+ interface Option {
25
+ /** 广告单元 id */
26
+ adUnitId: string
27
+ }
28
+ }
29
+
30
+ /**
31
+ * 插屏广告组件。插屏广告组件是一个原生组件,层级比普通组件高。插屏广告组件每次创建都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用),默认是隐藏的,需要调用 InterstitialAd.show() 将其显示。
32
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html
33
+ */
34
+ interface InterstitialAd {
35
+ /** 销毁插屏广告实例。
36
+ * @supported weapp
37
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html
38
+ */
39
+ destroy(): void
40
+ /** 取消监听插屏广告关闭事件
41
+ * @supported weapp
42
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html
43
+ */
44
+ offClose(callback: InterstitialAd.OnCloseCallback): void
45
+ /** 取消监听插屏错误事件
46
+ * @supported weapp
47
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html
48
+ */
49
+ offError(callback: InterstitialAd.OnErrorCallback): void
50
+ /** 取消监听插屏广告加载事件
51
+ * @supported weapp
52
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html
53
+ */
54
+ offLoad(callback: InterstitialAd.OnLoadCallback): void
55
+ /** 监听插屏广告关闭事件。
56
+ * @supported weapp
57
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html
58
+ */
59
+ onClose(callback: InterstitialAd.OnCloseCallback): void
60
+ /** 监听插屏错误事件。
61
+ * @supported weapp
62
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html
63
+ */
64
+ onError(callback: InterstitialAd.OnErrorCallback): void
65
+ /** 监听插屏广告加载事件。
66
+ * @supported weapp
67
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html
68
+ */
69
+ onLoad(callback: InterstitialAd.OnLoadCallback): void
70
+ /** 加载插屏广告。
71
+ * @supported weapp
72
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html
73
+ */
74
+ load(): Promise<any>
75
+ /** 显示插屏广告。
76
+ *
77
+ * **错误码信息表**
78
+ *
79
+ * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。
80
+ *
81
+ * | 代码 | 异常情况 | 理由 |
82
+ * | ------ | -------------- | -------------------------- |
83
+ * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 |
84
+ * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 |
85
+ * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 |
86
+ * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 |
87
+ * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 |
88
+ * @supported weapp
89
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html
90
+ */
91
+ show(): Promise<any>
92
+ }
93
+ namespace InterstitialAd {
94
+ /** 插屏广告关闭事件的回调函数 */
95
+ type OnCloseCallback = (res: TaroGeneral.CallbackResult) => void
96
+ /** 插屏错误事件的回调函数 */
97
+ type OnErrorCallback = (result: OnErrorCallbackResult) => void
98
+ /** 插屏广告加载事件的回调函数 */
99
+ type OnLoadCallback = (res: TaroGeneral.CallbackResult) => void
100
+ interface OnErrorCallbackResult extends TaroGeneral.CallbackResult {
101
+ /** 错误码
102
+ * @see /docs/apis/General#aderrcode
103
+ */
104
+ errCode: keyof TaroGeneral.AdErrCode
105
+ /** 错误信息 */
106
+ errMsg: string
107
+ }
108
+ }
109
+
110
+ /**
111
+ * 激励视频广告组件。激励视频广告组件是一个原生组件,层级比普通组件高。激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用),默认是隐藏的,需要调用 RewardedVideoAd.show() 将其显示。
112
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html
113
+ */
114
+ interface RewardedVideoAd {
115
+ /** 加载激励视频广告。
116
+ * @supported weapp
117
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html
118
+ */
119
+ load(): Promise<any>
120
+ /** 显示激励视频广告。激励视频广告将从屏幕下方推入。
121
+ * @supported weapp
122
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html
123
+ */
124
+ show(): Promise<any>
125
+ /** 销毁激励视频广告实例。
126
+ * @supported weapp
127
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html
128
+ */
129
+ destroy(): void
130
+ /** 取消监听用户点击 `关闭广告` 按钮的事件
131
+ * @supported weapp
132
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html
133
+ */
134
+ offClose(callback: RewardedVideoAd.OnCloseCallback): void
135
+ /** 取消监听激励视频错误事件
136
+ * @supported weapp
137
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html
138
+ */
139
+ offError(callback: RewardedVideoAd.OnErrorCallback): void
140
+ /** 取消监听激励视频广告加载事件
141
+ * @supported weapp
142
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html
143
+ */
144
+ offLoad(callback: RewardedVideoAd.OnLoadCallback): void
145
+ /** 监听用户点击 `关闭广告` 按钮的事件。
146
+ * @supported weapp
147
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html
148
+ */
149
+ onClose(callback: RewardedVideoAd.OnCloseCallback): void
150
+ /**
151
+ * 监听激励视频错误事件。
152
+ * @supported weapp
153
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html
154
+ */
155
+ onError(callback: RewardedVideoAd.OnErrorCallback): void
156
+ /** 监听激励视频广告加载事件。
157
+ * @supported weapp
158
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html
159
+ */
160
+ onLoad(callback: RewardedVideoAd.OnLoadCallback): void
161
+ }
162
+ namespace RewardedVideoAd {
163
+ interface OnErrorCallbackResult extends TaroGeneral.CallbackResult {
164
+ /** 错误码
165
+ * @see /docs/apis/General#aderrcode
166
+ */
167
+ errCode: keyof TaroGeneral.AdErrCode
168
+ /** 错误信息 */
169
+ errMsg: string
170
+ }
171
+ interface OnCloseCallbackResult {
172
+ /** 视频是否是在用户完整观看的情况下被关闭的 */
173
+ isEnded: boolean
174
+ }
175
+ /** 用户点击 `关闭广告` 按钮的事件的回调函数 */
176
+ type OnCloseCallback = (result: OnCloseCallbackResult) => void
177
+ /** 激励视频错误事件的回调函数 */
178
+ type OnErrorCallback = (result: OnErrorCallbackResult) => void
179
+ /** 激励视频广告加载事件的回调函数 */
180
+ type OnLoadCallback = (res: TaroGeneral.CallbackResult) => void
181
+ }
182
+
183
+ interface TaroStatic {
184
+ /** 创建激励视频广告组件。
185
+ * @supported weapp, tt, swan
186
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html
187
+ */
188
+ createRewardedVideoAd (option: createRewardedVideoAd.Option): RewardedVideoAd
189
+
190
+ /** 创建插屏广告组件。
191
+ * 请通过 getSystemInfoSync 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。
192
+ * @supported weapp
193
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html
194
+ */
195
+ createInterstitialAd (option: createInterstitialAd.Option): InterstitialAd
196
+ }
197
+ }
@@ -0,0 +1,133 @@
1
+ import Taro from '../../index'
2
+
3
+ declare module '../../index' {
4
+ namespace stopFaceDetect {
5
+ interface Option {
6
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
7
+ complete?: (res: TaroGeneral.CallbackResult) => void
8
+ /** 接口调用失败的回调函数 */
9
+ fail?: (res: TaroGeneral.CallbackResult) => void
10
+ /** 接口调用成功的回调函数 */
11
+ success?: (res: TaroGeneral.CallbackResult) => void
12
+ }
13
+ }
14
+
15
+ namespace initFaceDetect {
16
+ interface Option {
17
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
18
+ complete?: (res: TaroGeneral.CallbackResult) => void
19
+ /** 接口调用失败的回调函数 */
20
+ fail?: (res: TaroGeneral.CallbackResult) => void
21
+ /** 接口调用成功的回调函数 */
22
+ success?: (res: TaroGeneral.CallbackResult) => void
23
+ }
24
+ }
25
+
26
+ namespace faceDetect {
27
+ interface Option {
28
+ /** 图像像素点数据,每四项表示一个像素点的 RGBA */
29
+ frameBuffer: ArrayBuffer
30
+ /** 图像宽度 */
31
+ width: number
32
+ /** 图像高度 */
33
+ height: number
34
+ /** 是否返回当前图像的人脸(106 个点)
35
+ * @default false
36
+ */
37
+ enablePoint?: boolean
38
+ /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况)
39
+ * @default false
40
+ */
41
+ enableConf?: boolean
42
+ /** 是否返回当前图像的人脸角度信息
43
+ * @default false
44
+ */
45
+ enableAngle?: boolean
46
+ /** 是否返回多张人脸的信息
47
+ * @default false
48
+ */
49
+ enableMultiFace?: boolean
50
+ /** 接口调用结束的回调函数(调用成功、失败都会执行) */
51
+ complete?: (res: TaroGeneral.CallbackResult) => void
52
+ /** 接口调用失败的回调函数 */
53
+ fail?: (res: TaroGeneral.CallbackResult) => void
54
+ /** 接口调用成功的回调函数 */
55
+ success?: (res: SuccessCallbackOption) => void
56
+ }
57
+
58
+ interface SuccessCallbackOption extends face {
59
+ /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */
60
+ faceInfo?: face
61
+ }
62
+
63
+ interface face {
64
+ /** 脸部正方框数值,对象包含 height, weight, originX, originY 四个属性 */
65
+ detectRect: detectRect
66
+ /** 脸部中心点横坐标,检测不到人脸则为 -1 */
67
+ x: number
68
+ /** 脸部中心点纵坐标,检测不到人脸则为 -1 */
69
+ y: number
70
+ /** 人脸 106 个点位置数组,数组每个对象包含 x 和 y */
71
+ pointArray: point[]
72
+ /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */
73
+ confArray: conf[]
74
+ /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */
75
+ angleArray: angle[]
76
+ }
77
+
78
+ /** 脸部正方框数值 */
79
+ interface detectRect {
80
+ height: number
81
+ weight: number
82
+ originX: number
83
+ originY: number
84
+ }
85
+
86
+ interface point {
87
+ x: number
88
+ y: number
89
+ }
90
+
91
+ interface conf {
92
+ /** 整体可信度 */
93
+ global: number
94
+ /** 左眼可信度 */
95
+ leftEye: number
96
+ /** 右眼可信度 */
97
+ rightEye: number
98
+ /** 嘴巴可信度 */
99
+ mouth: number
100
+ /** 鼻子可信度 */
101
+ nose: number
102
+ }
103
+
104
+ interface angle {
105
+ /** 仰俯角(点头) */
106
+ pitch: number
107
+ /** 偏航角(摇头) */
108
+ yaw: number
109
+ /** 翻滚角(左右倾) */
110
+ roll: number
111
+ }
112
+ }
113
+
114
+ interface TaroStatic {
115
+ /** 停止人脸识别
116
+ * @supported weapp
117
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html
118
+ */
119
+ stopFaceDetect (option: stopFaceDetect.Option): Promise<TaroGeneral.CallbackResult>
120
+
121
+ /** 初始化人脸识别
122
+ * @supported weapp
123
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html
124
+ */
125
+ initFaceDetect (option: initFaceDetect.Option): Promise<TaroGeneral.CallbackResult>
126
+
127
+ /** 人脸识别,使用前需要通过 Taro.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据
128
+ * @supported weapp
129
+ * @see https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html
130
+ */
131
+ faceDetect (option: faceDetect.Option): Promise<TaroGeneral.CallbackResult>
132
+ }
133
+ }