@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.
- package/README.md +12 -0
- package/dist/index.js +147 -0
- package/dist/index.js.map +1 -0
- package/index.js +9 -0
- package/package.json +86 -0
- package/types/api/ad/index.d.ts +197 -0
- package/types/api/ai/face.d.ts +133 -0
- package/types/api/ai/inference.d.ts +129 -0
- package/types/api/ai/visionkit.d.ts +874 -0
- package/types/api/alipay/index.d.ts +69 -0
- package/types/api/base/crypto.d.ts +104 -0
- package/types/api/base/debug.d.ts +329 -0
- package/types/api/base/env.d.ts +19 -0
- package/types/api/base/index.d.ts +102 -0
- package/types/api/base/performance.d.ts +258 -0
- package/types/api/base/system.d.ts +742 -0
- package/types/api/base/update.d.ts +130 -0
- package/types/api/base/weapp/app-event.d.ts +265 -0
- package/types/api/base/weapp/life-cycle.d.ts +155 -0
- package/types/api/canvas/index.d.ts +2162 -0
- package/types/api/cloud/index.d.ts +2622 -0
- package/types/api/data-analysis/index.d.ts +122 -0
- package/types/api/device/accelerometer.d.ts +102 -0
- package/types/api/device/accessibility.d.ts +26 -0
- package/types/api/device/battery.d.ts +46 -0
- package/types/api/device/bluetooth-ble.d.ts +601 -0
- package/types/api/device/bluetooth-peripheral.d.ts +430 -0
- package/types/api/device/bluetooth.d.ts +463 -0
- package/types/api/device/calendar.d.ts +98 -0
- package/types/api/device/clipboard.d.ts +81 -0
- package/types/api/device/compass.d.ts +105 -0
- package/types/api/device/contact.d.ts +110 -0
- package/types/api/device/gyroscope.d.ts +85 -0
- package/types/api/device/iBeacon.d.ts +168 -0
- package/types/api/device/keyboard.d.ts +97 -0
- package/types/api/device/memory.d.ts +52 -0
- package/types/api/device/motion.d.ts +88 -0
- package/types/api/device/network.d.ts +172 -0
- package/types/api/device/nfc.d.ts +1238 -0
- package/types/api/device/phone.d.ts +30 -0
- package/types/api/device/scan.d.ts +111 -0
- package/types/api/device/screen.d.ts +217 -0
- package/types/api/device/sms.d.ts +26 -0
- package/types/api/device/vibrate.d.ts +51 -0
- package/types/api/device/wifi.d.ts +301 -0
- package/types/api/ext/index.d.ts +64 -0
- package/types/api/files/index.d.ts +1472 -0
- package/types/api/framework/index.d.ts +51 -0
- package/types/api/location/index.d.ts +517 -0
- package/types/api/media/audio.d.ts +1013 -0
- package/types/api/media/background-audio.d.ts +291 -0
- package/types/api/media/camera.d.ts +207 -0
- package/types/api/media/editor.d.ts +239 -0
- package/types/api/media/image.d.ts +469 -0
- package/types/api/media/live.d.ts +461 -0
- package/types/api/media/map.d.ts +638 -0
- package/types/api/media/media-recorder.d.ts +117 -0
- package/types/api/media/recorder.d.ts +317 -0
- package/types/api/media/video-decoder.d.ts +117 -0
- package/types/api/media/video-processing.d.ts +84 -0
- package/types/api/media/video.d.ts +527 -0
- package/types/api/media/voip.d.ts +393 -0
- package/types/api/navigate/index.d.ts +327 -0
- package/types/api/network/download.d.ts +173 -0
- package/types/api/network/mdns.d.ts +191 -0
- package/types/api/network/request.d.ts +480 -0
- package/types/api/network/tcp.d.ts +181 -0
- package/types/api/network/udp.d.ts +218 -0
- package/types/api/network/upload.d.ts +201 -0
- package/types/api/network/websocket.d.ts +383 -0
- package/types/api/open-api/account.d.ts +51 -0
- package/types/api/open-api/address.d.ts +68 -0
- package/types/api/open-api/authorize.d.ts +80 -0
- package/types/api/open-api/card.d.ts +110 -0
- package/types/api/open-api/channels.d.ts +225 -0
- package/types/api/open-api/customer-service.d.ts +45 -0
- package/types/api/open-api/device-voip.d.ts +103 -0
- package/types/api/open-api/facial.d.ts +98 -0
- package/types/api/open-api/favorites.d.ts +101 -0
- package/types/api/open-api/group.d.ts +59 -0
- package/types/api/open-api/invoice.d.ts +87 -0
- package/types/api/open-api/license-plate.d.ts +27 -0
- package/types/api/open-api/login.d.ts +115 -0
- package/types/api/open-api/my-miniprogram.d.ts +28 -0
- package/types/api/open-api/privacy.d.ts +107 -0
- package/types/api/open-api/redpackage.d.ts +24 -0
- package/types/api/open-api/settings.d.ts +174 -0
- package/types/api/open-api/soter.d.ts +184 -0
- package/types/api/open-api/sticker.d.ts +83 -0
- package/types/api/open-api/subscribe-message.d.ts +305 -0
- package/types/api/open-api/user-info.d.ts +182 -0
- package/types/api/open-api/werun.d.ts +101 -0
- package/types/api/payment/index.d.ts +119 -0
- package/types/api/qq/index.d.ts +354 -0
- package/types/api/route/index.d.ts +324 -0
- package/types/api/share/index.d.ts +354 -0
- package/types/api/skyline/index.d.ts +345 -0
- package/types/api/storage/background-fetch.d.ts +131 -0
- package/types/api/storage/cache-manager.d.ts +249 -0
- package/types/api/storage/index.d.ts +405 -0
- package/types/api/swan/bookshelf.d.ts +307 -0
- package/types/api/swan/download-package.d.ts +80 -0
- package/types/api/swan/index.d.ts +251 -0
- package/types/api/swan/pay.d.ts +139 -0
- package/types/api/taro.extend.d.ts +233 -0
- package/types/api/taro.hooks.d.ts +148 -0
- package/types/api/ui/animation.d.ts +427 -0
- package/types/api/ui/background.d.ts +69 -0
- package/types/api/ui/custom-component.d.ts +23 -0
- package/types/api/ui/fonts.d.ts +77 -0
- package/types/api/ui/interaction.d.ts +281 -0
- package/types/api/ui/menu.d.ts +29 -0
- package/types/api/ui/navigation-bar.d.ts +130 -0
- package/types/api/ui/pull-down-refresh.d.ts +50 -0
- package/types/api/ui/scroll.d.ts +114 -0
- package/types/api/ui/sticky.d.ts +32 -0
- package/types/api/ui/tab-bar.d.ts +196 -0
- package/types/api/ui/window.d.ts +71 -0
- package/types/api/worker/index.d.ts +83 -0
- package/types/api/wxml/index.d.ts +540 -0
- package/types/compile/compiler.d.ts +32 -0
- package/types/compile/config/h5.d.ts +134 -0
- package/types/compile/config/harmony.d.ts +118 -0
- package/types/compile/config/index.d.ts +8 -0
- package/types/compile/config/manifest.d.ts +155 -0
- package/types/compile/config/mini.d.ts +118 -0
- package/types/compile/config/plugin.d.ts +34 -0
- package/types/compile/config/project.d.ts +338 -0
- package/types/compile/config/rn.d.ts +85 -0
- package/types/compile/config/util.d.ts +179 -0
- package/types/compile/hooks.d.ts +13 -0
- package/types/compile/index.d.ts +11 -0
- package/types/compile/viteCompilerContext.d.ts +167 -0
- package/types/global.d.ts +428 -0
- package/types/index.d.ts +190 -0
- package/types/taro.api.d.ts +130 -0
- package/types/taro.component.d.ts +168 -0
- package/types/taro.config.d.ts +712 -0
- package/types/taro.lifecycle.d.ts +220 -0
- package/types/taro.runtime.d.ts +9 -0
package/README.md
ADDED
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
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
|
+
}
|