From 8750954d690052d570718027527bd513c225f6f4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 26 Sep 2022 18:55:04 +0800 Subject: [PATCH 01/24] 2 --- doc/files/page_1/data.js | 4 +- doc/files/page_1/styles.css | 453 +++--------------------------------- doc/images/page_1/u109.svg | 7 + doc/page_1.html | 88 +------ doc/界面图.rp | Bin 62055 -> 63721 bytes 5 files changed, 52 insertions(+), 500 deletions(-) create mode 100644 doc/images/page_1/u109.svg diff --git a/doc/files/page_1/data.js b/doc/files/page_1/data.js index 9bb13a2..c76c707 100644 --- a/doc/files/page_1/data.js +++ b/doc/files/page_1/data.js @@ -1,7 +1,7 @@ $axure.loadCurrentPage( (function() { var _ = function() { var r={},a=arguments; for(var i=0; i + + + + + + \ No newline at end of file diff --git a/doc/page_1.html b/doc/page_1.html index d6bd292..67ead72 100644 --- a/doc/page_1.html +++ b/doc/page_1.html @@ -913,18 +913,18 @@ -
+
- - -
-
+ +
+
-

班级通

+

头像

@@ -932,79 +932,7 @@
-

管理员登录

-
-
- - -
-
-
-

请输入密码

-
-
- - -
-
-
-

请输入账号

-
-
- - -
-
- -
- - -
-
- -
- - -
-
- -
- - -
-
-
-

班级通

-
-
- - -
-
-
-

用户登录

-
-
- - -
-
-
-

请输入密码

-
-
- - -
-
-
-

请输入账号

+

授权登录

diff --git a/doc/界面图.rp b/doc/界面图.rp index 77cabd82ac878e76f3937f73f57bea5760dcf85e..f40806d820b73907d014e8f9154b3258fcd8ed7d 100644 GIT binary patch delta 25514 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

c&_R;`08u}u-3x=?)VyCuS>f)?{vDl zn?8>N^<0^TT$19GuYk~-9G9D9p=dV@DH~FcpU7`z5Shma(2H9)JMQ2e`)1qpl3M7} zYu{t1FUsc1#B&Owb17>QtC?1(b8vX%*@-}$z2R$ck=g;U4g<^jjsW3$SihI}LR%!Z z**mDUw&9vPAI>N7L&D0lw~Yxel{4K0$*xY{kx#}w~5#8;@iGje33Nn}9<1p2xPwe_1UUwy@F7})ka{R?3 z;0MQ%n5zZ+7T@Cczgk4t(eeOYfv=v)BOM+%NI9Lyc6<$-uj8m_a9C(PjPyQbjn@i6 z{AckJ`CAm0$TQorcnrZ#A;*>^RV(mBr3eSIpLM7|fmlzMDyZ>*UwS_Fw4g?&#p3gw z`+8x(*5n~xx`a3og^E@6?EjeP=^%Ta6J7}T=YRFtpg0-W3X;&s+rNIVr{Od>KS<&- zg>K%?yGd5V0^RsOf9F9aAxRMH>Uv zxF93-?jlXou)~VNsnKgidAE^UsLD&gvL`&^YlMhMF*r26_70!TUM`d(n~LhmLArJl zUm)@P?{Kx_M{6$29zz-@+LfOj>;}VZYpm^StS-{6AU{#_Qq<p%Ew9iV*Gl&3j}BY<3l*f`E0@_koMb(QHU<#}YvzD=v;w;- z(U7z�pBFS9^SSv8d2MGA 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 delta 23794 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 From b5594cef54eadcaf259c7981de5d4ef91c49c315 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 26 Sep 2022 21:09:38 +0800 Subject: [PATCH 02/24] 11 --- doc/管理员界面流图(1).png | Bin 0 -> 43364 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/管理员界面流图(1).png diff --git a/doc/管理员界面流图(1).png b/doc/管理员界面流图(1).png new file mode 100644 index 0000000000000000000000000000000000000000..4a5bffc7a1aa2b3cfdadf60c70d32374ab82b33b GIT binary patch literal 43364 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 Vp8gg8);A15;OXk;vd$@?2>|eZ@*4mE literal 0 HcmV?d00001 From 709a70048009c5b91a55b50cdf7c666d12ce6782 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 28 Sep 2022 18:00:13 +0800 Subject: [PATCH 03/24] =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/界面图.rp | Bin 63721 -> 64012 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/界面图.rp b/doc/界面图.rp index f40806d820b73907d014e8f9154b3258fcd8ed7d..797237559201e68a67f1eafa552d966a91a5f818 100644 GIT binary patch delta 24997 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

`nxmBFZyu7E5;Rvt>HJn8DNIK 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 From 0ed49c92e89dcfcf65b41e8ed9e316f2fdf5a32f Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 3 Oct 2022 22:37:46 +0800 Subject: [PATCH 04/24] 1 --- 班级通 | 1 + 1 file changed, 1 insertion(+) create mode 160000 班级通 diff --git a/班级通 b/班级通 new file mode 160000 index 0000000..d37bfea --- /dev/null +++ b/班级通 @@ -0,0 +1 @@ +Subproject commit d37bfeabbf1148155fdcc89b2b9740e129d0af19 From 8fed3b9e85564581efc036340a38ddd3bc3fbf9e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 4 Oct 2022 22:50:03 +0800 Subject: [PATCH 05/24] =?UTF-8?q?=E6=97=B6=E5=BA=8F=E5=9B=BE=E5=B7=B2?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/管理员界面流图(1).png | Bin 43364 -> 0 bytes doc/软件工程 用例描述(1).docx | Bin 14093 -> 14579 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/管理员界面流图(1).png diff --git a/doc/管理员界面流图(1).png b/doc/管理员界面流图(1).png deleted file mode 100644 index 4a5bffc7a1aa2b3cfdadf60c70d32374ab82b33b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43364 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 Vp8gg8);A15;OXk;vd$@?2>|eZ@*4mE diff --git a/doc/软件工程 用例描述(1).docx b/doc/软件工程 用例描述(1).docx index bbcf1238de53a42b3b785fff711cf3f0c3a7e538..637cfbaa8f9706e2dd2e40284c90b24a5823e1aa 100644 GIT binary patch delta 9395 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 From d1df15b0e907820ebe1e43d29f2bc5c2c0301773 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 4 Oct 2022 22:50:59 +0800 Subject: [PATCH 06/24] =?UTF-8?q?=E6=97=B6=E5=BA=8F=E5=9B=BE=E5=B7=B2?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/管理员界面时序图.drawio | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/管理员界面时序图.drawio diff --git a/doc/管理员界面时序图.drawio b/doc/管理员界面时序图.drawio new file mode 100644 index 0000000..c1caf93 --- /dev/null +++ b/doc/管理员界面时序图.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file From a2c22401f1baf30819b7b808ca99e585422c490b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 5 Oct 2022 12:19:59 +0800 Subject: [PATCH 07/24] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=B7=B2=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/软件工程 用例描述(1).docx | Bin 14579 -> 14663 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/软件工程 用例描述(1).docx b/doc/软件工程 用例描述(1).docx index 637cfbaa8f9706e2dd2e40284c90b24a5823e1aa..e99aa1b557b354dab7ca5f3d36bfe78380737874 100644 GIT binary patch delta 6171 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 From 2e02b734d261f629f1e591ac3397373c394496e0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 5 Oct 2022 12:22:12 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 班级通小程序.zip | Bin 0 -> 367848 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 班级通小程序.zip diff --git a/班级通小程序.zip b/班级通小程序.zip new file mode 100644 index 0000000000000000000000000000000000000000..38355d9c4228e7030348a164bb83112a2bed3cb0 GIT binary patch literal 367848 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

    ;BGbhiaucps_`p| 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

    =f|pe?AyP&eH3osqPEUOGOhHaz7W2-*b4u! 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 SKS6&+Ks%F5FVMXK!2bgVuT?Gp literal 0 HcmV?d00001 From 8fa2d9074734cdb6aa5b65bf87b7aaf9eeca93e6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 7 Oct 2022 15:45:49 +0800 Subject: [PATCH 09/24] 11 --- src | 1 + 1 file changed, 1 insertion(+) create mode 160000 src diff --git a/src b/src new file mode 160000 index 0000000..4a8c129 --- /dev/null +++ b/src @@ -0,0 +1 @@ +Subproject commit 4a8c12962ec0f4df1f5efeed37d06cf0035fdd65 From abbe1178a3011e7dd474ef59e9dc8e86e2f91188 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 11 Oct 2022 13:32:37 +0800 Subject: [PATCH 10/24] 1 --- 班级通 | 1 - 1 file changed, 1 deletion(-) delete mode 160000 班级通 diff --git a/班级通 b/班级通 deleted file mode 160000 index d37bfea..0000000 --- a/班级通 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d37bfeabbf1148155fdcc89b2b9740e129d0af19 From a5e145d9d278248bf6f3be6fafe3af5b2a3610ce Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 17 Oct 2022 22:51:27 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E9=80=9A2.0.zip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 班级通2.0.zip | Bin 0 -> 365020 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 班级通2.0.zip diff --git a/班级通2.0.zip b/班级通2.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..1393e27364de415ab473ccd7e6ae26f8f01dcbaf GIT binary patch literal 365020 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 b{W406K?A$ez$OInyBheu9-=L Date: Sun, 23 Oct 2022 17:42:41 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 班级通3.0.zip | Bin 0 -> 1074814 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 班级通3.0.zip diff --git a/班级通3.0.zip b/班级通3.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..8f06671d639f4be8d45537aef7e32829856f43a8 GIT binary patch literal 1074814 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

    75O8iz94d*|aw$f7?l)Hx5}(MV$C4z~pL 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�V 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 z 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�_+KeH!r|_s)K%v76;s&+{^1 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

    8OZmMK6s3J7=H zk~2Pe1eiZVk;Kyb$JaW@54KjrlW;3)xLgecnqH)aJNN3h12tshP_3~TWLMV>Hctf6 zyC7ZOI3@d+D$wBKOB6tuC%<^EGa9M=_aXE-h3Qp?ml?!m}6I6_TAK{?ODWw?4ja4w(TIrL8hNqv?SO&Ec{o6_Pt0$iZ zD9VJ6NZH_P9c109m7of3jdSRu_;MiW4uAN^Q}3Y%%a(#2)=kHivO8~F7P8o05v1IF zyFLXob(T+$S3u?$8e5e1K^h0HySZlJ4H)`GNS6hqBtEbB{?rw!rCm7_EZ5G97Sh_& zD={g~FO<~8q?9ivZfvF|3rUw(O8IQjpj5|-%H#ARR_9O1XEk?TCc~^X-T<*7yWblB zqt-Cq+qcvJR_K8$aRbhk4Gl|9KIGC@{NBdWtM)GOnCs8ha%*agkqZuw3XL7Vb|hO6 z6V>6ry>abAe7fCcC{gvqf4{ze#-(8fI&31H3EXoxZlNM>um8E|+J}*5UeeDnMs#X2 zotp=4s|Gig)1x_!t!)*-?|EVFK0~n3k8bY?(kb{a@2CcxH?__d6_Kyn_nGVdg|5$2 z7Z`@wNjqJ-LmsUPxwW~_+9F$u711yJ^?w-aP#$c!yN7p*-tty8=yFaTa_KLkNvYT2 fWy$txkh^~^%^9cdvMarLJN}%6HrV0)$^QQz Date: Fri, 4 Nov 2022 16:51:55 +0800 Subject: [PATCH 13/24] =?UTF-8?q?=E9=87=8D=E5=81=9A3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 班级通1重做.zip | Bin 0 -> 1110192 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 班级通1重做.zip diff --git a/班级通1重做.zip b/班级通1重做.zip new file mode 100644 index 0000000000000000000000000000000000000000..780ce35dbcee9581952490e19b1212e97add3282 GIT binary patch literal 1110192 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

    N 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%0DnT>(I;Qw5X-K8<7ZHPnpS?6mN|bGZ=A+ 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

    L^7y1?v`0;JDU|xi*)touB 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%0D@Lk4w`R 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 z%0A06c;Zn{gv)wn;$4IhO5Y7`?~X8PU&kFSCFs1DX-eEa2To9ciQ8v8CVQC4#07^f z&)EK^_PX8J_lP}Cwx5!#iu7X;SoGbpKDnMOs)h0C0QGk19ccPq4!5kdZSJF8Hgn_V zdf&3cbXJ!OOZ~-_sGeYrz&?o7b3BGLiK2t&#UXaYf#P&3n|$Kdr7X|iLbA;eVrd_| z;l~37=q%Df9cexbNQj87C-k!}CpZZ-{jbe&R>+OR(sFVOuD+I`lrZ^>EC#VZezEiS z?qYH&^%Q~}V`>NftAqJq(N`FjYTko1?V%HYL%7Ir$hi|g_-Go!zQ0)vPX}QAmdJCp zD*Uk~%OsS-;7hiigQJsJP|+DaF#MXGGktF{mdORwpv zf|{V2t^||)3YI>2fa&H`JaR(9+VR1}XJt(#o4~@0OBboUiW*rfRBN8mHfp=N)F?=Q z@OCKBn3j{f;Em184)CC0U3?Qy+H0AW1poH!XSrpf*JehBnsRAcHR070_S?%B?uLN+ zRzBTOq9265MGhYsg~Ibnv@m>$;s{W$0u-MGRajG$5oRk+g zc7LVxJM8ic+MK>@=7ya)M{p-U{db7Gun7Fnbil5qO1CuspyHsVaZ}#`ufJkJ+ zqFcS1Sk}QN$Hb266PF0t*=;jI_~(QbRSZ`k5HP5Kk?w&1vZUa>8?rV>#IC2xtk5do zq@`$c6>v=R5*CDd4CGdvC3a2*MV@-p<z-+x^t&?N63pC&+r%^n9$Pdp1!FjIbbkXqBlh#sv?-qHQZ*%HcB zcDL%5-Ix!^8$7Pcp9!C2P%k1%1}h~FO$Y-$(3#14XOE}w27Z8#n>rnTON$X&>`NZG z3VB6fr23ky53>VT)`BLF+a@8-L6Q$!i9U(iGhaa0l`&At+t}0RH{NTe7Q$Ra~!^liE9ue3|rs4eg6RPuP#OjoFSf4nZu*P#uUxKDuQ6v7Z?85X_ zF#I89=+Ryr3}0+;rDs@!KPC)kh>j6X*WCUUHFiW&hSJCo=sTEAh71J7Ox{BYC42F8 zZ=c>rqhigM3%my0p4j!EqL^ko)|~Q^}d-wh7iz zg=8!?Tu1G#7hds=SFQ}U)RVqiOtMHmIKJ)a#FR6#%zxa;Q6Rieoi2;qfI@2Y>Nv32 zjXQ^ogu_BiLBMBcA4CNFqAlc7*i@Ui4fwq$fCm}yN?kRCZi6}(QAXFF2X(=xQc_C= z_>bm?Zn0MKl1pe%>R$>uE<*m5R-20WAOUot+58BhG1d!d46nQqS5PIHaGv-uSlZ>` z{zl1kQGOB}Lwoo%@ifFN@DuXNZ{)f;CCsrznYgHayjIK^2l?HuzXe&jT)#YHavU>c zQPW-)6@yS}9Vy0atpLk7A+ewR!T%wbW1t0S#|1{p<|fA&xROAE38M)gB1eJRPO$mu za~<^l8Xl@ZFTDClUEhbz%9{JZVCsyDC<_Ya*ULHW4tP7s#%5rcw;#hfb~1x!25aMn3#6LDx7D{R(k?O^Ir0Dm}YT zlT$Fh733*HwzYmG>ki_RyRt;_OQz8M45fTjd<&rimSKc+*-kvWsCb0yTYCtdx-_He z<91tcn&p@nr=N4G+My6*1^W82s3V@-Vxo01;qsLAsbg$ZhUjqJW1MNB5@QVLZ67QT zR#*S1KDlweEV{_gmmU`2_(n$0hk=&nG7pKqKyWQs$3(G%aiFJDz(Gw(D(B;%ofGP? zA5TTb)Cq*gHmUyGuq;#W_vM_DjGX$lfVk&KR63vETWH6}l;Mx?8p&d}s z`j~_E+|)!{qo*OlFqNvp$ya6HGQk~YaJeSQ-RH*k{QH8 zE9|D4=rE$HF_f07_IV2N_TSldv{SHk;I(BNQAe^=)Bsn&Zv5m`Lv>&{~cmBXlz3kF+PNtgpXDJUF?s?PoW z*qUt@kVa*7KkC{YxVV}|}kX@+ScN7JwJ<`dvifytM@9CxUsc9zzQtE9_? zWjMqfSArkr@m+kgVQ@eN)GOD6-IB*1sjLIN=XWs5cZq3stVkq>R*T)C7UO$(%rkVJ zjATxr;CH&7fKe&l^=8D^6h~C|+*u_Fv1RlUNLI95LQxMyCp#|T0@CYzsduWn62ZHF z_*ApZlLQs>Z58;k-j>;8+ax=4_vgrMpXrZF>m_PJWd2D-)b(O3>ECC)N?>=3cB*V;}0UlDyU`R8+4xdwh)9Q-HWGXV{ zTw{n6c@`5F#>#$aq;M5B*ckSyo5|D~f(Q_AW8`b|I;e?P7%`FE5fWvS(QcM{GtCN% zZ9Q73yB@JQd45AZb-p!72>!?vQEGpx_f*spF(!<|5$nycldwMwLU;-sWM>^z0HO80 zxg0V=q5xioD!#C(f@z~+Uw>U#-3W&vd-Y6@dUbrmTYpbF`mQRXR;%EzV@+BTR&n&- z1foZ@atfVG2>gaTSC`NFSMB?sz}7zy>R5Q=dmm7(`xpOp)sCIR$P|FtvobQV0Pr9V z215pBQ)W&kCIIcm0iZttRcHWC1gP5mpCu!>wSDV-=(_uDJ+8h}ZL?tv&IQ5vaB#5G zGBPO8$jMDV7nPqHqaGeG4x&q}8bT?1C zMBEo=e~Fc;FXu(pMxSO>eQGa1NxYc@o^V7nO(RJwC^k+$)X#gG@7KCB31^b!Mr-Zb z){eB`merJEY`!*5X%TRYxxDTD5&YCU#3j8p)2E&h=TcSBOioJBnR&ENo%GCRy~JjX zf=M6RRPVW$Nb`V!yb-K5|D#y?-;gA6{Ac9)U)sA3ML+&kTK~m=m3DS|Rsc$9!e(g1 zZU|uA*-SVY*%{e67>vw}ISm2eAtyTrfP!ZRNbvq=+S~pYekMCZz5I_pt3T3nT_)RB zuxitn@e}p@f}LgGfJ|H(CMQcbNh=9Tg|=yMR&rD6^>R$k5(_>l`NfUjumTEn-imMa z|8J=OS$*}7kacR#T%`sK^I!Z|Lj|a>SOE+%8z-kR09RpPU;(%-0rXa;W}M6%#sKnx zjoH+Yoq_p(A%RTh;S}$>;U58A0GCfef~%Fy13TWVJKO9D-SlmCy4^}o*#{b#WCUuj-Y88VUw zzz+S3|7zrh^kx9ZHzQM41~wKZPIf~h0OQXBNWLlHQ`Ub7BfN2vimoHYuN0%+j zZfRAo1FOQ6{V=GiUsHmxOxmg`az+`Ejdslk+r5Ogeome4M?3Ii^UoPnz+16vXM;n| zn!J;89t_4(XHdcoD%Qkrk~T zD4H}#TgnY*6T{xb_R*6m@Sn})5A|repmm^ZpkmT^D+n}_sO&y4)N`kUSKk_=PT4~H zV*^HW7r~%LHAR!&Ztq3Z-xt_`uioaF_dRbMQmm=~w|dkq@|iSnbaD0haOiq~uA7qy zF%}F(2AfF9tf9Bfc;d_Hi>t(?FK0+WSf-(AeK~RVh3~~1vMTQP1rd7CRQ4Yi)qe-J z_|Guozx#(ctmjz(U>^Sq0YLnpU<&}u$N-=f0k(cDOvYw_3&_ljje(ijn8OrsPvK+$ z2pA1H7|j0J`~BatPXK-KZ!!aL{TT!_&+YZBJD<9h?HKxoHhDW=^-J)?>3@m^gFU|& ztC@pM?COg)sBs>@XOBL^nkn`OA3G~O%HTCHh}Gn4G1^le-r-%=X&0owPJZwzok{y< z`!liVZk^LywXF=L9COM_h9e6uKu8tr+y9Z3{|+bjzuUR#@^ucVLILiofcUSnVoDEi zYhwcV9I~*PngX=1Y=$g=>)V9EgwY6~a5iHG(47D~L(P8nvJ;Y=U|SEsn-0CgeeDxC*R z){p`RLe|AbXF&n)_@-A$NCZp#2P$lG$L~{A%tsS|la1ds$sEg1SeP0{i{2pcA?gj( z_}|`f15K?Vro%J(7l%3y+d%4saf-k|ID=11k#o@rzYT2Ve=~^E<&N(m{Z+H@Kc^9r{$f;~o+jEk8syS%h+xQXxrbN>E(D zpKzoERF=_xc@r^^Rvn&6qACa>DW7vnkPFD<1~)lT;Q^l^V2Vzf5!U>;7a^mR_8==8 zO-gp;bcGO8q)$~Nq?8}0!ctunfEQM74Do`>NJwdLY^I5ul+@%!M?!AQBFc_z1|c#L z5ltNEszoC}Wyj1vH-+gOsRkh1`TDB}gHWIVB+!DK8QdMQ(ZE%KVS>lHz{ok}UFaRV0*x z5Lu(&vNVY4!z3Gn_r)F&vis$?eB!@>V28m7(V_?HhoCtm9o_{rAEL^<3KOo};88PxMGifi zbW`MjfZzi5rN|k4)5xYgTSJnCb1{R`j9uR^r+?@ik;RmvMO-J9$TQ?zz6mf{=9n8s zppWyKoiJlKDj-a|FqZRIcHv#z2#XkD1BG#!Te!y4K1Oc5p_RfW|96WIbLW zogsbS1(^=qJ!V#s_}~`#(L?e-3&+|V9jo9ZaLHs!JTFYUjYdL1j=J`?+%(VGQVwVnCU zsnGNV53ZT`EH!`y8V@MJ@x$D0a(_Qokw4M?WljXEZ;gDDmm=D z-c@`*l&E)6gAG!p69k<5cX<7wK@{a#zFOXRU)-21d&>Q5!NozIz@iki7e>$y7xHBw z=W1ehMHXab9>(9w6pS14=1~S~GCi4N=sE{#n#kQx-|m8y_17&UP$*%Hz;wAM{pqP@ z^xpJ)UCZ|Z=6gg7=4)TwkYX_~^K+`|sfT>|>Lv@E4`o|MfBs?eT7f2QjC;M=k*#AM z+>8cG?Qt-a0)Ahk!WS}Gp<2M$ZNP1IY?9|$V?;DcJX&w!L$>bGurA{dE^ZM$x&JCR z)jd7Aw|M-M6uFl?nU_ER8ue$ZyGyhCqX_>fVLy;x{@tTuKfC{xw!bsAKz#e>%~wo( zfr71bN2mL?|83!y!@B?7a@96m25t-9r4Z?S>H^kdScj);)f5UUd z${DkDpy~Jz6q0k?)9`ugRByy5RGB^2mBBk|MS zdIOJ;ux79Gl=w(gJo9}+wI6?+Qn2bL*AKx2rXq->!j4|O zt?$Z2+V)uM^ZsyS5|xL9XnU>Fmd~Tb8?~$A`SIpyj2&AZuXm$It?Rqo?aJ|RU+PL< z`wL%P;(li}*8JCB^=GTLJl7H($RxIXz16}hQG})iU(zvAdX4(GoIMP#SQYIRV8vx5Ij7X%bnIY%zRGfCvgfRW_)c8*zc4GI`Zi}&uXP`CU%Zk?-KG4~kq#MDDk zCaS~_G7}mcj5^;rBXb*GgJ_0rGKXyzo|yB&oRYyVSjH+mkkX1ZrJh-&Co#yx%Lm1t z@9c2(Y;SH;DjgQ7rrv+oE!i$h+daXvg&1&lVC=^r&Eq_+VZXDptb70+t_Z~cN3#AK z>tfFT-CzL=X5kGN1PJI~{8!0hqG$VO^25Sn%E-jP%n8sln*bEu0A~eufCC6%)5n;N z)zp-Qo#CJKX$~NLLV51?A87(epGZ&?NlNlikf=~v^GIdMCM1&7&B;_KIUi5(4G?x( z6$Z2^QNa8OF8_!0iT>4$j32FY(~G5xBsufu?|l#Z&5U2*-+IsQfgx@|AaJtUR9!o*o|0U$^Fs-jiH$m??!Fz?1Q8`0ZGqvL-toNtNZt6C6v)pIF<8l6HGs zla3awmx0HzDFK^T(DwJWQQNWbeT=0f@GkZ+`DHVuBE?I}DQrm3LrrJ57ddmKmbxQR z#>ZHL)VSkZNu>`iK<|uXmtxIk3FtlBGLku$q1dUFZTEkW>(dP&dFW|Y|W(Jj;qHEw>K z!4CzU<+|sNjM+cnlRq>?@23Cy^5J*8h6~F?q&HzxS&y2lx$C3~8*S>aq(obQSd6J* zt1)DqxU0YEd}gu0PLTuK46Bmf-efx90e`Vm|He!0s}wa&S7XzLg!`M;Bx^Q|AXV4O?c>j$-s%-K~PYUz}^8atj{%2*zzo~vG+MgbX2?X>n{;Mg=N^cAhQUi7( z4FSdkfO!jW2r)JSxYq-^%9#S*8k+#j?Kw=109xD;U0df(j-+0IGk3dB1_!5pBeyI5 zwN6}{iL_jMQCs5C#E}vuI;|iRJ4!`D3hs@`*I!<^03eB=l=6wKPB&)c`5PdtSctVw zm_zR8!|#t(|L><=y}l3k=X>uj*V=YGtcr>0#xlD9gy#_lB zCg6m|kTM?6y(#tF*%0z<0@+{=Bf-gQ&%v9#HLkm&7<&12s{Nc1>elv`WLADt&FPOn zk+z;mAcVbB9|X{atPkrTm%!^2*MelR>gz?n9DwLEf0f=5-3rFj9*)?7Mt;P+)&wP# zU6OR2Uard+@^}+w&~)H85`eJI-jh9Jn7rK45uY`YXduQa1JMp{Cz*_A4;lQVfDfrv znLU`L3xyy#rQ95zG7$Yf7OJ_rrh{GhtK143@wiO~Y9fVT$Uhi_S9cgvg2M(D8c>F- zF_I?NpWthNeXC9;bvAM6+fCV@1XwnafJkG2BTls^j|Ls`zY-OZi+G`i8-7Ss(jHh~ zCiI?ZmNAPb`=j$a6hvR%Q_Kx zb7%P*99pm7`Wo^4e;4ufa|1%@# z!e=(Dka+*z-(@!R^>~g;;ZENZ$o}oH(eZpjTINsNJ%}omYv76=equHT5)zGW4R1B7+Hz&&F<3~(%r>@zq+$M4-sqaXwe&r zzI?&4OReIrcheW;ggF~IvuXi;xZw-!~-JfSV2Q>FXdoGR9?WJB_bJy0MpV6<^& z(R`sxlC#ALF&=VPhZ&z%A)uDl*&a|M*J{FM!GP2$n}qR|^J|VC`sAsQpb0i(3WxXO zN=764{ZxC0`7!jXmy+Qv_DlCY)Bm*0gkd?lG?uR>WqgTRE`TNar~lRPx9*Q5QVcG3 zjXZ&Ux;Wu$@sdQPqOcizek9H;2C9@OjZr385ataj2b*qmf z{W-=YOH+?d2TH~vA{jevx%lzj+Z+q=HKQ43iHHJUqP6c)z6}NgnW4_fsL!2#8r3a6 zB`}~9;%I6`loi#Wj&WGelNSbPluQ(6#ES*n`lUkSMw&OG;$!^pQjCTpBqIJCUfb(~ zgio~$+4}8QxoWQkX#BpD5CS+@ai$1N;C{QLSNR2ApAQqfQ?&ev+w)~=5h?~u1%5wd zGh(9LReF85HEGt!wL^6zS^>Ux6dr$D&zcwgP^k0KP}cY948)$6ek*{ZBKa{U_O}lm z?fdzp73$*4!APc~8n_NG;m9JQs~Xd?Q%1?#LxKN>k>%ISnU1f>Si z1Yr*7IBDar_ZJpzRT*i!y^yBBtcIBlMCX^3RBktp*VnszL}#PYXgI&X16HSSx2ZYx zyYUX7tJS-})5r-&Rqag%9>v_cfbub;!<&H*BwO$;J1GfVu@ z#t}CZW5cIkQY(Z&B=KQCE*fMn?o=a&b3sSfsij2E(52N<58vUii8qNnGF5vOJUEd%p^=terOv=3Hn;U zFDwpytjUcnZX{yP>A<@oVA@lQ#FCl|EiAQ{PX;j4VCTjFS9xWC+h&l_u?shHVn2GY zP95x%H6J>KBUKqb6Pit{09~WJC>U>4W6xNEs=;Y3mTb(9G`O#|Q(q(Dm^p)ggk!{o z;1US?jq0HAtf_WnO#ZG4ZZk8ACB2^=w5wo(WB*#c?(C$SqN}b(FL^A&2^n*x{{;Sv4X7Ej8|S zZT#Vr6G=#zRw1LdXB&7Myu_9tE@u6D3&qe*t=L<0)FO+0C2mYOGUd%x6!sElT%q2^ zOBnh9dv0%uDx9FmoZrVc>%kekSY3h@EyL&vxpxUtLMlaKxIDYXDe8*l4 zaHMz9Su87uzlf3BGW&P15a%d0ZXYv2s&i)xb!NkA_7`-QV2htp%~$96E~jzQ(`K1+ zr%P^eT{F&7?GY}aXzQGwV6YVqxi4ZnWQjHrn2n3pFh_?5uf<;;h%LAw8JmWIE+?Em z&wnPRfoI&w1YQ3e8dNc2DX=mGQb96m8_75n72b+4505OoZBb(JNa0p3WK~?W_=8JZ zDpD?ybqiOkib9$jWgaeBdCNLgSuDH6l0{nq`0D+Sd9*ii`Ac4J6(RT|W$oN=_}l~e zxQ}K6-CI7>AJ&5gx}Gbdc6KQIjqdFgL>A2SroKm5>2u8)5lTu|uFi{5HlnGz>jk_E zqQqRbsjFIhiQr&3jXprQ!=TLR35JIg$BU5}q0h5dDC+7WSaM?IsxprFf55y$eZ&>O zCHWyYlRa7n%j+PyOuo`XTFIJtU|i-*eLICgM+YtUfvAX0kZuZ-UOEcJ|C0Fu%R?!I zXSjEg15puu1PWTYnUw7HW0ieGcQ*y%ka)3#D<76)NQ%%Jtga83tU6d9Y>WdFg@h-= zX(zxD(E`VHy=3kaSnv+4^58l0H*CQQF?bb%upZiD#Ue1>I65PAr>>?oYfIyL|)IuX@z@A(C;f#jY>Aso2YD|B0kt2~;K zQCi=%D6(vFys10HeyQ3t{WMl)cC(#Y!j#dD@gKoTpOnmB_&}2zz_!5I`r^@qKoG<_ zd=wjPE8{TR+@n#iCLudg9cavkb(5nd!0#lK6om3rr_~yP3>9#ISAD#GEXSPXTMFg1wI+)Ewa$M zb-m!-=>>Lp^M{IPB{+!Pt!aI9Gr8wP{w7$p72gJ3vVTR$0GllysTH5kp_SWu>n8PA zepfgFhA|oAHY9gbnwQfprS52}H=f^f(Ph3eYvdI;Vgr=o0ACN!ttyTT%jXl!FIPGP7ZZ z%b};e6<;oSx7mOaOnhoXYr`V)kq3@67atk0&RN5C8oK>iV^8J6o;`$%6%H7@4A=fF zgjgdww$1051B?B(wjXYq0zdDh{uW4SHyeYALf7^bOHU75Z|RF&^Xo4}C%P6%LV4ri z$4lp!A6R)=hmu|tCH@+%BE0V2!XH2{zv2A$!8w79y55|%h0aO4+K%vsTv;oKfYX)^ zH{pMV6wfEM{Cn34Z7ect3-@QofK98=tY|$VSiNLp3awgA!MXnRkdbza40lTk9S@gP@7vHN%NzCx7jG~t8 z{fZNBKa@={0-fK{{~?0H{HKVAd~;8R1Yff*6Pvgw42aTeUiW15VdlhHVwrV07y z;4ah|al_g#VD*3X-Tc;eegP?$g`6Gr+PWkAaSdI}i_Bp@dmaI39;gd=Dwp@b+az4bbaT4FO^`mAQvuz9D-u`KqP(HvzvWQ~8+Z4Y+ zzLL;9JN`c6&>TVSc>e6L#_uVnxDN=vX%!}qroW@QL$VnE+4iE0X}3ZjG=pSF%V4aM z%MnKUv5E8!cTn!Dl2dV+waS+;aj@=)nMQ**94~Hj+4O1_{eroXeUh<;yL-qe`K!$Mp7(orIfCs$R!^Nqhi!lcSsi5xxYz?V2l)WU(}xYC@2S?VZghw+ z%5~aKajl5|3cgwysB-@dBq9gYC@NvzwNn-FBuJ2JXv5Qg^$q>GD(y1VpWixqkIu6MSBjmz^WHYQsm;zs z&O1040@Xb!Ew+0ISKL)92gao&Uti-oFIU8+I6{p`3x-;&KuF}WRB3B!wUBAA_hOrN zf6+xtv2xz7_je^R=fxdjm--xk^t7+-%6M&i_5sRazuFxuP&1!Gwa5H6oCFrX96q8E zC3egkvJ{kKw$QHYG!Vks2j>V`&G=J#v7mVW8osCtiC-^zaa_fB3XjCqrfSG0pudRW zCCV-#>w5_q@z4#T>fRigk$q5;X3?}ycnEzsN)CH*c%SM@Q~z#3tlBp#&R$YQtZLZ2 z*q$A0n+$l1MSwAIBHrfLU7_IZRizH@9Gm}r7%ENI*>*eypYC!e$={?WdbZ$=c8^*G zn`$<^N#PNgzJCIa%S>j|Bz@;1`4Xy#E}zwUO9Y({fGzrzOs2a=FalMetS6aMHkg5l zm#Nzy(0@(MNz>;X+aqa5>;_F!kI!!qFxE2q}t4Np~cbsxI_gv@rvpuzUky5R!80w>ffo zzLg*yRR~4#@_k}4xCb$Vgf1k-9tn$3VC)B}>)odj|8@sqD6SH1Ag72zuAAN;9#4NI z&Z+>qfXR0!drzLoJ6treYoYEjV{pWSo*G2#ErQL=bGR~C`{tswLQjxdPC{O1aJud{ ze#FvA>JtB7vEo6QFds(}Y~u!juaS0T2iO(H6cV}9?zZ8{ z{6hVd&p;zmCh++Mt5_Xa&`LHBp8^eVLCFEiHip>2YXn_rL1c#IEvdN%6e`|>&6db& zeH>cRiUYq!CoSV8arkP^>~ue;xn*2MC9EoYEk5PpRVvdWl-*coUnuKSsZN^21Ju21 z`Zr2#QeN>wa-uY5ylOAia3FtHGBatpNPrJ#)2qUY-K8B>W+nd)C_o*Zdj zu16;KI5iD}tHQ4^xzs+k*ytr6Q_@#oPXog8T>aB6Zn=D;x>C6>Z&2YSAJb2z-}MA^ z;;M!If6?|9KzS_d!Y%}Nmjp=g;P&z11b2rJ+&19mdb;24_jzXUot=L5YU&o~+g?Pl95xZQMeRvbi$X<- zgV>293(%beX?S@xtz-t8D&LEeMT;>|eCT>Brv_{J;l_k~Fi^wYqMI3I(tVg4XA)!e zi*1QrK{Opy@O~T}e!Q(BsG}slx}jj90o$h;ueghQXB5GIvj8|XsXhJd)7}&`Ke?4C zo=@c%!j<<*yLt2|Xw~+|Nw(muVRPWEjbDKtiojwZfFo=k9EKD&}@{2d%^55wffcF)21 zZc2&&>!~I^x}-(pU3GDe#J$s5E`aAdfaHKlE&L?x z<)))aNQ#z;AM=)_e|GmO(5PEi75SQ#FHOBCR%%w0>D`jq;qaY8hJ>guwEPT~x_#B; zkUOu7iN_Zdq9#;KUru3}`(E`Mk#bY0o;vJcMUa@YbDg+w!Bkj*Zgou*9Y7PoECs1r zPU=9Y_E2*1$yN_*MXS^;hv&?SmJ?F(E=lHss>A&jR~f&)fBMxHJXBPe8kgGpVyQ+O zU3SkXahs+-%4U>^UxjJ!yD54!8L!B!e37>@d~B!D3EQ}(FjUEFW@XnY53RD&0(Gac z@mk4bm)*n|tRH*Iu>*KJSYJPvV#HtuW#Wn;|DfaE@M{Q2yxr3d@Fd=AmJW|LmZfsZ zZ22(z)@qU-HN8L(9W-uWWugl5lAscNRG1gUXEdM3(JS7@3X0*O`*;yROc>Xo1=nv@ z(=uKW3qgZUU(U}p!d-((QdJR+q@-Lwqkktb!Te^Ej=398%aSOtC&@J;RmFVUcKV*M zveX@PIr+c@H7anI=jeGRLKA&WqagmprNljq5zZqLmu%K-u#o_kM8fL@yuB}_?pvlQ zr!t|i#sb1eN)cK?^*$6@t`{Z>i>EaTB^vbx&;h%B<*^Lk(++w2)jWnmqH2g(?d?&6 zRjR`BXa}k!KHlJNQ69pYWg4+WWMmY-W+>?!h!!Tb2;eEqOn9u*=+7ut4A7GnoP0}{ zvuuRnc44MpfH4R622RBQ_g6S&GY6ty#$H@Jjdj|ob%^xd7AWdq21F-K`7TVFV<^P$ zHFfw*gJ6tA7wHS*!BNxR;whx;I6j@70+%vfE+es&&~p1w(e|chjX`17K4Zws5?TOH z^&#v-ePJV}P*jmX&$riu__uK%amil`n0Yv3+Z%ik##yR!l8`aW`H$7Eh;`Fji ze6cZJsFo<*&(9aE!}m4M3EpL~S*6v%W3wNsck;(eD0rU{rjK|x{%i~V157dZU(Zed z-WCF{WEVyOvew__@3w_FnOQ&(Lrw!WFaXH5`;rtY+`hH!_OuQm3fFF(fdQ3Mw;>D5sS&q8I)cTW}=v zQ7LpV4m?e|cKfup-f`k{a{kq4#Upbs{XX6Cr`ON6J;%!M=nfQAbTzf2?zFU5Rn@1p z6O)tGFLRaV&1+7w;7#%`6F5{A%wAwRtqLYpSnNM2@bJj%h&|I^yYvg`yIo_rg!RfMd$-RkQVyYZEZY3dw&jrZ@JeQu zR${N%^Ga;BduJ(U5*^Sv`;!bqb~%se#ZoxotA0Dk7)NJ6 zp4-w=aj0puGVt%1kg}k>S2kfmD^55OF|UN zjtNm-9ZWl7UlA$JR_XD4sa}&3nVLF_72ecH{*s99Y*#%%M4O*F5(j*jRX#UPvUNP; z!GlamW!qOE&)aC@v{l|&W;dUV1t@$X7Xgc-mL%eJ+}Oms&yt@^>Zj%z+8`}MrGsyv zjfvUvVbn*uTH1>&94oDIuQV!+HJS=$ttv;{J>}@(uxSOM5S?X??G@e)7EtQEVstK# z7QI|nl8+kpDhrP|4MDBEiM+W`Ql;#Q5HT+hH8)_)xDSxb$CwhR`wp{FL{OW?%AI}v z2F6H*io1W)8r~Nisk#0{letQx_972Q7;z_o8qyl6KP=(aid5-UQWh^jkVRV&j}X;d z?(J}qILLQ3^0JcaZDlEkxni=7hs;AR7bOJ+-lm?Ci`HFS2IHd8O~I(KVVz#o*rsHe zw2Lj(3WXXnWzbaXt_9{fX|a9rQc0?+{gddzjjx=3`*o%5HTo|(>Ofy<;v%q$&$o2e zke90M%5FC2btO6}IlNW{pWm})$HmI#!23L87()EFXr`40(`)#KY)v<{21D}>pG*ys ze_6h?Z2kBsd|WAwzT($D_>%#J`r>_je4!}@LlPF>&c-_mxTpbXyO?QUJIU1{V}U!v7S7$@Vhds zzNc;pDZj2-^qfFv*PlVi(Rg>MsUgcYEEcHlXs=d$CgA250%>_QK9@4Lr?|iNew#${ zIC-Drm+Q$pnbc$T;=o1k^Zgb!Bgm3o8zn|stuz=m!}f-SSLCu*?V?~HSz52;=^(Q- zoyRPiGQR{3g}ag@OP9p##*XE_#MOD+;HDp`z=U4sD&)QPP3MQ@xZPa&_9iOitPL8{ z>Xi>4?Vq)+XIk-I4|VFVg)uIX6dRo!k}^9;kNh00P10{u%W2^_QHrPGOhXYLcU>PA z&Kfz7d1m5YKa?A-Md50pB6xpWmio>vlBMmlA5TT}RR@}m3u71Q`rNZHYFPQD=FHvn zJgiL&^N#_QAf<(na~9*)n=H@9RExSkNn+K*$EN>-g+G)iFADJQ}!l&I;29ZJ{Mh zZ|CDg9L{4oVXxlI*w-9ds4bHiePBaBlx*p0Y~%g}p1GWDY=e%#K3tyE_n|3Or8 zACnG|nN}A>9m%5QV6&j(6FV*ZE^dm0ei-bs&xMX(eTk!rsM6Bnq(=F$gFo&b&5o?h zjCOw}{`tDaGeSeS>bzcTK-ukmx1_7$m`0J5;+c2`zBEH$)+Pg%T=w#Lq<8h`1*^hi zpD^1``(f#^F++LZJ6Eq9*sHnRE)>0`lQ`2JVy0iFM!dK6U$Dc;&$hpm!LA%p&WNNK z9IEDFu{+F+!0B6V9x8qllPfEYP#r-SX9lN**(pZ$=nH(E!h*WGiF{JfmX%#SfTk&mGs3i(#fZup!lPUB|xUw(#SaBU0O%yU4Ie2{Xm&BcIh`rc~RCAv|49+QL|P z%xzhVfXeSeD8-X#lwN@}rue4D2;f$@R@|#juGTrccAa;+J`9X}ebfz`xjv>SLt-Qy z9D```@KlFvy|X7Eu<%B+B*kJ-p6Bc)x0I-4!Zw#k%-mizA0}gye7rWy>6b8Ls5r_Y zb_6yjLN%6pR*%3zM!fLE%6gDvpZaj8K4VYNkerfwEr1V356G5t;>CK;K95L zI7F>2`bYk5q8hN3g6|6=M$ADTbThfK`%i>H+*-_B1G!vqEb z&nz))_o0Sf=Au=Y?aE)FV5P$|oq*?VHVJQ?=Xj<`9({x_Y9n1Jcj>LNO#{XOMWw<5 z+d79Ip)LM{(STKgb3vhV0W3#f4W6e$5pHA=g1w2lfvsqk-V=A?A&uJRqRoz_vB)k~ zs13u}aH+pwRH}%S7UD4>^x-+#V^qDzqehP#uyZ29;iqBBmR zICPcQ!`FF}AjNAs3rAU%G^V*w{z$OCMfdSyb0lMAx^dOyTr(!Z<;LL9X*@~ZMKyTF zC|HvHy~Qlr1%u)lV{3HU>+W;$MIYPOuij_GMiDdg$M>FBIz8({ZKzavA!<-Xe9{g$ z_1C4!s!FV6@Gz)Ztzon0N|Opv>*!rrEZH1-;K((M z!Gz*GQpou!9v&`i&TGE6l&zKsJyMWM%Rmj`7h8#fd9`X-h<4bmzAKB*D5COD&w?Xj z&R^6SV9Aq%V#n^6JGI#zuCgB1K>hYPU*Wvt3|M+@dFXGH7zlo($i7bNJ#=M?5uM8a zu~3YTUHVgX*Itl0Hs2DBfX2Zj4k}HU&MQ2t|N8(m&b$O?vMkwkDc^gglSMf)xT@#D zfDy10qSg<_xTVS@2D(cbR5Xh~)&0v)ktHjLjlG}Z$ za`|ecZeJvhA6&no_@Y+wqtF!IB$gowa19!C4j&;@PJF$4`YxIRr@gQ-5xXsS;wT!MBn>ZM82@}1U7;aFD;v`>BD>)08D;-%=*97@X zMXmU-?N$0gsEETS>XE5wSM!cz??8BQRYA#1^7&6SrU9s!z6E zv>4uDBim7Z>xkB)?na)3L5KN%2Ajd}g&A8H@!*Gr81*sAqshPfRs4*6!|3_-Ok&V- zFKdq$HC6t+*K2==j`tUVNKN!l)>rNC#JB_&q|2*`n+87+CZhk!Kyv&!^lQAnLkqe| zHeoR50%?0~?tKOBXx&)7!1L8UYvl6S^_hCZI=kB-PN=8Dm(e1s2dESdX98t=d*hQ+ z>jpHTcUK;7=jtz)ALw63nna+G&R32M&9{F)i!GFdMQ9f*ExB)|MIkIRr#o~yTW%Yz z`My8&bWl-pYm{EC=_q<~o>Zhx%={hd@by<#m;&5~S?89$>&zBA(fGollbwPl_0Vz) zn>cg*9ZLV?&1Pkeje>Bl^xBsd-}%Y|ZtMhO2IgfY2?esDIPQMVjh5;YMvUXgZ^#tD z2&=%YtYVwN(VUl9{-hZ_U4K1ck8Jnei{g%PnkMb4Uf8tQHmqdIIqIH3+k;u}cZ}q} zQuBYuNVIF%Q#PRfKV@h@jKq-DfE~gO;WRPgU^9jQ$_fyO15l~3vU5QIy&#ZL4fs8{ z04?7Co|>-%7tI0tdPvfHd4@8Uu(Q;?Jb8X;;@h{89?=|9R&HKaepTjDE`eyWcJ-E~ z&DY<SpT+D#>1xT(1j>xlcvH$`bPC$wV=wMiXGx$wdI1Rv@K&C$U z-wGAr1pU7AA3&+U{BlQXdg9*WTJK8p^)Wu)B{4B+GW;6QbY#oIu0(vVCB<5EYnj!^ zXBTmB)b_}KqqFmx>cCo$X<39%O<5x*B}sSW)H7N-NJ)OcsaqsM1?|Jb0x9d`k`z?t zrD?*SyZ#T%rQCn@@%*mGni7{_31p}LE`mUx|6lT%fqEt;Y;0VB%fbNQ9&iH+Iv}$H zpimfcgN*=D3&5p-0D2Zq07D_CB%shGNbJ0;!Y*e6Vk8gf`hfd=V|zn)<5Ra~WnFM8 zAvXA7+H6aI;uDI}WI=)$43(gQLwQIB4+Rb{!y!CkdJD)KozCAbacwf}IWz~oHW*iQS(O|}o zbv)Vd_xhRAZV+50sgi{r%n#BX0w#^~BhA+<7(a2uFJ7&!2I#bn7GjhwZoU|IGsu{H z#%0Rvz}WjL+jxwY>0Q*uR#2FcxbuR~FFARlrob>nK88%Sluskc*@$#4-^kpZ6!|q3 z?6QM8vz1yQ5B|LWqsYpH6X6j?ja2p#lrt|O8=Yc2Y1#{E-2C@3a-U?`^|=e^1P2+g z5-8~DiIl@4up5z>hTGi8a15Gc_TQ~gX!?R?N;*lCYQZSB2?kFwd17eGF?pB9R1ppc zp0%eE5M>6k-d@Q^3_9($s6QRx1Q@h{XZPQ z0>O}Herp>B@_9Owv6WA6u8?isc%C|xI+N(fD&&=RQ8HE0Ax%-%jJ(U&#t$Qpt-;GR z*DV$WYyG%;Nm?AIa~5SCyRll9XgF~sY?MV=Xr{5?7JqeSL6Qk1^hm01mVnDoTD?_P z*W3ro*YuIeTq6QdO^rkyXAEuk*C*7^VRV)S#QzNOzwg!o$}|fj(AwYS?^_L6TmXGD zkiKug&B_6|noKysTpTP0fC>cAUve9P**G~3*?@%g|I%eO=ugZm(@4rHFwQamTi+}O z`H`T8OF(aS00U*ZjIr?N!Tp2WB7^^#s9|B?^p+dA{NLs8ngC`t<}&zwja=-2tb_}~ z$qC{3muZ*-kbtoOKmv9^L2dL~9Qa>NU^SYUpI55_WYjW@(xWo+sx*=egH@_i)6A6< zU1AfLM zSv__-wV3<97^RDeY5U`DnnpQ-6^Uxn@EaeN#vo3~%{gM>*SiZsTWC2k8yj>sSO^+( zaoRcdmKg!@wgQ@$6klIsjtlWcAkiiCMJr6deLU~?Nq>H@thpX`Ws%JE5m@3U$tv_P&8xH(**-4dzA?T)?#BFrrIK_Xfv>K`mkSs9mXw$lwm7J6^aBcZ zMwMwYTC|na-D%;QMXb$IJ9#&Kdqq4E5_<=$gN`;R3^?X4l5BDW)7&9t!4D~dRc5B) zSvwo=Gnaad;rUF{0)!)e%6a&o@|co+E@&59^`nwYgz^vIrqt`D+`2{DV)<0U&TY$E zpu96(qH}B1tE*dGnov`#OpCPN5`b8bXv>zpsM-3VBes$Q=}OdG^+4>^u<>V{p>WSq zIfm2zNELHwF}1|!_n{?!eY`CliYfS{mC%>7REWes#W}wCa99gZ|bIc8l5zU zB(>OzSvkb2594UqhA`t0xsz>-cQA7v;OV}#Fb)fL#RL|^CqVnA>c$Ne54La;aunl2 zLq(3m6n}hO0H={dm?Hi;9s?Dc`ST=F>(Ewj&i0_ttV45IG?T2d!jLIZEGaqs=JQL^ z(KsdaSbIP7+sNd)Ce1RD!tK3j_~{=i8$$lLE)QrUgT_ZTyTb23M8iTN-WOqH`dFK4 z#*CNs)~z6m&Z;0*`-_;-j2I7xyu(IWsuZ`1wmU-jh=9O~^`T0Xf%M}y4&?Kta^){G zy8=^hP`YGb(_ca_9qqs6f~MJbkHNO?e{g??c>Z&q)cF#&OtyKVV|suzOwzq`Ww3#3 zG2Ceu8=B$PfUWh150x!AZ8A99YB+WOu1nMo-B6j6WnaE<=#ne1*9DQh#hf}Qc@t-< z;z#S&8yXegLeP_aUtv*GZosrRkUNKjR zaGExsIAZj;?&--hDF+u8_tRW;*=Y25|MgjC-n#?lCiencsi5+1JCBp%y=e44jFXp2 z0@rPe9++i6qC8E@1~K?=EcF2*3;cA_b1!jme4#|!_Ht79)6?mt#;8->B!(?5L&@jV|H`>89U~3=qfpgZZIRTouXOsm7QaaESQ~O1b8)hp07JYH;GFvnLjo+jT!yU1 z!1(@OQ+SU5HqX;A4vzem$DY1l)7g7c=$TXrIH??Y7Uj5gK7RuweEOhI{Q2Vip5B6d z=1A&aKtcU3e}6^B+z@UZlD4 zE9UNqN>idDhFLs5nXfQMe~^@m8dWNC8m-$a`0y&0c_!r z>|bn0)cj}25yz`NQWUsUNnGDkY};@7K=!U1*~eOqwz{+@Y)e8+Z@(b=Jrf^ShxqhqEZkri^&b(faYDr zE?we^(yG1jev=K(7~wI@FSgrK)SYY^oIF44XGYdpWfibOp>!v!ug=!-jg^3{wh*02 zj4UnB*1)8+SfP-k(N8+%xamDh*V%PRKB1){Dy<|z?4jB2DY*RPfooy4<)&{Io(#g>y~sjFD3CH)Sp)OZ$IPL-gzuEp>|*7B5- zwp_D!Ug_6QeeP$v_~T9gJ`S5;K2pKyVq+o;jhNSKmLyAI{z8NS>s1U!9G%Kc)=cUH zzB(XY15xdypsv0^35K45nh$P+gL}13wm!}9&*txO+@t;7Cq|@7pjhiT%b+Sc-X&Vhj=HTF$I|SREmt+7>Or}7xJhg`AXZeBtR!pfpViIJF%NSj6F9rIAkPh&tQoB!?Z)sPls(< zXE!FRxq#8l7}MeV&a8#PX+pWW)H{BeEMjw{=O>=QxMFAMm!F60VpW4?Yk7LCXIR2S z6{6k;yXEQ*m41Sq=d858x_7bLaUcuF-xvDgrrY^YU-1&iwajfs5e8Bdole(ol6=F^ ze%3mA54Ar-^UJ%r{Fy5JlPT+8*DSy5bw z#6W9M#?ij4!qHFrgyi@eL2Yd~j4dJ9Nq>YkTBfZmd(Q`y(!1E;w98Oo$tnJ6RXwju zFRxo;ZzJV~)_^%RbwHJoR)I(qZD1I$sTPR0Yt- z6w?AO6IOi(*-zJ1vIFfJMUpbr{B;r{)ICP6L z%iIasz3@%-_b8N9?>(071s(Kz>JO7tBV~nE4z0OdNyT|nlm`b%E(K|{Tj8A}2;!iv zv<=+b7Sx%VIOagxc-y?-mj}1QrJS?VNwcF8ZyFm*c@;{_N5`3U)i3~vW)enpsmpkO zszfB&9X@-Ya-an~eFP*J*2FHB_M3t)YDNegIsSXkeq3aRN+0-d9y|<9&%CA*OB>JzKjg#mE2U)EVy+4+W(sV}jBcW6$~ZohYxw`}j5U zRBygshCP3pu5x^{Jmtk`Xww)_eI!oM#!;r1s*vdzD-&F}p{c_g-#$kso}fJ#Vr(%V zKkO{J_+B#yx{Fsn9nfkYesujAGychH>95?j-}QRAOxWds7{~AOcVmVTvoR+ZJMfif z1sei<3L_&3FdG0F8*_3)4B6ONArKA|U>OAh#tdiW;eV0%Rw_dr$`rL!zxfhb2ub(m zS!}#l9dJ(UgM6<)s$cqacfy5^M;Q{10s2mI645BRy#3?X){$cj<(K>+8rXXy_1KRG z&Qsrf?W_{EC8D|Lh1xk$wJ`P=OKD3{>Au{E&+C-rc2U4GWGJb|>TVxgQ{jI^SYc_r zbz;j%xAT>}7aJ$@b1QF#{osIZ+eLw(QnRAs=Mj>aVp3()Qt9gtT}n5>V22)8reD(r zEilZN^h3`E?#NnpUk&}mb?!&EkrK;MrF?xx zv}|b0ib<{Jzb{9%oNHRW^n)69F2tkv{UO4B`7xom0a`t4Xdzv*1g$ItGIY4`@dhoA zbzb}+Lx!RTX|H;+NLuDXOvR-XZD`Yuk2vtqHwvV}b-|vB>}vfiMNdSGpvPI;5A){{ z{{yrqm&V{g8GKInge;JsBh-(jSV2iCSY!34q$oB2E_FeqW*wX_4IX# zP8)?s=}V098*kJ*WoKbwscC3HO^%VzEA=BVRh=Dk#11c3meQssC{&j&?0OH!s8(w~ zKMwUVeXDFMH~JlYL0E45hcPgo=vxFxzJ=?X%KC1{RbIX(TJ8F?U+srU%U5&ZWykOw z0UPBCQ5z8fX6PPAXpg+VF)f?MLOZ{2)}L8FcyB`HKd^8EjWz}%IP3sb6aoey6`Vl$ z!@$Uh0~jK}zzc844FPB?fQb9wA>@Bz;Z`rKU})c7!Z@a2yA)SQGIu61PJM#O$^J^t z8N4|R)5qWEBdx%+)08^SK5BIdtHOzIMAh4intN_#^XTK)aqy(j4ik(o=X3q`e$^8y z2bxd#Plxyi10dvohKn?$>THdHH{*BtySD?(3=n&aftLWx3Ltt|O*ptXKrFyJ0>E!s z0h*{x1VQ2bs+_3oYUycrfxl%x^{Xp!tz>W3;ve<#tD{<;R9%L5b>C{qu zD3CPC|D7Ne^4Fb(-=U=g%$MD}K(l|BziT=dGk`CFuyC4iaofigTOlC33!>Uyod}gh0Upn-K?JdQscp$+B#?GJI5@BNq!#mZaY$;ys)xg2F&D z%8ocW72LgbSJ*BA7x7&r1c$sO_o<_c8mpwcxJi_WM%19M6-!L)F2*f$vL0~Uz0^9( z72kfShxkp!jif_@jQf9O={nE~+~#ik9JIAKA{4$S_C$nQZ8i+})9wDjxnam(3An%O z39W+)Z;4HI%Sq%Yh41gRq;$q_hVwN1NU@jITHn0&uL1Hob3+9^D1n5^R zAXX(wpzjUSjg1@XGrrTm$Xgt{_~NTO-DjG(mYyC}6f^S~7leDKmwp@1U6r zX`nVEbD4C=ed{Jqdmu7OGsYk_Di_eQi#xp}vw}6Hfb61Oc2fM)k^?xs>YuEl9j6|b zGIH8t(K@k`aG(h~#@ohCbFyxIQEEtrEG@(481^!eWZ1`ju;5`kJnp&R`o|bavaK097y$ZUDMJH}`+XK>lC4z2c8zue`-eX)~=)3tx~JdV7F|z`2Gy`rnb}j=hunCI+;AaLlFd;zChp-y} zV-4_4HUt|3khIanRe2mC-2S#*+P+eJ^42;e_<1|B&i%kw+2}w0o5v(4J9NpezJf|Nt3H2*AbO<=g zsVYUKa)>l(i~F1TRq^gPw6t2nD#TozGr?x@nW&3EB4Wg<&JdGAf|S1yJ@E(^s=Rvp z!Bf03*qJDrh_aH*gd6sYh2_b>a%IM`m%#n$pw8Vw$^2@iZEASw=xF@cmF42Oul^dg zj{{mf=IzOs<>Pj5pF&bGXy85I`bStZQq47YFiljY@R0_50@p{a+s$v^Sku zmS$pO_@xRvM`l29L!3j!aP>qP9F7OLdQzcPn0k!^D!~g3iSdRn6&uM7jpbB9jWyD{ zyPu{6vW-AqOM>D%v;oHA#iHu5!br;3KcfPt+2-;UxmbVdeb>XPgUUM!A^UU#JtKIObT;EYHsq?Diz(8{J@flR_3Kach$U za&=Vg;XVFUeoq|P_@NkRp8&fS{?Vb=2eed3W z{^I;vG--wEm)-h@%{he|SIDd5#=CVhBMMfUEU4T*g)2G+OWG7OZnhS?ObOh7l6}&8IPV%a5lY;p=wR*L8;-DBnNB z#XmUuVE8|oiszcWP5;5%45(*d$i>BO0^ww52dIkd93X%TXaW!djQ~CHe<|O`Q{Xwsc)`_hX6gx8=hD-1 z9ou1`s^n--{xtm`%nuCzy6yM7o+l@P#(ywn2kNl_@o;WnlFkYOD3aVE4S0b9MoBF`@{sb(xUzTl*`Tb;HCpPRB=R?^15bKOf@XZ5+~(Ui#142<)XBm~fgv zfV~J7E*22W@5CwKNRc7%9bo6?0CWiK+^pRHSId$GdI9SKX|==P`oogkwEQ;or(~ZC zT45nKF&p&mB!mc$i099l+C%o>Ec4XGA4r8Z390p_HGxyvq=y(ZWNoq*D?aB1*M^~ z+$zpliE8nc;p#w~S{&;bwJL``i@xDo*5qKE*PD1RI2e!!1vXk&N?%I(?9i{QAAqK( zL9aAEvM^}XSKz)Jy-0uOHFhvvG@e%kO8JR* z-%P+iE>jLoW%y<~RTeQSwX_Pv3n!5xYxYco7weABd?G4{SIH(;4~*FO1w{^}i?)zn z**3HnQu|3%k6mDiLnzB?79srGYSn{60<8W4L{w2+dlKe1%DKS@Vf_ZMjbE>*_?*x~(mKRuIL# z*1J%|Ix|bNC{HHMtI(j`@!qViQ4h}W!g0;z)TL!H87;XR{X<_noS%VdL>QhmoGTC2 z3;x%sTI5@TH~L&JvSaauNS3m@-u9YNxY_)3-DuWW3W7+x)P9gD_zSu-MV z&SP?)!DquDu36eZXhbcfNPDr^$^5+hgm{}m+T_p>piqv?6Gfa}1zXIiz|DrXl!L+c zdGt~$0(ghu8ZTDKog(-diJzqGVtUkQvr|MCve#DyDvGdMw%`{&&7JRHq{H$nhZksV zCyxi#)S0Lw^0+DR#*yzPr{0>jE$4#cgUa^cRq6M{HHQ7+>m*jJ3H(3x$MN2BG_KVz z!mTW1jTU&2q!SnaxU>_os47qyn~UyQZ=cgeHPtce1@()U)n1RrQxtr6xox;TPQKkou-uR0 zt_$EK#dzR(CPF|sw618UAWmgFrZC?+84GcAN!lA-pMA8I$-BLEB$r+l7xVTmcKwmG z4ha6Le;8uDK$weKp2wD|GA+1Vw}Ybttr0K`@Cf7TMu|2F8Vt@bo0br~K-{^h=(P%K^@a+fhg!b+XW?D<cA}V^ENS1_?wB^AUI8}7BQ`Zov zNI3HN;WBt*+njz=WyTXzY(JXr6B>r9UsgTLQPZrjRTMQ=iFq}>p4Pu8cj*_gJ7d6& zEk`kxzh$o<)$mg1K-TkZBc-96q6(L8P(owhT(5a~i?S zOa`3HIq8CTm~6g)`gLF^w&voNYI8-^Emh*N&qM z*9I*2TJCn^^d7o6_pD&ehR+EeSuwgOZWcNU((+%CSr> zh-{l8?5E7&T-|( z1ruyd>>YvrxW^#vVRC8Z3xgQ@qjyRtQ}?Y>*2TWxG*zJJFkBid(h)xT?@M)zA zzO8*Aow6~I@!AN-L!yzGv!^*N7|LHQPjOxSZ4ol9_H7^inb#REi+ zzqT+-fA`0<9zycZ&zYqoKivaguwK#&B;A^nyEqr53Fk*ZXMgVKXqkKn4Xhb1>>SoSQXC@2hcShTjm# zR(EWC{rp&OK{tddG*n}vxedXaD7dzP&zzoZPD$q#-zyQHs#>de%_29_u9}H*Ibn>$ zrgFW7Pj1T928%1j3vswe0-xi%L})NbhJq?wFA`{o%C5>hU6(|jKh;SXi%ewF9>2Ap zDd?yTia+nM-T5>BfW{5DE<0WT5iUZdg^H3o@NNXTnI`}QcP8!As&=Q27fhFZJS)m zS^A8V%*fulHw2$vVZl2fBc8dy93kYYsfE#bQNyo^PQ2Lj`e5E$Yi<#Gi8+>Fu(V&t z@uG`XUA4E!arYdjMOf||@nFj?FKeok(%DFLSG8$qQ<1r6V4=~RNo4xkTD$5=<6|@L zu1+sjwRy^F^D7blu&BX^XygWhMQqMDnMOtLz0b7G&8lx6h|VWj9kWmsYeb2Y4=UAs1Q6t`tb4U6ww$bEzRik z?mNgxvf+s)Umu?7EL3$c>Qt0Yzcx#PXd#XwtHY144s|4pji0tHXM}D|sC#>Vy*cF) z?{7R-LRq+*y8tIoL|7c$RTiAsPOv%bhJx86P$CL$wjkaI4(9u*U>Z(>q`8k@nkF+OU!E1mc(z$b>C&|~^^B6eg+1vTzf#ZQ@3ixEFbCMU znM>OQ73#yF-I3L)3#)@Zv6ChpjG|HW%0aTdsc;!~9#RG|DYVfYzEK`I>TQM7jl>XP z=9zPS^`%7HWEq@=COjLa3CY))7XuWCLjFaKECj@{fguj#8*L%dL!$ith(~M0ZZGW6 z8O%ds7|Gp+EMRp~u(P_hsLpXWyV(p~K0cArz6p(Wc8)W*j?{(H?3I`gMRYpPT&hlO zj1D!6_(({yj1h>*JJ97w0ykmCF!S;Ua__;CCwzY4w~DC|Ohn{NGZ3s-f=xP$gt(i( z`a97iHFgL#NwHQx2BJ%viM$7z@K)}quH%8{*?f^;hn+X-bcEF$3Wi&f?O2qCQ2&liW&j(eDFx%Nj8kAlh!^)j!Rxk7iC!sWYEa8>=1>}v3^MY zecTH@l*P!e!10-`kvsc=7WZ&4|MC4>+cXM=@|0=vCG(4(D9Wjq*!M~{@R8JbosGM{ z8a)x>#_147I>!iG5DeKRY_P)RF`%PhdQCm9dTKnZZtCUZ-8WZ|xd}G8IJ!fB2E^LO zy#0EhFc!(%m=ouQBmaQ_2?pWvNL`7ll;n1uL=R)suG!>I6^y@9+oO%w@d<--dqs@X~Y*UjAbB2Tv(t{E4dF2<-m6a0#nLQ3Ok zfh4hW{&LC0l^Uc0qz>V2!J3@;exE#=4dUx`*@u*1+Z5&3vp-~F)p$r0(MXoY$CMK) zw%tIGK~uyYA6}8U5X!CJU#BR!dj!kmC6g!Plk?c&GLh{pEJBD2nz-H{{-Ur_^g4$g zgwC!+wx0WS;?x%_%!2YOzdvNonq_xDCtzbp!jE_2mOZwBZLT-8x*K1REL{h#FE#uH zdEqI6vtRF`_R|<2|5ymiS&ndaLFfjX`#`Q7{`8GuyT8N)CyPax2!)l);z%n0PY=t{ zmC4g-ra*<41oF|EpzEAC-rQvoUg70D<~`H^0?Y%(j8G$T&H*ODa$82yAyl)MlCkt- zSHx2Rx>Dj{dzo=#q{BOz+`pPmU1J9h%g)Qn?K`;m3MkjFJlV=~)^5Q%*yu#f92B%F z4yn`j6k2K3K98YR7#wrMXC(|sfm!3Jd4fmsXLre(WBIF8jL2J!PR3mHB?AJyC_Poh z(`E68(3RzZz2Uq2IB^M~9_m2@y6R2JT#vxT8;&ukC+(VbCVhk|CvJ>hG8U?n=BAprle@Dpp@v2$o*Y@VG6mwW)jHM}ck;`uAhe0H$q*gEU@3ZpFJ6f&<1 z5mqAl)1xxZmSh*XB1p| z*~UA@{baWBu0G<}*=rxkJ+k1(e8f`e!ag~lceoap_c8Z(Usa$wfGH%aq`QWpqJ}m$ zmbg+czkT|DID5w+Nw}>|yKK9v%eLKR+qP}nwr$&8?y_xmmu(wgKHto|=fp(JiFqd@ z){n%>$h~qW_TKk>EyL?qT|2z`lGEDP#D&uAZ=;5h9eR^pQykn{C9^YPrnN1P^Y<&O z`xAW=a^>PW=FC*FA~%|95%1^-UH9T}Rod5eR~7%Yl0GsUIfLBru7sS@;qv(C$>(tz z9`{Lh_%cI}xWwO|J~)~n8sD{{lHN?|UCwfZgbK{M!2HsKH|J~T1t(aXI8y!3PFUVg z5^oB&wa3ro95?0fpF0zphJx?LC%@G#5!z>%GF0h&A)d$<<`*Jv%qAp~Obfo%avm>1 zJ)@1fhQqG<;0jZL3y1*z=nkWo`FHPGos z7HqcmYN7U*Qu>7FOB`qidUG#ITh2f#SP6)1y;4o!JPlw<0-K;mH#I|ru^U)()0ZMvNyw6NbiMOlB@*)WAWD7#J1S@>~aLYoi5Rep7}h+=~P)ym@pj z5dt~1t2{PLautiJ@B&rYYoMYfZJ^>-uA<^BeHkS2~ljwZb?uII>)rqID3BBNjL5w7Jl z4Qf#I{=(N+587c%m5RoUZsst3!Ru$$)InX&>g?=p?rla54da`#_zX7jd^dKVm1l^O zpIIAt{J<`QDFY*BZGwG4JjE=p;NyXwC8fo6dXd0n?**&d=()DuJ~*CjkX9bR3cp59 zWP_=t*V{>8>m9%z!Fk&#)p(TX8jH_i+pET^a(%++P#K*agrm{*0YNW$tkA71yw}i2 zQ0_oC6r6ZjRG(s|a`>3GA$TDza4^M);}V@1NcFsPkhX85cS!+OVPJm}{8jGsLvr2y zku=HCQ}hXaqK)|uQfH%LFQ&L*UKc;&9_nnkt6qrw9@hGVh%Q z$=j?pcqW!HvN=Hli{@K(zfMmdp0!yZ2)+`>uv3QyrWMbl+|H#~ga!e$4}^Yz&YgdVvCn*9&IGcyYNt+5@9Au{}q?iY%JmDI4u$ZDctvNfno+w;mRFYr~R2^-mv(mCqnNbwp$ z^gNupmNmSQ?YGRvfWNL8&i5%v>~4ZT%G{_pk0!9rrX_z$KL1`>)1^>U%YRv@DD|hL z3!4zzJfK@y;P$qePdY92rfQbLD8H5_HS9N>tTN5qoR@(pyfivops8lraYBykQ+|L} zy_CZX^~-kl;smRa=0oXvB8xG>&3lMACn3JU?<0gZhgCr2)*)gUboscWp?FS75jK>#z=rFJ zf%^(tiE%6FNrv9h?bJeYfPI>%ES~@lmWVN5qDz=F4B9~wC^`_Rq+BEzB;F#sPsnzT+ZXB+z|F}n>ZytDD$NX z&5&IOsq)7iayuhu(a5-*0_q|F15fU%>-@jy9{OoqUnE`rtjqJ;N>VS%J;1R{ z#COHZ*laefC_dE_r(K(F%k#7RlGx%8K$xM``blJVRn=|e{MG(y5#asTK!Yc9D=!PP3%}Fl3J3}1Qf1vD6YxdMm;*+P3FOIjzUuq#C`}Q6wRC%&x3pN&_ z@Ry&AF6WoYuY-mo@`lE}(70-jS{C&LPMxeyl^kIh?@Y(05w0fQhcBAxjD!;pwz9tnEl9|OR=O@Uu^1JbEV>eE0NzZKYX!^rSYRfMA53L(%jgcJRD1h7sfF$98SkV z;VVZ|xZ_*Qf7K~I{p>wHQ;}_~@nWmKdE%ENv*a6)f?doOT3n|0#qa4xPN{8Q`VCy7 z`)TxcG|%R7>jN6`#yokSEq=6f_ySLSkAv~S5#Nc9`QncixN0L*lT=Z^;WD?4YSaPgJVH@TJktZnITVK+sW2m8pdn zy2~lpbpC@|*@4scTxEVOej)XA1Lncc}I!PUrXz}t(w*Z zaOF|3YdFglHDF1D80XTarcmjyIm%-|7r*)P5e|)QRwjlNd@kW-sFE|{6>bpH&ko4T z#w~h117~`ZI|wpTH`;yWSKR+>Vf{MJ!RFqiPHt-EGdV~e1lg)Q%sHljb@5O?yQgoG zm-8h29e#3RH};5^8DAU)+u2*%q!r#fddiqyvSt8 z-@#Pvh7K%RsAM|7W2$n+7LD3-)@Re&;F6rmk5Mf?iB#2D`#H0&ujpn=x3#2N$&a}E zAb&*SDV6M-rnGaPPU5vLD0O!-yIsn!AC2`Q3<7)$l)G_;!)LY<85MT)2PIuWS*$W9 zx_!Cpu}BD;7z})4gdTEVxY5l2k@R{j+4!PPVRj6=U5Xg&XEiVch?zR%yd%Vfm_pS1 zFTC{9!)lm3w_I6eX~*`=;<1ZTN{e@C_%JXP7<6n zQ)(&C5}hR)=l%ooG@8P!)&a>5Do~q;58R=9=?|9S#flUqhf2HLswE{y+_1Ev{x}?+ zXH61bn6T&o>swE*p4?O1nY~AWWOua2iCKT*Dk2vX`hr&J-BshU`+2sS7ddp!qs2`@ z4YF9fSx1V8E}W8eQwA~6NX{fbwvdBZYK4M3X<<~f9}h9~v4d%f&Q-$A_NsyAay$q) z1TXP}2W)=;4{DHF%?InBD1CR4c+mt$*xQU~#jN{M>3pdk5hTk6SvJfZQpBU&R&?+k zk@Nd|>5o?e}an z4oGc$mr3CFyvwdK;HMG4Z#LlJ*9SC)pA_`Nhr45_27gU=O7Mq<(A0Pv&kE8kDeI-- z(KPAtZYQ>qC2aOr$mjn<3Y{%_JmtJyrv8i@lh3# z9yZ9^L1n_q>qesStUuMn9`ORf!PyH0cIBgN$1B6gOR3g)zc!i<1I*)cL<1@17nY&m zb^Y`UOh|)OG0n;4wy_O(zh-qJI+!uti0a&Xb&H>iYE4WPp~tzgGPq!!Rm}+}buu;7 z!sLdEAS2$T2D)^-l?kgP14O^egQ02$zUdgFBr4zvs{!E3<0zx#GkAZE8RAJy;*kJ2 zCxf{PxZ#mQDNY!E8D%y#RMB9v6%sG4qL?a@NI1zdp%+$BO%-8;DjX)_&$SwupuM>| z7*>W;n`&yPJmC)No9>Y2X~1i#)*O5+tRnLfJ=KO^N`&{VgB|zI2z3?+1Hg;}WY~$|cVn@O86xdN9H`{~(4U?Tl<&Wd zs~l~9cC={EfFfe`@B{0;`>68eG_qkqWf5?Ofz zK?hiactK)mtPYKOXh)}yM{+oI-%PT(o!>hKJTa-?&8haA2ig=SJ6w>=A1Sbk)!&@s z5>b9WLJ+IZ%AS zTmC7u?oU42Vwd=(G)jibNbBq|;^nY!>Lt9avD}l8C_cL7AN}!hU2|PuRoIZ8&fg-) zQJzo8r^WppcB8;gnHqYwhP{CDhRK%GJR!LPu26Nh#QR3ukGG1jC}V%ES##sNVwhKZ|(1|7vVBE zs*&rAa`OmIx3j#$%;B#FNrHiG?3U*7%3QO>1QHk~pKQ;2=RuQ%wgQO)nKbm-M-k%!$7PzZ8?xPnXdl?S{+^jsn2uA2>-YTql9|H#+eZD%WBMd`M zJthh#GwNbY(C*$q#3PJnC?$B*P`53#GMeIrMk}|ObtBjOQMYMGpV?9|c3Z5MsN~}& zg}W<<&4cwpNM|s5#YPqHCI2jaz{pXSpqSjAnnNNgxN+Lui6gb);(go|w{4F=Rv+B9 zz8+$8duXJYkMS|-2~yx~@hE2SM7F(*c~*cP#SUWSILNCAV5TfG+7oEWaE@WI`qoO` zLBK&E5$Idi$cbU7XBqNNGWbYWlbmUr!UI-i*P-5nCdj-x^iz7~D}7i6vpl!+d2;#{ z+UcMNR?<`$oGC)`+5Q|4L}0==_#(J`K01CYVv$*h1VAQ&1IHCpT`w6Du_)CdsSuTvyC~qAcb6TD#wXu{j@@LSE@%QbboUG@GOYNQZ(R|$m z-gC*b8o7B>GI~*ce|Rr3R1|A#O59jle90l^zDJ>M{@s?yE@~3)u#2GdkA@s>Wh6JT z!}p@X6V{sIU4~5*B_{*ikr>|7)~fIlIg^d4c)9=6fQ4mh7wPx-ub5;vKlp4?nbF!a z>0go&zm?=QNT~hmFbL{Y_33I}{TYF(V*jOv`R@q9xc*JD`%j)l8UAz#K&Adq{3kUG z7Xv{4#LUhLU<{dX0BA$T>_z|~DVrG^8z&Pd7niXK7ZV#709El{YN%F&|D}eiUHU(3 zp^&AdqOh%|lZscr=r&38-V0>dG!0Q00^xphQ2(nk{~evszw5~V$-Bf$FCPF@<)8RZ zl`&*s{Kw0|%xDBCg%N;l!DPf~!UW(!aB>)NnsTzRZ~&k|Y^;E`r2m6<(ZXu-k5@rK zN|H`atw~A2YoqgZyspRGd4(r?<;&!`^|)CpZ+h#_WxR&s9h1*m=i5(yHu`Zh|B2(b zg#`q)N2^1lkeH;TU}I{JpOlrRm7JfTm13iwrUQK&dQB(EqBd(Eq(i-1y&>%Kzj^f&h3cAV5I>#DA)*34@Ut zGYh8~CnF=f2|%gL#?H#jVhZra83URWvjXm7X9h5rm;f{GA6xpOz(2Nh8+9RGLWG2Tgv zxN}faICLW8U|8|a_xjl+iN~{EZ~|om?BbE8#%`bUigqttIAFzv`8+7GXdqJ9Q+A&` ze71~$kH*Dy^rL|$0V`x_BlI8tOuT=?+9DeaBu&t1XHl`QWnO>dTdUa}YAt_7A+LK!90c zTF}FdUV33ICsv5y3;d*z8EVbJ!eLM-?%J&$ykD@5PO+Eu#Mg^l*0h<*yQ^gL%`I zQE*9?j$V_RoH`z{r!kVUG`rgX(q&TEHATcPEv?Hh zJGQo|zSKn0(3iMj~-rve8g4P55Hqiz25!yuTj8;3*t8rVhg*RG$e|( zx%G^{!UrK3$S#Ezl0?D9%O@d1z%|P801cJ;y~P(xrYr=fzr7Frkvcq-!q2hU-JZQyI&;MCu5OyObi+tbLj?PS0h0q{^J`#4M@tmL;6)Elf`` z`GnB#jG2MlpN75+m&8OpJ32l(5|hfoh|w0lsLu%?qBRyrhE(kdgrdyZzw9-)o2jH|7Y?BEq*GJe2e zDfINz5}v@;(Nv|CJmK{#6Gr%N>FrUxTsdZCWw0KekCTPnSI8+Hn^07{`G(>$)%N`4 zU$j~pHsc&Eecp2k6O;=WnubPY)-m4Bv3c?qVU>y-C5;M_izOvoSKqJOofE&TiRS`w z9NXV{Eat6@Fb-59p|+htK|$6{?&SX71%A7-zSf5cfy2YY@1dcgy*-QpdO@^W-wHNc zf09b?;{E__{}K-W`?D$?b@tN}=apg*?h5=bIm3;S&#WFXvOWX2inVpFqc9x=!YtLIHJI=swupm&fZ1^r}+!SHlKQsmG8#Ru?xOGJy zdlL+*4-vM&5WZ!@NYU^Q68BpVl$1+|Hsh)hS~d$6)~Q4YxE#QB^}v4K8dI&0V!woM zlie@C(MM;W1aE$_mZ#4ga(Ksbs!rE>tK3UMf-9R|H;rW#UKRR|;!*ee>4x4a9=y=k z_RyZ^YiA@oW&-1mQurKaf?(vB97p`+iM!PJwstb`(|HE;;5!LyQy!hT-Aq1(*K zo?APuB~%kL%8(2J7mO_QBY!;?*Tme^yA~!A@O{%(mlg_Ga_!hZkVj1u-5NUh8`bSA z7Q000x;9a)xBC_GDVtKQYN*YZ7j(>IYgqBj3a&OJv7*1652{Pf(n!d~TW zwH#_==cKmq(o|M4rz$_UG!{hBfrD)yKHg{Gp}`^sn3z^L^%j}crhPrb`?!GKYhXgy z7{4t|OfSbv^nRiLkVLO{wtKJg)8u=@3%B+{5K~8lGrex6llL#O$~V45+sIaIDKF|deA_8<_F^= z>TEB1@8EiX)XNn>K)lQtKvjdY1JPzrWWGAxBOEchWQ5bXu9(L!A8T1$#dCGoFvFl( zYMYr6PetK4Tqa!_xi-Od87lg58tc2z1A7=ORgy}H=Z(qSZgtf$mdl6MvItSE24bny z+P!3|JLWJ||I&hhJ5yJ;M!R`jOgnxt!Gsbss=1yDt274hlL1YQ<>*`^Qw_YeM_nXm z;k-zyjXZc?CW)f%tJu{?MEt$-Xtrz)NV1sL8QQ0RstLZhH<=snhb{@`NHDGCuM69r znEq&yu+sufWdI)`U$CwZKefGHr?E$yM6LcY2A$d)EJ~c`8pf`!;`PAS6T3!?BjWWi zrRL?Ug)dU=DdDm)SyFqoR&C@v)Pe96O&`iXAkg4c#U*I9+cf*P#sJqwVLsB6jEz;p zDY~Vlh21;u4(>O9CHDlZX~_ll2QRpo8Qmv7s2-A>j?9I~0zo00XhBRo{g8=P%8sS5 zf;4uVD*}<>LJ{br$*jd@#!(t&Wbjt0!GO~z>#>Icd_`^PbSYCC^>tkf*h^w~FLGST zg42Ns;u!$)G@OSw|44ce0A%a18HV(+J5D8w-A?va6`)oZI4r`Nq5D2Sc?6913&A!# zn%+{)vI5XI&jc@`yiI##`|&A4|iGA^ookxc*Z#wPob2CptK@IIx{z>fu()lmf5 zY@WuDMrJ!Sy*u~>$-mf~um@D3he_Pe`FKkL#7cp3PvcFsju!mu@Ps-aWnzdT{v%@H z=3f^qe|kn_Z=zYnBumkXG*y5C%6F-sSD=0ixAiafeia=`JRgqZ2kN8V%}+11>#&%0 zm+bRN`u@P056GRbw000Dxyta*D^mHYaZk;~6pq_gW~KGfs>b%^**6!&3w4H?iXk!; z3)*NeNPyNtF*7i;o4GYjLWRFnCn?~!?n5a!b`K9hEB*Ci8Y8pyg|G31+A2lnYadDO zy@TW~r@ynzJi{oEjHx#?BPsiv$Hwwbgyl`yNGQlMIaPE5QqH=X5Ci->Dk7p- zHZF6OX+2ifl;Wtq7v~Sgkj-;$ls;N#hEx{%+4WJh|8q3t1gLypBTjCLviW^FmpUKY zrEA5frY+~JK7Rt2_e-5!_q^2dVMh3!f3`Y21QL+s@lbIg)L?@Xq@i-dxV_h3T%Ko4 zymv`0nW@rmsn{v^(H)MZT@CNuNw+j5axmv^<#3AxW53>E{ky{R!UZVUQ~4}fm50}6 zq0-|Y?3G6gg?eq4$uTJn=WM+%(EU7GI2_Agl%;;I$YEsLm?o!&tmeI{$(VBaQ&;mZ ze>d>+4g<-`VVkc|0_qLVkJV(aluJ z#~fz^Nw|T{y_WqVldpF;RYku@EWwsgbDNw+!=GPAyn8R0xkUk1cn2JtZdCIR=TB`AjR|&Uo}gGm9K*P z=hz`_7Ds2UFJbiA$A36K7DRTt7rUyNZfAU^l@*$6{?W<+N@3j2?wGr9w}&8(cmfb7VWefUWiO_{g|QEFua|Shn^|8_~kIqTmL)a zmGY?v!4MeGg>?bN3G+=mS^PeAAWO2xiL&?}U7e35aZKl{3jM=Fh!A;Gczh-`i)!Tf-?$!vG1C(s_|YN`rer9b_@Kf|TUxS{`R2L^K8R+j zXz~UC4}%);2Xk)V_PO}n*oKewV=FOjQaP>Ci84Sa8VT8SIo#1Y$Zmruf6r|@0t*jd z{za$WnzlOjn+zX&2A?8d=|Pj87Yl$63w*yIGt)Ynt69ro@MWaUTyZuoXhVrF(Csew zaxA+r2cBn80!Qb%@h@i!qe~U8Nj{VZ*dSyTA5leD?n zNQ`w@ry)Q45&HA!vAU%{#bp)PQUl(S&-KD7r!oQxL|bz~pt>Y~p3j~pA=~0x@?ZZg zb)(fvsps6UBT94#s^8ltkOgAkl@?#ZNhgl=o7&eCAN{elDfIpK^%=`2^GKIBblt41 zI})D}*v&Dz@*?8T&$~k*dxD2#GLOr`V4!v{Y}#z8rlI5$S&t54#{qOfXK9U7Gizva zOb5?{tZ&AB*LZv&AYokI`@iIiucuB$&JqVjP#2TfJ5ld4e*NkjzzL+H3yq2y-9oTi z!r;)@O|`IOi$b#yje=^3cfJ8{19A2tJCIa;;ufrV>1izYha8G)4YU(QuV@cjuB*bh zO&_$f{qN6)I9{R%i%TV&{xJ>AUUZ0ARYX5!__UR?9yY8;<+bm$9Hyi{ES$CX)3PL9 zfVm!O8O?nm+SH#(@MwZB@^ChANyYMWh}3!PL=XTxT!dK#F_Jh*MAysj-CSp#J~(ujY|lg)6eM(`VqHV@=9 zE`a`=DYPzMa+3!i?d4AejNU}u4ga;#MT^NM9*o5Mu7C68@NoJ^W1=9Dw(r4Omq>rD z$AwIBYwU>dacyht~+6AglNB*`njcr5M+Pej3w zT9+O%7h3NRP3DaB%*3hP=?-3uHze2etomN^4kGZ zEQC5sk1Ot6f`nLDNmKH=?mqPb&5@^}{=Y5Q{~ZeQ&w@ReMjjFtu<7+r{HFywCj*zM z82}Fn;81V^b`n`xO#mzkb~APWqY|I!o+FD%mknX#VSw6Z8E}LaOn#cP$q!y z2{>K6%-0vvj$=@3ht=3LQNCT5noz7?UKL`R;wl{^u%N6!@6=fI;MH$U-FQPX7N?k< zX}|gReE#`dzl>XX%w&_6aI{QY-_wTOppFuLn=ZMnf*p~ibD7Z_p%TL{g*n<@WfqLB zT#4x6a0%t#-`8fROd%M6(=YO8ThNTRUpF;M(r$@0u1KX>vc_^Y_rR)&^0E; z$&fnBBjv2AMM*-kcY@J;_cUR|SZ{q*EMO*fp$fYq1LM0gdTs^tzSB2ahxErM;5sQE zJPoX~s!Bvyz`*w`0m!J|4?f{$XDh=0lEK#03iMkU~WJj2a^ex5deR0#Kp?WWoXR7%x(yvmvI1m(*M|n znHd38WH$Eyr?UXujvQasx{HrnlWmm2dKw0uH$4JJ`2PtrDz3c~b533M{tmnB{V`G9 zO2IPt4$+hZz}ft`|Eh{`dx&}&Df8X*B$Q#-+)HKzdLH0r{a0!J8>Vs7fA`D(ljlyS zF!g^?8bBT+pcf^(Au|gjfZlBc;J5<7ser=(z;>Ilu_+^fWCWmi1GqE)FUKSobR7g{ z9X8qnIlZBy7d)%`pOv|=NH7yLPR>|-8`So!>YBfw?bp7#3cIbmnOVB+32CV4&Dxo+ z>!U2h>m%%KHrjF_2TYR5_@F_7;86dEFB%Q-J_Cr}|M#=T^xysT|IC^zG}Rn6z;pZ) z0)Y5G%o;$Rp(!h?u^E#wm$9K4BNHPR2MeG|tN_|MI|mn|87qL637}>g|F6<;{MP}} ze<8rl8oWmq&zyay2b7iBEv3r4xM$dGcUYK!Kthuyf|iWJY`$uh&of(Vc=vj3@85Z2 zuw6%4qJS{R@T&eb4gMRzH`9Ojj{lQ)VlV%#4jAJ<@t?-Z!2n?Q0o>s%%$5P5<}bD=ZU4el={s8w-g4G+0gsVKC7cDwuMok30et3QZczC#68$06jc-is8j-zDV3;4LcvKe zfGnU<5r^oNQYR7v1DBEz%6g?!dyHOpJtMYj(qw)#uvq7_yk9(fx?eQdxk+?XJ2?p~ zF0%y?G zlY7Ei_$0s;CIG~uO;lA=0!@!32c+4$j~#Pvu3t@el$(IaH4pT#Kus$2`!aCjcWCQ@ z@F!jb8lQhv^p`S-oMokiay+exP)y;_Pst8p zU@5RFV&o#f*HOw*~iGLU~2xd_$YzL zOeujhkPRidztkRrQVkK$wH1B{(SKdB_SQ0+&jZudCndm9@H^R}BoTR^<0Vf(^ z0Fmw?;?oLIZ0O>iOT=mTkh$P?u>TU8lu=8~>SK(6{9{Xcx7Vl0_xrDLX!{*o48W-& zB3y<6>+*-3d~%1BlqLAF&G{5lORTBN;RI4W@RH1N>z-~2)oe**(|sAElG_XC0pv&L zNafe*k%E6mi8>910&SV#K_bIx@aUO57G2C+jFoF-qQwEM* zNqn2#B9B=}tI$l4T(1XWk20$Ao&&mT^t2!SQH|xVh7~YVOufTblyJR_=bfo(DhC!m zvOz=aDFs!_XM`{jyKWDfhl!4r?vf4bMNUlRzbBbP<^vSW`E?}C=G49cZ8hTLe->of zxDRvhQw0fpPxL=}`u&^&dgq5pvIc(8Mo8d(UKmn6uu^(tYQ`qP0i`Pk+N$U)EYc>+|6xG{Zu5bU>={zDE4*JM8#C~TY^u8|1l*Y*8t_|N#~NU zVX(=GDKgF5NP%-$W$Et|5*`P>c-dzO;>fyFkWtnVS2B8C$dM~kx4yuC1M|x zUZMLNBp=#;fZmz=_l%JX=;cn==EnRyv+%`lLaRyS8iE;Eegz4 zhT^^XFt!dQX(BsvjvnjImUhzHSK{NR_6ROSQ?3eda4`1Yo3auyB921fdy^Vxn=M=h z81k!eamaDlNYo00fq?d!VI#hX^vy<@WY)-kCnqQO!esWB6Mv7B*%~}kgtnK5?T!`g zuTr7vKry|J3u$Le@00Rb2@3X?-xnHHy*iPm-{Uqbs|>Sc_r*w5E9}SL2x<~q7$i_A zS9-5rtR0}tVE2N{v)T%+ULczW3chVZ}U z9-U>8wTudC>Sb9bLsxVtVoh9Mx;{WiG zQLTHr-}SbxSdh#dZ1Q?W+#DeSQns-TP#ppYSY+G`Q@Gy?0mCj%U^Jr>^&H3O!*#q7 zec2Ch)!9wwyV-0i?QJv8%x7d5yMghhNc$BW`n>CB?)#vt2{%*Ayb}`Hkh&sx!5}*mTRGREn2UDPV!ed;^W4KhTWhR90*?{FW?j&NCyq^-={=tREa(C<*m9qCuy?y9u{Oj%59y%uWI2gYQm2OlrgcwSo$D(J2 z#RV-uDd+3sZ1Km#;HON_IdFTtx@Pa5b9r$cYRKqMkE0FR)Tb7RjgAUsv{eg@*5BP? zH!-P7G;aKc@+(pOt5v53v0m@7vr=B)rVV}=>q7ir5ll>qL^G`4$5rX24s_T>5iBPk zO)+<3Nr>8!-UHrN17$i6B&S;G2V0D~gCP)Wcz1i2RvO`*pGnl|-u?I9YGdpKyW_My z_?Q(F_?u7gl=DMF!@poeikaP)ZmKRtBC|^>dq2a*FU=gN?~Gt}6qAwyo=C$*o`m|g zFXZTV5a|c2>I4EuG(_Dqx~;PKYr-W+C(tm^KYy=w%P!_W-yhEsdueSn_s7q!F)ijY zD*Nhkk_m*pJF^Q)JNZb?WvI3V-W-mpuP@lW;M|o5oN33(LjYHq!2R*YBG=_F0_VNr zvgZ8B70k960kP03a^1;M!1Od0fd?v=VBFK8UJd9Bkes;9%7CZ&|J9|;A2bE}0}R*+$p^jcC^4qnm?9b*bLbh>OZ z&w@dOW@x%QhVt}=@}&pr%``MMTk2AEfep^GmUy=~WS3oBCaXml*j9I3{(+CIf$s<4 z#G~mc6z6imi6Hi`?&r*c6#OQBGYRk~bqTjP?L;HlG!B*6#8`JT<|*n)sBdU{Y}o;H zN6O;8P5FNC!p z*x4yi&6^9C7MSUNAH`D(!EQlD$w3EC6awetKH2Kw?)*{;CJoPrg?)vnQ~U0m$*7YE zY=;n}zSMPjZiF;n9I&^4Y65Nzx(>R@^{(mOK&aq+Ukq%c^*}{=l1?Yz{&L8*k?weM zNZ?YWkhj>Q$v#$&<2F*ilt>QPLWNlhcU5`&c3Tp6cZHFWpsr*QU~>{^xScrj7Mv=R zat`L=o;jwVB8<~4Qg3*dXYpTdGpS8y{q+)J3hpZsd<$LCT4TH-f|=OLG4kpYit~J# zw3|%1r4|MwLHZ<9{i=xCJxgr*B&OOnNP-Pv8>l%ce-WWkDa6uS2UHV_{z^|Ox9wJ> zhXDqU2nRQHd2t~Ef%I)9qTzF+WjQluV1MQ~`a86PkjE?~jdTKrH3dPDr$oRm&nRmt zj~Vm)H%F_LoycK(4MGv>q(~!9S0$=kD2@dg_{3jKO{B97tYN()$dj5xRDd+V<`c;x z965Wk@BVXq0J_RY9>ZUc(1O#mAJkcIH>G+R|5py2iqCf%J;N_`SSl8(k|`<5%HY(y zO^c9Gq|MC&RGhe^4Nlwe>+KW9j6V`jIS6X_cFeV*JA1p))*nNFwgsbsTM7yvLX^d4 zBVF6zgX%KYnu1^5jZHt);bA@6`rzR)yWRY% z!kPLL#tTMtXjvA9ArK{Lt@acq9dk)*Vf(S3Ymh)nUitpE~aBAJgHo(!FF#W zW9Kb>M>O#DCj*dTyVhAA30kuLAo=XW19$nm2oA^<&bEoH(n%9kx6prfz3J@7YNFaQ z#63PkY$@Egun@Au%pme6cF0VUz<4e0$7wwO z&wB{!nh9C@VkaHrsNeTlro)4*VQX^at}>kxY+ zUc7(8f8=?%>+N=*U255aam`$N(rZ*TTv_2s_?I`w0r&aswkn{%>TBfhED2>3%7);g zvs_zmwf&Cw?s-rIMNrBxwG!oW|GN=u0%lY5(^lT^A+!(Q&eXVifJ9z(I-~1EQmte= zndN-2zTDHq-XR(OwkYMd>#9EMYthlyY{*a$Vg`!$w)U!fw*;pBs)!cZ5@t$f{dD>k zu$lg%1}$WC<|63hv+erDWGe?}8(j`z8#=>Tz;NBWev~cRI5)$Lh6@y?~uWf#oqe4tn)ZkplG*iJD$8)mEixkMoh~l22`Eq1INTbpF z3SID&4e*^E#+%xNj{WV?$7C{q1cb=ae$?7ogz{e8Z{ZnJvVS~@`WH7XV_}_=%%_y`&Fru zBBPi_{gmH*ey`HiM0~MMqvYH=RU4kn&s72@o_g@}JQr=GNjRKHs(sW9P-T_td=B z1Fe%z?ff6X&#IO+oD2_}w3-Z+_GX-+EP-Ox@^jRtax2K3RrQ4hWJT3Yvv>VJQNeM2 zZfF?KvFs?O(x#-Uu3A!_&aK4ir8q&!h|h)%aI-}}x^qG$-?^ByUvKsw+kQ5Si;MH< zl%pBDlhJgmh2=CT!{h7vcxiOt)7wJYEs@h9Np8@i7K{@OMl~9phA>9I9kii$XM*>^ zd^-tGkB>^>efT!7!4tMu1X#I7%62VJ#fT~2nG=vo>JLi7JvQeD-d|LGu|h#N&870V zTJGI}?vf7~AXYellc{H)OlD~8^iw&ubFs^dPgH5A@TZacvg$lba*PX7*?k2LGS7y8 z!u{b7d4)0cxrLvjpV7m@(wOZfm*ttkq%bWL$%zCJ3^I&)EGf(&!!JLSCcuce+}zys zPDDmt%jF11IHdq8Q@zmAj>Gis6q}a#8=C2r5&Lnuxi&c@{2d&l%81mz9l@E_xGNdu{3M;` z1qaDq;5k>8>3a&}p{WY%7-ic?XRB3(i&rUh7a6V3>4;@I^z64d%AfCNsH^2DID{=Y zz06Y@2-5^&-3Sr*nkw!mcT%laDZ+4S-2!G<#^IZ=rXa?-I|8UwxT*w1wbo|y&-vM6 zViF-6%bk)nW{bAC$zAR#wb_)6Mv{?PyQDqLp~hu8o*SgHyV07Yg9&UFK-{ zwDu?ER04Cuf(kD9vP1ckgPq^^d8`jS_oNNPF(he2@~L^35p0(<;L0ixwf$_twP*5e zpO-$cL2tLz|EQs{di}Apg?m(F*Je`1`A%d63_ki@_tWF!N|esyU?ubGF&N&mkSkU} zFo#@lsmimc-}no$xnf*n$H6+6Oj9ok<;Q@OS8ctSlQF236iN7?b&_A}#TbvPMwb`S zPpC78we-JNHwY?*p)wmWVAQn$Vyg1AI%0^yrmN_N<-VxYvTH-e?tnhZTd#;+A>p0bR(V`tVO)D6cSF5>EIsoMu$p2tKIZ9tyi11HRX*%J}BsQ#o1`FV|dsVf7kfo#~>@Cg1 zX?*fDkFtTHaj(c1>C<`ifQrr0;L{(1onsAQT&s%_6m=VHdH9+E{r;(7OH-Qpn$#MN z;HZYF9h<^$vAMBb&-Lz5O0H!lz;uHM&iF)hw;RT3rj_^PJ?=xoYM_WNj?UH~SrEm| z+oYH1??wxco<^eTTqI6eH99@YK#L=nd~s5lXCfrek}yp2LYlff&K|Dqwen4vA|Frx zlV-Ad)HXnIDOvM5-KDsrUvTM3_*>6GLAJ;JClkQ<-D^IwWczO1=!TWoLrP1MU zraiqJynE3t_mZAF_f8}~oQ-cR`Wag-Q?F3cve#p@#gngL^TsE~ti}36_5a7(TR_FN zW$VJY1@}O3cXxM};4TG)yGw9)cXxM(0KwgZLm+qv5S*ZS#p&05(*16q+x?HfM$MvN zF!$bT%_Vb9`<~v)r{iU}qfb`mg$C_YXq-$uHIgZ`7+=dbZ}1 zW|2bL^&al;ZO^$r;x0HIz8&g>%Vlv3LnBecikstpe$1EQY8Dfgf?}`^elq)hH^i*^ zjAVD(hu~lnNR?X3dq{SXwtH#O!c9Z>6Q9>Sk~%uPSHY(b^dP$QY7DqFM+D?f#+;Nk zZza8rxSC+i@xKhcKvI$Or&!Ihda+{K2M76aquNbIWH=+#{IJ)uzW>tW@ceMY%cYIX zC0@um2qRiv2b=BY9@k^`j!Ea#J|o7raPknSCFAlShcx*KBLyvp4Bi)E&ND%7Fj~NU zGpk6Cz{ze{LC9&%hL1G1j|@V<0aPJ;Bd~hMkAk(&NEIbBtL3HfI<^Ov{U&%*wr5pLkQDd}L)}OqLCAnpBITH8x z6*WC`k-siNo@a-%BGnl0K^B|QerB;^$=&e*n;bZU?qb}%jW!FPu*fes?K+=)P#a|) zrKEh>J`;kQxt<`clfP{#sy$=zoHqSbb2FU>*;8lvl3p-Wbd^oD!vD)E+|!g}BGL4T zaZUBq7z|S~f9xv-);zVkw|4AGN_lxy2AyrA2U8;ANE)&J>GIoPDT?+jR+mGP@u%?? z2I6ZK)-A`w{(jL9&AU~TRjA5Xc7lUMr09G`P0hj*J_mRIHDou#rD)n7$dB{wv-EL+}shwKvLCBvGh z&1yKa+vWbFmP6mFdyAAd-H6MhLQU%}Kz76BVT-x+RwO|)*n)-F$wgDl}t_{S-#<%#c?VT3D40LGPJI%vpTRAL5{yED>GdC z)nA>`%8s*HgOo31048v%d&J6+W&R6N)mUQVPhZb}$%73Z{9*Vc$ z_!v0yk<@dkj1tDhOrWRZx{5$tkc*=(xj^9Mp=D7$u5}X=$9~1nDdETUv=p!t$()szwvUJ{gwdt%BLFR1?LD#p?IagYPlH` z53?yZ(1e|hhm#pp4w}o1hnt6)6NF;HVafyQ3vM9j2M7q>1AGY2S`|avP3TZ_!?mh3 zx!(w4wCG(MD=K@7bUErsOKItNJo_vk$rO1^bPJ!lh$s0+h(IQBaLoiXsCQT<9?xkR z8)ws0zxs2X`MzB%P(`1}FDfHEbKiY5yxTZKmfIY3tSxB$%EY1WN1^Vw7gr;J*N%nd z{b=gM>k-O5!;>?}BpxU#UQ3xPJ*%kqmDw1K1sw|@dR>azxNegp+H4p-Bu*nbi2Dtr zQ1p&r9v?~EltfLzt1wWwm=OKsjktG+6{#FKYKH_&umvKv^rn+=ba;XRIIyuPO6dj-&zh z7lM3sK;KzC?)NH6614a3DC1yn2g34&^q`$SOTS0Q5DxPf!31#5MrQEA1U-Onf<1qX z1pG8DS2{j4dcPnLGzS+CRRSh1-8e)pd0{B3JWLhdDTNSLLW0RaEg?!ej&I$%`gBe^ z%dm-=PTx63mWWu*>dFSmOzBc}U^w&u@yWX_UK4i~iwufz)x{A`mTQF|sqdWh$X7U$ z)yv{TQ~EZ`%Y@zhzU`Hv^Zmx)f&{P6mpXx(GYzNlMd-V-$}x_(UyXN_d0@dai(h*c zKiUp1I_5lquy1t~Hh!I4cXV}zFPmTKeY3f1|C&)&RPt<9Rkn+MkFezG@m##=JhTg2 z?8_t)=&44?Rc%eCxzUq4;lFy5QntCuXthq%3G(lwd+IiRb}16 z`aaBMjejfXHV2TjXLM)Cy#(d`Y&$P_cGAm0O>e%$#*SKuJHfrUW)Hr)NB%U%$1$M2 zcNIRN?>@}5o?%Ous|vB2T-StiNoI3rZ95~0yWkEqy&!(zw~Ykrw9TJz-#WGpqqcTW zg;{hy68I8rXapq-_BLE+mQCm@=m{#}&=yY}cB|Nmx%MM`LY6kt57Qk9tTaPlrH3Fc zudgC@3BZ{@c58uTWLAR3XaKWmdrqJ!k5pS+u^}PB9iEMYdI(t&2K#uK3HD8_2Of^Xv=SRZ^B;nvSS3&nH)bFKxe5^N7rv=;@Jt(z(U-sZ zj-|{_Oc$z{bmbysx8Wp>z>Iay4v~BE1yP{}xNu?fkP;xid;zb#xR}{eR9#1_6zej_ zO^&6mYN8dJ(U@Vx8h4GSH1Si#%};_44>l+04b7cf^0ykLM^%>5hyFC98W;zrp9|&u zD~p>j0@)onPw2k!MFC6x?|yo-VN2XTN#Q?|ZQ=QMhG_L52g4SO`dC&!pm_B0!20RV zY~>!>-F9A{$JiB7?rz2b-Uk|E?mBQbh`3y^5)tRD7EF5>CPt~3^@bJ11V3S`aFtZwa3DBX`SVvX}R;BoL!zB)Xo*UaQ3yK9I3$4FI=k zaM#$84#5)op_ZbKlRh-HLc`sK5WI~1iMOsCifmVk zT?+1CPOrGUyi#?*( zz%VH+p|6ILH*kqj=bEpOyce1%3uIG0{=(-9Y{%>!fM@RTmKs+}6ch|j6^M3Xa0oNQ8{u%T)Rk7w0=2z^~{KU6E#1>VpjGGAeP&3?cIHzlpH zt)p?5obV85$VAEd9^uOCYUn9cVY?OdV))hBgr-0TF^ARoz06_@u4E?y->c>6I zeXlY&ah|YmA~H|us!ItGd$7nU{bII&u{P25u(T!$$B}BXC^|#kaj$Rdil9|fzUTEh z_dQ1PcrBs4?i1htOD)X7wzppZLXt*sw5#?E2Xn6SNJb5YsyV3TbjZ$s5!SV0?Y ziE}QrJqgXx$K<=BtI>o9bO2Iw?0~fI{FjZtS~Sbtm!~K zrr??6l5ZcH8{pxm0r|Gj~&BVsXG;q2{;flclLn9m9Il9ZpLOSPc1C4rm%KXIu z-iGR8v&F*FD{2!nbkxCGeKuS;<<+R55BT8n=LBA zQ`BCDBBss*<#Ng1oQ2);$@Spg8rKPX!%U8owN{r@Pu;9fa!+FyEktf@5+)gLZ#4L^ zBddc6bom4!W#)7j2TN})#MXJo1y&viZZcy&To_fuD5`r6e(9s;i>Zu=Xq+X&txrDL z`4kreoi*hwAZEJ3ll6cYPEt;`HetN&d;n>akUa9^=t|<$2;-9QM8#O^@$}om!|4{S zNH&kjmzJ!0kS4GYs1-$6sab%vxZFnb&jeO|5n=B%F!zd^V#C&5+>j2C z#}8<8Hbe0u^vBnHZ~@+<=OYI#oeAZz5mReko8lJ3ap-mwgSmq3?yqH`9lK^vB(d8HQ;ql*yRv2(JWB({z>$^K=%&jKv9nG`GHD zPDhB;+O69ctYMUG(*f~m7wzI`q}BdLP6(gD(jFa65)anw$M8}PGyRUD_cUI3Nab~N z&iI{(_`7o{EI51NXx-%8Lj1|&>Q~HxrrhcZx)wWb|iB(3{TwD z(3|?XR>RrdW;OMakNTRD`LH_GJIL4sZV;>BW|5L05T80)Ihl}CyD=mhz;rNII3qSl z!!~$4$ENj9G5*lSRytW-G}749mu~V+LH{kwn;cpf#}9hw<^f`KY@H`7U8U$97nUo9 zv#UIrD=dnakxSInx9*pr6GCTZ3va?bZFI~(_2V)Hj9tN92dxIZEkc5JMh)v8v*U$j zHrF(`AByM95}&C8zMGd{8fCCpEz!Kb59f^%1J1uq+1`B{K%L~i*i9AM6acmwH^C0g zHjMMY9{qvsI!HfKFXp;0jog@I55wUcnaJgd2og4YIP*+czC1uo@yQRH5(}-P6au_E zkA!wT@c0b&C8)P=9H1sh#x&pC4z^$IY)-)JAVuHPx|Jc(QWun^wt`@0u^% zDMy&iMXM~cBHE(+bhopz&VygjmYS&9Z=MV>|9 zcxcoqTbW~+EdV>Xoz@7Dy)XD<;>a+dlgC{qB1{CIZ^h4b3-cZN;$Zhh$uZe-xb?{m z6F*2@L0_;WW^KA}b zLCB*IF&0Ja=Suqp7_)N%x07LNGAL2!g>3x=UOKtb_oo?PGvYsveK-5Pn!;-xoCSz$ zNLmn5_bdH{834q`X3EM2U}56|;XeTYre>xboPbw=S`H9qC?~*#lZTU=9bn20LhF9t z@QT(AJfMrdLuDZ*Pj-<4>_akEWNA6=j=CikR=$zLK?Q)p3qqj25e=AuN5km#Kjn^4 zNl8lUa=-i1?L6oa9IF(28yJ{~K7?3|=tyG`OZ5mBQ+XxFM8Vwh$!;|2=X{?olG$v& zLAJ`$dt!nb(GLESCe%6&*f%nR+MK&#%Ki|JBr9Gq?-6MgvGzz{T&FQIZ)ih{JgblE zyu0o21MEMh-{{-bSi<*{za7`fnkFHUj$D!cp_U8PV~aODe4=kQ)G5w(N2ld?dVS0C zOCVLSdFK?C8}=XxUp%DDyb%{rDSF{ySHnGV=)!mEK;CMg8Ze>qpN` zJ)h56l|4T9s~aDLKDOR``e6=}cIFWjmq2wmUEo)<*D?PpzrO)0zsgUw(YvVxWQ2O9 zzm~&mFg3@kHHw*ojlp)kmv0aHIbF>vu?jZHTZNDzRc_a>7MuNXB?4}tZInjHwA`Ce_mEtoOr(D7?ODy zEJ?W~cJ_9|;)J1{H->catq72GJi&buGPOkA94wujfstunFC-73dRS55;mB*SwP6spguHV2jy(AaI%@1g5Z}y zfAaue)KIeCmBjp^owvggW(NpvDsJ26pl*GK(n3Kpk#&HrjW?od8Z#H2!~rzcmSxiK zEK@luXcPTbQIZyNyY7-Ca7%YRHA*(7pwl{GV1=0a<>||hXTM$TVe|8gIZ)Z^cddfK zOOH=l0zGS(Cr%{BLOlLOVNz14bNmGz%>jEd_}TQ3NT|xnB2jditqgSeLy7Qx9?0^a z03f55(b?mqm3U6k74TVb`Q(cM-K>Z7?U%^w>JKtt&pJ zLCax=#pILgmW{(YXE#u+>nId%onh885o_yl&HZkCiCu(^@sB3 zJ~N?g=t$3&P~mU{OuVpuV6pDVd8l>vL64TGok{RN3nYg7!rQ6I4D8uYF@9hwD$iVz z;U=&|#Is+DyxmYi!?}TBb{qJDnvsLSN;=nJizK~AGaWz_2pNDOSLbWmywUJo!nQe*)q!aDjeO{|MX|j0G-fwSir?&2&{cdkG8yheQBPDq29AKU zqNJTALeO!{JJ!~MAJI9g`}%N#jlrpbDPQ_lXVpo8Gkx|eJK6S60_8%a{t9G+zVltH*Bg*qRMV_6nG5Snc;S6HS09pE9*qj&Lc*A~Au zHWn7Ye|E>@8;szFeS7f&Pc(vC$b$9gY@p}KXM?ZJ>V%wmKQ5CK$mH&cU+^Q|SH8LM zV^l}o6^(9+jVz#7X?sJY-jHFU+N!Aj$=etx!?!;F<;{iTDK-%K2OB%Unf7h0))jOA z1XsWDu^P}X%#HTZ|0|I{pmw+|Y&n*GDWdv7eM(;-z@94v57?+W6^WMYxTem_@laFx zp6mxv^tkNikClmE{0WhjUA>@y)-LgPni%KE_tkJHu|Kq(91@nJKJVal zW_1(%JbPa=uV=}JFcpMX+tqDI(dY(n_fDxFhG0416DhG4FD=PhpUHL&gc)&@9L5q` z7}9@)S+hMzn7$Z(ui57hT$$jTyZz;+C8amDh}@INiO3Fv*&z7x?fd7)kB$}tLALk; zM>IDxQK|6U~T&m5;C zKDuI)#5;NZiGkDpA^nm(p)W=z!Ik4<^7C|cvvTyK!PGbE*xgBulDFG=9Q|H(+`pcM z9!~5rJLe(7=kGA=K04+OYbgtvh`x-hWPJ1CDoZV*Rgj&Mrk|K(3M~I+Gu*knua_%k z(opp+p}v2w7X~)!{UX)jURtRzrjh`_+T3+<|EoftK<%&VCsVtM8(T5e>^$B0ytGVB zh&hLi{k-i9@eznEoXcMGk9$>`+KCNB>S9)J^;kyM@fVlkfN`=!T}uw;UCJ`9l0S^q zhF%fnQG=dMTgOknn?A1RH6MNb!uAHo@X7gt0nF?}qS~L^-%PF6f115$#{Qcl=M0ph zx8Cj{!V416EB%#_*qMOL%q##CHa0U8P%$|kV-99+kP>Ic%*q2ow>1XvFtdTG^)Z7W zZG95DK^h!pNX8@PupDI)xT{>_r;Pxvdh04Jr)+As`9kV9foLr%T){?P?ZJm-5&0E1 zZ&@5n+9C(z_WG7@dG5MK#7&{D;~rt>NJM!ES+LNpmghVY5rPv9)Eqe#y}+9BnK890 zaM2mi7;!`WRdrKz%rD84@SMjGj?`Zqh1-kuVo{grk#032JTtOZ6)?~69Wv7Jj-s-M zl$#<#iE%ter`bfb(FUeQ09PDb%Su%f%QvTs4`+QJxA-vNXz69?s;u8oz;FWKz<1+u;Y%IYIr0)QFld=I^&r5s0}c<1cPASP*i6R4929T-v&G zz(3{rUpVH>IDV7oE8i*NhvjE5FtAtpD|vD-fpl&j&{X0AB}s!s%V}m}%xr4L#>ENJ zY=EY0pb}@?Ams+63I47AVgtKTJjEOin1`;RL$opX$5(3 zIis|Bh4DIn*&-S+OQ^A9N^{eLPtnR?5aCGsSQ;6Yt+I=YktIVF61kq1_g)de2#N@a z0tud$7FmR`2#T?{6cNy^vJn)5_un!+9dw1w`13j*zkR6?J{0wj5gcVAJ`}q*sspc) zo}y8dfP*}po>Y)mQm1B=h0%^#G~>hfsV5EQR9i6SuLm+C&ziPle0m8wl0=cu4uD2H zO8g)VCH&#s<+1dzi%L+R>-%$V?x6x-Uh5CvwcZz?_m3t^eBvGDUeam_M~KfX%GzLI zb-B}jip1eRFWqSNd#dLvpG3a5btXt0uk=?U;bh`q1sHR(umVj$0J&_&#$3icKv2@B z2}n^l24%5x0$4eifyN+TY09(+LO(OA@cU&RiQB-*;v`dqKeTfh)}cTaisJ2yQ>+bN zk8|fLSAwMizL;7o5}7{Hbd1@ZZfDQ0Q1NEs5~yJ4;6$r7^EYfZqVxt8;y`FO9&vwe zDjm|9C@Lb15Iqmp#yHLIx2v~yL@J90E#nV8-!+eKm*nhj%vgfK5-b4TFfhzg0=Jm5syL74hga*3A3 zG*~bD7M3G?3Jt(>i+~_~E>2WdaTkN10LZtTh?-K{rhw>eZ%UvSE~}?&-GN>hKwZSy z{v)~FXG<0kxM?X=8KvISw$LDwcM(msXj!IblwU9q93U98?a~jqw;&bqtY_J}S!_MgAVcQ>t9NZ|hKGmVA+#X56`qu>R!0B4cp{M_=SR-|wyt*W>W)|* zS}YoFes)t)L$d)CqzmlFWF;5d!t*WN+a9uSOJ}NQx||Wk`HP*k-*uET=k!vYHY6g) z^EZAv8;Q>Nfp3QBKKwbtetn~FF&3;eWf8`^p&WHqpM%OC|gRbyzlCMF0 zTmW{EN&+hQ$OYu#W;X$qtOad>pcn>L06Px|?;B`h$_z4SfJWH7p{xoKNMn?^mpRjD?A>yPJOQt@VIbHV*omN9PeT278 z?GD_%&h3YT5;ThT)%LZ_hzw05ANx&B-vc_tRrVqdGb@$RvXQgjV=Ax}pvJm{=em5M ztdVNVg{^@WAXqd|_T-jh;dZJXx0`E<+&C7^@m>$DL|PQIYAvwX?Q~eNRqMl@l%N*y zXnls2sqo=fAwHU!*RhxtIiR!J`gD$93G-FbGnMZKzUYyu%^FQhKE6?~MrQN;j5fF> zZOi7D@uY5}aa{}#&((e9KCg!<5&{Z^G|Z?D_n=U-e(uChy0vjkt39Er0CzQM#H@O>P4VX<@`^$53F9P#=@1s zpAQ&|cr;~f!j*Q+wrBjAym31h{&p6=EKvU%@g(ZOvcWxD?He#>KoK0ah7i=#6D1Dku z(uODk6=9pF2QTx9?Y7{Dh*V|vvRo>MW1)rOyF6B^vdJCs0(K5#_%)eF)Jil1AaMhW zcfki5-5T_h@Yc%KD0Z0kV2tsr4-JZl;jq0PwJ{Px)m8UqO&N8}y{Tav!E2KwiZG#{ zpmuy(wg~p{ zQMb$mGec|rS#GFl0Ls8AIYet#1Tdo=CzQ_Yg3rWs?4&oL2u>mdv%##q${MHK1xy^Y z1%Lu&>2Yk`c_~^mcr+&B%#~l!%7uwb2nmj#EHBHl(M=Y$f)KT5O0ZJ7l@efoz29&+ zWT7f+=#I}&KII+6*e&AL^SEtJeh~JxmYOKJi8l;(B%{yg$Utmq5Ab>ZfU!XGt}A!- zlYun(UO^e3KvYn%G_uG6+Jec|HZI4(XK+A$uEvO`OXuQbD}taf_T63Q6%BTl_FAPw@Zge-ekolN7efUq zN%qN37aow!_1UcB;RkJ5AP&X36~-twH>|IJi8yodiWAzqx>%BIeo@pn>@M5drcG){ z4Q3da{b~LAdFtjR2^R18?ed(!FLS-3M}~GQj?WXH@q6S^M$}V=b!(1pN9??79$lHd zT;jGnpbif&C( zxW9ZXIb32D<~u#M9OkKdM%RBIWA7Vr_92GwLooX@7fMmezTIO@s8%f??~`Gkv(-nU zKwb#*ZN7q_tH3`ulK;kd_F$p;{p8L0j_7s&qoM*tu*oB98H!qs{J+>^i?Hl1DCcGLBo_B!my zj2ZY~KoToc*BSlHUfNImT9we7So9-WJmHJWA=ZyAFfitO!izs!Y8Lv>Tjo2^Q~#T- z&(hA!{*RLdCg^{_!0bW6j(>dlzaM|W>0oSP{SQvKKR5&MWT%ZmTP-Ry7?=X+3jgMw ze{jBjFtGBNae}m94inDTk~myEWC^gfyA#F(Cqhr(xQ|4aF-Fr1EqY=$|D77Y4z{2XSj;$c!f$=ISA+Byw z1Xd@h4)y`4AbeqU{UQiv=MmO}xH(z1m-p~v4(}oAKsqAmk$R ze*?d2n0&?5jXRd(5x6PV#lBjCwkMCFn#NurTN;Au#2yEOXvkbrDUxkf`^IBC>54|K z3GEo6%k;K&^I6mLjFPa%Rc;;n2-mRp?7gHd7TM0@f-c5K^Ye!{5yTP(MQfwhh>)8{cKJqoyq7-GhbAf#=W z$I*{uLKOb04v)Ef8LCxS0v^_%7QIUOY~~Km6BMLJ5zOxj??KmnBr%fS# zpjL&jO5rd@-mMBG9~xXt_7-BwdKM(gyPF_<2SlC(f3noSTVN%sk%NRdUp?~&pDe#B zaeuZ4nriLA8mja8)uDJ~|4}+;WAfut7PXm<#FPX5Yip4<~!tu2zR|3(r{o8IF7vjdtVJJrw9-N zfq{-0uej&Df?v@>mDP;+@{sf7;!Dl3SMd{D=4D{vWaD6>8m6uD3*C)@j;GC+$@l{q zDih5%T^pyGP%AnbNsabf&k4wp^yx3_TR~guXYUig-0nAa!>>3~q(EnQej7rZS?b76 z%V^3?Xj(BEd$LV=LUxTX2aCYA&?|av89OsG8_RoXdg|E;+UXgS^H$IA&k{#oH=axS zKg0w}2&-0sj>D)0rN!xehf!OhGq)wRf(;|cyqwJT2;p0E{>6nK3)|C;tHKO^YE+Qk zN1NulTu5%d+_)FrX5xYch>8HbtXP7EI;L35nC|3VEKOp3>IFS}mcNMk6_{a~rxqVj zit0N@TAosz!F{6&;bUBKSG(iLYHI2fnWSNqp&yes^U!b6w>TSjsmZuSaEesuY}F4~ zY(RxBp~&DFLY#=*7wXFz9_AjNk4*TJsmMB1m6faYdq?$thn@lo@9GbJ_QqpZ6p0oQ=+*@bC8SkbbT7qxN!_UFBtqQ z3Wt1e9JojJl*XnNh6rZQjB2!IRx*1Qwz&3KNJ$}%PGk)V^ORy@NmfofUlty@QAsO@ zdZw&gNzG?jOUOvLAw1Qc1ylEhHU~35a}!!nqNFe<-{FaS&sC1I8EGVO97hnCR)zmN zYEq{z6`4}>ruy(iB@D39cwzW@L$D*bO1AoFa$-13cL}zMH_~yrSSC6w+kug$@Ti;O z!kCXz42SK`p4T^*o3K?EJzJ+bd4{Xs6}<2CZhgE@W1SmMY}&GiJDzPaNEa92A7WY_ zaaD=~EA}G-TgYqcvl1@v%fo*nf)e6VFR(?uKV@9OrRou>s6Jpvk!)t8l4vWlYr~;4 zlBx8oxqm&&@gzYC6uvMs!Z9IjsB>u_#Fe&tn9CHAe``5tkIks0DYG>)d6;1A;B`C- zhW^=#hB03S%w`h<@f&Yx%1lSjuy@BQKE+4&IFhtpceIf5W*ZXO49SwUQWHf4tdxT~ zVxuj2~oLT$wH)=nXVWl}{dx`g|Tqw%EYdT%>6-HN4FDXQ7eCqelf~k^4 zLuZG+ih?u+7B^z2N5e+2DxJIAX<*g>62rc}pkcp-#v2>=T{xQiO<4I}PLn;JqIhw3^c23~lQO@qd(U*2`Mjxse3MIxLWt=XYt?PH(3B+R zQ(SSe;K*Hj*V?qzYLI=yi{BmP{M}>7vUb>Hc3|1y*OImU3O-YfWYx03HtAGmC2vex z`4M!dT#6*(sx=q2*01Zq;}eg7oNg>ZPMm;LHp9&R;O$E|QI^W-s~<~iAuXPg1J_Dh zTHmX>r$@9X3Sy7^GGM>h@j`Kk@O`JsLE5otO!;F{DOrCO#_T;*<-bdW65H{5uW~Gd zRv=p7l^UOOBH5I|%T|zzZXqGwER7bW&R@ME%cSzAP(?G?H`S~y_W>(ghSQI$YcnZb zyD=kU%lp3D^A`Yj`zz<-+Z04dn-f(SaA$#Z*g!%UMv=(s?=Zh2)bX}%9@R9UH%=K% z`i+p@$#-IR?Yf}_Z=-I6u#jjcV%Ko0ERp-C4$)%_Vh9VPb?oz{&xkP?c=~Hh?eX+z z+km&}8@`u8Gj?wrx-@eJ?pPGGAo+7-Tb4b-&Mjr^q?`}R` zmnBQFv7nGR))SGDsU8%~mJQm%(=lcd91Yy*$3BclW4d58inmW%1e!sRfzJnzev9fZ z?svUwQoQ!~Ro$DB6nL~q*?jda@9uk99%o_AR9}|;+z3-pPFjTyZjU#5 z&7G3(yP=1YKuFr@>NPr>ki>>xxt7x$$SE6Gq*C=^F1eflIUGT0eIi+H@?h5h$BkVW zZ%1w%AMcF`DZIiF0jhJ`1At)!^cg%}Qt+Td&b#vU_K?!Tp=~|!Sh8`-Mw(cEkJ1fe zn^pGcgMGRO3c<{S#Zu#jpF@qDL5Yk2f(_RFEUvT3;5f1m*lqy0s;Nto$;;S!I9k05 zI#ww)edSJC$AYC@{z3oC(Oe}lDV!!RoA*V+3d%eNR;IMujWDXk;>Zd#Tb_=(kmlam3bWs-f{61<$Xk=~wgnE=C_?Vb-G{@Cf?sNVlP-UvNnbVaq z)saA%(G)4RjSm}DXtmO|$uo+fts*!(8IJ^b7NLs$_-4iGSxB6R=H(YoiZF>9%`M~5 zaCwR6i-1fEGA=a=L{`z*pJ$qXJ(;|oSN`RE;RG~u{>O;~4D9}YHyr-KVF5HY{Ttuk zwBJ|0Db{*j8qghHiTK~#>2G|t#?CH4CvFaAP?bM65Tq452NwVcG+|@m0B``9SQY+S42P?fA3LH#l-*de$Fn&&K7KD+#uvC z9srjK2M>@76okXV3@Y}^X#xOpfVqyWxJpkHRI=lQSynh{y*#E?8YiVcc;AC&^WNiD7@dyW26>O@GQOpo& z209_X0|g<0>Tmzn3%~OiJ2)^}IosRiB>m09>Yhu=N@qpU=}M1*4vD_09P;jvlB3-% zx!tm=5*-rqO(m{Txt5j@!1SvR@g75c&aez|AtsH}iT6y$%M;g@<2%e9Fu-S5#l?Kw zR+>Ab%r=X+rmk)qBus2_TSej> zb}DaF2-8H^$K&k-e_oM!zZ1J~*v$ z@Bo>}W!vYLf+f%Dt)-nef0ydtY#857S%gSI5^8>x(qBr*#o1O_Kn_v_^%U|RWdVp1 zD@VjmyaELsl?-S&t4RwoaUVNF3*tF1LK9Jn3J1_O)GKrAQV5x2JmXBm*ta-DjZ9B^ zUtO%(=F3V*a^d64*4&`FCCii?B^H@M5|8Z(PH|Qg5IDepK#rO%z+7j?u@MgJ3_U$r zce%grN$+0K1{(f2`F3@^uLzd2e49e~9 z<0wUu-jRrx5nSy68Hp4*oK>K8@h@x4+Tzix$^GZB9Hn0f2?+>0O2V@|CVJnI5qa!Z zp9N;V9z$d}mXS$^r$^t5I zjY7Y8HRSE--HM=nZpG>2`m=9Q9YoY?km1*KKz(WmqQ4&f?jFw09HVjw{=}HVa~)M4 zN%_ToF)kcdr3u9rK(y0tJoXL;r4Sb9+Gr^_T+LAyim#$zI*PJ&P??>IM~`l4zU-XX zQ~|^vISy2(2dh7BrUv+H^4mT#h6%luxP$!rQ-S?4CqWPMkJrDKxP!6zKP|%lx&jb^ zuJPv@`ulAD8z6Iw|cV>X;A4`Ha0x>bEtFxt@xtP7JgS{Ql z&c&IOm)P3}!RPO-f&RIa~yq1PB;I#StNpkp_gB{Y4N1DDX@~2YFcirq*KpzOLWw zHoFL$o%b75f9Lt(nRnzGPOZJ3p$qnCRYwx;9(bE>(|L+&j(5w9d*LKT(a71rh@_G+EV1WwS9)(^8EP zf%5vI%1P@}d`JPPz45~F%X=YnAB!*WN->B7s9@>b<2m%+wa16EE-S;sdUORB*}PNJ zb=kl}Ul!%Mpv@pIM zhaYEYRdq$F%A8ee0fMwjYj<9nhN}OkN@@_JreJj?R5t69qb2cdn)F1{{oBBF>5~HV z6l0ZVJ!pT}8UaN_)YP}s#i$g-IZW}jq_nHx6<@y^_ols#@Nv{yIu|NAvhu*1NT||c zHN=vJ5Bo?(qm3RVNn1|7k2C;v&h)3K)d@*d`TPxIMro4fXQ7g; zG!moiWK=q-%z>QrQr#vo<2p+Fw6C1$vU5B5TBAxWwOi=jgQi~3y z*wt`x9Tt!rmJWIv=GZx{4!-m>%(J)kpde{?;Y;3BIU{5d`3^*!guEeKVz;5fsskq=Zyx9wI5{A0X3RGIiy%&;8v^chm#nB^zrMjOH82>L{z`#TNRgT% z#DFBHuv)V>I)%;T8LEDLm!0APU^G7`dXr|>Keqevj!PoV{Y2S{O z1hkJ(g6y3C*%Wv8u(gSa?|O}^3Uw#{(&sT|dI=$eoz8a-1=9izFi?Fn!RKD2oDbG746&dNqUL19ZVNTLL zR`z7I@3?G5a18zc^7a~86IRz`8nKW-h_3Dzw@<-4qA}sj@i5(5^MX_BtLm7ygrfT; zA_w$gxcKR~(M~d94w*8@64A@{Q8yzWyFX~<3f0vzX>hrpey`E&D=%zpwsy7c*z+%) zWykf=<(tFpa+sfTKo6-k_7V6rJT-e8Osfhr^lQby7;=Tlc7ULLOhe23)UW4i zi9#;qf;9A?RfO)-i+~U`P9`fnKk~88(Qd6(Cb71ndESq^_eT_dIh;wqsZ`N=n(A^$ zw*so5PFDIaI@#IT_WhJ1$l%a%S1kL7D&=L9JV@trlP%8dO9r8zZ&GhNlrP8 zPsK<%jO%A0iK^5SXp7^Bwm`UMZ`PCX1HTuXR59WbjkC>DgBlvC*T9-|oEcal#qsu2 zxd9~ZAZrPIV32U+&I)lUde^%t38)$ZT*sRGd>#J^bZ!1<;xXw6@@z|`IcIc{uA3yY zP@Rp*)TXZe{Zjz1x8H}t!jZQD$n37Gr51uUAQ-(qY2eJJ|QB{xi zCjCfT^CXNc30aP!y5$~{EGNc*I7{Bz<(J4(`Mu8M9zOT%x#SLhERi&3h2jAv=MqcS z>rTlu5iS-m{8O~dTSQ!#zL!+>w=&mj{W-?*W@J=kXSb?j&Y?)&!@y=7LXvqAbLOK#-2xO6^j{~3JcuzrH+P3^;U!0b^;scI)-PY=-%JTs&fU2{F4`n^nclZ zEbUBz9>1MWaPkEIX?vvqkNE$%%74B|E_jNlvl;4vvx3G>9BAy&{ueiKac)UakQ)$2 z4gGPCCB~?buaI;^E9)@mTv~%6?#ot{vgvb`X?B15NcQG9_-L0x#JjM6wTMN9UgGwc@hxCc{ zmTB~n-lrBJ+0`HT9IKs&kAXyNI?A6Pi_Ge}goYph*Eve0f~jJy9H@&zh{eh7nw-gVh+ zGu5QcCJd1?gol=p-oFl3nGd5YnBug;XpE%zOWm-p3f!{N5BpEy^O90(WqGl*Kc zPfnL9a%D$^f8~MGuAIuSk9^a%RUgZF{KJ(`(j=GaN*TF$?V*D~v#2CwHCR=1yT7tA zya~H6QTTUXmlteTUO1DSSyI;|^HMMrOXj&_%y^h$RV{E08eZSXT1APwMkBgU=U8FP z;@^SCyxVLbrB^mf!N|LKu`#|0)_0o+mPWoYpx$Rhb;U|BFD<jlS^Q58+Ci6MD&()m;;DJ6HUy-6Wr6&|RaMX;G(>&50Hl}xo2NkB-qUxf1 zU)ql}PI8#w1?`p^88N4wgv4{o!9aCQL@0az69*C!I!=q?vrQ#)*?@+%z}Xp*SBJgx z)e>EJ;heFHALUwI-f3FhoUNW=Y-}H8%@~(*W3_e-wMW3=aGns3z@8){LIml~p91vgCO+ zX$zMmunzJK(YP>-lhGvC4Au(y9ufyA4q6>g=(FC#a;%egJN_7uX*^~M`{?Wet`1i0 z7YKL6E9A89$hw&uT1+?3wu2v$m;$9WzH3COA-GbmY^b{#$3hL+B4=@8OO;8jSH^RS zG4LOSP!7}9Z^(vZjZ0xaGhAwHt7ewA+47L=&$0_CrHw;eq4dG{8E*9o{I(cJg4jQc7Iv_M*k0*>TPOcufBpD#DYi3qvotq$v9z}nHFo+xoV^2d zuTQcr9NV^S+uX5j+qP|M$H|Uu+t%K(Z5ucLnS0L6z32PR%spAFlQ&tvx4YA*daCQG zE@ca6YZGM?cjs@jg=oK{;~+ABzbF4NpynVv?Kr=b=${Q4rf(txqX?Js^Y?Ly%(s`G z;@|1|-`aL|s#2A6n*TmDzoTU80%?pt9gEl#9Ertq9#-Jt#A7nnniYtrQ4BNq^;tHQ z3S?=erDao5b)i1QuOelUK%WG=v#)k-!xjuuSwI{{y5jTZ+v9U}@g|DUTEr5`A{b$@ zj3va*vPGJHYv#ijiyVs+kigyF^t-!Rx6_i(PvDk*^stffX)e7?T?#0=KA1FNV%{y5 z3$aEg>}Wl2MAXSOgr_=bL~HmKDx)$eO24-4K0SGh@yOV6sqznQuH|kZ)ff?bqO6F$ zw2b|yf5>Yiyo0Zr@L)~q%GL%^NIZ#_P$%`!gc+WNl^j6jxt7(N=)Hx4}aR}C! z-4_Q%`U3WFKX?P9RH|-0ErY~ul&8zDCLY`Fwuxr>i5sA%clRF74j0mL(`YlV;pv}I zY}xOqR)P%JQB`9=y}Rbpz~o{E^)IeD$+|&u^_?j~E%QGHJRf|_aMw98eCr#_)vRiJ zF__>c4dXvFlx)NS^{sfY{yec$d`0k-@%(wh)6lk+qJ$GCoy^{)_$^_@#Ee$&_DX3q zoRJ(gbpbEt0Bnv`T>t3<`COtDX#*ffG$PI@8yT2aiYO6LE^ka8DhmUtK5wfz09wlJ zJG+S}&QU&2a7cy-ZFcbPcP z?7B4iN`5y17UNO|Bl_zPc07=icmL*LuvQ8Sj+hZj#?{7*lQ?(q?y7lKTs8)5A~qO2 z4Qn=jtN~~Q?om*V%31M1_6CsAr*4D}IyLwJNN1e_)M$C`2Uo1)wt{oMS#WTKUPrJob z8Ow843$LH-^`ChfzQ-W}uMD>xo-V8Dz9PSx?_cYo&yg0_HCTZ+>_AQlSNY3zvw{2$ z53v=qjF#;a)~`2zV@2dBFskl-05J4Vd3hN-<|exWjIDbM-NHYtHkaH;P&#vEbV8`f zV}0mQk!ZjP>m92<1FyJ3Oa5pvDnt@9Sjv51$&mjcpA^1ieiVU!PDucmVWlO1yng~y zHYJ1*y-Ow%6iKMqZjWdMAI2(r8e`hiD)fB0rQNqjDv#P1x zGmI}vNK-6^*xU}OEeBzVgL_bubo(9`l)_fL=~^}ftf7V<{Di>mZ1#zef2;&c00==W z+55toOW`ejID~h|$a&Nh+ph*F8PLUiWS$_R``I$%;pF5iU8#b@@h-#mFfKwHAp4~{L(&+C z_@Xiogo98-I2Ex+?_M8gxfWHx=gJQBz>WdA_2#()ujSGAy}9)Uj8*Q&ah$bh?+A5V zLk$InOcUJA*;p2DAyP?_#3izwSbYFhaq2N*ATM6X+3|DB+jRoi1@s9H5;5q%MyQTB zF435;W(pS`cWgo~9rU}NNEiH4Pjx{r54Th(KPJlQ(VzbbXSse$Zv22o{fTdd3-m2P z|9#2*7s^Ue>iFi;qilSjmZQrwJ_;$O(QUi|Hx6N0Q%L3=FNa#?fkie$oO96c^O6X} z)81f!J0#{J9=MOw2N$78$;SU7(#HFyxOR!BJ(2?msf#Cw+7CXI%v-;J0JIp>8!fU} zf`}y;{RSE*{1u*IJH~)kow-~=TSM=`9it|?-$l%KKy*|zF*F@B~76x(OdTyknx83g~G{B5FLoG*R zzl#k3;!o5hPs)Xe?cY>{@fgr2AjXj=xP>Zkzv+;6Rr49zLXAa(g4Bb98r=~ZxMYYy=B=0|; zN_;Pgd@=Y2)bAx>`fnIL|4`k7@y^Ts+hl2Gfo!`4MskRYIYyAe#WOKRvBXy792x zz3Po0Q#?sw+aO$w0UhO_hj*k~`dYYI4>WpqI=H1k<`{FD+3sUuvHo6O$e(2I zT&Bk^^~Z4ox<|-0*DU4Newy5BIMyDp^zb|>qGk zt;;_FE!hG-mC}xGr*Df0;IHzpw(H+s|LfcT23r4g0G!}&tYY5eAu0V`PblQS#!dgI z%Gs&wKN&nfY5FhcTP^YltXFhXg!04F*HeVT&Pg;jaygjS@aMH7G$V(o+!Z?G1CK+{ zJxkOF(;RGkpl2pOO_ETki-oc_IGv{5re6-ZlUTC0#d&QZbqD^)qBsK9U3=U6&xzNK zl;&%xB7YU7RLGqH{+Y@|han=049?}uoofzqcEs#&^Bz+(+%1xSN14Dtp} zSq+Vu3e|+{$FKI%R;I1sJ6V|}&+=dw^MQ`+Xar-Lko&HO!T&EkBZSS7~# zo`$W<5k5pUjOCman*KA`%M@(Sg|JC8JDt(H8S+fQU<{9g&r3ueEEYIZ+Lo|8HMIP& z)Sm$^ehj6*IFP_&Z7}Wx>2)7+cI4J#8QCYI(Y!p5bFi~Y=hD?IHS5@Gy}w%z zc|}wOs|5p$+$;e$tr_P2xZ*`#HL!2j>0o10(i8nu_TY` zDy#`PS2#2hRSnTON!!Cf1{c;EGc$)J{~I+ewE`%Fn8IXWBbdl}QX{djO; zQ6{Z;?NXtqk7eZUPw8w-XbViX;1PX8NoSEI5H*0#N}*tP4pwNzLwqtt0$|BP4$o+M ze$kgEK6MnInU$s{03HxXin$x@tS!0B11jO^ESLFE&fxvNLYW0y#V!DkRxmJt78-jC zJ0(g1QROEB-`770-k%}HDp-HAqP@O_ZV>qY%jW(|7iTL^*e(d5Y!KhTFC@sLk2>gM z?$UG!(fH%1FDDr%N7$_F@t}AJt3WE?iRy?XiyI`=?-3FPLs0PtWxEd1Gceu$K7(Ou$ zjgD}mG$rX{8W-|e5Ffe|T$cj6pf}akDD5)8fD4YC7|AKsLpPHdEQjlMM*E(BW=s{3 zZ=pe0>_T%k|BmNOcl>+Ul~(~%1C2JI6Gfkf8Io? zD@F~v0)s7&4y{w;-I}V06UL~8^8z>Xl&BeuUTq5V>Wbpe0YtrnYIB$)ttBdgCCA~) z`u7%(4&sJs3Z0$bGpuGE+6d&C(YaVOtUq|WV)XFFl5fqBZ_(Y@f_IT^(aZ`9M_#a< zVO+a56=7IwwQ(t$2O-_&sM7DB(RjA_NkGyPkqwFQe&V$*3aaM+)LM!f_E;vHl9S%& zt=a!Lzmw?fX!$%=PbUD9>(GJyQDb--nM@3%0>rO8)s6&tS&|CRSZaNXA%fY7EF;ASbss0xm)R^~sfJvG{Vt2~v#Fs=7S!L7_30S(|4xELrK#(alkjwZdB zplPH#GlR4gPKtcTX!iFVv$Mmh^W~6p7vw*zHB+QiFw?bxs_04=BPIsXOo7SGpVGGT zOVZ$fefYJ0byVs>18)KeJJd+l*F%aJR17|JD1oOgju_kLO{SnJa-S>ik7<6W0IFS; z-mdiz84t-t)U%9l&vH*)ALDw)$3R~kPKL{fS@OvrksUo#2~*lY8mcbTgI^C0r#>7x zU0bd0eyEFWi;l1B{4z021@!cPr|daO%O-NP{fNEXv~A#%-7T=u>Z6;Tv^Sm8DcL_< z!OQ(m(ez(qKK_*_+s5OcK#R@yQT;!ImVf2u`hMBQXbGG@z?RmO~bst8mS9*#z7SQi-< zS#?j;L_p;tdTeIldRC^_m$8y9{i&XnWh%sEx7oAR>2a515&+;5E+Nr1d`Jfc35xgt zJPU-e8Rre-GQ~psc&kFxeW+7_DYSX@ospxD=^EjZ)4A_T5CIsz5Rbyb;z6^E?Z`Q= zTe}AEu@U!l*&lf~0%DL|7{0E!l@R@^uRA;O_G(sR@kV$IaecOSD$B}Jdg#Aeg!V;SRCR3cQ?n8J}6!#d|- zGm7BIl%TQ~)I$nrLHSW{QHx+G;ba$r_av_Et! z17eB%x^y@{YcnfrVD)??HvO<{`O-}Lj;9KZP3-S41eVdOmo!k3^AO-rp%{j`d0@U! zTq3=G8mtf_qr-#F8mA>VjF2adrMUBa2d?DisDx?JparxNAfrbXhDtvT(9%QcoEFNX zbGdOeC+hk>=OnV~EQXqd>>}j33kC$Aq87b`+v{8DNTSKc5iD&EybE zz!!jmnD|Vcq)JlqYv_L=Wj^34cHpdHOvo9naOU;ebLf+ZfCmPm4(5;2!S4FZd0+m~ z{1nH3^%F+5>F$(=V7TSS5lxAQE2ye<^p{^}$or!)eX3W6sO($M7IYYO+15Yg zt^YSk(l5itYgFm}$3?^cWH)o-! z=%}~*BLM%fhY+BF0FB)f%k~UumdIkUvGjQMz4~~1?@5EoAtdX=z&Fz*;o#sGE(L|Z z`Z1WV$GCxWQsyv(PwC2HkPzP_K|C?6X1KjKwr^&omeEjO!W__X%4ws$KBZ`~8D z5%Q0+k!k~;>}vX~udJ!QWjaRB?=*#;IWV29(wHPULvBP(1HY}f*(#e3d7|m#@^2S; zhv)IaFsuOnSUB!b^LLW+26`7Lc?M#o@~x2c>lW(7wV&~Za3*|*?Bsp?;q<~Y8KC1W zj^eLMIz|Fl%smQ4jXE(l>pFHd?>$rVhKoN2bThG5DB5>eU2Ct9GC30g&&!oB&eEg|aHnsj3GAJdHO zRUHK83(=nNIuFFU}Ty;}WSZ5ayP=@SDH69n#Tqftm23@I0 zBlucKBYm5HsNCC+y`o+5Yg_bejb- zV3r&?u zg)BQHkr)8gpf*a{e>8hCBPGg8BViaDU|!Z&2>`dL8^Mn~6a5*?+Z4^<40WUsHvMq2 zp7>EOe09Hr;`PKue`s!%ksUYP>H6m5OH-LUSf7X-nW}qjNL*yUC%=@-9Y4WhC4bO^9`gRV$|Trk4Qog&It3s6-`ef_YO}P zmRS?%43g%dKnCc&-DsEngQ2e*?0DrAN;}Ir-j=cXR2Eamz?0n#+5t0)fL^Q4f)@8I?smU z$q5|`d%u9XUOEr>vSS4Cl~C{by?;$z)~5da!z!P2ApmapRv=|p1?w5pH>~!0`D>w_ zS9*^}v;OQX$acVXy_i`l=yL*NMMG-gJEAi_kZ3*g_E7_T1GCo&9o_tjaSzNTVgdfB zMV>DhvM=QVfgvpW#O{6?EL#Vd%a@gcSxk9 zqc(4R4ep<>%GQ9Nn|dV;a_j6;jW6k&&v==y_BlNMoJgo5-^A^j(aaDsA!IoeOm+FN z$`A+2BWR<+pLEh|HM)U0agiSCX_Lrc11HNz!3bC}&;9L%SF*|nptA;*gbD-2ixFeY zC89|f<+_SdN@ejRu)7TNpapo_uo zy>OYmY+C-g&T>k3$5`s2NKn)B8M28hpeL)WtCYK1BV~5MN>bL8$I_F;$I^yYD`29Z zUQ&A}ips#KKk%H|8RQ-Z$c_UVZf0%W%+GwUYxakzHT|H_@u{-c#JhA+NM%?f_-hwM zx0Ak*8dR3Wjg3>HQ5r{wK2RZ=QsNzrm5vr<{K293i^+ zX9Rm7a#nrHI@%EnP0!yaCcH|$FRw4J-1|=8 z5yahTpZ9Md}vM;w+L(_~|UX#2!xhJ9&+@$g`CAb+=h6BwZJUlLe@$}h7R zBdWq@Qi<_>d`$C$_iLGy9&F1Vx+t29&6R9dNu4hR#kPf89z|vp#{B5 zp*`^j>V6-F35alznDJyHoeW%_w0ZT|PP|QVK$vn!y13allA}7b73{<9^h6&Y?F`{`ebwVk5O8hiF z-m_d60aLwY8)#bXS2<-5<3@^=dOZ`bQdUK#|vY~&4IuEl1Kq?2&TOB!l#BN1ErIU-Zv!pDQSxLlZI~lCXMW`Lj{%4<7 z3=rH>u~fVOzvZWB`kXn5Rnr9@JJDfl@0j=(^2=6y#!F7rvjD1`LM~(w@DUGEX&8d} zqS$?sS0f#V0YZ&0f8%Qk8DODX>G-9p7xd zj_|5ZqC?C$1B_$dZ8nQwyA0oN&2q-Uu+7I%!RfQ7b^e0bU68tCX;2+$l#rhP7}EdB zh9LhJs?o*X+Rnh()WX{2pR~M(oyPw`P-FY|EBQx#|IqXQiqHL5b5tz=e6rt5;PKzs zi2rDV{vVHY&QAY%dC`+kByYK~*HzVVei#ttD?pm-2k-Fu^QzMqUfe71g0sPQjZcLp ztP)+jw>{;vA}8LBM_a7izJ+U;k9+vwGZ+cH%do<}d`Ar>wM-3SvWboOJk$hZq|4)S z&90u2+b6ZqqN_C_b5fW2S{rRDkG>Xz*Kbk1SiZV(gTXtZ=pwbs^nMR(!-~r35;lQ* zz#QnBLp?V6;|sG6dT{-#;M_n(wCt+Map;)*uQm0Jt-in5BeYfAoXnAhzMuap|Fh-r zm#E|+q^13Pyud#u?w{xIug}oZ@Oz zt(vb1lYzfr>|f=7+AAj~dMbkdzEe(41XO?99w^`KKmaV|@Tnl21r;@a|JL(eh`!7J zHwbpJa5k|q_2%lkWp^l{I~x@gn4*~*T8Lrtaahus=_1tO+w^n=S;8)qTu`_u zpx>!!*R3KRrsI(_4g|HzgVyTXE@nE zM}&OGxqaV=@ZY>j{Qo~-e}DBKjM=}B_*6ch%IGE_3ex zFV;p|O|+(<5dS&EYFlmDF#B3LTKRgM@%aw==$X0W&bhk!@b$}`dAf^fXldByr|?Ap z3b;n5xe=Ll_3=Uk@3kwF(x5ZX>l2Am`o4l}%mV_%LaaB7Ytvq9e5X)?Gs2}AtfsUm zf{m}W$%TIE&-@sk|IGCm#sPJ{aWFLEQ^fB-N9p`LH>hwt%_({6qDqoDEDo3U)5&!JK^bP&*rH9vvQE)e4@7+0sht zacrXqD0(rM`@X3X@aRDPW}&^H78pPZ6F~xn;;plfEa5u!N5O~4pd3su-R6Na3Y<`) z?uXSC)ifcuhs8CPDHJHW6rO<^{m`1APBoQk+rw%Pc+<^!yhLP6FPI~vJk%`DBr(fd zDsAaa9ym>DGAW;pGXZ&IdW`IG9k_x({`-`ekP$cJg@A2`&v;ZF(Be!UKUdR5my}4f zxoI1IVFL9c=%9>dZZMR^hF(YzYt}qY8Kq@2#*}GPd7>9tzseBK>gA^;ntW);>5Lo- z+oL^C4-7^{z}{K2c{MJ2^cC?g?u0Bg zRne--%u1!Q7lp@5r9>?F`*B9#oA>2AFVr)e2f7{^e>vZm9Dih_f)iq)fM#lH%Hr)Z zn4-X$De&7aPWkw>dWxOTjhkOW%E-g*W-Pz$1=*~5@w#kR_e5N!K(AebmSjCHbb7#cdd9}N}N>uV0&{hrAjSlI6Eij?X&x1+H4 zA2{5{<8mEYuBQ)+{U>LqR(9vC#@?tKZm)xjU~Kh5NWGD`vOCakh%tQq8`6k)4?M zsN?tU{ja=Z{7K1&NFCX8joA5~f1)TOY)w2$VsT$PzN&-TdQk}z5{+<)e(p>iiXX7H z=2b{B&;kdArgY;B6yH{G+6IP>{bsk(eMK~;{wfY~7E15Z=ZhP8u~n-RMj<;1QxD5f#f{t9PNSWeT+l4ko=S*P_f zr)Fe2P_SdOJ^{Z*cctCg{w18f*1gg&Ne|7WGXKk0n1f(uFEh2dV|3Y)CbzgYqX4Sw z9HD2LYx?w?$NuD05B&~N?<~w1`=N>EnN}QL-jn;#>5=R-9fO_H$#dt#35Gnkv$kIS z{D##=HTlcJk>6nGl^G6~gi`pIPe4KHFIbypXbF__%DuJT5vlxMFQ4_&+C2CQ6`vm zds9--MW}uWw|+k61l@{7@Z>i~B&$DM)c+u1n3i7|G7(HlVxtsy~uMyZnr2$q|j7K5^pIq zKr$P+sqswEEHIGr?`B%Q{f8i>OeTBkdlkS79^r{G3-kdjnQ5L0;o06aPsmUggP{NB*o9}i}h)%OD3=ZMd&gnC`pF%vF(WK!*TO37)0 z2{OwX8=++IEW6D^9TtvDX=3av9*p~gI--RIVGo&%Bg{Q0Z1J370>&`Z3&=}kAR*Fo zi44L{(9p4Zu#{t?2CPW0#c)LcK3{7hMHEd_{7%lNzf1CN>1$P>Zj`iO#+0BP-tIwl zZIYygSuA!WaI`F6PYkFRz%v=`l8}&#!9$a@TWe?%^_*7MKD99Ombn2yHRQoHDyuB>7X zU$DdK58<}vq!@I|x^do;-fPg7Dg}55P7FLO8^1UDo7i~^STJdD zU9OnSq!xy?9456qlpX2oSbp@3ny!ahkjUYUT8+NnLdN>60y^PREn5%CR=6%Jrl9bg&h9)*- zak4F|J&@-G7>4GWtnR5F69?22%G_u|`9tBOx2pr1R)LpX`F4A5df^!O2EhJMphvb{ zcSdVxrCU%|niy}2Frr!kSPbxZPHC3&4WUPa%f2kC?odrvukwDVaDrX#Y7e{CFKI%7 ze#uZ&md961Sj4L1`D~Q8PIGNv>XpyDhAfU&>^Mi`+xu zUo$Wxd38qHg20M0ZN93?ma@``QeC7UZB$pIceVt7=Ds{-JTZ4xlrXHZmeCuAN(bmv z4Y8OSZ`!;-<)=M?Ng#E?$)f?p>VjD)Nu=5%bwSq1lSsD{mR?3scS+myB@5Bb@I=iV zcH%J#1LzltPIxwH?A_XPj*+rhDu6tG!q^WPHRoLeKLAi97ML%aOZz5}Ugh@>O0PVI z%wy(@(^%I&bOGt*)s>zR^X=X$@@x2FT8N%MuH>RKFMDTAzRIiDezM{h$dbc z*2_g|vn4I@41d`%T;I(m(+ zK3%4}kVe`#*RRN^kbL@?asv36HO|*ANg}FVfwq^nE`C?ccWRX8KctkmjyP-dF7yl2 zSb;qb9GsV}Iy8-u8hE-RlY@TcArx@_v(?Vh%i)I7Pg~jk_%{IMC7hr=H6Zs|rBTIA z(y7GLysf&)!d_$~6z2^{r~wYPtRJ$HD+{Dqt;$DRBh(ci);}em^F!ja^qRvFl zR$BdSLw$XY+0(S_!Lp7vV$TbA^Sfu*Ts@5MhvnQ^E%wfi(VI*P=AZl_mR5J`ERxX% zK=08>e8O5SDfwEP&0vDy0}7$9RfIFcAur`ALU|J~zmzRXh(-?E*^p>Z4JlIP#2yq`1;P=64`cYSRmqgl2PFnL270BzWZR}ueqeJOFVZXVUC(;6j(s~ zzzp2(^TiOYe~#e(%ceFRf5rFuwx`1p0RWi)J)`_@HnpCCk+X%X3Ej78J(T9bf})Ah zJB0z$k3l42G$!kcWx&8xFK$qIGb$Uc6HSU)pUT*LNGfN1hFBj(W1?3NO*)*)xmSe=e2lSa zC&_>82NGwt*A_aTxBuMZac~K{&;jS9X{SqD4cwhxX#>%tv8=QdX$%bq%jsI->)vYb!us9(Rd!I0W)KDk zk(2~9dnaga_zTmZmeMyJ2N(b(vlvv6APeBft_v1paw0up6fT6A&XJ5m7hUuaQ4h)T zHH2YZ4@!)B2c-h~r%li($BAmNfBPR@U|arbx~+T5MU%%|C>$I1p`}I_=_$pCp8mz? z_>~K z?`s)lIz6yTo%gaY6ScmYihit;*1WjOGkmqRA zqb=+n(qJ+^V-a;T_t6;vhXd%+ibjI3(040b78+1;M3MDQMROYPgC@OQr$-DV#Ua8n zHFXXq^I(doACc?jOR=zbNlUB*qu^l7vpcp{Zl(H@)yEcAwB3%@{60{y^cXWwlV-rFba@xoJp_QW6P( z3YP)7Y_@ig2YbFChVJcZh-wsFUA`afDuJg3#RW19sVS;9+jxR%NMPe$aQ#EkOKm|uwO=xbLMnktPm3PKdOL5C&S@B` z_?#Zc1nC@DRkhW6Dzd&>!QHF>NK*y+yhm}@K56jUT{sf)9?1Mi2-?Ik{p$FHx_Wwg zt*32}Y`)0FQhHUZB;f=9>)2fPSM&AT{#|VcXJzS=ZruL9$r=Qoh?voj+_k_-@*|2e zOzb`^f00Z}T#{?UkB$tB$eQd4r43?{BzGSD)u~GL}q~v#@DGEW0in?9cwAo^c*A_%<%RWGD5_G#(HUkUbDejWJq#Z42sE zoRY>B>&F9plv0dnWAx1~c*MGtY~PVy?Y{OVZBmhoB08AYh@1#-oC<~-)pCY0c<|5( z*0S=Ms-Vk_sT-$e7&iW3Cl9~d5#0SPKIc=1*19GjjXauQ>LDPvJ+GU-&9;hqv~F)?@5fPW)zZ(vIzrrJ>N0 z*x!E9;kPqU`@``lv(&CvyCfCCE)Qs#!MGlZw5ZP^&@qm561Xp`dFSjgDqkW|nOypy zI?fg>FieaE#V3P4BD)pgHS$tT^yunKs5O>(rzX2cx@usFkF0OR8GW@+{QNZ8bI`7J)5nUbg*{z+{80?MDNqFhm@fb#*e=7m7av2vE) z+#HCy#1Qlw-7?S?YI7UeMw}~^rRaBk)$h{Y?#pTrZuZz$@qu>?Ln0#bfy5U(ZfjQ- zL&k27x5p#`LTo*QHu;dVsHfn5U27*BXDK2=m&Dqd9%!enK82nOhRzw44%XaYpZU(juD9Uq8ai1yf}Ez}+U@z0 zX0IX(#J7pg6OGvJDyraq2pkJ0W;||YKo_;5HQyC|h!_k;7qI2@x8)-zc_d3}!~MHn zrzjaRA!`(2#AUS^SdM$z5$@cK3$Tsr`$t3ze|t6@pExQNS(gnG8#J++pk0HJjq) zS!JONakw4fLqq+p{)}nHphd-Ue>{A;5DueDRo;^a8)Ww(>7#}iWTJr!*S&ZTUfFF3 zL4l6!yfM}7sUNvf;wmVQW1pNLJ`!X>t62 zm}@A+p!455QYIg)*RTokOzkAc++&wmze(ypFH{J#@e|=cZ3{J>b?k!(WDs3kHBVsS zO|o6UZ3(U0V-kS>0t-{0Z8dM91~4Ng$0nK3g8_C2d6$LS$62w{dk!>r0|TQ4@o9Cs z^^d^%$fPjV17Ci@X*~u+dpK<}-Mfv|S)_tqLYE`K(5fCIAx{_j0U7RkC(1)M#QnhAHnmyFPZ7#;E0cp2Sd9u$9h_l$K|W25Si$Y zStYWBt!qLFVD=ut6eF~Yy)Z3A=pDAJx`G+7ZK5bYQfxj z^4*5`@8g+?GFoBgfYJC%Go(X}_$-W%tfE?9uXt%-D;tLxWu8Jp7!J=C^VT0Qv6Ims?1+$ovvBEPK0tQ3nVKsqRJJ zvEA|P-S)~u%XkXFC5++q?4KQy*%7@gZi%YLRM9C&Rn^BFZbTJ)BM7oN`rF`fg zjucQ4MP@!4i^lDyt&o(zw17v=J_zMFV^jA1hAZexOE%C#MuyN~x~et%t~ zz@xL&WL0U@gjFFY9Mb`wO)6jNZxXuv(on;#bxnx*sp1uY=Y`&Vq+jF=aw>M}R{p={eLf4!& za;OGSb4^Ki>9gp!o%$k}K=V1+=o)GD%IIQc{|fii5)d+*iCPJYYa z%4|(>cx{+)l|V}P1!31q-ns9%%bCclc*g$_Ek?@*i1Rkdod;hoQ^0X6+DQA=2bf|p z79PNaBf)Z|`A3ZlfDUs3I!#sJZY&s@?_A*;&PLa86+Y!MF*R~XQ%->AZBb6WJ+rgI z&L4O8r47BS;DG<2aS$?b7QqfsxTA65FG7`CtW(^jb~Z!+&Jv*Vj?5V` zkoeqV7iYtiCV;2fP>HwGkRf=f{W=gbJzagaX)<-FQj0o7^&A3wWeq%z>Fdg@?FB2T zM(}wbawt)(zF+)#Dj|yo9mfb_=(NGr&+Om0T;=I7`NiJtJmcd;(S97;$VksI=exOZ zPu98RwhwFWGnru^Y)_D+(ef9-y_qvsd z0hs`@~-YPssUZ|)Y5JdU25l$ zUV{M||0+gq*mPxvFCXC~f6xRo#%^uMo&jIc#-xiYO{LaIbY4iv4RL` z*vVw2?#Rhv2o5BE4w=H^zE5mS&UXi(#9UCOTeaPSc z2I$s+*zR(@8!oiZohSL4hmu9W94a@t)2)`MI>70C4 zKn`TR;t1s<{C}{XAON)F1XWm{(%+qF00B(s0Rd?Ly|WA_dpAc0MmkG-v!9x3%1Sn9 zG7ty?2=N5CCnPAO2n2vc`N*C^aqloPKg@*{P~^#3LNFxFg=cIDJb$Kp#c%) z6R4IH1jI*}r2R6&GC18f(!9D|{;Zt&dTlv9zWPpmX@Z3>YZz4l3J`od3%UV%&;Zc@ z1o?aceQWaodi>+_wj~re85Ix_6-+2G9XMfCzQe$&P(0BLVtJt1mqLVMenv~v+MJ(X zG{QRMaA?6hRc24==>egjAR(cmsURUM)z1Z-F2B#*RKOFAkFXBKfB>cdXcq{?Q(XT6 z*q(IA=IQML-Npyp2XeT(4ve$nbLh-d0_g<>321E<l+;v_!G&57IL5{xQV>H+RsGG@tj?{* z?glSMZzrTbJG6~JM9K0vf6z*;wuh{!xL~^}Ig_`4cz}+wNlEofO;v^2%JS?K`?AH& z*_HSB(&PF31;EPQ+}${tcOWC%i}TBJXJhz60t?D8!7Y;6t&+ld7kDcETD2TuR zSM*o7)IA0|Iy-wfws-UyhsQw;v`Cu=%1&p=q`m%^IV0%?312v8RY6s*o(BAv_>F(M zMZf}8xLY~?7u1E_=qI=S*cW=eAK)8%HK;!Ug!}&jH9*S0{P94d08_wDDc&b5x&53M z;%1ZTQjADT_xVo3M-f{A{YxzGB5X~E!o~Mypsf5EdUQ1_GRP3p&16ZIb5RH|GT8-; zScXE#b}%A~OYqxtnH{*7JHbU^gDOpcN-p6jQIG(#4CP8F+#Vy4@#qQcWAbZktHwch}gD=1Y>c%8yBgN-ZP!5-y9X-g=%di&E~F-!sbh`^+U zBr5kGM5+#qX^f8@EZQ1+B25)meOx-U9E`)#eWrj`5ElT61S0~iv=x|4KLLUrfj7010+qyB zLHOKxx@)<)%D5!10ZheM$jx|PBoY*%nO~SZVE$l2S2&c$(DS!OlUW9Q7faftbFY5r zYaT-zKwDoJBDWncqEvkRUYQFSc<1Pe^lX)O-XjrP&DNL27`ch``&DvAuC1D-uHm!R z0|5#~09bU^ks6O=eUD`#Nhj0+hZzi@MAt|Mw9X+$V_o$e72(Ud-H3|h77Y`69GXZ3 z^NuS zovpsZ>dG(NP^z>5aE`$b8C1&=x;VVZkq(674*c9k-56&kilgPr0Rq%`z(k}c(w*13V(w;XV zU-v@9qOxvRY!0%8tZk$EIA+bZf{c=Cr1p5xdxj%lf4T3ddRcVKqix;WFcQUmknNBE zL&ycbQ7u2-eWRb3?{!+=c(K-I>+ukE$=1m>81VV9=`*|Kw39>(s9!~JRwMn6V-?bR zx5r)Oi}AP|YyNE^EA1TZf-~uR&I<~k!w217Px{1t@T~62EdS~j(gIog z1vqM0Gm6!W%}UHVygxt646*^ESG@ z?U$9Ruo%g}BgEIKn1UffE^@(op<`7{v7dF`02%``tRX+((2ZkHgaFD2*o!8~(Ywa% z4%RI&Z@C|Kqz<-NAw!)p=cI~ZyXtkV*QWFAtPJY@$`7++W&pAFRsc09OB=EX1k?(+ zz@lB|d9;t8ALn>|etENey- zLxP~7H)T3KwkCy(c}du{HV5h%CVDe&nGEhk*!CT*l*|+LNRU8rm>(%Mm>!OSF47^= zc(_$x1UgVl7iemC^+ZSF5%YB?AKpp=czzuAo=5pvz;ce`xe^6gc(qE~QanQQX6n@{ z$hJm?G%Wg<>b8M=8-*nlI16A6~{YYgN6j(-pEgh3@B@gl)A5bL3`kR0(z~-wUeGWK#3fxR7fa=<24Fxi$ z$4wzc<=mBbjwS9C#Ro?L*g-4F0>}3$stb$*$nOZCx&UBS(Br%S&KkvJ0U$UlkQgL@ zdMs0RxH-zTu*a(kK}QI#+1tGD6c+m@39}S2l^zXUrWOT-gNY_>}B;Nw}p4*&vZ-v^xj&}tzaa)S2@DxkLPR358PTTK!^J7A!ic< zdo5HbSR9LRTfK;V02sRV`2+q4Fso^)-TBt!(&oKp-*F*`vOLUqC0Wl7jH&~gr#QI) znE+`%uAHGnHq{jtUk!Ig%p{qqxY~mp99(S^@WDA#is$o}9hL6sLm?mhEW-rA!W|)9 z#@97GP0!8U>4cACErUcch*LyJU&2iNZRd(~pJ^JFLK?0HWkBZo%MWYB9Q38#9*tWIh8;ZI*_<(6b%50`3fbQgA}!o@UYrfb04=e+`EAu{&|2Bi6D` z@4Wfrobp^Fc~0M}Jvu#60)MTGN5@H+&@7;b?Y#eVu4KPO2>$jQCy(m>zQW3>e3c{M zeiNchEgj$(3Mvmif6H`Q&hRwZUobmb<4B0|y0``MR{hz`^c*_Y!$}|zIexlTPiKD; zP3o6!DRS=v*X{E-LKG#qg-6TaCUr07`_?F!)Y5_qB$&)&@c<<2QhnMgnh&fs50U(% z-a-=u!}vs^_MHXPMy*@Ll+Q>3>hH=INQq$3W5WAe8BhQZ&G-A2L38G`3z%Y(N#LKtjEK+RKi!RAxAo~mawWETuaj5^7-HDit8MK}y6tBr+)8`TZX>oV7mVZ=_IWbI3M6@f)bOD7NS zTY>MS_D#BG5%FL#g*r5kJnlrU4La?2xstRfKtMvSqs8Z#p@zCWN~op&eEpsk@odo# z`xdl~KEeJwCMBbIZsB$9vOKgQ3%j_C|?cDsq(LqybT3HtE>&U{4pjH~~jdcC$S9{G)6qu^x;f{mvVlS${Wq@)*FHh)R{oF7|RCd9Rn3VlK zv~5FUJ>&b%Y5M%ME+%>|*{qH_>P)!tQzLxnk|{!hW&S(F-MUsES{dTSOe~fTxQcj( zOL3Nia#=z4=4Lgc=WTdT;b@G_r7%Wn3#z zK49lb;v+_w{Sd*=)o{Cy4jMM0wD=t}^NWrH@EU`^6 zr9`gBcI+-^yRHU3GOVrTqy*(o5<3ZaC{n~y=HL0h zCsC0V2B|N80q(cHA5vHgp;zeYj$XNOxy#D@k2lq04n7cSG=0W04RzF*kwu#y#iIrq zj06JHK219Od8T(Hbb!yvC{S+O&$|b#R6b%7_r?R3+&$34gRy<|wvPauLr%$`0dOJMW^MkpO z0ER3%K>+q=OW9kdlxsmLLkVVf$j0C>^B0bj{#o%g_L_Q^SE{NYxpMomc~0(2C-(u> z+|Awx&uu#DRKC0?2AU66x9DeGlI{t`~w1a~tj)6t(ir8YtjyMM?GTVYO*qNv^p@ha0zd{MKR9 z_75Nd#Rk&Wj%ST>Fmi`=9{y-% zp|O3H1g;x_yn`(ve}pz^WU_K; zD;OTG4R6vz`6X-3vj3#|hXF2)d!JP&*3ZC%7&$jSy!-`d{_XU(4<(zV^i_27dS~}k(Gaaqu^yEioKbybKVx@)seu&#<6u;W*jrw}w_MJg#U@-dG( zT(|-#gliZnKxBTAYOJSaXO>4ubWXSAmu60;I7UFnNbpkAYi$FIp7UGkWj-D`c~`8vqlG)D4^GySh$(7f58p6TABm_RZ9rVb4 zNI{VC&4Xe%c5p-dZU{2tryojEt@&=R z?_b=8#TXc>(CUJ4OE=Ui!_s#7o9+}B9UPbuhRVF^FvH{!nzS$yUCn zR(1Mp{Bi>4lWxyG@g{m}dv&gzHP5_2ErlUu2kFRh)2ow&>U#y_c4_G=6_qVM-13Ky z-0F(d-&6yD7_UsFg{OKU zh`ppN3}VF^Ix+-iO8A+7gmRb7wX3^x7oeKsC6qTd7dzcb0cL$HA3~4TNQfU)>%yNJ zu%{TW4Qfs*L`GX zp-4&b%9+t(dVnR{*6Sm?98HR)LxFH>=r|P77v;jE5H6oDRthti_7hJ>*Qav9=Ev2Y zpshlG?K_eHE(!DpL`zIwULHff0ACPo1F+b(j?bV@gg}&d8@b_etbMkf`X^|hD~WT zzFF#gN6TnyYOIYNp%7Yf(B`!qv>XCiynn)nDgdWHJzZ=<;a{je63W3err7zyl~1CE zdD}Ow>h$C!^bHHtmVOpAJ-kHv5_8=QFs&skR34>6LREY!j()cIAn;6@_q-Ewh~1>6 zWqhNfTC`u1nV6|5-eu@OziFGkjr}$|GgP~Z>v}$DR-qHRt{grA^pJm68HRN`<(ak7 zDUJaE%3X(#eV@>9pY);31-*XLOvlX*iW^zaK32MZvcAqx#0l9fwrw$eTLn;|O4gSR z?S3xcllPKN1fxl>bJ10};ksd#=|Udm3b2A?H*Hq#K!V`^+WtYAXc!a$fpjeRuz{o) zQb%wRYXrR&<91Z@19qc>F9!~~M|f2GN^5Q8+!9#ws9|bhOe2?;3(vvqT!?Ec+QT^k zK@Xlf58h{V+(%Fo^Qy73iK1LBMglQ)R(*Y-R>(=tcHb1?uVb_W&wIc(0fIv?SwdWf z;Z~xdE>%O$C_}?co*B)^k;4UIGKc6|pvP~`C^2p5ZS<{Pl-Idlfa;4UgxnYmH^bBL zdaUY;N7cw7D>*>(-I9aujFY_lS~kuXPQq7uA^M8g0}ZkN=W_GLP6B3@d;jUh>UhZ#^G?oeOv1St-valh#@0 zn`%Wx!FTkfY8A%ekbAo?zHnKhF%yoKm!=vEW1MUK33sD$$UBn0W?u$1^69FL#o0tk z?eA6O`M2D!b)j&%W_^9zVP4*2nx}IeQ;-6W8Hx0cHZ7vNHQ>GJU}MSc{0dT#^2PX8 zFTu1S(2fV;BIK(~z+BM5sea1pnG)%))2F_Q>UcKFt~5yOIpvz~<>iu+Vso!H<5er3 z;WZ3Q*6;=ULTXS2Qs5ivfi*1JK})I%k?+oTY|Gj~fuue(#?^fZnlV2!mmKXlE>#1%)vOkifDhp!U#}MwSY{_>MVoClBY_lN zg^gqwhNXxqH|H6L`QTG1hAtp4SGgDs3)=)2rP^0j!AlaQUq3j{*8%$^CF^Cr&U%CN z0#$$bYvM}~1|@PY__+6t#kvLV1R5W(a9UBpYOVOSw3+^P_q?O*LS z!1VFn%g0&4eaJ2-MD-fGa=k9#0tLtfp<#cvX+E$2I@L`jkK@*bS7J6Z+cW$@0Su~G zR_u;_M1bf6q!86lwCvuh%SI-|p)R5{QleDv?e~obP5z?h!&wD&F+RJ^9Xg=@UHW*bX@39^#f$n8x;4H0^ZTtV6zB{ye1le|43BlxkNZ5d`^ZbK zKZAR3Q25=>cNV_kwnHIZa0bg{DT)WRj&o0&vADz#!BiZD7t&F{to4cv_`-)78kM~K zWrzvGDzXelKNpJmw5-cmN9TFETEyX=MAUXKmhBLR#a%Rnx+OtuhEIa@=4BauoV662 zdC;ZVqH}Wh%({p2^wjmQQn$(_H;q>+G830wl>PO_@K8XHrC$c&vr#08kJRX$uJ(n^^Jm*7W08ZT-5>2P4+wrbRC-kSr5aTKO4Yd( zM@6xH#Oqo9Ylr%RO*YmIwlZQaWh0mqvJdTw1XXfyxu6rEHUp~ZakXENXs#nTTU^9Mlr=BhzUqEw(SnYd0(G;D@Fc9T zdNIy06>ss7ax&J@=`p8RvdNLJ*t>f{7}dY!9tke&3uFXk+dX_?aKys*C>E931q7K* zHuH>|JHZ|`G&zp7`Gm`ba$Ik1hbb5$4vXsRLst!wzSOh>-2!_i6Ji~$$oIVj0*_q| zc|Sy28c5}}_4aMGd@%>hN5Xis+Dh7R-RvXje3UGZ?kBrH!kj==X)Q&tkk)nwEDWE- zm1}3#9l|%cf1>s9pLqEud-XGvAv0Vl{Bl{*T}4xx*LMS2Iuu=#{~%otr(vJv9ZEGg zNNaQ`>3ss2Z70qYzEbtM2Yw1+G2&AV#RFjZmzvKGYubm`e`@&n)}*Z2tx&tDe^|dR zNbrJ*TZD9n&G(fwH8l#{-200Btf*|>2T%SBmv$a00|e@xKMAuOCXxW9FfIm%l1k;= zfGy>4V;RrU-M@O494_S2l`FGEWUAqRtn;q z##GzBYObX`~v3(<*(2T`chOq`MCvp#=xr0*YObq1=Q{j3c7^|sdc=y9E~q~vIKtCe%% zv+?`(T|i|7$LhuHH^GTB@>c0wuT%~}^|cq8elM`fos=bP=dCS1JSLBZ5sRj!uf2Vq z9eFtSspmk)rj}scM)TT@iG5R(^+He&J}fyDXf;LGm66HPqkg0pYt`oc$u1lJ2PUyO zS1WCCLuDt zeK`}g6n)_nsp}K;$1A*%I1=H#H4>qW%4vI#><6*$Ul#8`xR8pQYlm~8F-))JoCN8o zr&NgIZlI;4lt0a~OGYNpq5N*3g6%|)YcKV27I|-&!+Y))tIeh_Aat1SV6^S;-c+6v z>Lr~>evEHjRM8%{P0|0&cAxYn*m&CCr}b*N8<*qjE>MR>^C%Sv6@UvvK(eQ}^R| zZ)z4Mjh{6WmyMu}n}}N7G)hUbzP?qB2MFp}2xjFMLzYQNvZCpMe5UpFhWO21J*3o8 zxxmZ0jTN1A^YtWkG@x#Uy*FoKw6ES6ba1#yc?kQ_&@wmB5$jp_dy*OoUiR?ylUr{Z zMSs)hoG?){m{d+SO4)I zv@V`0we88BlJ)!-VAgY@*yLs$wDG{HSt`2@B?+Q^IBM7mj2Y|k4=@e^nVQ+?NmL*TY7k7RW3tCmV!PW5U!ilSG$^4+WgpDQ;$3rhSd`@HdDzc*Jo2%JSf}t=W z`FR}ll&cJ#nu0lPNO4)d)UfD?HY-2t{1nkJdulDNo)--TvbuL1)X`h~{YphnFhzl5 z7v6DMAWU{fSgiy2;%m*mDS=e0NFR>FD;p`gO&u=VyUH_8JCI}R6jiR&nX#R zRFA^D{^ElU)ePAP*&F(hgljGHNRZS>bE56z^uB({?d!yP)d-*sp14;PbSdRf^Hxi^>2CmduNXKD6IGnJ1ReQPN{m@*sur2>fIhNhM zWF3ue|3OC+Td;*|a9`KG9lPI|2sE{yJbdDJJmR*h2SnpSN;{sPlM7XbPO6n@@{Xav zy@=eW&&vqprE{`B-42Y>UUPu-xD&-j$*B)jkxRNZ{_bpiCS!A<=1H{5Vlr($#eJ54 z8-Ag>x&E%&pDpBX+kP6h2KJ#z)!ZP`NV$0Mb6n&=7d!(wQgd)riE| z+(dS)69~aGu#rWIudKWH`mAF+Z5t_mze(6`V^z?HX9Bw_-V-Qg<|5A{;HOsU z;U#dV*Mp?uk#SotHEZW}i;@PRvws9`xvMf-{d)TLQQ{;Ygk{S*=TK4#P}=F%Zu&O- zn_!g2X<8QVRS;zDdXIMA5LaXV9i?5A#vYEj;GC(STJ(p}1~d-_-t-TVbn8lXp-5vOslHr_z@oyLbIy5E|L&!hl)q zc&M~vjap{1%9p3Q;IRG>6)KHJWye^ljOv~D3@1WPRtuym{(0UsGmKA}&oeKt)KMYR z#tM=@_0@KFc(HHMBSn5z5^ys4PV^bOTa7Sc#sf0+4O#;n)w?DB{0cKzLM>RTW)m?z zQX2@-fzX`?^J=fTI*_kaw@9=J&Ac;MJD35Xnw}ZPc2FK3L>~+tzjG&#lN1)ki)1qp944R70AvMk&9dO>cUJ&pW6Mt#f0(} zDkWxLiwfnvR;byh{*>_hPWRNI^M==I=uX0j@=K5=-CJlPkU0o5c>{ORLDg*X(#^Fp zoQ!6!4UU_2e`EjtOJ$$;shotF7XuV#_hz$kH2Qt(=__jo&el>54MRQkqAX*)Es0R;L*Fln>uH7{k!tm3^mUY@I``x6JG1NUx#Y ze7!KIX!|T=Mf(GaC$KD25i~~@X2RrWG4OP&k@uz(p*bCf?5}K;Xv(J+Bg&K}BXTVP z*L_YFIDeAE@>jlzoG-|9$;-un^!0TNNVAIm0x9mr0%Ai_%NxzE7iFrHZYS9eW9nX{ z(p6k>B31|`oI2vs*M_eO(~mbA`UoEAaTBaN_pP~n)85lue+-{V0di*b@4m?&D?My7 zE|eM~WR&Sk=E(Ec?8|qkC^^p8p0p0_xk1`d51-+}*Cz9z3{!G!*p*sQw&(`9qU-@( zOE>IxT81-bh#BY*M7u2_eE%b*?doEmmNTIR;F{wY#uIc=JfJR%3I`B*9{2f<9_`-Sj-4ZY%8b&JnvMaY7VW4ZyNuxZa>dco$A`5|<;e+u zo^x!sq>M<7`0`CS3D?(-kz^vmgR+h^Vej&fkjio-sji<8A8Bsty-r)_a89UUG*yIu zohoVNT?gcHiZ^Pa73yU%XP8g`QfUpNSKmCV%5Nq+as7QDAFeOiviK ziFKxB*fJX9YIac@l?NBv5b@1Rbf1(>%OL<;1Xy?CR092k*wW0p`Nl=^brw=|H?%H1 zjw$&333T0J<6`eS&o?<^X}k^lsI`p(toF!o?P$hE(3?Q9+-Q2j3rHY0$IM<9aJ6bI z=Lw*4_{znOr~#n8R@zl=Hy5=bH7D48-L+3b_ML-88@bkUq3HV|rKFFAzkdkF^DWk+ ziIP*rzm=C>cOpq$*xv*Qx*j}uD$aes6jO0Ze>AOsy}`ie`w#^P+K6-x<Lidm*zRvLIHmOi=u!276@FxrfFHP0J1WaM$`^gfRAii! zXUwYRWMLq4agkU^k4voXi@Z7qF02U$_W~lal!9{&%@02t>`lA^BMzS*_@rR~WeBzd zN9vN$8C-=W$?v+8=(f|8E}qlG{Fg5M0|!@Xar{op-TL>B$_JW@n}k2TTFPwF?3iig#?M18Rq4 zT_soOQon;de|d%}VJL7$;KozJ<<_rPMi`|wXdWEe_UEKY<}~IPfOzXxIJfhC{gG2y%<+>H&M*roe}8%k%hJi;HUW+)ZH^CuJ4a+?M>p zh3(ts-ws`e{FX+^_K%GI6eyoMQ`MfVKXm6Q+TL%LZjG!eE^h-7FiRcwLk@y}(8xG^ zFMF-W;%NALCV}}qn_Z@N!iV)|!PV$_fYgVV^2v>@&?vX#-jL&IRhCejcyV)B%GP(B zw)kz1RyQ1_3yYI`lmS}kxZv{h|ws)%$cGQRq zh!ATlBNyo0P78@ z(cW8zT(ww!SvQ1n-lK1>+_!pl+CJEN;rx0?J^^>48t!gA^Ccl9v^KNy*|s(O==a(* z%+UU7p5rw!Hk~*DOH%r{aObklnFM~N9G|O*U1|cydz_aH>iB%70A68z_`QDcZXVrl z*mw3y)YUrG6r#y2dr4M4w5eEKQqv0>z;+4T*jvXAC4-$vwb6jsKe-l?skIE?_AL7+8U8~M@>_?4oQ<7y;mwc_E7J>AaY_^@V2hgV>$Fd$^h)hg0in`I-$ zvr$bN`S8{4QMUO?Dh7zGCK#WJ`;5NB7?6KKFU%%y!QC zpY#9cd*AQ(eP`Ym7zjAfZK)Gzc;?f<-wYjV9W>z%7+AZ@JPr zr34YX=u5A#pa0=4=jm`stI$dE-kXe%&lNq6%M5?nXDD{YU&>j(<^miniD4gevD#F& z2_Pf?>8KLonKqc2THodEZdR}}8kPhzdkV{2Id)S0HooR~=KSw9o6T&ySYpEIMfOrC zn=r^x8)lgObY3FCn(G0?Yc(I2$9@v4Jq@w*{Pbh)Tq-5NPkYF9k6N41 z9yJfrB71osH2EKT4>V!#b8>~Y7uUa92N_wzBsIY)B~9L_j4PsZgYQCRbut{FB*Kwe zI6Cn7y!GNSO9E%vdn$^qeLk-?Z0J6SP~ZuH4ShflHRs7}vul>+M|=CO<7dm|j|D_5 zt(ro7t-?T))Qg0BpNQ7K=7$4KDS489yM8-*z2p>o7D@_atJIveST!fd!}Y3Zk1nuR znq;0_vd4d8omTRIEhlu~_r_@c!k0@eYKT-z_?xsE!7fwD9A#^h8kee`xRePZhkFlu z;jzcqaIGE5B%XQwm=wU9^}6ieO9kXTDL(>~;p5l5fn zSVX~&uk;OCHK^1NzHE1e2!ZXkl{JB_aVRwFgj?nfTKQh7hg)7K)Gnhf5oR8xEHigKwdS+!l;!n<>R5ULwg?f2?Z> z5%LEd(LV$g@o&8t+7+@9bD!1D_IA1l(C)Zu$dv0p45FDy@lA!JyV7b&!<_E@gfq|H zQOw<&)c49JChNyhAC3iUhdh_TGaBIEXeW-L56eE3k;Oz-85EvM2ZO9A#ZkvI5jSXW zG1aCbcf$Ph8G>{}GrKDj52~e?o3}S?v(J=n)7~1ztQlIO=ZtWmIGkHP(ZcQ+KM_e2 zr&6dzSImtRSon$Du!O^kOc-v6%gKPt3H!I|8`x#bLqPXr9$y?s+Vq=;J80as%dq=h zySWtwl;iRDZTY>#m8IYnb;vFNJejqi!gsOiteLK*bS}hGVwQ-kGT+{`&<=C!%;q(`rY6GnvGiUStWZQvrq>1l_|bubLYHNU?Z}Ct4{ym@hWN z@#g1*PPV7clRWH4S8MBxRg`T_#E-;|Qyf1{J}hp%zyEHRh9-KqxUXV`CyVJBp_#)H z-)Q`(7T6=!_;L`2Kv9Wc2vSyp47QZ9C&)IS=zF=*doM2SXdNXD zzYSzZIfLP|CBg0O<<#7$2TqLq~PJkFxi63R+ zL*YN|EZBgud0SKGT)8NE-$__Qg)$IeYRR6SpX!omq==*|vm@#7;waf#Q1xIiMD}ad zOBKD1+YMPXndPw<{Uhz7`;HkNH-mmg#s}Kp-h9heR2QFG?Sg>{iv$rP9|$hJ+AjN6 zz?<_2V7|BrQ048Hv)81|1sVuoN#j!SbnBTv!0Mykma?Xw7{{KDlv0g8yXw}y z9%iC{GS7(MuKb|{omt;8x8KFEGha|IFMDF_ef>_b`J&P~emieuJX9uTV~B3;0f1r{CJ!;NqN1d9fQj zWqlSW!}XB8^LaN8OS<|jHK zfnwr+w);djf94y2Md6E19b$){gd;iu02Td!{tqVr>u(Vg2&tt|%lQ_>%fJmvq@h{j zRc8CJ<{|?j8zfzW3$XAa*>$7|EI**+2RcXnO1uv=GkUjkYs&)4+RS-ce@Wh!u z8r@b@uU1iQ??>4NzuO(3_9|O7{R;WjEV_`bv_>S0W=_9o&`WD7??aMA$+%XLyIe#s zfm3&bQcSV*vBTUfCn0Ei*Ieg8 zmUL7pjLAk(A~9hs_|g(LBG5sHwG_8P&z8XI?V356EKpEC-Li!G$gzTNJ))w6vyZd0 z!n1tKr5|nFRk%l!8=SC~(o5F&5blOs%x93J9UVTF$ngGpwSO(eZ&ItIrl>{)a%mx3 zx&X7kd?fv&u_|e+BiBPav@3E_fK4zvxpl=L!gN1Dj_aQxwgWmdDp0?M9t4ZAG4E}T zQVqMwRtd!f)x_gSx;D(MN%?PCyKCoRiTmGzPUzcQWn(08NTIC7BwHdY{XdogLQ+d$ zP%N@I#t_zA!o1sVpj>}=c~zB1bAMkExJQl3UI_bV?PO4aiCETIS{ha%^UE3~8`>r( zy2zYM9Eur2n)J3@cdeaIvny+xCARlHu}@{DOQNv>W@)BDINiIY`f~7|E)%EMEp^KO z>^6V=&lHo<24Z@cy=u9K@*+TT=&ot7`-+&D42I}c9bg4W+B;#(`A^6DDdB^)pNo|3d|m$@N}iaZ&5zX`@!s0@qbJE zQ2~b?XO0A5Yi=are25X`;W8*U=1-QILsb12I)@vIfWm|D#YD@f!#$q=ZolRMZQToy9ksXK$$tQT^TMCACdlvBbf#li-l^5)|^X=0LU6^~R_(X3guGYbR^K+}c?p_}Qdjzt6>N4L1x*GQnC zByEL5YWTS)VLSBnXts)LLTh$_G>Ii_`lgOMq}qEouRJoV4txC63Bi+z{U(=7z5OR- zYkkx26PGpP{<10)T=WwF9nLf?8jBn0--K;WRJLG-2TXQF5&lvz)589<)+8*skLWAc zd!cvfQ4xYPr+cP8uV$#F)LRPk6vm^KvWrLLR?fzS`yVu7F%p##7DN^j4Oq7>_{b`7pQ2JV&oZ?V#uZ>`OA)?)0Lj zj#t{MQ#t>j_|`G+DCPbD3yte{grgBG>;UDTyqRP`=}Z>*b^VN<7D2tNAU?Ec{DVlp zlJ_b5y3-5u8MX@z7JbQdcqz_-18bm+C4l;rnBE1&)nS{f)ySsNHSI;9pMX!;{zZ!~ zlCE&L5aGvna@Ud+ekY@33@H**q|t%?)cn1H4F|AnaH;efq0Iy}V**~|v3 z$2D_C8?z}QnSf@BzfCiuB8aGLZX_R-i5o;kfy|kQf&Npl&QxIThOgYII{zFKZ4j~M zfCzw%axx`Jc0b9(c93XnV5vaH#9NiC46G=o1pIRZKXH?~+Jn9mK>bjzVx$*sDT{8i zsNFE>Gw(wTvRrwN8iNzr`JFuTUI(E?L&w1spo;Cyr_BV#l=SL}F51{+!aA3*oTB}{=;FcL+353(%y|0*-#|!YSY3jqfQN}A zP6f`VFIto$CqHqLQcAimUD!7GiE&L($euG`=DS;(8B{P9xTT%gEtPsZ%eUi`t3k+y z0x3NZBLYHC@pfL;Z@iM~AE?jR6nnK(IUp*m_YVWrdhm~ThJjaW#*xLXDXzstFW7Pb7OQc#QQnUif<|Ly!r%6G%s-k~q#6v(v}n*CC~>N}6e?u&IVGK}Gozd| z=P|K(=bS;#E%59HTv38;yJZ1RMtDOvPohh`TTYX(u_`vSD8Rzdv;;P1`tPb;TreJ-Nik9l(!RUD@O12R&87q>CL9Y#EV5sYL!2V_v(TA793nA1cjXB!qKPEUZ8&6#jC z1gI<|yQuQ(m0T63eVSIIh~b#ipdwjkVjc~hh_gXid?<@^7g-uF87(!om3{EVd_m~0 zdxL_!#J$PM`lo$LZe(N~{KXaO*n!7}ZD!)#5xXC4*_3eqpmwFF=|TMW;%t%VE`V?&48 zUKC`5?b=L;X3oJ8<^8(&Ru(N3zId(%_gFe;`1wh>UDlE32~D!q+OsDnYnGIsZAE^n zZf^Ypgzu{3Q{3YwYXo<|XgY!0`?!zHIuAfd_cufY2G>R3bG_z{ zIh`26Q9J5&{zKcA^f}8{I#D3Gpzn^A#$G`UOn>xAJ4dZ76Zh7h#g-Yto`l(A*#2%z z3kabWXN5j|3Pkab*_fTlTu4sc?==~*ug!8k+P+(AE`C+cDx!xPVdB=nlv{kvHZYvy z_u~aM%2_XHP{yQtN>bU{XlYMN1ti6tp+g#Ny{WoJhUkk&Q|)ikJbn%*dFFk$b-Q>a zW7Pz0YZM=>IJauNuuCb<8FsIWz(XVO-3%;#6{Ac~g!N~x&8Cuu4TM4|ecG^`3Jf!P zQRZY?E(cbbdDZGLCK}vQIf;i>iTU4$RdJLsk$C`=l`dEAn^_c6e)QW{Hid+&ZsL#| zMVG)0pt*ojH@eUQX0PA=P0jUKjMicUX2pI!3Q|;V;ln;N zg^rJ2HhWJMwx%i_W3n3SQL_Q+2@pY_<~p1y6atziDsjUpeJ4OzlD#L{3_StHaCRX} zedef0yJhUOu@MSJv9na-QZ+MDI-ya@UbcseHHFL%E#&2b(7^uNTwg*E=18upS*|LE z9bba>j5+~po=p`+=~LQJC;}4nA5H9fXc+L#OFhy_!plvy>l&xpT*K2j=e|-R&PpN1 zrpWy2r?jK@SVfJj>JEMt!NK3}JlD~j`~3S_zC&86||j9ic%|f z;{evnwUweB}fM3V=;YiFQ5UVJM4l&^4@=xMp?|*peeWlWT zMgIW#l1fk>Q@CcoDeQNJ+dMwwwcn4Gx#fFbtF;+ZtB;yg^?JYeEO+lzzkYLhgSYdj zb7V@IM{_+l(n5YKd`n(FOCfD=X@y}}_hbGKfTI8=h#Sks)h{CK2Y5G+6$S(RmL$LHT^_%@g%iBHgz2h6gqYOy? zr<=PXo;Yb;cS`s6Z#cN)Bd7v(F%-n`+|onInOHSH;xI0_U%p5*bvh7itjoil8&=%F+`W^|>4w@`g!iU%^lV%-qODzZZ(vlxsl~0w6aEpvluj$C zs5iF6U?iPIn8;D;K9m}ZNf;V>Ysz$XObd2^THvD1i8d%_cRcea?ob;A82@!A%@jI! z6o?o+w`zu=fSbhZ%raKZ(#+{XY-3Esg982?{GrBZgMS$ShI`A*JNykHlWK(6SaE4Y z|4T1kq1TT$_hK`yNNJn00z=RDOv#~?9cbKo>G*Uzb7M``(?<;7r7+NJaesSkbNsJxWa)6bpAECo=0LsfV}=NtrA4oKUlT2Y zPtnc^>awFQ3}~S5vTIUZS-xro-p+bp3iEI!`d`*JXciZ9x^?|Vk!uM#*CRFrgR)2} zuw+ZnkWB58bjubU8Cq;asvH|lN{6x&3`jRzQ6CR0_;b7U+uXXiLf;zgTX=DSB&KG;aRJUU7Q^NjT@Pgd|>^KTi} zN>1KZmjYsk%2$NqX&L;Mk=iDLfzdg~GI|(5LDai&?n~nf-~MU+tH_`@OPpU*R`z|( z#<`(ezMsdXR8Y7NH`p+`oZTCYMJ8J?BA_FiGD+%ha;atCygu%?Rr}HRlwP0AGm^xX z1`DY}wL=7}SJ#3Ix0n6Ccf6c&zTAl%(ylyt{_Pp#8I0{nFyMH%--YLivETQM3;%rk zc>P3-RagXaRQeB)XgSb#eE0~|3-WOJLX&!*`^-i5CfAfran|W+pT!?;6ynmvcPleR zo<%&lNj#O^#P8uk@xf-vSYJca<+WcCHTyKBPeDEX*Q^br-JU&2Q_lIVwIwGk?5A!1 zBwcN~10oBFxn^h)T~dJg@hfM3v3c3aa8?G}Jp`-wDG?Y6s$~lQoWB9K&tU}V%>LGj znfQsaLE$NFr!)E>#M)zuZ;o31ldZqku-5TDIaC)ZD+QxpX)ewuTG;$M4z~?RV3Rp~ z3Iqp}oDMT!#aV4m*f840(>|<^u%C@}5kxHi#F5kbW{w4eDJjMG zP_+Ok}^f2-LpdQ&~{T)|nZ1>xhRrC&N zxJ3cV?48h!%RlfhqX)LiuD)ozr%eHi42TWD=x*N1_K{8KsoB=}fU)kP0~*Z|+kWt6 z!g43gdJD}%&kf9fQJ8F;VK6tJDt7y2Z(&R1Gd)|(BfZcau`IQmLagWKgRlE^O;f#2 zJ*~7vBVC)OPdLVyeZr(oi8x{xSY*!hAD1Z3Bq5k5on(&G5pL!nMrM8t=XJ-dsbsr{ zZ-2oRF}}_->qcfS(o_dS^z@B7=qmBIzv^Yl$Zh9;+WzhkV!gg?o)awDMo|+t2)FB$ z9&VM*O0}IV#h;J7TS}2I>FYVLKaEQSlAm&2lMpd-c8?w^menOV2g{Rw;zr`Qd{G%! znkgTx=`wh@dkR6>yfqW0%k(I-B)e}yr-z##sedg3FXND~eJ-Q(9{AGx3x!!CY%;++ zwE11hjAq8V6nVJG!%m$=ndrL~kgH#d)S&)@j&VvJi3*iMKcKCn<8p!9mNJAEN}n!p zdqv$&)fivH?^hCGlB;SI#r%WI(^9aw&FqcR$9N2&1)g&&Y<3Y z=@BCkgolu?y*4$(s;++ezW(ma`BR^2Coedd%&R(&f4{O2`s|b02fky%@fv~3sjpM* zSvb0NpA4tJ``VD#=hN`{W(yAJhWKmzuu>+?yY5IqG-sTTH0kkGo2NlOxbHbAn#@}1 zVN29gZfd^xGGC%wl6>w5*Y)5q-DkGS_B_>w>#XT25b<=bX%>z}>0JiTFXQ`Z=G@Ox z>tEpUao*=O=F^770bo2Vc7e4 zwvxwlSFU2rAabXX{pO&Nj5c82bx{@=PqJ>dbQ3meZMw_;$@_yR=1bI=G>a)CfK(t) zxzlmIZY{&solm&U6mzowwtKq1=D@s`t!v90deOLFaCT@nv}_}vhyfav`>jlL6K-jO z2G^uMPlRW~T73ANlw4C`Q zs;)8Y(_6>UJ#N~zq^Wa5%$e7TAX9zDJ^rcv%lgYFhx?@@)vjWw=Rmb>7!&x?hiQ+Y zWv%F@6Ur_seA3%8f zX%xJOc}wK|p7{a60$Dc^Ts1;G42l~*t|5`jtHS2F)agq88W7z+e{-Mh9D&vtyafOm z>A*N70eoWVJW+Q`1awefLCrKR3t)aX@7U-r1#QTeDFBrA*G18XjKX*tvr z(S9w9>%gNSSH6Hj(#{TLEvkfd$`b?kI%R*=RNU3W>*3;7l?JIp$zsNe^JLUG$qbJ3 z*KZfx+ns&DYJ6k+b$;7dYN8+noK{G)UbMbwd^z`AvT_WcSw^AZ6zk7jYIs!7KQO<_ zM9=B;o&#!^G`qC7M;pG}%!`iTnSSDPcf-c24bw5r!@0kDbUH;dE(1&N?yc?sY3g$J zM>G#SuCmyZdurdi`Pq=&03$m%51MM=Y^dpP9lm^FEv3Ens%7sRrAG{DAQBq6TbaKZ zYf{nY)#&mlO{5)=3TSWBWWecOZ9>Sq$>!o+DjXU*eAeG1;|+Cs%aU8>0`@`zUrC7o z1CY|D&-SH?F&@LFZ$ExXF+M9-L<$6?T?_IfA_zZS=(~(ucvA-Alm|o_fLMrjW(<#( zPY^P?Yr&G$JQwofHFci{3{VNL0s=(pgO$!s8ZT_;3vXm}LwUtPWBi&Mj)k`Q2}xT^ z->&@uEbfSlhK zLd0?^%_8tiYuQI)s- zEt`eJr5`MVFV2Q>ApbLgAmsF)Tm~~}ie-j#ID@jj?Q*GA>~w}?d2wPPoR!yZsC4Vf zj`(j&^Nwnui(SqacenfD(JM_`VZmZqIu>BpC|$a~)K10c?X;B4bWwUa75;;BZ$Qm{ zdzZqU>qLnSP&PW({IsbNH{1(|1e%CldbOz*A2FwJW=fvjQ+nD5aoY>L)o1hQMgtTad(e2c%N=or{}N_ce{7eYLc@nv|H^QU-IJ>;S=Ffi`7e6t+!!} zQHsZ9t*$QPjl7$zw~h0eX@|NAetm}ZXs+v#kz)s23rTnNE1cHOc;55y$MlvP?oN*+ zReTU_y(arR@M%_Lm4VOug@Hg0_?exZnsn=@!sNNA(tTv}@pI>Ef3G!l~W&5Wb}>>xsrIZHHxQio-X*u&|DJ! z0*r?mEjvv18g!`Nyq)vG4hi3d>g7}m)K|tk+WEZZoPh!1uvdOt@(YsHx9(n5jxu5rU;iodBWShsbw@m|s7%EkS>THv1WgV#ai zv?yIbhYT`m+rckbPKEN0MB8z~wwuK|&z`|PAduo?eM z8+l9_=ae*yf`esA(CM2yl#Z@9Pm0$ZBU+@%n^7R?LjB?G>OdCz~bqk?w&T=kwWbISa(dFfX#Up7+*j^ z069Xw`%3e9>BPsLp-254l~IDy9`1uXtM8?#!GD0SX~vDKu%|Pf2F41h^h9BU`D3x~ zH3me=o$()A-Z{$u0cs6Tkk>G6;#u9Y(qZ%dDq5ms&w2g_M|0}ddzON_OxvYMoBi_9 zZ@sig^Jm|HPA;Ch6)c^~sS`a$&KL|kcbTWeEt!?&texU?SxIbtYG*hLukKe%dD4g{ zoVM=dxohvzm)r@;AT1XC`~yVORPFe_X)bw7mX4A+ic-S{!5nAmb9T{dTn23D9`I1^ z37O1X&>}J92+tU>5H+@J8nKL_`q#`7C_}@RC*V=rR(?{h9~H&$C^gyh-K6=aXIBL82l*jqT&zUUj7|o9{q04Om4|zqY(SNmF{9aDl zy`pN*RgcmA9x?a&bk4RNox)yfFVZs!AJQaY(OU1FXHeeQ1cbT*>}IlQX(>5i%~ILe z>(bk|--nhtheiQHKG9ZMGZ;vdZ3=4Kvr_0I<3x_R5g#iXj>DEzu2TRY4zj|3nfgq) zG=9^x;axV!6(D{)I5w#8>B5briLy5SCmOONF{T60uNnII`NH)5V3-@6Le*z-Sn58H zUb*)uuBIzMF=%x#q_n-_(R%Q84dCd4a{KCtC}Eq?{KL|5X76eZ1~TzYZ>Z9HYKyaV z^`N|!6#VGv@3Thy3>EJ5{HHY+;etIq%M5Bz$oN`ZJ?jRPqYW{ALsRDu@Uz0@taQUE zQz;>8qBh11BwYY>SAP;QxcVT3-|RJyE@WCszAxJbTC!)^0&g@ETutY#sdCZoRA=|8 zUJ6N{^M!#@Vo5xdLZ^Xo`K-}JZyC}~8t))+?qAxAyt1#W)<#g9-PrZJc$C843*0<1`AMy_JI!*N{YRpsMz@Z?YPa-F-Eynq8mC3~ znLb~XWX!uEJNXmhy8uh5#{6PIz+}_a0)dZ+M?D3AoN)w4ziws!jac2-qAY4+w}gE& z*F*++J{5upDg89z;_|6c#$fCeyCIwNv}+7cKn%O)L1iYH7)X3A$cy0+L$2tTNjxJ?y|z{j9u$ZrYidfRhHnoyh1J3;3h}|~(^1Bp z(oo(iAECr#`4i7nPxmPzF9dv6=_%jfS;UK-`< zepAXDOBO9v)4iZ5`>(o-|C{A4~jxQTH zI-+);;x0v2hVNS%me!}fd2&TVQ*KUISHCjkJ)bq|YJz1aDgL_0&$71ZZ*b|b_fqf1 zYAdE)(a^qO4e99{%T_0dj~k>An@zy6ADa$wwT-v;FG!2#2(Fpj&Rm*5|8Ce@oi#z4 zUzI6i#jwu#^uRf1i%=}xUhhGT{PmXc9{qy?%6=#H*g}7HlCx547jk(AaMs^&6K=9zwct|BIn>k7w%t9FoNrx+@X>h^_6$DIdU)itb>E zViVn)>>~$hscV9QCm=V3>*Bjj_J@)Rr2%*tf3;L;bNR4sHzx)dWA<7Bw#ltBn5UCo zB~^EXa%j@pYpCS?793&L>(UI{s;gRCIM`Yg{EK8kv_0QOU|EOot9vcm*D4fT9#D>W zr-K2)QjM2mzzwQFN!Ie3L@hF2$XH<$irHPuAC~_{crSF`9BO}7Q;}*wvbbXF;C1j& z-6LU%G;Fv5X#g~I$-%0J?kkA8bM^PMx6=%tUpWM|aFTKcgMoip0xDaE(w#Sw$B%D3 zx0TF`XZHv5Q=}qYY{x&VmVA@*=~0NP)dT`0HR21&hEDQZ{-$ke4Z{Nkkmy%6nv zcIx*^!s++90jV*X0D0eakXLH&#j3y{zr|^)!7J(Kzy=c((hZy)(QjHa*d69gQtKiY zLBB3IYuY@yx@g!uEce2=sMGBybtUfINFKims+4r~nboQyNII;#6IH`45+R~**}B)K zu81L}@!JTaz56)?HMr=@@^AONbVDv&IyBwnyMSX&qDG989FjjDQO8ZmdEf=oEoT$Y z7c_+uydPo7`sK$!WIP~DhN^l;IrSYM#?L?lWAFycf>eu7fzruAlS;=*{!2HPk?vEX z|1MAqsse8w4Jy+Sxu?~g^dr-6s!|+_16uDNwpO5I7??G}uDRcTw&$CmU~omHi*Hn>XJS`)E3jm7kflm&%fse^LY8 zyKoDLl+$~@hDwQ4tw(?Pit*75@9od2yQjD!svT_&eeR5$Td*P7CwsGyiTCjH*6*~} zOFE4{X&c*LJSkve2M%0Rh;4gq|A1-OkwN{l%jkV0a!8$dVAUNUj**ucbpD?JQ+tj6 z4-jWsp{Qt%M@u3KA1K{w&A`R9mmn#jF{-{=2d4}CCv}sVf}4y7KJol$l}7K)d*^O^ zREfG&T=v{T8I%IR#Lnv4p@+>Qe9sb@DE(_Kad&eJ*p14RmGJyuI??uzk(m$SPpyoY zc19(^>_yKzenJ;`FVaPlIXI;R9Y^ofCA_1v7ZTwu64xBEdIUsEpQ`kB41|Oe9iqh$x+Rl z%rBM$iy9LTj~B23NG0ac6t#1IX#=BnM|&}wtry+OBW1wz{{xJi+4>)VoZHMb06Pvo zOk+u&=uTpr065E2i5A`x?eRm%HTd@R)Y>IQLtiQ+czaN`*Z1j%7nw>AG1P+W_)iWA z8jtV%>w7ugkwa}yA1T?L(|zi#eNFC_&%^p`^h6gW1&7>^d7YDq@Yo`lv(2oGjY{R8 zzbpmKe_9^=l~2E?46I#rDrfo=2&z(zYFqo>y|&5T3LxjeKdLwC>yjGAyq8N+5-X(w zt4#uP_nn2d`I8duvZ6VZ(!+pm=hWx{gGdRF!r{gvYBT1U9AJC|Ij}E!juP=8wd{w} zt&8t^+8QX5QNonvC_UJaXiA5Pq^20lkb&Pjd9mod*xXxb~spj-`_)1uI zrXTsMROUfE&*jGraixsFE}VTR>Jc+~RMsMJez)A@CVw|mKDgcmT~jHota>zya_AC_-~#;BdTaf{;&+w=jt@*t?ye{FYfSFbTZsHtpO@GF zVE;BXi9ITR`H-_ZquI&(D zRg5?WO&=|WP6Z&||EOzS**T2{*vIaEvB=(M)b2JqtnN))fd_v*FEr@F7!>(N}Jh_FR?7pwRv9V;oLl9jJPW^RnYIfK?%}m0C`!VEK zQSEYSU03WC^JmhE?vMRZuiHec|NIZ|C{ATeI7JAfPuB$hyc7nY>htmQRML_iv?1!Z z9g7{Y_lkme)z$?kr5JsBSG8-W!)!_Jx~;(zu_a@p{u+1aCeKQR&P@9r9wQ4a1|~-q zUwqunfHS3D;TQfJIw>*Djnw_Fa6Dc5$s|Si3l)G|2T5D*gl7C@DpYwr8X+ zzLZB(`C9qCOj%ejD_3}XY8t(c3Xex@1fYdn7Izb>2sVn*dg$haJ7@5B&qFu zr(j8*bZZg13)IUd`&!_6QwD2p2o++ zY)Xqz@4UpRW(GnAk?aentMZ_jYQ%bnlr+0m5Fbf;PLn07Q2-X9utQYQyJpvi2OV69 zWIGA-bwC<*!3p%S8v+dO?eX$+&!46 zY8g-17>YsfP#JG}qWUJY)iBpv(#C!N#s$;-yx7+RsYbWV&eIR7-By1a^Y}PXNH0@6 zeKbv6VNsN{Cbt+hR9M!~*ro3iV0=PKpGMaV4NTn+>uj{r!&Y=XM{8mfSl4>}jeD!) znDkdIA-qG;9g)2)*V3=n+pC=V19FZBNs~=xrEcHs2)~kU)tHsD9CiIMlAZ;mJz(Pa zZ!L9!MTNa9Wy?+>uOf`G;%K_4E{99cudNT`9$#o>H8+c1fvGYhRVO33X7@Ndq$vR? zgI$heLvylLiUm%C#WlcwWci~j-CWZPb$X|O2#?}IK2q4KU17SA+uiWFbo zxM2_D>q}Bc*SpFZ$C7jW9|~6p9kW_tRU2$8`RC{jU*0^Clz?UIe1I5(mpjN|1BgFr z9?!5G_tZ9n_%MW#zLfx3r4D+CEq^60w(qpymu9tcm&?xSCS*Q1Zl;AqgE{%}dJ z#+Jgk{8pD6B}QS>AUr%g)cO+oU`?f+C$@>e#K1PzVb^9{Yy9HV3uDY_lq6ut<-WYe(qmbcT> zfp}8Xk?JiIAdXdat6d)UVp{WJnieINMyGB5xvQfg|ElYb*2zw5$i%kSN7BT=<9+v5 z-8E$3!iZ5XRg2glGM)SFxW_eS8}h!vQv>gf7yaYH$I&Z70IohQ#?0tRi`9XdgEeLu zj!~B$^@PccN~DR|QqrXG@}2?qvZAiAcpw;D!jGkdy1taLPKvoJYJC?Vo8Knn4n!S>L@rWC!i_9(!pl^6>C*Qoui)#_2)>hbc1 zf9uMfOAX5>=>I7t={uE(-Bwlt@R8{gu&}-X&>iKmE~G?T&4@Zh7SE&C%^goFOe%1F zoSW4^?oJ7?AW?Udr)`|mpa=XO$GdgQv+}hx>Yz7l>6U}2vdL~EYyv5(r%v~N74HH70)h?1=jR--zoiKi zPwtrlko)y4hbvFFqX!ZA-jBLN-CgRE&|G0=XbkxzYKnAeGvy6ETM>hY9GTk!7ey z9WCzOd#o9N!>vBUPywJP8;wpbq>g5feVuuT3eg`{XLEavO7ry4xu*^AsO@X+e*H(7 z#uku&nTA>4u(lFASGziS8Ex{8g5_b6?>$#kM)A&Cb&&sh`|~{m%Hhq%TAufw3mbO? zcbLOGpAoN@#C!jZ6$!xi*06+g1CM_G=V|RfiJCXw*DQ4|Mled|U6SjPswy|%nVq;W zG5xn#fn_nOA5kBqS2BEBLkIggkRdPfjviYXdHb!`_>Zm1m}%2b5c32%7=#Z1NCi&G ztM|TA9y{>hfuoWJ+KnM8D>X<-Pu{OT`Og6&NrXL=csSvD=7hMi7L5kU+k|dkee`cm z(W%QGt~X+6&Y?mbgb=QQ8v0C(-Bva#=Z(ND9}pUm|M-QoQkW+;!w^2^(3p^eRQ$x} zlSuj#L;CYKAJ}(e8v0KXlDPlG0saaqB`DMG}JN4!Q9TqPK=fd2--BWoh=Wt1 zY}cU_F;JS>&#B$))a)N}n4V`CyqJ9^ssugkwKO?t`p#`;0%Ee+`3)s`!kY4!d|uY< zwc%u-xyEhc>#iRaXe&~hm|-kkM5pMws+)!auQok8*-FH#fd~#Fwc$CrE2>?0zKcCn zJE4zw-6F&~{!HYXlc9UY`29pNur~&bVD0)`=~>M%b)-B%)5F&0>^El2ySx${?;m3T z=O!ZL1%^%@&5z>+EB#}b%kO_RdZ$j~>~3?4LW+H&86Dt9z_B-tcdoqYDUm4mwPlC!xS+80UwKE59U?OPenTwv_aBk2 zecC5=pHP6Mn6L)j)+@fBwp+j{yB=7HL3JWSlYgt41OcOLRX_kmu%uMI=9x>Nd+T2V zLKIk-7Vpvd#>|FpS*&Vol%(_iKkF58(tcLc2}bvM6yUgiA|2ZI)kVyLDRnUQKO2Ir z%iWx!xYCI!0TcH2aD7dR141zab2oRMY`$|`iesF+^}Dra_}j#r|#i4mHuNjra5*FCjw zg+yHoPIfqwaA&w1TP6TaI1K<32aCZYxN?h^bc>fSeDHaQxIWw0CN?I{%;=U(O&ygr zk|>v=$a7ysJnEUzxk>|&C@^7j{Pd#C1%#J6dgp|9)$Ka(HgPRgI)F{B&C9U+);jV zMQ>?So7aEiOLeXyuQ4PK^CwbwOQ*1WEd)f=L_pYTWA6amfMdDCxtg@AH*tmjodr$$ ztJW2O$RpEV&OZpM=D$`I*dUhZMi*a~`PknXK8NH6N)yCUt^N5nH#AV9h23PkScJK% zXn;X$M_u8dtAiWTr4=dC5t{1AOB}cedZZy`t*Om6*)>B9>6-(zp7?SlwNl4H;aUUP z{0-{P^n# z)~Cv*RFkvTpqymu$hXGPjX6CKtQ^&Zej7Ua6P*sufG2(e`})QCpa*TWEt~pmXDuK5zSgQ0oeg zdlUc}<`%olDE;T@MMS7OMObJd^{S;@deK7XSxH$45mDSsI& zCHVm4-^C8I30atl3*w`qQ%pL4i@`$&lOWx=O)XnrS`f>Zx?gWCRLZDw+>VVh+xm7% z@zLuWrd$f5cwAoc+Sb*DR3ik|Y<(vF`I+D6@AC~v{~b+1KMQ3z74mlTV4QWJw;6P<*Rbvu(?TWg&p;2E4Ow71 z3#2woLx>>tsrRUZ;A+Jyqd(^NMYP6U!OAH+%q$84gv0k*K4x5{EBC5@z;_4%0NSbR zZNEw{y%fUs(CKA zPVA}a{`6aGHCx!TNdq4K8V;T2*V6O>aZECuDpjsX7EcokHu zt1E6=@~8xe!U5sraNWV1ZYPJ-Uws`re3c#;Wf|EUZ7~<^IyQ7nuLx)QA=+1y9Rdnn z9Um^eisjr838w#0T5(dS?1jbz>4^jgMg#@Y7b%3 z#!R^RTZg-MdJ@Pprsa>FJG-PJ`J9kB-Zd`@x7n-2 zy;NeMK7C4qv=N6lj(#sm{>~O!q6g^N=)Qe@#3n!K(R#)(_MseDRjjM`qiBE_b744b zc)d`y%=&Wfb6w}y(P)}LE5+^J6*&#sxa-UAPth!^;iZ`YU;zXpX@jO0mf4f?bh$e> zfNG+6JY0KjuD^CBqf$?CQ|ZnHuWP3g%S;jyn2P2gp$-5>DVb~9Kktv;B92G(G<~Ny z3tL9sF4-u!*b*|6FzEjfl+~eWjN@XG1N*Ds2=ytg1F@^BhvJp4rP8=50ItH4-O+FA zX0AHTDc_DYWku{jwP`1Vi5oj~c*GAbK|BY`@C& z6@?Uw8$9*^3(8&F)4g{1H`w~$7cOkM`%5e%eqymxOU##QCP~4o3)9qTKs5LbKBpKR z{IwKW3gT=7z^i4ej#)1h?Y+{lLM)4^7b~Tc-}9v)!cpduqZpbqX=G&7R>SW@;ul8l z^vaO=nh4e4zx|BcR`GbTl+!)J6rnEI!wwOvokwXd#sI2?2~v_ffNC^izilTwAYA=! znIJhb165mdW@q9Jm5s)ND&ClK8Zjb_4uIj~!G_=M4ufp5Efa7}hfn?3-?a9+IK600 zN=O@c0I;@J?0rr9_N_DhTBm6q@#3heCd5#o%J^XUtX(bLy|1Ul{J1Ijk$d7~^hQ<& z(YGz87$C%;?1z^NYdktL9SyiB)X86x3LUrITli=%Ii8vpD&5iOTk_|o5te_?(&UPw z!+#-6bf}HPtLmuZ)f&a8LRaazr3?G=>abep%YupwZ1@7QN~k71O* z;L^%ShvuGK&+|1Gc?|+1q4@$uiB*5^%xfgpnJzYl@0tyLAedU!s2`IumwS|RNvct@ zn#4I88PDuoJV~5Y`G@YEi7W6#pK$#S1TMp9Ues`W(Zq+B|Cqp6%t4%73#09+w<@zg z!}|`aBjkIpMumXf(xd{yDA&&kT`H{Lb-c|SH9r+zt3|gs=y^OWgrydc<@#Bg2{3a8 zTj+Yx>vqDP>hl$eP<`32qM<2fA9Z&k6nfPdt|*ZMqCyF1FRDPRa%yl*tdJMGe5i&9 zT21*(mwF_a42uq#>Rvi|e8)^VC_iq??vy>9$OS<{b`8pg3jk^IUibCHT*b#M;Q;;Q z)hYS(!U3+yqIur88|7{_WZRCNLUULM+lIDzhCWttu8o!;S<4AisgQ%uqGgG0Fcg@-%YX# zDfAR3V1P7;sF}+^t54?7BF1X*t2lItwZ%C}FXa8Xed99Iv$UTN0|IU^B*Z!C;gaS1+_Xd&Khg)Runh@raXMZ(7J@TcX|G(3D*XS9s%dEZmnNDF46?SJq;P%GG9tx zn)>mURg#Hz#E_48L%HLvBV#q+Nt>ZEDV9oAtA*n`L!Ne{#vr=ZeCPJQj^m3%eN)D@ zDxAvJ&u<7on#_RygZTxUb40aw9-sK$V6-sAytCI>yZ2^K+CsE5!oqNlAG0aP6LqqdNFz||JTJI0TtLOWz62u7(@dDC*EraH z>a3R^t5J;afaBDgH5#<7Z@GzY597~qdc8}6?YrJLH5`I{bOP511Kx-Jr z?m-uSZ%>JeZ)_o!&bcL|YsGipAiBxI4L%}a^rshJYOwo z^dLjZWoqhgS?T@TGWxkF8Cq=HHf?BX?ZiHRYRsfvooFh8i`%635#eU#7`Zx=SGsS~=G(^!WM7fIi7DGW&5hS!WKl}m} zF1&Hd=ZNILn(0f@VtD@gOyV2V%gPI%k3}(0i9s=~{!e}+4iVaCv{S2%=az1g>~+2| z?o8Bl!A>fyA)XixW!0=rCcg$BulMs5)v?nU7h-iYB0;7ysj$C@(WSC{*S*m#f zNPa7Nu^r0RnzvJm|C9OWPvCdYon~&IO+e zst{1`<-3l+@w8AuA+$=tt}B2=%&acl4=t&Q? z%^&4_)+p1>bL$=Tb!hZR=^HrVmrV@O)-oNLx{CqBw{1EYXQX+HkfWEHIEFSYEb%P5DBay+N#l3-6^0I|Stq zc4J3&ZIpO4H=5gb9MOyK7eepw=&E;5*nP8&hYCKGv%kdQ3EY~^;vaM3(71n1pFCIT z{|+?dD9tB_Qr+oq?BCvn59Fl+IjONU+3=(*8{=7TzN^+or(BYhH;h{AtW0EGK3gr0 zik=2JOBbe@=mWs>(T+bF;XAjx`3^ltb$U+(-zva$0)Qhrnx#-;VVC#ozZr}nb;&?+ zr#Dta1p_n3fJlkTMcI(^3wrLpu{4?VfvLnR2Vd<3bsK%bLR#?hKuc-5^|zSH&k&0c zgB{xq#;clwjjZXh4nm@70pQ$M)*x5G=*e*Tloq!q18B4vf`^ME_NOwA%0Jm?>1*8M zSe?^8DH1i8nkI@R`1sjf4(1{3ZN1Xn?X9Ata9vR3Ar>C>BfD@@`D=%Hgsuz~XK)4I zTEf@&n*WixFJAHH&WzTQt?IafCK&LSnGy+keBBo39mzqb_Bl%mw%Sp6cTgVje)+Kp z2v8`+d_yNxMZ8(mwM>-T_khU`-x*TyNIco~KwDJ7O3@oQm^vl!LRdHdZJcOyH#PR~ zwnQWN4Y<-fh2HMX5=V^zpm;DSC727_C~nhFnR|HUgj;>SqF67Q&T530V+m`x#TFw~D>p^$JTsC}$dv#C{FyELBkKMy5B z1U8k7ayP6}YRPs*%89?e2~=JBjG_HL!^o$!Vnq4Hytkl9Z!WkM%>ny49D+U%7X%0hB_0)HaoXI zt@U187|U6_cy?`%AogYzBNZ6bBloVl4UQG#$5IIq*Mp^(7uGPvee^-XzHd3>F%*jC zKw|OpyT6wa%!ujZqD z1>!F4rOFAI5;hn*8?vK8h>td7f zyJf}neEp@_P)JBoc;TkeE#7{Heuc;M_>msPz|+>j+`fUErlgt|6K*L+Z_gWit=?bm zFrEeTty;RS>!m<&f)t~?W5tzB{~Oe^1%BW=w|G>`xvLD%WIb|m9*`Egb6snq+>NxA zFdM2=6&mB6RZABGqrfpf&;N0_mIhM&-gYW5CbAe>%#7|Bpz%TOk~;xDX}5GMCHU!? zY;icLzqqa`i8)0>W!&W;~59s zKvba(1bXkSMa!K^?IJ7KgyY(~<9iu%( zEl3x5xv~`rdN(=~g%TbYItz88Rykq+10>xVC{WUEl;xERN6f;-zTDC6_*N5fORJ8Q zK5>YW`?_Q%TK4o=9o5M;1w4$iiK+B)V31#qWUlBn;-4wT0*FTZ@#=5achK4wkFQGF zTMxj%EncQ;#7Q_NZVF61{ zh!;g|MdMjNt!^}Bbars}z(a|d*akHmQ;)Xlx!?#<&5O_+wbxF_xsoP@%cU;-_PgudOcsC zxB2|-$es_&N!V?eTuEt73aKjes7XT;1$R|j$f@4aT>*p9r|`tS>ESym1O281iD73-UWs%QUn{>oWQGi3e(3Fu>$iX{l(*NfqRdy8 zf@yh4@GTgMVgoM@(*4wtnxUxcjn#WtA2}2qpKaUn2*?Ujl{_a2JAd*4l}Xy}K@WrN z7vz0L7p8I_WhjTrfn$6tY)Yjo?g^&Nf1PSsU1o6XJg;r|N4dVV(6sA_!l!(|#xl7m ztxNex)a|Hsji9R?9UQZM_!%<&a^ML(-z}<|p*jY|t~abx7eCL}wkv9f^2~H{7oRAB zqCxsH<=Buw{}ZeJG>^L$owa2Ro-}9=PrOWA(_h{oRc(jS1&^m7tq`1%w=Ex}NH>x0 z)+V(CCSUPyP5OGdK0on>F@xL7OAO6o!h^AMg}1#bTyNd8&l zZEZ>kqz2tG?|X5?y)xXI2RrMhIGq8P+N1UE&dG;b>0R3 z=G6UL>b##gATX-?p`uWLI(!+TagBg6FxJBg!N@CnU!7mQ?+^UpvXJZT)Q}H zKKK?}rhojY&Ai1Yo;SDE;IrHS!$8QO0Ww}AqavBBFV^3rz<`Wok)&zx-?npkgD~v} z0_&4W5VRs6LY%P_GHe_3@c!Fb{W@6>)4fhV3!|J~~@P52i zCejXLkA8MMSvT3VAU067>rImr1ZXH>nsiBVbnLr%#G_SZXA=Z34Nx`WAl)cdlAfKr zTuW!<0$+zx5>1|F5Ge;6!XWlOEuKb2Mwr>x8`03n3F$7~OL|iM7P1;^ZUBTs&;8}_ z`CBy(Qr;w~Z^0q}_yE53^G~rkl%j0bsNDhXtHAamGKC>B`J1bYj+}tCpDcGA8GNzC z06QJY`gJyWva!5#;JliJ*Zn6*sFV@C@@BO16W2L~LJC~{2A%^h*F#*y6Tdwhr+VyY z&FehV=F_%PUASzmsgWQ7gr`CoYq5V1a)RRXuT59}!|J=c-(-#R6x|x;pAHKg6%0ou zQw)Y6(#>@z`=;MYe>@{EubYI$V5AEhmz2W$$nOR6lUuOUQwbQT+_y!?&D|DH|Ffeh zX#GvrUKmKSm=MG$k>|uF@SS1oqKRI*TnVCz0W&N#|8&3b(wDhh6^fEOliw);=;7*S z5k5ZGMj!k7!;;Y9qr(zpwn+sW*torUsTb;fC+OxQfa9A7?9^X;C;C<8mqy{M8z-?3 z#3bNcy)Z+|Pkm=h8g;!=NLi@!5?Lv3LN+eRJ+XIJ-y6M*$XDzzKS}zYPON!1f|oyRuM{n(~4g>O)bmgB+g?>+!&qqL@4+pD4fAG#{sQE`*06sgAcE zD+w4(aPvN}Qut9>1)@r07*Zj{Z;EnT8(t1?!_qZUg3e^p$;qWX!F&e}5)IZF7%x#X z5sm5xUSb#&%YAkuag01|S32$IvD}}yc1-`)g4*Ev@17Ct8kd3JgCL}z{QIJw=5T4x zplb~jiENS@0ME))Bcxk&jG#on=##vTQ#G#T+?9heKnbP>=R-lOWw^i->GIi%A1t!k zxVoWWatPgRp{?+S*TGcR1}a77=b4{EBN{vynACZT3ZC0-(iZ1s)~2buPmLg@j3pcE zsDFN4Z#rD(U{n5{a*CCu@Wf2@Wb*z(_0ts!QdV3<;*cpifLXc&CoH>aQNJGXr%}5@vRc*wn3=|8i7NpldBxdsyXEuo;Yo@B~Y1rk5=o4|RNCs=yFr zU=iZQd9xd&O?GMh&v&}^5xGTvtELG@fW+pGYYD8x$+ml48q0k*(ot11*S#(Xz*m9) z31r!ySL8o?X%2dcvt0is>RFpXq&6lS=R0y;1VOajJTEFY*NQIOS1RR(sppAl#o7x` z-Uat3(;)3q8PB?GYJT|iudI~k4XnbTbXn{yoP)p$m*0@|)bY^l-GRM8BLtIdJl9OM zwIXmz;iTI>zNX&6I3rB=Hm0IaQsS;)y2NY}A^Sk)yW?!*{o1UGEbt3?dLEuXfsBRB zL(#pE$=iooDI&%Gx0P+?bAcZHE}DDk;R!@htf_SKy@=2tnUMEl898dTcp4xmW&@Aa zbX95YDUAKj>Bw4%Yrjba^`n$2!ACQL@icvA>DgvS8NsFTIoSD5zmexYflJ10s2pse z05+t!{~w_9lA9)tZP3PiFO zEYT5PDmlk-;p0M&yiM+`MXqaqlG#$3ufFI+X~mYPQuobyjZB_#2tZ;&x9N7@U}Xmb zS36;2+rqu+*qgJ|@)=}!!l z2j_bYl!+N3gctXhI_(mizn_i(_YH_x#JQaq>cG8<#-+L zN_$v=%`^+~;|iELoqo6Qo{(8Lqnl}Hy+xq z#29c>Bs|;KVpHRqrotj&<#!|bv6voH8=L6%^@eS!YMtNvT{X#t_wlm14Q~>U2S30_ z2lqO;0|8pO+ahLTh{X`{NB}Xf&%{uh`r= z;MNC~$PCM&N<1@p%xFD+*?Ky{ z{p%zl2sf2{&Go~687bEmJNzujFRFa{R_}4=TLrFLx1Xadd?{*q3^}P-{C2J0ecsQ@ z4M?@zuRb%Kf?~Qk$okkcEgA(k^(2eAo2)b1i+pY9T(G=))bY)!j$lv_rx?tvUZ7&0 z=zYU!Yxyka>f}DW0l%>N@0;S1DYgfvo4rVnuDPjsMa@PXWr}#P#%nk%g{l6Aqxd-H zdf1O0UB7>I=<0EvMhBxBe#o_(W2NF$dTxp%}#Lvd@=~WcINx z5Bdyy!)xDLkE3R#^M~-m?Dyx?iU#K96i#GP_+REArQ2b{Cvy2%1>ZeMde0F6k9BNX z^diY6+^Zm3`{R#G!ur>|awhz80}i)?soVyT=-5w-V=5k|cLFR)M`;|bnV|W#v03HR z(vVrvvM8$Lg_tnNpa+fQxU!eT@02tTlqKHzVZ$~P z1%o*WySkozF_R@d?|X{@R~f2CGqa~A^MS6>vHHp&X9>I48USvVz(BG71Dq?!?YD?E z=2CgkF)M`3Dg+d5Fti~fsT*gM?hCf5xj4I+TLC$9}Pe(mth? zLW7h5iL2xrjkxWIQwq5kR?J)(Mz^G&oNYciaA}-ayFS?~J;aAdz^~{XK(|)UvowB3 zx-bxvkNR3Z-OT$Q9M_KCn~n9;yOQ#}^QcJF@1b+TYSK|lylYBlSH&)=cIrfULO}+N zD}EoZxLnnE6fUEo$?fd`fq;pzW?Mrs_T{IPjy-YeXq!R0YI=F;U=h*WrczN7^fB<) zfC!;AHHU|5iA7y%@mCL8&J-Fny{MgvsFt@gQ%W#Gh-Q%qJ<)MNxfc1S9|i!s>5>k- z#7H1mSSG_foFa}ZeBPS$+4;%ix3breqDfD&-9y$kK=grwv)StAl}{1(1@hjuQdlX< z?LC@_W5nn!XoYIwQ$ttXaNBMvbI$pRluU=zE8!NtsBYUtmAEz!8HGpnrSStG2owqw zX%MCg+6K2I$%JErcX7>c);MBNIr4`YlI;IDR?O;>Nox$686uYX9HRJ6d>=Er`NPI7 zl_GU)?9}ojlZ?n-KBQQ?97y)gu+31D=&S|ydSVtp^X|R2CTtt~W4qKd&oos02+1Ij!kCj~t>bo**F@$;!?}fojSc?AIL@q=-=C)ynK9m^0O~Zro!cPR z<`%ooQ5Q#jl!rrk5J6_RZ>1p4Q;C1ih*6ejI`0Qq-63mVP(!KT|2z~@{8q+1u>A9= zw+f%&+LMJ~AxHq%$Cl!AFEncS?lReTGtQAq8?%Q|A_gx<-=|Q8YICbQJyqJW5=Y$G z673%xeGrh!Zv%!4 z+1TwmT-M6TamhcSfB=&6hd~Da0glxQuwggfzWy^Zq!u6fuMLv!GA@wsT%4NjW|r0W zv_j{40t5tFqu9WhMW!e6V@mwEoW6Uc@D?ob4J0QDTDxD(>GMy*A27!c8fvpET+QCkb0-*g}|B z%p2GOxgH_i-G=6kt)Y4mdZC7zVv(B$H~yMvh0OJwX{OEj`at!cL*cX3ExA_bs?fQH zDz46Nd1}`vYB(OfFzwN)%k+Rbi!d)wQYH=$>qaHT6s2ud;qC=pz9aVik+NV~F&(y5 zwuDe;kCs5!edQm8&(@pi!#OEL@!Rxvp+uFzm%Z@2C^HGMC$f30*=Tps;5TCYAd4;M?;l+j9}eNU6p&2W$BzqyTL2Yzg ztJo_L=#5C8KNYz%RXkqa*_6Je;oH2GB)yk zRY%#ux5Ji;44t3dfFVw%n|+KrX8T$m(+wBHfXTaTOwHAR*7c7UmPwKTTrgye91~Bq z57!MCA8CqE&&|Jcu{q~K;?E)~nK1RtFMWG(bm#D~6qHm)0+>YRMe8%k&1qL8nvMlI zdY_mUTt)GqK;%j}a^Y+9ur8K7I0JE2O^QiSq|Q?Je$z|l8jIiVJ&xT>bb=>Ls3&2d z=)v;_h3~{4#LIUu6)8$Ard+0t3!Ed=-``-QZt0wz2!Qggna{GgOHxr0aOudNSjEHE zKc4WUx=!V#+5(C=EdAE+{rC1S8X7mw&Gaj{EyK^D2tyY9BdskT&aB2a_qNSSJuSum z03grY;u%&b=gL#IvDj0v>ksFJzr=u*RY>Zbg5o)5I#3;ocK zJUmcBCh}R>I<;_e;a4{&pl)6EoczriUrkamB+E1!=3!$@w3&`K*T@h)gFr0et%F(9tpt zix6dVn#Uf@WZnOWMp&J&E?8a6C;emXIciBe%RoXtSo$BzpLvcxn$hp~Ta*I~RytU6T3g+PL= z*@Q2k*I>eB-I=C`Cumpd|5cSHq5;q-bak}F@R-%-fW~rzf!}w0+uC9qI*YY#Q;aD> z(M7TG{Ip}ARwjgBtcTI2rzxCJHR9)F>!yEvqhEyhV9Jcd9j*YXByBZu}pDHr^#c&ckbZk-#zstDjqqALgaycv)^We4%P9#xUj}hFL+&=6)lRy8E_SUY= zH$33xG(CHPi^2R`*?jS;5U#d=JKt7=#XF=1ygjW?jID9PijLq&yZ)ho&^ur%&F~_A z80*3;FEZP13(QiV7J%n4QPN#F!Z(s<`jtQjRe_^u2c#e#EX{`Xpl4&^VzmmaNF#am zp#Blcl|#{jEa7L`r}8VDZcvneP4#>Xlow1!P9aEM(Ob0Ym#umA#EWitjU%n9RQGH6 z8EOKNN0vD{geePWjEwk24sqNo8D}3h zms8{Ht*3l6+H4#YB=ax&(PG0I@%faCOVlf?=3$7ciSIlVgQnZK>yeWvS})~SC7<;2 zf&x15Fgg+;^Q_f;DK{cxjqzCySVM5f6>hxOKIH|yn_h1tAIvvI$atoGLcM7tEKn=L zN}xwATqMn(TP>J(NPX2-=WcxtWv%ZU>w%{1Wo`-|10i0-Ue35R{vUukyff7x6|(&P zEavOULmXeFreRj-vs9WrR5ThN%tR;Hl1|>%`=FH)tqq z3rM8sZMe3*eyL|~{WoEjoe)C$XSlb8zm~X1t0m%T5P}?vy2YlBb}T`ly~MQ_is*1u z0|%yIkA%M0h}W>$^*ntpySEogx9RK16fJY2!Frs6HGAT1HdeAlxdq8>lRE3V;>AJn z{Hl<{26eQSn0yZ(_XHe2oMHyf8UZwy8P%Jon|kkf-#*_e?J{s%M3ch@;Eb5<+GG6@ z$6gOec+I*qCw|p_*+TQo9j%(wqu5+q-rREtS@h>R^wFuiypqE863>?%{~L(*3YQ8= z9Fy^MhRso2a8JJmY1qtw6*ov?!BNa=$qO-!8c|uP1D-c7Qe+U@(ut-Qr+z)gJQMRo zg>MLAF5K!&K?7B1)1;o070N#6muo)=Njyz`KD&n4FWch;K?&$GpX(|+6@!J~gj9Y! zE2~>Nd7@zWd9K;X_JYW`Kw4!%J8z`{*UypoR4e~;^)I(_jI&3Cj5fQO%XTMyr>h!I z%xxZjF*}b33wjp20o{_?bu5Z`ZD}50d{8L zSU0B_{K5{`;SVo6nW!Kx9Ft96PoTew?H!7ZsuO>qZE11let_7B*Her3#9ma^Sh3r` zwwgM*2kY0YgE?})CyLH=knQ|ylE9av*9kbTaga}6seEFg<_-V zk}A_)M6(Q;f%lo~7#L)6m*YBq)v;lJ{#0e;W@>raUn{o++9v2~OaXvT+agKiRxa z$xv?S!2?Xf4syv*F`elg(c@I(3qfUV863XU6zFvRQK)yM6H+>Yt0_SUgW@7j3$vXc z>ZaRx{Yrh?+oVQO>A>MQ=kU$iJEzx95IP`oh&7bj7QI}@Kfkd2-okF4zW0Mn9@BH1 z41?F^WFOg=UF9pSt=@=SSK75Fq#UAp-(JSAy3>MK0#Ai=%ngr!4B%xZ-|@)a{dnZ1 zfUuZIWk-#bzn;oaZY;>~;^d2& zLqoyB9}B_pfk)gMav0e5;_ybzE9Bi~0r`}I#?FhouhMP|nL(bxm~~$CYK=B;M1rXi z7pQ6>C(LyyoWTc%CzJo_a*dvSecz|z4c&lvEQ;hFx2jjP&~@4*X-3OJokj2Hy-0b2 z;N%k;1i3^itK_!-Y32YY!bd=I3>@Sg+m5#Gshd|_-{ z?fslZo$=R61&Q}E6oC{HJ_)+YA(rV0 zt*3vZ`rW-`LZ*wOi-zA_5~xwyq-F-~;gjt98kv0|g++!HSfw~oi=SBrL#$`~ z#ODP58IOBYj~KnNlt;UG#mt5{jl7+cRlQ;UBjTRkP5#L6$-YlPryJJIEKt^5yk+jb zn75*1ULl)x;~$%{@=&Kaj@{HD=LV`4U zjQ8R8<-?fVLQKs`^cBvk$f zsF8n+ZPJkt(c4}gJ=?WxYzV#jCf}H&1LsW*)VSz3EyK$1-j8ZtDZG3CB_)!6{@{(1 z%GhqpNAACGJXJg;!mz5Yu^9ZRIJ165?&K!M?yWisDjuh0;h$*hT+V@fcN2t8fg)OQsJC#+6QwjYoJ>RqF z<^7elN5KhU00L=CyHe|y8!oUy;6xju8io+TnZl&vn%N-iORKX=`2|Z?ve#?Xt8OX_ zW>MKl(AO8wzPXL=w{)Hn<>T`HmI;-)8t>^AX4yV;YkxAg();<SugRe@e;A*?Ej-s|uXO!?&Qw;yTIY_iZ(>7Qd(!Sv#uxCQog*`lQ)nQAMK+ zu?pBS%yGMGnp+;pL=}B{i~eD3`NH?jKMZ${kKmUc=+1iwRy%)4QC_upDyoqiV%|4! ztGrwh%Q!rwrhB17fxosg%!JQwK`;T(-yHrA@T`DfEVQ!57z!DcAU4c<(r6xwG;tW%=7U)zh7u>Wh4)Z`b!Whf@2*Am%_O#W0E&!x3*J_)gX2>C9VC zRC*CR5@V1djLWRFIywHBGQF=~epfF8K`8oC3RP@DOWmnr0y%c0)p8Ynm(Cq~QAEmxkMoWK^1t*!>C287UI^ppJa3`@1Q(TQNW2d1~mb9GEGcTo7c>Bea|lg<+>VdL75%!9~eviBV6Mf=!@5@m*7WB`TMf54E)v zo8t1^;)<6^?=BD5^&YdmgHw49N5l0t4S1_sdWNnL*c5BO_B{E|A6||&^>1BOC)=|m z5YqAd&%K{aO}&v#Ue&{+0zIO(5uO{h?l=<**xF~r8Ny1nNUl+{Pr z8|5kWKLH`h8X5KG+yS%U>}vX=eKEF1FkZ;HUp6Xq+1S+ByBky=_iL+0>9Mm$+}?4k zE?!?{%wD#=j8jW%ysBd&6fQEGowcR)`d8-Shu^47L6JyH!MISt_EQ;^s!ne`=CNUi zu)W<P0N>6IOAqLZwScDMs_3DW$s^m`2NVb_=jlNaqCar02{r@k%>FM>(ZO=6+`6<<^xweLi@=H3Er(YC9RcLMYZT;EpPPc1LmNaysuzMu8s zS7R$eCXXDFvFw2Q9nil{_v67C`N)w3<8?Xh&KG}#71lrEx*KX&giKvTG#MO6Kb^Mz z=GmFqzX>+W>7_^SsGd?hBDE%XRAPhA9Ga#XY456A{?~1g_)+LIK9f^|;mch1+IN2YUd!34`Yj znY1*498fj|GP+fJ@oC>l8UUb~<<9O$>e<4#CB>U%}@ev!PpQr68 zL}JL-rd*AZkUiULP&tF{#br|^kY>N0wUbb=?tuYjt2_yFh&Hc7iS`AJ);TLCT~!Y5 z6Ta%_=wN-YZ|8v*z3gTDv=EO$zl{!^4XY_WGqXNQRxbj64qlTSJJg)@55V@;Y-ms`%P zg(PO;ICN@j$b~18{3dcm!7*7|i%x`P;MD57IBgAoGu`JHAY(j1Tky7}L=SFO!)B0d zYHqgRqw-Sob1(*WU@A%3W7)M&vkM$1JTbc+puG{EH;nta*HJDMz=6dPGy4nq54_zy zGSv)>mN>Mx^Pns7=vovMzEv6TPrkGOg)OfsI0JJs!S#m03l>sSS1Ax{s%NS8;b~IV+Is7m85&f|)N=D_ z!;;deD7fGUosw5>^MJdELZy$^S&Z*r-Tjo$$(eAkgV?qn%|$C=!twmu@@kQYs%u5< zm^EFGs*38?dH&KU&}3eiOkuvKOHn0Ejym3V9%<4aEp@9+cDZf8q_8tsO}$Nws2f_H ze-k&JG&#*mGU?wC6wNf+nkD`3HutZ{wgGc93Ih3=c~&OJg}_RhDRXLLK*0{bcU2P3y*Kiew&-^RstofDnp9kvut z@4Ms?nBnoGc!_Qq3@mQKKi!xwkWgt-9i@_Q^z4(@B6~ohcG_zzb9n4ZMA2bmSB7^? zY{;t62O|@*1f}MPW&*yKlYSFzBwfSaw^4Lr&L9(Bk?PA=WkUOqaJqmJIW>j$VIt?XxGCi5x3754H6eD}2I<0Rcl<>+8oM$&59k z?m~H~HsMv=zKrq0qzK!gomksC{@{ThXPA z`LhlyreM;sb3TPxuXSBW zCWE2;fg5MsdGv+wbi<*%hw@c_^A3ULfgQQA_#(yAFNAUX9N~7p`S6#Xv&Bpc$~one zAMXm>ToS(ew)m|iXxe#DeItJc$IJE0h!Zmj#m3lfUuz|P{r0iO)I-dQ9wCqrGX0?+ zp*;O%@sjZ0c2#3IcgKW&k+s<-hTd9B%XO7iW?^LzhI&&@1YUUdXR1w{gC+ zzdcDr9?ll;AooH~oROIdn|Y-wT%otORflN)bQtL~aW3Vt(+VUf*cP2@;^K>vM2Qdq zj{fw>D?t5nv0%G0oJ53kpa>Rsu;ypc;){z;+1T*2E6+EF1O;(6%!zW*^TfE_`Q8yOzlyJ+y=TZN`$NXTBh)Rz=oZQjQ zlKv!`di{X);a4!PU}dZ4=<9iFfv6pmgy`8+sEU^`S!LJt&i@dGt83CV}>l5^?DIt zc6I4_*$2XjH?zgGS>C^_!2u=WBOG`(iW7`>P27I=srxL&?Bkr4y!t=?;H84R zsp2Lob8WbYu(gnD@pqii)<lK53jE)R!q#~`v9XH3 zN3=14f*LN)v_D+@JOR-pPozPlHqtNpwpbLNohhV&ayJxGx2x!=GVHrRAaUJG!ZSzf zRP7H%Zc1T`doBKkMfUKjb23&YSTJNUea2NND(CDcEyd4op-<2r5GevF-nsvtV@L2% z;F?5Y?#Vl-gt*S_LH*@psqeh6OfdBM55Yh zn^{uZ+o@FZWdAY5dSF!XfI7Y(QIHkxNo1n3Q<2&KOyOgPRd#1y`37u(IZ(_XLLK?5 zg%j+n)T_9=mZ!3np%I7_1BJ!eRg(qG>3}yPY7TixLcA-&=3kDUiQo9t1_(uhptM27 zuWp5HZGk1hT(iP&9yYCm{>#yIhb7syaS)X>!z?XK+~m&Ofm_R&d#`$3xiVk(9%yMr zx?**6YyS$Xr zJYIHD-9SZLumSCi$0gF;V0c^i8|?k)Tj|SLnLts|rkaNuLlXg?o8XyjBg)JbD_UO! zgJ>7h;~Uxu>CoUvExWAh+>%5gFI@$2tb19*FU<;Bp4zo0v`|RP1LlnFOa{E$S2pcS z@32|`l1#HO4mcmz-G&%IDxJRD5_>6J>U$-Kf3#D*$F)d)Is+4I)CoWAQ^QyaK~TU&eb%Vz$-BATD#pLb(Gfpce`cgWIcB;9xrCPZht zBIGfF&E#a)yctFr zQ#T)b@FE5C7y5q_17bCJmRM;v&Dpi`Esh-r8}nY(O8cOOHq!} zJ2U~imTZAJX-5)R;4yzKhp&1*3#Vqrcq^4;*LMi*8I8axa2UrfUf=g`VCPe}$5>f% z_}$AA&EJ4X2EX`_^eW@<5g=W)XuK*E3WgF$T^G&8(Xw4zzF852Tv|8#YWjLbp|%^U z=&DPYOEHj!p9mI&hWylv`i0ykl;c~u=oJeWj$83THfNJi4#mZGyO#DNIS7PRvg$=a z?gNT(%3>2^ecT@Aq*r>_W08hk=@3>hvu%W!-YhGlX-`3WXLFZm)Mq%A)e!F$s(fww zns@g?TaN#wpu~<7DbdQsJM16c;4;2Kw=I5L)xGdf$ggt4O*$zo17;rpwlX(+aydQ0 zsn%4M-Q;EC-Kn|1>yhGrMwI#dE?4Wt4nWh-U4P!^C%P~Gd04^_6s8eJ0xQBBKH}kp zmyqr%Nngwq*X^!P)!Iw(t#$B@h@-1-6nu2p9bjfckh~{WlC-ab)_BSHH6(zhJxv)I zV!9U<*ytp;{7&ChVIif;p6Co*f}&-cO!yyxlycLjrp>_$9$foBj6_eQ!aP1EJ4Uz| z-|HAQVx%IcHhm}~IWUY=ewlH$3bN!&`jCX+_EYffgiCP{sq|js-3JtL4Lv)fk?a{> zq0|JeUo{$X1@>zz6YnmGkA)^Qeimn50wvC2=Rb^2@p)%`W=R37|I%!X=?ap-Q%jEQ zkEXtra2ELdC|x64I!`3MFZ+CZ_!XcrUB=BE5QI$|$-HNG;X7JnTU;QiF_|=PlS%+< z9ufGJc7?!!>Ip?%H99W#$W0&Kh2d|R0@FVkker&Jm#UNYf>C5q1d^fVw|pggkGUjj zlX6&jd_a1iI$!tqOO&WO&hm4K4BmuJHj+d(xwx56c21u)M!G9gdaGo?83D8(a%*+1U z)mbess3mtQwcH=La)>;YR@8koWx|O_XTW~#hvO4W(pDscryEQ;+9uXb+Htr2oqtH) znD7$}vGn8Oebn{$@ogv067=k2zPwnx4t3M&#rSG4nPB|o!JIr)Lv^el)m?^|8h+L@bfFq)(b|dY{ppex_SR| zvzSoR-*Kd8H@7#+?a>Y}m04ed5jVA8slX(7K}Qr00vEc|HmJ>&#}VRcqm&!O9)PrlnH8#`@(DC%z^?;HMmy z#?}lP^<$&$L$tI>lmB7cmZ=zWl7#^;s+{QJs8kQZ7wHPKb3y} zD`Y$++&Oq3Knbpr58f#$?G;4a;<>? z{e@z{@OPWal3=XPz~+#O!9o9tUw+Q>O|<`8T-cC(qaDP~K^APmxzAXeec1>GS$ry} zAT2g7p%3>i=S*s3R(J-hopf#)JHJG_uQsXN{3F5|)3KuHq48GVul@CT1@ciZ<0&t> zV7vi|ws_Z1QAtZn!H}SnN_p9(gy{AV%I@*lFzRg&L}yqvnu3mZxr_-rP{!|^mi0k6 zwN9f${pVLlGlP-pXFQr?F5wTFq|EQ*8F3;y0{}ZXd8n=i+h3fjCaE7RMNiOlyc~yv z?{fWFtI%Wi7T;Aif>8m92kI0ets>#R)KM0HL0EXs8rCw-R4A6<luG-FrW2@Vy3h6AKaa}9&~`8N4~vV_9gdgqaem_M--3sP0b%g0<4KL4UuF(5^zsA1d&3QR z@}_|lQ$j;7|L&&w%Yu)O<^m0LvTQy664c&h;eJ`DQwR zV(+O>xa9f9UDDzSIE7dJ@@#Qi*zE0KIV5w^xoT?j<+&@(9qu1!n9wRgFRGX=zxIWK-kb@Dw zXocG7-HF7L^=6c!;bJFF&=~#j&)D#<&UU#-0-J|c0afsoWpl2u5Qsm}XaM|%c)%}# zZvK{>O{rP<58#={=9%&>EMGA{VB?{t*po2!nD6@MMka{jr` zPu}U-U?uSSP=3YqbK+V~l6&YiDKU>u{*A~E5Gyf`AS!f7x?e}a{tCq=XpMo(#8wSb(L#aJOLaBQ9x`{u{que_I zNgdQ04_@a;|EyF$W##r38&A>oeHIIis0y__U8rClz?K&{9JO34XC63q%{#UXQxd?R63}~+$lwFeJ9w{iDTQ{tnM~C0Z-74F^DQw~$T3Hrn`1*(Yu}>PG zr`sP^QNeNpKlL^uL~{!rL>GA#Q?&h%aSSrW{RcqpdzF)zPMVVwO}bzng~XfEvQS#W zY3rtj0}le)eO}1{VOAee%5bS>?w<(KrX>)iX#BYiTJEXj9~oKDDA5f|GB~JNy!d*6 zDE4iPev)u}@Un#bJ5FER4FyTKZC~r9xWT@%LIv#)`Mu7(JWmMmem~j*3qc!RT4#kMGZ;p9pX_Yt6QZC$SnC8mQ001<4?K1!&iT1L39weU`&t1quUNJ6m2 z|CX}V0@EE9vkT!8Wtf#6k8e&a!5t6=`)HVP!9LCa)iCfum6bkp>G-ievLfRa@=s{5 zA=EW?JSp-R9ne@&{d?-@pVq+y7kh0BkAF$5g>YvIQ&7L?uh*R+xvKDoB&0(g>*ap3 z3%W}1X{nfLKi>or%DcUO?}b4@Q;d6#&_9K#Mgs^^5HF2($M>3^kRW5$L&@5Dp*PE< z=fphhG@URwSjf8b?)2-GZCGZ4YN0Dv=rDl0`l&~H=CqURBZj{M07U1p^Pb_rm;=&Q z?+G-rKLc7$0OH|a)j}XYrdg<>qRKb8^H+suCIZB@i!@SS0O=FC_D*!j{u}`wX1imZ-{)zDu=` z{i+(Wa4{C3Yx#@eWv(HqlzpHio+2a!lOTvP`#oHB;50UJ25s7~luFowr^*$9SK=Nj z=VuE{s%ae~xE;<*BSe3R75+w@J5)A>QGfLc!85jeS%$O_S78&m_hy(6t5?(Wpvt!j zP!J#fffYA=qhP_~DJ)I8$f>3|)1dsyAE-nOs4&NZy~t-hv0oT*kCmc(gX=pY*ru3#V{$zde&M#h786PM+p@`?!c z><9<^9uUmE@JO%f72yVs1B9Cz_~E3=^r9h2LE(b_MvEKS<)FHJ(g?v!6Ro5Ft{5P} z(hXr@Bkl576w5aSR{i~X;4DTri{1aQECq1DyE&ev z?bCgYujMP~)J~fmJ9)!-_16dH{Un>Sgj2s8KMj6A@m5!YbK!9@w)b@ZRn#`@{47(( zanKhmb-%;4N}jAN=SBXe3}gQi-{{jd7oYR;xvSM9GH-m7(SjY zT~D=Ch=d~~nv&^^3Q2wCJLZguK7>~O_D80tt3{zMV^hEP!&h+Vw{^tq;Je{;r92DL z2y;*e^H_h^kHJeS2n3Ikzwt@w0ipdZvk>UdFW=u&8-X8E_zf6d@`Rk^(N*S*J~_$z zV$`+GO)~YT)5R_XVpwBX>fh_pOPIqEr*Wm7umin=O2Kp!%Ya49AZ(%?93LrDj9 z-LUu#pMeXl#=#ES@8VHZqiI>8%dZozFy&w4MHGRWLf9dPKcQd$Sbe zbO%*XT{tt?A~^NjU!=4iM%xq1AO1rX7dU`5iAUToGDbT;ZU8+#SbN*v5yK0`c}7pZ zxUsZf6jZeCnDQ&7qfdjyxuNZP-&VZxUF};I@*n^vnsSTf^ChN(A(>lz^%)eKh>-L} z36KB<3A}XWMh6J{_B@k9j9p}l8j4yQZL|207nb@l=N41Uh3xVSU0Ycu zaq${YmxW6-oO_YB*zC$2 ztynca34bFUmA!X3^Q7S8$0$Xy^hzID$L)#zO*`Sht3IcGxqHGlag;W+LL20WkpXpab4UL$|sf;A-P<^&iLUau; z1G~w6oQ$4$`?PZjq771~R0b>bz<%=^OcCczU!=?94@3spJp&&)`aI_sTLr;msHs}l zMzE&Ua=oo9NeDrc$(9F4=Md!k=FwlU4u@GHSCBuTn6s3M!ZvWdlACQyrzj;|vw8h^ zDoH@oe^0)1L(R^_y2oKl7nPW9h(wMQ_xk96u8Zy1og-EjNI2tK(}!@Ou0bb%G}h~6 zr|$J|gmtda7I}%X;+A3&p~H~*aXk^mlVXkt=)h|=kaDTz=?U>CCf%J zV23SVRB-of&0Uq1({B(pD$ZunG6()R{rqKI(u@%2=L|i&mW-$0Y~Y6%k~Ac0EX8FC zgc30^w*4uSf;UA<-eY)K4cF~%ZNDU&MB9yDzYs1egIF$U36J3D!GqWDd~tr&vsN1K zgtJY|lth%v<5niVTWAj%i2}4WB#~-Am@Orv0zdWmtqhLVo0(}uR{py9j+H+RHd)oD zU~<=W1?PHg*r`4}WiZ{;-VIk9O)23+Fkx-d@>8?L-2#+F=4OkU@Y&0ho8mPpgJO63 z>4ae(8{n|-@6Be{eIr#sw|W?HgC!<%AT~~_YmUDMXeU$5q0{SIEs?1bC$(HC_FL{l z?k!Q`bhmm8dgkMVO{dZio0ja%xB;R%%1cHu#jRs0tR~#`k=HZ)-OD3WH3oOt+940d zs2-NMfI@eMkre*xskG}qrRVI zo5SPL+Gi*M(OS}NaD5vLB;Wrtq_R9&Y7dC}{H*J7{@_Jby0o>b-yrKjB7~R0G-(Ma53XHUd}_ zKS_M-+8a7iQA)yDT@bw(7P*Z#%a-E*z~qJfwpFk6uBSgs?Y(nWNpyg>QMJc|YisirVqr6tiFB zY1crBqU3_*z{bR5SAGyIoR_*+vD}^CCr^r-Igz)LIN}_CW8`)^*{5L^RnhoDDwy+j zR_9rqq{I8J1^7UAPPd>Q}g+Uz+EWe44g3AY`hlu}-5sCVFz=<@!i* zMYaYIj5(;DKi`u3Xs~`>{&C_@C-&#RZ8%gVPW;4^UtDBZ4J;G(R=5%yaI%pw>z7Jb z<$jLV3{Vqo;qE~{r2W<=SJhAh$F`P)s{zo^fu-F8Iw>%MOP|}<9)#nvzwqwaQ|PJR zP~(d}_H<4moS^^Y;=ATFwV(~7US-qdFIST@3!LBi?kPphCE`+pY_kl#HwG270guuA zVpkQu{tVi*%65;W@zg+4-E$%o82NGp9Ae(+a`xrkVvP8-;6$o~O}>JyXKV;Mdh58eb2S`y#>>4>g(JEvqQbH3 z!`anxhD$4{pYRNL0bbH9zb&Xy5tjru?{2^8-dzB_^5O?1WP~RySV!1QzK_LU&+Qt? zLWd@fv8nPY#sOFr+sHof zl4R!W9qvRZGY2g*LD781fg5w~01T#W1+oo@|M2@~TimV-vl7g5H^j>bF3rR!oB*Py zVl#L=(&L)@#Zq-CpBHC6TddAO`*egTYx{5}qrt4CkRdO)V7rAGL=D97meJXsCQ9%n z;#10dpUP{rPaI`DLQ;7daPzWD@8bHdqu?oL-)^2r*!U|37X*^co(xxqJbfISlUcQEI3f3C;{w zrEBFl<${WgGojg_baS4dimdb5XL##d3XLT0^G?@eR2&vq*WIyX^OBQas*9XTSuUuwG-THo_+Z0%6?Vh#Ss%pj>XS=B>sT`h-~3PB zY9Aj6rurp_i$VooIY!0@pcvxhPqulh=fNQo-HmlY^daNA6P$Z>gO)sE$Oz^Lotsln zm2zP>DXTyGv8PHQ3C7ygRk$)5#nI?2A6pp6OsZSNE&1PaVDJmZ9qa7jCAoBxIU6NK za(kmZ;8q<^LacN8%WXTB3E8YoT(GZNq)TtJQj=N@%(Hkm9i4EXK`%0blzk6HYq~_$ zDkh4-5um9ze8J~D*70UiWxH7l)J=z(5}tP{Bkktr<9~%rWw_7xc(gm9VF<*!dC=AB zyNbA`+hk?06|O7h>*jCY_dM13rKe?KVlW^Cntg34@mW2qPfpP?s{Gca=+G()v1L}p z40Kg|GMfumR-cpw_syGkA!S@P7rNCVIteb`A&?8Ug3^$Oo(-2Dj3@@M<8wH^Uhjv~ z%Wjf+1b|fT(OL&bBa?~PZ}KKOd&}4*bba21(JOxl@%tM?vcgrQ7nfTeQ*T8geEs}J$*tgI;68umOgbTWT38AHI zAk};?Eq4_&mj-1H9Wu_l9dJJMHzOynusLgZ;(?c%HDy`&JQU21!=2^4Qrw9}-&=V4 zXI#O%2GM(mulde&fZtXK3aqRx%vxsI@!HblvUpC;oZ2U2LzldjB~Cv8zd5p8DkjAG z5%BGbwa1^j7>{;SnnB&pJlG#{fWJu9%4;;j)N(g9X>3G=HTSRi%pBw6_Vsi`6h77Z zRPhXs1**m1!U)YroGm1ai}6c{b-bRD7!&7$5VaO!zG?UEb^RR@*<_ptPVaT$N4(S% zvK3$Jg>||k%((xuKV&G`T_5ll+KEzz2XgM50dVozwdp)u;r;Ec*IJtKYFGi`9}shk zbE5ktkO2E8w?wOjKBV=(a2tj6;AX*ss=dS{u$v8D5x2De(+dB(@tMj=yOxtf=fcE6 z6?>|I*8h;CW@s_wb%r{gi|704CHEpFlW9>=b#Iu}T;CEd&Ai5^{N1ZI573*E6D?z- zdoO=Hnb1=v$R--D`j?@6DU6|&&_?l}URfpSwiLp_74t!helK;bC-l7r-Zx#K6^T$Ki}ocQ#0+MbhZO}m9!VDVn6+$YOHrZl#stp6uy^z zWgtd&(Z%|EgRQvwv8U~%nYmMN31Kjq1eaotT(TB>>6}?S`NXmbXVEX;QE6$%+V6p3 zf$IGEpA=-a1V4D)?0hPYGvsaqU74ac(C!&}5Euq)R_oOLsoBY}i3`p5-ss zKB6UqH-d~Bj?c0k*gqPcN11EXAu6EY5(JVN+vOD7p;grPwXe)soX>n9w z-LEYNKpya(g-N_L?1$1jU^XSl9|_mOJM4=Q1W#End#=5Z;|zn`b`{2fs(QOm?p&!a z*;wYP5Elo8^Se3Qh)bNQ$;GTW?vM5YpK`98Pk%yIkGCmT9CEPH=scAS_ioxW?y!?2 zJK3fwdkU#vW8z>0z1JPuqWtFw%vqISKO^TsO8tWugbfkWVRGBnUUZ(2Q`LN zz?;?niX)-Bcvim^ON=LbS+(?wYi_N!`S$pnYqe5_bKn{^!1`6C$`4lctc6$^`5r5v zzOSMl$_iZ04lci?r1<>JVVL5Q{FkebsTvbCROJ_eA6XIy)K#C;_ zbkNeeVN;5PxTLMl6izxy1#hN^!9-8xO^0Cm$SCb4P7k}>k*nuB{&uGW05lTs$`tV# z5A65)9pAF6QciQ<^>tSOir7a7%|6dI$?ZOmI>^TU8LO;1oj=h5Y*kEI@-o|l1N|T{ z6ePN@>}>a*qy4Eke#vf6o2NAlxkAIH?#(lN9(ZZ|QW|K(*e^?B?_G}o`=d0{Sr|ud zEt<_1$x9Bp7dmC=#Y}`EN8m+MC7jl3%))K3AGZ#}NojPo1 zdwzxJ_bnzBAFg;+*FsM_%qNs(J7MD~_}4X)(`9YmV@L06u`|729Tyea(ASTj7U{wl*r|XcU(afwgBU z%4H8~+J&CkOmH2XRC#PYApimZu$7f~7Yft#Ux=LfKQwKg%xP|LU?-h_!)Ke#v?|HK z!zujzQg1U=v>AG)U)>!r7=%d*NoQzyQXF903nZQ4U6ITQ8Un{810Q)p*KdCwmY-u964kC6}9|UucfwR9_aYe)MQmboq|-$g}HO?cJm5k02k(~GfTC6{oJKg zLnyS@GxELiT?a>fxs`Bw)heHpOV8i>fF;^{Dd*dt)PZR_Sey4=MJ3J9+C}9e{ORA2So~Vzkv-p3;_Zn+B;fNZ(Y<^a^mv9ql8AncyL>VbESa zLwBJkqozvN*owiP<5x5rzKq5<>I$%xij@w@nu6d%eC?GQeR)A7CX;cmJeU<18tkT1 zs?_DPpj{xgac}MQ5HG&4HHQ#a|Vpz)b8{G>fEH6M#^S3sE<0O!WKdrMeFjlZoGS!4n zXs_-=Cg)eB*YXo@mP4$@M@4Sl1QAbE$KJuiM8B1nz3$Mreh&b*l+Pp{Y7_9jz7C!- ztn#P?cJ(^W1<~~(%{)Yfa2r4aysAGB(NohhR{V(uXn&-)8Ij=x%M92_t*}Np9rUwH}+i;-p2T0BAuAv!UCHYEJI0+00)Vik4H}|W2fb3)k ztZs4j(?eKDzA}}7g;kgi00|&QwIB=_Y|-_ys}zh@9J<0Q_FezG$%4L59p}8nyp)0u z>x*+)fu(`Oea2UpcDM^Fyf9;~@CBpR0<0;;!Ly`()67n-S()`XGFCv!>Dq&gOr#QF z(?tI$s$9nOw*K?ffA+_5tPs6Bd;!7TTE>z700XUOWl9?DpK|og5aa`r!gT+VVEJua znCP!!Fq0lLHh`*A%(8;kHS+~-_VNz<00||-=8bl<5wNo`Px@M^^oSDh%3^-RS_LTe z0$&t#NULr`5>Oye_SY&Y#+CE-5R?wuG)fEB%y#fNceJ1OIgNJvZ_x-V4!DUs^$}0a z?x>P+%NO`K)2pZSk1%3{I$raZEB92gx)^0R#0D%{xoQ1%|IC)9w^D(8kJ z7Wq>Yg*8$%Bz&^imH1k+hxN6Kd<=`hoh zB7X}U2z-&X);s-i9&Zpb+bFaBLVvE#h(Xsro>WfKa~-VoPzMcwG*{S18@iYjF({q> z0a4^}yg&m*MlE?BP`tDUL5%PutLxblf>pg*9Sc`ydGz&lQQG3go$GUR?d}V;t6pkv zkw{*_Q$OpJ#}aeJ3duDw(m`!&NMQZv&_nvkrpg$qO}kkfp&tJ8o-A&cC<^!dtzl3u zp>3KLdDmcX+XII(9N94c?$W#LpU#jz`qy{|LmXq^`Q?HGIq9`p)-EQGcW7`-D2*X! zq-Qw8rf^SlE?kwtu-K5t;~U+bgKPPOqtk=FP7%hwa_Kw!c%(-sVh*eFxH1seQ{uS) z_qViQNnN(8)D_7`?b@y{F`}@q>hDqiv4g7A{v;st8felN6GiPDN?_~nC0cnNr zS*3NyKM%AF%Q;*$3;7eK9OcGjx`q7d;y+VbNZE>QiPTmcUS2%)`y3hmj?*$#A?VoN zH!48vK7kpA3Obc$x~K7qB5Po>(q#D`0I*D&*Y{zvmOQQE;{G2-Z!ycgD(%z2$d~4` zhC1Kmr@YJu@Smb?9V6XHOg__@2-wC=nnYkoftBF))*x5@1G$nhwfxW-F+%TG@V z^%A{)?XmU`2qkg8*_^GJbu3faV*!ymI|aW?sLReZ7=Cnd%a3m?7oT_A^7EH=gncZM zszKRy92FvBk;Z2HG?ClzJX)6d1)|@OQ)F*|(d9=PUd&aXirex}7 zelYu_6L=HchFeL>Mx_i1-H0<2%ZBz#}D)55qvE27i%4`ttrcu-QlQ9`%r{L7i1Q^Ho_GZV4AtCe%ANH14-Xp#sMkc9L z%PwkEd@aa{X;kgP5N|QY+V8nv_gi1K3T%K6m#iHH!A}8bg6;-ON!YdZHuEPkV z8{yDBJzgmBvt=8aSxX6I%9@K3#NIZ->iPn<#;-A+iZ*0Oc7w6m0o0UQ7y)+_bZE6! zfOQ#_|4UpjVO$+}r!>rfG3*`2c$RCJQRYI@E$a|{AK+icXRu_5He_BhB4$ECQqj;i zm*+VQ8wn2`q1xu`QYeYkkRAGav(coNnS+%9 z83tu{yK@BR_vn@b;X7pe96({5i$F;(EHRXXoIQy~MSj@G0UF z?+vwEH$U-;-L;ivJwi9~RUH%We*#h9*Q!mPl`;+!T?H;*S(E`fS_o!#4xzvEd#T(> zZ5-qIZE5PBh&LOW1M=Acuy!bX;#AQ@9C`G`KNIE&h_hn10)N1 z;qRL@bN|T)!1BP%*vM^kQAI`L_si_ZV>mZ5$8x9j{{>~pQD?Vr0l5}owyozn*hk~! z^=m#~`FNGq2U+n7JilS{21V;z%KW_WvG$DAXPxuB+qY=R?$MvhRy@mxN@X*XgaZ`- z4Hc4_AUbwt?$9EN{^yv4!5s7*Jwks%ELA>-6B9B37|FG?4^?OmJD8+EKM+qM36P}Q zPpNF4Xa@lMw0O4v+gl_yfCfNj0NlFzwsi!MVwsr`joSbuvVt==f&Jto%6>=b53Yd_ zQdk3>__12Sz)qvx6=Ri|zL>b&ZMS5xukb+zZcASYZ?W5;@w)kaHqYq({3h2qLWoh5i8=DQTl9XdFq!dH19S&#^Pw^}+TBX??-0ju+!w2{PfDv?! zG2zt5=qtDSNqAZ{z*7tMee2|g2L+H0mk{WI@@}y%yye5r2y&f+3o4dC&x&A9U~d3O zrt?U)T-%QB5>1%TlXt&g>3D&u9oboNhMMbmp|2PH=$PeM1a*`>U*t`Xqbx=O==+y! zm5Tyh&k2A+tB3#T2mm<$Lr7^ja3{dm+JIUCp5cEAT!o zcjHJ`(UOi66vN<~pl_`4lE#Ek?NR=Uikg7l=u9V`wq+z}bkkU0`r0}#Q7NZTr?I0J520M zYzbV!rUm2)er{XO))=^g>5As=p|_=&4qUOUxt1)t2)Ireur#qxGq8X@t#y zWX8FGhQK5hRLZCrOX{f7BFa-hp(nAWMD+7Lm~hjaXusGr1+S%;0#EfeGPBr4)GXsb zUOJ?>3!h z&t+=K05x82;%=I22vCE2#S8EETrd1?+Y7ZtL*{L1=hvoW`PCcERGUHOfyCEN2! zT1Lt#;3z>37L&e2*vq^3O#VNcBTNAW)MIR?($`;VIW>|cLRMo5>= z=h(3PcSiG+R>n(KSoXKP*Xo8;nM%jJk4gg0t_fhi|50^g99kl!7aQjI@rzNl@(|!^ z0NW&I0Xu>zSPWVyls%t)W1e9}xh@9`Ny*jju|{myR`|IxIFE9D=$aKO+L8O{dBULa zE>Tqps8o`R&R^h#zeZD3G#~S+L+LJhOIQ(R&2`PzJ%obo*;kX~TLUJsQb(?pKLV?1 zek6seER2&_<0SQo%ocvd*4igK!H(T^cuPv6pIFPRrIhykn`=S;bEh z(kkC9=g+mXU}%tp*^0zA<^V`rt6Kx0h$l2c80CC3g%nF-Te(#_tb{-VG>vO4lTjWp zL$TL_7#^&qOMyHem)L|e%pX3z-4yLzdapAxd zKJ&O$hn5D4PsS0|cXs~?qC^j;r|(5mx(3YTYml}-MJUCVbJm_GLuzhqyLO4;Fw@Ra zvaLotTa6AE-+{#RK=L^bNmlF@m1mh&WyW@cqCB8|O?r>Z{rddZSCwv6q33B&f&LWT zv@;chqM~}v0Xirbf_Prq_QNeeQ8z_(7m`Obo18GchL@G(Jw3WdbY?t2)M>z7u!yWW z(ifId@^FJ-;@>)8?VXu+yS21U|EZ^5ShL1?dH8sK_3=CS8T_xYureRPpEW^F@AnqQ zbIk!>;bsY^tytp@R=!woRm6drp&Y{CX!Ta3qKJmBl6G{SEKUdqkXKolKn!5%H~~kM zL&K}C=tWeikkmM4S{yS(IYm^9Ckprx;GF{{P6Ovt0fc%35XZ`FAPMEy2qHx0Ks7sH zZv+u&jt7rl1(0!H3jawe-3f3zk%Y^94B2^?BM9Bkm~@z zWI6G`I6MH0|LgkXR~!Fr8&TT_4y-&m(37LnaqR6I`lsy_mOa9ea_F1K8P~6X#Qg1p z`ld?a{5&EoHepkdgn+xJJ$c>8pix38VwU15d$JkBbs)FwcI|tBvk{*@5f>;n@pX-iFI48Zc%G>Q%ut;>;sc`Do0L%1#Uv+|Fb=1Z=8?Yii<{Awkw>G^Qa zfXG$8u#ZoUmrh(ve)e`tIl*A!WOT7i9nj^=PL;+|X+{2V?T-78lVz(bPpH@PM0Eu{ zKntxefr{Mm%-paaZ=XdeI*VdKmsffAuC9D>``GjP0w^q5)deV+<+rFynpE3!3Lpj^ zSxoAhoQ^N*bT!LTidmqtI~v85sDU{am^-K2GX}oVO2{pw=joVnQn}}_^Wq@hqGNrs zfMmqHI~tAFgH2mh=epbOAS}O$ifE6Ur>xj7h8{mJrO_|6m&D^xES67WC+ch6I#Z`o zqDmOSkYLeDb3vArW);i07mJ8V%O4Xvgf}Vq`H>E8MP?#8T{cYZAo<1{O&Z968_m!~ zqCxY%_^*+9i~in+6g|o{t3^cWwaP^&odJ!IZgrPb^oWBKnlH7F!8aL6u^^cmoE% zY5Lumi<7=4{O8PW%V*bucD=cqjU&gzsr%KH9K3ItV`*M^J)ybe?*CmN&K)M}3|Miw z9ItlBfcgn=b9?Q8CM@H+zDd@+g;bDhRQsyTC+2G$ zC?YgMrK*=Hf@PJs22t( zc;kBwRI#=GCH7M_lJ0 zGTo+f^=iF~7@w=Tr9jjka)MtLn4}OCVfI3(`mR_M@|5|%Af__sf%lcZ>KmYSmxtUY z(2ff)TjyA()EPkZ`)c2(E{E`ZzGWou5yg6pu!4UN0mm9EAWz-`GO}`=v~B!%hItt! z?5v(jVY~TK`Pc!F!>8;}L+-~r&m)KFx85rjm-EY=d^-r z0L85&F9HK-39MM{UyxdG)u%NK%I8El=gw?q2bH^STpL8X%-z7S?-h&pyD{qM#|>cQ zFDXtavJ=WXlj4Ke5PBJizCpI_JfwE9yme~s{*Obf_Ak9FV70^Z%oA$RUz+*9T z&35K3Y_rAoL*g>GKP`1zsQJf>b$CpUPSku-7R3vesJ15fDnb z!U40^SjT4Qnjw&8^S63Pa6n0-0q;U3U4XfQ<%1Pf)x?2fa9XP4#dIxM?dcU;+pXHg zfnx&ySsg7Mz7$`|U+7`pHpQ0kpS2IaSbq)0_HEGY+su&ard<61^wH=P*Pi@tm&Cle z1xf}dh3p`iy}RK$62f?kvhHz4Z8BvcP0j}SQ_)*Y@r6ps)4mK(M#BkNc${gXMiuhK zgz9=tRQfHD8%4|ttJss@g_M`elW@}2?^_JLf)$H%LADN@zv5`+ zO&cDugDs%PW##4k&@?;RGD7f2wO*MO?)s)WbTKi{J>*mCejdT!_n*$J(-@0=7`qWO zS4UWd{&MT<<1$Sn-@}`NO<;2zs9wPjrKD7^g*JG0gCSJ-YR6Xn?n176k+=?Kk~Qu4 zX@4B(^+vXJPe5!4kbqqLOTR`}ai?&u+4R=#-|v^!t~O9!1C!V@cCq`GbK%%48CM@e@R2M9CK>nc>RBVB zq@Mypw9)|+&Vp5`l;BXU<$Tc6JUCM&i;20^TFy^q0meh2eA3oZXVM@-05j_X5rc8! zgJ~17e!b8vG>x!aMZ@^SQ#v^3)(quSS! z_6~}9x9u8Q>5|5kh2dJ2+~$%vA;);P=6}itsqu2!FMI!zVeTTZn2Bme*G$?MH1&~| z=Vo=j*;3u1d~tb7@U*KL7O!6!CwUR|o7H3zu~oYxJT-iMZBP`!@l=OSGS1@dvjS0S z5K5`~%S-|DtrHcDz6vMS3wE{NYpQUfd+&o6SIN%7oTR4U$?5_*3$aeZ*beW9nW!rrXA+KNR|s23FU zeE#$Zm77TEnD3NpggjN+e7j0m2$ll2i-NuX%(zC-!gHO$lR#?oAf~MA; zy^K29ku!WR^Ya~P|Nitl zr{gHZ!1tqHGWb!17Vm{feY@1O@Jnt^eVX)0tNk%UnHhRB-M=i(Cs-$LWOSsp5f+d~ zbp;DDSbjYsCsczJ^VkVX8CeR%Poes%`X{69+C|^V!MNq+b>Qlcs1EdX(U}UzzZvp7 z!=YYO+IO-ePhqW;m*vBw+wA?ze^vcul3El@B~bLR-Uk>7zolWelq7@^0wF|BD3?S3 za0zuoe(4b~C#`!tB|IywLDP9xo#r8*V3d{4zNsHRH#G{?Vt{fvpN~$jhvAmcjRxi@)a<4cYg zAiVH7i+c9JTwi~3e9T^`ZIDPwP=b?=`XLr!hh6)Xh9`WcL}kVadGWyHFT<_}ZR#s` zghg+=_1}7KGiN`AgC}YUTw8L6DCSLpHmf06GaWuuYj`CyytwxLVZF|B{^V#DdROu% zX&2?_YO<78WN`~E>Lw0Pw5;a@@yisqzdOPEoZG=aF z=GZySb>`%6Yl6+=)!bhJwRU<2hRBk5_J1cLu@6J;^#UBGhrUM@%amrpbT%ZYO30ENvvDlI6ow69|efzL) zHFwMcxYdP?`nx1WUDV3w&4#;#OhLu>nmg{2@{#$wIFwWte*ZbT6tQ}B5rYiZHUFUn zhVs)rvaq3@j+Yl!oQ%GvYz}Rf3kW^e7$1r&fvni}f1ViHg#sf z0Z6~hcZ-#U7bGzq<}NRMm#O9@R1C@QD*+{x{*Y{&8Kf=OylD59akgm9rj#KV8MP13 zSKduRdX!ge8_%ZLqe@3%JW+ateKi-AmxkNm{H)QvtM!XrKn0|=kt|drpJe%Ab2r*a z6SEg;_0`E}{|BEAydD0EZacf-eTx|pp({9G`Q6}i0Yc`dQs9z<~}MA_VU?U0V{;r4X1Zz$|x`+mFS#1!~=!z?&7n7TE8dyYIfqxW8T zSi|z#SL?S~=R)&({#jV*1_eHua}r1o`mx(>Lj39qil;|FhRc{B>*m?@0kaA}%ua{< zYw|EX9!RK|4QX9<`<}jxXe>=`GGgKM#d&vxBo7__%RFz++H9#So=wqK7J88BOl*h1 zpW`*M`OK`fTBYW3Xa5D|Td>$Ij6*Hoo{1W*oPKam6Ua64!DSDZr|e>X6IxR;`78z8 zM%e|zSC#fIx;n|g9*`QvniY`e)UswY&2Q+J7K#Y+xJZsp1>aNqelois_AjWtJ80yD z&`=9d=0l)+#`x*j{TSr)675b`i#(OfhZQ`F$G%55zCI3~Y>)n8I~B!)aYe!sIOH8l zK|#kU_cg$QE)-$0WN#drD}%n<9pq6UUh-XxiM9m21|vUFOZg061Ina%4rhQHl0~z1 z5|{Qumt4e@-0Tr%V$<%`4jGQ$uYnQ}F@U($1s#nO8?3?l?vW6TK= z2$7?J_f%hLPJ-&1VvpE>YH`FzUAYQ%9JxQ+mYnQ#uX*22)ABNJfhnyInA$80GA|$T z%L)4KbS&O2AGFw7k!!Y&8(!@JySt^t@(vTQgLc(^7qW5E78fNhXsXQ=Ed%K@yc=I^ z?K9gdP>-Ta<0!@oh&Nsep(>MGl|iD%qx+bi5PERrINi>S53GJomv}o>4_&;_gp#;0 zSwn7Hpf}JVhp(dPtt0x`IYzt*)<}ff$3#Cq*VDd9M-wj}IWahsSY2WHrbf;8w3W*n zXlOOneWA(6`=^$l1$5MJcs1>jny1^x!jMhIsZV&B+SXM|tjGw3D1?{tBjHskL=UKv zOO4;$v1X;Wn=G!Ut*bF?n4}00;5r@v_;xLTwE4IKcJE0ejlv6W%E`O-ub|)hs@u>1vl93iM(<9W4%9@n z(2`-1$Fu-6_j5B3b2{7vzd@RL4ZYyvEQV!y5ZSqs%#`~au zK`w|>*SAh5fiV@0W7`jRHYohCh1{&TZ1k(x@9)JwWbp25ByaajQ%gWWtXb56%LI^| zSy11$8JP90cD6VhA$)a67HH4kgJ4MOpDxje01Du<=0iN+TqucG6!E{^hFQqFx{0(| z6h*9`&3CO97?o_Dwo}{`Eu02mm?`P} z9e%r29gL&@wzPJ&kAyGE;ZZ;Zb1*C3b-;hJ2fGge0RpgTIgt) zc0iOx^=#&rOcbKCbD8+Q&_9;`XHSunp$1u^kmZlFX@5^}^XEJ*6ur4IVf@2pXpuk3 zC;RLqzi_F)jIaPTkue5)k%LB(lvE*?2){~3_(n^lg9AjPyf^lc#tsYCAL!0vg+ozm z(4_&@cHPZR^CHZ!r~jzJKU1pkFG*>LrK{&;wFJN9;J0@}eeGS_Viit~0CgiR`1=6( zxT79>H92OUL_vlXxBjraflPo-?>ni2F*`j>PvaiW!X%(#U)-@>_4qV^xip&9WLmQx zlvtfFc4_=hhZ9M7q0CXvsc9`qJ_%X&Ddm@ow89N8kn{VnLNghoNCeZ~ZSvP#f!1fe zq{BpucLz{6CAhg|U8B!!x!>pMMi9tG%~~JCXh+CW-HjC&R+CBWH^|(~5qaIMq*Nnh z0E{3R?)FOa-;}~S>`EPq+_k(7>wgo-DR!f3+wGJhZG7YQFZ0N(xFv}NZtA-(6$c!@ z_YkyElK4o3Ib)mZNKThkJ0_8^QQ}4j^E%#d;r2A^i0G{S=jV;y*S2RG zYvvHUuX521DU*3wR;TkUI|7^ZvhH!+xMuh59)7~4>ZtGrt}SdaWi?6Aca%H+x$>YF zJ`pLJ3&uOHU@7^H9l1LZc-S?q8WKj*8ie)@41$=>?jdDCs-z^j2OWXQILj%;COU{z z_th@tBZJj+G(k&Td}tds{0j)K=Xr{^5AR~{4&jRtk1cpO6uGi znYsWJQlGrPRr~h`{=|SN)DZfkok;)eYh&NP>mx^0ndcsq42+#av@klbrH^gfwr$(C zZQHi~W81cE+qP}I`+9ZHJA)*X$~dd`-u0RG9maNTYv@n*Ci$?f(j$MpsH~W}t}KN< zDx1o?x+u>aD^;F z%mrt+E4p8XU*1C@xZ~XGbOu8n&wea0 zXuy=D+IhANh>@rUMrwh44e{{Xw$~PlpYJ64CY(rYdtXX{o4jp=>coQ=7%vfNtU5YkaE94JkPz zDwX%1shOM&{S2->e}bGKz2baXU7le03>7h`B}fHY&~?eB!r!sAv1O76i*Xw?9{-n# zBD8158i_`pc5VA#T>KM??ZrxC{K>WW30^XLprcOkL51DA+y)q~-1d2bLf@K2-r7<1 z4yjFHADoL`?!J!{vU*ch0vhvo#1wts%QKLR`RMr8dT}_7Q=kqr%UBiiiT}&%Y8J*? z-hY)}r7Ou;jbDu4C8Q4gF54h**C#Vi9P~1;&!ZhARg7dgFD)aM4%*qCP&m8C1gMao z)YwOe^R1c|nX7ZfD`&u!-+Yqabf&){(e4-9>CpE^I@&RXXM8M5+*wU9yzZ5af?V7+ z5Qz?}wHCLBst-PkLNlKeJ1W}l4x$OPYT6`(y#U1zc7D|k7itdl(**k(F|?rub)s2N zL`Ai+Df#7cV(7ii?aOoM!pfhGOPrqQ@8k8F!ThEaJFT{va`?& zsWWzo+Y_0WW)`s^^Bgv~eN%T}asX5P<+>~T+?Mn4M=2!R)MuZ|Sb{L6X18!=1T)v; zkIg;FC!$t-;gaPD*s`t@M^ye46n%&FpD>F0DY-LfIs+Smaq`d6i@8IF&xoq2&(?e? zA3p+xvD)dbdDOGl_0ubC)M3Z0xfgzfCe(BX$p?%r30F&{-)cTJz>Z}D|K+Izw)hx( z(jO>p8Ck+y4=_8M&gGFnIJ#T+bV&5famP?nN}|d4jRlJ}222nQ7d|uJh|0*WvcqB; zU&G^+?g;$_S+nL2+|scNNQ9_J;4AMfOXhKcGN1h_04uWeGQGT?;MQPL0z0zn9>_J6 z(dYzcyh7d}EbO~ng?A0zbr0#?JTU%uLB%H}Sf3)jb#Dh0hU{2TNQbuXOPjb~j-n4J zKH0cG+wLe8Q~Q>SjYOFDVCDwVxCil~mFR=oQFec+ zw+p=6SYIO=p)Jh-zq}pXy!i@44dGVX(EYxLX5Umb-$W_X0{+4t?pRGq&dKm7qw`mlo_6VU^T?PWx1)> zuR03AC|xseV4K4k1Q%H)&hVXL+ODTHQf!C2V61*U%C)---N9 zb>_$DJp?nml9uR-d`!7BhdJXkU8c(uoy&y7OOVrmX&_*8oom=Q( z8KxFbck1DddT4^sok1Z<4QzZv=D>_gw@>DIH)n}h+~><->6u?r*t2v%%%UlK?@*(j z$s8SKZ@8T&{8_{^vFJ9~TXD?8KDF%jtP`hteD;hHV_0j_(e_o5GW_$}%>K{U-zU&k zUg{}FgK4;9a9JX1qHqPA0qo**apT}FBYhF_yzcaNzbnDz*xe1VjG+gY_Xt{@R1yzb z#xseuEdSilD@Ewpdh(83qAa0ViN&0FYO16+e=8^fGCIyFhLU*GRnoP(d&rt-nW3D9NQJTL|M#2et^Z0sp>+(8X)lIu2%1+ zpgE!Z3V(kDTS!W8C6*;ot*TM}-l|5oy9m)8>^LzZZU~>E$=&lP?F5~McLOji)%iwk zOri$L^YDhJLhsw2wVjXM(fVQKZ$GkA$$()0n^XZs5P({J_(PQ;?24^Ourk>jowNL{ zMyrv+(0Ej^`nHx>Jti@<4gGm&YR2Xqg62eRQnY&;R@=D_q!H6kr{9=@a4q?cX2~5v zu7Cw6U;o|}>+&pGge%1Z;uMSiQcWzr19NnY<1D`SX=$cKxhXG6ch!L_1-qH01_ahA z-f6Ef&EVZW%R6oIpCMbVU7LmkrdJMR0X9{SC+gz8;yLp=xMQ@cD5VQ|%U zCv*$B^QQdziaYl#)OtBKrEUMBp0f>cTueS<8e#`R2Wvcv4w|)RNK<d)UqVg2lf>`rGt3-QkRXfWu$T*>A2=OhZ}2Z6fDhN5IjyjOqKn7L1Ex#qi{GQ&bB!3A+ML;)sU)u}wno2`T}-^c{c7f_t~n5kUe&8lx(#7EDv7 z!ZVsKO*_smbS4*gwU~xAR!p!y*Tda9l4x-B%Gmoc86@lWO`qcw}`aayL|x& zae3eJ-0CmPxHNT0je0_iKU3}37HcFo6rdzir_-0%8O&%7H$-R2(vmZJG>r=~-eDX&i9${we-snqVStRi)_ zY;aqGELUeJ;3NUz$k>KzUBCuI!m5Y?wbhuM-l{;wF}zv4gPC*Y7$5Mi;{PDPeVA47 zMM0_J8#Sb{d`Q^XNv5^BwOh7^+peH7b{1T;2c!I6Y$HtDM|n*E;(D@uZv8EDoMDgr zg2s`wEy|SgLQOOu??~3E+fQ}!E)x{XD?Zb)A@@+BA^KJ7(wVIXn=SIEdXAJ@roe!< zVVmOzXzD??n&6w?3;^;=%ucCHfEFQE(46LXT=1b{Cpw{|3!hW zXK)tdSdz%H(#WGV!Fk`Ofsd3<1ZU4O_3tJo8g0`2+?Oh=U7WF&>Gw8Seb4$@40bxW9v^R1oJlb0b5gxk8Y9hHP%oV(H;kN7ykGYt zSH64@TsYlU)7vnQ3jTz8EpLiM*r}wU#iN7Et8{Ut~XH8(Y z@qJtxsiRrKiFHpzLsYvqMvBu`g`q+v#jh~t{yopr?pU&VFDg99T*fyxFAk@twRPBa zzn*BAz$eS}Mkw4xiSpdhR%v2>8O>;>$E8NlF`LNF_Xg4oj(b5W0T zn!KD1{zGAIRGO48rTWS4Q&{Rz*3K_vxc9;{UQfU^iR(fQMD)(O*}nRMK7vTv`j7MC ztIcBwz}mBwQ4hFLt?Q0C>hbuPG74Pcf9{ga#`8zh%%bsb7P34o4YUyx!fG;HqN9kDhIxV{NX+RSUUrkVHX*5jqD{in zq4?&o=H!>tp2!>IkTHKQFl&WdfDD>K!JH>#PCmJHRkO}gzhSYLFnF2nI|a25xDB@h zbaDh@o0p!vt<;W^%LLDMylf#}R3gZ97x;OGn>$T3e)`m?O5Ts#H-QIys7HymBdF4yQxNYiAWNlnLyfAY=t}SC`+daranAE1KZ?p|DHb4RuujHu= z(Pu_y4$%F!JZh$uQ|LDZF zmEUi!eAGd7yxUMqQ`fVEnIp$SGC;=0+??IJJhkQ%R`#b4}-gg7}Xm;b1o~P5|$Zx@P zsoFV~J#2MIbB~x|PZ(FX3JX|^Enn4wnM%b4d#=|EyVEj^X5$v82KC3eB<-?-xlyHx z@PWm=YkWDeT`iTK>bH?2k%KN*1EPNU@mFNc+X(yj{Mii54N@6KOTntIRI)70RKVnP z%b| zxSDl*tu~9vQmabdc#JK?dVQZdJueR(!zMRXgQEqAacNw=yF}y>s!{+%c3(4@yy$+8 zeSWmGCfB9^MP#x3`E&vHaEfnyh{{8WSWxBt7CtaNXfj_J3G6c%U}gp_!iPOo}$SdEkVH9$4(;l5XOnuftNA z*T_oXbzDGysI-?pL~^QG>AecI7YU5tYRlyz`gowWtr6DDK)U?*o~|ERi&{_LxYNYmRpm?S z3UqgLfSpn_Y*rB@B4MeG{t2RE1YoHLtTw-Q-8h_e7#!3ehD_L5-B-~6)Gf!@vG3q@ z<65Ks(^Rz^a97g)Sv|6+2GEB*m+r376_Cs;(vOQMP?AQwwSWq5QOA&}d8;xF^TK|! ztb`TwWl5mUZQ2b4_O+RBb?UA+fa@3`yOMGJLkq#~?Q$eLKWrM3P@N==WwDW+c-nhV zHEBPrQ^d{rHnt(Pc2KOEhp1Lu=gJ=tI2P9>Q3oBgK^ad&aVb-B43)CMJ;khrkIDr= z5h8r_BxBQlvCcX%`_Jkwo0=8;~k3xk(xm6$`=sKHM}WDE@Y7%I{oW8SlR#wQ5pKWumbUuxF_U) zVAoM)QWYG%&mN%-+9~Cvu6@QguI^9^w?&6ResrJokwuACcfJ+Z{EUCQ?*G)|EmuP3 zqmNZRachL!t-=z$h=7W$y3b|t05#0_6Gt_%&$}lFPm6Xepad( zBszdwY~s6HDnYc*R`0b?>hd-D@1mG^RWwjR)>UtLEBORr6Q7OjtB!wjGmI;h_kqX5!5`$psT56v?t`)lRZ8T>uT@o0#;9~u4+yue$?qNqMq8D@Q z!#sPb%BBj^%o{m2Dtn0#5&Fux4>t0P4Azc3A=h}^@=e@koF0;uZJZJU;*dl=7woMB zAL>Ar^ERPg2~GXL#r1xGmnPA}7S+%OR&YQaqSHOCs=-{fFd}BbxmP#ar{PH2nLYzA zKKBR(shZ53`~~%X`LFB|^19U|jY>y$bGX0PiEZ8~PNTl8s)I&bpZvJvl1-sK+F{;K zkaha0NR&nsBxs{a0bHLr!-qae5D``Nk%mIs$79{V($+59J5X{Cc2z3tk;&=*d?%|* zAJO}v)S0Ceo60v{I3M5_)Zutse}PoTC&3YSb*?oFIPVVxM=>(Lxh$F~ZkAJS4BZrMcTno5+oY90R%lwV`Jx@B#sQXbZ&tVFAtu{f9#t_(Kae zRT#`0OG4ZUaiiImTOvu|VVNUj))fV+RuguwK^!0D?Ga3K!65 z(Y79OD(cUFCXNY?byKNyEqf2_)Wh%ctG!Z}heUF>2 zXg?{>8@uH((>{z_4ve$WV6b!I`!I;Za}iusVGuYRkG*Tr=egbSRs7thKk4ZPE#6?G zS;~!(A;TEaZyie@M;?CrJ*p#f2!sS_7|iNlw;H-96c!- zc2gN^@B+Q~gq47QZ@IDz3CGnu#aG%6dRe)g*Pp%cF49;nlTt#*ilGp$lg}FV@DIZh z+j;>$LJ>NRY1|}f>fqf%zRpkfN+YgDzof9suRVzzYfn-!Jq3)Ej-x}fJX^%d0YT>N zhEkxpmiGB!`9@IT^~r>cuIAdS8eyUYH(`PFn|2;OxEaF+qnbN{XuCU$h#WlIJz?w) z;V)coeZG2tzFtaqsPFaK!jru!P$nE?)DsV)(Bfi%fE_EV?uwp!q0qEQs*PS3GaMlV z*}VJL!7kH|i&qFAYEq#3ewodbVbi*LvS;ivzxQ(J98qTGaCuKUTa+|H-y-y4lxV>$ zbiFpQ7#Ppo_r8#FT=SQZ{i?GYF}_z#T+m8>3`Mkvn3eNhVX!HtN`O^v=B;?7gj<$C zE#ylQ`&DZkgoAm9^8V1I-T{r8CKK-S*kcPiF#tQe#|io$jed#@<~C=N8=AvoWcQ-V zEjqOu>*IIK3^j(k%-FGTk%4k+L%+dJ^DgvFLR^{M*g6=OS=15IY!yv#3TKh0DWPRp zcwXSuoF)Uv1X7hlnq>?aH{SYTb!xcX z_QXa+F{AG`rVL&R9ANKapBDC%@)W;#>Lc(|%sdlXz$5Bd3?A*1d@IBh{*;Z2z0&aJ zT;E@g!$Ve0xra^?P&<+Js| zp=M2Dtj3dly0ji`a6ddQB{4;)TX=5#x%G9A=dy&;O!2jVFu z1VPv5IG*g`7E?WnVqqG;5 z!*s>*(I=zq0|Mfbk~cu3lxEKq#}52V;VtD*&Ne|4EHnJ2)Lbqt{2Kol`K=3ST>aM+O8V;U7euWRNHAY7R2>+eMWFZ598uN}TU9+**> z2><~m6UczSz;`6@TlF17A|RGec$9f1*a7u6~#?{?f{N8Gh>-69*_yC7tRIL6LfP_ zk?kTremAfR+$JFzT37>?I)ofy>t^Cu^Mg3AHb%wUd4$d{dc9+beoJi5F=2(DN2#9g zP}%j2OWwtLalZ872AvcZ>{ln1?&*$9V1xn!dl?VZ4+H9oztw+fK2285rRQ#tmN+J4 ze2a>{0&SQ4-EmSs=}vA63rclKwIbclk|?X_$ANt4#>8d-pqD5YtGCDZfB;-ypMShS zJWiOqn!LsmA4REs@V2#w>Eti=N_1yA!{2*ANE)J^* zQ;A?vxDX5tFT7N+6a^_7rQiHtsL(&gq(KzG5*+F>?+L3ZOC_MEl6s70wrph!VS3`2 znH$weE!vghbR7h_+zFcY4UG7w1kH!E!ymwmlwkQ84g?*b4T6w7BdUHRRaw9c%}jjh zZ&SlT1W^2F_A)l+X_5VEKGPR!ArOuu%#0n=5{|Pz7=_7QA-DX*>9iETVvV}jjh0I` zUiv^DMdZzqK9!Gyer;l_tDbImm43b@MFc-dy1Smc1@%R9-)ADTlO>!lWwHbDPbi&& zO|VNO-2=>t%Kr4tBA9e6C)0!*i-$uV^whqr&$;P_%!iRd4x}*!9TQ3TMc&a*n3FtY zUV|`)Ipk`x$?sQ|Ey*Pjk}MCT21P=`69Uf|mHNB_P$zMwfo2jnQErlod$F1Hxw|}M zoV`Y0n+jio>E|ca9>es7(=$Jv&Nw~-yWCZto%K3Jk%q(}2xpJKonDvS`kWt5Yg^^) zrh9s$}pr@5?VS8Pcz-<9A#W8 zSr=zv_2T)yu4WrHBnTNXeM%e}M;7Fi`_ps(liWzO_lHmPdecd&VL;-gKJi+0xGIua zOYZY1SSd>gSFB7FDUx!}#%i{>|NFPeb?#!1`Wya?#y2hlQ{Hr$mK)ak5z2JKLQCC8 z-_qJdzAl?mwOpT@B=c0|W2>IM%GJnObbVa~Oi^`RgWa>omzuTU#=vn7RZAu@%}!^6*lUpmR1@IWu}>2e$B}FiaFWhpZi4$+f>1H|+JDiDrdfOddGSjCkd*9mynWUNQq#J9C^=>XdHc|~qFJKkl z!K+NW$t!lzq7$GTg8GS!z20I7QAu;|v__#5A+U^tw zyl@v#gX{hTBq)B~g*A=%u9h3_wt*CxGRV{Hl#1*X`2t; znM+|^-~ndc+5oFky-S?Hu@&$s{n*E~;i`+I_YHN&P~t1Q!wz5uFAyIrldYpRtFq@= zhn0|{#cboR)}{jyZ>#Tk1$XUdXy6UWg>6~MM?(XQW%n=N!9}Vgn?)d{6Gj>}aEkLk zuj!+seGqbvAM+KU69awC4Ki+>)&<1#=H9DZc*&%sM#J)1@;InHXR5aZH1)6I*je6= zaBhZ0Q5C3rhB-5CYw1z}V4$A`b1(@|e`gcGf(9nh;HcPtyAr1FITRr>rBT~3DO{r> z9e$&A(a?|k*HyO&f2D&N5_x)gIyMO&JB3HQ(uaH%R{-mCHifUE%4V?J&_ zf)L78jyO)yqWusq!IOg;>0$tyOW@~+<)OfsRlNFssHT01pV8n*v;a2EMm!*J$FWk6 zVlPFxq-jFj!1ww-0<}JhkZw4gU;=i9qP$fY%jPL8^+3XrJ4N=C?6x)CjwYyHr9`k6 zhsuzpPX^5GJ?so&BDR#S(12F&$8qKUyxJK3DX1c{W^#`Gk=-uqDbop3r5$>`db1BE z-FN^ysDvbccgKnpMQ?RKFb0XvfB@H?jeQ@9I0595}g%D!)mMT)MFO#J3H94xnh{1(pwCoH-m2y@VHFk0NTE|)UN#iZctE|jgcd> zdRbY7$-hgBwVvn?=o)Mrq3ZS&R1rTRQ;?EtlzQcltk2!kZPWd1m+QL90p1@ef_vMR zrJH&t6+h*X5vaXxetapV*(*2Rve(TK^%qoLmmWC<4~hAm-c|UL*fX@@1Fp5+YGHfh z;DtbT9>ee%DB=r>JB+XjD#4z>z9?lv2c}xmsX@np1GM zL{&M3mEN3K%7V(|$?l6H>IQa5BWnnRkm+=-Rs(zt{&qe0= zoja5hQ${v7@S}Tkm$nqg?`Z3x_7J28ur`M^$hI|~p}MX1Fe%C97RBno5gG(@MZe7? zh(JHqKlQ#f!x*pi^doH8ab0;SaH+pX7wlynHJZ7xJr@aG7!l-2&iEG{pNOFY)j9MqaR|MawUokx0(yDcOa~$4Vb(fU}HCf(@D+1ZOXn=EuZX zj6=wQcuK?mf|&b2z_RQG&V1epnN0p#x1o~*LUFLl!JvP($%24CqSB6gA(lD6WKQ(Fr zQe&$(|L3ZZ>}1~LK>6HT`vX>x1_nU^_}|4IEU5Z_F8_BU`tPjY?{1wbXQX4Gx3#ph zba1jacQUl4cXly!u{5T)HMMi4|9|xm0D^^lst;cZBn{{Q0Am;c095~9_5b?_or9hE zi3Yg3vLuRJP>4~0$YdB%7>0bS)j|y^?(Y3v-?}(D~!m;F;pqtq+=o8-4`dCoMn)M(@ zOB{?~B;FJIK_`F)@o4O@%Y2$&q1Nz2)(r#%`<{>S7?Gr288BN;9`JP_ed{Y z-xRia(uX#pB$?>6q_J^N&`%V}(y7WP>{ze*A~^P&=-l7RK1Pyj={A-9(RvvZ?(9c^ zpALxrDADGqj&T_HER2uAYlrleIUj>G0m^_Kkt#f2$VRu)uq`tnk3RhY1|3XDZSFuf z%F$W(r~9$gY(kTKD0=frcj(xOvx1CjSI<~M zssTOeBbu1G1Q$!7g1lcPAi{jjTfQx}t4%xLSTUxajtUGMYR&E(TOrQ*RdbI|_LVyM z`(}-mSD|#mE#V{?h~MHOR3M`c_qscXM=8mloSwj%f3n!}T%DTVrsnmG4Oco8L_zRH zUHa=7jWo6c$cmN??5q?)cE+0;n<}KAi)|Z#?LZKgss^nNLNfZvU_Ox0zk8xlN@GZN zmgw0yau`6o_3zRI=09C1G1%kzVI_}_4oBaPGT4m<((M4I%cToRF6##$>7hN%yFx@q zoi)@+F&!_(aq`p2KET&dZ2fzi4FUdY7q{HdC5}wk|KQ0to0bT&c?~OY$)>Y@86#<@+;Ik_}nrdfGg*B zX0LCk{g=^Lj%Kx=HbI6|# zVW~zL!zJ_t*m5tzjp0VtLS%>66-m(4tT%+{60K$L8WAqc{II*J}wb^?Xt_{aCIc~z*rs!?d^d;40Ut^a{ig#I;w{5bFRnOmVS7ut z)&=&Q#5eqWe;Y9i`NW<94ZYj!{@pLy`-B*C-eSP4$*h7NJ-M);{6{C~XNSdtiEVHwTZSG^-2(Sp1ldT5oss{$P-@=NKbm01^gCRC#)jji>}E5rO5pRpFOKCRz55kgGRodtQ$0q? z4No^VhfBiaUHZ;8N5L@K+jxPD>p4x!-6F%Q`ugM=V6Ob==7rhrDHYGy#>U8;n0=&# zP6pVq66bGHxb!K7Q~(sJBZ2dVjH5I#S%uln*%8I&rAE|+i$WAeLwL0JPip(@DfWzkycU+5m3kX_dU8_J=?g8VfXcDfN1^Qn zALg!nbMHK#@r0xoage*to>+?GVZd$o5?7ahMA@jML{e+rntr(+6v!u5nD16O>w#={ zM$cC_dg-X+W02Y;F}wpjT*+!>0mj}U1Wb2=C|1es-x!@3W~oMUvB*;ZuMdp86T)FA z|8t;7m-e1AbavpOLk6GFTrw!go?hiO6uh-o!VTCq3tzp2**?fGqUkVh(W{2~>7Am9jm4S~Cd+HFoy5g*cA#8i3sDutz2Sz2lcC`LauA z`fxcNXDHugKcjR?r#}~z1swvA0}JkPIo5{`-Xe+hTKx0tx;7?}PkcTa$QzmoP~d%j z0AI#jjl)}xvZE8Mn z-mYU-_eRrsl4@L)9mcSAEP+zr^)C2bh*h5nwm8SY|5A{8Dy=POu5oQ?l`>SJWtXBn zgt~c6s`2o1I*R|Ar;nwqV!=5Yh-UG92l6pF;|X&c!6DNkz&Of7oAq;vi^e2Y)s2PO z6RoZ1sWlj5*cKvD>n&V@4W3p6_kJG|Yz_(egYN06 z`=l5LAV~Yf>!ou3jcPLVZtdWRg|n^n``CUWgXyh>-RUeOy%ZJaT}6CB zd;HH?w=KYy!C~6Y_yKtuG*)FDfbZE_io(kIm8WazHE&{2EE+*=H5Dd#a#P>4=;gw4 z5~7-p0L}zdB(yN0m;yDm`aJF~2;w}z^KaHDRwhrzv1*oK0qvGeu8|se$xwdX~wqW$uqaO zGX{BUDeM9+jeAb02c2YgEiICa|3A_Txm@*YBsxI8Jt72t_oK&?sh{m|{hcwxW&x7g zO~PC_Jw`4@5G$ffPrylgskuhr>$Lc;n-HS;?10V5b|syKvqLXdt3!gA2;XM&In{~e z9jjdVG!~j($wK(`y&mFj0`KK?VZ|0}{~DBE8H$-=L9T$LV`8D`DE(T3i2|v#I1V1c z`IO5UWVYe!pP~U~Z}nGBgE`6o1ZG5>SuGvG?!a zcczW(c_tYzAP4#+MUg18=@mr_MCDlM_s>+eEG~Usx5-H6#Y@qJ)=LpH6oZs)KZ?rq zsr2_139p9yaB`}u<{souPcrS8F6Y1OHSYd8ySn#gr0U@^OgozY(fqNPsjlV|D7Ws;Cs z!twqtyQ{4q3oGt}=4aKtP~}ZE8od5cUuI|MbbDpbl)PXOl6!|bNtFo|n&2@Nyoy2Z zNqjtfw^L|Xhr72LGc+GUS<+8Fgh{@i&BCB{k;I~4_vPdozTbrdV;MBebvrB-xsqUq z!<(*K&#exYL*x)*j3AUq?Z!NDSCcmKHi7Kp9 z@A~-t2#f8dj-5NRHZ!ft!{fa9_n%Gm8~oS&$VckWq={3#*W`A`;f}8EsD_j|4u#@) zWZh_OBmoOAJ#Qbi{yjgzg(qkx!b&w1gH%qnM0D-qhc%Jt>5ySrH88U*ivd;9htIOl zUIUb&0$NCaw0*0V;6T*KV%1w#MtlIh6al$Z$pa~s$-gE{b))dRYj}mm+`L;r=Q(BB z-j%-$zh9!obUX}k?V0(cng*f*J&Zk~1AaAT!j5mEa9u}vo=|9yL_|lM+`vc7$y2T$ zI|~U0*_uWj%t@gB%7c~)O!U4-PZYChP2I%B@<_^AO{pyK9kk)Ariwv~0x#MzmwOZ% zjx6p>+)8I^cvcV89+`a00*g9`7ejCzx$OdY`G_mNevYv&X$1AL^H9|$Dt~iP>naWG zWH(iWKHFEdk}XL-Aq2ffl*wRGxJo5w>P==5gi_4r0b7R#X>st1D2^L2j@xQ3ynZ_5 ztAkn{MLBAh(S0GiJ3YSMnF02^znyMhaudlpVLvFp9(j6l4LTGqOOz~mX$T7CXRc0G z00D~##}0T-XS5Od{zcaJ7(~bMmWJ=xih6xMvlvS`%b&8J6$178=I!%T6-?_l6%T<%U+Ae zjqgeuG!SOg*&pwRQ%qNhvAe~J0b&#u6$YX6`gavR;b_?WCf3R4GQ!A5aLun%`SB=j zS<4dNIaY@%J2mdJH<0aGhzCZ%l)a69i0UBHn`VQrIXgSk?@WL8IAh4sFy3TYLKQY= zrfQ2I?Y2mR_@y(l6&g+{IG|PcPg5|s^8T@K_v&chrm>dMHpSfcP5%>JF155`Om?uR z=Ot(_;+s%bm1&3l+f6UIJA(aWLXfrSA$^Zl9nEN$6%z_QXJAI2<7B?EEerGY^bAZN z^WR<1XH3&-Yq+V+MOkQCq#BL($)46_5s-<|z%WD&3^)iHUJX3+vdDdX;O`FV$BNw| z?SU#n2g9lzy}X{PD+12AP`Dr-Q7(?L{>Yko6KgpP0G8~`OFK#6nUjz^s5sWM1X6if zafN&D(&&lW$a6RZThrZ%DE-o6zvb;r6VHN4-g9p<1nj$zn#OpC#iYUIN3VF5Y6IgK zDl{Sag!~h`Qv3*4s*Yz4*9sJMra+hFly#M4UlU@%x?R@N;Pcze8H7gVIAhGw(*s*b z@IFy1%P)0RIhJc4W`=s7d#SOOBpw}KISS^MZ7V7)(x%=}TQtt zN~ZaSo9;JQnvzcT+3`&EhA%=|%^l|UPxcM@(A_dbkw>`V z@+6s*oYp$RFWOAXDn`U6uB}V*cOS1+1V}`aoj6^~Nfd`-Qg zTQaHUtFIaRSuklQ!J)!m%P$Od{F5iN!la9*}3=~zVobn@O{+3MgEN_AX^0T(5BBJBE}prXhyi52jEDJ%%QDd1eBq3V<<|NDy40V;;2#iw%?z`Wf#vg~$(ghz~>=&zouP39( z>85+jiA^EtXzqX}zjz`KRmuf^hGH}eAr{G|cN;iHO=|Y<3&Qi>hcKUNIQuB=>juVq zmR~P5HQ{|$!LBpx$d>biA_OJ4*?Ti9e7hJ6XA-$H)m_4kiimD z^B;n-c;Rg1*=D7}e{HnSmx#{ z2{gCXe-G7WY^g$kE3PU4mvILC>xLDNxPAey~5i&?81&FZ2lta6K z7`rP<{63uh&dk5&kQJSupDTh_vZ0gd)d)kpbGZ(GDCLM&Jt+XT<>csgbUi&!%n8^i z_l~4O{4Mg6Sg8jjbNJU}sx5Ad*}JSF!GZg!e)v#|ua=`XWz-%&m^W7=KYD5maArhu z;4kTdr~B2cyDRzNa*p7!BJVVP+dUoQF6Xm5aMfX^_=#E!ab~^lwCovL`>N z`Ii)ExelOE}ddW_DKB|7V{;oL2+b6?54peiUzd-kb?ZKT7MK z2gQ0*7i3HM7Ce+u3fS=%rJ3{rR#p8h_V8~O_3c6Xx4NCzQ014)k;l6y$HC&sIHQR@ z4BzESXf-+)g$1X2GqT5v0P`3OSFhgs%Ogk6O6$L=-NYOxUZN?1%;Iun2RliU`ag`F zL#!x3gQc%++qP}JYumPM+qP}nwr$&Z*Xq~FbkdVq%)h8*ttBYw z%^%lwZ!({}Kz&W=Op`6-ES#WBv)-J3ftRt9Bbp_7b-o1rLP4}aHh|zyy@|6yDPa(9o(}V=-%3*!{4v2fu^ZDZas#%$y0{wja7k)pTJwZX>4r+qa zOCn8GR7K!&;UI|a@jScl}LNr z?ptlWaE^IUJ7Rrig>!p3o_4#(>_pb+8(BK0dB1d{_# z|E)F|0vkYcNqK2VwVV&)6Z`)L|I*>|cOCzre;p1Pp%=>lwZukC-3M%=yZ2}MgpoB`Tu=w7Gzb!9BXm``*G zVvM*=C!)h@a+W;;U4-*m{p>A3vhjm0 zhI({hyW(H0?Le%Y#c;KMg|&)Zr6sJLy`&y1B)7klcBQ`Dx>|ZyhqFgh*72VE*j(y@ z$z*|M`CuSWS0z*e!%0blc#vlGS`~bP2DZKq}Nsw-KB5e@L zf>upLQ-zh?S$wlTVVzt5IK74;>e6ab`ex=aE$*E($++v%`5z;F{YbtdGnBg=ERNB8 zTRI4jHE%B_FPd3Y5^;jf3ZfMHD7Hl}LZL$hK;frGWCK0txKDnv1=qiD-|r`IM={mh z)k2}GbNq?UXQx@AVh%<^kul|QX~YnE2EJcXn2R$ALXdTlgjHAI!*Yf+h7K`yzK#xz z3vcB=sKun^R8%f&+iKT_?UoB{Xpk7w1wMV767-!lAK&9>PRH`JFqE@$RQ5UIPs8si z0Y{Y%1ucYtfW1ttr8=wY;{?t*HQ>t>lTHrbAQKdag7 z0W0oaQiT=Oxne+oCV@HTu>5#3dL)lYUR8ztHjdOJfIP*3_$PCJ9hmvtvt*_oK>>SW zdR8SSt9J6sr2GLM3VSj7kX_J;fN+&7M=s~7rdG^q<3kkZaQ%!^+W59*X(|Jn0pRbMoXJ!MmYZhz$$LC-oH5^@aPagm#AnAubi_(q<E`WF7+Hr=Xi&Ojb>icG)Lu8Msi23Z2zI&hOA@UDX=T)=b`gS~ z*2?>9G_r@&-AB$s+R`VLI7wR2bS zg2R#Bte-PEK*!m_ez;++t(^9&BN%_EGCN&Myp`iR2aM4bTJ8nU4nXp}^<0dS(!R}< z!ATw{DehT0BG3k3R>MWg9Ewn zM6BJUEH#0sCI}tku_^HcPsOvx7Y`QgW+Gs3Z>>}qg6J?)0jeG<>U6Hw!j9&>HBT$g z3HhTd4m!^?%C<(z3Qr2kc6Ry3*5@K;X}SR#WQ^6=w&az7JEfeWZ4Ca@hVA5LdC6>@ zQ{)J!NnAo3N0f3>It5N_wUufuFKX1#IN+dB?=OIJ&k*NNs#kyRPQny=Vid*3-vuUs zcptwob9&(x9tEsk=UG(!RJ*BQe)hi4_{c=-vI8s$&IuZUSZU~!EbYF*xIa)Q@NJ54 zT}A6@vb$+&PDLu;LbuMqH$EkGrmF? zTEjI=?!?)IIa9v$z;^M*8S=IqaqryHa-i@@NkSAH%V;$P0dZoTpNN9!f8LJ1O z27Nrju9vnjg4fj7N{L`!T!`Q-mTuR|%{|P%P`NBvaUM>h&XbDn zIFvV)D|f67H!l2~W*E5`zO4SuA^$ST-{q3F1$)g@7$^|FUl)2vCVKn#>Nt2 zI>TeU=-4h^@7RHb%!r^!cZb@mTgC*wieeQMKh^F?(PRa0{Rv_EYN>F>_L#2gzWB%~ zgzTfQ8|9;}dU&>p1e=KFr`HKImY zKjm<@5^lvn)6_KLqEn8y#;R8{(Yo0@KT@5oE=w_;Xt&#X)1`l6_jm*nR#XSzSqlun z`RtHS?kp9tp%(?$uThJ?4M)(_2p9h;1X)kv`RpZx4!%t)4~X~Dj_St!vkWkoh{KQ6 zlKkY)rJ=8VV=(1!L7zx)to@=djfkF6T1<~8isd|Se|Z7K0&FOTU3Yx#xdU96*tr%C+H=`BeQEN_LK z6%=Nzc_@!J-g$D@gW2gQk9}{zFt*jt*JyX2CVs%h1}nLgP8P^42g^??r4BpAbH_^j zD^A_gcxidyaOgR^TyFutJ+;-l$@D;&Ks+d3<`^LW147j* zeb!n4yE&e$zN7tH%ih36r)nvgusGc!;J{^{`NP$fBJir-WahOBUgkTpAY3|XZl+yg zyB+_CQ~R{Pi{>(0YO<~cgP(FH^CCYShaDy5v&jewpny48g?qft9uu^ zEMFmoUL&K}5^#ZX6&NLnj%XUz16g-b#;JSr&DBm(A9z#X5cHd8UF5%ZwKa@_28NKk(U^FAHuXBUAe+IjW2Mi zv2VS*6ppFC>^*N1&GxYn7;EtIdTg#=8t642mP|Mc;N-xl*skv^=9<)BIMude$>+-E zHUfG+^3lSJ7l^=%%otCU-I0qAB_^`qrt>& zbg*=ba+=2G)|^Tw!3oj$ha#{%@K>Yqt=+5P1cb3>9e%&6iqBenR~ISTeS<%4o?yWJ z2TF79VCRV1*W}vK_zP=52=k;b8um7@wWC2bg>xN~?0wi6L^~Ixid=n@S z*pa=UKe?j98o#-5)3NmfZGw<77w&3qRy9=e3EKDc_%r6B3bf{6p8!mFMoI$kIXe)e zwyOErsX9)c37M!P$UiNF6BW?kchKihNMOt6d6)U?+}3Zef*7H1y8;dKj3^9(@nu1i zI#Z2Y&^;OgkvCHfyxkYi->$AS87Ot}ayuHY2vHF&wx(FA+(^Q;TRj~N*hicoJ%2B# zMWDj}rjt8fmdHJITUZ;Grx7m+(f5zCO*`vhrhC_EUj;I+TRWS%N=ATM`8gC#cD`?5 zi}rzi%kmE#<>>1XSp=kHe?HD=%{7VW1Rb!M2;pFaoBn-cl)APxi1 zH4v2Jdtdv?du@87{96#9T(gQWAG>5uRLzDeYPFmHD`ko9 z17LPLp=ca;sS;Rc(uv%#J!_mf@Oneul;^cdV-aPS6=M|@# zXqwOQECWgmJUUGB(-xAwc3&TanXNBmr#i!w|m5~Coxmx3_B1z(vNWkqY z8cq%m1YBohz=(9LLa$}G&m|srllY?GE*XRD|+`QVl{#v>Vq?o&j%725Y2V`iI>;HLc0j5<2(Q~Dh=1~Xp6;y|9s;@ zU+DM8=KPZ!AW`pl(IdA{rA~`#NO%*f>~giLm2OVwv!|g)*^+n52<@n-lX)~3t!t3z zD29hHt%G!DEp!1HA^0LAEcVB_mc)X3+jLIjlOZlsSA<$cwrG3WsUC@Qq7G;qewas< z+x}3y$=^-0=hJzVOawf6*dU@ihD~_J^>cSRdzoZ%DJrbGzkXp~|E3%)d&tA8egh_E zS?Vcy1tUeYwXOyYZSfgi$?ZFZWhncK3mcgxMYAPQ(IYfrg9LGc;5fK3vI zfkWP#+v*)*yFPsj8OH8Nbf6Fsw+?DYz)dgS-MH(M}F5rTb?#4hdM^&n8OsFfwP+3<=YRz4wgXh<-YnOgqd7P3L= z^?Z*%CzWXEK6l%}=|MaQnJ$8B8rL@>EvNk~S?aV-s;CkqIyPf2E5z`}6#9~{xxH|7 z=82cc)83X&`LbX}<kByJUu~!ta38OLAG7)qu9BS&cSH8s@C&`G2x6M!ZG5{qfNk_OJ8= zx%Nv$uM;jSpovilTDUCctA{}*TO0W0=ZsadixsnGOYrB|3?5F}{EhLVQ($%gb&&GD zeKIv!4qMK@)bWPg=jfI8L6zeH0ekMeh8NT#Kj)zz@-iT`1b=nC$ga4_cKkF8xN1P; ztqBZhL%wfNRYHL*S~ItutMMpwj)#Ta8Er3D28r*gl)})!(me;D-uD2yN+|k_-s4@(#Ot+BpYF$mBAE0~j4Eh2aqp2zA}Y`+P2 z<%)USf=sbz=$l1dx@wJ*(#ayBos^Tm8CEvIJ8Lcu;iIdDBV4=0*ku-o1tPk^NCam+ zffGBu`;GZGXxB1m=o9frgN9kq+o~XlguMoG*p3bUz&Ts}EOA1*EY4eR2jeojzAS82 z?5ReYr83Zmssz~5v)i`_1^7!#2`^a9qT877fOqq21MP0XLcryDP5}?8OVqoeHC15q z{Dn1rIu%}`;Raq6>Y7^yyA%~LAbmbf%TTO1WM*`+V}K^!OKXIP=`%mMc8sbmXxwZy z(jUoc{Mhm+qqSJSi;HE!augL9M>XdbP8vtpd#RqoaH53q*@q^8djrWCki1U=X3Ft$ zw0l`QG03>)oB}b(p85;4g#3F?F0bz8UG+I3Kx6hO$QTCUPAK3%84E`^;~#HdfaETZ zM`c`Pb#so?doG&T%INA7ihsm52J}hZzS7_t9Ix8deWmApn)C<2Gh5nq>{%>d?zh0n z6L#Re=nJn>AXeC%6)JS#sj@>rKs;?S1D^i3QBIOeQ9Z4EP;cl;O?-hM7`HI$M~f1^ zF%ty%!jJ7+%{5K#lUqPM8YO0M zG|XPK?e#-z?770ydBCF|yBB;eyeD&NL&jT6w%YdbIWgU~%+!P@GG=^OwAH zz23M$=?mc%m8WY(ck<&A{*J4r-pcurwo4Ez^mo%tbosVrXNlO?SWR*tM+z z`OOan{{)PSuE4c8J7!@0H^3Ohr;^EJCu*1qnS7$X&_pG}m+8(mbzVbpvVf0fg~Rl; zR<8R`tBNU9Zzl*WEq-9Z^-GZK`77l^l3UX;Van;d#k5ISX&2O&UidrZ{`=r1kAt%V zkB0&e5c0Z{zx4onQh(*-(RnQ>jE}@>?0LcGmH4IR_{`Jz^5dc^$piHCkQ^;6lK4j; z>}Ex=(~c;GrK-%)gAi^vLw7SZHI0eRs;rq$hTvSK0?z|%t{@-s#;TeEH7JRooNs(97Z98l;_b*b>!hox_fbq6mi2F5B-aCZZ+8w9eYE5 znl)HZq6;8YFZHo{lRh-pr#xM+Zpu!Aa?S_(pIO&7$+z~Pm473*78d=rkaC!^D3L4- z60}I4_4EH`BoG%lf@cVShoyVC;H65rptXO@nQSp#;-|Z;h`iDsy zsBNF-RCz-uJ?drzrp`6T3BkX7Cm@#>gpaqh>&~50hKCC@N%Z(`RTxjz%4ANxg4Q|| zVsO6<-Wen5f9%n34*CKL3F8;3x|zO^p1U7*HKEMF?5FcjaoSRCx%Yt*XT3=wdgp|! zyVsk4d$xo#bGW<+mOBgrN^nge7x|4tTZ`^48DqspT!2Q?Z6idGfU)fQTd|ic?faCb zBLz%FXyjwEa_!7qbtULADM=LOw>*Q|3<0Z+W@7U(lykJ<`97#Nzw5P^Y8&`NL96U4 zIAXe*KzT`%(%utRQ}6(|zHA8{l_KjAeYR$2yUD87_(RSxN%9#g10Gy<%<3|7d5+SN z$1f^;CHTSLfLg^2HD@?L2-RfOs8bNbX>7MNB{cE*52bnqN{7~oWh6L+M6!{`Ibr+- zVs$)=@TLU^ob$@A_kFv2}umhta+knod>&(hvl41C?|u!yv5;h^xMpQCN9SPu_uW$O(S03 z9%h9aNpch6b~d>`7A^?5^|FBS05z-SP|OWq*uhHruCVK;K$l$WR95O|LnO0J`K;wA zN(X-J1+I7bGwMY=f7%Rt9;KyLo}deEHs}{xnaOvS34YeY7%<+cX$G$j5DG%S3r*MquiGuv@;<}`PV@GIwer6J0ea-R^;%$ zupE-~53`^Iqx3*hyMnq{!3ya6;o#ae!;Xgi3Vb;` zMjh#ktkH_QY3@FyWX#UfWMsm3Bow?c&tXOne>BA!BjwNG*8*-x6?Xr%B{7>Wi%g-P zkVRm5V*Lfe?wl-mc|Vo+t7!M4+%V7G4^y#i)G5U^o~2%=5mX*(0_?sy&^yZHOfrFR zD*}Z3H^Y#AX4?|WSnG6mtEYzmkgZehpu-RO`XtczDt)y|6+ix~Z&XQM2+G0lI z;m=+tI=ZtU%f@k%^OP!t-*cz;)i~hm=-;<8LYzH}Jsua1|GjTYch5s$pP>5e2TIzP-#@VNjp<4hEKhovqwweRdQnVvQcb=snXQ_E zSR+8_xMXGCsW8B1$Qpt5bvo5NzNT>F1q2=!y0q(O3FNSRPmoZ?2v#C)&Pa}{!aAwM zWORToe7LdmCPD~q9;3~6)Yd&=4?q@J>oW)6vt`?zM^r^YU~Ud#GIdVPq2wVL~JFhOEs zY}t&}%O*!xt0y*6_*~UUni{AbZR?}pX6Y!o|0Fhhsnq}S7Vv0*7nE4FFBCp5d#W{5olADF@bvV=p9hboFq=Zyk!_ThQA|_03s4%O1%ll= z0A3Q{A0U|P9CE9ZWK<-@@#hPTXSW?tr{zz!f`&)g>xT1HQ=Ro( zaD`TRG{#qhkr{uEr>0>BZC7k1!|Ao+cfvcGm$BqKlJ=UGcPdj?4SSO@?!TY(6OBCxY=?Uov&uFWG$=;>zEu`usV zmdZir`Oo+}qgmEr*{cgPu>iOz*u&zAs3~CshjdAu9MGOQaE79>Y&hjl3trU2F@$R9 zbL4FHACRt70wBBPt18Rs+8{e+rNdpWIms&2rjSqm6rt#%U2jLTs-2i;J>kJ6wO5Lv z8ax-omSeM!bNaL7Nh8~3vl3R7Q*zN}DtV;Z-oHrEvwQg%O=XSN1G<7aV(fXC6^AL1 zA{n0aUQIlYW?j5rmAhF=&$PRUsjzyqBXxT0(rZtQS#3eJ>sfYF{GqFhx`_&#mSt$4 zm_jP<%YAvs{}NBU9iu%(WY&`)t4Xyk5qGdlD>CH)JA!q&;9j86s z`T^DtNZHf-R}O)d*A*^%{y;Ly($Y^W;>sVfP`Vu{6s}n;?_qNc9WyYp5~?C_Jd*P5 zm7EiVsU7>T)J;jyZxK>W+a7Tv(8sB468sPM>wSfD zf1kTZPR$KSSmK7!oV($w$qgL)VOnc*0_SRT9Z4mi7=qKcTFGmah5N5qAHb2)l7f(O zK;NB$4Vo$z$upr792uGGh9bGPAA4y6`7jAfMv=TuoLz*ms>I(Y4BAKVl87wQ{%9%v zh3%1pteyi)1BR}Y!0gTB+b*Lw0o z*GDvSJRinp=io3;Ain=Wif6ssY#oYZ2tXnn)ksCBi$5y~xxJ|>xT0T`s{d@QkFPqj zeo$M(Ttb^fRv{KI{zBaFxgOo9zaL8KG4`jugXZ@>1Ej7i#ibg3ao(qe-VG1_UM!ht z)5{^(O0?y{Gmc%GL`;7hKK;oq3SC#>U9?v@!vwwj=AwGui~Tt6Rn0||;B>(%7lONA z)6?=9i`!7PtY#J+bN3+z6=9V6>&WKE{hUKkoZ(|@2-ijVfRF}xj93+ek zLm8hpm@e;r7>nyZuo_*d-cQMPpmD>|i=(M-L6bF>;r+=Jr8T7qgE$5&ML$uK1tGe~ zRn5Y)Kl&p=;e;9V*vmrTy1fy@#lt-3Y>AsnZYAmhJ%=LqY4pOpaBeYL>u6d8%k2KT zqGc)TKC^AiE*!|0q?=M9?%AG%ikEl_(;Hsr@Q>W1BVK?nG}UAS8G*PMb8%|UCt;^N zYaYrX4%XzvEExEV%A@Jc_#?!2>@YvGYs%Q(_dNvr@31q`+mi2HIdwm!cBF|)rrrAJ z)INMfN2IEab$S8Ym3w4j(e2lBNGyLs_y6_Wb1XcRBNM40D?nFF|0Fdn8k5iAD000( zIMJGe<6*O$D2rAa<89Gayd_6}AL@!ZMLUw{tgZI6@mU>VkxO9LEf9>p`&CfdW<1;G z%2AeT2)uyn>uIl)mm&sd_M#VTYQc4ewCSr)BiquEH@k(5>__c|_y1-FSy zgwzyqDN)HDpiPVQPDy4Es=&($li8&+=Yu=G#oDaNv*hL(d(J6}N6lWNRfc?V;t9 zr1aWp)E!_`-%>g)cx3t_a0`6RhP6~HJ4f3L4nZ3#wRPA??Wb;{3!B*@jtHUjxPK_{ z*lSsM4k91!nKWgXFAp)X(bTGbj*I1kA9euoi5~=fUQj>F_ z;$!fYH=94OV|bi}&{-AZ_%AZiFuvK|XQt}A@jET(vMAE?S3HI2E)Fk#)tP$CWi|Dr zU$r;Q+QHmnD&=cVm$|FvPca}$FOHh7?vHojbSH4x+^{Gd&b?ZTM0;ou;7U-e5?BF! z<5T)?VV_0#PwB0K`wGbt_f@xa6=^e75TBwzKgkxJuH$(C5FHhlr_p=|8x9*bP=C_V zt6vsG`y+Z4c=9fvTt@_pPLuetQC|dFER}eydcCHUan;e11jY5m#f0oYNwd<~Zrwd+ z_~t}>^ijVoWqhG)AGF9Ruqyt>%RCb=Co5Jw04Uir={%sJkWhPTB2sJ7F`rIaxslRQ z+vmyc>M_=NCO7^i@N0?%4F~;SEm{q_3fof7V5R`Ds=0YdQn*wDj!Ls>40-FZTRN z*kPLc{AStKgLs0}d>CODsG{)d?en`yVU;*^sHLD}COwqKfY^sOs3wISrFr0>(evyR zu-@6--GzpS9=h%3Y?k5$WSAjh*KFijS6ZnQv!t6|9;`OL+a1v*!~4L~-X=r*?a@3z z)HL~i7!#N`dvRN^h7xR-0`(NcWLjQ|X!6I%W_fCpkxKI&mNhiH^og{~u{2JEf+9~m z7ZVdHr9q#X+=odVuGi#?_cCdmfKh1(NlqvdCSJfp5*TGN?5jAUi5|R`WEdh4q1N1f zPrVWG-P7<(}|_vP9jP9|1vCNW(14OgdAp%3rujnx#x{c_t$)wT@%I!&3V6Fhfl# zL&hd#!RcX_R7Z#?65B!q&r4rwetWN~*y|7Jd{p+zbF?w_BuiUOr@-6;^j z(Y?#o^llhPOs@swf&v0e^ihS-BLlgT`c=R9a@#!(e5pgq0^g+CQHrxuN{<_*OxVK7 zjAO^--#sUFWYg=h(RwSSHhgE^-^4g9wrnz{;s4~b1_T}ZE$4Lq7^||pA1`5kUh<+| z^j5+O=*DmftQS2J$=UjnGc_n;{5?3ua%#*b0c8sgIo8x$IUWUDP8Nd;TO0PN-bmoA ztXEy}c12h|tf%eRI=HAChRSHhWK@>q`=qu{o^j*MSdzH0SX@aV zxcYrGC{sugUQ0i^;BPm0trm*8)e~o`2lcThEZZY}S^td)ELK8T;aOq}_NwhQHo@-3 zhmS(-y78r<>WAtXD%Eo|YFE&Xe@t8{+W%%zx4y7Jzal*g2H@NaMq#y{-A>!I_9>0I zAYaM4MU@;7;Uom+efc#T2ngr;__(p_Q2Im56R{vTRm7V-2P>CMsE35Chnva(9<6 zS2UcstnqWw*N6)pr*|~Xahl@z4hO0rk!mnTz3W~Z6K%yRd%F5mGze)6*os4%^yF94 zl!;QpbQVr~prM?t-wH^CpM_^E^$@3X+X@ckGSptLc}((AS(Q^p%mHEO0;i*)Y$!RI}8I<7qgXL+I7ln4;;v_fbCt}cbdZC<{8Vq;LbYX^*!!X8Fd)Z+(?%i zYwU>P*GK9M(mhSoUnsb6MI_MWCh%;XLOLg_m7C5hxgnT(eh}ZbmXmo}sh0-+>)pOr zArfV;)21ZhogVRSw3e|RIQK6#UMoA{4ow%S>DPRb6x|)5Odq@TYSZ5vW=*yoC_OOZ zQZDdXj-<)60)2}F&`(GHn+m>5%w16TkM`5CO>;J4_G@LuRNDOhN`bhoGZRWqcjqOx zN%w6Bv0k!hv*;aL5df6|BL>-DI{igZo3k}Uu_-LFu8l7f#$k20AT6hQ7@VyAh|-E_ zOJd(PJ-iweQWH==fir2m5X8rp${DY>QB(@~8GZO`Q`aNw0q%|7 zv*6$|ZO~0Ixy-K``FnEk!4OV9AKBXX9a<^ayDoIw-ENH|qM3uh@U`G|0f6TV|E1HP zg@3e6H0ql+X~A_;TQ@YtJxp)8ABIO4k&y%Gj2JxwxmQGb%W0*TcXEaB$Z-9hwQ8i3 z_!@(UXdZa2yLN;|eCn4t!ND_&Yks@>y{p6Q7+Aldt|cz~TR#~}qG_yj7T0A^)(aDP zCX$GpKL@nEmob2P_j^^%ks*_@FgOE{t5bfJaum|LG}60g?rxu-U(JEy(-4`# z4@cI3)JR|?0>kE*W=c!4(9zrXv4umPgR3NxpkHHrlYmz^q15ZprswC%{^n7)^_AA3 zyt95TO-u@9`Eb- zuFu}xw{~-9B@g8>9tZ$HJfB+p%J2^NFULS|yH$X%0n}~iSt;c&iv0RmGavxNB~O}9 z;f+C~k#uwc9&V4q&96j2<0~frXBUga1q)1EaWfDwX^MGMH+&da=M#i~EL4{n;woOK z?y(g_*Lcw!0afZLF-pjWsqwgm{XCRp-;%tXcmbrC`2YvS_YOJ#_!~Yr(l^XQjSh83 zEtA;%xwfDE75`mV?R~97rdKFrOE5GlKe4jCiCKTVwb6t71iqBxzEtJ_VPmE79#HvE z;)CDF6Zyq4^rr`#)SnDIU=e<~U(yFK^lLYglrZE2D0#aRs0{spzMq5o6nc--4SVA2g}$_AZ!3%xl>iOSu$OaJG07P~lNHUXf@OS~~_| z#c$%W-sd>wG&Y2Iwku5UU5G}FcEt~kpExOMnQ|EQjz$VWy6u#-pGTqjirDdJzYpWB zZ3oW!oM?|UB5XR=!)6~*w@M-+vW-9;8()grU8M5!zeb;J224Jq$Ibnp=9dh`ck>;l zINEnNmuHF7oyR6gGgOx)h47m@ASkYb2lk`VA#) zvI741_gm^{uS6lE&j!Qf5g8j_|oBF^p>*F6~V%Uyz>Ism1~?kt1XOdxc<_!W{=NZeIgiR+nIggJwHz;=iC@#F4PisDur}B- zl~07QB0A;axCF^)p#?mtc*-01{Lj+$XeF-GA8O{H%qfc{s8^eN`r`NUs(x?~vgVJT zE|l&fIOgSy^p)Q{C4H4q4K=n*P#KGb6`2dxq?=br78#LNEY&)RxkYsuq`gcUV^r)@xzZx!o?B z-e3Idk zvQXdgnfLVn(pqLuuyNppr;Wzb2KEqIB-9bBWxje8wi+1v(Kn{$GM`J}4;%8E|Jte( zJ2JBuNeYv62G=?rc8`bI%s-kH@_tjyh8`p=7+g>y)hF2Zk`Q>T47`U7gs$ogjrGR- zlgj$sn0WG$wGDto(+=mvKIcFPB zq4x8HetA|*sR80dQ(TW`*{0~USCyQ4XbhImS`d#(u?h6_p-+`*({mll?VY;%Y*oM? z*w6b348-}RKe0vg_9at=U$sy<4Iwi`HGMdbx{n9#d8TBZZ&cvJOlmM@#hz0HXsEBG zK(g3j$Si;gi77ycW&`^z{S@L zHd<$hm&i*?8t{z@JjasLesmh4LDcE$JHI2| z;NWAEAYY}1xKxj8XWX5RlCF==jrX}z>~hI`7{WZrro%NDtsdHdmja}JFnVMf+qP|9A@t%b_UOOHrIxv~x>O%}7;WlMtyQHj8q^Wf_zLy?Y8*$?8f*GQYBZ(A1lk znQyLc1}fLK$?RPKWI{vq`5i@>sSi-K1uq7C$2wOY9it;Y$qQL#)xd%vi`WOlgR2Y9 z1`a8#;piFl15b4?;P{{ylg?6(aB9BtIAUnK{+M2mWoSbY2J?jbMsXo-EuIZkhT$^M zmE|$Hai=Ewwaa`6e*;`GE4wj2gG}g$0r`BKTk(wj&c$raduBQ7nx!w_X zEY8<}4k={HNwmb3URFq!REyDEt?jPtWC0qyc5fNrc?XrwgzqlOH?;erL#Qa&C$+)3 z(gwO2urZ~uQOFErCy}Syl6fG{oXycTt2Y`QE#EYnqgQ#y+&}t4hd?@Tep?vmO-q!- zZz`^x@D4d^H3HL&){cVGE`ATkvf}>O4l!zYM{<=`gM_zk57bqv$zC58Ivz_dp*Yw; zyvCvaK_ok1aOhx$QG2RJ;VsRwR%mE?6aO~o3Xi=|LGP~QDjy_)zfht)B&H9P=hze( z-xUC=P?vsNS>|yc2jzeNEohd~%ypfF*zewIaxl_6LqRAx1EsEEam`bEyDU)s*7Gl` z&s5)bI=k)SU#*;)2C5{ZOm9zhVkl|7xN$x)bs0(*B6y7 zpN-|h@c4%wItii001N?1>+meBg6XYB=YvfA7H9mRX5RK24P)C+2&m`SHg{}5I#s=r zP=vJ9lOH1OpDNB>gETcO+T3Bp`w-IXL#`vG!HaY8yq(5l6RD+T3s(IE8Glz}JuMHt zMY(}_@l;WhK6ty+u`mrv`alUBh+|FbOI^3R@6<_it5q%1glN^P0@L<$u)}f`6hq(y)UB0M-YC)VO-fvl zv~)4Cz3{KBqb6)yXR-H_@1Wln%&a@aV9|b-3n(HQsmXtamPJp<*FsFNCkhv`LrW- zl~xR-9`BLU=qjLih*E2mfPu*%d#Y`Q@-hr%;fsh4P6nu<=QXJ|lqV}ef_j!3p`Q%j`x(fp2)8&+lVaJgRK+RL?2R~bkazR)t@Wv;)pik0Iu-U30nvH zn_*hGstR1f-pZP}(5-0>ls*&OJSP#>&T=-PPsn5b^V5l@Y?pR}eCy?czz0HmQ#WHE zk)z~NRji4N*E7~X=wFGRnm&*y-w@RcXI=v5sWLxB_4FHOt)2o}d+llri5=L>zZ)W- z=`SMta1^0hgAnf@&x2#((zZl>#8+v#Z0EljA60)%_7&t+uEJ9TqT-yK3&qfTA%re3 zphTuFuxROs7dQbMwtE+oB78M6p&rNGe4~FPs;{#Y@A>e?U%vWv=drtVbh(m;{)@10 z3=$>C)@<9hZQC|)+qQYzcK2=Dwr$(C?e5#=_PpJRnc255_D4okRApA=`A%h>tjhep z^J~vz&kb5osx{$G6@XmFLJAAwgj)8YimADuJZ0>hTmVGU`%W~oVsQQ{^jgz{UrtYn z(ftsa#&WiG=utyxnW~6;9O2YF-XNTb3AGv>n(8n4!P5piKcxbzHU$ z+GJ>f*e(U-B+Sw|g-clz_{3hJOwlPPta%|);k905Ui%(8H0N?jzrV%q3xG57BMzFS ze7xE5rdL4_7U12;cE#7#^i1!g%AQ&C7S{6z$e7B^znAI(e}u2C*YfvHnCkER-lctd zF4e=Du=LrQ2Pq7?qcMs!97qsH@x~(8{6C(2F=rn8oR-|Xk&c1zk+r_m8rKhlsL_{{&w(!9n2Ou?cL6ScxPjmc?m0mqJ>D!6 z?hv_|Nbc*SJChmZUpwzHT8XJx^5WaVwOK)Kmej1nZo>$5tLF~+?rHON7-7`=yVy1= zD&Ta)pB<|_*X)U@1Ir$sg&78%rAkk#+s#K_I;;({V&8g~lx<+V7c7Z)`;IylNsq+tt19eXCmuk$P1fDALYb z)2JmGP)Mnu<7m6rOSx46(e~?n|9HVR8n1k*XylqBw~&g0R$aRls03{E;b9}Cq2iosc6o6K@Rq#!M;+i=WypjZ(2=j z;+Op`N8-Rwq+@Do%#)8XbmA1+@~p7tX6q%bq*tg5S!BZi7fL{orjuhg98I9%xE_N& zWB>A`S-i2w|1sQsMy(;vu%A)}M0?5OUbI2tvx}7JRANz9l`!q%BxcI} zoip3HqNp)ij;%R z*u{|;U>d`)kO;l*4@l(p8T?+Y4HQ3=?91Xf?f=v|dI6a}ZD+$+w1-SK41>spZ^-hQ z6^l$d8G#T}m-J%S#6Zz!$SoEz6vF^*YkQfZFcNlPEFNzcN~(JMy$}?Q&HN(w$Jw&z zOOm1nND`AP(QpHuPH6s@cJIsYMIR1`jg(5DQb~+o{!vMyT$=buRn0n;j=WLn9<`+a z(^R94z_M>4N_P(69Q-QBt|&PB9vC>B>`A0UI5_d?as|7=n|9oN^Ic?jeW zyCRG!c|OH1{4usr$7E`H-^z)4O_NffdGCG}yC!(crX)zoXO<;>j-4T16LOL6kVtRB zSys}#kkq}>m&e#MP2i_l@&G~74)QAA8hXhu=hAtn{UOqIx=xbv^W(cXMyP)zJ-F~D znxuuW>))v}d2reJw;v~QdkC;8UAca9@?H?eeU%E_`>FLb6WusDnitq<(~jj_A$Jga>mPXOw z5UVRKpdk*~Kl@WZ%-O3(^kOBco3kSBf{yu~Q9k|G7-vud8zQ4IlBsMu!r^=+$xOR8 zbS4-w-{yrcamWE!%=Aco9{HI>dU8-C;2LEA@ji9`CQcGL+53{-I9{>la^!^Q=7@24 z#6BgUjvh=*PuxF|2k4ahESfv$svz@iTF<-;GctA~HmEPyb-42E5t33?Z_aG&{lLoW z4W+FPk+#7Ze^qW7>{386DD6>mGU3uJ(czUlIB5=H|HBO;Hdc`+4&6`d+vm_?whD^y z*uJ!b$i3aX0lvPH)s4~`k}sV}a^78=j{}|95JZ;6vlDqd`s-?CNu&nYQ@z{Tp2c?5 zDQGD4;cepWDI>!$%#WUyXk8&gHT>3Zc2~gG({GhNIdn#YIvYt|$B!3jxr7I7@$w|E2pF}Fj2G+^f$TH@+9=LpO%u~=gU<8Ksup`u#Qx%t0l z(4!sfBw-$y_3?V%cNGR&8)@8Da%zZkGU_j#W_EXUy_|E?Xe^t5(*$S2Pz0pr#@=i* zo$udo_dJ8S;-Ph5oA}yIMUNcc{3%JVb5ls6+H0C*l9rQehWcZFPZ8D6MknN%YsAdg zuPu$QSTVn%rOy}OWWrT#wW8;cYR@C{* zywVlg{CLN8y$(x+#B1eBUG=p$(5JXO`2C@z}4Ko5`Cusd|rEt6L%MO6G_> zR1PZ!Q{1BMNP{j3JGd0A*NyP};j_R8DnkqHOu2hodgT*AT{)EZFdGp zO}(9(l(y+S|7@lwImFN5b$Dh63nkfk4isI9_*%GzX;cq$mrpwn1DX<4&dXjaGuS@Q zZG3p13&2)2LN9k9hPf;E4&VE9CxmdxsMtu7(D#AqVj9I87XZE8`;gD$QVFM5NM!IW zRC^P7te%b!##7naefgjOHu4$kwc`BSP@KRFnr78UvN#g%bMr%&x>IK-`bwiI+obJ| z^r#_mFoe^t`G-Tfsa`t2Po;cI19TNZ4C5J3AN3e7SbuW|CX5eUogr>0gDc=3_siff z{4W59w%=`zI6%0&9WUXeHCgj=yui9W;V?Ut7q8oCnjPlQ?%~1mq9|aB^0$PORjOP4 z72-In4|C>1AIZNo?xK;iIs!Nqb=y!N4aa9Mq=4JB%Nvmh+I!(ga?A=CuUtL=dkh%* zfxkv9UHUHv?Zkl#K$!VlFBy!+ThllVC%2OIAZ zbx9iEj`XMJusDX7hIE5M6f;HvjzN(zpY!&Z?|rTkYK=(l=mfK$xkECnb|G>XL4Drm zWU(thlketPjGY6AgsnBlr0Dj=bBTf?9}nE(D4SFI8zenq&quj`K@tZS?6FbF09N-K zx``oZ%TbNG?ydDQ08=&19s-3nY9TlibNQ-^dK8762C7pX!KBt+L)gVr53w%2YFw<&igRlqbA3k_mD->^9E#jS=$I-T4tUtmpm{QL!-RW{dGpg5FTfYtU zK0!q%T_q4K;=&P=X?~Uz^;--ogKJiXnw- z%ADHK@_5M$=Mk2f(bM?4+RRFsU~|kCk-c`Z!PqL^g(FzG2Sp(yJ(grc|`G2qWnHb4_GmU)pk9eauNPq6OU?^Fq@ENhSy4^_xW zwU7F!1V1Urv3O@gUj_H0OKbqY8vb*ZxB~Q?-^HM?Bd*@LBoQA1FKLHVjPL0&$SkN@;yuy2r7d1Kt89rs-8{IE>`MAVz){Zm;I?jdgFC98B7Q zpO8;b&&-3Rw9}a*nuiRuKy>VFF}#Y!2EfxEeb>E&YULe7)xB{@s%|{hDq4`LS8OnA zE==|~@tHcc$+xrbPBR!cFltAJt+dg)YvY|eD;tfFD4;w; z{a&k%Atmq|=!|RQyq|U=n%(EZ>S_QK*^5V7)T`C&*_s!!{@dAki0JjR$Rl1e3<|)F zN4#_#jZYNp3+|uGa{rxNh4Viy%egpPSUde2u`0$$P=&QNUjOx{#rcma9P$6BTby>o06lBHGaV z_?Fu|AruK{@eAMO71^0{y1}LCv*vPy-Mq6j_zkQFMRs}GKI*r4QC0BXxzl4mzN*&` zUZ~^GBV|o9sqbLe>PiC9(Cv5)&6CSCqtgd+JV0F2}Ql?Y6m+TMr&}8Zx-ti6aPs||zma_R& ztggd2(|!;G_(2ZsKajIGFtRc*GoiC|va>b$(+3yu53qQK>Kn8K=!YBZ3|KV80%2>X zT=m2Dwp?IXhcBMLKiB!72n(5cM+0MdxnK^lnYtn>x%5?A0Bt7b6cRHQas4s6q#vbH z+9w;qnu7?dB||XppbKgL_G_kIXP<+}p9H58>hgM*a5e6_x1C(U?ONKS?HyqlOmI5ME|#SU6mj~l^NaZUiBYCGJpU8aR1X7M>|UsBWF4z zJ6lr=v;VRwT8USFfB|9aow|IoXtpu>mns_2jej4gANuwx~a=`-9wn81-ei1_T zIMcSI){s1Q_$dN$3H^7aZb}qECoBX^*`IKxEI2PdmgyN$ZFy$NPBfbEJlHg@1L> z`f*9kPa*w(y2Rem!qvdpHwRT`z~jT2&=`xWLg{}Mm%0!m?U2rdW#c;V8rc zAjZ83AU`3pxm!3BPxllmQiar|-Z2Rq^>tI!ico=x2veinDVG>AxF>^#7x8%^E@JE3 z@MHXcdFLOaKYvrIobksqF+T(5C#~1N;*cGq~fRUswPMc z`sgpwAyn#^MTxoeB=V%rQuXr81?P{XpD@J9o)%T(>-p(JB$-m$+npF?tnIi_Q>C9lI~bTP-`runUH2Swq09`y}Q0?mT+gh>6nLN zb20)co~jZ8t)IyJf}-nyA(hN6X)o_!Y>7dWg!`%!APO52obFFToqD-sq6^)5p4_{g z-q5odF>Z2K*-p!%-&0ZWsrjtIcfU!p zXI6Brq%4lxF!=vx<9`HX|NRmBKgRqRW%9ovfcm)(@Lyr+Rq4ov^5^&;7nmC%+8krE-8#tTu64BASxzqov4$+Us7}USIHyo_?9~tp}b_4y7 z-TS%EKN~^-to}HO7&_Z<4FUjQANBu!vHfQc|Dyv->TY%m0w~`*Is1U+=8A~`hGGhb zByj45l833JLBB@25dw{{H}a|wl-4rppHY-ANuORA1|?r2YkE5xm~#!F2n|HbZ?>>| z*sr&ojF^jiqk3NLB`5Hl9v)5L-TPR31>a7N;I_ z{UVOz68?^t4mU|{hwUR6FAF&6NH3u-f~Oa$Qin<0m3GD3BA~x@G5MDTD;S;wFy|u< z0c;(f>RLgIIoDXL@J4JqIVYWm5hPgtVjY~_W_yUh(-gRyHTgBJqJw0>L99^6(k1eZ zbeyb1i`A|b<5#S_G*licl7htOLm~PZrUBPF$WRKF)ruol1g+B>sA_IK>w`g*q9iu1 zdPJ>@b*8k$I7ec@ls?pk*3jx-il>C(ImQHI1)?LIP+YA1XOm-OthETGY6@hmDlsED zQ~?tt8K5I;X*pR-6~Qwu2#^@78z8>57q=G2a{H0tj%#?k8OId9+krXaDFsqtwCG5s zlf+NmuQO4LvN#Au<_Nkq8_QoMzmuj#2<$NSrLq&u(PFp3O1~{tR#ZSeD&=H9o z?ua?xkA*Q~vQi>^tteKY%~~!bii2dl^w%^XmUS6YFpvrxiNu&m>mjnCSmKIEYa@kO z*|f79&=1FpBytQDQ#arPiZX{9!kjPIvcZszHV@T6Vsu=wF@gm_bsq?7;zcGTeg6eD zOgI09AZ?;1Zm?*=SUq{75QKybL}Zwp35azlQ_9rcfdYuqCrpoup$x||j>8ywuCLq# zh*Z&&=PSNGbs`_Tl#g1vH7YkHeiKcH6fFqiHeNj!P*S=r4ohEZFt1r1nuX>tK=KJKJ8 zeqOXk?LbBY-(KA6~Szye^urh=9p<%ocUB4Fset<~u0XN9x+Ah*Nzo;ONLh=jb zyL@{o2?)lR0h?y$=sMdgf(dT4CqC<&V1ZvmwoA8YO{~YnS88pj zA=?ZX_>WXO`xziK0t*2Me9}VNd&oD*q4D|HGN)>w=CD|U#Qf-nF$to-K`TH&aopk< z#?yI+eLTY4-r6C4$wntSCzuBYTA5X2AEv_5C|e7cY2ySb&M4OA<9I+a%kj3>DDuNB z^epOwofN?m{jjA~-}521LPIVIJnp^Qgtd9quiUE)!xtB8|! zaX40&V~6Z(@E)b?E6hh`&$6qaUcHyvqs%+dDNwd&-!CC$N8J=iC8I8oi1o2K!^?j7 znLv!hY{O6*QW){F57&~OmS+rF+B5v=(xESnvGr7kICs;yM-iOC#gjiveb3^}tgD2P z69)+uY+N?y}4}D?PDo_ zHT8G+HRWqSt!X9n({1F_I~0hh9R73)9scu~o4h9Q33pBu30qA5OVH0c<-~w+eE{!APX(J9Y`D%0*@@)&^F#6nM>k=1y5fP&o z9f!+h=#z6&fFKrLNY(Q>&tc!y$t&gCJm2Bn@7p6E*7siZbbNibPA3%W25(V!+m6&d z-tFRTBHOIvPF-ezd#(2L0}q$*t<+YG-6lU!pmM&9X&i-mj*Z)p6WfUGFR!Z0T&Ve4 z1;)Z#P@A_`JAGUsJ@oN2sryrXEL{@muiSddI-m(Moj1!Pmt>&Q5mV-rAf-Lw-YuZz7?G)IH$W zSG53mAFO3$^4vj%jO0mfQ$k}=(x$5m-eXOUB{&npum@~C;6UD%fuMJO}F$nZnit%w$f5;VgyHv2M^N%)_3|rJqYv$?lwPj{n?!LiM#a) z?yb5q{LPhBmkJ+yc%-r!ak~|I?XM44`t0JjA2OoWNILv2#C3&Ur{a!V#qUS`&odj} zXTkB`UrK-H;CyE~-p0gvfj5H-k$3D0DY|fzvWYppBO8Z+VYZ|!Yv8=Nes<#KioXc? zp2+FX+`?y7c5#ECqI<)@g3jsAOKFK$$bxTb#O>Z(LJ&mQ#|006dgn}EKRoN*kvA7` zmcRDJtY>&OwVYVq&@JkA!<{y@sPRSPTXk}7L{}N5o485N%7AGCbeE^d!G2#jLQZ`t zHSK00(mnI_bM+D3{lWPP?1!-VYHGjT;j!~+-K++hRLX^-EJfSkE}rNSu#56Tt^o6Y zM;6B>r~4)!x(EH&+~^;ZsxWb!05Ei5fS3s6|0_-Kf14XwTNu*0xzicgTm08__EN`F z4P_1SJ4b$Q?Ql@%&;7k@J>#fRibybkX~Mx8az+{$*|gOOVQebSBB-F?>WiwEzSmWG z?p-j!n}N{GL5)}N$GNJTJinQTy;yvLyQ@q4`*yp_#d4Kai>=C5`xJjXo7%m+tTYW@ zJOnIEaiKhLj%4&>bhJ_p5-i2sB3c!t-`OMe2F?AN(KsYutZuVDzdRTM9ONC_)>%m>9IU>3NC^% zC4i{{V_8cC{rI}C#n?;*1rCa_F=HBpctClmVW2YzhIr*gU0;eyk|KHKz=#LQKdJ`_ zGa|%-qHxlA=CIxi{F1_Xi~2NKM3>6p3V!<5f_VZQxFB%DC-xLb^O^!KRTBW33360g zAlX`l5;Pd+CBCS0RqpNdI8t!7aRG!tTPbpTCh@ufKBc0crIDnCg-CG7L9y|bfGRSp z4w#KXje_r3;qecq<_u_ciKJ4`CCG{_Wno->>at8^njZy75_{1U+xXC-M#869=}}<9 ziv`BYvaTvn^n&ej`4VW>qXzn3!W#Y zg}acXoZ0a&Kf4y!=veVTx*jfK0;{wNn|EAXS{@%HvbI=p!P}qQ8uxTY`jS6GHM!w@ z2(N^@0<*g2zhZ!Ky8zZVDDwnye~D|s19HzUZ{3sPWjwoF-kg4ZCZ|8eYzKlgbTw#M zCby?|cyepPUD;hHx5K%(xjZ%Iy{i7`LOaxUVOKTcnscveMXKJ(S-#Wa6=u_CJl~WQ zTc*PUzT5W8Tb^CMdAp6E>pe;7xnA4Z3`}_2^j7}f`C_w_axORVbsF)fRr=Zeb4A}qfpN|dTTib&DM{9QCTDRa_4VTwOtMK?b29HR> z)9u8cmX&~f>6C=v*NuLLACUxYnmCB);NQG#HsIXF_2o|dS`P&cXGMDLpWpEDzJ*gR ztgM2h2xNGF#t}&|Q~EsgC=u|>fMZeaL}2nsi9XxJ`g0JBW%6^RSipg#nAYe*`)T#Z z_&DtwwIquND5*+6%Ya`#f-BmFhMJ!LrXfcTgIhG5l@w0X9E+1L&9!`ccusxzR5X_1 z?=oWd9{URtdWM|@=7E@M(=ZZ!9?m#$vc9Cq$|@btpEV_^xvX74pPvsk6Fvl*N>}Xd{bm_})x|8^(CV5p)vhNqn zOmRwQxWLeE)100c(|S&_v&VJaQ*}6V+8m&3moC`v#CW^X+g={@?8slNObu0eoi1_; z$Xg>{l`E|5YD~!R506W}9$n`*)d|qTLz5EgTO=>kBcFuuUF2af8exH%&9PwpXc?3w zW20OVW5*f+Oa-p?%y4Vjbh*r3EL5|8Pjy04OgoS~orXP)SPzu)WsULiRM5?E0GRs{ zrLybr*rgW&2ZLLUn0|!_vIq9wR#rv%lfEph&m&iDr0A6?8=YSkY`#}mNf*4nvNsDx zgf0N*nI|lgez}~C>(_E3+8>Qyj*C1UVne5h2li^kxDCbs+FpNcb9lT0rbJ;;gUIt@ z!97z(QuXnD)%3Ps{vnd85FNpOU1w|t_U!Syymq%GHNph(4H z5gUjU*CO!NNn_z>hdN99-Ibr+Cd(l=Q-LgfK6teGAv{5l`{hFsB+FH6dz8@_kJ9jR zyMmtvUixXt0N7X6+G$*S4b%`NND)=+1Yj*ZzGU&5@uBPOs+h$IdHKcZfmBs0KSEl* z$(9+vIK(tI5HqsqUV9%MUN5|S@w&Vwlm%<-U?|OD6Ae(khku`T@>>idjXEYB$JvvAQ zpIp9X+F5Oday+c-6kC$GKpw?(F@eE>P_cmiT>?swbd}TD0}YHYrOBSRZk;E5#v^zF z1>7=2q@6R{e0`m-k0pU+zj)SusiB9jz)|MyDKtK1*jX~VoregC3wtW(7`0$XlLJZN z`g{-ue4fh-_stOBgCbl$@L$z8a*JoLTozz5Y4O%t|DDu1F@1n0;Ivot@0nv{sTyZdC%C5 z_RIR!AWh8ZXg_a^`idPBwc{6Lj`7L1hgKnIkY-LfT{$u!Qc7K1w&vMZEE#Ky-h|+^ zhu68Z$t0&{8%3DqbOp=82f7lTH|tBMBUwIu5E z!HSO$rbaHOEq)h~z;XMrs(wID2NW!evUSLIumKiZ9k3v4*`Eo-I03S+!-9uwNJF~FR+!>kfw+&#;VMkD0GoRk`K5o9O z-)r2;A3vRaWKkctmnl$b|2oM`oBHz&3&halNZMkrCPg|QF;om#U^N)1*h=@MN?!7} z#7qJ-wY#;ME6ZCSNS$7=V{%)Et$m^i$Hw{TnLH_xu|RtbJL;C#tr4I{502ahBUI}s z4)(xiq8I(h{#w%Z4pgKVQ&&L}42iIh>3V{L_1mxVPfaW@_AG{!|{+Q2eWE=WP>K4i2o7}fmbcIutR+Ya58`LLLaL7 zG+-&o#u)>Y^@*Qi`XdH}bIau>t>>fb@0VQlo(L7tfkQOA)ryEdT2&2P&&p|vpJS`X#NKh6l zMJ2BuXf)YpLr-jN$ja)XxKKIVT#X&x&P&=HSrDENf46|9->nBY3maj^hcvDpyPB3b z>DQQ1q;Y5|J)IFi*NnjT#Ge>YN-paL?tjkM|KrRr&8JfasQMAOfzV3>0vgZDB|=ZB zKd_PTo+>Srn!o7JRrez@-(o+fN?<)*mn!UZS&Wa#uxdl+BIING!4f@vu~=)Pdr@95 zzq#|ikFyY%$G=~E!on4bbQHgSbRyg|Kd%i;uT>?bVmIbKh>wL^EsSe=cF&VhW%W0P z2N_mp8>WDO#cFk7rP78lWi03vyV+F~@YWVZ7{&gi!Ktp<5cd11V~k861Qyz-hE`-JR!y?#swK}@6V4OA zKXM_?VS$h*blKOPj;v=AeP@UlifNH`p|?)!T08RY#W}rR`pL<-yK{b?SoO`0@Nv+N z01bpKw{TjXE{|}Hz{6mNjGbLFymM5!XmI#DJA)YNZOm9h z_f(!af=pz!BLd*V<%E;;NY>M7!6{@_u9*4#AS)CXMPpc>1#wtiRk}E4E4t2!+MeiS zOJ{$*aAL%SvUoApHyD;p)ohPyrt{^F@2@8RMq*HXG$WD|i7#N3|KiFc(L73&(amaB z3+-v9*9GHCYqNNq>~uaw_~=`uhTPQvl7i*FXl9j4rTxIHNZAVl3zRwDz@(V5=Mn=& zcR5nvLXp85oMoV>#g`FB%+p8qp|dXWwZ$&JMGe*ZQOrcZDl6dR>ZeL5fP9=BxC~C3 z9D?M~Mz!c8%z$=TN~1=Yshq&h7mgsICC-t9U>N548{%{Z%hBca$b%CBm81^b-0TP! z!s^)R`4;n$A#Nu~=703tE|}dlSTk-ca`G2GTewr{FgA0`eAZcF0|!0Ab#FA3+{^h+ zabvpbfB=a0Ty_lD6B{OPV$8*DR1Qe%ZF=^m+J<{4XBO7r_&0fxxMUH)24Aibxg)f+ zwV}}ynMX8o7sO26$)z#<+~&X?Z|iV#_1Ipw^Po8iM5W1r;E(cdKH(MlP%H>4L8#om z3Z#hRiJdWd&6`*ueWt2Xow{W$)u{20W(1oSL#qFuC27WhE^!sCViR+hb@L?~dfjkW zQR?%vyUP!tVpx$B2F|-<9PFjbzs%Yo3t86OZzY%f+j(HVRD1%U&K*hmT)7~K^gxJ+ z7>vmoNI|3Y1Ix~A-_K6fjbTAR;p&;L`ANAUWp^K^O_x=k=kwkV;nBw3obmlg@51XC z!FhDQKv{ut%@&f3;OPT4`LeX!+vx%>69R#kaHt<|g z{XIoOdD+|-g@CWK)C)Y*&iW0vLLZ@!o)(zych&9eZr;jP)>|w-Zdx&)g2&+M*yyd? z&lo}7%-Jp;H7d1zFm|V)gWnzu4p8dkSBWbl+MgrI)<^@kEVLH@;%GT7cBy&&X>F@Z z6A68@lB`;Pg0{q6aw(o8YwGA5j!p-zF*{_SO!_{$pRhTgc#+M*6`Ks6NHn6)Bhoxj zYa|*H)?{)Gb2}^uVqwjklB*=B!;e(FdQOayLag6WAbuMS^EM;)*U0#l_a3q&I~B#p}HL>Cw$V&O$z8aq4#+e)nF*OW)&A(h-CP$# zU5{V57OTK+rBMXFbaJ9j2(!XODDNs1OoppkWv*nxV|XJ~_vx-#ma&?8?2bbs-uuJd z#sX>GmYG*hDL1Cw3y^m98BUOOS6>)lF8bIbDufN{hF*WcI>`v8yc85nA+gjxe|uK{ zkX8xCoq!~*+xg63Ot~aa8bR`*MYGWH4&g|FqY`G+AYe2D4)S{}rkRhC^(kE3N)62c z#h(FTlm+Jt6LAE`@^ZPA6CN}*+4sUMW{s5)95gXax#y%)Tmi^f$ zNqCh33xVIbNhf=}t4EIeHd3B>0XjJg-?iGqGu37)Jcy^Beru{u7mLC@<+@5?$q!CwL5!1e?|6V%Pt?HwUvJRC6vK5)Et zV#AqWEo^1AC?3S4Q3A=_0hDRGXje6dRQVH@dmv(`UTcD?6Pr|LyQ2$Em`nuwG*AT) zVvwS2e4DJ3>Vva7Vf{^&yz#0@&UC{{(0GHJtZrkX>Zt|nY;)W0@uPO*s_L^yFb2Mb z`NAph-b|Ux*w;*XtS}&{!uUhFu80Z^H6)!pWkq#nV-5VN7Vx$Rt;k4)R%~A?K~;yV z8hxpj#umnQRavVBGmzctTViVT9@$87Eb%~=twsnT;U$h=mJ4#3VpXT1C0jp#7ZDpb zbL>#pCqpBfG|773bN2mKO)3XKqFQU*zMQR8VY0+sba=?cato0ZBmTlTKuIkhRJA{^ zwO0iC0*AgbiW*up=w@F59K%R(EINj9d)@$gQUK^=918j9Lf-cSGwpSHD*!MW9S;m} zi_hse3hb?)TS5n!648bF*S07GT8yKATx=Ypa;JFEES?B>ZLI;KA1+2Nz*^ozn$_B} z)bf~luN)uA)ZW$aH{PZw!E;N_UWx;@4rqZH0qEazYtKL8b&<5Sj`NR5+fu+j#6x!)WT5ac?7?;_}}>68hH7I{_D zn$7?|Yp~N4SWhDFr_~~-7~{Bp7;)g6teJ-d^{)^8Gs=<%ovd;ioa6>tkXF6=)?ptC zzek9**{{vyq9sFRo0b_<-tL46eOtKZ(OSlD<%awK5vtvf-Y{ zsCvp*wQgJ5IV@ixZOldlW8T0WooSq41~w2`48I7Idd<%}CJ@AEW@(PXW~R59BOE!U zAx)L1;;fIkN96(Ip-glucP9x^4spp~7*_L6d{f71v-K;Y>TE{d0vfb%Zu2WS#s~N! zlgF@I!u76s#_6Wb=)x{J_1`YXIr7oqol4xNnS9oQCt`0=GlBE`OEaY|{`M9(l8WuG z0yd?yVP<=(p74!QCj`zxJD~gyoHjG_dtbg)?T}Hu3 zb3$JAs8^JduV5J>iuuC=|9864F^lCgEm)4LB=g+@^*KS&bO253mp{{Au1GKgqeLCv zh2=Ted5;&I4!T^yvcEwy-U05c1qxlmE~9cjYl$!b-37bF{de8aCYj;50e$)lL;LhH788&e?a3t zG1VuK$PK2SntB=dukIy_u@Nl{FPY)!0+~cMz#YRKU^GwQw)^waU9aqOD>0C?4!}0s z4X1v`)B}#eXGIHZ1}=ueM;5F-TDwYo0(y!nyTAk}R$>s)j&B!DXphVLYLE`?=X5>a z2EKBl@S+W@zFMScO=kXvQBo`4(hU-MvGRH(V)IaVvxnMaD-zKbV|UFD-{k_Us2!4p zK#2=+AGgb zAkolpfJ3}H_vdpx?VIa8uLEXLBaiV(ON7|JPo1XhS1m4eZ+_4`^eYh>{#RE{uxa*h zM|jOb@Ud>C_JuikhFJ_F{z8)ZIWBC4nJ)zkJzNb>-$1q-WcfA4u#-$LnKOb7HM`14 zAoPT(L)6A;xZ4Nh;zlm{RWN9C(x42dBTe+_6PN7Tt}+R}<>COg04}$bcDhYG=~Sc~ zG|973rW_YXE_tM@`f)i<6SzpTDH8`=lG~z&Z*`XXB<$D9j|P~AUgy<|E{QV=a~=At zWAD4FvE^jvP3ZQoGJqSS4K?l6Tq-fN6xVVC3kQqgnl{m2pEc<~aKjrE#JGg&xEnZv z)e(|%0Cef%Du2UfbMqi)FZ$WTw*(6^Oaf$9^uHGqxSh%ae zo7GJ6!6e&t^waIufjaF=%|2^v1>37nvxOXq5Bc~=MUu!|jUiE%0*OPr2QX6l?XZYk z;1sLN`8#n}O`D?asb5&=HB$BQhwN#KUEpV;NsdeDa0Qx9QbEA+(G+RCZ=dXF5|3b} z-4wRU+HP>-Sv}_UCy>Xz{|?(q)c~iOz)Dh3#C?3p<emiP0vue$T?fZgI+kH;=Pv7k@y}RCKZmgG^ZANYzG09u7SKO|bYuoL>J6Id8 zH`^_qBTvm+u(VTC@2*$XJ8SI)HlCispUus<+?p*mRu-#k-Bn#}Cg6N5EH_rGORMY6 zo@U;k-8LQT%?H94^6$uX5>j|CUhmVgtol5m1h=W?YJdj5*NomU9BhJ%!sKeXHQ*ZbpK z>d9~4%jN$8eI9Pb5j&;ZI<(3}cD@warmUP+5lIn!tPNdB>p((0-_65xnXrCvX7acR zwF3x1PUNnp9Cbd48PfK2jK=h0r6?cy+zRPLFN56YV%EoEK5@F~J}6wm z=MY;9o@+wYB)TkMep_baqWOw|i7I~6;V#Qg4Xi-^{5+J4qZ>9+M~7ao{xiED60+`5 zGi!LwJtCa1NSo#2eHBv`-Sl|8s#E6gFs~iiR9u*agrU-kmAQ8c%-sx8M1E%eG)x)p zD14Q@&bzUt$aXmRAY*F)$iWzbQ`cMXihOHY7JXvxm@v4FP^se-T15Z+ECD0LVc*kh z6#^aB{HaTY7KX`OL2^y-%x33^-xq?`0)=Y)a3 zHHj`1xoaMyhSE@#lmsvj!9XA@)hWh^8&VL2Xcr(fY?sK$B(cZNox4kYM5@P|^X)HX z$kNMp-tTq%grwFe>=&O16i5#32bE1zb5mwi!}_3Bv#)$Swj+p+JL~fI&!%qs*K^TRm=waj&%KRW|EXVG!wcwwK%%GyETOv42}eczouS!0^ws817UraH1|Gs zDGt7cIIBd0cWXqjVF7v0T(`QI=$Fey$Am{vX1PU_Nf1aYwUs(Eej zE5I1V_@?*M7%4fvkfdb3U%1U3_z7L1iF_Sg_voQ=sZcOJd4(PbK?g^kV+MGah)^uh z{!9u^XZz^N32)S0Q-3@KliHY681o zhK*E4MegRrD@w)-mXx>V&hHpC`-cstu@6?$EOM#M!$^{SZAfD|BXaa?ZED9LJ}c<_BH85Q;#E83M81q@_9|?T?>f6|Db97( zl-XOU+|mFxgW4bAlwyE~=B^$GE0)rP_^-O;S}q|RN5gMxyXI-H$=BK{n^7? zW#4UZ+oUB7)IhfP6V8Il`SsaZY^-tokBWB}y0x_+Jf_KfZHn{IE`rjBT$(or#T%3) za+FJ7+g(z~tOx`>+d zYPvRF3G$RPQzF>dK(WOmG`+@+<6%~O6p-uhG80tf?W^FQ)FUmGYscZC@xiKF=`1NU z6zW6kE~Y4fmn{47ZY#^u{pR+|5}>`sxT<7*APIPoqd&qZtF}vqB@05U?;hcz*V+c- zD#vnVwO<-`Bgp*LEO8>)AfHuhO-C0W@uki``kP%-`eUvSd8t-`W=FJJ3h7=x!XdL0S)7Pl$3u!E43T=yDb;O;IM3z1^Aq6*z)ABBF-GG2(N!M-99{=0kSY zAToNCUPDK2xsK8tg(748Y$_}iRBp#4*3X8bycwR)WS$OEU5t^mwU3rvD7F!cpw*r( zaRz>dKG2U3YOcqws?+@Kh7&5Br3zfJNV2YtZ>=LU6xH3`H%ooB^LqKThm&{ZnH15K zi7qwkW$K+G6VMg8(FbUje`L}a9&-V0VO*r{L#X93Dt8kg$FcZ~FuY*>1l@d5*deY$ z2agn&g+aHkqcF@mB+)h^*Bl}3AH*&%DZvo-nMR$OO0c?m8#Q z&#qkM&fpXO;KK-Y{5d+zDiYh#xGh$LOf7D&l^CAZ?%$^JqoWud7X&~!ZnRKchw=-e zzis%)p!RAKc6ih?lUluh5-v#aOUg`%V9*<<@q?+2l4gRdZ%@KoT_^h#Z>fMGcS0P= zJVABZ>5iVtUHy)mGpnu=CH?9}qJ*G$DWL(1EnKAoumbLlZn&c;zXW&?U7fy7`2mt_ z6OmxD){c%>$3bN`v5jct{>e zQjVh06_BxXg(!lVHi=U!GRn_V2n$_ozVZav(kaWChy1>d&pBNHTF6BAkXySW9oMnK zPpv%{@=JWsW&)RcUg_PZ$LRRkkaE@b1pcAJCnc&R1Z!-}$fDuu2*XNKTmUU5fDV6!b$Q)h zutTD99l_B3TV2JLr=Z&b+keqTTDSBI#rEc$24?P|IAUoV2A+@#QCzFXI7sjx%wC6^ z*kdDN966HMa3&7MuQCMA7R5oDl2#Q@xo7jHG(h}b7_kf7_W|*n1!_6Lx<_zw4U8kz z@wu7Y<=jiQ$kAhR($zJ(M+u8en!iaaiIMg8Yd8|FvjDQYI$Q8@Iz8JyH@4~+b20t> zVT?Nm+uGcTXfuR#*>h*PypL`q>w3QIA83h0zS(ssaNsi=0?2;$#r|qG{!QB#hdRHB z^zZ83{U>Ld6s`9Tv+IhwbgC>X30Eo4Lh;L>f+dBbgo2VieKh=-klW5j56kmo%DsF| zi3XN&f5Iu=+-cWw9PU<-d6*P_UNhF4iX+Bjl}*0T;*C^2VD23!L2O^>w>XBl2Rttp>`eB{!AicOKazW9`1_S0WWv@x%%`w z#-EKtj1!wUV1Ut3ygY-m5xa|QLw$T0De|Jptx0flzm0~}v`#)ZtHy7hBT<;aHy>ZVtx>Z?aNd%ix_6%)9 zuv~+AY2aojpayY-9UeKD5;(D)k*^oheNunO3znw~7>^K}9nt24dgHPI2_4mofPS%~ z$`J`R7M!&iC0HAWhKQ+-LL#T+R`T9If@VGXz}VOVKVep~S_%ZVM3UiHVvAIOTzHV7 zD{rAIN|8BBxX5qCMrey9vYk^gDhyw36p^7PM71yU0|8{gt>VejCaF(lHi*x~P>A3J zAQTUe6hj8C*s;XcU<~&|=nsAAgau2&pg*Pm4u(XGM>K%)%5Wf@CQoJ*ky9KhK)}=F zcag+u;$%nC(dm=YsizP3?Fn9#HwA0lm?yq_w1@*17AGYH>;4es>WWuftZHywg=(0; zRjAjwtJlzR^~6l}!3t;40qZ1dK3;y$zib~jF44a~JFHLR{i3E#wYl5SHA5w0k(h@3)46 zM@4-~$!gcFbxt=p+LH1*NSRdfm z_xbv%%)=j?{xHK8Y#_V*(%HaB$?I>cV0U(MYQ>Gv&L%2tk#@G=&-`z%D1qq!uJn2YZ*QzuiNxEr>$x^w zO7KY*-K)nR#dSTOf6^HIgo4+M&{h^7&hTNbwAbuXym5W8NIW+=w|65_4!VuI&h)-L zSsD=bUSwZ!9$q0pnr~ln6Oh8(_@xk%d&}6(l+`GSQfH&WYOuGYtSN7HTd7%=$5TV? zF7HmUbmj1W!xmn?ISM(HU{J!}`h8fo@9`*o$KU#Q`_+Bq3c9z60ZGS21wVGCBEx0G zjPr~vxs;Z}B}E8oFh}miLo7i?@&kmAVn;4W#J-`BD}3Q9AEeL;&8PKSq=v7B#xaeR zk3Xp6sA;1sD>|a}Yk-1#@s?C(C6@7gvy>}>?#jwzwqA6Pg){kWc z!*W7K9H+8&X_MRmq+o;>ieP<9Bdx|aTkIp}@Z_AsW?+TeUmdWzj886*Y^Qzh`DX#r zSN2&3Y1}7l+|6o@?d2p5d!2Emf2k=>wZeFLQp+}Sg%9f-HPk9W>p~L+I{W2-(u6P% zcPT0q+L!+9a<3H9dvVNxJ)3PC-(`h*-3Yb_B|O|S#cB*7_UaTWTd3gDFmlUs!;ajt z<+Kbaj{4T7HPZRw?*a{dW-q27lc_P6^u%6$&n?`^Um0_zAoeQmB&cKCsEu%D^}?m{J6w;3D!$M4Xvf!X*I!-NankasaNI%e z-I#jjdrrudxqKpfmC`b?p9dF^;Iev@U==bWO15is#AV~Y7^x?Q7j4l*47a5RJE9!9 z?TRE_*|T^8R+e=|CiRQFXI%*(z&D>~m)~HEjDtYu?dE}yOlRA;Vl4OVl6#?KTtUt| zI>i3_Qv(vX8R--eIm2=WjQcYS=TeU;x%>f&F0!H|9oHMiPaXV6z3rjMcvL=7QIWo)GYAO$mbSoBJtlteNk#+!#um5U2vF zP0%Y(YZLIYiS0+MsMlA?ZhPTX?!^PXx-|RvF}C>GW$n>IRH&im6h%HDEls*Zf-9gm zEbTsMGc5f+!wJsakek1ZYvTEnJ%hKB!YEMAAonHt(o+b&%-Qb|pzYO+JGg_&P^IpK zHa7{nsSB?VgJiDD?#<*q9Q4S`dU7HA_L8{@yo^(#LRrHzY7CFfNOUX&kLU6R8>iWB z(5SwmqU6f7YK@6XIFBWaqA7%3%uP}nSsS63gLN3?>uBHf~BZq|FsX!rbXNGPWn zfy#$;nxR)bw9^9IzkJdv_}S4Kmqa^9HyBD%a(GX^GT6z&*>tIM5pE)-XyKaCDw&uj zM{&?%0K-`4Pd!8+yOE2IuL@UZD02;}8+CJ|bpFCGVYUKT6Oc&{q$sf1!|2UBbQWH~ z%dobyeVuLY{F0+c+0lgCagG5Q-fgtDf#$SmzLLo~P$+HukHhHi6Bb7$6>=!TgCBR>^>pTb*SA=eA z(!e20I!EU-P`ipPZZkC(=EFnx!Z;83U+M#I6He3(m9|A=YXJ6wkgNw?E2oU0986}f$$5LsbO>h>A~QoRel#_ z?Y`Evm2-SaFcoxm#JISXU2#wpve(=Xjx)3MMAoirHR}JOa_eMA#Aj;sLUCV)DTAV3 zVwlfIeV)Xc^0R)}33U;)7$G+d(7Nb1{XYD4c^i5`G;!biMhY7sP#sIF4!tU-RUNo* zTdH2cr}30i*I}lz>m}duZ(LH(7kR8LX-=@xuX;KUS^}1_>r-bRVK<4dc#oJ^;=cew zHvbR`;wKA8hN@2EKEWk4BEEOv^OV9zl79$bcjQ%?k2NJKLKvO7m%lIy6B;iHoT@?t zC}E|PG?2945;-Q`UFIqb74VGC;T9Z5QsQp_s$GuL5wv;VgqWbT+w|`c;V~+`xYJ|f z=K*0+<;g%zRCh*D3*}D>s^x2LxhrBF z+PO&=Nim`$n(3%whK@6jk^Uz8@SLq{DS5caCaj1dKoNVTB5g4_{9SItHP)%3*Eeaj zbji!N^aJ*PcI{bDxmSd9_JeJ3bl(-0QyVySO;}WG>YAFU($qDzP{!0X)$%oUd08{I z47t_&*~uxp$$@||x36EQ?~iTdIUi$CwL?8K__AD*kqfAlOEO*mwEWoS1{y|FsdP~B z?~CcPrIi_bOR?yHXsYyvv3wSfm2(EkHOe_~B;&Yqp^%HL5KL)OpI$C-_}oL&o>ttM#G6?1?;#i6ixcQJ z_fVZA^ys?K*>m_|WU4EB8Qeq+WbCqS&>Xg>L`)ni8#q`Bo5-XgzPCw(FCEt^e`Hr0 zgXZO%k9emGRp4Woj|7h13+dTuP??Q;oR^i~7)DT5WRSQOGk{+ff(f=IC8UdzcGf59 z?rMCZS+X?Ed9c|4gEzL^)U8@>9QS^Hm}ykEcCy8td!iXUCoUOAA+xdRXRgN80)zr} zoDlfEGxf=^s1Ns^DG-c{+RUidMAS4u7E_a9KP}i)8SXC}^Lp_O*EgoMs7kXMClfrY z+0%&ab-cZ0BD>n{JS;pm{JB#VHq-&4FGC#<%7&WjXioWyPc(}AiU=>$946qhIm~ks zfdQBkFb?>k@du=x;4J(LzOwB`K4=k2CN&eCz7&-w4uLLzmFoYsdb6Rv-XR}LipMHS zd!ut@#~L=)?kp0pbNdYf1(*z(v**=k7oi-$sFYc`%NNvh0O{v+m{OS9B#;+pU=~B1 zIJ&_HikR%?8+A=L?P>t+SBMWI^_hrl@Nv0mxeJd*u4LkWF5~B%&RpKdQJr}v;j~Ua-z!LJtjp?MkxOI@Vacbw&+qm&asQ;_>pRFZ z2E(6W>%&g0t#XhtSogWWzuCL;?k1`z{=c7Mj(UzOG)Z?n>PeeaQPfK7u1C{mppi7G zNeb5G99+<%6mS;>6*q7J+^q%SyLd>_{^eKj_vSZwowrOfDGhaNS(2Ii?%VFW@4ox) zGFr@S+|e18cj(j%%$-?wKpcJR18^jASi_03`tiZ);)^^+>85CnP2zGLLA`|F2%P## zBTVrAzsI4}Y*&YlsjHW`oE9c5YJ`QwM}MjRaK3*0G%+h637sFUDPqiO9s=u%=2lpH zeLq4vgW$1O%Cj!wWorji46bI)L)|kXEZ5)u9&yiT+~aJ&=PpMYgunp{;m3HOZhwE_ zd0A;@#8Y#y$Uo%l>`hbKa#VbCU(3`gfs+n*m*B?R@%$8l-mSx_yRE}>XAft@-o_D) z1vd1c=1oKN-O2-xvR}~_P})Rs-Y|`NtPX#=tg}TCD2S=uC`?*e`Wqu61g+wtn!*K9 zv}LDfbJB0!!>GZbqVRhx*bPajDk@(8jH&|bx~EhXNF(J`B_Q0|H_9NdQGZK|ytNK3 zk+1(@G=MvFpt&9n9R*{r9oWC}=4pX?@g>M=6o%y0xjrj0i>WpnS}I$)XMmm0Jl$4K zQ?+PB)`M6g(W-Bq_0)!;%}l5^6w$Mzs^y|&A_>k9wvC}}Y37j+Uc;_S67i0&xnS!% zbA_u^(Gf>XrH072o}!e@CZ5b@W-9Im?ImVII?S87R~du3;TXtdGFNn zg^w`aXabXhdOjcr2*6ix+C#T`ng994#?0Y<6z zjxvDD7mlE;EP_0}E62S&w2KQ6J6DFl@24f+EP{Wm zA=IP@p)M9-mmQ-Yc@p}VusTJL*1ukXm38~GL$h6lDzhQJS2FZGb@7-~nXdf=9%pYK8HQ(fHzir5oZylrt42m*_zA!QHO_7yT>MR3r5LSpvjA1wj~fScQ8nbAGo zGl1o{+H2?f+K(q|FCV)8`Yn!^Il&Qjst%8`2xlbL+dGG9FMq7n@>~#F{^0TL=?D2~ z6>^j1XZ3LqGMUd!dOMk;;Jj)iHZm|WqCg^412UFBFog(93S=@pl-Ct_s-?xKxh<`OIvIKw3KuoI{Z1t&qJVy{TaZGFL{2ERZAVp5Yz^G7s)! z?UDG=APbXI2uhuwE*7#1&Y|Iy3W>VyIMF8!5(=9lHXRjmAek6SCltt1aZka5GufL+ zCXx!|Y$-qYK(UzBAXDj~fdOSUhcj^hwopj#$Y46D^j!oTgPZeg*)p3k4YD{{6egj1 z?TNm@cv^wPX*2KG=BR(9H>N=rcI1nD+!7nxfb8oT>`kY1$Z{^f%fvY{pi;;%vYKLh zGipx_$9uX}$hk}*8qKGWjf*Wb=Y3#Ehcxg4Qoxyzw-xhQx3ImK4M1Wp`(h>}w2=md z42oY9(v1%37L0cG^{Z&uHgenVlk~tV;7kwo$q#pWE%S39Izk z+c%ULF(6ABgiz7veP9^vG$1FZa#Q*3KcV;wKu&m8^&!7Q0wrh?(S85;9S6psdCwX#)LGf!qx{)A}Jdd14 zg^Z^MHSRrv=#N9C+~h8u<`d#afy@hL#|>8FOUaR#0$IduPDLRQ&QW4uNW(chIaSVO zEc{d7Wp2yl3gwAnsc7&z@vA^iAJl~`gbWQ8Pej8fm=kRpd{ zEx-;AAw~638cy{N_YUijJBwzIdIbMWD3H60r8(;y>FsQAZnH<}z5%87ZJFI(j$a)z z-IwkgN!lQ>lFCy`?HH$C6>?9(w#)Pnk7(R`n+qm8JcXQ<#e%+$R2giW(719DYqOae zNcS0#sxU&Fq$L9q+qT|!N&-5hBzzJTCF+r6Dq%u`@b%TvEq*PKZgfbupz-8b8azyg z)G3tXIn*~CHz2vmX^_cSf6{me_&v6FbvX- z09kR}yed@=#fE!QX#u<=h_wh{KZv(w@A`d!T4amI!92M4MSZwZJvvLC%Goi#1MrPd>X%XaJ4cQzN}9&3oqqyCeXt z24t#~nb0M`p@DQlp}N3HLg#h8z-d5Y9u3GI4N_9OAq9bwl^%^|@~-W~mrkb#l1UBH z%0mWmoERL?A#L(}awLr(9a5!ELgE+~gOsj7&Sd5?nD-fjLPk=(3Z$EvoEk-_cvDtP z4h^c1rCINbAq5Teb}JlAZdwM;;n?ty0*U<9Hpo;e8B3)U$l{)?F8OmuNNb#y9LYj; z1|@HICtR!~r2zS7celD9iSf4gNax8|z;o0GY3&>qV!8@Bm&seCpq_Z&pt|12V5XXP ziB&!A_VmV;d8ZIy+m8lf{RtJakYz(P$ev_RpVA|RZwFZN#@$Tbx+55}_xKdH zuDm(&P=<`81{BERbf!|Y^}VmVN1>$#M>Kkb^`25{Cr31Kf+Z(Zs(WC{%~Y&9YUp2; zb;KRh0_pu2kYm$GzN_ODzd=X}saBleA||9c?}JIopQafP?1bmyS) z9d0#c;3WBkcE>>*J>215Jo_2qV<0jPpC}iKrOB4JlAX9I_Iny3;M!X5iY4}D_FXg# zX3{KaWAD3};X6=^oB3Z}V?;s1;p@fU58^8e*AKpmC$O8sXwdx<*|r*^8Um$*J$NS32MzCF?+7E_EuPZfP2t3XH=wSYEM&BWSe@r25`1JCrQtF! zJ1iYmjc(^(Sw4RfU9X*a8>uNVc)`SQObVykFO-Y<*-+DE;tf)S^xK3{gh?+KfBRUz zt$nw6@wa_^`?q6Ht(_7sg*|!L*WKvKM;_hO-7gT?*j;i2v_}uPy2}!AmD3lBB1j(e z_*!57;aLGTF~zE$6Oq{9@KZawP<`zqn=ItAf}=Df0I5 z@loe?H-m#6W}F`c4ORrql&n)FGum7Zfi{krl;L}n2DyH zIlEN<=5=R$c+`=0ha&gq-Xr)R9zTBfJ*o7z)z@mP3s zmVeoY+BLT)_yg9?d;{kvJ*skXHW(cxeDOb!+hKR9=JU5dmm-iG)*_K6}A+1I}Xl*3eIqrgi>VW(4D(*HTcEy{eM*j83<=?-p&VNU@ zOH${`@t+F6P!ow(9Ej!U)y_fdwB_@nz7m>*m`Go3UzJN9?pLkgahzH)imj0#S zzQLzL?l%`8h&h7?Mn1(aU#xv}lr>?2i)3=u`6H}HL`Zw}6<|bjSQ8+2Wb$QK3+gZO zKi*v|O+z4lhJKJOa$^DuR5NoOiB99;jTjcV1eNDM*nvzmztbLMqK*!`kclc<`;f7g5UJIf zF8gWqkAFjBe|*Le61aU)w$Y?f7tTskE=+93+|uq1@=>!lrW1Z@_L@52t7fk#qQ6?i z!q#2?5lgu>y0mcVcTF^0?l#Rxyj_-B=;9J4X?*@JRDt9$7(psW>ffBvl-gwv(-y}- z-=^z6Mo^FqoC17D9J`;=r^gt+s($V*u}y#ea{cftTKqCEo=IB#PZX-yx$h)=tXZ0R z`mn=hQ1*2CF&tmv34?QZLcu=a3Dq4FFSMW>$(u$G#v*j)! zq@4S{{`(tU^)JuXmoCtEi0FA5(Iu8leotnuEQGDS!l|uwfdcF@0gkRx&4SJgb=}!h zXdwdMR9`#E=Uvqoj@C|nYC))s3Oy2)J~+?GX5k|%w9J*mj4?rMd~$09g4$XrhzzRP zT+tWf8&nnH_!l2+b^K$eod?_ruL|h*kAhgLOYcBJUHSM&5qssU?=e!6l;~ZD6-14E z{o_*v1N*JLd8+pId7+*EO=N84b7*IvXW~F3w-hJ?vHgIJPcR>d8D$M+UOs;wz$@?1<2kV5h$^=56JJ7O zjA5&Nd%XVP8`Z<#LTRk+GDf z{N4jA$3EgwA3M4n5^#19E3>%cVUdIDh$C+$Q`!kVqnr1RaSn)#*;t5QVy1&08p<{h z23!$fgh9dT@84J7TBt4lQ2Y2TlBOnA`1L09VY(T%oR_iGxXL6i47UyuoZG%bli)gdcx^X@ZK8V5bdW|ITJ*P6D6)b zwVTjp;DQCbeHs_2BGSO0*aQ zQOMHgkXTSrrgyu$Cxa!G^=>iOX$4>E{gkI31vdn}Q0Qx_&zzpkga6odm~1}h>(Gl} zgJJvS1CXrTQae&k_vT1a4#jQf{^k6wyDY<*bxH^KbK!JCREnhf{<0E8i8W>>v z34+uP;r{H^Sxp)K5gw1!YI zSo`P&FqPVuFQO&bxbeilF8KLnXuRq_oj}e;ltthJKF1D@B*9YlVT~*M7OIEm9pc?w zER2?l;!t;IE}wU^NNE2$xB>?W1!XUQlh`0_Vdl^mo zic;dk;8Ee~-I;vBFdJAUJd|nZ$Dqw^iCV}jzy5%EiH^D)z^kvlbH7!8dq)V!r!BH- zDpQ!A)h2)?zzI>IYS8esJx3P{Ff4+)t-w}L9(Jrefw4|5{{EJX*I{X+Teipk@JoL3 zD;X3q`e9fL-sOtZ<>Ww;xk-E|PUJ;=12t*)T;8=`Tk={COAuRwnCMrIptjnXh1CYX ze;%4KMo|f^yo~?ynGzuD}<+#V)*1X;~KXPH~hTOjEXDLk%wgJ6xp+1UW9ET zqTAw6{ijdR8AiSoLgbl4NHvdbf*M#dUI~W&GfGNO>V-bd9fE&_Tk<24@{3X_t7|JZ zCyPW4b}33=(?jfF2o6{~6t0A*f9kX9;$rQkebrZfzIg7F>b@_WxPy?+AZxshL6H#0 z--Ls!=<2+$cgFI=Gw?(Fi$zF`7#x0p{VEgdt zZ$evp!Yq=fN&860HV<&D4J9a!bMAQK$a!lM0>DT{oJ;Iw%je(1Lz&AN;uy3wIG~V> zVdDUGoHXfV?gyO5SP>*ko5|5p97-=P9bhmdUMXPsiWuzBI5-sLWZao?2iVqnDp4r2_WVQ6uR+G3@ElI9Qb zD7`5TKvq*b`gQ%|FZlSDo5k~BBdF8@N_>z@J_sO~!xz8fA@&JKRuI@9JerxBrmZ7zx%y<;hP4Nd=W4dr<|dhU zOO+uPRk`;S^2JPcBQ7Ds+OqCylJd8Kf?NFAcu?zPKH^Qk~^9 zKh@qpxCR3Q?_?x&TU`JayNpm=cNKV>OH%^P7G89C3yAcoSz&s{?=4&}IH(v%E(M0b z)hw*bP#AUyk{1nz7ACo|d zNhX(oH373+teQOy%~jm88f+c9Bk!ruZ%)Eaa=iF}P*+$hgU$|`0JXSQ5KVbR zI-9Hf`(12BFFWI2OUxZeogffL_GA^nk-b>!=iXgD|Hg)Sv8D^r#pdNRpRT-jT9})k zIaWLV3U$uP(SUAE8$wfs%Oi593ztRWP8Zq~xL32OLQ{(qI))gU6Kp78o}1kQ=EE(E zYcuWx(x+mVJBNpwf%WbT%=9!^M-bUoP@5w|mg96Tvmt7gLL-8bt7T{v;b1$+p!__G zk$%LKA_=5VtKx0Y*}!}I{YN#d4xR1! zrqCAywx{|-IUJTHAgPstTafGtK!V4lKxQUz?dUhv@6Ln$&?=XK2td7$#BcOu^lffo zXJzU!0La`t6Oi|m`y>y`WbQ+&-U_-C7bT$_3tWdEx>##(4YjbJ0RBGa9W;!Lc zaXd|gdln01g`!^-S)crjfeW5RVbQX@_a*0%v?w8gF6o3iTZRr^M9JtHoyCRqq=(u# zqq2?72k+@zWn?y=AM;GdHbTv*v|#pX(`jhW|O6X z#@X|<13xc+kg%ol905s%2O(;vBsjs~MuW+(zVJb?5fCe+s+FP-#1{fc;~A-)6{iVi zenN8SY0pW^5iSO&zk`qiWn%k>kUdXt&KKdsBV=jw74T0YwSzE_3W4z46Dk#qxGs%j zc!VnSR+&y%R^>crAjdNu-7TC#+YC)sQaD+U2~z{f9c||AONSXX$g?*4I;btAFlibt zgpdzyo0dM-fBt%aQjNdiw`X9DelOaN}upD?aUBKB@x zR~w)G?&5_rs2@xP=29rDagLc>WirHg>B8CC*$-G0Qn3(;_ny~Emx}qkT?hQaq2>9n zS-AGbt7g4(nLUky)*)j8Rg9W3UNL>RU@jz~WhlRu7f#m>9QQ*1y@9IjBLr|PdiS&JbaL5NY=%DJFkc>?eBspy|uk%b>H&d zUY0GukNdMD&;miKN&`?kf@3bpf#%G zooo3N)VD;W*f8K{g;8dnYel7z_2z0j{)U=>V9{WV8XigW+7dx$ar-JMU(O;g8-m?H z8({N}w2lZF#ipusOiRmPGqh-Ulp%eZfjaK&TY{^vE;MTCq|+xqnC)<$_O3SORMi+r zn3EJ^vvGmWjjZCrnF6HV{I#a2ePX4_5QE$^A{d^`)QN#XCp5QDP`G zwUUhKNjO<2Td}fF46o-TeiEjnP|1NIKO*#>3-1Y!jN_kOk`4~gg-s1L-0qx^w|C_# zU4kyCi9^kdjYg|T*j%B>RI@frGY`PYEbz7`_!h?xA-+v*4fN68$iHHK_} zf%M9;BQRj$r89Av7VA7)Np1%(wuYm+X~VvShU<1#opa&u9I4~+miBF)J5crTLgVu7 z0C&e=bTkQrRm)uygP=<+v#|FVQyhdIc`QN$dp0NR4OBPlwu7}r5CDkNyG1R#ik}f5 zwShzNF~zs&C50Vzu&nsrR`A09&9Su%;N74xhc3?Q*&rJxJCR<<|C`ebVHA4d6R~vW zaa4w3BcoZ+)0#X8Y!s{$u?9q`MaUK}2TC2l2v6n_ag$DHVjrMCX8r6NjA=v zfgjR7tx=%?;Z+1!Cunl4z43NBta=DC@Qi$vOo*5-fooH!4P ztW909IQ}@Xfi1BZ{y5lCNmYbJA=r;z_uT$=I!XR)HpUMM^TzMtQ4Z;nMhNL@P~OBgc?=HH#O*zlvDF;2ewoT%O4lH8q`8tPT!c`>UgM z4uv+zq|wk8R^j{Kf^teWm1n=zbhrmS2Fn`72yu)sEqoc&T>e3=4|*ZjvjwkVaS+hJ}4Xj(ZXK>aGkPmg z8U`S4mpDE`Rf#V!cR=%^8AJzm?Uoz#Y5|PmG>&K@Y8V~2^;lvWH`W5vEuN5fh|8~I z;NGRW6|Ltf78U37jIbaq9$xtYRty+-1PPMKPoOCf&hsC&w)4V1XEw&u*rB%?WS+=2E$6)|0`tvmI|42r2{sP zz`Fj%jsj`4QxgCqos1qC17P`5X4^y1G@!f(;Ygo2{|;J`Y>5D-Q+x*wHcTe#W zP{#I+Vf1)%@;%Z-AUlN6=NLCU;^w7S7ZsVy>GRh-8oNf@T1AB$WF6^~dIyvkKIU~-MKusdQ$jU>|KHpGU(Or2 zoOQaqO~jwcL>C6y+`*vnPgb7FY|tHysCwP`iH~=^xrvW93NP_Nqnr_Z~Q&x`0}%y&E{uoZT1=VUg|Cp*=0qp>=WR< z3>Pn*<8UHjG7#TI-Dt;VUqbg9QSzekiJ)k^ij{n>(B;4MTcTus*&GwH(N;wybQtmK1x1)b*qpH-YK~lR+A9%&oyX}7 zePhRGk$sGTzfGJ9OAjpghF_%?41^@9 zJ`9qF@k$ba`D)sD78ri*jdctS7;{7<#4T-ZPsnq~DAMpWhMhUyz;GZpS&ovW6?}!a z{tR;05Xgm7s*!MXtpd4`0ul_n%U*-e{6yZMZ(e7{^vHQ+*)xW1bnd%vYihM``}|GU z>)6h~h#@Pa_;0OhMr+SPs_?r;YhNv0<;G>l4JV(D2o)i9bwaKPsVb^y5wW;cy5Q2v8_>-edI-T8Ocwyy`wZID(EDk3Hg2^ysONvmCd8Voh4l6Wxd1xXg)LNmc%XghQ!tiZ%`+0O2TXF!0kzR zWf5;w+Cg9?AuI_fim2a0lbOt$7YV_;0g>ufT7yF6g#s6UJ4|S3pK!#d-btB4=6D?S zV?Ek0)J`3!efR@)v5ZgEZY{zX@xG88AhKK5F!F8J>OhJd z$e|<1qO?G1oAV)`6-`A^wVA6-w#xMUrr|-b@i&=?4g&eg*35uLTm)(o_Ni9R6O8)> zgInr@Wd12(KaoR(+ez;#Z>Hob%UvJ_lirYM%Sndo{;U%EKmM}fzkP!)I>*+G1 zR9Ih@HQJRhmn>0u(>z|>wJ|Yitxf4ba9V3U>mQ}oT1~WYwb6=l@wJ$vkB&x+#Vk|Q z3!BL!XL0p_O-ms&(S!zxg*Ur`Z*#%{bHhl;Ye7eRV^`64!W(uKdsP3|)e@0CUcI;r zh=c|4Mwn;3{WC-eC7eiEC^C0~I_!ZPc#=lBl~;w!tRMa=E`$;_vvFRih}O)JWT%AP z&EKvkwkEq71cTWqlLFS>8GV$8x+7XB4|8PQlLsA1<3vz@f=!jv1Tk&#;RKbnuW@Q9 zGn3iOOl5-);7VIMdG=N+>fo_ksi(~ocZ9Me8mpp^SyK^ClI#ViGqhg0wQks}NTw3X zm1>8N)_?kxRHz&obLC062$zDKX|3cZ)Ug|9$rNZt=k(#Lb#zP}zFI|F+VIt4k(J@% zQrnS%v2f|aOO7yBm314+anv==y4Iv2A9lqz-|cRrqY-Khi5hiX4b?{!-Uj(;KB{3iP})!F<#@IugT2ts-*hp4P?e#QNb+P-$LVJiGGg`@#0m zkIN$*>s+!NR8Veqt8xj*Cyg?8k^^-ih^C$o8H(-Z#cJ>WTtA_V8cfM{F-$^u6AMMy zdMa&fJZe&kDrQiBg5PQI-_0+iT~h_T4$JlKB5Ym$!;9AI|7BUaUQL%{0ecm#bs2kw z+g!}m?_Pk~w$rN%>4vLsyrx+I6xiHsd&$ZA!a|_Jm!^h77kI0+w|49}Yo%ifa<=$R zIA=wex!@}bepC$CUOt4X5Rba{?Q!o8+0PPPJFs7Bk*lA61SNIt;F~B2RPkQ;{si%{ z9xwrxkd0b-@iPq)B#(th%8^ZDg;bvd3A}m`KwUZz0l>ttd`5&$tDXKi0KXr~?%-%c zdUZ>JHp;>WbsmetS6GRJAG#R7nSIsRT&XgiYf2Ff&iO&iKkLOsUd&(S zodkq)d|!9AIR>Sad#5|MQ8KvJj85{cMjajGSdA*$BCvjPg)<#l51u9sR(p1XKhS3NA=#1-^@?FG;_J zzx#eK)3+w?rG3V&M@jPD%$++kcV_O~wX0ctebys`MptX?)%2>NwB~kx&V%_u>^_;P z02zc@q+97^SXz}jLFjY46cqHAW_P|9P&(_N8pRUw9Z7+(R;z;uPxK|o}cjY2#~AS?gGFw+crJ#KGcQI zyahJ1*AZC((q(rYNhQ)EFNjo^B#N^Sh=P?}I=#h2| zMMJ8$>|o>lvG?%5190uqJrrI}McC7@_sb8;lQ!DVEg}(>SbMRBh{V~84TKP5FIEaF zz7C%v>+`9~hv&KTD;t3M*-x~M8<-dy?w8x~n<=te;ClD&8_DF#$<7^#V!GHl%H-3l z3^8abN!AxFDl2CO1Lv9s0xBUlP~fmbK#y6V9tKFklR(A5Mqa<_+`-!A1KXRHZlNPS z`TmOO(JVx;1*ZCY0KvR><&vw6KHDO;8&5WF@Z`Us!mk{@YMY9)SHO$Oz)T-OuI1XD zs~CMAjq>p03;Okg9{skys9pXB->cInk?}C9?%H~YfG~yq`I6n5zSWpm^(yQUdm%la zJO{D5e*6;{NdA3#p5D`J8+~T|U^~t6(0pVTcz_+1(H%gCv9o(7E#XNK8YQ!Cf2nN- zXf`aO5eM3uh(rizYay`c&sHm#z|Z8~jvdseex9E_0-qN|7jj=jb^)>hb14DWHjX7m z{S5<{x)cMnTsBz6!bqFU0i>gmSpW#|sFeN!JB*%R$_G~MbAp)yg1IJC$cy|w=!J1B zMCh~HsZS~=597ealYqG>yqK04Ojm?7G7)K0gp+WCNjc%vp z2(>{ptwD=!B(27{z&#Sq?3x7`Q$mS%kGYy#HI^ZTwyelQ?X{WgJ$g+$gmW0ipr-H#OZj(40v&xd|h zh`jGxj+Xb+#voUCpBp?GLb!;A-#6G+<-+f+B0o z=*JFMfB)XQSUxMI@Nc6+qv@R}gnt_qDy4TyDSX(AxpN_@9$+SjC%ym^exe!qBs|}p zADMhY?)*lkpBBX@&nLjMl*Br)edaZbI7DPyv)Dj1hBb@ugIm=s)(L1*V_=rx z#yk4_MV*MqfOrZTatfq0C1d18K$)mkKl=$f1j-Bfip|vSet@6VpYK*LPV@Kx1pT9_ z%EZ^C5)<0^d50rPB16G`0CR`vR#Q|uqNeI0Z*lY*|2g6yV+=(pc?UUUCa|4yM_oBq zdc7gdD7(pPS z#K`_ZwQD~W_}163Z?YJUUw2?)_YQx?(tZGn3BM`*eU)ut^lXebg|@5fT;JZx;r^BxaP;z@ ztM(Mg*rx5B?kw6?O&$(d%QMLOSMNgwSp+Hi3$ic1y3B5Fqd8od%A7M$@d65(9dHvlPlntxohbsj%dSs_YG_E{P@v&7O}%9%mUo;5IRv(DxAEe-#ck-FfOTJW<+&} z%NvDTcp;IA++j1GY8E$RQ)1t?LL!U6N^l=~-be@2CRW%3lPJz{k7goZialBh$Qd`U z*)-fGBkKi7+ZAjfy^t!2h7j@K+NIK4#2^x_-Xi!Y6nl%%gX;DcYXpj%;cLqr_uI-S zh^Iv}(}W;nCv`v2@qkmX9gK-0({aJmX5W5qMvZlu);qkcPV9Rj6q64Vl2dHfCGxkf zQJ=Tn^0wRWZI8U|@q61VZ+o3@-BQH*5r%DAEb3-vpoj+rSUc{l47Xu36s`%}ek)XS zyp|(i$n&}=-s|Q^4?lYOVG#%twoiET-+!`%H{W4natytGW^1Xil>J}}GT`LKUP)xi zK6+;uaTu%q2#!9im4(w&xJTm&#*4|w_?BB1qCNHW_pa^>uwDH%o6TbPqETos!jD9o zy$C+ADtoa?Fg>=KP?ZpeCk}WM${nl|ZF3}54J}Q%y(Kl;K5JAo9+8LvkfX6b1>oQj zOi(!J)pX{pe&l5B@(El>+)+%jxk3q^Y%i*sFwwTnK&rQDs=GC@yG^r-mZO+b zfQ?{20X5)cqGXVnG_UMi2cAQ=$me~MMHUmgTb|ZEsbt-WqCpZ|Q}Mjgs)n{&DJl<$ zHW?+=`w^L8QoVtwjFal{!x$*l>jXAZ;#?wEEBA>j@&LzLq^1cMQRlCj`X*-hR zMgT`~+6dgBhmDjCbk@M80+#R2xZ$YX`ji$@sq8w#Rwmm%O|cD)h;+raHlooM+nNZj zFLqW76!qb!DgE~6^RuEe0X-<;I>e;!X>t6FiPWreT7;`{`HG@8IW+Dmif9@m#ssh+ zqIMd-J5Y(t2;R|7R0i>mX2KZ92dL_~cOd9Gh^EDSAuEiOtWja^tXd)YIHM|(x71w~RM-tV5preRsU_v(MEQGO8Jk}9!9DfEz?zs9;gH9{X+Vs~8 zUrr!m9^EDRlSi1!9uJKLt3Y9_LLBZ*i)L|$irZS$ka&ytdqUO^-^Eb}Lr=m)kVr(( zqUAfnh*rkufD$fmFn6Qf5eiohe~(7doPO|V?fTaXC#Ml=6y>c*IxLP|XxMFm{7EuU z1c>beWq@b-7ThBd#)giO@})>HofeP{{ZcrJm1C2Yb04@}G& zU>`3;nmP=N0pl<^rxvNIg-svP5q)KFjGed*(Oy#} z3m(?T?Gn2IgXlzV03MmRtqwcvnbFvV#%fY(vB)YqvzI~B($r9B>+aOvb}<2HI+7U$ z+$bg!V1x2_C>rD#)5q^tzBubppcGNLRi+-U%dk&tW0(`cAVSAo0Uw>~u0Rjxylbfu zNOZ-6;OGUQ2Bc^qNSXDcnz@XhTj!BbcB@Tv?SiNkiH9b!sSl0AE*#Lc-KqUnQ26N= zYINb$ak#8IFyhYQMk$jXOAA8HWoSgIo^I^_5vh*|N8<5q+7lA6`$@-;Q2E77m%yIR z0^ZoS>pW&R>I*#ZsRrw{ct>~Rn-B$U^kKsQ=ty+PeXsm6w|B6?XVZXi6ZWt$o(VxMZ)$!W(TlGD@PL=-e&Zz1R@YSd~c*J2pPab+KB8nzOr6WdqgW@AHk_FH_3-I{q9Lv-MQPVT)2qww36Q6XZUTS ztX_Ez!FJg{myqW`sR7D>vnmZhodU6Gx&!OLF#tY>PaPX(&LZboVeMAgY-Oz`?X{2_ zL8`&4YiHWWW|22gtF{s8%jRcii3+aD)J-gme@4t9Z^lmC9YZNniz7v3yJ7^Yenw*- zX#xK~M;VTzG=?p(5vZ!s+!VB|l2pF^E-)`6aV4@>rjiy4Nv4cEcmdcWs5pE6=a2rz z{89L6`=6s);`sgRd9d(f^4D=~E#US)pVuxvFZ^V=Im2aT`(8;WQ@JKdqpf~cDu$34 ze9im{F^Ki;{O$AVZRN(y{Ot+8{W}GTHhLVDG|>Pak<`|J9YSbpln*Kk;!Go)UG>;U ziz>_AJMuOIksaw$!RDyxg5Zufk}MY(2iL!nK64q(+D0^AY)~E}hISUw%HS>+n5E}Xg{h9$OiC;vL73;Lu5Wy<%4YRk%;=$P4+*3=Un;?vR&zX zpl@P3kl>N$S6VB>y7)t2g;!wX!rda9-U-{)Vf$^bMMoIPKl^;T*e)L^v-wEepG??M zcs`k+135iC1LpOa+*oQ|xm0RTcpobU5ybehf?xhXKUV0$qWwq>gn2h|>9=dR>+MG} z*mdAh40RoL(1CtFmq@nBk*?l+6rOYz*daq>H;PbLJu@xFxuqQ9M;SJf88(3zGjO9O zq7*ye$^7hz%B@>KnpPlmDpG-)!9~FLhy|*LZdb-H+rv~z*56EeB#8ZFND|?=1WIiz z#a~G5Nsk)Wo^^>ro5{t7OO&+ZYA6DqOjkQ0C&qBk*_6tb+cg^sfk>u6K@Yir;|+|o zVVq8M#C&R93c_aQ?~oOGTI{sJEUTcJOwUc*Y%r&6ZQ=Cs+DY+#V?xl%kwXh7rX^hR zk81LW5$!W+gvxvkU~LeNPlDlu#K%;&-|v8M zKPKsZ8;JWM-v73G*(RbN!(}?Nu9LGGbixlE0Bh{QvoEh z=`mwz1lR&2qHy*g67nYKDE1UW4mU|#aDmEsUm{9I0Zp3!^oRMG@r8@G83#+h^Dg#OKV<>q1KlIcS6D?D@*}Iyw@C(V}6@v;DP) zv?rdFZ@vvdI0r%q)`XC4uoiqcq;7v{>oC+DuxKA%s{xCJ@dFeZ0-Zu?C%Tp@Jf;n2 zbF1pVP!9G5EDC0Z(trKTEPVci#Tu@Q&Y%+BlO9R!O^xhIlnj~K+lhQWoqV_RZ8Klm zyPbJV<0=uIQ9d>-GTR9WMxdExHGs4RAkd7*D5hXIOOU%m1acHo-vzOl#{3xgPQfwW zg4AJnw(x_L6xyEpSf9RFxiG_uP6&|mmB5q~oq%fN6Z)-7`ot|0{X3`ds&efcj7uHR z8S8Y`M{;ux+l6w8^d@HQvxT7{c?pGXf;^FEa3{~JYJoXxb4+BQTTIg~lL$C^0FjM4&;^XB%ydl^{uug@gL@~I?uEw^Q|@kGd14)T+LJn}cHOg8|bT4t)D-eFC8D2d$$L&w56 z=dr-S5Aj;U{RGG}?!yOdJ zg0IJQfauE!@b!rJbXvvPkc$gxE1DON;dwE@pcvd>>v0u-|fsKM)0wZW@mp)p4Rxsw_`mC z_1NouZgf=hubs%J8oeDWG|xt?&2Q-i{=8 zYTj=-f#6-Se2^*)wzK904i68%QM_*?mxaJ9?b;2V(EOL@%7^ZARp>x;$Xq^?*pHgx z9`8{C_e{K8A#@G0-dpS_mH>YY2r^AB+!n_xB9O`r<=Fv99&q@uAi6zP{f6!QS=#@uA+{H9Z@8@vdvIzkgkSZ_i+V zeEq<{y4C%$z74&DJwx$W_h4`DhVJh5@xGz%p@H?ico8317hm1AVX(h17F*Z7dawsC zHaxhqkQ*x{MxW^ETj4PZx$I_)(#n;P$uI(p%m8+1i59SO1ygc!Q(N)SeeXWx31Lv= zNGn$&5xFN6Jnx`|&_mvD*29y`01g`PxWhSH^wiJPKKcR587sa@yJbjsi~t0LZvNFN z#QSvRb}q4@4*sn2YE<8+K4Ah;Tj8F;09b5I6~GMwB3Sj4p>uG85)_y#xe{ETb8t{Q zj4WP0iDcOhF#;}Zkit)aN5-KDh$?^+E{3dx@6^Mj-8T*z2?f~mSIZd zXH8$VjT-`q;Vnlj(03d|ph?-_ZL1;X%A|m^BRGXOj?jzIgmtuKIld>0&$1M432Abf zvZLj9n{gX2lD!cV+!S7UItuu^KgET2T&wZiplx z>J8&*w>Uur+Aq%Bg^UY1oWa~tYhh-pJ97{BKjz!8vE`Z4Q|)kawG3b*Qeiw(h;wix zLBXOQ`9gM?EH>LGjC5Cz$=5i)cWJ9J7_(m1$`0}R?i8f}LUJT@@s2aCn#LmH0kjdAiN zdZK4)7FXue`%;-=XZ6%w$ObFdKYPfnZ1hGCA^wq^hrn}h9u8c+%h;@9IET)|gX{i60n_h;`I`#sfFt>cr&+Pz$LHP}-9s#4YNVCp6+n6E#PAReJ&m7f%_e zm!9;*o_Qw=KkP+0C7dFjBOJ=G13G9oaCm2Xmxj99V`zPW<8X2phw#m_aB$-h=lGS< z67F*#8H8ge7hJs%K1-qS!fQ1N-S*>k_paw=%)xk5F5}0!ccH-Td-^9I;|8Tqd;m@f zvKx0X+yJmuEqrjr4-PH>s0%6D!ub23HNtck>#a8jTLdt3ycFYF?k?G9FA1J!;rm~( z`MOK4c9qm`9H@SGz+JN6-dV^+nbXn#KEmq>`rCl3RBK6puNJCKTZJ6`vx$2=)5OwL_f;mgtwqT>~#$;1IEQ&MSvkS}b zFzDURvilBtHxtN>aAOg-`mAJ`Y>T_5YCe*|H(^IH;3nu`gZwN^gyMVR>meKTzKVYG zyFT?J;>ozz;|SoUV3PbwZsTTxFhUl(I&u7}XY~xX{3ZaZKb(|N_~1z8)b-k-pI1^K zC(8Ki=lGQJLWmwwv~uMl?r(hlQ0UVFN5unOQ2BMooO>Z&3=Q@!|w*7e_OJk44|FXNv z)++mI?_aqtEEMBh7p|zj69;P3Gy3F5xbhj9?5|<^ICr+~HeD2xAu1ML$)!hvSkVMs zY8G^Tml}!3ZOQ~W?W^f5qT+Duy*MEDM(*-o9S%)!EA~id5h}vuvO@&x06`M0wk*L*7e_FVWt$Y2745&JKzlheQ<6R}3?l<7O#z{*p3C)O7WU?Mg2(f- z;pKn10Yb1aZ|WQr(Y_$_-gIMVbrlnMgJn#uER~nGWelyQ_)Vq7%yyIdVXI3zS?W6G z=|os+?t?FGRT0yJyMeYHaPzBVeYc=glBvmM#fnQoF%?Q={LvkXcxARf`I3R-{_>4Q zCbgBFB~VDH`n}QPzT&w;*aJGa`QJQjRUjzF9>&RKwqOpY5zrjl6gC0eo~*$5LN2^E zS88{6pL@k{6LF_{T5>KlLo8199kX<)v{5wnptb>lTw$BQC4s#FZX+ptfY*YpgZ}M# z8bl61yY$h9#@_eG49ofb6qzKRT zK+(UtV*c9pfz2B=^bMx|;g@@o#?2~LBH=jKcGeJA4FPXKI+1~Oa1vEGtXLx$MvN0y zI~PBc+t4RNSF3-1Q2+D*hMHe0-~R;WqoN9JsIM#+;_=npI3yV)u5x@9`GH_sZY68}!Hab-;^}Nc{|l1% z1|F@BC+4k=_i>wT;x&&4`@EHstkp6<;+!x>Z-=Sze9i*_>L!6q%W}(n@ zm+7$sgp)kVv!rdyknWQwvEPFIQg*A@-P`F4P&tFFrKcHWg*3aQS+~dGL$hAfuCQsM zsd^q8n;7_}3Z^;BmK2sALKT!VnXRy=PPHXUoC}GD%sshpec}oZ1FB(Kj71D#jF@iC z%v68;0`(o_vIei^xVingiZ<*OJ9w3)+{IaIIlKI!Ky?nqD*%pvP<6?-7U$3{dk{Ql z1A*e;xyWp5Hjyvx%C$vh&9)#iV5(S@94AU+ zVu0kHbZW19SDE>_a{g1MJL09#F?+>axiFHFO}M$CN(fr^ABgWSC5W^2>aDqM!PZQGC$(d^Y1hla4h z$VZpRJm>Emqe}%U!-W?{L!b*oBbQOB{rHh52pY%mJFBUk`V|p+(zU;|?}X?=qY6E0f!i$oObj+5P!DXVD8fX<*hlIOegkH?>2~4y{w8 zBu*WP^*4CHOQ2am#ugN#txsh4B#K(s1~HDKubW*sg1a=9q)3LBCkTpVbOWVad_D(@ z1`!y!cgxCWzac6g>3(`p0*HnC+}R@=fna{fb< zk8ZAG%srmOj`I|y+HsgVyT1HhTFw@h-BZiefd3-*S+ZISYgSs_yepSA2FjCOxa=y2 zuR!E)+`(=_os6B`p}WotkQa=G+C>1WACXMHf*!@hE8vZz+`{A;N?3t9`P;(y1t?)H zx~&NYi=%=ZL;>Cxm$?h3%jl`&s6+2LFz5Krh3g`RY#Cp~(x>1Nno>1u{~1VeKr z5QsQcoxO^iEO|z+KIaV|nWD>2;;eq;WbN_^1;K7%RVeLBAuh2s3Zi|DUb?3r^{rpb z;TYMQa@Th+QNDJsOgB*RLMfGfEJ%Qcvv@8$>MGCn)j16f>Y?xTpFTGPGGBn%L|kMn zLpsRN%}1a40Ni|2=M)4B!|~}HWlszI#t`Zx|l%d92E7A&3nwXawnWJ9B4OJXGy z#=#c$XV5gDNk$D~bRct+n!8y0?H3q3FPb(Q3zViv_ALlobgJkVs?toZ^EI}iNkE~% zv*GI4D#A+du>UxlIZU3SpK>A7cx2&bhyD_jU1U=P2HuJlC81S19<@Ob&|kRTN>u;2 z7F&Q2;hxdkExWlf@}jm#q_fy&p}Z)7BNZ-`)3KyY-N14c-U-u>0q$(pnz_v@b2JCu z#C99%?2Z6011>Qz&B+zn)$UwbIPj^;PY?52KEaIu_ck%Pn>|zc^eCja-n32F4$>wF z?)U)B&|HDHe%2;&s@mac(l~dO{XBs-qD)oBX6+1DowX(`8+p18U0`Z$37jxF91g91 z@KoTVR~hH&GskgX=k3a4^g#rhNd#*69RMVv)|F_W z6IB%cD|1v_DWxqaF32fZ6{X05A}Ys2(qw>0n&c!YrEaG#U=a~eR1^@4`vS!kXa)X@ zlC=F7es{jf%j|iRCIl6aVwibz-+lXicloY8ztR5+w97j{W${`?0U~(?6hJ&bE_1T? zC{QkUC~Gmmlo`7%nFkr;ZI`t?&cZuh!EZU%UqinNvdql4K(2t&7uGn4?oj38RtXPe zG64++o*4Le6s?1CX0>6V9SYcC4T$jI!$BNiYa7W}N>w8bb*q_PYUy3w^{eCBVpN_Q z6iBMSOks&(WmQkV1vN=f4QyL73&}e@4lEo5NR&L(1$Xj2*f}ZcU|(cQThqW&ItA}* z^mN%6fvTb`uI>t#*nSCQATjC^Js@UmI_64^PT+m^BU@_LLEm$Tx4oX3xa%o=*s|URzx6;d+a; zrYNwalTK~G47t`NyNA0|-D&(j?wF$@xf?`M~05^{I72~S~j5e6xYxZaJA&Fp-II}u? zZ0_4xc<`&csNHmGQH1>qX^mgY!w zcTm`z2@gb8bIB2b9GtwCA5Z*>xN~n5^FXpFHbDO(_Y+u{fd|l`g)iUt(iqI7iuoWa zuLbbgk(rKqTR*=+wB}6XfH5R7X+pPS#UPqMg|M_dsE>LakC0{Qn;!FG zhc0@ChxBZ#Cw)jYI)|w9(@xL5$O*@(hPtVuwkm#)7Xn;3)LBS{ ztzup+eDg70xd)%0H$Iq}8T59Jbe!QG$~W3$u$ooCbt45>)ED37ywNN)!|F@YvAd?S0P6OF(wiyrh8U!ROT=Kic1-)K`$$apSqg<6mxoz+>3YLUQ6D! z%PhN4Ew+s3QcWB>uGC%G%ucf_HJ-|v-61vbNRmd8y}+jN&l`Jg4dt~?El%*-*32uj z+MTha=Dwd%>p<Xs&0~vYv)kkcAJgVyc1%Y^dBe6h;T; zhiVekdU(roNJiRX2K@1JmZ1sr?}?*|`23MmmBY}i9qW2j9)EQh&UgF*&)BWr0GZuz zblZ^0?P+}2HF16q<(rh#hVl{4s%q1NeiVEO-0kVljdF5$ZL(;n^%;Ruvee)YbU1qw zPE9IBZY?{~`z&+)@*$}DY}fC^nuHz^IB28wXK=TVlwaeP^&Rwo3}dH$Lt&l3IY zQM;`5^3FPmlcJ%$%bI5J7H2YmJMpWRKYQ=eG4kIqc_dN@VV|R?FezbfB2$iRHOGL( z3A|r!jx5alL0IM#E!3!~<*wEj(pWvPtk0E=#xsqroROt=oeu31Z-?^n)`U**#r6T| z3gDChi8b5g-d)T?z0mC>#4S2xZ^QQF8Ctppa4PtQi6k+ZofX6}XKe&P)4FWF)Daa? zt@76EiE5Nvt}Ln%)(So=z&Rka%l13}AV|^9GM$)6S%xm19L#+%7XBcxdk6<;vAJgoUkJ-6s>Z|8@`>NL%2uz5#x=%` zZ|q&RBHRi?TL-7j{Q0vBC-(b6De%KcSQ8;bBZ_@{g4>pQ;B_|)b`f_ugQ{3oS8HIg@O74#Nqvxax$j!J@HUXZ*}xngOJ18_F10w-z5r>+X(YY%gjp3ydO z;Jk<<;b*^cFo*1Ucug=G?`y7L`TFh8pi>QSOm@{`ys9Y5PkycEsr-Q7Q+e*2Sxi+U zMFfM$aFl0u?ko`{&nn!c?9ZCI!>IBiVEc^)&L__YzS!_tL{G&Ehu|m81P45m>&HQp zH4&?1;u#O0$b3J~!L8Wk*RwB>rRTlH#siDJ;4SuY19pQCO%1;PBZ3=gV2`hUEWvSD z&;j_(Dl{~*8!4EJzXbMboi4P6#;@Lnz5;G`(B44)VPuG_CrQ|mE_zXY7|8tK&{hqG z<5pGsj^{hHi}P1MWO^mnsaYOvJV`fUA{7All*|V9b2^%D_Uy^?Q2NC0U&pY(KaFVL z@%w)=Z`_o2`9HYu~W;I!uenpLy=~)IPBl=BlOr&6Nby56t1#DZdOAp!Q z1ilE;T`)5W`NDQH(%qD~$01Xl1WbSWU6cLmq0;J(c4rxTT=s;>M&WQ{we0P%{^bUS z{*?-b>J@}`^19>*w&cel%|$Dkm}(jS0!ML3J#a+WmZy>k(eD+ssFVZvLSFW6m8yM@S&}7so`pP8`ZARdS4QL#_RE|%h8zka= z`T)UlYM?}8#Z1}s%Wlnv4|43ghig--tDsKYZrAxM`xF8R!>YH%b#;GoowW8Gsk@)I zOQc+kXxM1zwu}zT6$_aaG&Yi(zBSuq9B<9Un{p;9O4ApsKfj59GKesWsp~WE5gmuS zQ?oahb-PV?)8&gA$2LzfoYOc?=kwR|gcOnYL7)KHz$L~O);2;6McbMh8y5Fut{zjck<|9nPGC!-hZohSNsQ)Gor)nXl)k&#DY@P{%kt z{LXQmF?9!~JDiIsc9RI6+dD==+=6QSB@C4%+(=jge8S4MGf{bGCh)_ZJ8NG`xf8!s z&z-GY`ML5T@K}*F_$__|&O$E+A^k;JXD}~at1%(aKXA}OF!c;$qm1XepSN`UlCA3K zTh?C}-hnH|Bs*ko_M^Ge6V%YanS^0om9H)%zR3!e%NBMgQH%g7_8o2e@})-ay_?pH zSGCIhz>o17j)m@Kl8BlX9&TOCKHvR+JeV05VgW)0zX z>JRutRZpD;9aaLF4&&ls{`%!J*iRr{LkY{mgmMgQ9ja~6ICQ$RS-mso?MjY} zgtV)>7cIk|G7v;?YS=Uf=cL?Vxjtsg{|)v;v6c_Qlm#z5LkZ5rYpo+0zmiG2_Wq@o z+Sv1`kQ~qElkS4AxfC<3rW6#!CxIAt{mSQtC{u{+s2rXG+6J@r(A|kU!}ZyT>z60R zC-t2JFjQ>Znd%2#WlhC=5ci|GqX)d<9;*7_ZnG{QI8E}!bc3El1Smp<;0XoZ0+bg* zhn)~{p`c6hrEhr@GG`0v(sqltm{QPp!O;uS5=uJj$don!-%U7fct}2BmbbxnC=H5i z)V565;~9fjIe(+ZNCI~oAr^UGeqy|s7g%DQJMunRKo;B;5*MAp3DsDCJ?{Oau`c^% z?O+rQ? zM-|$F41SMoH6X2wz-Xwf&FbuhZ~~bDj`U=W&QM%VQtWc={4BvrRPPzv+)inVrTM)- z{}tN~(-5>~*JlnX1T2?n%F&m0!m9ATMobv@WGlJE7jCI7S!yWUJc;`=t`kj)kt*iJ zcyefHlc8isQg!PF zi;>kJzH4sQM#9uh^ZDnS)pK7naVivZm7k@juy4Yh)$M;VT)-6yBN}u-+*N;lmqFJN zP8qK;vw>75L8x-m(^Pb+8&;-Z_+YE>P}LUr6;Z~+AjX5gVJd=v%iKn6^9`zFhxk7o ziq|h20IH?eEgfXGE><_5wA#sRgR9b%;NcztHwH8fSGBpR^C7o2?Z|Bex`y8dxy~KP z%5JfpQR1zss(Rr!fJdNB;T6IKKl8F+f@S-oTFH2Jbt!>lDVgG4e{i`x`t1zl4JvAZ zN{gZ*&QsB{EA`UyUg%D*RDVAN*iv3O02>?=S=L=~&nkdMuJTq5Ok5O>Sv6wj!|R5u z;qJKZl55fzOf%h@fvSA|CZJ1v0|m*rhQvd7Wrk6pgqxIcoVcxp0NyHA%o@! zu#~nXi#aUV=!5gXegS?t_U`<-Zy=}x=|$y-H57{n596F|ImO(GU-_!Tztbb+q@-12(R0`erWx= z{tYfcCM)X7hm4iRtEfT#SQ*ll8_lw0#uVGqsE!he_Xnj%o4aysZuS%n%yi0Bca4wSn*_6BvNWHu8zIRv1+dg^Q7xs3Ayj>CYcBQ;s8TJ<1yj*@P=fI+p z^eLBc-Jx*tO?w3E~CCS8#M?4l_f8Y|qY z6SKJK19Mf0IN*4sqzz?8Dt=UI5?VW6HoZ96TL4epkW{=Zrd~MdkS-b8ZI0+D&?qHw zGq)I-T{wHf>7A9xiV`3J*Q`VucxZ|E(^o!|)9~WY^9O%n1>V_f)gfhm-(N4|YPmG$ zA<~lB%P+#F@75d|p3a)^Yj}wUs>nW&0KP*&FgPt!5_|4Q1_~H~`TcpywcYT|L$xB0 zK-KW5ix8<$k3^r6`N^NKS<-#Pux^_HgsEm~Frd%o*Kfjjme2p|w;!8e#npqQMXF7Jm zLRdxUIaCx_-A=-MA&v0(^oO^9O9A4~jp%^bW7fGY(LFY)-}UrIDy%aWK7AY6KPgms zRpQP=q;*~1)S`G+;IVJARRPHYf*~Qk)tE18ti{Tsu8xuI+g>vWEzU_tE>hh!QjsCs zG*tQLiBPDUr*zu2EhFj7pz>e>%bTm2(2hWCt{nZ**s=vKKG2<4C%(ntsutQOQ4?K| zOXtVXNC-EfO=e;ak$-}zU?u_2rGK<+DFDqaX1R>%)QPC;Kvvp-s2W&L>+w|stI4E$xD7mbKuMKKvUFg4^+A++~{d9476pc3*mNbH9}Vh zj5Tr~)Q|=Zf@fU$z2WhK#U~*itB85E;zW@mS_n6J`l>v+Qd4)GobB0*cF`ijBbAaf zgwe|M0jA7l!0PVPJPFSPdK$3hCk)26We`M0c(En@VRH?B0uZhzt@22&JP=Ts=<=yY$Uq>^P zTiGH($6H|shWWT7Iq!qIt34~(Q%PG^wWkj4-Pr!lLN^K)9exvFe~h{h8tH#IQ>3F> z5BTG)q2{K6KHr+!3eh^H%9odUrK;s`d)lz9VLvg*^pIBs%D zfM+edG3PfjMQQJAyfALw30`kSd*^w*o|Z#61y`d#o})0VAr`eBMD0Ha8A$%d^-G_5 z#Mpc>IQJZbzE2$vaGu;}3CREyaSDuc=l)i6#rw} z`FQ=vF0~VcQcw=gG|PpM62n|$TJQsdeJg~-P^O$kw}wNz5js@y<0R|>w;i)d%0)#Z zKT+H@;u{NXDd4euYIGz_LX67R>q7s55;7-YBUWN%oC~;AdF`*A%GahE*)Hj>Mm(0r zswXN)kln5v`kA)N`H(kwK8dfSO6OD1JK;}*u|W^}-|u6AeIX_GWlJc4Kf~YeV}URV z1q;ave}=!`#{!`g(mPQAf7TMYG$guzMJAxjVZc@~~z+;) zVVw#IyI~Pwj3dQ-XDsdf^l#M@u1upaOBS(w8}Aft5`x>7C|8I#Oq0tnO8Bk0l)X@k zhG?Jv{JwhpYIXWJafLaYD>0C69L8j}wJB|-DUB1_x);J=vH%Gpcp03O=nKpYe?)B> zCiF}$9Ijh^%B7^g0&3rJDd^AN8!!XeQ*D`lB;5{uGb!s%hS+Men@B6xmVpT!5_Sq> z9OM>v?Gv#v&7PP){}s+ToV3Ne;va@doN!KM7$IlouU&z|hlp;xR`8uV{dn0XbT}kU zzJ1tBS=3L^wq5`8Pf(Pa!~}Zf04Z`bo#fa@J}UPGGdMj9xf3#MYdF2n!|Hv_@mh-L zOw2ZXE)e+VzNTjyZW@?gi)6i|)j#d2yckh+1Ik!nqD47=2A~*-LiJH@&?;i~Ev}BS zz$zM0R-MAXT_w043+{*`gH>SV`?RXUdHuisVQK7tCz5UOFrGTjc6k?|(%#_Ic%)zfeJgO8Gm z3U2)ll5X~0UDM)rxM=G%DE_SV&r#+l!Ytteqk=Kvn*|9w*0x+6H4~WffHJ|R!RhJM z20Fh}JsQ-wxXKot3C45HoBNBq4J~iYR18&e`|dQit^l{L0Jp9H8Un6X9k;Fki*3iP zD?r>UK=7GS0vd*j8tb&^?&hYglDxaBb_(|Hnqmf$T4C-3=?n}+5&q28nWGBqhlp-8 zfjZB6{iDA916^-bdm>UD^xH9{b@JK)mX1$!1jNe0ALg$fgIyLU2$%zB9B2h~<3Zr5 zPX9Rf?FSf`krH}dABrcu8b3G>k^~^XG{=7!C_SEvN?{;9bANsuR*4_BM+>JXoHA@t zb02*TKV>cAL%YGPP;W-$7S9s^S>?0Yp?oJcOlSSki)i*U#ERixWWn^$93vRHsj;a} zcRf1!jOAwwpNPI?J)uZRZycHXc6R>aX<%5RF(e?aB_%U!+0zZ%k?-g^V5`w|to%{f zCE{VDN<&a}l0>^`2Ca8gVV|>g$XbCb@ld`H+*7Isg_=e`iD;rF_7jL|1Ck=;Yxqr? z+7;kqJ1S94ZfxC-u`N1BStpR$?~m(GTx(~4?R^Yj>FW)!LEa2mv3Lju#lPvx3ozcR zqYn<8{5|*GVQdUoM}Vawq0LrCT}zfN?dD?1CaD zM9>;n;>~yI2Y!Hij*RqvBo)7O{mK_8Sj)nTH`OmL!>fzEL2;OK6WX!4k3I#&I}%-h zEp@I3X3DiIeZ{{yjh4){PYiZuV`AMcKiO-9TYaS0=<1y1EUOZC_K&7B9oqf< z-IcVb^WAl54@Ad$zCB&tmcG^Q%xCkNROfnBYHw4w3hDOrtwlNdxWhSLJv{}?sQI_* z?(58?!@r_(?C!*_n4frSyR#^y*y{*OGw; zm#kX8a4_?M4+8n){yEi*N*f{n_x8H~f;0y-kc*p}>$G^qC51AOJk~XfSiPW7n#0TKD+2#r$a5 zRGTIRdqu zkop934|W}Dn<3%p)+twO6x}(R4XRzzl$^g@<6)f+6Fn=Itu!o`l0yvsjLB6tS=?oY z^MwR}(1yDB+MvZ(Og7w89@VRD)Oc!(K@@);T7kpNQ_)AY7UI8&>AOHy|9&adv2hqY#=>_^N7-;Gl$A10h6Jr` z{C%|%vH%rg%owyNPMnES7J104InIsWX3H}IQKw3QMR2UNo+Zn)(lko|1db&NMd;D3 z_*@Pgw>oBTHP)vE3H`Gp063*}g+6-FPR>uifjG~~+0U`1u?6;S*6kSbs5YPhA!*v3 zk;N|35;PiXMoF{c3|e>(frFhe2LZtdBp2OL*ta4FSXCyS6zk?1(E{?zXnCm2u|GRI zIzDUY+91Z9+YvhfPCq0FDU&)60BIwO7?eV&qH^&(ykk7ISeaE?DC$$#q$exSCh$_T zY)(q>^!^`}aT78r?J^iKq8H$~)NrbY58MF-+vPUG^* zwbcS%w|LiA)8;vc{_mM#NgZm|va+ZI;&Ufqo&SlK?75Sd5LnJ!6j91VMa-j5*ft^df1GBZiqHCcA1DZ3EFH~MHL!`Rrg@~K^4m`B*oDA)DgpB zHraY`a1d=d7&vHZfqzT6a5F5AW+43nZUNOY$&_+*Ye|$x`^T%Xoi`YB@&0gGm>`Sn z7v3XuWZ&dhRUWI@1uso3hPrap;To7^Xp3!!BJt@_`t= zE*%9HGVyFMwuH;$E4V1JZgd(mAX%&3OA-FO$M9zF~C-AaB|0QR=<_0Bn{ zNYLTdy#;@sxelG?Y1E7wY;QE=AYF<{u@ZE}TV($E5Ns;003o*KCLSYgu0t zTkuZ&FeRIQw~PSfvEfV>S#`L}LL+*SSJUe=c4*1^$9#IvY^k=X-tcWvbzI~up?-_l z)9gL)!47nh9xWDOhHT+|)WKlPD2<-JaM3)03JI1-N``uDp^g;B0-Z`xRSAe63r|OkLKL zu_j2u^28UZ*09SOAnAgewH~9GqTwx}q*4@8zlE{owwb|+ER7kW0GTa})^{uCr>b9E z;)h-enBNEw%$D4QDE3_Z8nzRg{VSj16;YgPgiZz;Y4X`jYJ5!$HGfZ^9wIs}P}TPi z5}VZzu{t)=azu2;)YNlkX8A!gok{9!QdB$oa~jf`f(^r>w8i>cM|KUXe(haDwFq+- zlPh4?XyGN+!Qic32^&%k|TtHE9WV^0hR+h=Qh-v+71* zwx`XMU8nSy3zAED_lSWFjCW8ti7kA(zw-VeAQMn9!4?L{uZLqn z!!NaVd&7Yb?_#0$)POq#RH7cl_`s@g-5$wUOrvqRjG0zdpwjRfYVps%OhIQ0ydQwn zEqr=3E+)Ny5F>EQ*mrd6P)2ANDtOrk%75{$rUEhW9R!YIzMRdl3RdTAOW@c(WPR$* zK}75$Wro8KwPB#210?Cho0pP}~ zfG-wdgCE@q>3VVNL$LjBtr7nkY1oZzJ{^XWY3|l(ld%_h=`nGlflC=#I5w9-%!y7l|HpnrmjXx_?BM9@S-yM_r(3gw zUE5;g?p!ySpADL$adumS%$BKU!QCBe1-M$+c@-|BoxRJCuIc0W#6 zX6z;e6ztM0S>D-mf7aA3+ZC(uDwGU(9`smJ&*XaW!o3(chyl2l>}u~*cC_y?yV>^` zo$PtWE)IIw74Vc@7xcU<^u?;6r{0IEJ6a;XVr|7Xk}YrOzgAl`P?a(pY^hH%(6&iJriFk)=$=RfC4AYNb#Zr3#&Xb=cKT@hqcNke3MwId|xU zH$5Joyy>xWs%9`x!NSHBkqaTkDsU101%Y&0A%~-BywO#Q>D(t13Xzf|RS;ygK52|K zjhj-mpR}y`nOUea{D$0^egT+46gE%7D!-wGMOg;@mOytmG9Cu%6)@%VpxF57N2-qL z$G{S7m~)l%T$}+#Xs~FXe0EO`DRHrP%rcly)bsfIF-GrZFa#F#;F>9);Dq;Fap$ty2#)eh)N$ z4>W$V+}fvT!ySVyv_m-vThoV;$30I^xUFq5=e>vnSXO{ouOxI>&EX+4Dp-Bv`p=P8 z6M0S6V+{$a3;XwKC2$m4nLL4<^Lgk}YUrhqf5NJ_lGRf1p14`bTdNFUy#4tbV19tA z_eQ}l?2vl5K5WxX6-n%pLKu-lB!Pq<0plyLVljLq_a7EqP}iC=3p=5vQ~*-V6bh25 z#)n2C-G+xmBH2)(keD=72qf}abpjkw(k0ORP!oXHdH^w7yu0e-oZ(y^2HQM#5+aFg z6bjQkR_kg9Eg-@TL4RlOd|EyrC~S;JQ$5I!?GXp!uH6`Vr%UtE^M6fIE4L|R}BS9L_D?RVwy5#Z*{P5n?laAfYg z<9G|7Z`|h3?)?=HVM)%s<%vUZqGlGna%AD*0q{j|`<~nT0n)f+#8N7q?92A2hEW}N znXr_?qNM@C%`HPFk~q9GBMOj61$?obn61WOHtjeq| zpDq~bM1~xV(qS*Jp&rPCzM(5V_z@C129|-ixa-y=x?4acwt>?!rEF@LsO+BPq2-dA z|8fqT9g=DuGjL}%RusU~j!iatT4ch2Wtr1Ev&s0{?2H;0i;VkV%Grecl6(3h(i+&-;Py ze!L$Y&Q#x9TW5gML3zh&Xz#K(dtpUZDX<3ZJkf@!#`1*5W+_wr8P{nCMZ!`+v-jvl8=By9YP5o zL6q8Ar}n@)b#%m#h#&rm*i9XdezFOR2@z$nLb%st$z^}U&U8L&^GLVG^^85^eAeMk z*Y2jrW;&m-ex6bz&s_0beO`2DztM_`p>>J8hQ}&Apr2daN^N0Yb=vmlwre##>$L69 zY}b6e>+tf??b^S~!_FL$#)m>vq#F*?rznRCdxq3ai8qIGBk9yAy0bW zN06B?Z?Q!K7`gJ{i4|V90`$D@1BjGkL|M-__la94_uS+c<0xjpmQ zQLi3I8y4SNK*3WH0I8FCZI}AFVlkKT6i#3s=uV&3cN9HS!;H|K8t?-n-pO$`btf<8 zMt#tf2}%GRKT&PTbY6WRj@uqQ!2FfpCy-4ByO09{Sy9H_4U-GaiumDpjy(4S$#(3- z?DgxF(;}7%fXt zT~M-n4p_!`C;OQU*WA|!%O{;-7nr0k$yfu6iyLKaK;uC;t<)P1!f7QQ3WSpx1{1p% z4-GJh+aTZxDC&M`9J>fH|%lUK|%hlbtgJhwo7Vyy&zHgT|w21GVk2KA^03&cZW12RM0 zP`|B9B)tdBqMj>%dZh|^epD0%JX&5q4MSaPjRfv%PxB5Ksy&g7pDH1$F;oTAGmfvM z3Z+Ea|KNdz95I55VCq$`HwVK3cqm;h1CzmWFotT1%l}b9Px%*k<+B!L#4JN;J3l2!u_WO^8 zh@Q!Of{4l*NoaKJpGQ%rokG<%ZBS1e3)xF0JwLucTePt~nRKg-kj?B&YPCC+)N^Jp zx)>Dp#c-bE{iussnRDipfFl^pM7Cm{YND+YFXYa3>?{tLT#?GpeLr*N2-AmXV4=16 zLOii+ZRX{*g&nVXT(~R_p;b5$mP~{`_F%9Madz^L%Fp6w%4=;WCc<-1*6wB-Jznyu8?%KP zHN9C7OE)Jq+{hr#`{qqpLHLHDsxToO32_&Rp25)s(ejNPEu)EiL3auzg8e-G`7+{T zTZqtHh(xT}oxOu#nbOa!t@f@W7{(}ebxVi0RV*3nretE6+AWXg!JtEw z)wa5&Ex0Tdf_GKb9R?7yrR*-9;doqC;Jdmi5u(Aes zEx^8fEVUyAk&f599Fdv7KAxFA!;51sehzy^Xyo*Cx|B}jH|a&`dY=~3U|X%9n%KhX zdGHOtXxKEdtRV0%6KaMjgP!*Xn%r&(aM|LjB9@iy8tuRhgnpPTq)n^XR#|JdTdU0C zp0ipSgy^+^DdLzF< zpYM%365@$7(T3ix9!Dy9~K65-{r#T+7i`)-ic0XfN9go>o=Tp_N z+8cPRWv&0JQ~vZA%o&w1LfqN<*-yk`bTO$}WgwhTp&M`xiUE~DSV+%YR*}s%MzD$* z&1DNZr5TnBX~s^mF$Z#4-!OcN!7zg@MF40&@7cKz(%r-Y9fAzjx~wREKzVD7n22mL7bAgEF=y zn}R5p9fqbp@41%Ixg9ysH1@p`RW*PMk0!>qL3yhTR}CMTllP`BQu>BWgHBZGo`EXE zW|o98z(Lo$;A?l_PX>B81S0MV)_a~0E2nVQ|3dii{C9R*(da{CoO)4TjRjA2>z*dT;t8G!P?*RuLM9u2*9r{>xnh1B7(8-%Mimy^Pz*ms8osg)j4{pg(rl^$TD#s+ZC2jCpIuR{r+9 zgx(SBx+z4a2Sf5Xlp%9_Ke4jOR-V~q_(fMs8H!6O&$b&Tt&1h@w z8t7{^oQhiW?pE3a2c)7UslTv9hQ|#S1O~JRODHVD88Ma951c3Mm!)Ly?4g_Wuj>6h zomigPtJ>~1jRA+)UEbb#8~VGtR}F6HYU^B6XU;8yU6vf}UO8+lHKr~%0ajCc*Iqb& z3&}?A1(vZ2X)0v3+caIut!DY^NjIrg1i zRf*zO&8wUUuGzeb32CNaWMxor4rUOr07K=08|f8BjJdf(AJ1JlYZd$9l4a`+UH5iX zn4X5uiE`|q3^OzRCE5+84T>Or9;DnIFv{w7<#!gW(u8lY{`%*-DJ)?Qs_=)-DT;MA zkwyZ>MD$3I$9)n2i;zTxH?&P!GbrPesx+CVBrD%k{$|V%gDb+U=mFd@d-GEH);{d_ z@WsGS-j2Creh!bz%GGdr+uDQ(tgS6&)LaQeX@AvqA(f=m>)?VD{!r*n5rC$?My+Ni z=Z^xat+F2lJKL$DGaYNm$3rX2tw=w-9|uq;cxS>-3=T^eaMs5Ap;#iKkb zH!;cL-2*a>*hJ3?AQ9hIPMiml2Ej2{Dbz^rv2Pz>7J}G8UcrJ{93C;s)=))wzs_7c z3?&ME^q3d34C^I;T3}=&E7PfSxXY(q65#RX4jqGi4C`YhK704exkE=)7+zFBCBsjq zbPSg&mwDL=t~sD7!H-SOClyD!prHv|uMVmcwEALtWkxGC#4jn`^((?Cz zvHxwiG#`BmGZ)6@wvHEAobv%Qr1ITfjEZ&0;M0$8v($!z;@{i!@GPUeZ*L1a^~JBC z6JQP810l!ze6a|=z%l6Fov+1bdGCI(g!4XXOR*R@1|+I33;PCaqNEPB)PNE`0`k$X zG?Y^*JD9EI4TM6gp|mO0jE1kfzocx$e4cNfC8K41#jKG>`+~gnSWQWBDG^$9c zvR4kvK^$$yZNJZEnLt!nlHy!NFEJ&zHS`I7f*^7^_OW}n&v7fW(hq7=a9^3X zVUQBQB%lPob!}u5G_wOgTX~YaU9)9g*J(lBY)TWX3M=PX6>#8v*MnW-vnatnibKvW zRqBVtIfPsRZHI{)wz%oFioQub>WU(ez0`%(NqL&cu)7uuqv1T*u z0e4a77Fx7zoSwCz92T%epoqG63B$rlR%^>v5$48murws$8;A5BBW8EMffZ2ONx*$- z<)p*$m-_$|4^VSp@tOH?%3&AZ4ZyOR-a1yIJPp=uUGLvMZ@nBtnPVptV1<-nd_|$2 zDsjSp5a$q*b@|{?W?(=Br~fJ1nDz^R&T>u(oG)-dfY*)!{}zqs&*kGEz#c|Ge-0c| zHw!fL!7VhZ5^H;$lK|;?(*V42qu)+rTHpzC5##}`68Kq}6gr|Ep7;dliQu7aU>v~v zVj3_%9<9P7NBs-gfU3`Yf0;_HP6FIv58}@6A`(x@)bb=nZ2@ir=f02~j3678%jYX+ z@0yOi_@HkuN}{bLS;N5E`w9%k%9ovrcS{(+5M@!oBHJ#S!HhiO>F*ct$?#VaJTP%4REkbbzCElYs%XmJ@v5-LaN zQTcT!ku^S{-$4b9uT1zVq9_{xtrEAnnwc2eyi$kwg_AY;52)MVz*G_zzT9V71F|G) z!4mEHD@ULTJ{vN>RFj#@fBb?FKfLiN-`F?vgDkeLI&0RFC;ZO`i5YrP=I z);|26<~JU7kb_w0wRqULth#u;QB!-%i3GWZji>CrtX2msyU%^C0Xz1R*q0FtAUAcYkRwvZ=n|e>!Vy22X`PA(TXj* za^{>l-wvDLmlW|F^V(T%XF$2CR@6tRa#;>U0G5M?u5u1rdkaL*T;A%IXO?G1?JD#Y zt9Vbf%DQsA0m&VL39OA(L;-HIj-`uh1P2Ym3lvwFpXyACEffofS~8aAroC9(^&)N5 z_pwDUnaz3WZ^Y5>p8w;0vjID%2L~@j$G`e5l-;g^^X6m2xE@I9f>BOmG4!o6USlK& zOLsE0Es#U7OQORu&K>hOUbAVjmbQhp%+PdgG1XAo2D-(#JXh*fDeuCE<&QtojNQS!O@%wS zHQT0KF*Qt}PA(wSWZKLunI!3`k$?Lk$3T!`FF+$~_$5;Ju2{=u8sNG6sg5*AXmo6F zO$gWQf6s$UqwSaNC>z9>6du)Zyb_oM0%t;En}>RA(=JfR$Eu zp#2DC`5RQ7B3K>xb?&qnXxU(*3b-?|sQAM*s5hU_tUHt<(Fy-G5u)h5)1L@?W2@Z`rXbx-K{k z*P+o-vQ@bM2)0a2hTA$TQ3~_`8%ZKpqVNPEgOTn+X}lZ!oa~ z5aD{l!DBR3B;r4C^<^i#giF8Q%4bhP?+_Ng-$Fz*H&?&F4Wu%EpW8b#=kfgo8lIiQZ~`?c7)Ahph3T2GRI)e{ zco8q)xr>FJYX!(%FpzFNOZUT;;O-CC4q>`Ld_O4$KU66g-I=LNVK%Gchz_jiJ*iA7 zV+1~cxuQH{5d|WfYUxxaRfPD6jvChWq_JxV%?~bPCxc0iT+sjiYg2X{lX*g^XIW)l zTW~0A?m-0tJKF=aFQk6)Tu-X7%Nr*2&VhS(&!TeHIxUp|@%H*Rd`q;GZ}c(FPCeYt zvRfBiI%F9bfn{c)D?L=o1fb?SkR=JyXGE&L2_=g4tynqVxCJZcAl3s36)}$5wx!1o z?*55{E!@RK!5;2X!m^2RK(5UuJiLcz6PRYIx3&3Y39*IIAJMagQB34)VU$uoTMQ?% zI6F5*zh;)*cnw>Xa9sx%-f09LTySZR`*oPv;(ELSyo|Q(eBzT+h>|HXzQn7vRz`k%*W~y)*sCjN=^^+8 zujybYWNUt)<_bF~5`I0wI@xj>omVsCLfQVME!(;`_w)uab=T|h-tM4z0Rmm?y0+9v z(z~twiJD2CXs?+BhQvW>db;9W+xolWTl!uLYE*C6rfmUqm>?Edo4)w^px6Cfuk}fV zgVJE?Z^KLts_2%%!ELb)67f&b``SR)rk>uOpmZ+}bZ_gbm7up~g04*{E#A9n5IA)~ ziC=xKCTAJr+19D3_^p3Vlsv_?j^|`m=TpU>?&oAm_j7Wh`#IUq@xsP)&Ua)q&!;hW z31BJbGxCwUv5I+I&&e@fj}@CZUy?UGpSsF*bAdAjhu&RdHQsfd!-w;^bXw5X^4{poiExRF7+f>qg5k^fVuiUr^JH*QLSFjj^E)52TcK(&RZ}ig+ zDk?Kq5v<{6FqQbcaxb8td}2ydaD(ME_I?(FKL9y0mXu{9euRalGK`nQx% zNV(4iM^>HvB`2+utla_-?;ON3(f(F*$=M+yB{@ScVk3|KFcZe{;uIEqPq7`@0D3Wb`{NJZYa z+T}whFq!ZNLHX^+%R;foLeZz969<7eQ8ucizQNU$#s_G3m(lQe?d~E%#lathq3nk4-XNb1h^rE^ed2eX>S`OpE!w~t zRgcQR-y|QAUB5}a4s(9V5j0GLy?t&w?o454Q`D%aYn0;>;h@wxB7>PiQo}fuF!wetQKj+Ea=#$%2!i+9L}0gm;fxi z$aX?Q6iZ5A4Xn8Led?!YXAXZ!90o_Q`lRj`a+-||zI#+b((m8Lt*qJM*(W8PTxc?|1|7Q>XA{=-3z})$1xsE!vuYBMdj}dbh z&fqN?XFKHEityRo%Tu301-5{a7@ok;2(W7cie6`!RC-i^I=JX70L^A?*(Rd-Xsb!% z4ToJtG(4WNtAucNxYk_j1s5=$+ofl{*X=`BR20#fFQ;Lc2sb;sLKaz@K7jMBh;|g` z%ZYR-=ZmR(JmdNvz`l*Ay#+l990Njr-1Hc5vZ*^1B6moZbZT@c2UC18F7h6>!&hc+-h_s!rc!3H2g_RZNJh(A zKorAer5|>@sB&zQ3RM*!*xf`~A+MkUK!YqM7+Kv)*m(S$)t;guW5x>lt59K{2d5{5 z69Tyn@&1i&mX^!w+Q*4Hhnm$2sV*(@ZZftz1_TJN#nc{a*&RLD`%;sqFm(i54vih` z)5ZK?@+_ay@ec|-Bn4^@1S>vYQMViiSM5jI*0ep*zS`-Fj2G*>I%AzN$BQ=O#S=a4 z>l`oI@uIzFZCmGB$BPcUh;=;P+3Sp=+KCryI@YXRzxpZfQ=@4TYxp?huXs0$YqR(@ zcP{dbvJQ15dycID-)X@yr!Z}$1A~uOQ(1uH8(mgY=~dsXuvRVXhQ&NR`cP?Sz{IE= z{uFbA$TY6$!Q8d|SEC$oqYBXtw?RIFEz3eZ*;nQ@) zK702FHtJ>^q4GXfdFWq@^$$&d(4Va6+`iw+cdpEx{Su^UM`NueZJf+%666k{5eQSl zJlsQ|Fpx&v7Enbrv~ucB`MVoXj`{vCwhiHIM3vU67r#jrD7H^F~;0%!|4{3ezGTI<;)TLI?Lz z0onZdMEUk-Oe@_%K6dl-HMjctx^4?btmvK-R`d`6eWI+jh4ZCQHP`96Eq{b3vm#S>_Qy0>$(u%l-QlxX;_=COXU48<#^svw@}u= zKAtyK0k=|~ObQn>2Yn*JR*oK?`{X*tk1(nDB4~v2^8|W?>3Jn)-iAH0!}w1Fn2Ywv zYU4lKAmnl4^sff3@X;>Z@w-j#(1je zb0Nd1oMar^JqU6%%h1MI^=K|WoTWr^@8K*Y^tA`YhIIxoPZsGt2alo~N~vSFV2qLfR_HOjVqA3cc0Kt31 zBNNOQ(hVcS}lNcxyv7mfGE_UUEwrL^!_||05h-!zN6Ik?oUAPn zi6F`oHBv*27Qll_N&{5m$MO-#?-5vKWJ44X!H7jp)_c< zj*X;>y4@8Rh~BKIqVCfn>IL475l&>{U0+ z+A*Rqw)7q%j1R2qp&%p|E)_|tTIpzprb<1M(Ww#-J3z0b3Z+E47cPjyMOk`Qd=~Yk^Qmtn>L0fxe;tCX9t#B{E2UlZJe;vPJ)0=1E4y(0lBdH|7n(>Be zGxN8G;|Wz}(62e^&3$!p_Vfwr(rh}j`HI#S99~WBNJ&HuZ!S4;5;3mffz*Y}K$G}!^($=f`Ba-z+QIBF#QN+W_NU!H|8Shd5^G8^g0BXHF zaaAepx5icqq`G8!13I#|@hLWvfZV|;3-uCp*)Mly&R>TMKc7Hjh66SR7s;8EIbe@7 zgt`K5shE@%i{O)n3htUhRI)Zx%4!lnpwf|?y+OC}2)_o|aFD)C8panDa9(p?9-z#O zYFK##!$b`!uUvT4mXq?ilZc%scnuPCe-iq69GL-^MIvYsHR`+)l5se7n^Aqy@Y%Z` zqZH&qVk8K|31Qq;0hcP6=|SO$8O-J2y{W4TNFTQV<+FRO{+zrTP|)WF(DhQowl~`v zS+Lt`0X3uCD(6VEH&2Rc9IE@7&%Q*21;`^*|5rN;(;tPaw9fwA1U%%%9xTmv)DuS6 z$P>@Ks&6UzIE3Cs`Io7kr(EL*F$1NADcS5v435GDY>V-1k>#8DW<+2?HBY?pR%`RL z!&x&SJz>wo&U_-tfma>{U^^Mj>I`{u!@5;NIsG|7)eu_EjapBl4)QY&40$K&B zw78*1rpdI8q?s{ESzOMk3&_7=GXl9`E$TqTJ^(al@v|<)E6GH^LomPj8*9isyd7 z5l?QZPI^q#Isgd^IR8gLbc$tQx>_-g_(Ly!_n@rTQ?zLM`y&Purdzy-@r&M9qG)PN zp9#?1;z#r95&#YmK+WP67Yw^l&Y2c%;p7~C;`46egm`9$ZVk%C*V2?NbNf2R%!io* zFhrG)$L-G0+9kJs_5 zCk#T*Z;f!f-{fGWxY6QZP<*|a(ldd5O+?nfX{R<<@g45z)98B2Z072=LFF{}^qWBG zX1vq1F<0=j7vZnnclNbp+qy>D4Ow>p;((1itX4OunH@{#d<$P=wvAhqbUjTPbt&)z z5JuS-;r>$Jw}}%BSXr=(;=a-2DU(VU5C9e>`C~H^-|o?-lFZbvhpz^-1+y9Hn&JUS z%wUF2m>FD?hV_BBW!w|T4+cD7Pmc)A)8txXw@^JTPYsd~H{iw!oXsN278;mVr(P0k z70`x`P(G>djrhjgZZ;|w2Rw(dMCA#j)dZMqID4=#*L-F#u3Y~LJ;UejZsD(3MrxO? zpstA~BBnP^>SPcwfddJv8RO?b+8m3FDdaLdeh^y?Cex+xta3I5~l*;VboBY zSo&=A@M%&F*l47N@O#)P8~MB8%g>XwTY#xtrd|83BXK+@Wko)gW3r+i*>YuWm%}x4 z1Fko+Qw>ca^r~92Da2}<6~tfDSUT6sB90FBa%ifP<%M>wi6TJE%`ViNRjTSZzGFaB z9NEcM8E{N5@7+T;-_qCO`;I#+wQVD%O>yRe0@WlpH@<#?9;VUL zfi1avMX&~71x-U;-RpEQAW6ByvE4|GKJlm@dqm?wj}{@8)*ceOQ0d}cn1*-_;s-p% zka1_;s5{85iasK_kdnW3^x<&FoVW-0Mq|ooY8J(Yjj@KJn|nGR?(Dv)O;Cm? zMih5J?tci2gp(Bv{#0bBtvuonuE5YyJ*)soK)1iW=J7 zFrs;eSd7>ZEmxN68-IOO+_eY(C2%?uV~L3A5nBp2He}rfHgrtLh;Ddr+48M^j9zBQ zp~nYL;r3fQyef|Pem(7Rz^g})&Ug(8z9^n}%_Roxmc)S70l?08Fi~dzEM0sbA#=z< z3{Ma2$M6v%iW$8?YtzUvk;hQZ6!(uBx1^7yKj!DkKku(x{|5bpnsKegBF|q-GbfQZ z2J1O$$(#=uBA5rrKF?S19QVY4tkT8=QF^$b=L!O}j|AQ2b9+TC|Ltt)!x_GdGXV1} zU`RoGMJzH5XA7SlsmvnZ{bvgw9VmTqf%3SCSFRsf_~>JGJb(bI7{0P3rB(7PzI>Op z;C7}kH6%cO*IB+!Y9xXkZFs}Lv%?s;drHSYU{JKr_Leo006R+sjuYMl1~%*M-iWs3 zO4@)ri)6vG1M4K@;RwYIDIF3)im}IDQu$yKtDhUziYHFs1Xnt7x-xr;-BH_kJQJbP z?jUoFSOAQ{NzNui0vNWitwe8VkA`7R>gnt{)7&~`p{Jt>Y`5QSAaHm$IT=>0%L~*P2AqUn})3JiU`2lUiZ0~qK3=B*;qR;klr(e^XFD$ zAZ&zSoh|)xQcWt7P!qa3NHshuWbz)Tv4WT2yMfE(2sW{SjF}Guwx5PBgZ&D+40?c< z0K7_25)qY$-U2MZpDL$*W=WKhnD?U+f$yCZsR;O)F(~BXyf?fv51)!c?U%&=$pDZbZ{%+Ez^#tkmi1(9 z!&lqAVRO*HSHD3@#|{+todh(b+NGH2v59nY;UY--wEubryVg&C5N)}^1T-T}7TJjU zlXgB~bJD=$wpjK3Qp8|ctYOiteLwv4Sw4Cgkf}KQGyOT8v)%GQJT?J5Mau`5U?v&Y zC&du3F#SI7_)AAGK|?KFzFgWfqv}rLSVH7BA<;dV?}9!c>EDYpzxgc-Q|VfA+NMD* zm{?zZVn{SHsb|Cra^yTt1YrXCh`2h519F=#9mTq0ibF>Hqo}uJR`>@&G-I&+R%#m@ zT+?|hKSbR3pBJxO2VkzULlDWqW3+b&7#oc@r|hIE{jMjVdFv;f!#@_60w06W$;Ng= z4VE-7GUj#+JHCD6>Oud&oP-O>)TAnb@ea#?zt9AX8mb7)Adh%+g>N@<>tHfNrN~Z( zBEK?{!LM|}LI7KN{!DrPoO9x&Xw<~~cyj4+tcS)bKn)g5voO)W4RS|xD{OW!dRi!A zE+ctQ3AftLESj%BG}*pHD1&{b`27J`OG^7r14<2AGDob+saji%HUMq&_8pyORydC= za$YOwFt6Qr*ZnxhT)~w$#ve@N*n(;~NN--&G@(e61b#wDGZPJb~EQY-TWl)nwu8&lc^%lXGCr5) zzsD+FJbV_{_+lX8f#CZO%ZCI)io?)H%CnBL4lVbN37UV+FVC_r==t_!!BYI=fT&f( zW5A|Wv?GGjN_qCsdQ;k&CYN?O5(i5Yo8BMDDzr;@dgesJK3zN{0s6d8{QnGno1UR- zd$^esi(0eVHyPqpk{T;TH`Vw}FZoaH%$az{Y7fAcTY?xaPdwxstTGEnrYqmf-I)LB ze;eIxy}nfYGunlZyz%tFnmQK?a1ki(hQfG(F;Svi_6M3i^mOX=3>LHqnp<2`1vQCh zl7Mh5>k;Ti?k1!QLZlq^W6vsCH*Ag$9CYJpeqyGx7`5pX;ze>gPEJ+zT(UAsXc@p9 z{F5b*csH$p`zjpuamAL}sTn&kDDW<32@rhcNO|km}+eEI^<*$HWk7aN=Z$Su%jN&Nlby@;_7O#_V~s6YZUYL-Efe$Z0fiP*dcNWDPM2h|(G~zDZ~OE0XC+CzW87-f?21jGJC!P4seRjSwyBj#7JUBSnp{^bSL2XOU zZhy($DITY8dab3Ib^B;RTdyT1uh|Q zn+JpQSE2{O*Jk7(7OHJXi@QcU~bA z;?$mzU*a=c4ty)K@4>{1tFGoxQDfj|-bMk7zt_H)No^NuJYmK z;6g|mZ6xKk3dyn*B`k@EhsJq{mq}RtJcpkgJ!fQS0dd91ucRB`qaNAB96<^2QSo`) z(^R<1mzJ181jGd<-zI+*J;G1`9QMkee~cL^aZb$dHhUbPIE=un^-G71hb$t*?|D27!FC5Z*V@I9`AG^yz0xlHQTj1iZKW|+9v@&~1g6Gb>CtfpO zcr@L`WjV0s7(T-rM%HX(jgU2O;gi#tmNm;c_k;U}pYBgQ*k=dm!>^;iYiM}*0WGg* z3Rp!SOLX5K%y}3-Ho9a?XuQ=48h+cfKVcrv)E3II%w-`Qaq<>owhBspHH5)Vrt^8} zzZCAUjMM{~oW``f-xhG0cV(kf$vNeT=77@tdJ=vH@ZHCT4pj0-f=Fjgsr-ay#}*=& zQ7R2^W~3k7=^{==3?2rE6vCtqq?1o2^;`<%3fiPOg%(QTMQ74EKSId&5qHckUV^zW zI6|Jnb(N2vhwj`^M{FAyPeG3X&HzN4bPr!1<{qvfJ*Gb?Uj2mm2iT?rN-fRKAQVKY z20m|^otfmT+kzd#BR3bUqZOKZl$|qu5{T17-jyBt>1OtlPNsX zQo8qy7aj@eELitdQxkb^OwZ)2&~w-%I`cwDI+Z~@PKT-FzcmC1U5DsXt|00~4gz!% zXHzHxD!B^onL~zfBdQF!qYQphUkUF+u9B_Rrt3XY@YzbI4)5^a&960HKcuUvKXc?V zL`o$=u8FlK<-ipNzy(OkfO59Nrk|1nb5|-SOsrw6!YJp{Z+R%o_xj0(LXa-fX-S(o{aRzFmzC*0D4)=*H2wARD<+)qQyX zR4Q$@t%1E_#M9Vb9@~9v%w6PL4*=|@9?@WJT5XPdF|9bmUQDZT z)XPn@c9S6(riCzob~ST6Arqz*OT>g}MGlxSt%k1XG2Dzw;DdeNI3`CBchCdxJrM|v zCkz^3!~iqvs@Mh<(qLLGifAyc=m8D4V7%R`ScC}u->NZr6Ojm}bvrnln^x?;=B5?5 ztGQ`4_B0RbfOa)`ER7sTvqo*mwz|-pR(u}xrWKn5y=gV&KW|#Mh5Ni|#qT|DTCqFN zo7R$i=S`~#*ZKdNS9%j_#S3OS*|rT!n8&kE3FTO}Cm|epS8AVkq-n+E9BEqd_(qym zWY@^4(R?zO9yMMt2Zx+Q_Tt?TY{f)m!NOO&AcRPB_^aB0cX4+dOs#8Q$a_e2Vz7#a zaB97cG>lPj_j z!f~W`{?lX?vkPaEFppyAPYi{my7fq69n&J2U3EJnj?^cZb~l zl&?$kJ=Y$?yZi}%-Dz72I;RjQKA0Ud?^Nsp3RE>*r%<)byMdDA-Ib^nskT6^Y=Znh zj0Q%mLu+0id=4J! z{R1O|FRTGnhK}a83isMv;d4bi5W-Nng$Sj#vH!Ve7sh z;Dv2(4Q+k4H)SL?W-_^+v9;FrME~nMy3LnFj+`N=wUmPxAoOu7O`i#qW2^D{hF1n& z@9P_XWk>(Ib;KeKkwdu z2L^3`UtmE0`PQ)7z9RglbSC^O<@+It?h;2$c|gc?H8(v&AlP?S^{kr}<~qO9TL_Mm z?omNMN0dR78F(&RR@<7S0cb%$f2LE*mcgeHlewnnmABurWvB!!G9Xv&ZY-wkIDV8S zhOLDdbWC!Ctc;MXTHc*}8E$7ti$YF7|1TXsNq%5Ln%?52{hyTQj|UeQzARh(^H(@U zif7u)1?Yw4AEaFZtIj|)0&gM_BceTQkWMFtORbR(B>fT{dzqdQAM#at9g`&370!!3 zz~UZu;WBcGD4|tIi<+hk)5hjiTbZD`FkeA)H4-G9C02**Je6`=^6t7zV`iKibNey0 z-9Kp^o)u05j3VRGosqNu8f=3IhGWwZyq4qc@9AThg79mkza4QdQMk1KM>HrR831a6 zTrCSLb4 z{n9RvWQ%p+l;BH=6surg&4Iaa@^_39JgA=9sI9;Q-8s0S@$sr)OzD=@`9>au<@L>c zKjK_*&;Fc&)DH%-(s$W8~0I6L}6PM>S%MVVH<0pq>GO9SIGJiPnvBfWYPZNW3K*-StBl zplUPZoayL6LDEN@cKO6A*J(1}n>R{d|aHOm@MyJM?u&0UUH;Om_d;x*38j?=x zai3V8%hbifEgG%V2(gJGZo3*aw1@FF)();FPy)S3=+N|#obYf5tr#6>G*Ibq)A(ol z0QE^0!Ab-`56?~o7zN2&>L`d!%=n%}cpiS7L};b8S>lXFJX_VD+SE) z073^_R+`IaIRCn<=N37{Z*kE7aa1nfxR%9PUcK&0x6FBBQ3A60|1Qyvr4dIkIl)~ zJztj&o-KYfhhsK0Sq8m9eGaHDe$VPRj>vji5@nT0!EPIAM+TEl%1Omeg3Q z^wfC6k<~Imfz<;LttAOMEWSib6SU{y&gD@gbu^tXPZtmF4(wc+hH{ER$ef<*k2W1Y zm?>ZSwlw>hhfaEjk=ZEK3fPz2$B`?)!A#b?s+2a75MP>=^+Gc{q1@>qsR7QB=^h+vAZ32vrOJ3?$R~_RvD}fEtYCb_F@Hrqw=BD3 z3Fnns!y3;kKI0l+6)UVpxCfAvZ-XgUP57X$^9-2;UD&nEvhv@wH?;C}wDk4G-(4dE zL(IZFz%=l|03D~lgy9$GbPP|G{2KKs9-sDRGEL#;T_uQYOaiJ9mLqRUvc>fGjo+{Q zu?x$ALi<>l{|fMOvJfQlp6N$~RfYFazab)K!#;Sr^w}S%0Goj>_5Oa$V6H(GTvz?* zp@7$6(F{zZJxKvphGw&7KI}T&bH*eP4#|F_`W#$weX9ZWvCx*_>?-rthh!_tp?4V& z7+QSg(%FTNmH>OYm{X4w8st?`g@UvB@n_FE^X3$iQxt%9LtgH5D)=a`Mp1tgiH7z} z+f8EO^J8cXZ*GSSAc@web2&5DT4=Fq*F*|nSB0Z^q?UJ`iRg=p<$}2y(Fku?)ex-wx`goI|&mtEN@<5)XH%I9kIM`gP-JM4OM=Oamd{yFRJeW6E z8&>iBH*olZeEdN5W^i~z$Lcjh+I{$-_4M}kF7N2Q9}HnQwJneH#ob3d*XuSZC1@?L z_31G^XAER?;2$OfS*{;k+rM#*<`iM&0(nikNi}4-DT7Va){N?LT`bj*@nX?Byq|;4 z7|0JlKeu|#S`G?ud2a0hITH0(eq*+%KnX+@t;cmN*&oOiTsr#Qow>ZfUTtMQYeU(r)$V&{a9HbG-t%z%k(mXR`b=I3W%7bkmk0YEUfzJm3w8C^ z5o1STy@B780jP9XLO_-0Cy%=2KQ7ghHHYm}^*XZ-@OgRe7a!pa3KynA5Q59|GydXc zcHC3`mhR=MiZP)}FEWS+ReF(rbTsM3ccP<6?{IQ|K(BBMvLmq5b_N&TSuNan19A&H zKAu4$>|C-fu{DeATOU)iNW0~+G%nH&9JT*EQMvq+xH#-PO6!GkVqm&(uydEWab-Ua zF5)vc_etpssiZo@&|CvMF?^ETui(OldLBLaNF3hF5JnO|``AzjVhEE5j)^!jq8nkk z2HdwMt`kO1^Aran=!W6do@exf0%@pIBuDQKNiFd4UP#1ZkS;*45#f9T&0R6R>az%E zv4RcBKO?zlFuRG~&Id#ET-GLp7k+!9nLCF>ohxysH7I>IUHW~$Y7lfIeM1oiy;(q` z4}2*b$;t1Q;0G{<55{&gx7Be79Zky#p=(=OESFo;g)V7uIs<^SI~O@TgCIIl5EUXj zE)rb7_PT%dT?`6cG!uXpTGAmLb)kL2pPy)8xDZ6cqya45I{t`A0}ps*ISI^tjC;@G zonR(GAWZ}Fa4twrm@y%gz|$9pNtkpjNLN~^swLQh25+k_3&C1brkdV=+< zGxLB3RmnVf{zaB~JS=^=AD*ku(DNmAFgKb75Ds1@hy!1JksN5(!Qw3Eh4-&`t%rFS zMjgB1YJO4rU>(Y}^J6d-s4qCh!Jk!vHWeS7gzRu20 zJ%?x*{IGNLYxir9JuaVa`6NsSb}9iiiHTt3JqEAFv#zMMZ=Vgz|l<)VR~j^u!|i#K8h zGO3@3L8W?-UxsSZJyf5<-A?@0iPl~}RYMxtna1^u(B%ly@V{Qe@lF@ZJA-*DV0U;S z;`m3NC_yP6X)cuo_=i-_pV0z`=sFoKaJ_|PXGeN+YEn?Z(VAoOj4hi-1z|JOGQd$T z!1#oWxk*!`s-rG64elPKVK`TfL~k5`ZZ~0@ z(q7ngi38+E|UwW{Vn z`w4>%CmS3Rs_$XUvlJQuF-GOjk6`4J47PH-Cy{Sgk1+Wb%1AWYo^Kb9Af?(-p9J5Z z@kv0gcnO9kka5zo?ftQM@pF530Ef@`mAT-MnaxhfwhKeID*B##U+uov*Dqw)c)Mt7 zQAIaI1b|UxcV?5fW^DgI1fmQ9e?M(n9pMfZeT7>;-W4`|`-+!&Wytr{)hm2p{I{>s zB)y4CQZy%27aTb?nCneGn${o|ViOJ{cVYmRx{yjLPkqp`yPBrvpgCiT#o)P2$ z(*x!Bq*_u;Q3!V<17@ETO=Er@HYTA6R(zr90S8t*atHPT-_+i5cSlPGuD3hYH4VoI zy~HIS4+UX19+wCjZ|a~i(|uKoxTgEK72lhI4vu@>n__5=jUn12m?0cssJXEt)mUQA zAf9j0guLP{Ub$ZS#9k)V&=NBZCL%3AwQ~`CSLI9{8dkp0z#OwFn`(;#0r#aBd{ReW~sRNTJ{}i}T5J9KxR`Q+EVC_Sa+~D&P4@l9E7cESr z#~uw^|EZz0N&$;|vPn&1m~KM0^%G90Mw@bPrL8v2xGCX{aV!#4hqBi3IG%{5(0e?m zL6PGm`sqA$E`~F|)5m@8kZ-b5x2ToJ_PN;F> z(fSvvL|stWWd1=SNT}lC>KsMZ<`5eSqx6t2*JLQ=8#<)sQ)06y8rV@R?Yni~re~&9 z@krj=P_Js7w{hD5Ezyeu#C0WlB}WYOvChLsU_EOQ-K=W6*r0BWo6o^}dpAfT<0(50 z%?3nGWb|OTWxCW=e%M_;DrpK~t)zQP<>L>EM=yE2zJ(Od5$knpmHjb*4*tfnqNP(F zSGM4=c)sDA&p08K=a2CxOe(i)AinxwNjxJqmu$;Su4(4h14#$)2%Y8ZfQ9K9WavgO zdZ7aKB<`VGYUc_NEnuxsTzJ&M5)A|yl`?3krbY#d=Nf- zI~tg7h{imj=P-@3Q=AA9U`x0#_|=Hu1wzx2dT<*WcrXRi0Fef?%~QVV+X*)$h|;gh zF2TP5I0GHhv@lmJLQW}03UaC;Yq}sfUC%fjkKsTSe4>3bOZ8byvr5r#;iVo&xg-xg z1Mk$`$^ce{QBwgy?%$U%4nq7)@=~QPE0^A;7u0BAUwa*lhgifJ9!>ez^hT(?njf?# zI=E|m8c&_oh_6>`--g=a+f?7Eau&lT23GV1CqN^iChgKWo>&=4HHjcs-O#~n-xsg# zD(?G6$(Bx`$GHX;%+==Nn&YVF`}P&T{~G6g-akhB<#hbH~{)+$y&}>p8X)%L~Qwn?$V5Qtlf4JBMw&8A-01a)J(it{5@4$p! zSU-h5!G@3v-qnvE0ptM@UOcvK_1a2Jk!ZvIR#T1EXEO_7)beCzA$%g`GUK~18uDhp z)s}o1UJ+tAoqOoF{+#Y1A1PtRCM$zm1K2@AT`FKDg0YG<;~1(02`?~ zrS-lci=;yb-_s)_Lz=jYUj!=fIk~8x|6<|P@#6Pl8_)#*!*>7l5XZySc=m)F12&AP z_Ozj=j2wELA2e{G*SfPrZxmcmuOH=vUD89oH4~=V8qF(dJ>B8TkT2Sq;0;h|O0z$g z&wSE!z_Svwp?8l)MjFNHc!_u)6>|;_=4F#BFUPG%s)K={*7~Y6= zxMODQr)zdt7?wtA#1tojKwfkO^l@o|1qj!AeUS8%+x47e4Mnm6;{5?AviJc^K);vI zT;Ot9IrAYLXCMP+Md@=Hn6N)qra#a&^9>#&IF(qWGJ6R&qzJkn{!C6~q25)CbfwH> zS9f=JQcsTQiSDGaVnu4KyEi%7+qYsg`Cwv2chCJ;6fiWF+@WugSXN!MKunlNR?Y}&XEX94`J z0V5Ue8$8(1Y7K)X%)bt>(bZFYRpB(^(n#w@OZE2QufAUV^{{;ES)S1NI&ZSjncW&G zX??xjJMc$zcpp`i>g{vD__W@>9rzMhsJQn>cxREm9M#T!53dIx*r5*e6a#zuf3do} z+~Vt4^?(=)v~sL>@VJsA(Eig-v7?tt2V7hZo=|UT(l+qa!afG43ZE+w(q!OjXj8~$ zOxkquEuJ`7y!<|1CyY6lEZ0B>z%SyeS}=}Q7^zWXdGf&(-79*Ghmy$^%X=T{esENV zwP#buyN!iDdbN1|kK0ISxmwTFm3#UO-0s^eanl#O-77W19sBNHdsd=WQYGK>#7aP! z{3g%cjWcd!p^2>2y5S1dgFgvR^AOOn+Ja~iY(3l3fH=oT84KcxjwVz%qvAmJ*BlgA zHlYS={bPLwDB^+l+pU)a)K)vz^-$%S6G{3^~gzaeO z&n+k0=!qW}zWUw$vLq{9uYP~F6}>2 z7M<%;W?%vI?u~0l%g0U#cE;r|%AX_8#qshF^N^f;`66F&JV^KM$Lw?F;Pkc97sm*a ziH0s8pQbMkxg*T6_|bgv0Dw(J27r8Gp2Fi4;-S9?Sj@@#h`$XI(gq2)bPxehX_U^s z0L^K{cg7L?U-quHxv3%wf9F@+FOJ2bO<&Xz97j=68DC&1C@te?XhMm$Nlen(qRtc* zs0dUAMFj*AUq%s7P)m#OXGqe1@-O(D``m2q-TRVz)0-w}9mTMB_w4RDXV0EJd-fb~ zAmFpMwKA^Cb3OG*!y(-bI6OCI0G$ohnD^j6xKe3@4k4ODTB_@hwasVl%t>vR}RT_HOV{PoLJn6sAAG{-Pow zP4=shi3p5WJ#&Ky1ms6O0%c-dfqk)W3I)SOGQ=oc+X&yx<2Ba^g6?YH^bB{}=RGjN z!&m@84pra&_MSqL!jt=KoqVIX5t!I(6722t2uzyYcDmVqccXxkmZA&<{uh$0**2cP0DHl3m%=XcG?c(y{f3wg= zcc$Xl`MB79QwSw%Oc`smyph;^kQxmO5=#uL5sfu>5;JcP{3A#FAaKFsc(1(z;5@ea zSV>NaCotp{T08Uw@9L0w5OUBH5Hb}5<(no>R7EePXc1TbJ-r)@zE^o%o<}aU9}n}FKGNq`3M4(D+-|P z@{36Gn^5^0bhr7Kry`F(rGH7#;OLys8zS$I1Dh-aIHRdf=h4eRIFaMjT=lJ69*JE& zN3{WR&T|Eb7}uD8PffjTVq1`V;AF;Qg1=Ypd&B`4$#&s^q%sPEyT3Tc9oyE&y8JCT7ePQ+|AiQMHE& zJ7g1%ycX`oy|#aou(8Lo=(m=|>JmlqpCXCIe2C0V6{v9tz3Rdrtm+v+FWjo{ck2;6 z9$5?D*ESVRB24yKjnVI($~Ef;#$^N#DuzRxKQ+7!ZIqwq; zM(?Y40Lm@nK;Q{s3-& zCo1n`2)FV+=*Jf9&mA6bgx-b9{_N3+ZWPUs7$zVlw|3uWG0Oz(%kC?!%Gd9g51y4z zy5B}xztqx?8JxI=F{V3l`0Ds)H)$pu@5`CJ1@QnuyxexU1lGHc-z&2YJ9bCRI_OZo zmsa&b$lg+mpVt;k(_?A);L9s+3^<=hmoO_cPYO+<%D72~u;sHy;P%c`xKW>{+9wv_ z$xqPJ4h{#`wqRunXb5@+gHRcH;jcD14NeAgfyZ_9@*cf9#hh~MopsZwMPcsLSxV=EpUcUG#CPRINS2=tS4i~1% zg`05pf&_%b#AP01S(axnAq-P97gE>&;I~trpT`9NI@1LGMtrt%mdzX%v(jg?8+*a8 zTD5Lly>A!n_3Sj@GjzE~;1017e@Ih*v_G95$)ylSu#^m3bxS{rW(|Z9bLxFJ@S&(+ za4{Otq?q!p7Ww99_v3H0V|6V~iYT|xZ4J38rJ^f;IX<^^<%)EE=PX>%6a)wNQ<+?(*H{sH2Dbfs7W(=1OnTwX5wa`* zQ@!XKx5-AnRJ1-JJW(GCK`XeqA%W@g%y}>qzv71r}BAcm29*<-Y?K5-kJ+STpx#BjdTe}HodIa@UO0rP% zWsz2~Ndva*K*>Z>044lDd%RqN3m*ptI%C)#r(r34{q@)1D6Yd|s-F3@{K;iYmxb1g zoMlO~gVL1onBmuN*ZOs}T0PPRHE`t2j;7J3OTyEdWEXJY#h$U;Xx9j8n)TMNdv6_L z9_^(2be95CoG5~tDOfV#X|vw5N&z~}czT1;Z`QyR+{XiLoErBLL$xeg0uORyEi>?*(22tv;rz>2ETplhW^YW1+Fg#aJ9HEH7jt`H4N5H$?8z07>^hr|R9()jtzyAP6q1u6pP)hL) z?-2FmFG<}%lttExfB<5 zltOjEEO<=iw~?`2(QE+!bg@F5{uSk#_Y}GT-%+nZAs`q@`!Y3Qz`I(!_paPoK7GYR zHmR+jcB8q~QG7e?4d5K8|K!;6r4Qi-BRk`{(;Oe&x`fT)tb(<{BD)g{(DiIGla(r6 zfP&z2^m1Qc{Z%GT#`IV=_9sz_CY5tAG@U6giobPjfOIzFn*(Y>RH6h3=2feDCpx>MMB&_5nqq?lYMr762bfS1+F_AOE&| z?G){5_zD9LD%0$%qP!v*FC;fe@*`K1b9Zb{QK)jdF z?H@P;-~>EIz@VcH0skzZ`7y_6?#Ob(N6Ap>`)HhF2Z>2{yg9tNW6uq$-bduTFp?g=qy~4g=U`DKU#~kGK{rOMsE}TKs zkMiL^=+aI#-{K8wluYeR1FpGE%M8kAE?^hu0T~)EqJNjK9D`2lG3?6G?{SfUuAv{p zz1x1N01#r^=QHBI{@%Xc4a(L(lFZ&;GDe|4*3Q*t25kdm$BhDi<8oo7hJQoFv{wf; zWeD>f8$-<76>XfR%qbmRx^u1iD?IYQhgGY5_&R5SqXrVmd)+iD$Pw3b6U#Y@nKIzH z1Up&2C{fC-7s)R^cfg^i6vUjK9Z^@d9)qOGks-~UJ0_^+lb=b6M>q@fdS!zp8tAG5 z^kQ;RwTE z^~MGLsd;89J+?y>5KrV_aWRuU79sZ*s*G0b_hSo)-R?Y~?@Mnkq~SI?X#H}4qv@Vk zu<8MMe#!yCyzh9<|4tUZL9qHMS04;!8c1}5*qO_Fw&xgduhD1>ukfnZYY4QlT#y5P z;A9wH;K^hmU_My2bZz0p0^z-FQaC&?%(4+M$1L^DF=x8fDT^Ve(+=$o`~XQ*J~Yd0 z9h67(mta`9>f&K}n|A*DALQ> z=8-7yIx~@xsFyu&6z^YeBoei#I-giqjx{(UT@DGgwb;qkMRAbfU)Qa(2A``X3+dX2 zgf!HuVFFpN8{(x9CiwMr+dlyyj|)u`&@GVtgPK(xxMekYUb1YZY+bnFTXQw`CyU13 zbXwecq|NWvtJyI^txcYKk}vlxmZdUdM~0lD9uSHkPwccE7zk zHUkhIu)6&23UVH<_iW7k9n}+8%NIZ38gh6qWG6RSt+!++Em08`fTMpx(1t*AlNz)J zQ8{El?uG%Jb`5UX@!HdycW!=d`{td`1^QTU1mW_`D3O=2@W#JkBc!pJe^m)d7%k5u zA&ET_koTYpnNs@67q-Cchv%#)#i%kPFC!|nPo%4p=c*rlRsHB@`L=Xy?Aqnjutpqk zwt8O|5(w1;&3hU`BQuf?Y{$+S7K>4LyaobmVnawAfgPSbNS0Tm?6##<^`}$(!LR)L ziaqhFe^+`8Cx1qub@T97ym03MlCDN~=Py-%JkD~e!tf^i65Ffsw)CssiP{Ta%3(p~ zA!5^VBm&U_pQ(aikzG>mH~WDv7eiXeQTEbtjGq@Ggp2z#9+~vF#o8DZl*;J~4FK5) zz?trx&I@M|B%Zyxf%{7g4|-9^v_f3)ki;Vz^et!z5RdRb<&uL|Qd*v|6$#q#*KG z6fMv3x;L3($`d#Yn3rq00+v4(K0GQ_ww=n{oS0rN{}3*7sxwh)Dng3XR;Mr}Ml)lr z#_GOR&Yb%nO-w%&?mFk5G9r36KSPHGt2LL#{0`O8Q zz0W$`x8n_tHii~yVzv%^F|On>?}-4dx`>=(RN*0&5G@tw{tf2q4s)T+9X0aFX$fm< zbd}E?@lGb{kiOWUalZ;W(TyNBg4?DSbOJRU={PStFe&yP(?lWTQ6HtMx-VaOGn3k` z7|a_d24YEYH^}V{JEI+qO>B#rQi&5Wl*F0=-dr2guwsqBn9KrSg&xslLYjzmJG|_s z32%tB70Yb=`jmX&@%JlGT^9kjPdgSys%^V};OfTZI22F@ASYYk5M5&nm6R7e(@;fF zq5FidM3ArP3~M^We?w=$?+A;>CL%pnkp29??D^=~v38R6_TZBfy)+{-qqdb2Tb`D) zF?^~RT-pvUeA4bHB0fZfpeB79wS9H3 zWDJl|;x;bW&joeDWtQmhiAAx)2%Xo|&wEV$T+{y6w7>s}_7_dpS<}_lbT!YdZtB@| zNu;oNv3hQIyal)iZU$@<3A7L_UHP_p<+QcIe)=VdhGC!t-gePt{CMgiNGbej5P~kq zkjzrVnEcPGp+(L>?6cD5vC$kP^;bLxY5r7DkD zO&7R!7|OLV#2?^C>mc?ZKQ1(e3iZ>ll_&F&FKD_JNqltJ5l^ z_s%)^A1ES<;xK=sa=I}!C5QJjZKNpX7UCwpDN+J-OKvs+H~huslo_6Chk4!B4q(4cL4M!o+Er86;CAx^SK()H1xyA zere`3o(NFM-Yx{?MbVZm8#16o1^)V zZ|iB##@f*Bd%b(y!l1c2_0&1Y%4r!p8JfZYC0U_tVc(3zZO?-;m{#*M^7y-e|a7&3kUEA9$;Sv zUvEKWtX%$}K0_6Om%88EUmR*(f9eX0!nBM+i%-{VtN7zTGjCP3tOV`tiBM(g(+oX>IAF-|dLk=g1F^ zl+b64Grxqb<>Dhvr!pGH@@$u z8Nu2Q47}gBXJ$0=Qw(FkTFh#X7_4#$b@L z7VwKDzDE5<)E`UlTMgQyo7Pa?5Xkz{N7)+b8k)H8_}X!%7gA!;oTOs8dKakZKLF22!g^ zu7OmX1RF?cBx7L*5G|KaO6GP;y0%2DT3y6UK5I{%nS)chwyjznx`iuiGsX!sLm9o@ zeStEugG6Crl~kZY%QPTEK)W`=!kQ8kiu^f=>ub^9Ol%uF;msamrab&G$|uevxVB2c zz_e1lgks)aJ1sZ}H#@KuD99$TH&`opPj}xVh@gf)Ue#$TNb1OyY|e2YRU_uqh8o{Z zt6v8;7%eAt?0YJRjU6zP=FU~qBhu&RuBY=8iHlq?uBX*5B1-1GhF5W}p zJj@b!Tk^!qH>|9$^$w>@aT^FB6%`G)+*twcO(kbGQkZ2RfP~)j5JC=GRv7VC#+)CPh3s zZg+ePS4U7M6Le@53EH|thBrYuzt~p$y+P37RU~NKhCCtYZ~#F$zt}`=M-%jINjK!^PFGlkr^m8!mJH}UawDw9kk z1#%()esmHdxKSf-1zUf>D1$2@ndtJtlgQzNz}W~I$dDV=#aToY)6U>J27uW~WM2qI z+0I-5Q9!Q0t@<+vv|SqLH{ZA##oR<;B&{^x5!PWOCRJLLx9nT97JybDd}pqe=q7@R zQ6ji<;V*=g0Gg8yN+2T;Dk8)nDB%N6Pvq!R&0Yz|v!$620(i_$Tqmtq>ho_cGrG_G=O6`ow} z;9WaLC7Uz>NnY^UUOmzpj&*hxKg%+jD!rE+6ohi2>r#Y%A5a*kp>EiQzHOqM&-r7*jxeZ8=E6=TlDIlg3e%+P;l zK(cU&ukW!nsBb;_ z^MnsND__4~K6rNd{B^LWw)v67{#%}+*;sPA1)MOJjN=8;8Y6^dgwKA3D}gs7fD|G4 zpqNg-S=$aI9OO#QZ9Z(lPS)5W3i?*Y7E6C!U;10rH)?jCu|I_-?yZY0*`RI}FKWA$ z;*@Y&iN*`1!NN!_CP=X`(gJRi9@h9R3IbQiZ|1?9VhC~Q%I9Y63`2UjdCjLj+Z0CJ zAyUX&o+=Qs)CEaa-hR zjP#MQT(M2~maaPj)#XFimrwu7FwI1`+m1mzDQ5zY`8Rhor6i_C6xh zlPKj&U%>N+pHN3-)4sd#F~FOafKSVxTxR$^0QRtaNFlQQzfoK_f`ri}g;V1(L*cor zkS?w_-Z7*`4$nl!a-(Ju1l&4LJZ1ffr)ah=Du(M#jYL9_OcN(EYjBphI)|GKPsEry zC(WpM>o7w*(*||p-U0%qV{i-_rm;k<;OM_z;^`e$T9TB0Jz8aLUr{u`dfFB+Qdbnl z=9kyt#9m2Ayf>Zdpw(3$RO7`p(9;`nadELMUAegY<)IE+FZGE>T`u*Otz0ejUK%f! zdfnAuEA_r(Tq?V=#ZFu-7*vP#oJT3VTsuK>k zB-#p(SfF<0l-#<)ffw5&B1*#%pA)G5@^N`~5w8EViwT{b_;^`dEmnyZe%+H0k_ixZ zmFnuT{K*gC@VoPim9q;b=YP#fmQNlpFPzdiJeQ4dlv*LWwT0=o(6G+3tvEGhJMhrt zJEmsV7}UZRtTDIJXeK8*WMsAt8f@?4sqhDmhAL@zE{Wy5knPChLbl;)p#vC&XN;Az zOR$<9@+1?UZDP`tvmL1@XB+Ctkr-!nckz(g_1Z3uB@{)6ULn4lUTN`Y%LOz4Ra>vr zID`(mRpW8S^Hz;x)i2hVM69{HHPdNua|%C8nIbMvYc$xlsx;6?(FtU*vee$Z1D_eD zODoTwDKAP&Nc)lkg?v3*nULJqr?ndn+^GV{WIWQ-+q2P7Z;Cmt>X{o@)*P?V_i$pM zKhf9!h#~$JyLN4T`kz~8f`H-mGhQCk_W)^e3DR%^IA#ZK&>h|UBx!PqX1;)1`u2N# zg~wy{`eJqQJmeSr*d-Cu)x+i4Uy!>{1l(`m++8@aeDOm`M0DtQ`Pjnp=^Jo_L^phl zO}E`WODE4&Kl(}>O^%;#g1wYCM4id3RqH~CC@JMThnBxx)KICWN-TgAmOl8KbA(W? zAxX(?P8v?Z@D&AO?k|NZl44%pil9(Q_N)$v1V8J>>ePWlY>GSLV4~} zxO33bLdKIZT)|s`lZ3{~tj5>ttmcA@@fds4Ntl)#LEJb~Lb2X15Q{GXsrX)`4B0i2 zNfq(e@nm)a-V%~8svw@Lgr(b6d_)Ldvuht%9zita^0wCP*&SpMohFzLo~`_Pk%ZSs zp^erSSit!q;wIsz?6haI@EJ`iO)zY0W z`B$E+G)8GaQRIsAsle}no>eN*mFX3>rBKMxwaPo~n-3!2wJO1!&fls5{ZZFtN*kQeZ9TCefU5Ar6?yjuWJ2PwZA{DE}r$THo$7ke#dI`y{mjTQ#t=VH$>R- z^DynF_ru_oF0ib6YoUDYQ`1u}Tk3wnOl9xY!Gl%@7jBhr&3TWbyU(g~_GfTWtqzE+ zWzW+wPo%D)y%lJGDwk3(_QEWV7n9lKsN3_Ca$*j0($7h3}OXptIUpKuwg9Z?j z%f8!kz_fXE@`SvE;Dp{thxO{wKPxi_m4yHr)nQ0tBspHXdQj{G=Ppvkto(7X`uQQY z(T>y{xcmGZvezi*WOfzuQ0#~4E!k9@R?4V^mhR(@t>Gp!P7&1)|0K4VgqPTM(2iqq zQ!Wgk2xLPqp>2k~Sd-1JjYKOHVoz!5CK|C!$>%{Xj>4Z@I*5pb@}B%Q_PRpyy_BAc z(Y_m%dgwjw{60jfnFRVTwB|Mp65PG{2}uCSSvhwHX<*7n78$6la_0A%rGFNdejHJ? z$BZ1Po4(EU5}NMYq}#BTMn4p9m&b1Hqww~a-aQ7dPd@hZSefiUcxAG2WZIaJS4y0= zYBt+fL#^R*@FYz`<%DgcQ)cC=$o4{dvWs90QZD|;t8TK}iFR+L;+o@5-l= zr8er0))?ZCmFlOZz!-wKR2AHueQ{0s{@|WUVj*9ftN!$Hd0`H{iHE_QTra^24a+m! zGc;4Pedu8{9DBbJssAr~SKb{(5yb!ZQ;f%xpb47<0^axep4anuz9$~p><-ClvKx0d zn)P@OMI<07-eN$+3oi~8H6#W;jO-@)7XE5}Gc`TeUfCeV^?;q3?yBnQ?&|8Q>gtDm zRI61+pG@b<|Egpa0@g~hlHEAEyS%uFs%lq5z=->4_DkfVqq{_ z+L3QrogKe?{5v=&%#P6pM7unMz2!a@z^j$Mok(ocY+rUN+f6i~3zf+xv$@1m*NMC? zO*5kNTP%tU@}aq8Ch@cd(wbzZibePdAWPa#V%QpEI+X6DVMdQ;(|KSrMlyOpJS_cs zZt2)bz=ZtA9L2^3ws&hYVfBt!r3Rmx6q!O)?&M^lSXNhHZRQh( zPpLyaT9@8K4GXZ`;1obhzm(36rxEyr?+hnmv>brJc>~Tzfzih}UdTB4G815N&^G}~ z9FghqB0P*0hQHt$4*I2q_qe;L9XyPzZPA+aFy;$o)?z>2l`CZm2yCd}6TJ3tEH(l% zB-ubKSP>^ITLwX04=bx|#oxI+Qi>u#4C+xDj|}EPJJETVrk9lOxI3`c;lOI_9rwEA z(id%g14d7Q*Lgc5eWk%XanS|+ZWm!KlCshtGe^)L2;g>NmeEpNVZX2PP** z0!mJdxXMGUoCyRX#lm2qR2+=0gyB=Jj3epjv)U&oFg4;TZ^Pe{MNuir70xdT9ECx= zDs6Bsl}4pFVAn;bmt=)rJjAoBoNBNH*Y-&;SoN@k?p{rSisj~L?@*ffm8&_?!FA|;;k)T!F zVRwHPsOOh{m=|Hab2mbC7;y8ST#CAapeqQvf?%x$K||Hy&U9wX=3XtD?OqZgZ@PNC zd?Q84)uZJb0~I8#-lJ3FcF7B9F3Ll@`$}xzih!ER2!;t_NX4RSBVu`QONWnp*7lx7 zE^%h^TR#34jyqtS@CTxoaVH)`2v2TU+hZEh?s>bWnM59iY|7eSQ3D1kpZOF?xkFY5 z_9}b?x92PDXVd1up|SlLbLfOxoEf*%MdwYaZKFfub}N=kWPHr+mI+F^^w)>g6Q70p zBES_IEgJCo-_En>KAq7e~>x>3n7TGaId&Z;@ZE^l$#(?cRLD zJc5H;T1ms{^o@p1xG4ac_76MULo0jsTSYgG9ZSi9@%Ij1I5!)5&op|NuRw#{c=e6X z;Zj{%kZZ?zq!WkQK~Sg`C}S%E7aM^u6Su3Rr;qZOl%G)nnkDy(poZZuds)g~F>|T77O{`2uX%69L z3z+L;^5isK_|C@iyN*u6urL=?wPS-_fB**e&1T}(txcs(2P1*aVwT=bXW|BaWuepx0Yg*Ld5H}tC1 ziR7@%*AcP&5*FSnz&WygA%_>IR(9@nPJDkJF5G7+H8)s1+Z~;(jJbmd;9|XW@)(92 zY`fygJ9uj4vp;Glf7bx48)Hz|Vj_FePQUPwU6!;Nz~vru{OcDCy%g>rU7A17qmHrl zr*q|Cb<_a%xaxHlAZ@DkT9hWf3?cg07Awbtx`x&Xf!|KTuFk6)&KTmrVqP~{Y9?T6 z6|*cX%6VH7!N@xD@eB$u^%fSW&{%Y2L|JUZ7>V$6OXY#MBq2>$ELIiK(+uwmla~bR zo$EZ-hV}h1NkQT{?^?S99KwaNnK9bIW%X)1t4HI$a4>aNF{|!BE3U8iC9V{#A+vN( z1O;Jv=4Thp2VoVhcJKu15->Q}D6ey}GDIc7X*bk>Oq97&l570(JKxHklY0)}f=?=y zo`&&>-YDrIaBs0hvsA?i>j!vQM?auO;Lx)vs28|3^jmlpkF2$9RR5R>9sa)Fy!Ijf!5$h?Nv2xfw~<7;!z z04&hTF<+}E4uW6I{ROY0CAe6`Exz}FC{17eL>Q!QbGQ|$8**8XI>!t4*~+f(k=-mv zqZmV&eBv|wxqyUk;7|47Ozq1()jd*{9AjbFOdwI93uA6Wb7Ms$QiJxyygriu^3+FY zg*EJuFfh1z*g|)>kDCVvhOL!dizf8~cISS-yzFpL#|hy_k}xok$WTu7?75hxZwWX3 z)^yryxrM1%thlOeu<5)z*Gi||uXqJjmyH5)aszKdjRNqS$I@fzVJp-Or1bz3SqLp4 zvB4s27W27q7)wWgeHx=2w3(#LqVn?jJ>1-}+W|aC!PO%pHw%Y_g@+bp%lC~m87#9# zMqEfr7g6hd!GUJOpeAiTdz6h2v3DrK-fULzx4`3UR>SH(0!L+?7XU%dDqId3ePuS) ziXS>Ghyr!_PL4xhftkVrQbn4bex~%fh1m!9QAD7Fj3%)^c#a6i6%c;ONyUW^Sh4n1 zcYj~~Wv5jr=0L6nXk*(F~BC_oK;?l=JZ~*9?vU$S{WN{Hl5b&v|Q#~O6waiF*<5j8Ls3Yo`V3GAq zx$JhlX^=+$VQpzZH`6we`smt`dX`*$8nguX8b=!M^=2b272qTl;&}PoIYgY0Ll~7L z-lf^$&jAul$^vZS5^1oB3pDx6kDB}v=huUW{>S=)IW77YAe`emW|#XAxhxA58W$!{=m@f)FDwcija zCZ+rO`U3wu5OP`k;c8H?;a~LyfHn?IVb`&rIInPJx+*oUA(CKd>mqlv8B zsYf1u41e7I_?`Eq9(m&N)LnN!aQEYPD^A7_0Vh{h&Q6$GdHX*790ZJ26S*%{rl9~S z5L^1$FzNfiQd%QiL#s&1vJcHa&g&sEr>CUBZuT7RK@x{IRv) z`@;=p=WYe`LKtAGAbYAFzY+N~QR0Xsi`jLMm7xtGrxBVSg+`JbGudN~f{F*ndG_>8 zlH5~f*3-8*{Sg^qU=_8|-J*wr4g&~{&8)&v$MFRkf@5@sk~?hQ6HrVO%QkVou%SFw zgx@fX6AbaVv(Rh{KoPIZ6Km->k<1FbUpX<-7=^HF8 zpuN@z%w5jv-fQ7f+H!Hqetp={BEGEc`VGPx921S~$T1EinWVrU>7?3RNG zZ!q?t2cQ5RbsS>d#sKH$7r7yI+^)R&^@X!D_{yaNYnaJ5DJ*N??hA9@#BhZ@U=447 zHBUR9w5lXk(b`wbl}UNW!M)-2*Ly9m*how<&Uh4iW;ozP7G?FK($U#j6 zrK(Q>7~L*J&dESLx}75f88fP*Uk5sA#}*5}A&W7ZhU3QW_VD2Cjf~T0UXPAbHf0S) zDsa~ysgyKCth^^Kw4L>^foF5@W28_(s94^4H9n5Nm^c|fu+%{sbChw9=7HI(ikdlo zIYLpze1vR)Bw&Kusd|vl22~Se&1jH_EUmTh>VC8FeNYm4si(8oVvEv%M6UHZj99<}K`V)D>Ef+fOr@aoW4f{c_hED?Fg=wHPgars zoc{(YJinsJI2XYNhO9=qbZ}lPF3dY~n1NhQPoUNjUtfU+Q)-`ni67hyY5ob48b*u> zNHYQHqt?P%%E=V2fVOg6>Re|zyeFk9`IDm}TyH;s-k+tVKWbJM+j%bQDujJfRveq$ z1>v<=LFI*PLhzK5QY_$X92|vm%g_+sP-pWNFLn3hrOYRo_dq!tqM9`KMyh>an6Q9X znSGRm|EP)gvv zgYMxY8{EX>@cn1`?)k7)W3m z2SALCjm3iiCG~*lY`;vJ*n8RQjssBTDmR|=Q8_QU-cTaZtpznhH_FaZ`kp@04N`q~ zVfpyiwJ#2uaa1S?V?M^RxpZ-7tbVfU8+&lVk((NY$uc1)EWYx+y3PWN1D(v@y}dO1 ziSv@G5XzbqQFYY)ISQC20Np~F?PGaH?((u14cOIUoXlthw{mKeBdfHEmeDsX6RKs! zqGV~>(WBu9d?Ww8`91gyB^z;!TFZhL43`9I>*j zMoDQc#)D}S*#|HIVqd5xd#Vq5pHXe+5m@k81#nn}CUzM#vnNsAr=DbS7E`4))L62O z@S`d%X~r!y3%)N2*+{%GK)QsH}5*aY4xg?eB&qw2s+lCgC7X!Yb5WDYPi zhRt3DAl6sf)JE!qh*s7;JgWt~Yp(W9Qi3j6fDDu~oN#0sqX9XRtYN8WLX9UxeLP?X z&jdT{MSUMSr!~4E8zK-cX0bg%IiUD9?de?8t}S z4|I2?%lPBB@ z5?;lDLO$!Hk=(8yp9yn=)}|0H2CQEnY^c;F-pH(irVCOAB zq+Px?^V`yiy*dQwY1RA9MY0~2qx>{5z{&(n0_)UY@Qukr@bfWKhMJ;NA_XXDQ3pC5 zCJC#tguAG{y9aV@)tc!G@+ZuAlq1WchkEOs9f~{6TmLX` z!a?x~oMU&hgN9Fv2R$#ntJo((bL0iyv2ay=QXAz^EJw z(DayJpaqr{CNCPt3X^NXFy6)zWf&3G;TOKQ$gXnw1^bb)Lb)Q;1GV?x z!o8A9d-s^kQhds*$GtaoxZ|?t9=S2|0XKna=XenSOFjg95Fwy`Nh5P|#!cM12K{1U zY#e2|t%V@V<#+$YvgkI@f|4!waLyfPirnAK3qg6?4T>-j;S3x#Pr4@FXyu5G4El_&W(+ua}gSWeeSQI-9 zk&3Al9(jDbDI=3`{PuiqA}w$@acBqkqVey)t6eT;92}`+RPCfe*w#tamnW~`@$woQ zB+qhu*t0~t#kBH;(`^7t)#r6=u?dmr##V7Eo0dfj^r zS*!NvpLmCgMhzgL%_Ou{itR1!CNEJ|yi#!g1RPZGhPAW$7@etL*mZ8>+$BRlwtbY# z#S#y-jnQ&_M@Nfu5xg5cqf}YyIK*+TxRIdn!@U{i*$qC>n9gfA<(AoTNuAbyPW+?} z`}e1|(OK2mbI`1{pR9{EUww9H?}mEz5ro1I-nBaB6GmL$@=H(Wu}B1eCx;Ayw=rf0 z20A}zEK*}d51^UEM)k|ivpJ-s3fFINsWUZFz6p)2M{V3}D)ul}gc;V$-sWU65L8O{S z>rMlFy)A1`7VQjlovfvki}|Ci?ar>M4ayvIp5%COteFsRBf0Thx#DUP%fJ7LMBLT+ zqt(B5F@nIILl;Mpsm-3R9r(&&&22BIi+L2lLLD3f;=BIzIM{$;OzSQP#dURfR!7Ts)qs*RuM8d!NH^bAED;gUv9_p$e{N za!)m@aT)4_kDLTf;kYD}b=s-X8Y?!F<1u{`wh8VQFis_dzci=P1t!+cS))4;2e@4SLN+EH<-h(DQR<6jI-7D{Q{@K89(l(fwo!=ui&VY)R z-NSDaxL@V*LeCZlJYS9H^73k6E8iK#NX9_09N%poQaT=USnE-8yYr7r3As*MNHZAm z7|i=U1A}qx7#YXHZ?xiZhiUyAfN<*&sJkxmY17a(kKB*%*KJ0bEkoh&1N=G=TX`T* zx!>rL$pWNlDa^oV?+iB6Ipg957%kd%zKQ-(@Po~QmurEV1w7OW-9yqBADyfoIfxj*VDKD-$in&My}#aIiBLMf%kn^OXY5qDfTA1SN6 zk3ka5r}2JRIb#mEIQGFebsZ39A?GDY5`X0sbKGM z2I6)zZsS||;HZQu9(*6c_hHynI1&*A*%{WJ8q{SiG>h07ZHqrwcD{|h69!HgU|79@ z3&YiX!fDzXC|i#gRNWfz^)3JB^q~LN|5;3Db5ot!odjrUd4nF!H+V@zvC2D2jVn36JN_imJyv;gPM>h@4Z%i*0wipEQD z(#}ImvvWATiO_rEV)`(cM6F>RaKrv?kOx_mP?&iD2$9cD1ycb=oi~P6RSmp)06U>4 zb6LPe95jPad3F%Q;m`-s^ZkW62^?O#T_jX;r+A06XADjE*)ccA( zK3;e^s^Jq{I*(f|?IOX3bp0TjEj}6oDCEa0mH@QMW4V$g1$*7wtqkKw66=>ynIxD9o7v;EyyuX5eF9x}9sxz(=U7uB_m!MoymP83`)a-QqL!h$ zCby`8PB}h0mCM?tdIm)@Jzywgi-PZ53lu;H>c&-$sl81qw`h3un(*RO8ggCk;LL~& zYql*xxvZUJ^aTHiC5p^lyaKnzMU3rY$_{#3v@-xW&&rB&)j` z?R?AVN!O0X3bfy_C;>z__Z4#rSm-3%hmta@m`&@bsuFtdcBEH(xPQD53|EuV-@FDiv_y@r{;5-HaAt>PDWQ zE1f((TW`D~bqhhSR(orpdU3Dkx@U&COf{j?IJHndrXG7Guo z?C}&ybd6%4yH73H)69cdEFZ7KNyCJIS}P6|q-cvHsr|>xk###cP!8&Ia|z>dYP{`oX}(?N8#c zIE@rcbC8{4ulw{nmJ#`T^dMxn%INBhd&xcW?ZLRG!LoX(!O9^dZ`|EuTEU^65!kY*2>rU>>5q8iEHhqXXo7^cZ254lxu3d8)#$!5$^ZUc^ckJ@*Vf=vgQoA@f`BkHQt6@OGzJVB`!=n zcmaf)%J#&h@IxRA5c%IP>-JZuHXbD?@bzX_x7=iOUBk;}%$D$om+a1aiX5q2VReb`_|lkb0fSN->MY>&0R?SIt8Z8uz#BHS2ED<6wwt(yNXgOkNUEaB|Wv=VayUtY|kecLR_v>RPd$0+67bGA>V%7+gbFWh{pUu1LrM<)!n;T-JDB-K^ooKv!)`h%^%bY6u4aAunpH2 ztY{cju=-q>I|EIdFRdQF<5T#oB&T7WLocw$jAG#?k|)=r

    -9}*P1b2xp@IrT(x^hd(5J*<-F6Fx7-+Qg25pS>nopnk zP{D%g05-p7z8 z5XAUS=CK9aK(|uNfG6h$bWi269F<4zR{`0~m&;ReQp)v?0^jOY(1yxZ)DWzCHTe)I z$z6MVN#Rj*iZ(e*ExXMQ*^wSE`8~qzPs4txe$ZUM{MR_&9M`AveaiTdiY!o~t2v}0 zct{5FC;(>c(vh8HuYLlza7Bam4p&v}BN__9c0%J8l@&R|tvp1f)cZwtz17__^!m8w zy0>v|`}oqr3D!U=T3oaoLB;t=OdJHJ$q(eJuL@;MI-G{Pl8qR&B=bpwZl-|OQ@J|w z!iy`3GEP85H58&iT3XC_Y})n6cQaYcZf)w=cQY$9ZD{7!=24rrKL1ebwEwf>|8zn- z{m1(pKZZVM{YqKCQZ`sAdtc`r(Auc(`oCV*f6f$d`*NBSIeDpo@Mpvh`%o`q^}}`i zfgc+27_}I#8=EQAtAp7c#r12+ERyM?^F}935;$?tSOYTrWVmp&c3>frGGhf8K}hAR ziAMZao3OQ)w)a2d80?LuD9Os+)UqU1`s7XAvP3Fk(`ASaL}fN}5iI}ymb2xY;e8E! ziDGo(NLCdG+Wq+*1uJElUKI=L4wQoB#l@HtcV@RH?>~dZK$H5TA&YPwfjFa872U^k zGAM=9e^5fgD6{JGUM-$VeLQW&9d%cc?kdt2d$mQT*XimlxeD9We{UTqMjgEL|Ev>N)jcNi$qCm)HEm8 z#i1ZR=GvXsozjQ8de=JCyTsMf*>FvP*wuH|i@u|wx!PdO2Iw|MCkegWw%^e_1EYE3*l1%RluHbrMFrbN0LaF?3 zMS*rRk*q;%XmTbJ`O-{OsFeHH&)EtQ-D9@vYC&;C9Yg=A)Ivfz+zKXKYJ-@>QDg#k zDP$ZB2{6|zz33Z@5X*2~0|%Q}%T^^bGcCu?v~he@0L7nPl`q}Hs~tYPs`-UotERl{ zwdzRJiS#r!79F~kCPYP7imo3idieX$z7l7aREtEMA9`wy#8f0X&|rT!m-c<4!);)K zr0CZN?|;SaY(XZPRwY1`9E9H-S9=Fz{X^hX=G@wjgmX7MYn*TnSh|_!)|34D>I)<J&i^(01W`}Vo2`|$(P-sxLz)nWNLXmK(35~ERF;p%rLMT>NDMA1~R)paFe^P{KQpZT*Tr)fF+9$_V zI=cCB*O|DX1mOX#ZgSj9H977jpZC_~&qYmL8xf9!7c*zAVrSY~t~zxy*EXiNvngwh zWVLN%s0~vaT|8UO`06jBO@d0!^ZK7m^IH73Jx|51*J=H&+=kaFbTtV*P_jaF)br#A z!+5EwwsX(XVF#B3l8D^B3_=3f(51siYbU-&7cezI;AYD;(m!YhiF&J=QY%{A#Uwkl zid|<`XPsGYg2B#)ixFryLVn$dS|$f&o&#nZ1x=xRCTqL(kz||}!i21>y(2v}UUqy# zOm%&kChKf0i(+$C5CaD-kQ5v|7?3aJ3R5M)jA1EhNr}lV*Ep?3t5Q!8^|{caf{*W; z3GyixgjP?{a-KSSUAF_WJG}~?IHa);^bHSI${M(?f8)gf(5j>$vWSe}>!^Cf4r1@{8av*Pi?CCOQ!&$&e5zBR z8R==f_sjc{J@1Tj9edyAt^JBFfU+IM1JbU;S_dF@h0;IlU3qg9MHK(vPcc;>gz?aGFCf~x}o8NBl z?DWjek=Z1~q)ObG>F)RX_3PKKU%!5D^#~dFMt6JQgs_TG%+%?nd5EyUV)1X0IO0NG;a z{yEh_N#R`2)l6sT{yv&R>NBJtFYisbc;pF>ruCUlfSRJ9>?NcyMuAi{y81vH2%Nhy zP8)g#@GxNi?#HiwyjG3300_8E$5Ew9nGC@ASLRyeIei5u>P4QGG}~rjkyEy%t;U2+ z7xTqZvLaITBPmH~2jpH#QK=bQ*_#*`XjHnb#U*bps7nn^0Y}kBG3O9)<*0%!x?Yp$ zT?Hp-T{I~_=!NgkqW3C{B_CyfVjpYj@hmyX8VHImqY4S0A}j4D%jab6D@{17 zWDXaTk)Eqz`u=`$?#5TZ20yIHYaLZl+Pd@iZ)p1RYsEKe#WzavO>za(qxdGR_$Dd- z09|6W;saXo0V)2_2K*OeOC#LXT}H#YL{UIJ1d3}UTvDSkvE!LG%*xaG;!rBTH9xvD z)esdac}QALIN+=bQ8C=?PYfJZrNr2O(YmrvTv&fQzOZkydg>@Fcb(qdMA8D34b;W= z8+!UfIB$6wHo{#ZcUn^yWfURPb=wnE6C$mh(&dPAOlT~HrL<4BEynzXix?h+$;KG6 z7+&|ayoL)izvzk!1x8Hy^L(y=K^|>fQOxr(Y3WmkvMMA`okTISTaL`e9!~rgRLN=3sPyUJDt+AO*YZg1*l>*IvzS0E@a-L`pgYTdPEKwG?0Es zL99+s%3ZayzXE9W+APj2B^%P2zr_4_^Pk$kVny`GQpB+hZtLu)@Z3QG>-r6!hB#z_ zEy33dr==~8xfY8C5eDo1G$tBY$}fV6l=`SXVo#*XJG-`)N~!Uld-9bnT#N1*u52+z znLA4v{fpUb*-Y5p-^5`_Qai7J6-fH}l2CGO!_0+f{`5CsdWwV2YrTr)-?nY;5`1#t z-YuHw-Qtv{8`g``xy30>H&H3&+on9-5?P=ErEXiOW`LBpR3*Z?SOqO>v-R{+b2C#I zd|n_IYF_#qVYZMIdj8ruL?5IP9;s^Z#yavfZgNQ^!mn>Zrv(>4!eWQ)5;u+6-_TCq zen&U&bL6ZKCvlH&;lQM;1-CP&ccJNoi+@8*QW$2j}n(p zpoCj@Rj3Tsp|xtStQ|*r<>+#Ov4JEXg{cWCsZ{nWV3DwU69a=)y-M)%#>!Y9BAY-s z69$qub#%_8QEz!5A@m8=Bx-hxSVoechZC_2f#vo!?)KL<9J)U1U9}#E;xB_oGb?6jW9E>g-$twq} zDTx-1m0a@BPRWuE-#u&|Q64+W+K;nn3Rec&?AsD{{C02DB(pB(hJkAg)z6L~^mO&> zgK|Q1bw83bu=Ccwo9Hlm%K-h1HjVD#q9wfKm11JIXR9U#!pT%m-Guz_oG~I;C~gSW zZXL3sFK|6cV!sg!wf-g9gv3H^|Ec z?LymkrjTf*tHmV!rprYAmU_lXbZLFvF|0Gbm^MBMrSo6r6|`)3hfPWw!;A#4$&}_v^XmVQ5ZJt+iSXmMMFL)5B1OxYrmerDPe4g zZv{e>&;=K2e;%sMAR5fCXc-n8G&_Iw5F{x6E3z+cS z;nBp|?_~ql?4EkGL&}EM39~M5W-II5Uig*9_ebo{ws4^bzefvc6TK<5X@dnCt!(yg zrG)!>?GWMjrf+W?!>;&HNQ>PfA3RUl6hgYJbFl$bzR(A30xs}$O(>0nF$9_-0I$eOC0judV>x7R2#`V;xyB$annSFdH|lIn5pt~Vt2P#u<^@K(6^%WpDG zbSdr>WlxF_G? zS)=`0ql*2H7acFEt^8%k8*9=J5jq!6{k?GD2+-nEB`Ljs{IquF1RQDWvC}3`q4Vei zqn^2BnBqlUfYG?=og$hu&EJ&Ax;*A|)#bGGuWFtD2;$Pe>RUlo+hF`w5XMaW;jXJh zK_J=z_1}thxFm~t(gDk)&4dhvt65~+E_$j2V?HqB%zDj>M9Ak)GrBU8g-)csC@nU` zslWHTMJAzPJy+`KMq^?=#7%_7<;7-W9+|NdNevz`(KR;-UbmEqW}?Zi%N4X3GTXHi zF?EKg&{|x^Yqk*#)@{9xllPi6Ju_buk8n}z?2^l#{hDa3<-cBKg5Q~jpljjWdB!Wc zR}Mj#hCoe>j-7vRLn-!4{dzlZo>~Cv%u@g=uK(a1>X6z;&Yg_vz71yh2 zYhRl^4Ua5fW^{pZ$L}?m;Lw@endji%dwRu!x`a`woMUFJW*w%!Qdyo5LNl^>@@QyW z8j38NmOMXo<#x0=R@MxTYf@>EQpss>Wbk9AS_m{UR@N+xE8W7VYIizeHUX_=a0wwh zZkG)x&IX-1T55mJ0w*S4F}kpULS{?Y$L245P7$H3ktn5Vs1z^@7ye#2_r2P%bZ#@) zcF(7*kcwR!Nj^JPExKh&0nzrD>WiPiCEf9Z;ZY*!Z9K|$)sLB=^QEEpKnuflS<+0E z$4c&GuHI=xmy>iA5KGNAuYWmtDD7r&*Rpa z^DM(n3BFp#KCk}%17W!wmC2d@n>WG?wRv;SJ!$U+6R*?d)+yNes}3y#+K|e*QhF?( zD%Fd&wTUNtO~MoYnlU_Z-rhF4h$Ag8Lm&!H*N;KBd?>P_va zOkmDi)ZNj_)H|T;%wM^{g`qJJF1}A?GWLzb?eKU?=FHx+X%a*3gyXh6%th=a`XO9$ z;7{xF7lPvTDNv$=S`<#@w%KKjbbV48!^F1U79KNb3oZIh{s-Y**oe@9!maefd)nyr zPks3G{!ZN5t>Yn=3Sot=>{J-&*A3B#-&I0-ibuBfH@e;30IF$Y-rd&4JJ~U2;&fIH zl{MY7vMA$64#76>u2%BWxzAcvx>2&a-!A|=x8B}H3E*TsA#Xf7dT{GI$ zhSC%SyDv;_U)X&iSDwB0zd5-}lue~gR}td_=knBc&Zz?({O&+#4lkI2=?ma?wzfdr zE(-($rgJR-HcGI{p8xVBf;ixG5y8(4m!Z+pSeDf?`$D`{g3LmU!hMp z*JKm;;n@T~`8MGp$rp27JcjD;5@#D5GPGa*i73W5^z=P|uSJ+ThfVJS8#kf=eImUJ z4B)$Dnl5;Men0@E$5TF^H*ZwYNxWB?(XrBKetDM}n+3XsBeWI9iLSn~Fi#9Q81jfN zv0!>ed{rUW=$IgqL1mxuxOy+}{g(nYO`35(;)M9nmVtb+Y;GSfq@OI6iY3=FuyFkJ z{PZ;Kbw1|3iIzfmoS*&+xpIt&)1u^~*8E|fPw))8=j?<}ayV<^{rzce!E)T+Wd;INp+@P)AaJS+dUK_ipZG0$RtcW zv`G3foj1XA#R3xE^npfH{qrIi#rK>C$2ejdzV?H){~D;raGvNmUK+a_Vh$g0dW}35 z)`1%mFYD6z+R@7{t`i(RmRh1Isi-eqRxWEg!;;?~3m4|fO_n6ZL8Hy&S(QUoJAS3L z199`BwVz{kbB^NvmBAh|R&7T#SI8EV98GC2`H}RM?E=n2w9D&dl>lNuoxkk)Vxrne zzPOaS2%zaS#oOi8L$G0wA8T2oDcf5@q6#<IB5<;rSakKxgaF1t)pgeML!M zG9fDFGiE9Ss$j!y=60KzuIyMLUC9*-uuPXLX2FbY{?mvU068G2P=ClUZ}={LS*NFr zXI_2vW#bjIJc=n~8iZ!d%^XHWxe9dV3+vc#T#>>VhZ+QdRYwu2t7Mk%H9jz$l2l%S zbMI*FZ^2DyMc+GuhD4P#dV7U7bN_y4?f(Jx2=)Pi*5On`#S|T5mw4hLW)de~=#A^M zS;N#IJQvL{q3v72NRc?jh%MH^)1-X$vwfKT&cgcaSJZ?~_mYOywp2bpgh+;}MkrQ( z85{`WmtPyrz}~imoZJdHX-4KG$9@A2RIn9UpPyJhCU%k7pNCruCdR#+x+=7JlU0}@trNO3tgRL_T1Vj*9vJRevQMvV)N{DL2`kUYwv@e12 zC>FHyvbcZ2byW%NIIft_7_t5)3?s0FJ^Y3nX0C$JylErGUwoKj;_m?`sOWT_!kl?63m^{5@Y;L7|-+pq6NUt#1_Xwn#t#WVEic|1D_3&aabK93T*(w2G&L+yn(19ZFvZ6s77N+@w}GJP-b?|9nMQv(aL@TsF$$EEEyuDBOLZ zkM!3652%fw1lxELxQ*X7;6=d9LRaa{*5gj|2U_8;*Hfijs{Z*66M*>hsnkd=KfVZ< zvZOpC?M3F^MZh#G5F*=0Q)$uoqWr~&DN5iIW*Y8qQH9asU_Kj57KMYk*#joF>6tf5 zsZk^HUpSb38+!V^U_K6q#a%|!zeT_lk91+7$off4m`?C8Gs4TaHals}9Ea9VEgb5& z#2f#7hT6FVznnZ#y?Rikh--qS3y9z$hcfd&eZuHP)_!RA*AcPYwPoerMYm1Bbp&@R z+@=T7{QUzGp>N{^&IfZJW)plP+qD{B-kW z=#4TO+HU5lK*^otrJ%9`80)$}XHMs6eeDlUGV9xKL3cYo-!$)ba~PP-*ku>09z0P! z`wJ=pEKUrnm;OczaL9$F2qq(5L1J|}ow(+on<$Pkb$tmvu-N99rOFez-MNg}d6SY8 z+VY#0CcnhV3VetxIQ`GuauT|gDvHX_I$no2GO@8|#k+fn2rRIIkMbT2dz4ov)R~*L z&klei>vb+$=Wyf&Z$#lO-OlT`(<|`?~RhO6;sS4JKp|OftHdvL-I2tgJ#RGE;?ZC^CsVLQP zniFq!Ms*D?^OIl9@7qs@zUtwhZ35w7W@_QoRkVi)H)w`fSO+gx&mMsb1G=gDj+eC? zU({yLvSD~MGL8;!#Q+X}06tTM3Vql+tmE}>M?b5R2)G*MQd$;F0AK}!bn&ROgB*Yp zQTsXp98`wV#@-!LJHnkni4@&qlCvs%S~wW?enAI$LH6ufhh?4NL-B}UIHP>SV4!$4 z(0BvZ+?G$3;V+Yx|Gfy!;Euibx{pVlU^wSw%Bgn|C)|=OQv?-rfl5@GF?9spceyfw zTc`nYrO^YAG?90aJJJdQgF&(5bQU1XP2uW?-&<2hoCFlCnybSrc#1$ZiLw8bDAb+j z(mJpeaq@rz9e61?`BWVrI7#b7*-2vcHavqurWNz~XA70$>pAoN*p78B`uanNLE%Kt zB2mh^d9tZ_?*B|eeocK+o&5&k2W4&gdbVs)GU=~Jb_x>QXU(ZY~<3HM;-m9q!4 z4xYmWI~>O=f-7fIds+XIIt-74t=~@p0)D{v+Co_uA?+b^T6h@L{) zw2Q~2r|ls<+H9-W-7YD5&v0dnLd)I|%R|mA$Ch9kV2{@0%%{GnZc{<7-O$zcU-nr4R7q-=H+oubq`vV#g{l{(Qw zS};}Xy1DW;WjX0g*AjCXK&*5wTNFpxG;LH1FYp9G@e1xRh2`he4vpvLvAhq_S@Xd z=Xg&l)0SvW{=$kZ<8pSj-7J5E>pRQnuJ11A`wp>18~Pfx9N`HOI$_OV%TlQOA}1g)qV`|!i9ex?ycl1dGk?x=r-z=8S4wdaAXsC z>DI!@OFZe390#-CR=@j)`OLcB-y=u>aml%d1|DWp0T_^(`9T zcy7!dAIoOVlFy9YhS+j)Z^q2h%n3x}X1M#B?WYO3@!yXWH)7uC{pEq9P=_PA&X*l`O1!w9p^|;zn69^h zMRsd`xL88?wh>gu*N{_84v_8qimO7x88^_^#mN}o)42r(HL|HqQqYJ@~VDU)gDA8NBqEz&hgkTy7Y&U-2wUE3I>uI_6{RMAc_XN`^F{lLt;l9}tULL#=~T z2z|h*)JsW*FqqiH@MIv7dDYt+2nKw{&e(i4%GD`=qbhqUe(Mt;5*C~Hnoz!TN!5i= zVs$u4S^IH9a)Pn(;;w0`k2V{I>0OLfixAX7%~pAAJ);T7w@xi^G#hH-&5+x2hWM&=90w=qRqV>%2%4S@P&mh74|W?JH4Cx`CFGt*uJ#8L?3pL_?U+*( zHAp>#WV0^coWFGgE^$dJZP_w=;!@5cO%PEspo5f)Bc^>ffj(k|bWtv^;KNuYyE&wy z7O0~|oDZsNq36W^ZS&?wZTH4e01@J8l=Yt@6hg%HHJq2q6S9)q=rTR#6i*D zb4dI?bo+cEsr|lnxBa-;?~B(5MZTyiVj3aoJF6WEgb<4113i6l7e#CTp9?4JJDx;V zB}jBc+{A4OwkeAgh){^RJZ1AKS%p&fuk+nPwRSRclz^$fX5ZmtwVD-X%jmYiVW4#C~ShieA z>LwCrj5maisyOuHR2!Yzp{vz>A2PR2A`^1yHJ)}oq5?#+dMH5TEYF6$4m_n5Ojmx~ z+g^JjNTof=Q>29^TPckdFcUkgEfGqnpvH^fIb6tfo{ZNo`X2m6tlD24nY(fJHs!qF zevuQJWNyQQd9yGK1SKOH+Qts~D7-!UHo!>?#)$btA2CZATPM^=%o~<%6{d=H>u;jz zN%b*$wvbKeh7}pu7fweKeNeK@PusSNi-%#WK!jPjYtBW+c|G2MQL6sB_U~6XrK!KB z9CA|FfwBMQ>gi^osAS)s+D&%>TqWr2V&w+5L<4}ZB6GLSfy5XIo#MQk;3T*UO?6e) zo9xb_(IocBu1qeW@E|0(H-ts0{!9zRL&HRbZng}pVtVl**x*>HjQH7uP?Gayb2;?t zkzL`P_|_B67%H+2Ma}jXva@^5 z|Jb|o<|v9N{=c7M{u4_LBzRIDrHG0pni7vHEz4T66WKDm8+SK?S5+{E#6U+>4ekhsv%C&r8e)`Jg_+}4s14M$NmNCm?^+r zI!IVX${-Xx1c^W;plC+{j+Wmr(nd$bZ#3 z;y@7KqNxZYj$mbsVF5Nu?LniQxz8D=#^u<353Gev%V=yvm%ikr$pDu`vqlPb8)G)r zd`pzqQf=IDo|k~et4)+Me>${q%7knExo$1!g5|u0I zeC}YA=P`rud31oB%v6aS)8%|nMPDdi(@=PRtv@_J2WJDcv)XsFP`6OAZ&$~nfC1+R zg(6CRnpY~?aK4z~P;QBHDuggC)RS?c6V=!oV@rJJFi8#d}k0B%b11D*$>|lFAJf9Fo7D<;fxdFRrfTy{}DFkR>=-{ zCIUjkr@6;_1tl07cd)BklqD8qb%B$4i(Gry5jlaS=b!CK(CYFu>QmDD4`@yz*nsHe zTh{rjvN2XJc_y@ac+5I+6=o`oPht9A{~38g*31<&W`Skntp+9cNt*7Z#wJew^6qa! zfuOwwVg<8bv>PDpuJ>)Oq@Wi+@AnZ))54^B3W5 z&UXC6nzyScjF zW7sEdNMfIHFC#2j!lA&}vhY4-1n1OII{`w}n2PwlA-aE$9-!>e@dDQf-*iY9JSe}_ zmX25F&ts?Gf-;0eLWzvNP~DA^3E;fXazonJX3_bdi*PI?G`@5%=&IHtiE(N!@?mK0 zMRz<(;D{QLqO8)*$Q4%x@iyvM+}U+3T7*1oNQ}jg5v@(cRnvki{y4Wac?JcaL&dqB z{B+UhpH}cnqhVK;K1x06<}*-4v+`>b)7F>ED2UY57iJbj$YW}XPoO6o*eJv-75A^R z+OzP!iYKvHL4!qhghsx=70Sj3DS=*i2Mxtb0T&XjO9*&9 z28v!sNd+%twJX=zsH!!!ig=T~3fV4IU3UV^+E1u#aJBb7(j3$D$hPRd+0dGAcCC`Z z3Rz9bV1;b#$zX-7_GGY)xe(7>@GUFA1#Ergi!oV@l)19N8rfNN%}JY%t>9hcXPI49 zFVTN-w*GJlBUCq1^yFI=VfSgbl?4(#Mly|ICf&>Y6v_hlg`76ZIPP+#UFU2mhUCN< zw5eVi1Ge(ytTlBSIemBz+J^c-Eu7zD4+N{=oqznkU$jtX! z!P_S4lh?*>U@VHmG1bdwog8dA5w$z)fv7~zL)}5gp$3bM-gKL75avWu@Ey#<^R1jY zdbOJ)MTZQ^AI_ z?uy&mROzZ%%mRKMM*e!EVp-@YX> z7GE)oBSWPq+f5S+cNd@gv=X^ND_Fhx2sTo}C#UOB(r8dOo4YS5Cau`nY~u;MFcg24qMWTpmR{e=H_ zU#|IfTJBy0+0`-xEP(e zRQDNrL*otn-R-3^*(}87nfgG3gRucMz$S{8{vIf1yNPOZpIr#yfwD&|kQd5^+?{*t zNkz2U3fm{0ubA%S+m^nL`;6R3c8^(*6%FJAVT{Etl!7*09&W(aa5)>G>b{z7qwY<@ zb#FRf5HB^^Q1jS#fmpNJDI1RI4afBV%P}3)IDjHSf3ciNmgwgC1NK>i2*o;2^4FO2SE$$hixRBI3A7M)egr!%H2HYmg8A_rDOn zatBOgu}Vy;){jsbn;NvZjjMZNkvGRVp9q2$>a33{Hl9-RYGF!qxKeBgQAKjqVr!x*zUIrESKEYvKk9nc-5t zfTyS{g}oXh=W+(R-xl_y0h!Ha>@vLolFOKB{6K900K}R=1FQVUS*QRaAbx5LWoC^} zz)D$^jC;68#~~eeWUsg9)238ryo5roK6kKSkU0ookU5?}P}k1LruJvDBUz)E`N%Z# zgW?%!D}pMl2*yw*n<*KYqG9eIFwL}$sqVY`Md;qpPpj9ic)~BH2U3N!k;|8iY<>jn z7w@KW=>qa!>OX?$&#KGI*7?iTt3TcGa{Heil#bJCXD(+Jo*GGK^4s${5nFQ2s<)H| zJ!uo8od0lBx0`j=OlMM?Qv&2>U+CeT`RzRU5V6tn!U1dfYwL??YyJo9w9bu7_K0a- zofwcG9NeDD4G*P0+%$+aN$hDDTx`f_sD~*{j2+aN-kwKcyW;2eOv3M??io&f)lOfj zo%<3B3u31AB57Y;EFZnifTnx&k4c2 z%cI}92BRf^@ABl1(hT~GU=X~F=-BFwBcvX|5$Im1xC)g9U1Dc=MqLS%Nua6|Rgz^8 zzKc7s-Ra;&sR4Q*;R7JMS?Jf8MKeJGwee{Z(CRWC2~(9#(v*xcDKJIS zCItZapAr^OVALa_j3cZ+2}Os4h$x!HFQWkJDWv=%hny(Eb88S)RrjE38X~izZk%}c&P2}Q~ zPh3Ss@HG}q+2M{Bk8ByU+0%sUC9Lw-L<}H_Es7QNMk-TEc8eDnwQcd%)EPu=&~S|< zRdh1Iwl12*zO56e$F@$g657@UswmrfF6o$19bw#|GBPb-Tu2PTvZ$7fy3ADs*k+H^ zPMxc_|MNiQ*f`&68StEMTqPh0EHN# zXaR&=vhf3=(>OkA48i*)YznVthKtw?ynpWPX+-}Yx9?o-HLxTzJ-K@5r+T`E0TQuF z8arQlX~!$uUw&qXaer^`BYlq;XjomiZjDcte;h5J{z;r}8OAP~-T}w;FJKJgt+Ca6%4HB;zAdm!geLW=jl?q+HT|BpadLB~AL0q-~CbSN?>1k8m*+D}^%8 z7>YIBSeP~_Z&W_@6JLjlj?0s(b3a=%U$zddubU=_C#&6XM)bT43yn`xHuA6r-I$6k zMu#8ZGXbyaJUlqf>46~-Cv4f^{O3G)qxw>8@`9!jG2EU8gdE6T{9E*-lOfoa!{>Ymg;OVH_vG1m_82qX=26{BgT-b{;Tsv>(&4 z^4U$uow3!x?{>p0q{zq?jmqMjHTfG~z#8p$th#ZmAnbH4VtdsjhQ;{R5-Js7AV0L3 ztnwf{AG-X_>@_*$a}Wccil)66y}YMr7CtZw>RAl6O;0*ggp)sqr(JV(-~Q~-=Jvq5 zxIHcaU%5jF?wf%^Uv zKNm?s?E45$DV>-vpP9hnOfjWzUZV(-uay%wRu|9Hd2Y=dw+??(9vim~{^{f>N%K-fNYHQx}vq7=LOx#ujnnaLI7m$@eHn8l8*qu`VC`=hh@@<(H4bZT!nWx4s}rq|>@FW?dd7 zd7@y+?VFWjhh5kj#X3c0kE`C*pL&<&(DJz#^QrVUxf^Y|hkHNH?GF@8 zSh`-U-gJ-G_D>eW#D^H#)0OQ6#gp${9MG@ zVQcz~lX2j$YaW#sj)L8OAn`vp#5PTPhRi{wJ#e6!5T~nkY8Irlg8;qD1HkHysh|M% zWzwa+UNp=vLpyHw=3X=N?p`nQYrh@GtL^W&@)+24xX^iPu_YJ?siCLRs{ZQyHS$5? zRC;qO#6X9Ky{msbg5;erTO>5p00)loo^^S~y18O~ImKhgSOh|xJZ|ZnIFUM(k25j| z272S@cx4&7uOu|JbXL?bN;apdwI4aMs+rE@+0nQU84;v1Pi<-vIArwNGyS{s1Miuo zmu*sl$3dN}(Qqmga^{1hdpTQ!bCxa%Ba{3j>`pyl>Fi_JTx_AaE zytkWx8?hh%o%={G!Zs3jZk{p@-RI+l83%4Oas+(y@noGN7Ba%L6Zc0Syi)$=X8G)7 z_3Q=TWIaQ^T0V~Y#NSs}Ch9%o9VGDDW9Xb!l0XN{%Id+`*yx|?zlt= z2ygv0da}AQTUoja9$PD8_}U!e?67NS@2O237RLSTNo!$=ohpC(leO}#edEIMdPlyR z#LDFC2o_Yp2`$b~fUe=rzDmdOE(CM1)^o5XJ@np-=2lfOY&As2A$Vt}fn8qzlLxr{DM&RCNN5p5C`wq`#^QZahR_D%t- zoxN5Y6W$r{gdQ9rar3vU^Jo7WJtca2W(F^!y721lIVR*-lN04>5w}tM+9!I()e!+Q zYkZ9L!q9-7tBx&$-{nKMQ1i>~Gz9DbY-{iypTUpS#e>%Pwbi9>p6c%hT7ug7j6H1E zYZKE*X&`rm?5kX1dj#HgKI1(YTLmGgB#AyZ21C0{s8l>)u#}pZa^4n#t`$I6nVV)a>%jNc@;O8tuwn?p$8Vu1r#G)3Y<8!z^tq_u zIe)f%<_4sU@_$Bl9CSbwtLJ`W3y=clU|zuYg1)g0MWEf_^JT_EBKAh@%tP+ZfZEzG zSFn1zJ3}(K-mJ%-JRGJ&oJ$8PKMQ*Jf%{`u-D@mXe1YKDTW?8v z#J#M5CTd^x$t&l*AMI@2jx;VVyru}eMRj#2PIKcsMv|BuI_D51vE3;Wlse+l==&Kl)5wx7lVcXAVwdo0Jjbtu;iwbzpf!+ zx3?K}t~{2?efUHmeiirT_r=IB0WN;&WQ@w${SdZGTVsV5ffF)u$<4%*T?Um%C4qqnA{1$+8-swiOP{ofqFVu7s{L)0{Jy$Q%`hOcg(^oTP(2nG z*NCUh&1H7Mnz{gHAihYw40@l)ei=Vdoxgzv-8G0FX!`uoRIi_^{JbQQIRR0hEw7AP zQwsSs7x9SN8DC_;#iE8S{3oB)R0Oi4kraj5dy7&=&+U9 zI?Nk?luv)%jj09PAPA|nlB0}M)7G#SZsE+CibJKwsdUotBNp*gjTp)9RT0G&=!*Gg%wczAj!${jL_8(=@&C+#xj8pDu(<)eqtDEzFn@1PU#P92{lfUo zMT~EC1O7ytOMGY65C@O(y;$<84A>uGV1sV-)!nAV=J+~LkoLy1@K5>^Rr^7uLBw?M4k zmD>MmA(bl*m`E?+sa=ii_Q1AISYAFkYMq}$yrO#hYu?}FWV|=&4(5CQ-gy8rMNSK7 zJ-WEwMA3~R9xtnTa+{~JVd$#su9F{->Z?Nj*XI;X^&i9-pZ86C*~<^Np?Ije&uY zVR0$Po)3*YZqz6k4mlI}$KkLYllpikuv^KEda((^6ayrE?UgG_m8H|d%ZqH-DDz}79jMTsK$wl5B;t91+fm$#J@`ZF; zsMhi^976GfO6ECP)d93*U_j^(sL)k*sL%s&MDSS36*depuP0Y%7pqdj#w3?Q2sf(8 zP!-evu#7i2O-(Kin;;{K7hN8g?b}HU-%yLI9&>-D^z6vc&~6-LGIQ}*mOKYO1YDatAq*c| zYil-gSgi32aML@@MprMTD`Q8?^A`It2;=%Q1ErAyPJi)3Oon+!_PNk@k?IKVxEt4 z;JsVo?XP{Y@(Rumq}Yve#Ji% zEgl00u?|Kz9)?{b0BzUK?MZSP=(^@~yuwUY*A{=a#t+qgJfgCi)T*q;!){ppFMHSC z97Pet|MydDsU^WOi2!eD^l4 zJL`;Oi`7hKvJvk?@NjP)9yIpBR1-O^Tu0O$OMk7QCb$+3yXy(ACw2$hd_a7Vg##KWCiE)?dhykoN~t#6Ws=a5VP#IZBb6M<;5l8{(5O1 z0SqCfm8p*rR|)aY5sI;N`a)&?!_q&~E8i}0iwH3{C^S`#Z-KV**W&WhEJ`3@1cqaX z_{y=vrIW&)ST2x$L}*hX%)^(LKR$&7op2IH*eHma*wrG6xQHG9;f^tL1VDZCLXp~F z<{c2jLXlA8!VwgL5<%GPS<-_K(H5uh^d~SYfNN#y9l%7et@5Wwng59}1++zYCoLi- z9uB~8<%Z1jgu$Wg)Xq(>{ApMn_4KNL61MgDqvD)DUj5P#h0wE}81xL$;Qfl>3g^9}F6YTmq7LsLODW*)lv)D-9YWMv z!${MVn@~&*zY5AY0J=Q@$pT%-ic5x!AFRG3#vNTJXvDd{}60I|qB~9@4g=o)_47LJ8sI#N^m9;c=rTod4US%c08b?_W zjG^glGBcU7_vT=8#cAH_c$&BHd%7ZBC{sH*tTId|6TzryR_Cvaay6Ol)=C4~{a{s* z3x)m+mdCN0{vKSRtp8{iRi)Xl;CKSNAC_X}%`X_be`Q*v5Qo)*T_A2xiY=p=89b~k zeTHb~tl+UDO-3rIxZeb|_s4TD*}a)ub}UATC>-l9iSqCNFmY&QaiMhO?d5rKtKS;o za(4v6pz&C_{8Qzh3otd&Rm7G4FE7GB0FprE<&T$2XO3Ze5z^B0i84kwAXJY2z-ml- z!Q2>FKrqjf!eud1E+voBDvL&(sLc2X!ymIaKwAhBX}A#;0kP&0G1a3O3V>3GJ=K!n zim)%&g0%z@1zJe7U_1m%^#uns0-cU?5A*zUj~8JaAaKybH90?F8Uz{Vx3juRu&@*? z<|l24XIRdQAy_wx2m4?y|3Ww3P5|uwbS7PNHtQ_xHM2z~>Ch5vOhdy-x;cEfd9U3= zm*veZPVl{xK^yJL79-5sZm12>shn}EjunAY8Z(eTxu=o?$Tv6KaDz3j52O8Z?^nL# z+$mDJ9{mKYW^`%n+=z7whxM~FS1-=v_(2U0@?2q>>sHj{cBiX81EnkMK+oDdsS>3s z4G`skNFnEzN?#wvql(DF7qY4u8{JjNN=de@fX9*Ed_HmLrcCi3r@^~%uzb^4@tzU9 zRAe$HBfj?MQ6`;yLB3KSI2$K3OJr}z28us{+u7Nuxe}7rNl)41I!f%GvMCdQye7mJln`4W?q8x+n5k0y$bqGzuLhdVDO zAgTuFacdVTQ;N0lgMx(vJZcNTRnDBHs^M=8uYlMfo1NUs zJ~5Ip`W#48(M!kQ;~R6f;ZH|@IB1GpUgXfi&Mw9$Z^cf_w=p}cdm7f1O+ZD@aW;|e z@P`Yj_%fnSLm@Ifle!0!nge!N9qu!9$x=M2+70I!?787*??j}YyqsNpkTh+OM7;xD zK6(UGJm)54Gh+gLG1tug?3vALL@T53aa9y-63^ShB#74)fjHX18=*A&4Kkn7A0Xga zydqw)_(@q3_(YxnT5~8*T2q4{>Tvpz$A^6HmLGos;SQXXh?TJq&K@1f76dbBIn{?R1V#7MthjCaX!c-*D3O zk+`@CD!M=-ALlSq!xCorh<2W2MkuxS&SYXdgafm&7lMQlrMd6vPY3rLPkp*8IIHCo zf5JNCX^2NqI$zbTPgNFhs3}xWR*|2)U`Kj2kpilNsrfsf@m#BQ?EqoH{pK9{i1c;D z4#)fW8<}Q>cfxmHBcBS&>Df?T_!!G6O0?rvM4x%%)~-8m--`F#dnOosH+*Z??YCI? z>p5L=UZyMQxyu7f5F1Z>xM)nqy7lNr6=L%dGQ1-O8CEwMAxW%(Aq9T4eEEarr7yWv zEkewGDR!*XPcDW_$EI1L%g11;5|Haf(4D?wu4NuU#avtZ1F6$73pA>uELDm*N)GOvcWxi{CuWpavQSW3bo!g80yj^Ezhc)X7cTo9r zFgKY`+8x6~>6DG+M@fX%&aX*cF9|@MDMISj!BS3EL1J8+QX~ZF-K#e$@_0$oV-VsF_ zT}?`JhozIEDg;VgY)CO>;}k7-D71T`p&};ms3Q@td^}ZNcvJC7XOe?3SQ2N0TrS-< zUQcDa;_Iwj7W;NqqW&NE*A{d^8FVC`4j4-u8=0WmxBE$SAv>Rl$PgD3;tG%A%L8Bw zly+ItDJ-o-I&0bz`dd!6`|>!?>fj6cye3|;ui#x0f!p9k(OrW}Ucqi%vk!%Vq)w|s z7?pQNX;Z?Lg`*doD>w?k1#9KakJQwROTHd4S4lU=vzAGy!Egqqk$x-}eOu=l+9>cH zRt=4DMp{=xBQqpc)tG=5MQap>DnVOBY+TK}D;!(@dYcoVVUYx3q5bkiZp|}60}c{N znC-)O7)b96DkS_dN*Dgde>iSN0BPzf?#lwO&Qi7@AV-B#7k4I#32A;rdMltYrxo%5 zW>;&Ne)W<_2F05#wAM4W{!E5 z-A1$3qI;M34VTmN|6EAQqn!(VO}Zy0ZJZwM zFW?@nY1WxFx>D&vQl>T!Kk^@Zc|6m-8tBN^0Mh=Y8!NiM?ui90!WaVga(bZZjMZC8 zE;eLNjt|vg8?$LLpPne@@)7#`l6&=VN4;2P7*Mi~Nf0clzP!M7q?};|J+}tM!+)W`O zr6tbBl@~Ow7Vr#-CG4X(MQ550U8?NFH?nY4TYd#rKt&_5klYNboCAETi?2lxgkq;;g z->OL;!412km6J&gak%sgk+QY2uvk9#mUIJ~DxIGve=$=4lH!GhT?AfhWu@}@-^-`4 z9rQj&YktF9k$9^M$Hn7@!$&9~Vz`S{`vc?~YK5GbQO8t&NnR-ZkK$abKIa0RZnc7O zx{j{pFpSNL<|M2>+k%{jwSsH3tH`x*$7ku$MBeVtB(NcrG**TB%dTW57gf?f{F_eN z-PzG(w}B(<9JVbwuHs@o)Uoo<*YJ?mxk?VG`__-8?9qM{85^*5S;&2xi2R%DGBL00C+-}iyVkuEp_v{Nz5K*O}|j4yvbRX+6tg4v1a z#f!h2!-mcl#p>O)!od86NBBN07ITwvk01(B8w?^$@%HyLR=-?>>#S9Tx~?yZB((k zyG7IKIEP#-q#FH;5fu?z1WjQha41?i_pK4ENr!75d+LN)#Ny!%z4Gu1H{W^qiBvP> zCWEJXDtk`V6xT4IKCaUuoiG}@`MP-6LM>Fd+FcE55 zbK7mVZSTBoD^`d|1SUMT7nYEvP8Vs7We^#kJVJAA;;fymE^xjgbk&Gnk~;V>@!aAN zsEa0Fx$fCL(EH>r%c;U8zpp?|2JUd5bGgN9*yd|zw-@3nLROW+pYdvlSH;i3?X zrAu=V7+OH#F%^?|#|2NBM@5CIbbrJj@q zVv*87`$%b^u9OC>j)!*-T6b*kxx1nHDLF+M4VW?-ihzZHQcp%hvB+qsePlFLS4Kll zPrCh%ySFzM(U2pep?W)zyYl&*cmHwa2}f9?hRg}lk7^XI*E@ zeEMAF&mXMUpk9`p&+jRWRqyk7)rJ~zO=qs@j7Mksb17Ue$;wO&{zDPWX5$zHWik0$ z2+$kPze3cB&8I>D-_U*(qE@WO^a8=AIhvP^#Q~W3cMq=aC&nVY38OL9#IycgTEB(M zkqtjF&*`jnksRy-OFbrMTf^gQJF&O{bF&fgHb#FE0e|EBkjPdZ%%_WXO(HQ(=Mqah z>FCPLdsviFM>$I&{uPL!;(B%7OrlYlYvgz;(@6*N6Foi5FsH z_Fy7RkgqtHJJ|b(sj{Td#Y6mVz_WN4OF*!B7E5SsthOfLZvtBrt&G!0S-{^6e#tm> zGweu|#b-zMZAd$^FHSqMZ=>6heJwPH`mUKn9_GhAwfAkNsl6}esl9Jg0DM4$zfA3Y zF;DG%n`3GpFs62t#W%GNY{;p7AkL|MV53j%11+4|2d+)+9_GhAwGV8jseK^kseNEm zOzi_PPwfMnV`?8VrgoIYH?Q(LMOl{Tkr#3yN%SS%Kv;QYO0zT?2pZbBc)~R+k z{zYu=Jo>nm%@wW0Wbr^QkLdd;ynv+2vx@@L`?KY*4*Pu%%D~{4aK|!*DBn;o8_Y(T z<6-^jH{}zve&4~TThuSumgbscjV96=i5VGi2mz@?%U>Ud&$U*KF3~S z_*Np5w-c#D40%A%i@zfmJR=UHZu!VBNcrMN;#~%?0|_#Tz)0s;m4y>fa4^XO61|@( zepW-WP4Ho#ojjljrO80(G$=?gM`b?{+Z_;!Jc2L@BnScpb-KCd*Z%EJ`-_P&1$w`2 zXB9&v0>EYKklIY$_4EUGo2Ds6kc*#G58)S2n%+eumIc3WZx>pcO}qs4NbJwp)$fs2 zOWiG{t-zcb1XN#5K#B@}LxE0ChYgIG%e$v4hcEk4cqjfX96~ITagI0H zM8@JsgKl*4JUT3I7L`AG54o%BlGX$F|Em0CZ@^DVs15IqTpPx&4P)1av1`NF8iujP z*O^eE@T7UAX?W1i0C+AhQ=^5nfMwP?7a&@`3TxN?++;R|F}6RGwzI`2Q8BuE0TTNv zm`F>YxNuA^T6y=a<+m6{m(ERHz5E`QBKV2LU1i}rCJ{kwGsqG8b@k%=<Y8o|=L z&!Bpwmf>ln+PD#m3N62K@mthx6t`}#@a7ic2R?zp>e%XN!@-xkk{E7^whLy*)~H9>ad#UiSzU*bnsI>jG|Tc?=1d#7F_g#@fv&ADngWqP%YJzDev zDlPt4xpHCo#Ie#>$I(Oe>Uj~V#9Mvtk9yS+cgi3WV@RFq;6bsN8~0W}TCe)SbgFp3 zOU#+e*niP$9k5BWUTfu-&#JXv--;Z*Hlpxchv!=;#NJFs2%r#HkocfuOIM;ZDI)j; z5N5$8%|h2`F25_0Jm4eopfV3E^`__AauY~h3io03G!%4)rv-enRx59<4Ux2mOjQ>a*N<V;Vm z(f0J)rT6}DtS)M>3u>U@mqbQ8=1Pk6k$3gsl~lLsm^zxaGpRy#>z%(MOmHg+@E~hq z1;C!5Mo_NR6wf(4vyPa>fBUq2<}ZLG8h}J#iqe@clC!_@GQ9Psx3mQ zDpVaN9LtgP-@-z+$X$}m=Q0_Doi^%1hoD`>w2gb%!&_MInJu?i&f~LNo^xutSs^Nq zllAlTNV|RWx4v|qM$5GtFCd$ zdTj2au(@6J%4h#9UHGHC^hN32pSTz{zS)?ZoZ%o8J|Au`{|)NpRz8;cd9hI1iCVR$}Oiw#IQleXAKu+s}*=etlp@Z3BMZ8 zO@U?+N5%PDFN2D*=a^}ZgQPQlp!#`xP7W9-Ba9d!@ws3(G_~*Sx;2=o&0$bd?#P>g z(G0_yhHA(bxQtzgS<)aJlqx@zwhyk&E}Tqvv-fn@AVy;z3eE%{+`HIP4DLcq!OTHX z)7KUxyDTM;Ks`=CTTi1+@T)yLr8aTKwiMQItYO1epKm;?UEf_NFzzC!o-Fm zYR!#ytrf-omL|)9t1$0*jrbOVx3e6}jANVK<4~QDJ1T@zeJH z2Oq5#U?Z5QZ?W`nisi*cl;K0|3#dNz4zTM`b2I+bdBt@i5R|6hteiRTAUJ66AInG_ z+fq2LU%~+vTLff!bD-xW6Kh6{kOWpbdwFGMj^!4GXH{l?u3Y>@4sM#8d7;%&?ApFn2faS3%d>rlChUkcUEvDjPI+gO8P1zj zbevvO`#78##g2tZIL|OvV*)Nd5YS5eClsYq4Ktrx27?J)hO6eMPj`sKi6lkM7GYHHDPB5 z4`q{U4B;HijmlL>--v7uo*T&nSSMqf3KXQ$c{$4-vaY}JRZ+M%Q9SVa^{5UOU=vNO z(=MM7`uW>u=u?sTgspo68hV55#lN}ycp{5uk7d!D&nFIb-IOWbGpyCxl`V!|VC;wO z*ga8$)$N7L(eb9S;ypTHV)zuVu`3ta1Tj$i!w)e$_w+P5J}X-w*nrFptmR7|mEQRs zo+UiPV2VBLaKVqnbn4dmwZrl-8NnsnU(S7p9)rhVbz;uq`4-FhVG96jnWF=$f+Qh~ zVH&+caG%}K11bS_DwpTaVl8V83qC!E5#eJF@3Ks>>p3x#H`W+7+nfoB#yd|4jMWj+ z+=e6>-ft8|4;W+X|5jT?b2?hCpg{6JP|!6gqhxHeiWNq$bRHMrhBrAnYUc-WbkxDw zQye43BT*e&dx-Nt_O84+iXw{t@28kjOQi}nBqAzarNpZ|LP^lFEK4@Y61GfsDT?<>+aX@ zv?8t~ArUHQUY&r@%Ow4LZalu;C{9g#k+2qnK%JCAT%)m6?05CR>l{wRF`&BIHIb~c z1aA?tL3FxJZ8+XQ?*-D^xB1bF@OC9_m*)?n54&LO$%`tH9XJbRh4M^%?Xh+Vt+6o6 zc6$A4H*SF2Iz6ky*9`Q(BV=&7fRaXv166Rw?rUf!= zU}eOZwBkE-Omc`W#}_wP>IL{2>=4j1@>pY46F84z%Vo=zlPzCu|H~=ao{e49&?EyE z7LjI$bIK<5;yT|!$jN4SI6zyUPxZZm3+HNH=lfE<_E@T+4>a3TH^euX*^2}HS)?Z4 zIcPvJ1FZ(g2*Y3HSLiy&Ld3SH|k7>wNh#NudRpsQ7)mK;CCy+k^HB`rlb+<|@ zttZ(>#P+42%1jRduWBR~$yJ;{yxCRI#~;#aan$FI9oMel;bkBsY#4OjVLX_%>}L;( zSVV;Ni${o2?@yueik6ja3|R`wN4Eo3=8F2=vQ2|-^L@R^T%Q#&HVCI6M%X1YeL3u} z_Ddk*oARAI5eJ>#C-lFB(0*3_Kmlnh-puyDmCPjjb5?mM)G<(u_0Q?YxXBAE690s>9{b_UxlG{1YF2GA>yA?M^V@WS5|EG zATnE)cb@`@p*Syodmb_t+{24MO+xF+uhjM|ih|rD=KgswusL>vPO*ShKKtA9t+VFh z9td7=D5S;~#u|8+IMpFIWe!|gzH_p4X&(K18+o6%?PQp^#2iLY*>e%dfo;_u{nBZ; zFL3l2u^7tqd2@7Bn5ySbmll2~{Hy=^AYISGivU;zI^+P z?4*36ZkW4jZ-DIeL zuH|_bHca*jd9;ucduLVUHkj{^hv!vbAsGItM0=$CZaX{Ug*Ivf2~0=FmZtFi$|NN^&?c;XzWh~D68&MOHoAdZo^+(8Dl15RE%8dBN{ zla6UK6Mcu#xI7s#MMV`RhJ#y+E&wr!9gT|Yh8q_;QN;oPK@(HB0TV?uUDqd`lo(6qmy2AOHWrP!Bk9dG6eDy-MRFq>EuB5 zX$T_j$i}obMb{zd7RS;QLkYYx#Yg|jg^BIIbw?|JHFLBEb^lxTwMs)Dt?F!a+Uwm~ zDHu;lTDHH@BY6T)K<3iLgXa81X?D7FWFP!d%?T7&z72_vejAYeNpi zWOW8)|8U%Jat-nBY9@Cjrn|yIZ>j4nltwMR!U0}%x45`@!u3}7Z@aevDWGL1LTe?lKkut!xOH#(ws?OO<4NmH!5))6VgfTe>A>XpsN;USPpny zEa2R*<@)wg3RzrQ$OR7Ap{x;)2i)BKu#UAZ&C^x_gb8urGKDyex#f{Vux+DDq=BYq zBMHaM35XXoC+CYNg|)Xla{*-~B+mf2d3P4J;PTuR^k3fnt@+C(ClFKk=Nw6 zMWKtEGxv={DB&l?u_MUk?ARw>k}t{;i@`LkqEQ z!HW_3JgZ!gPsm=l4|&8{eTGMUcBrM8&kn_icy8c2;tALb@1eGR$K1Ls2;rz8#H#R~ zq78696vHmhEt<$vF~o`ZnsZKU7_m({7t8i)ZH@Y@Enq&UEvnK)R41?j3i2`RaonJY z0nf}cmHqpXx3hG3KLSfii$B6~9{=EvblUaIOJhL8RGJx=Uqcp@x<|E}@}WKE=|Axn zF7i}O@h&Z$#nE1Nf@E>(x8ia=w}{*?oC5vAg%~<|bNS8>1P6sGt{}Lji}C@}7rkAC zzceHm{8quRg%$u{{ly>3U(RMviLz4$ezb2CzrHp$@QJeyP5b(eCww&P;8UYx1DkE! z;M#1XquJAVpf~I2SpS68?C}n(8M+rxwPxtVM>D>~4-B2np6<|^;q8WYHrvRt@jI;< zI&p8NE>$i+2IFa4xOI*)Fwf^&&JM-3f#st=CmCd_Z(p27U2W?p!>N3sJDLAj*R;x4 ziDXYU7d~n?lPY|c&3)XKV~=glo`c8fwkI}3dF|y5k(n!(7hu$%R*}fbODuZf2=OwT zcMfMh2DwqxGfFk6jz4dx4fE}GtWUK2OSoH_S*V=+g>_1iVqo3Nnci%lFwa;3jVeUL zRk&)Dh*PANElA85&uQtooylj{fOj9LnR%ub-4e?WX!vn$hMbrJMT|_sdB)Mhc^H}9 znU4@t;$)a`&zTTY>sk{*9YZt-%YiAJLO9>>3ThCVUZ5%_?x{9$H1-l(U%-8#W<>s# zxi#o|4Y85n%a*gT4c9j#xBE>TZS(PK-Q8QjwD}?MRmvc=)#F`zwvD;hZWs^$Iy%=m zSPrz6JZyt(f{Qb&u@kF6LlsBwSRc^S*2mr1@AeI%Ak+-LY_>}FM_~Z&6)nM0GyrJ& z*ZRAkU&y|1}^%BO|VALTpE5j!)rq%H!#eQG7+qeP{H$65f`-MmueZI z;Wpxb@2yAvAp3$Y=zf+I_D!qE(2IRqzM5PXk=9x>Y~abh&~k6Gug#^u5O(T@9`$f* zy>q9yG-7`HI}L#5?Ii@5I#w(vv&pb0`z+ivp7)1_{LbuWQKCWg7d;wS7St6D`a=XU zqkOIT`-FM>n3bLNcJc5 zaG>(NaI$NuJn5KQhWJw@N%z@DD?_qNU2^1bVwV>klkBnvcTI@r(_^sNdD|G}rwG)mjGThE zx;;NNoemqx>R|B2Ezcc8A{`_QlJOM$*j)U^ymia2UO08WIDQQM$Pa5Es{t6$lb{BS zRV`qN?re_SKF$xI*c{AqR!mpv))|Ss4ZIz@5iv8sT0BGjiFU6T@Ts1cz8yelx7U&UXCB^i}{T3M}(S`j{c4x zDv^BKM)|<=NqtjlyKNB!f=j>65d(~1pye0uM27#$^liQa%YrXp`be6WgHyCx?{Az<2TBBEniYX}Bn}z8ij9p|bnT(HqMPKfbtS3&66g*E=n;-K^{% zhX#_^A@4h}!uBX%_Ijr~F&-BKVOp;$F=FQleH0rE=KRBwg9n40r?G-P4gwAm=ob#J zl|6T$c@ufV4qvs_@<}{ofUK(AH&?(hAdEz`24u^?G22s$=T?W+31`MMq9ab4ZEjvG8_i? zn|pC4Px_t-ILiF?G@?sN3loAkS9g~#i1F|T&&N>Ht8P~OfZcJn?ws_Lb6dffD4f}g zSFU@nv9oo(p>cC59{2&MreBcSDJLlK=_~lk=Y>3g(AdmnG86w@GV^9EDr_RF?sZd_ z?cFbBf$psJ>!LoLx`p|?^iVQb^7(%Dqz9C?G z(Yl0Z9n$jtYm8@OK~j|}wd2*vjZFeYW+B%U4_;#B1ht7orN204FLZThqjBtPOqlLa zIS*EYB;8r*ZMW5apn2HoOGGWisufwS7WoZ{-P#JrOpTnj^{awCHtrxEvvIqS|T60y==m-LoezG8Hg0SmHLq9dCu0hi+F!$5*z&?bVrWH$Zb1 zSq6nkYJQ>?)u!T;W;}UoWJV+EPt-Ea^)xtDum-|YAuoFAYb4@PTw{505nznXTepg# z$|+bib77<%C1S({Z0tCD^&Y@FM}d%S%5Y2!NX& z6FB|7cmRDQlIyH563I*!-R1bF+Ahs2M;r%{_)q{JN{Xb*$U1HPsds03z%d%AFrZ-3 zz7y#}^FR>41D$$Na5tGL)P7vPiH-VKu}j}RKp`I}Y}DiP&p%(kSIl01Z3)^pDyR1e zY$n%J* zU*GrFcf<7!w*5~maUp^aH51-o0rKuS@<=V>n9fe3Zr~Xa84nIuPiyt9An?_BbM6*2 zuoUen(U-0qkjJ@BUWpcO0x5G2T@_SEo-3)4UqaN$%4Wn;>$QJ{zJ=*P0ic1yd3$1` zUx#zJmZ_@?zd;c@whjLrh5CKov8avha#Guc)*2)c+t%0=V)CGB##SkN#D>Wpxw*4n zDdM4}WpzHqHi%|fzH>|k#$hY%4**sp%e}Lym=rE$nW5-ytxVI077Jp zW&&|e!paXlDRyc> zyaS`|>EI5l9WF zFaHSF4ua;6Seb1gUx<~@qIZL+N0RUk5y40jIK$h@r=d&?;j+Bd;N>k;7EJcHZfOu+ z?27}8&CFEA$#Fz|^1LqI7=uuxlSht9BT$eYeN#pC6zLM3`%E&X;3bb6SPRZwfC*ujtBZVkLTSi@eY%3HgkFstBXBu^ zx8ku6!vLz1<(=Y7PZr*w$qZj6()mui5^4D83Q>`c%B@&Kt(JorK+e@rwXjuc&LvY2i+H@cxOnMzpL>#(}n6%cHl-KNc2slPI4tk*vm;n+*;DH*QKPZ&$gi?e^ui4>=K`u>N&;)m1`Dvj>a&e;d39at zi;^o+24lk&s)aEa3OeL2phRG}Vk_GC3)!nC+O3SJ6>%6gur_vFE~b|IM&Qd1nt6&{%^N?x+za-}GiVLJGrl z+6Kro!xlgm=1adF1eOKuMozBw)@M)ClMDGeVm@T2uAInMvGZbAbre1`kxHb*5KrsM zf=z|gf&r;j18bFzuAHzf=PqK(g}45jVYG6G3l>0IgO%9Sl4LIpQmA89&8tJD36OdZ z2y&c~=b6ga5ud7_8r14=;y+nAN%CDFy{d}4mfb!wFWo~b1R}ZVD@(1y)?2b~8c+bu zZfLnaE}LNuAA~m+`Xgx&$={dxFi3~KsU%N~K-NSRiLH`|Gn?bmw-8fJ2+a=iahyKZ zo_`3w>DiSDD^|v36|Ny;cyq9CBDxBmzD&ZtksQwWE0GYV?Y9Qo%@}=s`NAs(b7tQih)k}sJh)ih3sW!w1Ddb zfdIrWfO7pK{AJ;x>VFEqD+NWqqWijYSOCJAZC9q(T1pP%lA2q>GnInc$O=;Zvv}gL zmNJ3=);`>kOb-~DtdSq?-DwDOoq-YbRjq_;4Nx>=Jp6@tvn5&B`4v8)t26LnRG%7< zmVsp&96=8A$_f0@6;yg)Al0875dG$o*1E?(Ne$wI3djfDVZyG*vxGsqgozd$g)4Bt zM7q7afZCVJq*Hxzet=(RdgYsQ=H0!Fmq+G-;?y3LCUAuS&p=}^`FVP9c+kkBL?3P^ z;u$e3yr{7Pu{;OU1=t)B4Aq-TAq*B@i{XEBv2_rvox0ITzI(y+7c%QfK^HxaS+6-siO?FvU*F6r> zg1g~-TW7Rp+2OvSwr!nFnq}QQ4%)qQDDwh>IZ7kAjCU)YzJ&uF?(sc43H@R&~{%4<8~B11TVkL0c8V=W591^6fKp z?*>r(W@squ@+p9}+v5}I5XMeJTF3YS6@N6|#&Y{Kg+xB{=Hf97Pxy;3O_k?%BN+>N z7ENB=taV5NpoAR*2eHdG?aRLmWkA_jP1iWw$`Z14w7Dl~GY7htiS3Y(pY{&Gnmv z?rnq@cLd)y_-&o>TQo_YpcYLp+$x$_uICo2TR96?118?xH(fvXkq`cA zc}7;1zlbcAzwVol8t~VfR(BAzTfk!yRs?*;T5ZG?ue#=;QA!`J%|Wg5pPZl<56TA7 z@}cZj=S5{uvGZe>GLjIi7@Lxfj2PUK>4Oca{90|k)9jRZ`#&&aZtDzb#@yB!yX}fR z*R<^_ptMZf1&(wJ71^oqa)6^dGp12mBR$(v!WbJ2=pe}o2ri8?_v^4yQp>Qjcv56qtwJlmTK~_wF+!aCG_tQzh$a?8d<3R zq#C`dvos(u%WsjA*t|JwE{a?!#cLOfdnb^P8{@(!%rGv$g07sy6f>B-Yz48NGpB!p zh|Wcem5)5~ct~nHBH2hES0a+oT*NZwuevm`mqffR_M}^|Ez-}9YYGL^OABWzrzVP% z^GGufEi+aUvkehpRL+qbtzz`1Gb&JDXzslDw8DzoI5}1V!?zrP3Kb*cZ3{fZ zyoU`Z<5h zi@@Lwncy2qwGr|M`xQG7^+OMgVWrWOB%8_S$o2;FBnwMg*0nJ#UCK1Z_H2fueg_2~ zcWt+Gj$%o2U3(^n)AbDQ%|1|DMUHiW>4#JZYgDFEDeitKsGV6wWmCN$zmm;a&m)w8 z^$F-O$p&C-wBLHW1!@-zd6j;rhK# zI5>}geg#erQC8>GaOn;)#KG#5)2j?i{L(2y^0j;mkw@;2LKK=ki@F{-msH;5z6oZB z>;o2-{L8msd3?w=go2i`VhEk(&BJHR(?28m9~y%LxViqD`CX-;&h2iv59*uQrNHo8 zcv|N(d7`zFu?4^o=}m(2_2dDvEs-o)yGa(NxA}jFNlAW#i! zJs5b4;5%r9qrPrv{Ob)gYWC%#MnyYw9tX?`^U#m0#k#fg)Hv4_9T8iuYx~yu)-lKy z*se9{xSlOCznos36=XMPh zvK~5BtwEwcRd^F%@&)ngjnuAa43(Dj-)jMCYYemTG4^EQao^d(nART_EL;mf0M`6O zT|0AbAO5L)f8O8mHS8QVv$SLE+Juk~eYoKyt$gr^8tMgUHyI$XDDxW&A30l6Fzr%&^U4~dA3qmIsEhk;b4zp!(Yu~En? z2yDjLg5Qu%V7x^l{>rf>Y$)Ji31_Vv4{6*0Xvvj`&F<_=K-7GXtra^55~R9-QNx5g7-3Q~SJeLfd!W*qj_hc$;&#dIg(e z;qeYD`cyU&h{P5NHWJ;wl|=a8=T#$OCY8*sHS9m^NQOSelIgZj(_#UAoG!H01047e zL#mPW0Z%bUH}(6F+uygx%saoA&RnXTxL!*$9eH|u@X~jv35qfhjswfWZ`Gi;*5$KF z_s>8HH^ZPxUJt%_1yo5n*+LE2wwnmrkV<@BWr)wxeTAKpBX*|J{X0W%KDA8Y4mS)x z1eIzUDICcFO#NcsnlWZ(g3s+X5Bv%(BW^GB1i%a+2V-CimjeN|rWhg0io`m0_cfFU~p zczj!)oh=?*Do&k8on{OaR_5YQM>tJD6k+YZPeAPE6GLLU8x=r@b14HKVy7*hUUJ-; zoUEYh5NGdTTLlQDpQo7{(W$V|;t7W?TvysR8dh}tpW?!qVPbpvvr>>HN?@a#uI@^Zbr%ZZNd6QRixR0AV=0B|BYd{&wleKIptbEADsT zhsweU)YN7J*vUajHUnjglc;(#LB{4+@-6wCoyaOt7-?y0qU_Pdd?*t87MqMR(Pbp@XShUkVX`idn=jyIF*ZP`Rjd$J=30On&jxCKFO&+ zGX||ug5W%wu%?Xr0cWv#AlLgTIzk>@f(0h~pRloDy^%u@GT{F#a$y{>-+~#~0DQnnP*C6qSy+(nyqqXp1fjet zLt!=co5(h?@T2UX&ecE?J^UcA&@C8@hkO&Hvn_F3&ferZ$BAdp!{wkmEo2#Si~IGs z5PvWJ%IbdrEY8@GMb=Oh-F~ostlHN)2VTsi2d(TsmQ-dhbaej7Fus4iGvbBq0`p!J{J;|kJArFr6%n-~ zHi|bFp!S9MU!I*d$G&GRPx#hY(%cLUI*x_mifxJJD(^^LmOIJ%&^VV3UwBEUirVcx zNC;*E5}A7DrW^>Z;-VqS3RoMjBzq$&yIG4u9ZV>8jv(5jULTdIlf{wU=IOiUo{8o8 z`SRXdBHs4sEEH-yCxBYqatvMeu=jggCN{5Yye6{pXIK>7~+NLiLYw9c$c_M`{Wg!r-o*LdZ%ah(ymM@ka8r= z^t|qV{kr?zPi^^Y7m$H)xF->sPNp*eo4fTn7yu(+JutjL3Mv_i1rjDdtPdS107(cf z=!L>vJ-Z=9XFrfB>)8px$sQ0__~Ft`5k&%V3ZnO{pZu^aZ0EKv^aNg68hY)%UYb>Q zQti?hh(8oa#pPI6oD!bfKxTdaIeBWxN%}~e@#L&RAGz~iz(ejeeXO#R|4sVv z<{|i4`S&Mzi|DV^+rafT4<+vwPO|)&SQie0^imN0sp=dG*O_f$SFfzbm!|?9cwbR% zZwbA>id>z~vOkQ59TX&&y0T0O&b7n|u!fZLDw_*b;`tvm7f1xJ83ARofwWQpCS-e} z)|qh7OARqijTe@nb3kykt5S=I(H21cf{cn|B_s;B8gl+)fK_2t7Zqp8RK3-U0_Ll@ z45zN=@7(fO24JBKrg+6;*NjhtPnb@|WWtfG{h;0lq1Iz9Q4Wnh3n_kCryz|Si{Cw8 zym=QsOaCj!q07SRURWQUhwj0#3FX39cpe_MU191maT^q8TWrd=U#)@TVo|5Bs%?k1 zed%V!N&z%^(mD%)L6!#K6X`;@^x_<1gdK;4f?^Mczy`bc*}c1^L{caL5)1G5g0?b+ zdKz_Jc=YkgGHJBg{V#F&o}uw4|_?_~7Nk3(F@zSw8iC?%6*82^tS%R4{x7A1;ydR6kLqWE_V%vUdHiSm+3D%fP@H)44uYlqdbN7M6E5hI7&fmrApL&r)TCTV6AWlSLMFrm8Y%G2M z4L$*6ctgUIg4RV0iS7*fZ*Jy3e|v?HE`I^rxaFquVh=+?`-&?%)@#4qN znN1e>^>uif4lpy~9&I z`+Eihv)NtaolV(+LqpR|T_?u7vQxb~d$Y4UTHCuKX2*fK^+q6;-L^g&7g3htI#K+aho%so5`tl*7j0LeTJ~@l99tUL+$J`vb%c2sA>W~cVfy(QQzyniz zLSs$Cor#f&i8qfQ>D$@f)z*K!ExJ3i=gr~S-O=IBiD1W}9edLU4s0Lw&vZoRgZpB^ z=-AlIo*gF+gogL+JJ@lcH9VV$E$rPMo!&nbTo|A2DS61@H?li=WGc3Ec*nk;uKqo3yE?k}v`6+Q zc20M8FC_O(_{Imf9}k&b=3JFScN{(>KKrV=@d0u>;$+A_d6(W(k`QxOF5(anhtI>S zFwpTBX%uy)Bdxv1qGPe9-6OpV!N|^RXkXv)&i;|3U0uh=4$SQsJQM}nG|)OUe7rjv zJP}MxA2sJr>>mp>B|45AhzuTy4R%Lbw+s&M*l}}Ucd{^$HjkN zl;_>@xpP31IIJI@fz}$o;8w!HEiMcmtk16FY^6j+##IH|(QFV78{=SrA7Sp2wcRf~ z$~}kf`~1?^@4?>#N^sm3a5+cUIO`#qt=&1A?j4=zJ<>Pl4-CH9lkn|2*m^KKbu_VW z%fy~+S4VrKr)!7*#8mvy{u9~QU}$GBJg_4<)4M&>**3j@Z~O3kqzXh6%bfGl^V7Ne z?*gsh9&zcB+)&>Q7Y-gW%_-3YV&o@4oTNl1NN)(5T zZwejC3=DLQkM}mspBVKYj85#Do>-WO_=1sCaP&A3+#c)PJ2BE9jkb@qxgR;IGy$g1 zOVh`@g+=!CKnK`!kf@bm&upos>V!-o3nyxsI?GEakh<4GNO_f&$>d^Pl*#9l39||6 zg{Uhp2$z8SGvHa<6>Xg%OFk1Pyz?%y9dwr9L^S7%`FzN7wqqrpJO z(2jkP*pB_XkEM4-s$}fyIP|&bXlP;kvF@aqIM$a6x6StKm>3%$J2Wz~GZYz0kDLgl z<`QG6_^~71!Qp7%@%`bkuKvuHuI|yJ(+jPA*`A+o=<{7u2lpRbNcF}C!tCb4f zFM6?Gu!8Yw%O@e+JB<6@6CNxu!DY$ z?-q3kzI>+g-8x6ZTjiDHm0aTz8g5awdwuoeH?Dt!D-W7`21DUmU3~Hpu6kLjS6vI& zN$JbYZ?RP*a=mP@6}jb<$X$OR8a9&*_|-~4tM8i4`DnHm9Y)e9Kph@I0J!MBX7g>_ z3`YZ4cl6LwK|eLDyRW^ut*UkBUh?YWJ)*a zVzO+P)n{F<1U>h!AdXNluJ^uVj3oGc07K4Nh$_oBe*h;*i=qRCI!0tltO1v|3^FN? z>uLM}Z;$LurZ-S~w6=;@Pw=%!%ymtyxctf0r4O%whsi^A^M$1;d~yb05Z6Ph#lbIf zxL-T3;=X7K6;N*~FtdvK`tFz{*jj2ZmPAPYlfUFniS$S~|I{g4eN{5mSfKWRLid>x zY7H6BOHP!ByFO9TRfY2uNB(FayAtM#-y1S@tD{#S6(tLEAUpn zEJ6PgdoWs?J6c+syIQcF@t?l~|JQ-H{^ri+wv}RRV6|HfcBn-xqnpY+V~X%e{%lPc z9d`99@;YE-q1LI8*Wom3V|Vzia@RNb(q@0J5C=p|^DY5im)`yo*9i*Ph{{@zF67Rh z$=!W~VE{1O2o2(cYta5s)reFHYyTFdh zhmbMNV=ML0GEsb0b6ldwQnHgepZTa0h%AyoA1jQ#e0CYwRPiSI)Q>KH#`IkL28#m= zIDR)Wj$=vUqlTkN6u|2bB;qrLO#;usKm+h<_flu%vc6{S>7(4EYbsJ?e>!5>m;~;` zqnP_v!}_oq6iz4S8pyi}@UIN-n*ZoI&WUPyS22ZZc-K|AaC;%LHYaXh^Okzzj~?6P z0KMF`y)`QRW+)lf6IXNRDovR0*U|#@gQV+$%BC;@w|MqaHEKbcb)`+Z#ex7~d4#_! z4$h^oMY3U*a#gXd4qISd{=v&AQ;c5ZgpEft#Y@1Dp1R0a60Y49)ZgN*VmcP;00*koJ1p{#7Dy*kqwqP;@2Sub-$_Yqnb}|F; zs2eT>z6qzM&ib?#u1XH~ppx*QX$D`cYOFF$c7NIox zs4YcQ(XDT}k`?F1sdHi+>m)`N44%|-1F$l;@ka)S*|A1%{n`~kGKKF&dD_oz$nRZS z;zCAC@xx$sqms>;M?N$iNJLE0!PED1XTQr`dd#dnB|jBOlEe6h$E0&;-kYz04&zUp z7k=Te@rz?X;sLw)Ik&1)u0f9Io|$me%UIl#2*egp%w$h8thKdW+Sp_jIexj50|IhO zsV-{swe(lHq03b;U}*u{xv~g7pcFdm0TA;4QyikEl}slb*zr3w;*^N6x6xR5uiyQA z@tym82ndi)L9Pz%o)gzwi~25JwBG3PnLv0j8q1bkxRquNT|Bj$>eWxxEQdC44Sy>w zh(q;n9gnPeFqWK2hs+XqRGO_;ASE8lchg`zI_3@fwEPk;AqoxgtJc`qhH(TScA64M z>?CB3esxp<|7uSf{`+unCd}BdnU0hsWVM}4CBh$jr-l-#nQW$U%c6ANX!=&W(g|E2 zjf*V%{Czkdn zQeV@(Gubs+RIC4nA6t&jN-iuLxh^g4zVjlshifcXlzWm(j)x2+^;%uxw#@Q!46X|- zYQ+T-*|JAwp<%-h%|b_OacpX{*OpP6IFMTWM8|2r3Cn8@+Zw(f1{?}D!mej zRIe^;a?Pj)mz=eRLfN}c|M13z1AY!%^otv0x11ENBFBxq*{8k$3yDBH8p`w~<0(=4 zGFj^2(i%6Cv(h?i@Ij^br>&3|5`bR)sgCRIfoP%xcJX?(?vuo)H~7Y4kn_`V#=ZrX z*usgIp`p>T?7VEVait;$iQKBlF=d)z)ODH*q{EvH&laoK$PmGvLtG0vKz8GfYQA>8 zMEQOG2a(qt3J_7J;)(Fgr|$qh%s;uE|Mx9eVh|*?eDXa?=D1ejx4-<=`HkWRzH@aG z3b(ly%vKkHCy*$ovbm1KxKbEK{@&$M!{AD zI%)KoC;QQeNt-NCSKQiRe*p7Tas!J74VA=22aVo)?86;bd?)b4-&}BnN@dA#G&B*I zEyX^n%{CTQA;jz0W~1nl2=3Wz8_!tHIE^#5ke*gp+~gdaY_fU!itp{^F+)5*U~6s4Xo(qLOpMoGZfP zM*k)@un_9eKzw_+^$&R4x=u8+f9G?b_}$0nK0dc0&e>DMvp|{E<^pp~{}_&D0>KzQ zO~(VV=m{(KhLN;-L0}!0>+ui#y?pj@?&(*E72b%`6$Lm^zz5}bdhlSA=8uZe6qiZd zyn3Kwauon&CFb0jhcXLU?(S*c5UdsiYXVG9i(j1rrJ-Uf>Jve&xRKQ-5v8m?)yAOg z6N)JIAL>1!5vZHFRo}s}#-?RkZaBN#{oa{U+!IRn@6GJKZLaV|uG-s#b zD7tYIYjqb_>XvP-zO8!P!9W;xhm1)?lE8`wtc=#BDz|7@q05SMbs;j$#2Z667U)JO z2P|^QpSmTIC;jvtD!amX$6yOAy<-%TDpY(~BdZZ%nVC!q_NInl%!b`Clvy~c1VM6= zr7#3X=V&U6_n~s)dvQytcMMWZjQ~49#J^1Ln+-ShvaJ});H|Exl&>4eajcAc4b%XR z&U9W+ACWFW%2Ie|zhrG>UWHVGCNM^9IV9t-PCakE`pZh&Wsot_~#Xm#nyY$EE|Rl5$0%QA1^mLMM%uFJwO& z-D#5r0*hNaa_6qtv1%zBcNA z`WLV>bSfg5li|npreMIKq0?rrEsO5O6P=0DBsyp*sLsbyhSO3q{j)?R#$;V=Do26m{; z1_E^8s}oMc1Iyr;+<>*?XLtsd)ev@OA(ju%n9qw4IWo7eJMeQ3c(X8qxc`J1HZY_= z$&Qh(2ihQ<8bEmd!u#;uvw`6^;KvPSCw@j!nQB089~mnBp@}5oM;x$L=1to z%lDCX>E$!QEwW+mog2ANzi{i&Cl=WZq*Cb52+GJ@JcS?*Bmy#{dw~lil;B*v$KPht zOaUQr=t_eoa!jP6X|4-*(u>b<9bR?G50p3`cZAhvh{mU{dW70-Q> zmFoHFi=BV>ugJ%oyZt>6M@UIBLo=fnlqpLmRxH}`$5#cRa>zn3Lj@Pv7n;}x1E%kU zKnUd1U|=igp*RPjHcM4K0jY|5qG96(zR9#i5hpN@4>oMJRs~1Iz&sF(Lp6~N#MqjK zE}>+%!GO<#+ z4jN!=V3ZM3)sjBZqe88@tM8KL`6tsh;Lt!c8+aT1;!$y%qjj;AuC5>aQmQN|aW065 z!1or$QCTTEiECSNx(hBDX1H-ns&>-=lL#?ouvg+0W+dK6IJ5E}{8*?!d>**R<-k`| zG%SAqb?)gG3?x$_;1a*uw*m4*^+s%{U! znMPbaG9{H1jy#&GVaXwr>!3FWDmAJrkAsQ{Yj1H^RS_2AyR#%nnT{}S{aLem)}|;8 zezn%@tM6+2(sd)2y0f%vPM+9v`t-#?59SSFaMNZimNcedgR=o_P>*~LONCd(WoYyN zE0^M?brp{#4zC3{5>6S(;+N09Cnig*O2&farmeKFewq4R=>cR-WYg(RBy43m0H=# zln=!Zg_FiqG-g7m%vc6QOA3>M0xamjBMM_Jy|};ludke6PX(eeBPAxu3I|d$rJ)l5 zjH$4}oYgFRk~{k`#8e>D6;vi1g14(BIL9HOWi40%N0gd!mUB5y_h29!n%-_^$AHy9#M&K-t2(=}+TtjMKv8q1lMLavxOZ8JVA)!+ zVEOXNJ519KcLrK5Z4Z_Uk6>J+*vZuwvob&e%zRdX)R;{#Sc^0pNE_D00-Qjs^TOoe z4d`IQAH+gLr;LsAi%nc<;l0(LG&0G!nVklrq3y^{L$xN9Sp>gMkjYy{NWeBWn*2`t z3hrWTLiNtNx0IWe!x!f#{32MZ1Y;6jZug!551S2Qg?|CLuy2Cd6n;HVKjIf~cZ(EF zi*42O*JbYdCFocax&N$1pqH%kKD3FhK<`B^@ray#{~(tkG*>$beHU&gPd7zeCn0WQ;J>h2qt&F1?0UkJw581E1#( z4}_(4uJobwqg`mFloDjh1aV!Y%hve_@T zeia25_<^jTOf{US+V>M~Yx1e!#c(3PBMclF_-j%Y8c6ONoe7J|Q}IeRL&t4c@pshir#9zh$TZ-Fh(ukjGEz@ zkQoMv&7eTqLirC7RGLnvrcv9jn(n|=!`@>LGiIi=cfEmdq~;Ni31e3^A6xi= znhVa-fwc0W!oJZ4f_Os;Oa%(w5Rk1mOd4=@1DVsCUF?YGA95qm6on0B2QA$D3H8_t zuRgWlP#lsl)Fx2o(as1kJf>a2K*b3yWd8J-+}R)Oz54W8?%q=xO%K!XO06I_W_=DD zac6p-HW)F^5_X5W9XL)n49ay-h+1<`SmGdc2Pz)#e*%MX@hmUBw94G^pkX#uV1l{` z&JAXK7&+MiRJ;6~=)o;%*#`kbB!PHGM1KNhi(g+R)&NgMnT|15tz$ZJ+O07K=Y^o- z!nzdn$E7a^!83^~q`sFz0qR;_25dzhrsB(h10`Rfp+rCY<-ErFcO9_rcF#6uLIlS3 zo57igccW?O5xw8WkhN?E5|($1*>a;ma8caUY;(?;f^zt08Fr#KAhM1uteOSJ&uGYO z2@+h3EAZ--kuK!o>+qJg4r|>uXf~XQ&^%BxK_<|#9vW(qh(LQfieRKzw!{MUi=ote zM_WMGYD41;%-ud${ch$Wa5FoQq3`9D#?66Xbd%S+pqU6wi|V|)1p>XBrJ)h@d>c=O zOMII`sQMIwXFVHmCA1x^OphCwf0fz4148|1XZT*#2DXR<=S)j1I%PJ67D6$zMem~Q zHg+eX?&kKYG$alvWk8V3umN$UODPb+xVekp#QmZGvWe^1WM`l@WM)c^ z797gbx$nV%IL5qq`cBy~kD)X{T}LbcI>*ZadKTW5ysuq3!GfJO(}JF@xn6&q|M(uZ zy_dm(4KOqLyHVobpD4d0U;}|FhGv(r{_z)&e|ihekF3?-YW0*m^RJgrKZM9{0C|>W z13W6-KuLZyVS*b)W90FJ%Yghu2in$A3{=*%S-Nr^;d+jFRs^xrYKQd`g`rnh{@j(X=;$C@lVqv}+1^%+LzG|2 zfA)gYHjL^}SWLs<+i}Gk*bjZs&PI~3ACMTq^a~Yb&&ZG=OrGa|^d#lUHw%)9)f!?M zKcGxjIP*S5PdE$F5Y@hM78ZcxF`K*ZG-9B#fAIe`rvhL%@LK{B@2oj!yYGlZ50)V; zm`=`R%)N=&0{$>z>Ix&bt^?mq@_$8-6M@-i1UMQ`4zK9vTn3^12Fz&h`B-o57=#cX zZF#8Vl#73>wKri)3(jP-5I8MeZ+0PNZd;$34y4WX!n#)D-0(-`y%q8cSsgZfZq~0E zBG~G&PQ3}Z12$bLbh271amA$atCHizi*Y&q4Gv2(^4N#ioW`VjXHAMrOB5A5`7!hW z_Bk~B-FqN5QeH&d{Jn%5A|m z84B6`(Sopb!!M?$rZ#LAP`3J8-vWs~c=Gb;Q;Z*8I$#=$AfLSC1WOCI1qwE91KcFa zq+jmV#QWB9!+Iz>D$+A;1vU-kS+wL9eEU{sJ6x!3M7X1 zXUrOhN4vX(Vh@eyot0-3Bp@P92=zm}`36oOxIx!MBQ*=@B$1wQOO1{LzPC-Pp)=C5V*8syj4vU&Br z{SV3J#iIGoE}4^6s9iK4HWM?w);jkJ9~7)>Uo48S)KN64nOB=Zo*uw$Dc?m|BOoN1 z>TH0*N~_ucdFSRYU08nau866-@^29e^7VU5r+>_Sda>~Qg5X~sp3Xfu$%3HLe=+yj z)%+Ld_$M;jp(L{?cm2~>1cJmrh-qK^OC=8Ag><|bV_QYIFSat`yJo8v+a~QXYqROk zQNK)on09X)Okx;u{dvrs%4*U;*`aSW@VmS5<>K|X`B4Q!&9qD$+us*?Gd{K@ethpHZSQc9Rc#%5 zTe!YTMd!`fsPNr%e?NyHtmNDT4{YxSJ9u=vwU7>5u5YEYmfK6|2vYsNb&&BoPo$Ja zNm+!HLx(pqN}$3U5%oGN9O&699pJ)#5 z1C|G5cvFeCbadLA7MzFWRqfSSbx*GVu1F*#n>mO=n~kK2@-DLz7R}e$zm7oH$iHs! zpC3YBUyWxS_c=Z5G&DF#VWqKpxOg=|gs*8Pc*2x!!(+y)k$O~>X;TJ}NSi;C=?$dI zwF^v{J;;?%X4vD<zCJ{B1Q>{&FUKO+@1s#n(t`km&*i5G@iIiEJg=gM4A9(qN&M znqz;9I@LOMNye&kC}@Tv zdB{FN8yO$UPhbmWF+lnN|!rAVU_WP)W_Xz|>jbxXYR; z^2Z=Q`PxB!YM$O2QKn}8Rl#W_sJtu0>_$-}%_c}(_cePOs6%k=uMq@UIz-pk+}Yp| zT_~{-lEMMg5X-V_qU2MZm(?41!7BRci~QwVC3h?KCcdjhxDkj*Ccr#!G>RD0QMlk1p=UVvVi9DjjPPFSpynp%S zv+I0~gbIzBjdLEd?Qfy3D*WC&o{r8&1F<2iifhP(5_tq-hx4)O4x%oMkE^NAUn=X(3;kq8JZ4co7CAU zzc(ePred(&HHFQ1a=n4{r&#)J>yHGXfI7DR4eBIwcQ2s`h}!ROS^{rqvTjJCgQ-~c zHG#mVqAU;&kIux*jV&DZ?^}M~vhlZDn}4;bB^t5vKG0u)&WncC$Y8YaGID@ldW3DV zt{5WN^bK~tJ>;G>XR|B}Ct!)a{`A4(vv*;?#HK*b#oYP(f_CioHsp1Mq(Z0%mkqtwRd|ddNoV%i7JmMg2KoS0V_xU-+F3z3>ad0Y_cK z#8+5Lg3!c+wOL9p2|-_6ke&KKqdVjz&#Z2+Aqz$eL3vOdUpmBbemGPgq1+yYqsL0< zutu^fmouw-O$BmJw}uY26|6$W=68nW?*9?8uCMHZMiZ8v^2=q_T~mIMs&6Oh|EP@%pL7 zYhNPrf}V^>i2L%{HFa#1`8l>m$>^jG_mi+cIhR0j=J0qRbF7B>3wlkMS!?HpZBQ*L z%#{qA6whxTkJfvjc2n_T_FfSi|59X5zRE>>%#=opIJeRK_s-C0BojJ91_o4OSNfa0* z95`PYD1S2Ci{Wra*c#}OE`7@%ok6zA!*t?i3Zxp4ymBfBcpeu}PRthEzSt!YitYuX zuV2nxyb0vw-oMPKE@RpZgdqmV?3KBz=OM+2HrllhAm`J4$=kx3Vt z6;2Wz!Uqz6$}SkRV1;#k0UAtxTXhWewK0)Ad;u>$hza zG$rK_Y+K<(uy7z54H0YnCt?If0;1rf008rAYS4bdCKMx>srM}xIYM0wDM9or52fs& z9wm;GOSGf0d3A~fF_{(>n65%xdAnNeq1BlaXzgmk?&j{*Ne%EA?QZs$))T5)LYX&O z>LJv1bww3cQG4iE%0^gIyo@N`R+jo)O4V3&O2jaBR_FPv++1W*vC-kZU2j{$3a7iK zYeu%Wf`gt4n5Ywsv8~jy+eL{A^;Cz%MIdSuZAId8XjH^8&J&gBm&IKTSZ#z0^y6!} z2Y;brc=;a>m?38Q3Cd>O76oiS6mILxA}tF5|L5c>s*~~i;v;b`^Eut+g%KF6573bV0zQ2C=!VFm_wXy2(Xox0 zK$^vgbGJTUzV-sWpg0*m;ZX5J9TF!Z0g59%s;yNf9Wu7@N(B+jiJJu&k7M!UGnr_p zKm@}bt@!6VFg2Um>G#bK9uGFhQ*FPE%tXW6rtE)RegqM;2d3JCK7X(+6z*u!xQaA9W~G|1n%rD@}Ide+51-mXG`aBt0Yba9$6DOrX=kC%_x~}o2Zd=_=U4ecNtRf{1TN2TSF0*`7 zdd7jFi`x0~e`5u1^*IF>goQ4Db_>JAX#r-n5Z5Cl@KOtP*j|u7Y?>7Dg*dmNW$`lG z>F2v^vpRcE@9qf>&mW5qZ5j0UY*IIw_q231ivwZAv8Pb4#*phO5FWJ7k8MP9J9~^v z-_dTZTsL(#nvJ4zMz{i$xosRs;KgwCZLGen55I*@J>XZpOZ}_Y!uy-Mnti2rDWF(! zR4;PxUL>JlD?oBCBzyQ7LMjX%8!H6>R57}_d4ROqjVZoE>eKSaHTjMau?zlqaC~P%= z5#rEF8R4{fXqRLo*XY0OU3qs?MHK&^Pw_;L1rKeSw57C)3dIH23KbU)$EHnMB56{S zv<1|2Kt*=MwW1>80o7utMroSrRm{#K221RLb z#i9L{u@o<7#hiPsIAlSrCH;0@#v!Y+mO@pOO|`tb#%jTwGs6NJbSm-o_BAlwUt=ZK zSRFf5YmvJtsJSSs-CC??VDGZ9cKfMhAs5tKl=-$c6dPP3uWi&r`d7tT;*-BL{PE;? z6l6G-9FGB1!1>A&oq|cVIwI6$r)n>h83baXHx|eJ3zdeYWWRS~z(t zXTMMp8z!|fGA2eFU>kd_v6%|qm}lt;GYE?bmoY5$*$|>WHepy%D7jl`y?gsr^+lqg z+^SW|s+_jmzawzpXR0~p!dQK%;sY$1qCW<5s}*3op%08b2-}Zp7oMRDMZU28*#zTq zs-So&34a&cLSFg0%8J&)K|7Q)B!EJ}ICGw>Lqiw#;SErMrJ=2eGfRXgTsZY*1G6l^ zPhm1$XQJ#zsnHa8Uy#(gd0Q^Lx36+>f1Q>otV$uj$7sxu5&Eo!E`(t<|ba_QlxN2NS7@hsTDxAAfPPd8M1^-fMZk z`CTpI)=6e^ksLiJ6IM>R&|^Am^M=t&7k$4NefxIPgys(h(TkN6;Pz@Kj9`8jNJV<1 zeH?7Oc)Y@5aBlVxZjbVh_D6=%oWJ(0YUwqgC`YSB< zCX)YcE!d!98ekI_^g{JYr$ug5T4CQo`3)cpH_~`qKh=W!EsRheddxyV1E@X9*Pvqg zjT?@wUf6dM$1gtuKC6mXOl9Wh%9(eu`)mevF(V^z>uJ}uOwpX#Q~BBdRFk_n=yRe4=Su*S+wj1A#UDTCLlUyNBBiL5mgfj5SGxK$U8d$nNj zu;EF=;nzh%R<;i$x_v;`f%~}f`|lV;AY#%S)|yHWjb>F}?;NudDb0zG2D}&oOlWzh zGr)b-B=*LEg|o8^_h2Uq8Vp+SK?_bj$W8=?gsv_eZLqbQUJEug=+wP5gFt&n&MLx? z!-kGyQ06aO1G=0scm|Ga_ng_n1*;{IYFRxPJT5Fi<+I((h~y&f8wPBP zc>4sR4R^r3gd9IjzA3I!LBx=`#Q!1COb(N#-WqG{A!~>YyJEHKwHBu`eI7in<%`UL z3&cj{gV#igsUNPFPaemr1QW$7dHnU-$KM+J{8PW>0oZFFnK;+IBqhc2Cv?sqx_65K zTsXnt05IP7f@*fT_K3;9)EQOzY{163g{!a1H~p5|?dc zBaM-k(S~JWS6P5Z2oEEY2`uIS%+$`9^D+5fya7eX_Y2p`SI&8vJNI@4G+p@aL$j%8 zYZs}Lk%+NW+7izS-C`kbu@JXdh+8bgEf(Sy3vr8usLMiV*7Ign3V6a_w*BdXh*OUn zdQk~3$E#ps8c3I@NBiEitjFlg0KHfZfMLZ)_DH!z(Cd@Y9dNX%d_DMy%gU2#k(J>t zT0ZsxD#LZO{N+as1i)ZAz@zznuW#3Di!0^$bQ9~NLPoe2sDxanF)6CnB1h=iJm)^X zfcbISoG}b>1YsQf3}~yygk(g@W`HwL!?$!SLdNE%rMERuiEudu?2;Hc7)_4LA-h9q zQAb3xfNEBi;&_`o|D&F&3z|8lUas+0hOdI7fQ1V=J(oY^8j_geJNSvdCr zyo1=LK|uXbHkRCQsCz(#dt_|>#JwRw*%3!ZCbB+2iB$@81F*9qT4Eq{hHmjd7r;B( z;tufnH$DO~064WrI`H&lGCLtm_CyJQ;wHcazy|h8s-=YYCTv9z`vZ_f?2LXy=mg6H zaIY}(hWZA~pkxmCNFbjHR&CvxINX=%aHiJH!rfegqA;RK=n0b2!rm~AkY zAi$wakTp`Y*882}cD=mg;ksULV&BcmX>*k%&&M)F6}Hi3m7+>TFM`@L>Ef!@Qpx1N zZ?pdg0TdOf!A zN17SKC!5^6N8o^cFJfEJ?VuaO1}zv2AoLAAfst4gN>gS7ZgPQhSQd?Y{)8xJ^0NDu)H7qSSo zJ2Qi~A$5(siV=ku0m2xX7xy-R!@LLgntsk=c7y6H9>lm{3^jl8jhk0RtOtQN+Tkc( zrM?H8eFb6pI2miQj~H)>HGcg-`ORM`gW*$`r&F~ORu#EtQH+g%y#R6~)253rR1fFq zrOjST`|08OwxpBUQf4e2r3;4%)5ZO1#fy#PqjlwOWioWep;P=AfOyNsWgf!JG1D74S>K%*yrz5?oU{CrrSf-m+P#h*s@d zz24{RLUBycgp~%%iQz44l+d3D=NQ4PdbYoxn$WJum{VxV8(j92<2*CQ_p0@5? zZ^`Aw5ux5i-eRzEln(fYIKqg`rNgyI4-15J#sTE%8>QsgSc<+?*DR%61A;?U0o&|} zjl?3ZN~2McJQx|M}7N#$R7=ce%G6w4dH)4gX&{h;*VLEU-eB@d)upej}61k&r>GWkq>f$XZ^;F)L zNlzi0Cq9c*u=#9OC==7wTIt>C;Z-A$kO_2@w<)~{ird?Fw82NfLBg12cRGLMwYk?W zONrl+`RkYG-al48eG(EfyH$LL-49aEGWhFt%w32#&zuo9^51{VeKXb-xf*06&Dx z{KVJu$4}b$yDSTa{iZ!n`NS+A(H3g6nziumbuf=0D*C)uPM^gWXw{^L)tU0!*UE1r z;`9KupUilc3;DyhTEkGE};0r{y3Kr;@#Oq4$Ydxd7pTF@b`u-<8T7`ewTf%`@DM{kA z+IZ`TR1P2E6;CfmEF(qf`r2AuR>0&ma8xuaSX>Zw!4e$JET97kST6M{rk)UD?G$ z8xJ}L0rk2D<%pDFhsf}4VOaKh+qRT{?->weY)0%~ICT{i1c>;5f^`Sb|l0fJ?lF0$J&nW z9`Of4y^BA()(R-yi2KezM9p<5Yh4$Y71nijc8EXl7yjr;$d5f8@(@N#RtQjO;2z7C!I|?q8QuLi@^pU$~eS% zi_C&6#Uv9FP>k^WbYU!6tR_tFONZOM5)2xw#&AZNA2+J@B0C4R8*CK$c7{h_5G8(5 zJRYl==97TKB3u`^ZBz&P4@ZMKynLX1LlgnUmFOAid~(r2O{68GD<2RYTZ1}pZ)=FgCZN4tdbA53795|hgwPGympeYv4v-8*hsAowYXdq@xQ7R z`io_0EJ7a4?iq6;de%LC`-BJO=an5Z7`p>2DV=SM-A06Vf=8-)~#ip>{ zOUP4yG%M~FM(3dkG)`pO8PgpA3J>1Orzh?4*dZD*9KmH4OSrpi({}+)MQkB&D}<82 z{{%5Lm|6guJ8@72${ZmSXVT(q+x93UMA2dJ8G0!5$HUS=Z?#G_DqA}jvh10I6tSZ& zzF+07kKO=hgP!drbrObhzJx-c2tZ}2vG@k1TxI_$f>k*c87~Vql3W6g?Kb>g9U2xF znzr8bU*tkNqXcNKmA1+-XTcy$C6SIA>aN`OC^mH@Gm5iT6?)HDXjmgjyf`TU#dL7S zK`Y9ZGT97=;O=jkgN2JBEG|o?fM90HT!wx6w}lPo6aoT=N4*n&cSe|{n9Wkf!{EmF z#SdS`=+ZvXoEO22`*rHmLvt*7JQDe5APh5LwkN=Z|n<%eB*frq+H0(QC4=)HJ&g;2Sv9KzMR!aOX^35d<}eDdxeq$f?& z=#*?6BMk3G@vFlC(8IAmDfqp7B=L3a&RzZ0b)k|X$bxKx-(GpIO&t$+M>`Q-Nm0vr9gUuNfK&%pew^4@PZuN=iX zq8dvPh_#=Qu^-K3v+0yKIK64Dz;>eCoEwMmYIO~9kuH3D%x+>-_h*_}YVr?+0wt~x zvVp32`(r0(#cLY2Ipyp4<+(yNYz}4#d6iTA!uD%Nk7c_%?3}Q9&E@B)aF=z{mPG5IQFARrg zdvq4e5n)?{j$yk*e+OP-XfHzLTs{Do2Xs_^?Q6ymLVc=msCx*IIf1n6PTaF*XYy@#;M>NiX(ck>r)8%VFmES$Cd*p@?O2a2y z(#B-6V9`r(y}85E_YUU)AE2_@>MBKT(nPM-6ht79%a$ezIl`mV74PiQ@J?$L+nKG9 zgTSsLJp#?=r+Yy63}Bc*#(Pbo@@zS`8EYqY+Di)fAP+F27!;uMNaQqL?2KiFTXFz!Bi z4zT%dpbU(uT&j5Fqt}m;|jXS7?aZ zqB-e+fc28TV@Gv=@xX zpmx;NR^?eW7DVnJt^ zVVj25++8=-wCTj5SLP9b>y#&g_k8C0>UTujXL8^{ohd>XIWaCR@!8suP&a#8dvq>( z5B2peiH7wpY@tqa9_>7nSA=qL$Q13-ZA)0|y-NZiy}AEd1rrBI!_FdF>YT#xSywk? zYnhBguZz%c9Pr(KH4>lN8S zU4$WKh{Z`(odO5)8*wqO?Odh1A8O^zA`q{8->w>d>&M#~73di6eCz&HdK||TUH~b} z00$+_S36Z*O85Q<;FF!^Qlx{vJjD@raaKa z{|p0UtO`8@8yP+;Z{_f1#3*GxxAO6`A$HOTD+ z>pxm`U{NfqWM>ZIMRoJaJ9yB*NgpQ!E6^XYa#)0Z<-jp2Mhc|ynHFb{nI1THawDu# z9q`z=XQ0EQnbx69E|$#Y@(_BY?@P+Nd_8yw=aZ0C+=n1rlab z&M&30bv_g`qq!t_Gt^(X^3@hP6;$@1C5y-HKljzYLHE-x5bD+OxdppBX;6V5-BCX`i^^t9=PA0dTO`5 z1yS#{3wYg~mM^x5{9m1oCd`=8P2-9u1XgTtmm9Nt;3iiNABFY0;5sf`M4YJk{qF%0 zZeF>9Ymb(JG|9oMq;m8daFK9Qgm^^+8<>Ur;V~ie|NK*})p0Nw_)g%k;sIj{u12qb z3s{M$AaI44o?{>as*!kfVV>2ji+QYOA|Agl4c-xUJ+#}B9*2Hl*^U`@_m4kppg$^q zc|7>Y;WWY?Jggmf{IGaQ4kKy>hry~Qi=oPvkjIel z!!Q{WrJemSzY#7kfRP-H$m^uIGg(N-d^@NsMT>Vd@N$Kc7SGbT^ZSLh_-}_8aUK;R zABP_-!V8G}?c3FBQ?E#f5d@VdZc_qc&wQLyZXMI-9Ol_(EEoMp1kiyD{P)D0X}A2V zMSJuFy?I(pcuo`MFID-#@&C^MDutgVlyr|5N71DTr#HW=MO73kz)XtT{OZTdBwBK) z8pxbOTvPRe1lP@JVGY(nUpWxfU@>R zL@w%dRB&T@Cv{~#i3TW!A(CG_MFFHB!xL+TNss)hoc%@vi|ly&Ch!r9B^BWEDK0TZTscYx(WDT0Eiz<$Ujf?=XN zVR&)s00#ic9CYgx=U`NfWxty`TUdz>tCzsn%%>kr*1~@4l7d@1~c( z!N0sVOEDzOq8_68Q*?YdfyF%V!?59rt_GM29~-=@ufc|mils1?c)^HdE)5VvfU$KN z(r7KL3Lt1pJzWGn>o&TosngQ?J<{i#FYJ5$@n`E2XCU-Jo|Vt=5zH#`tgzR) zZ>}J33LxQ&GDxn>9Do6*JZR2=+vHdgQ4c&0m`r6$2cabR7}+@kI1wa-yZ3J( zWvvKx5Py6lU{((AgMgA{YyfKrgqD&u+8^H-j%11kwe+sUe^#z>qDilmR+}qrQgHKg zOvyqQYz|?Ci2#Hg&t5D^j%1r;7fzxFe5*lvTf>pw)&SDmx`d>+wNcWOrnHZ4 zlSTtvp(UU{(a9|u{O8i3V{jdS9@}5mh{Z!FukKjwwxqTUGig7N4lUZ47sO}K6B_r4 zG~*Of7}r%1dHQCfySmbho~DtOjE0jcmeFw+K01j2!~*ADe{1g2XWZ198@L_)(w?O1 zhyMFlNbrbZFw7Dgg;<+nY|q5V*p?T^p6`BU-NU<^M?gNd;{OihZjQwIKT z7k}>IpLRlY;3Iyi9OvR^2*IFuE6euM5&~^}YY=A5Dl$S##`fIIk62G5x7WJ9EQ~hN zDWV}-Q!W_PybUUe(dtMbf9HQY1MUlR*@CW&KBK0(HO!)r7st~1*`xKHGbgoXe?(V+}r1@MCqEU7gABsXg?RY*>W`~!4r zSvYvilV`)WP`z;)nn<=JXr*M((ZO#uf=S7&s}Yk~c#E7OB`0HX{RwJkdU)4nsMyoF z4HArP3?GdI#X2hKdTsbh6AJeR@3gx16JPAB{CbpH9?BA6OEG``aAo?lg^xa& z`}{a1wI0d{no%Hi1k_g)5>z1!mE0FvMiA6X9dy~6hs)aoxk6qzuW!z665AY+&`wGE zi=vNMoj&V6$JRC=2e#vXT)1BT@*oZbq5!1xU`C+5#VI>?$m|>{! zlPl^=wQ9|SZzoYfh~FR2rx=_P4ts_E0$wFy>?QCS{!tb*tnhatv!}0U8OzHLHzyn(>qAfjP zXfoOW&IS%YNU2S$oVFqx3WNrVY~NvFypTnJz;4dY-n{lcBw})OYOwYwA-X;E9YZ_HgX5E@50X(>I>8+;WMQXfak?X>1y6d|e;~mROH&qC0L2_cs@nf(nrupF>^PHvmmQvcEfj9VS&jQE)gn zd#Q5dOMrsJTL}>t_Pqr^Ff>$OKyEy-l&)Ie5ogWFPLUPoxID|QMkIGe6>>MA4EKc7 zMCL*Er#8nv^`CUdPt3L(G~Du=w+rzG4GcRcP{AHG~}9 zO9(If+X(oMgn5gQgqC^>J^vLqlnbYu9O^K=V}|ts@drU+e|@bwAKZ z08onyh_M)JvQF^Pr>3cy=Jcu0+8JhkjN+6cz`z5EQO#jpjEf*@v+yLL#=PCsz1!oB zDGO*V&K9~wqA>Zsbe<8=iSe+Cv?<~02Ow>|0#s4JC8X#>21DW)I%hRRjs=~7=4fX~ z2y|8fX({;V{r1}}4wFIze8CGG`Ck$Vt9<#A)eSU0WW_rzI3)la=ofMf-Emfs*->FB zsM`%G%oKtPB*sDnF5nARgmH|@U;GGKR7x{Q8}TF)5{w_dD9_B8u*7IEm~IRu-id*L z=FNc!e&j7XDiNl(oyQ`RXv18neBgT|91VdV_;+j~hnJI61wr12W5~yoY)_0NhP&Dm zYuEL}*LJn1yGJ_PJG$b-?eW!I$hr4^f$b`eIb1s8Zu&?#FE6}v2&XSuC8Q?8+CyQ; zeB+W%6r$nsZE)rL+pp})P-Xa&sMk*wW=SiWPjpX;zfjR z@d;ZYQ>=Z%!K%fEB_#BV#0>olXU5QB*e(Q_viGDz>`5GZBKkak6pt<35f~C`h@uWr zgrHMU-9mMV0CE5gJcXT3r)aoNHRJ?&@Rl!}t$a2!cj6+FQKB>6J8Fo$Yj6${$2kEe znZt>zexjiQ2wP*oBtT+d<>LN@{f4wtJ0H%CrMkNld#aJNjl=BaaMnX@B9*}t zjP~qPI-ZA&DchG%1(g@_lNrdMf*}k8{cDuMDZN&CDqX@ACPLr%m**tES!;x)boPmf zv7vM!@a?NFn|@2_-?eK>`x?FX=#(t`$QoGTof39h_sB)b|W^=}lx?P&pC}Bgn#t_Y#F(rm!;b}6a*`p}Q_(n{ z5}&{*Co?vRRLOHcT*n2DxMU2g#T3b$WrG=a0#829+QYtlbWf(G}~=)zln3b>q@ZWp-umE3Gf2NhdM<&kJM8OzzH1 zYJDQ!74Pneuj}dP$tTktPp`&mkq@PpjXq3{5j^L@>oBT&)4c+glW~iRr58&1UFqDQ zg{kpXRGon^b{8%T7ixv<%hX%{rMW0;?SPzWn7SAQ?qN)o0X=0}E$o@zeqb z!gxk_5Z=5xjqI>MT*zkV?WI2AmBIG~9K&qtp}@UKiWwV6?54F{U3f9ZU)Zv#b9Z_* z#*D71wYLRf<^nF?6Xl^tI=A-Z#-8flop``&A!y=|sVwljtc-@iiYcR}A{?VAloF~* zG9vt%wDcIN<%;Qk#M+9Qma+uhIxb+x{CaHWx{Ewezs<{EJ2!Xu7-&V`abv*2J8sle zJ8l#$$&MTFgLgb1rD`#2LyH;km)acZ{;6ak2Thr90GvUS3(zERFLkLD#Vj)Z_aXU_ zeI3(FMO@wYFF8@~f?%-L;w5iu)16%@$lj8}?H%puwdvGI$J*}UuC?uuyah5pmBa7i zRK%dbdUJprnuh@~1fW{kEm3GQqEKxC4WX!3_U{&tY7_aN2uf?GR}Lh@+qPE`O`7}f zcCafy{sKP4p4s$Z-@4?+&IdQID?HMZe_(9rxsjoVUwAOv@xbQEo_J?>{JCwr(|fm# zJhtV5t-GF{=o=k*a?|s}Lr>=Sl+uqr-T7kclaD>0Og!-5qtEqh+|-}y7;P<$jJgsm zYp1MNsl@_AHLrh;!t-2%SXZ+pg(uNmHNnD}x;|U+hLd*2RmK2FZz^xU0g(>Smy$pV zd;q{B^I>qKu=-audR^wzBLp>aqK+ts!PD2Y$a#mB^^7HVZ<;71xvd@2dxgcY-x5#8 zu!dW<5XU3VSzV{D5L(p~c5~uh+~rq=xZ1bqu$JIzqb!5fM3*jH7rvUk)O}Yb8nU$l zmZ}ut%q~kTWoXY}A*4BXT@)!Xs3bAY#>l@>q8KDiG^P;9t$Qmfob!}~d!03mf(m+V zMC{LJqCr5DNeAf0`E!M6w>WZ#BkzB5bNSFTf@SJVIVQt(LaOb#Uyi`~3f~duWA5kc zSQMG{7Ww%PLnz8GtWfz~*fiW?=oi1Aw;1|c41H7#eRl7r;uCu|K9L!DYCa)Xu_F0}t)pJMdJ0=Gk2vHYOf^Wb;UTYj!f*S;#%nvpN1!`-Xvz z-7n=I8W`@QuX5dV0(Z6=w?fMIrAOuFfG#@>x?Ab+R6*~X}vjc8XB@hp``Gh8;Ue-IWCW{|m678Jhm zu?JwAl}istryQ{j+=iT_e62_^7c=?`AEmiwN&dPWT@~nVzABHSn%MkS5R?G-+1W$kHqgmGYqxuE4*GVCvkO zhiO(srqa1|Nj^!Y(nCcFHs(eQ*i8I){rS7*zUsTA7UL)fex9L7bFJrVddwu47egn^EnoXC=22#3(?boL&}L! z$1WiyeC>;ymk*VH{HeTOAQOa`#$>S|Of!i2Vi+`1!**y@C^W??BKDwfPZll62wTAM zjC0jr>|J?xQ$-a2TR+9Ko+DJHX=^RGTNSY`SZTq9bDW0-=dtEA8Clo?s5Gn<<0yq9ctw?BFcdf6GsWp>K{lKa*$2- zBYAuO@K|2`U)jO;E0fyMakX9jj0R(ss-0*8YlsfCBly^DSDdaG$XVa@5O=ARD*&gW#j_9)u1W!H!(Y+yv5!xAPF|-g8klvZWtO-zETzUv*$DD>OfMIl6VqY zw!@%8c$~6Rq6Iwy2o0kmz`y?ZtT_D(3prYrLy?IQdYlNrJ96;k7fbK{0whBV@04c)9)X{2G};@ro@v+scAR6axVM}_1Px>(;-|{&G(XMhhIGO(C~&<{ z0De4G`r!n7V?WqlMjUZraYC;s5R#K)$P6^V{({?vJqg9 z$*U@fRvlh7Q8YI!P!8=}DL77oyMQk#$rQCZIJ0=}B#toBoPk0S3|li`2r-dDKz7B8 zkGCFKD*_}avM#`S5iwi3Dn@{?qaPClu1VraxT- zcS+eEy5$QvWaArj2&{jnm2;*Dt(JEPA!-k+!j{kOE>3^M3yH~Mua`BN`V4p_NF}kb z5R?|8AQDK1v4S89@*$!O1yOQIGuSJdvz0xye&4dtXH;D&6GwHdB_$GBoH-7HjB?TE z_!KxKuRIqlD}Q8#^w}D_-NR8N4L}A_3K)3PX;Z$zph9_6*G(=~FpkJ8#K)mtVCjIxuMdyI-W|{HVo0hR#0bje3vqjek z__i?}{?VW9B^Y>HXE*?U4Q+ZydwA1oUmqRKCTo4}>~Mb$Gr1W`=ab+Hx<*sE!b7Ry zY%aAigZ4x55Zdu{0yDt@)YLvvrN2hbKzqz*fGQ_>_LNWjiWrDwHkd~f{0#hfN+))C zNM-0E3gvnvq(=4dQxN(VmQRVKphr_6wbzq_o3SFP(1{%UT#Y4yX2{R`NJB|bx>lFe z%yOQ}TvfbJWv*Ye*I5iAqJ0PqcyLhM2TK8TZ+ybvcs@{MXnJ3O?jt!~`Rl{zk6k8^ zwT`k%{PsYY{RB1v>bW-cUFnMhl&Rt$j?!Hh?h(ba2b8hWAE>w&9va9r#ERuZv+lY{ z3ioV5sikbCEmXqOCVZY0D&TE|1n_QX5J?yJER^OyK&C%-2tZhUsOsq;VN~a4G0Hjp zRWMe{*qA^9Vm>rQMnN>aeDQ!2Y;^*;S7Z&b0(k6z=L;OI|I7tei}?}sRA0~5yB^-U zW%Z`vK9_q%*nyLCn`wkXzLqY;o>M!M+?F0;tQ2ntjhxrjb-n;D*9?@Rkierwz|o|k zhZ6F?bD{YDJTb$J1QeLF$1}k&=6CesN8GGTyjD5hy!y+KWbUh-`&T2R|{>ds|$oeG%` zlUdMH5SJ3C1aiYERk9zT-@>D^s5H`0VpquJi&Mvx1LMBKXiwutGZZHoLtc_fB76R{ zGscjtrS{} zAZV_XGB}w&!jOIq45+ee4Bf>|GX|*8mqRiSbOov9Dy?iu)!S1?B;1Cm%KG9RA4+F? zwX0c7@$X4QlL~I4N@tB6#VbFFZFh#lpgxKhtYn@6F@=#26|^v4H+LXxW?^^fx{&%p zcf%^gd%ITe<^CXSflQ5wlt94M;|B7zJW{>HgfL<1itvtOPodz;w;ZS>rQ(yKRDh%3 z!{Y7>#Y;P_m4mJkHeUzohiV&Vdvwu^*`cX9_2a(*He^@t%&XoSxh3MbCPHCUB@m3Fj3|}}PJ!h6*2)d3!Bl!1n7rQf zh_c!0E#!1!aEO72>{MB|TWX%op68i&9ikwYsuzG!{IG0jq<}}k9et)_V=|)PkKN<7 zx-9hVz{|o~X_Kw%?OL#xXc_MVs`~3xdOLL6UNs@o_U}m4*`8V?vdp>$C+7PYkqc|+ z1nCZHGGI^jZM+&s2i?@x3$(Vh)pKCjqRNTU3hD`@s)iy`vD(u}uBtM_15$D3+FKu) zVlhf54iS zwq8;NJ?TntyAxa2=>x@&cX8UZl?F{xCdr2`6c2nNrZ>jxJewf~EuZz00Jpb>W>nV= zRmJd33m>ts-=0es>`*Q%^q-?z-B+P>?CxF{MPr#s##j=E{j311MyH@j8Ob4N;gEh= zA{_RP6hc767Tlb&g#qbh6~zoSImDDw#=+H0&2&&w|=L z`6D5brZb`%ab} z+rNzOgX1|c<%OPXKCO=p>v>8|cnG;sC4W&&1>O(PQg5_3bhHe zEuM#(iH7@hAQuh?UznE;lFed9r0DFpqN}w>cf29@pXXuyi(}yg(oNQ3kDr3Q0s-=t}M=b zmD?8mx`WNw*$VxF*%w$j5y&Ye7)2k z!MGuX45bN3HwNDwY%BwySzSHd0TWkY#+GTem5^|1Zu)%%dn6r9_Y7v|Lpigp$)vkJ z2u`_+V^O;MK!zetDha+NUcp>?Km$#fJ=CxAYip_3=&imSHbgLqUqx>+__Znl7{_c8 z`@CDr`FOUKh31yBD4r~_2DtF8bO%U^_37o0pcUTZvP)c*vA~S&@=%7HXmT3fz!9Ds zS5Fq;T9zo!n23*l7u*QXf}r|>qP_~t_84&W65$=-)PE$kj7o!qud}P8FF-Rhv>v_u z8I_5&$RtFpDPFn|AC~t1Kyf@|hdc^(AEiq zAqXyuKOR~90piP_*~yJgm?$eb(7q-0+Df{9@QiFr<}8!}kaZuysm$YrtjdYevNbu@ zGMF44C7NbZ+YJv72g>dGn?#~Qa2Ntsf8|nz@m$7QxuUgog>{>SZ!Lu^RCNf^wz93W zxw$1js#4IdYUkbc7XFJrIn6k%mY1{X%*qujn(sj%)L^_akN@2=lv;$qveLsAQ=t>g z=GGTk-P?f6=Be6}9D)Z_A)QwbkY;-VHDh>4a1tUcF_8$xdhjer3t-L> zM=WfG0GU3+{K>-(P7@u`9(-x;`=v`4P>mr;c<_B3sEL3zRbig0zAJ*?A}higyB*j; zH3mls|1+u4{FBhC$M@2aoSB0*_=LZ=nlGLZYlJ)NpmOagt(KI25tfZR3dXq&8^@}s%!{r)VD3YFy=`; zk=k)}HpJH#cbRZ`JdRlhA+E!cd{%+~q zxze!(?6~qWp1lxF{p1>}|EU(lpi!L^_FVJA4849m_2lj~KSUK#*LCswpoiSL5-jSf zzRRT7tN1{({o&8g+lE^kH+DZ_V;7D;87<+~uJH>?u(#@B5tAK5DrAy*bnV*JD_*>E z`vd8*4mLBijf3+MD#fRwk&fzNK%F+r7P!*eN!^z$;#t|!BskxPWkUo458eE=uc@lT>5+Ig9`jCk0AC?#bGzhoqc$)8@B;$bDo5%I zzraGHfx+Tm9FNhw8Zk#G+Bh*rgEXf!`)h?5_NB-2HW6%VvBbLzdHulW@ZCytQaBl6jmTfx;nL3@B+Qx|{q1jDQ)dkjsmCz;%r^eY@P?XhOHu;#ep$02|6d z1to-4A|DS35@;_TsABu&aAHJfdA<&5qMqDkv{`T+Z< zO;ohW2NM^Qu17ZIa^OYPcraykFo&HUK?a6!K1BL5aP`^O)>X;{S#y%n`P$=E284IGe=_zrpH z5efw|Un@6wct(&jtSzZ-!+CFDaZxsw&A^J#Q6AkL zG@jyJ=nkVXRxZ+uA1uz#un>*mIl$B;j*Cn2_;H*e#vr3%$kh{)KQYv?x_4k}u5-up z;g1hnOtg|7lAqJ+h_pVy)zMSDlBWw{L(%8V=H% zrd^r#@G1-jR%6K3hs{e>|2OP#nIkn%mr-0fUM!65+3kZDe7+P%JlfsUH8h0T#jB~3 zG@Ah()ns%V@SaBaFxP23JAo61L)hJeS77njL^J~H9%l`ox=~d*J?6Ym_$ve%{IKPA z^nR&%J1(o3!~q@yL3BhSZea*wq#cK4BdDDOKVAHK-gKG5TbtoN$#YO*As*$7$y)yY z6C}3-9EjKf8TDBip7M~LE2FcMpMzg?rMugL!`n3ouf^oxj@Z?Dpp`W;_;PEzE#bkKRI|^$ zCb(ue@A2JSISh+%RSd29A2|)qL33Z(jI$GT=I*yUakCnVIkD(#3!hjtbnRik#Z};V zI5sD3*S^i1Tny5hRO+s_SA< zKHL~?gI(oKOXU=pJI%rb>)}W7^Sw9V+uT0+hMyouBGR&?iE6(jfCb9B&`)^d<7|tn)gwJBDV*^-Ge8ydjo;Xr*MW?XyXjdQTf|T6=XPleCguXm=OXv3lv^p z9$4xvb#C4T3xuG2 z?LukloczT0Eq=WdKSO)mt&CLJFE+QbqVIpO^!c>@(?`F74D%qel&74h3RhkEq9kt}5{ow#|!kUpH_#*gWiTl#Wb7 zK&SqsMe=iUCJ_3*IJ>}~G9cC=EYu<4lqTiL4~uh0_|@CZ*^4+~0u3tn%L}uZZEIqH2vIWknyKnLI2c~A9(0-Pa7GYF8Y-p}3oZYLQVDo$BC&&+0Lq;n=$dX~$ za1A0H#g-m8kAsArB31-07^oV4mVQz}tTg!)*!+UHW0)n+9iV!f&du2D%=v>@0}UWb zdtr${8$ji*50(hA<8{dH{k)#kN?jpFg{mj~2`45|{(Ns@aTcuIq=L5pTdlI(3APmjOF-KK z4nDyo+9(DsDt^67Q5)DGsow{_D9#>Bl)w5(@kfg@f0RF-Nt8c44v#;41-*cFFj1OP zc$`3(C$MRX@culrwC8N1_}Pz3yXO+PaPdDhXRpPxlL`C}5EE()b8~X#CSX~_!C@@m z_7ZC4epE2QhLE1C|9*L#uojPA;)1D#IsZ=L@}&hNQpbVU{d@t`V$}o*d8D zU5a<~2t^M;85RtnN_&q}w$j}r;yFp4t(D6YC`WG6;_u2j3QjMCQ=3lgqO2Fn;nL>^AnVCiEX9}=sDzvF_R@IlK#>(wTgIC_nxx+7 zzJ{1SBQ>4FYm|hF>&*_#O?G{deRdVcrXe*!hHv)<1Vqhl-IN?1kJ;Hso0Vh}-d<`t z7b%b4I!u3w0Zi);!3u(|LVky|(75t&7e~Veb95RVMs*DFyRA;x)u>Adf;;>fsR>|% z51|~x!s7HxKgI>2Rf*Pp_Xnso(Oa?-sG%?W5UlDuJG5>vXAGgaS#?X=p|k`8x|$`? z93V>7FV>$z(a)SwxVMnInqZ@=Jbs@bAM9Yf>`fx7`?6V~JJ2I(@BdA<=9;CY#X0cT zV|p%1GiU;E-I^wNm?0k5aIC;shklJP-Zh3RnNn@&0l05EmE(0F7!5=wMl;$ck(xnRt|Qb| z_57$U-WZ;mg53U3QP4X&pW%mJ4Z{%uK9zYWr_5k7ahr_fHSk1WPuFW;Jmga?UikR( z+$`9M;EMXpor4-WG|A{H3yN(s);#s57#eLI5OP6lPgMvV@Gk6(sZbf#(;Ng|Sai@X zPO3+=G%S654wdEfP7V`@cov zV4`DuKnFEZ9$9L#xgn6y`0Y{!?ZbMj8}(rh6?+nVt)HQ}4i(}6gBY_wJz&9=CD|nz zHVUdN{2OMy>Y>77>Fc2yp-dGD=}b(1|Kcu{C)9-5 zN9_;*?e!Y%cedOS)_`(Eq8o6Hek8zr#61Em3Td~e3tM`}2SCcxdV%u&7A(zxmaqsR zI9O+)WNG$f`IAZd7{NM3H)a?-T&H%Fi2md_fN`Sz7GnnB6R0jBp$=`N02|tM(qz5> z$rK<*JcBSfJ#2C9lB zdbz*n>M?pJ=4QMMxCm$=-WH@L;Ju6if~0^wf>H~bS?Sb{6MFCi!eE4b##7(Sb-to? zb2&7roz3Rp$L&0B>Y!SBRU$u33><0}_cC|6b)R^i;Xh6JK@7EJJWm%LI5ZV<yP}yOLeU7c(<-0>0BiI8pryuGQQExCnC+{vr7*_{X+2na=cLK?b+jqf*5tnJ7&t z<7lXIDs9quHrv3kbZ@Y@bOvwY3Aj*tYg<~m@yxs>PRFwXP?h9L$e*uTGCX{CICq`_qrNZ+kY|p3QFT8GGf~+;(&@kj$(wcKj_r()#ad zF0m>7mqPOzW>IXxJp^3%O^YaYF-leQ3S6QBI$Cs(Is=H&FRtnpOPM9Ul8DP~hx@F2 z>?A6a_cO>oBSvUJ!Szlav zb8{qjRyhkM1z@pX{*1yny|)y+n&M`awkECzqmu*21bsz{U6|aPLRl@%f_~yFuDR`! zgZHT=F({)mLmZvvB>(}`9siB&mgtQ~>5jurksD8_QkJ~)jp{TX&}kF?+oU>G0P%C1 zQi!2IJo1eT9RfZ-V4N0#%Pg0bxsmAFu~q5D;(%2P#z3hWz7b8pnX!MBEXzA+%ewmG zw5-6$2Vt8O-OrMP@x7z(vyzz|x4Q~Ax=u2i@rd2qcRv~gl-ANCZH#cJH{KouIrLP= z>hvIdhXb=}GoCy&$kNY=_{x26hP)T?3pmQ;pS zR9uj34!3jYLGWK%{NTT~P+Z&XxIXq3AZvRbQ}-7ilI!q>c?~pS_7DZnBbX=Y2a(`6 zQ2WqXCBE1X`|6*I`;QktQ=X>YepM_(o*Enx@~-q9RqkpRci}7kVXiJpDa0?2t^9pU zqEr7ecI6w->s4j(2$w6UXMUAJ6g>ON#)n6q+uFN&>#I-uLlkg$by1G32!k;iOc}<~ zucbyes8@gR_wDHnqBcCs&;a2T9y5Xi_|7?Gr{g#k!C$vw1#nP8Mh9!u;cRYe{bY-a zsfXllrC&QC(Op*nqq0(z^` z5|wc2h5m0+udsv2H8E7GzHc?PsT=dl60=VUhF7HlH&N-PAla4DF?GYC}d zpfXMpL__>aJx^)saB2R;(r>@;B$bYx09fc-C1!?%KX502h2RVU3#`q7JvFdq73tU5 z==exFlW?^1$%fXuoS9HPqhL0XK|J1ch)L$#FQ5-(pJSu`pRaF%Mo;kd8VrB9~G( zzB^gm1=QPX3t-)cAUJ1Rg_xEu9&3 z4azB#N`u%fvx53v`H0-ag`E34iy8>P_$dR$Uw;7@F|PK?xGv9qKtw^JA)HCh!4v>5 z+W>3!+}x0K-6t)lxV$1Qhp_y1Rq7zDDqr9I@DuC1o?6Q|wHtJqLKIc= z;qJcYSLJz| zdI1j^B;BEeKbYpIjl!Sqy$P^%%*)vx$-sD_04xEMNlMAA>&{sC6>qV-)5G^Q zz43;fc;T(Lnk)^MT^e+>$r=DBh5|JVbw}RUqzcv>s$`5WU`4YNVO9mM zN)8zpff3-A+%)Y6ITiiIXCdH^*~daj_3763Z(iY6@UJkkf7(5pH=1A+sf3+3)0m7+ zB1|kapm}dU<5QJ;ke@@u-7@lKvmQ>G@n?Qwu~#n6mG@waJdfSorI7iw0RB(<3}wv; z%Kt)Usrf!;S&Zs054bQ^A248nACm^GD!0#`YTHZJ6{7o!INyH=|4HRNLQ=p9PlX3~ ze;$Fpu`1A6<8r_SVD*!(^eabj`~VUcl4IKZ3r`gcAL|F5wRV}C#<}Hj)xl*Bz(9od zT4n88T>Jy@=WH7J-4Vug<9HwyfLSSk*e{@d2m4iAJ+X?Xzf|e71^De*{qBR_4_JIK zU87gW11f&ulj%(AJ{;q8rupj0Gz$60ldraK?OFZQSVyzn=R@No)-4vS0xAiN`U~l? zejqt~3j{gQoo^v+U(+#X(f3SVXy z%136ce&1Pk#zE22;>>Y4f}$as@Q9hK%CRz_Gjj^#_|wnA>F9U7!Z9eTpZ6uevk_n8 zH0-#eGK-+`5I2GNCZo;eK&%QFKwACeJNva3w%=y(9OFv%(b1w#)JX7335j}J{h<@G zh)O_7PQ(cSZu2i;yvqIkmSk|o(m~wD(PD9AC1IqESVV}YiJGN-yB8-tUbeT3H+5b;*q5N}n7O}ztQQ(^3n&qi~IlK~r{V##)KtxyG#&-k!1={(lizy3Fd ztdhAxzUK<&8oETX9=_*{_t^MfH2fg`HJ;)a-!+6-&68$RdMK5RPmRH}2ip|Tgwa8x ziQ?PpbS;dWnw)mLVd+t2%;we^#m2_5FvjPoz^k%p&!#qvXX48iF0aw;soZ!bVe}Cx zPk4JBetRYz0QE2KpTB$_&d4ed5jLsHe3qj-JxQ+g9sh|DS`^bv$i2hSzfSv7u@-lEC`Y1&SQjZ zO2$pGvJs5P-I%%%SDEw#ogO+H9LDN>9>~eb~QDr2|*RY;8T>`}BHS z>V502QMD5PzO+yQ@_wkHwe`4)j{vdxX35j#m6RideaD?^Iy*aC+jvv4vHsH9$~)@z z8m(6cwr+0~KJZ0D1aFSaBC8^W87MQM+AHI34$A7VktKlPHsN zQ41**VquiUMk@qfFsaxA7VWG>5@;1h{ALUQT}8UivXH6uI@%*jL!7GgH41PKY#wVJg}+%bv;bIiin@J0Yu!5Ss) zj4i+iXjfY015IizdBWXA-BhcsrCzB-eZjtXAQ&hT}Ij5XnWOO-*(sMULFdS?O2@%!I0;p zB8hnuC&JbsEaJ~&zWP4Y39b-tk}`I;k%cvB0m z=&O1w{*Z^fW`$=}aUHL4t=WnfL#}0kXA*U@T+XJeG&aI65UU-&zT^N-X*?$n#JrFk zAQd;EH*hK6RS%Vp{FJZ?dOY5Z;wU}4#6s5=u_zABKm}Uuz1aZqZZ;+ee%YuYma{edFNvL`%TU=HON2n&~5mFF? zN)b`~8+@EBNdF&31aO zote$-ELMpJ$xP3Cef;|M>({T}3$Qz@3QCxoZ4aKj$TdrQNeQ$^tIo zV#)~JT=!hYzkr4YEnge`iz|5<@IKMSEPzLlOnt3XC=R?ifL!DW2~;|z0H>2#2l;jc zYHW0b=`YyM5{RhvF)EzAq|^8@=K1Z3{&@b=Oi2cd}-rQCp%Wq zZ?k9bTKP&v-LgeD8>`sMy#^!9H|EYQeSLvljhP2G4(q$G==K3)z4X7=3sN4p(OE%~ z7(LfFs=5nF5bj8{HPpNFxw%ZFim(& zLcV}=K%9CPo8aj;o znwi%s!|J3;NLeP-!(7FIGPCmGV7Kx6X?o@iHY>RF*;S}t z>K?kR1*C7GR8f*zJnQ8Z3ZHKnM``{bMh6W<4d6bdl4oFQR!BrY5l1|*+)VxtG$&&y>G?zCCt!sbP51qz0cV>(ZLBaqV zW=8}9IOsGn5*+E>1{zuOQaSh9#G1RF8+@x*S>K%Vm2TQ&xrxHK2+#OXp<1az>z**4 zhmbQinPoW3KU5meGiYOJsyu3<*i?CZ)s4*>RHlks^O>y(6+JbQDU`B9xltUkkCrmk z>e!9FJ$k-2{p8KZil^606QWOQkChPB9wy@RtJ4b>qFW0Ic?1NwQvM&OB!M_3tfhW2 zg7>hkJ?9#85G~WAxB~-K5f!GlCSM4jft~wtp-}nQ@-r+s%IO}ryK4K+@~t{)P?E|M zz;{{zXPazv;ApB1-F0j@I5tW+oUTofRSA@*~ z56E_?YVf;U`c&x56>h6vg+Bm_<8&S!!luy|jQ884yfauNl&?y5`UVu<*RZnltxSZcZG)1l3N1&U?!jVX9MYBx6^pCF~0a5LY^2{!nda5hrJwdgF7w_R)iTg}9wZHT45J~uv|=q#KRRI_dtu@w+41Z!>I5AXv-=6kFQ5f%am zUn#t0m7bPP=MdimtMBN?pB_km%r)%jNQ~aJOUHSeS!|QY5sMy}_()U-pZlC+ub!)M zcRWo(v2+j&8fH4>U~1(?Ur%O~5kTK5DAbO&Ex`bIbP2Q&qG3QY@<`l=9r1^M@`wiE_${U)PruT=GDHLmf4gp zK-#lAS$AvCH*k-2NiKb~G^{?YJyuZFA10y`=meu6^(l1G5W6TD&^C!@gBgW77OjqR zp^gJF{R?pfr*@@eV_cZn&a39b4$(OEvqZT0TIut}I5PU6NMt)Kfm(kKO$-oNbQCRqv09b}9!a8|mNm8A+yv!M#iE54`{JW}z z9`;5_X`ZfP~YW@tbRJ*u< zO*Vy3{pcsw!L!zpA5{KL$QcS2dz7wx1CKkj#pSuE-6>^)FEP0v0pOp3{lUzOB}xl) zCR29!ZCv?AyZR_Yb#D+Yi2J$xeRuR3&O?5ifgKf@|OonSpTXfIdst7t9EH(RJT@V(x9gGi{6_5Fr}LOcd_C-JMGs;gq& z(TspxM~wMQC#(VG5S1g|9HFXjq#|$>~>q`-Qbl3pFRR zb>NIk*Rmxoi6D=sHT|b8X^or2A45NlZG3+QwgfIlC?V2U8H1u$26ZHGfFlzPr~Cr( zgBj3HF|_5$!U9w>CNyS#c4eo4Wg8bdaRJhGA&D8-$-J@Wg3aC?)!Fru_$Mky5z#&`Ki%r_NG_w>>KFsyJf>2w>-4&mb(XU*|6r8 zwHt0(xAv9|Yj0UMaLd~D^3__r?d9ypRMztcH?F}(G^upW7R1_#KdtXRtRMVn zx!**Zta)+Z)tEb^(kWu>J?FA}6_kv1LmLg)rg$w|nWvQA48do8_l15*R^=CRQN`y( zArElKfpiE$Zo!0G1Kl5E_9+U9|6qL_uVnLuF=^STGD-*8s4B7txbbBAMsE-BExMB5 z>MdlqVv^x1Cp;K{X}l%PF4R7TLhs%)=fv!WjwF?O9Qkj<&*BI&TR^<L7r9!R=v&TKsxb=nW5W6!PY=3F9n=dKAF+lneeeUWUDZCDUHt2q zG(zp8V#HW1^_e|lHJbSzA{cW83nrYI7Oz}^STYcXP27jV=2xtp#5H5X5YZy01H?Ae z6|vF0Jj3YgcHVkBhMNpcS}hm0Znd`^282GBLvg`>{%4i+3?H$Qyz<|;b_BLd)RTq9 zyuWq=0r@DVXl+28U*@S`i%5q@SEvOWg;Qht0HLxFpODx~I~N*PKY{!N7vVz4V8OV% zx#xETu3P&2NK-!B{d8g%>}R5OCq;~6bUVJQPyfl*I+}Xr5M&lyjIgw+w~of68gu}_ z5W*WmQLzq8GnfEAW~S>VQ5h%WYYY^Ogxv5jKq&&QAc6g99Mvgiq+rcnf=8NE;(o<9 zY#?i9o!(R1`4j4dHa6zqX(03uXlfvW;YNoLPrm&LLk!Q~@i{xt6^UPIIRsuP(!%8A z`sRFL+|JUb>NdvK^aKesiuPg705)MlhVjf&8KHb(af2kJ&-qm>%f*<<49!vq3Qd|je%WuOVv2oMDn{rp6_iP~mmVS9_CPV_j$U1% zB0y9>)PLRww+YRGV|%$!HGO#|-Lw{*9Jj340O~1l$dG>Wdod&!4>)0nKzaRZ4Z5jt zBT4no3mzCtY^r}N1A@Qt+cw$pIH1K-^xj_WXtCVG67~hfy7a!B(ARLs*Bed;}ccAXfyxu2wyK1G}YV88I)> zN}Pwl=M5r)^@gqj9g=D(8pCEldNh7L=|+D51HRX=;agXOd|my8)l1r}#4e0R8kl?8 z-Pnd;tKurm>Zm`eC*f)GjBoAM+p4bm%3rl*?@dnP;&_4pmRWRRz7hZR$wQ{B&M6$S z12Mv$vDcQ(U(M#xldR%mO~esQ2Wx^;r?ECO+a0Wl zwt2C}=ZRxY5cS0xU!{aK!73Kkrt$@ZriV-{PsyeHArl_>X+Y1HaVQekWCr6c)V!y; z3`|`4#dTU5B5|ChLhM?z-+%@zZ7>{yBoa08_%n6b`u2+l#s0+-2DL8_KaBgAOa=13 zoL4jhHWc&S!2gC~c&O8a&`*5R`q*`Rqut@?MxhR48yq4b8|Au!Yw(SOYX3c3hjw93 zLr!=FLUDd~JVUH!JLYSM#dx`Fv1wz!Ri9{cAiM*UoeQlv`OOLc^672m{Q1Y<(>V-d zn_zoOdww{WcWZ83J0b4z?ftX16Xyz-F)_L^D;zx$G$XpbqcB^Q2;(ja;2jv=8*hwLuRKI?>Kke;n^xM}Mcv zgS{-}JI;u?qvfw%KzmsKXp|TlMAHK)ON^^>>Dc4FeB;^U zg?Bmvp>{~9kCJ-U!7H*5kGbu1p}79nVdTN1-&1#Fw`#Aiw6@=NLOv_f{t{W$EIk=) zGmI~F*Ow-DY$=Z?hfF5mau5%N;=mo5)iM1{^lQN?IZWfgG1&Id(a3;{Jg>N^N(Wb@ zzg4-T=)Tq&GkZ| z?~wvhKOIIM%I^5nYwh+xPXlkp87IPc`jPdvkyU22OI;$W7JFCe=BuPvXN|5Gk*Y%Jtj0}l@mAqxV)Dn# z!q#oo4r!7qb-f?Y$l7Gw1)2%ymwx^d*N(cQKYAPLgH30lPUw(c4*qy`mP=2Mbn=a_ zNj{l-dxr?`mzGA^b1QG^;Z0%0#|c$%b$Z#qAw& z^;Neoy)p6d)0=G90c+Q>+PPCS=y$=U6xa(MEJrAr2(E+J_+dP-a4L8YV%{$H6F#tN zf%)hsRmoyq2C(Zg%Gt|7=_F(UK+?7aH}yc^sxs+V8Js-hnHuzOpEJ?zZ<@%jnBWnX3%$WS!%wyn z1+kt9v&&G{`oM$e&~ixwTVoQ0Z*S354#50b$2t%bBsy^zHg40^03PEE45qcXdq0_b z87XlQfK>*$?vm4hv!TA=?bMl?1F9NRnRa(>>?S#3)%OD)S>6tDZY-1ZRo-!v&UQ=WrO9oNe-J^w+GJ-3^_-#)GOAXYEa5nn2sS zsIzUuyU_mp1vB@0nm88xBBFS3Aij{j@++`=9RQcj42CUBbP%+Hd?;i^q0|8@n8t^z zNauvmmkC>P1J2tNyJ)7|6*zK%8nZQM`SoU@CxBAg$km(d0j>SA0|s23vKOkVTB(_B zZGN#Wwwn;y*DO9~j+V-KC>0&O_Fj>^vZ0Jakvn)tY!OTEZjrS9*8^!oG`OicVne$n zSpWw!^2M{Oc-nW;UF_Svi@tfAIg$8v$N*_fZc#5l4#d|Q7;O*%=9f-=*`0VhY@kP9 zP>t`%RYnpH&=FXt6t5}@c5Pfu+)~6R`EfJA5#h?gF&v7%jWsUZ3_uIEmbO-kqF zQdc?kg#dP~a{UJz7@}wP4>UPMClN0(wLeuVE_ND`>7SJPg3)F2O8&}$cMZ8uw|U?f zz=2g{@(;qvg(Wq}4+Q4-iGrf%OB;tEKC3D~Ws-X5gqbhovS2-#4d50**)P zrb!sdQpLRFcpZSAKVJ`^mpu{z^|D;2VK13P!@Vrp9pFpWD@1-r>}G+mk7X?zSQCE_ zH+>D6Bd-fMiS+qM^ie%lsnj&r?GoERpyG;GEyPHue8%ze`y|mZ9 z?%oAQUcJFy6feI`d?%@q_DAe;fs}TS%M4@g8yz3MP^fMj%9X2y-1x@gSSdBIy7-1- zcW^K+cn1fsZ}hr)Km&7lcXbfkE>59Pca={a`7ZwPCPFb^+79RT!rKX+(oF&Hl5p0; zCH!=5b!^?E{?lQRkp7o>Ywl8abPTTy-($UPU9Ejgs#|~l(WUa zjI)u^$G-7PB8#pPYVXH;YTsPOL)p+u6?4?VbXC%g^0HuygrrBRdHjxS=mrP+c0*4j zj?AJWJNllVU_WOHJ$1?vHg5vQP#sNqpj(WTbv8UGc&WHm=Tpv6f+eN zERBex^*;Wk0f_QW0m#20kZ`;%ghj7*XxfmR%4S(;RFc%O`Pz{=2tNO>-!)hOS?bi! zM(`h$!H90mTL*t$ygY+nowWMoAN~;V$6LZpWT1brUvjc`pIy8H73rdZt{f|jn+A@< z>qjqHyDzA5W85|rt{p#Jn?I;N@e*Bqr;{kw4BWXwD;U4k)y_y1*T`}hO@xp8XmS2$ zM(VO=Pu6Gl1kpoj{N_XKE?G!5jJ~t#*C2ALfDgsBvfSbVgvc4HW~wwH6Px56tDSvV z`{88m_%$}$FyeKg6T_IUP#_J=j`groZp9TA8;pyW_6a3m-Oxs3>BvC@*A0a7@QcF+ zuz>Ymmd2SnKd2r4rgq^_Q!pF_CkPA_tbKC@0;5SBk6Ao$rlCF2{=94C&9U6ncojbt zaYqc-Z*94n8;6FO$K#Q5X?w+drZ~O>zX)ShK9A?l{_a!%I35>sZx*(qk2aT{f{+=a zknyX8`bqSR`pxgLD(yukgd38eRI6~PY}sVzPwjHMb-a4-$W*n86-Y4dtL~UI@4rz7 zcfRq~t<`(mY#V-w&TY&z^J3YQ3_IR7`D2A0EIB5`P0-z7<4VKHN>QSI37*Nd3qRC8 zJPUyT|0Ib^AMABSYNV+F(1Wda_14D)>BFiPZcqt3Pm$NEL^1)<{RhF zb2=NtC7G_al5s41x87>_JxYMnPskQ|Lr)a6gwU=dG*bo*@V}0R51HAE~HB1UDAgXit^3tbY|Gjfp{qsL? zHiRD@$&H$u3lpY+(;_~xuAX1Kc9KU(ja_@K?|xJdd5Xk`V5caP5!8F&S>X!TXlc7( zb5Nh!SMMX#mj|LzGo`oJEphO?!gT1xu4F^^<$8TXTTh{`zzZe_6pK*}goI&lU@q^A z2sM-;Ng`E!TNCnb&iZJ!cJ^fL({r`Yui}&xSx%j}jF#m*Vp8~6xQmspyx8Sz<;4{w zD<8-V#63(=CxPtUSjox-%C7BRI=Nu&o~FG`c3}}g>c@7pYDU6+7S53UW}5~9S9nw7 zXM&k+tbP2$66844eMzmr=nXCHgfF9yDaaupA+Q@ecUu=vTe~j`^nQK1erz87K~-t|b#`D46clVktaFF!XR&enjZAJ( z$jprlZZqFnH6lNNeIF1XH>(Dofsk=O$z{;D)sj#$GZVSVjIe2PE*8!0#unIA*UDl| zD!0pbO%|(03RMyof669Y!*QC>)8F4?+-BfirdrxmEsKx`18aJFGnH|S+N!=m%Fp-k zfBe+^jMd7#R>Bh1)6;wJ4e#9$It$b+(V8bte=~~zul2Iw!Dcp z=*tri@(HF;B#wa*g?35Q1=;{~XY}^s{Kve>#kOMShm6pwt#;Et*lm6EhkFha7504O zFJjJCL}i>aceHt6e2-mPJ-`h1ouJXP>PG}Z%xSr@O!>u>6Xh4v%abqrFm9gwf38d~ zF6_3>&sejcap&~Um6@(B+-e#H4wV0*)uTGzn5a%+DeAf15MahH{vamth`N=lG9H|U63Z1|dpu%Q*SW z^taKTG5lbPury5ASuKnd#tYRQtg_Mg&gd0RhhfUD#~u&YF1sXeJWQ( z^pJ8J)o9tR!JL{Kx}(=>v!}vLB#W01(tx4VHXV@uL+70XI-&R|_p*p3JYAoU=XP`l z)nNQTs6(rf7O17IEh4BfazU6TofTsm9NLF;vdKAOKw2>VAJU=KND0!+T@nq_{wX|k zIxB^Aywn@o*N>Rh(QOass=4GKU8$DJ=uy4<#{`#b5bHMd*R`4cSn6vuFDm;OV#HZR z!{u0Noq4}@;+XOm29j&Pz7K5I7Y|Eg0cF>3*!i#))uZ6%Q(0;bJ(gfWPGR0e}xgrBpbjmz8@*%ZA>(~ zsDK3Qf@@mu#SB)}PKMyU5D3u1IDz8^_&r!3*)H(>R39(jCVN2PWEOh+uoWP5c5PUo z<$NJoFKeep|MgU?oaN8L+5zHf=fA=W@Q4JhmKxk(%(q;dd| z^<|yD{eKC!9U#Py{NSBw*MV&@%E$zm8gtqw?h`PY9sNv>UY-$5=c*4^CaqkI+q9cE zsXT0UAU9eNiWSeO8PZk`U#9+p`T$9x&Jz`IbuT>mYoF2BcN(l(bW=)wV%R50^B>i| zJ_uRK%2V-!&k27O?kE=*aEk^FRQjHiWF^7+`cQXx6R1?-=wrYb`9m>ST|0gV^Bb5y z6UT4h&0P6E=Qj{E$F;?z%3ro>3zLO$Co;{8Us%E}NcM!-I%ByS| z{(b|^w=egYJVq}LvuVTJ$7a1jQBVFTk_ zJO78c9x{Dac=%nu1~U(is{t}uN~VE&S}V#IHlu^H_3wWHakv3;V}@%kj+!jY*MHte zlYeL(FkwHxj5;hXIB4L;wwgThqepYqs;m*F4@43L9nRC$X{%m2>++x0uZI9)kJInC zyJa9JyOL*waOtF%F|J=(C-#vGoZXlJs&@PXIQr8?NOiQ5LnvH7bOggw`*O}Yct*_M zgL4p9`nUQ*=8s43V(BZf+g~OhHrvR(SX?jcOO;L~_ZTJhtj;RJ)@}uMhx%WKk&~P| zW-1=8TdbgTrvabEZ2kLBF}P7Kj-r@wZXnX+)zs3Y-57&5Czfk3Ru=M~$E5v) z1wr8M=372rymSl?2i7{DTC<|);??6=_)!7)=Yg!V-gZ0v>t2y7$#UImCjgtPXhEwR zJb3NC;Lw=+z4qnDM)H5Wm*e;+>Mgl8|G4>XLmqf%i;=~@{@Yck3P#d@{$=mlo1-X# z_}}^|wzNt>NiLUwDCHYps30Y%Wu+{*_MF`^k8>TfoEQ;+rohw8$xirh+6RR8Jw8lBxZd&&n4Da>>pPXs`-*R zlFPuw$FB+2r)O|208zN>XBLk+0RNjfZo*%So|bq+Y?!AU12tPkbEdAq#msP|8uuEI z3fTUr9S0=`>x#XEgey9w1VZhb{nq|{UIf71wqR452WCCe7nPW&Sz?Hsxd`=&V=tEy z%qc5x&ZTtNkyUJPR#_9#=OyIgEkjDzKm6U=KW`nnBKC^YpYbj(Nc|_arRS#L1>OAo zCZ@-q<5RUyCYztlsC0-ZqZWIZ-?+463kqdgC1cPg2iAf$AF;L3OvPPXTiHOD0ZLKH z%N0qrHWC+!wnRwVn&+-?Q(-AGw>pUhCGeC7U5JfdK-ip!3fyqa#a#)URR5 zMDNQBl2q7REH=)GB31_+!GTWDR=U|LgD-cZOWstV2yUr+6RdM^J4*x!Sbc0_3RnkC zoE)PFed$6rBK@;!Y0E8PzO5bSNE=XIY0ubyRWCL^rlQyWy!#X1SbMf*FwCIoz`wf4AX@!TRamb<4o|yk}}`etLtwwP8FQ z#r)ws1XMSDhT0!P)HUoyg(K29KW~l=6*8slvnKRNl_ipSZ`w#wJ}5)E1oZc=ixPj6 zGVACJPWn)WL0b^c_D{=OFj-(`LS7?}J-#F?in5%)+1(4vj|=qX#+>c#h$2t<7c%dT zy->(xmuUy>po_bc?q3?kh1y9%IbXYY9`;~>fwj7E;|4T(jjQL?%#Rx*r^g^T9Rb3P z;3_3M3Ii9u!oUSW8`t(?r%ao=@}V@anch_1We5$)T_Ygs*6L6ZqYhcH z-l!m+NugS~tF_e@mautPdMHg4^&|NQgqxlbVL zxY$DDk6>#AMliV42i*zGYM}dQ85jD15@!s^H`v*%z294x#~IO1bmZJuFyeS&po5JI z`|2mZz||$BN%J&_RH>hxK}Sd%4iL!$+AyL;2ny}YN1;1ZOEKUO zxraX7Xw&Umr%?sr6)>QpN0SF(iQ>6S#K>)9euHV;6a+!$J-4jA==ImlZ*lYQ44Q_Z z9!RfTyYg{u;gDxL(FV>dTSD@51X1H4jCyL4R%_dB@yQ&vCa|NAC3|Fu?T-^KeiI zF~Fij9mkiD7CXK#6e6ih^r|nJ*b^fhW+s=Qk*j@_gHgt@eJ%T7H>SU)+Wwytc3Z{s$gR-@mrc zT(@%#f>)=9`_g1(NzMAvD>z0#n&Y@7-_g+B{A>a~TQKV2xC6(i`pFr+?I@0Gz=~=J z>c+zwOIkB$Yu{YQSDcDKP*tlwa~90bSoHV`TQ|L$Vdd^oKUm0qMT+t$hgTR7>1X!? zo2y7pZ%Po69njv{z1u6^VA$Y;W{=H)7@IW4hAw*|j^VEd(I}JD2E1|jybTKkxqb6wREYS=VyJ>szcstin4Z8(@i6hD z8|x?Y^)HU|B_ou>d)a;ovV08}4X8~f1<|JWct2Tt!6aY!f4X!TZwOhH#2f441#8cF zYwkDosWCN+u0gSZQ#pcSLDb<5G#kyM_5`@dI}Fvb2U%=U^qg64dx(1b5)5=!66iroLJkKw=EDcV$@qb-~&{ht&&=!r3Y40Aeg+W|IHWXTaqAQ82?! z4OPL*`@ZX$D&JxK;ZLqY1hsS|X#DoQ_3cM&p$#qc3K?TzlwtNS@uk3oC&;T*^Xr4D z`V3aKy#m^&KR{GSv40H>OW`nxZA=O(X{>_c`^`_S3;Q4fkJk>I6Tc6AW6hjSHP2rX z%R~LtLi5aWLUm%b zF7Hj@FF+K3)#n6O>%iAo##6N~_Oo$l3l_VSpxi|P)0V<}KNJ7|?hIkoPuv8ZQi3ek zKTO@edCQvk!J0cRv3vu@VnG1;9)E?RJb%WfzrGd;eCQsyo|3#djwXazo8Iqck~EkE zaQjHx`SlZ{Lbwj469gf=g#g0U3O2x?&K-xIc&%EauA4O z`3kmIOxW((Np%s|=9zx5cWoq%RXCd`zSrk3!u*C|;JJv7`O2QABDHiH;Q-@P?17AG zTS8iBBo=x#Qxfj1$&I7qLMx%CyqIDPW8cy^fl3P@$~LZDftI3i@j^FKHNrx+T{wfw zu9idUBpxv8SRx4-00EZPRWby0&C)p@V1#d2}HEAHh%pW*{EnZMdR@mrcQCqd~%xY zuV0b+zRo5&}%LgyyqgSKDoLe`DfGx@wc z5m~ynVTdptH&byhVm(xs>Qbs>9PlCxr6TSYs==cl7CXTCQ&HlHkXyPFgzLATYf-MO zQYx?V`D~M58?N;GxgYtW_3{Zjwx}QEEL2~?0ORXB(Oy0rY&&m*<7e3>{8(G z$)>Qy^(k25DivnPG&W5UYE74mZMF2*Y78!*jC_5@|gLKc1+TGVq z+eyH&3cV%*Wk(`Sn)|1)|HTGKm>X{FV_qD+@V)oq7Cv?q_*-T~KskC-IX@>bnW0cK zb|By1HoDyHFj%BEISoY66~jUWpEp1MGS$r5FK6KyM^CYKZeC0zpYW_})aQ?Y5-n%6 z-_Ni~w6__4%pqt2E7@;X5U0k)Vi-r-PY?h=SbP{aXXaaR-SVed+*HO1+RKl*i)@If{yS#KQGA6FjXscYFl0+Sha;UrUI7_?dPWeL zHp-|jI$MWJrkTg)vrx)nkGG^D{mT+p$`9`%gZKAG_2vjCM|m~ax^c|9d?+BUZE!z) z24063d4OG*Vg}jYS{Q!QtZW!5BpF*@ZLiFsvV@;%$CXqx{kDM3Z}U`wbpW%vF?HCv z>_e>EGUYcD>rD$}>(Y_9<+^YPQ66X?H&B|z4Bix%R+dBJBzpQR-ZXxjMJ31?>&Ol3 z2vmY+nz%V~@+uCgSe$B~PNO^)8Hh~Ie>g@%j%iR)n}G444$mr>jRB8_x|Aby!vIX& zOc8$2*DoMdGmpy%vP+j@(3Y#Kf(5?jIvVWC^r~tK<61!f-8_CVU|Q&G=AH%tkfKir z2S=oE{H&F*zOUm1=&tble**lwCIBxQcVvAsSO?aRby?YA`l#wr)=K0{~qxUTdqr<(KnoCgL*itHt z=E|l~JNQ|B{&Z)K_jW2##`l8n%Kvu6padoY)8-3`R6Wfwup&{1EORHG06LqJQ^ydu zhI(VpBtz`YwYaOCH@eq7{p~rE;Qk1^tY;c|3E`bhT?aA3wDRDKvT(dyHgOgyBDA+D zbW}-hp1g`fFSf3B-Zhbpchu7{AvC=Eb?qNNu{Pxy3m_^WqB!tbIn97Cz!bhALPFUA zy_D^i9)itt+PrUtuUXg&*UMcl62wthy0AprjJ#6VxCLUqvQb3#DOHP=B-PQ(g$B&U zls~dqI_TvHNCWAE@nFtYy3jRdFCuH2ynA!nmDwBu2j0@Pi9^-|{49m<42&J9!s`0S z`I5lP6JfAN;13VZNQ!KyHe6JOFzkujEc}^7;frspSPnk%j*htCbVORj=5BdR^Nh4Q z$uc;0fm>3|@o{*6v9c0qTzkE&<0Xujd!n`}1}E7~h;9{e0BkM7<6t?tNh18$vJ;;> zvlDOSr5JGn0olW{lcY=>e&TZ?{3P43IEGphduk9jEz*jbjv6yEm(B*H~6K1-xI37U(I>3s+g8FJ`l596*P64T zFC!x4C>=Hv-LLAAVO@CQY*m*jHmp=&;sT5v&ecEUh29mv;dVob6XBwTBH9kKt=_A- z%I+;0xW+6xkEVdJ6r=6x+cFHk3u7c+fV<+`h>wzcH$m-q z6+pvcsp&D?p_BsWtcVOF_?j1-SMoi(XA&8*)g#`ra#mB3a z-Gve=ZZ#_vaaDp!MT1JkxPvDZzvVGBaWoZ-tGjP`UvD~E#z=Uh53mNkE~$p1Q)BJZ z3B=i;-3=avVYEyEG!m+%a&>qZMpRAN>YTjI#PLP+v?6p9`WNYPj=H}Sj&^k zG5}jw)n~+Pq|BJi3KOSsY{N`t*1y{KXRXu6v2DYZF>$Mv+4G47Hn`9(6A22d(~edSP7<nXwBm!DiWEh-tk@P^QdMCM11QB7hOX#HjhoU`EV! z$QV$hL5D=lal?hhO#W?eEc6a@hGGP17UtCh8r(RJdWTVrwmPua-4Pt@QS$sLCTX^B?Yt|@h}XKsTTOfCh2as2$E53HkvxCvha%M ziR<7$nth$ACIV~E?upnV{GF{1S5h#Fzq{MiGe@Zz5Ala^8FJ_R8H_M`1UMRbnD$ml zVE9kLPYP9PXTL+hH7t*f@sEr__JeKbZGRSNHF&h>4rjM3*E5vMr!x6`0S6!R(TqI& zJdEVp&Z|*)J=}vp{|~3vJlL1UziS`3=Ph(u6ieSTf~o)TySuk<*nCfMB!jD8rO}7` zSD}p|cc+qLq@@!NBBRTCV^I9$i;da!#)=iI`5Tf|{1UTjwb8xI>#M!fG+;im84u~x zj<3{IYk%Q8t0GM*!s;-QAX4+@NcnLL$6JUtnDnHw!KVVy#W zKIr4-ODAV6UiA4$f(M-^b#PA!SD$5~xxf`CpmBfF+FlpI5&j0U25tfPAKov*(l3u&Cw634LiX`y_l+Ejn_o}54 zvGe#~we;F56}c_Z_8|5a#BT=@ghBD0@AnWA_Q}F|9s9jU8~8=uP+Uu+s?RY5M~vBZZ8Pu8N>nDU3hzwnXm3}SvqyP=$lFHwc1eXFO%9-y5RY8#8a?-X0v8?6UKK7 z$2S?~$Y-n0BOc6~rOTI&d-u zg?8e>6jI2R*h9Gy5ktHqp4zhjKUJi-WSCNg>T^LS zf#WI9S%|U+QMjNgMx;aQp+PuftKN#Wq%u|%hu2-hZ}jyeo?|LS z?IIUBphT=)S2rNEpdGBw{fyLd9duF^V+6%3)vSqe$G2YRr(U9v-=!Ckzf~Fc;1IT< z;I8IxLeXE8k$(c6N24KA8?nc>Z>z2LE#S;wyO2}ngFqF$YQIa`xNOtjcL`|J zLzteoO4kFWdQVjJ=)Mj9=)wu1N?)aT(3YObC{WYR#BjTdqV zp9gOZowd3aNz#bp!V`i6rL*Ky*<7WNkl%yt_bR}q+&JRJOisZ0O`beMsEg_gUo>tW zLEHkJD_mXBkL&vT&c}4b%o8`L3L_)i3ds<)QNRIBg?Z1gv1SZ}xLb4PcZA&GE_F!5=UbxYo~-jo(fq zMc(b}=jzi_3{Sv_*S5$gn`j%>Q6Nefr`3PwIgBisZF1|G=m7rz5F$@5qcc*h59&s6T3KOekE#>6vLm`C^0TO}|jsS(T64i!G{H@29 z0VtNoVTqE;5kV(aEr6n1d8^{oH~0h-I_s(~02<uKm3I#8AvwS##<7G~6 z)sbR2^Kxm#v5CWMFkKZBF>WQG4)K<3-1-th`B@Uq z{tRr70Yh9CSNSND@^9M(IA%aG+9PJgG*;3HS2G6sPj=5z&v)8NuihkbI0vvU%Y1cL z4pu_^&zZ29(ynsc>8h-MBLZTo4MChxa*^F6TwuDv*uGsQ)`mVzk9Vd(D`&0k+tmdf z)<6t3>*jG5-2sU5SOwJ%Xv6;1uHC) zM1TNzP$vkr=BhU?q>AjS0I~DXVK?1iBspSpIezH8Cz$S0aB}Na7wvKhOqt0(Ud9%@ zoXk=q%||FJT>XU}Fy%(m-E0KKacCby*h-;-hku22`9nl;MF6A5jT_dFpCNrN6T?w( zt~Nv}{7JhepzMSQ2Yqv+*wTd%k!?LtI~H6n_*7qMylWMH^bDIFor6Ap!_W+>cy|yJaCDh@z-23bQuFtJ?_9D^sw-gGE7lx>8~= zTvw^=h`>T6fBF{vThtJ6&bV1sZ;Y~sY|-C_;@7Qjj*aB<<|{e#?ImYg4Obk=yQX*D zq9tz!7>eGIP7ocAALKZ}h%2&#>_8kXLu)%$s^%*=p{L4(mCEHSytbsAr3~Z;hU-H8 z(^;fJb`QIE)YM6Pi|1P?4nVNvx0Yk{1)g{#ANfu|MDwHX$cq6-lLZ;&?KEWP+%p(d zl3`S1&`j|~8__DcV%cGo?Qr*GVAt*aJ!^Up$J?5?*0~+4JRC#nd%1=0!*Gfyv=PEM z(NmO^?x}VJ@efk0054``@|3Zd4}n-nKaF**KDi%5$)6yW63X0Ia4*D!X2{8pAn8t( zJ&@GML|vahQ9Ffnt_P8Pn%-HhGl6X|J$4Ju&fGZxL2L1Q-wtG}ZqDPO2509RpYoi? z+w69hc~`P|`Kguciudo;U3#iPM6Ry6Iet=$y1LUS3LAr%0}m|0QIgHLy|4#ax&I-J zshyY+d2Vl>V;f)r#!eD9POZZ~v4v_^i!xY||CUDL0;=9f(aPHKZ=oU5n~3Y%cthfb zZu(NU969H2FB})wdgeZ<&tGNxm%Slj_L)ki@ZM{+By9Ln7baZR=qSO<2b}64t7s^* zAfN_rnv}6IeO;8M*ipiR6d#z5|+RJ1P+g^A8k_$TgUkWE1$x04rS7f$aW?C_(_|Pw@!>ECt{M`|% zF#T1iIApGA?r*h`A%ob=JG=H)g*{z4+*ZUV3rTwc<1GOMC9uCyn5APuL7}# zn-8@wXR!ySPlKvrR5C+DnUcYR;oJ{2I{WWzynLu?=(`T}Qe!Q?O2$QBgBHj!qwrPQ znt992KAl(?9fs9#1MjMF*3G1CX+f2#9+Hy|TsYIz4v14$d&W?Kg%`tY&o@^S;x4$d zLtTNhe>SgJ6W=sXoP*i{cj@a3pJPKovu-#BgJ@M?MGQHxnV+!C?UcWIciP2zM-Yy$ zvK!ZD`c~N%UY{|>7q^Rx4rH+Jbv!F~7q`C)vGcwEg+un#fu$*;ci zQd>bKi9KJE6~G?oU1kyP4<%-~DHB+#4f-O@HgNRT84}g%)AQg`-rX_~5-}Wi>J1`0 zp(-RG{=Xv3vhKQ&S%~JyWV))9{-q`1w zjy%r*qi}Y*cwXvr!{j9VPcfE}9XjEjQ47rI!u&&=#uq~OHdq2poQ`g;* z;M0Yxpb|5lFUc-t9_Ybxr&uUe9?xe+#>7F+kvcL}@Mh?HR~zI5=}i`w3q;+XjKERO zl~Z1Rk2#1-o*5zZ6E)uG`NQ}$?wXY9T zD+PwA9k92iSUHIekks`l-LI5^Pk2MZ1x>m`U&1k;aRpJGd9AJUH~7XnJSB7j7mwFw zehs@sw-4irVzq=5c-dURNW;ZaZdimd>hI%yg^@xDauKH#zr%|Qm{$m?R=OpQVjD;9 ztoGC;5izS2QAk`+0rCo;=SU33u_g_G37@H`K>-CqDGS~0pzGtt$Ma+4-VowXbeRER z^(g?og;7|t2@p4OZhB4cnnZ;l2b6U6Z~~j@%C*!8k5mu;GpUSJ(()m-P@qHALwr4+CP2A9rGz2hxI`jf)(#zN+`1%0;*kSL zNKU)Iuo282qC>h~m#S3j=qx^gTli_?lK`o-*l-ho>fa8&I&l)n)BO+VU_u|<+Zkm= z8sawXFHcn=52NcX45lkcMLLmw*!aQAAD?(R!Oimd5Hc8mV0-~qXs2;qn3%96c5Vdf za-9V6v79wOI|Cxy0LSN>`wzLA!kMz(o;M+9-j-uQgrgCW6REv6P{L6HiJJy!PwC=J*+sG}1PMQzi=I>U2)0 z`_ik8`yc3A)#dwYW5uwH<-5Ye>7H6%ZYSenI9+^#Hx83{8J7K4>pnTxm(hY@Xt80g zBHX0067gNEvp=nJfzdeWQD+9hxgnDu8+<(k_re}suDn>vBDQvB41g+0+_owbRLYB? zYXswE%B2hc9tNPr9o<1iX&l^d&mns8=M2XaqxZ_^M1Bzp1Cvj?3q{n=3q55a4mA?xH0XHAN^T>EYu zhSoqAIFdYw+>8q?%q0iUqyJd?uvM}X@nLnG|B_c!5%U2!8nfRHl1{a6&SF0&=yz(a zc49V0*CPxXk|d=Hf|n73-yD8(yNJPLk}z!?>Dx43{PFgS2SD1DIjG8_pkye#4C{NR z@ql2S42#X|WdM#WIo~3_wlwcATlX{B>~{IIiYHQb70u-Xt;ZNndYvhk2jQH zM>4RzzYPhglsJ-f8hH!0?wPk+jB?Qofy;g?RSPp3e_x51>%Uli{VClL>vN@)Eq1> z(n$Jj7YyESWY$kk0}61}B7HVUy~()FSk~UD=HyjGOm>{K_P}cmaPS`2$#4IDLA=3c z|Kd$3R)kcanZ%teN&p=)5{clzjW8|*E3aG~z;o^BHEZERSXNk!(Xi=tCHDju#HBpn zwl0E_yQ;Y?4ppW|@FI9rJw*uz)lO(eoyUG1SsX`;PBfN$AwP^aCFge$0Zkw?R5p{` zuKYG$gWmMyTD!#9R=i~iZ_YJ!huM>bjq$;*2oX)rQxu15ExAyU5tQx93WGW?EP~c0 zbEjD{L57}k_RStAV1pD58$WMB^2Ff8z51mUEza>d*4^awXJvn1Mxqogd*iw<#E&HP*I4ZeHwwat%j z+PGo+hL>M@>8Z`zwm-G`73r2|z9UYX<=)XuPHY`AWmwFNl~S_-pVXX37*LU!yfW4&>gSWTx7ZrixcnmgXpxVG22{^4D#Sq45++e(?N zxw#-qru)o6`?CRmw%U&W~(h%$A~E4Y^;0W>1x= z4s9CVy)nzL5BA~DgZ%^QbEQzpj67|c;&a-52a=&YiVN4Io}GO|>ArrayyG4zl=Gqp zSYi9{&|P=ZV*_-lR7-h59#|#CAgb*H2T{yDn_ft7{xpFxjRI9oD>&qkM{){L0k2}A z_xAP*OxomJr0Mc(;l>d=V-Q7 z{^7ib!PXCkwBr(r7Px@L^e8b(f~;?^y4u(JqId8i&$iib$IRDBrQ)$6hTI^_NFGbQ zP1cZfPXX57A33VKs-cQ=lTESQTAQ}ziuRI}?lpGcLivvM+ElszDXZ7#kKjbEhg1>b zmz(d#)eACp+W|yk@z#_vTjoS*mZJ{@qOl-aND9Z(#-5}6!80zGd<2@I=!QXrs*Kvf zN!55P_RY_)0W*5h)^0fcqGha!ZD3>WC$3N4FdC$uvY+yV00&C6j((N2sH#(nF9fu; zF?)X;S?ctfmW_JA2`P{qv z;cU<)pqK;D%(CQ+%K-KVm$Ks4ZL3#~SEb5_$1Q59H*K^BMw8Om|wBNjbO zBlEiaF@B0b{un>aAw*vUIsl3aG`bXU%j{k?Z_LKT!rPdKg$8z? ziV48j`5Jf*@yBV1LE%i}FIm8d@aHe~uDm&lB8va5pJI$w;YB71BHk7T@jer@O3H#I z*^reayY6nly8;+YA|ZfajDR3wf(HRKDkK~qMrMz{{0jcMf3v;4bL`A6op=;m1=;QC zd40Wp{od<$us0oQT3$}8j!16RWr6P(v{V=xAh5sQQ*dEW=B#bYnP8t%g1|9a%?^stb_wATe4oK3YdG9fjj3t;Rkz-FV2d zNKm#Qp~aRyu^3zO4dN`OgT94ULm#~#Yq%~IT-<^l^rkIz$r_Zlq=O)Q11Jpw!-wbx zcMaG~cC1=3S^Rl6x-)V0GJyvsEpgedi2JeXJ@Hw^_;P}0kw5v1i^nn+R))YbokxkX z;#HC7;#vFZ{7l{9gkNifzohIwiG&x8Lm z!+CA4VZCm8(Fn$_0m{|6d9LoxJKe;Fu)c!%HA-+<0NEM-*{~ra0C5b9oJkih-MBnj zEyC2HVa71#vI8gqs9-P(XC%6O($V@*>lzF0Wkd~qaXAuYF08UA@zRshyy{nln%WjS z<^ERfZx#)8G%@i;QZ(YW7LtIj$e@njle&?6!oLIbQM9)$L&y-%FetmA5Niyf92eI3 zuFzZPHgH3I?lhNJM=48K8*$b(w4u1fg@ki68j$9KKXQp^B?x3BAebbTPs5=?xSaFA zW+YowpaBJwf~rD#v0^6|kIoP$R(iH{%w<4r7k{S?miHY-h4@J}VMR2Je7I^_iX38TYG%*FrIp?pGK3f0{Ts8?C2?TJ> zNWx5OXT5_gN8UnBxZ+8NbAu0+a6>9@sV-}M?C?n6h>VS?8_vnym;(W zoNIszz(xh;2vK=Ogycx^SlTRf_6z(P$i0}_X<9VyaY5UGtu^j33vSf3%PeAh78hq3 z(i3--xN<};7ab3RW=Y)!`JY8y2JKAmNIo^(2a}dfufJIF#zGL5X6IV@o%?_{GrJEM zp54N!%Q*2Y^u{V587Z9K%`*-`Zs_u@{2uig_fArX2L%Co^IJWnA4iPiV z$CD9I|EWMSqHXgLWC+z0ItEgt3Ks*-4n6$!2zdA2TY1ld7N{@*(}4x>WqhMJ2aS+S zgm&x{3;`(bG7=tGHfk-f;I)a7AWTzhg1YzK8_)Evr$3#}CEd8sx*<>H9=m=rrd&Wa zrkt#+;}74qYTkUL77pUo#4+*7TLNgWCl^#r8S6)7bE@?1F+D&{7Yo%{RV^|SGQ7eqmS^7)cBKBby}{^^Zs2Gi?$db}xXPbZCFgg$i^qf{$IMOEtDP29x7_hD z@YXX^z!EJG($>2^L=_m$wQlNq`t>av)_1Sp^6L8TXFs<4lLG_k*8F?;0xrs5-%e*48w>dF~hs<39m+c%?#3hb)Oax?nas(cr zTU5nN78v2E6s$0$OD1=$a2jmU7l-!)&2NeZ6%%+NPFwL z#^`lNHKsi;g{+r1c3R3bmZFC6tDF3y658lqk#V5)qMM2Dh zB^7Q`S2&Pv%Sq_AudNt?b3>JewVFY~>`vr%80&2nWHrz!vNS;Ka1Jano{xpvtY$F} zK*f4xq;TR}l$8EBkC$NX;~cu`96Ad_*D{h-99w{G7?gTA=1`voQLgg%495GT1{H4; zu%0}cW5#Z`MD&p>BY4K_5ln_5oD43_7EVYbsKsO8MsX20JPKpEQAxcMkXgm>@*;zr~}G#6sslH8K_E`LVHzWhHX;7!m(S)4xJ*ptQj;PPH7^a z9nesWXqgS)PKXO#bNNdq&ce!>NMHPM8h4SXSlWvqWamrczuX>2>hz9SlG<&xWjKrO z?2{iRVf8m9{FP>|;)@{u@d089o%e;A8EZjY$|&b>kX;= zEUd{9I)_%EbWj5j9kD`YBo=m6t1A=>dA@vjR&65|vUOu1UHSJ-nQYW2)T*)n5V3|l z1RNtxLKJd1Bp`f}NbN7AMBG9GMB&sQ5ZW50;c7ByXIJ?J;@F$W?pP%VW9+s;DaA`s zbW$}L3!7DKh0H;Z4d>noX(AkzI|ovkZRtd|7g{qz8Ma-%ucrdp4rnP-57{6FYxhRP zJFZN91sL*TsfFd&{AF-~9xfBe4UwF&0jzvF0fi!*KY)iVd_ySb&rE`oY(Y&B z+~U$X1lU-ci-)ka^ZTKS>9b1w3BAXpKHl?g3~L?z?o$TZ$2O1+#?>s=wi$}&o_Y$y zy$?*|wg-49RzE$IfUwcNvmN%4hN9`X*YD|6#`d?-Oz>cYw`ezdW?*nNShDfRjK)|FSD=rFm zc9N)tU?fMN3-C1$G_s@@8xrMph~bpzIjA_Y+BKjVyeBc@-ECky&4?gt8Wcf-^j2-* zFkDKsx!TiC#uhX%2R@k9D*;|m!$BPG(25>X-;J$GZdUoQApECuafBPTURd#vP~txS zYyHt`L3?3D1^LO1Re5v)yMh}7J0X`zCUzvVuMCNLazncWTA9EIHs$)&;?eKnsPo>N zseJz{`F_lm>lCM09O(nRC{bi%ic(4!{DVR*EHZlKP zAf5jCJ0C7!2aNM^Rk|GZ4?5&bDfe_*%nXDX)WPEB~G3Rfg4w8}RJ(W#u@6Qh< zbB3*`ct!@c)VNU<%wiiML*Zv>U7F)uoN_K7#i0sAQymKeMi7bv{;CQC0-l*(e;@qt z)nBfh=m2dXAv(BJ-WUn1s6A)#e%*A+C;$&50&mSCuJV_K1LI`h;Z`c2GrEMXp+zR) z@(DL$7~&j&+&E*WPzXH&Zui+L0=IzY2PBjr^Z@m}g-fF_`;t~$vq&nzUc#meN(#7F z(@_)fVHg2BF4;IO_X$#&Pq^OzyQ1QQdD{7X>_P}gs}`n3pt1nbinH%$@?;3*1v26?`2l0VRk$Kv zn6r<4GmDN~sfe(eQ<$#Xu6CGZo=)Sl^8M6w>#=YZ1TTmVVCZzTA}F*9!4@HSoc&)CEaNSrJ}Sdn02ymh89PmdR)85= zdE_u=gL*ZJ!!*rBC*(#xtJF;R0{dD<>MxwbtS>qHW>iDMWB;pbr9;!s)r-y-lYAE@ zZ-wbNDQ5H8_vLo>Bk?LsF3f0FN&1NNDIZ%sG92vPNqVq`Y-hgxn7fOg@CS;hi)jj= zqJ7~>W{KdO2OamYMpO&|wV+9;B=g;ko3SJ_6bW|z%t@LKZ>`P$yj7?f#-_27DiL&O z`tR=OuocO?N|A4hX@M}5Pi&(URNF!fCzgjBxY>~>fP`%oPGXOYKy52yPW_5qQ<^)> zP@(Xp$BNz_>v-4aLLi;Yto4Z1cE4+<0MVvBSf0^e)o(TQ2b$2L6`S(w2!I&A+|T8c zhJ2fYR+|k(do(w)*t+2ATXkK5zO_SoLJ8+Qy2=xX9x(*021DfGXY54RHA4%-4)I5t z2Bg4vxbDw(27m2*+OCw*b|5)`Sx@#p7f{jrtPaYtJARB~xfkJBY82lDz({m6YiAXN zZ*h#PZXV%)XT17p#PCU<0_Ndz%~dyUY{N&#hN>xRTN|F@S+JoiUc+-fl{r%@22{KH zQ~6{)bYaaPeDN7P>BZp~^JL>F6J^*0i(Ax!36vrG51>p=1k!)s_QH=umn7_rj?u&^TDo>C6XMOwWA=xLei-iKN*BuQ!;|&r_MfDb*{y zOT$~baTe1g;aUY#1pcr16Vmzps=%@jm{RiJVD=emQ#C=z^lOqAm=hcn_MbkS)|eZx ziccR_Nwo}bbH9bz9q7HIvSos}>(yT82BuJkXi)z8h_yCn(fJDI5D0te$w#H;5Q7y} z(eJQ&m?nC3$@n=aU<3@HSxe0r9+A&+_=tFC7ThzeJ{fgzC_nIii+9VbxAYyam#Yo0 zmm0~T<^dSG+uum#h7$u%_w`|izcSRB$RI?jp|irHGYxI7nV5nN+kgcnU2AV$Q(tvj z82b_0QyaJK_=C+!RVu;?BNVqDn_ZyS`k~$|czh8WirA$iL+C^+i?EOik(Oa^B5CA{ zshlBN?Jn6a0JUr2N7L#D8@mMV08MV!FM*NA)@@3rRI}E&W2#rNCh7NeaL17X8}?Y!*?^piBUXghvBl z(R~-@Be3Mfi(WvSns^+1&8+%;Q&l8@3L3axr<(RtLr10ltkg!J*s9vGtLwQ9k61b| z1np}TrByY-Q^A#e$n8xns+aARy^}6Z}AM>bz z)6WrAs!kED%+wj;0T)bxhI-Sxx>6q)IyQzudL&5O1HYMbqP@{`BEVKSg1bZ`?aLh9 zCS(A*S09v`AT!v~ig4g`Dv#`;hEc>UWcp9k;8=@G`=CGtIe`%z(rpVp+vKzt?bOuk z2bC&~I-U9xSrIwVYz`j@)%JsL3OgP&fF1fvNEr&VJ{3Q*w0pui^MgLAo=%6~x_jzX zwzzt*EWxOQfj<$vvfb%7ldlgOvO!bfr*|c@!$Y>G4KA(8g>uIB-B|pIM=BPIcBRn6 zLx%I{bM=1caEfK4Zkh(0#^U$JuDC7_ig$WZAZw zgdVxq(!176R;jB$nKZ=bH*n8Al%urUEIu0H)26yObpBi2$ zH(j1-)p~K)^pyCobJg21WB;}06Pf3PmbfN1Zi8_z1H}dcLzf%d`^Y{2P|`7 z3HRXNg$GCJ@QibD4~@k%9mD+=8U-$NfaPl z2qxu`rP8%S`sVViRruD@t0^wkTW)w;d0>Zcsu!g{t08}?;0?tlq8+N5_u1rLvj*6Z z>wk$9%?wS#t94f$fj;$v-ne~o)n-H$^;*o0>cXfoI>cRH>FQPVd)58YpGxSzQiI9# za8=f`Xv*U0$=$d+zF#I(sk7hoMQc8lV2o7~+e)?84X4&-y=(&8B1E?(TGvqTz;&cd zztRINom#nxobw;aNT0=otX2vH?2NzB-UP|{S29}dt z$Oa6Yypr%^is8r_e@}CC`i>@5z;>3$BvvDjLR=N#UV(_JpD3f5$~F=TT_M(ST%KD`fri;Jh7{kYlK4I}}ofG=f+ zW}$T)*{eT=)t_@>gyq&|YGm~1beW|VvpR=8X=HQsOkdCT)M{kgvj+#|Q~4eKrM;D8 zk5A?w&xq-h7DRX2z3HAO#qY;)BxlpT!#&A+d^#X~l65jx^FU#xR%|M8um@r|-U-D5 z6K}kf92z!*dsGGmHqZ>l!K|Ypj0>W74~Anc10_(yM;kPCXwt(P77r|U!wxUa6c99F zN*ICS2COtag+m_aKPZ@v1pcvyQY~Lig&F=waVS+oXi^J45>=KHO9X7w!mnYEJRV#g zUp!Zhzkj@Zc%J+sKH+KNTja>sXELrTuLYN*0E&eB9t1;TeF8-%`H~Qk2U0`&E5zHe z3w*^nKBnGcYv^%gP0R!Clgr;OQO3k8k^PCR130)aqB%XzfH>WVDSA}#P-+JdpP`F$ zBjVatvwaMrhD-?RnQoyJteMPJZwHy+=?y*R->iZAl%=K!xBwWrDW#E~IWKHwt*Jq8 z#^>5}4o{+wYuV{tC-%~_NGz;bAr_fh9zu&=8=S)%(&iNLK`X>I8V`=O-0Ku*=#TH< z(;&76FC&K%dRBVs`PY{Z%&UoY;B^;0oiJry6{!QB^KSr>lKvXsOKT zQR1p~WKr*MHo>We#un*jZs}~5&UU4`P^+&s+n9nFLsu*7d5JX2v^~rcL)J(NSny_L zMw<0_Yaj_A$$Zk#De4+UCUnSlV0)%{U2TsuKvVJ9ArWkF0^Wfq;krosg?Q$70kcCd z8hnEfAGY~+m?PD<#Aa$}7-O!!fqYOMhyUJKyh4DFfONvli2R?&x6h?~72ZAW1 zP(pencmJqE4{_NX9C)8}A!M^3*m7+zx3g62Y6# zl1T(F96VlJI9;AW5H%4>&0_n)(#<*ZSzIjlbUJp1)qr=yvBh6k;Y-lNI2h9y!gv~} zk1~~15*y?)=avU~RKf~7vfW5Tx>-sIL~_nADMVtv59bWr%NK}DRjLX5Z5pc-&L1gV z+Y8_5(!yoBo0oq3w6J)PHrnV2u@j;$+Xr02f?+srbHEr-vEa^oIukm4qw`#+9rqMx z?s@i}xsd|NI~1>_8EH?&*_sf3MO2x=-3C^r^lBG@@vlx|QkYuAf-25?nZ@Y1tXMd) z7e4e*sqrU+y%vuDNHv`vN|)d{rK+>Ia736?l_RR!ECT;S4JcAYp^PT4x~C8vpa>N? zMGI3?go>Luz82775x?O25gazR8o`5^YaY@yK_lun#vJ%BqJjZBHA^PMFEU7Ozetr@rK0V`&NX zS@2`MdXUVlonNB)rdYCyKi=vbWp;!>o(Z1O36rglrmqla!^6>s4=t1wguYS1ipVNPIsLG9!cpg$_p@oxiHxDEWEWkw zSD@P7cAB|IUO6l&&y1A5S-i3IBguykKlFik$$@&HExlH3$kpBhGHhj;K-cJ+R`M5X z@FOYuO=K<}JAqZf9%b_4v)?)=rm-AL^VZ2Ttm_C67Rxz#5`knO6bNp2aKp=87CBg;AnTyKxby}5|H0ccoDchR) z!c{K1MczLwcD*hwg;Z#7wTeeB!r6|(Bn3$NFAFhh;uwxIq{wxXEt0KQPQ%tZA(lMk z6-y|=aJo1`0;IU3WFb}-A;qTLFkgDdI$Eu|>uf25PFx{C`lV(Ma|dAzVgOp5R;xtInHiiBVD2*X3*KUACPsGUhR}yYgz@WP?C%2H-kZ- zHe?!jEOX7-X-d3$YF=100#i_}K2Y?A?_xqdFwt)=EliRMpZ~0N5n~GkCNCz`tPvyh ziPPH%I>vOM@g$zWH!5^2vWiJbM{g#clq22{k2hryKg|%UGvLCs0~=|E&uKK@pa)6> z2!`oY0Rx~BfyfRO2gH78O0ex=padlfl;^ze^K2eV7^tvmCYGsr2-L%^T}KBt?1Hrp z*f(aiKY&~r-%I_~A?MOwptx$Afd>dok4C@&VXRgnlWBb?2h75Fsk>pQP!*ohxlqx; zAV7-ei$K_G9#v&H@D8GbTEr*nJ}i4d)iynt5Me5wW2 zC%$)pGru7TH5GZ*N4MFckt6fYrKi`~V=>p&K9TrJGe9FbpOk%cd0Z~Q>TyYs(e zSxX1McY$I)Z(KXpC}{j-HM~;#eN@Pee)?G zARVfh*ty;QM@Y4EW9iG_M;9)lgpgHDlsM;Ro!#F%i+`v`rOERcBP0*Rm37X13hIXv z2pi=iBbWqK(92oKMZhCAD$?_uzJMrMHx`iw93B4J^N927t-mydLJvSB3@YtD0^Srg z%QIjfMhd_GB3``w3&Jjx_I{(fjkt);;si2!A(hc>ShjYQ@lLcj{sRVNb6h0+?hJRJ z4$c#BnlPEhKIeHLZL0qOD+Wgofv^+bJ7c0RyaHiIxQqx&6S9&(|1;Q{eCi?+wrBZ= zYgP1^J6XCqi=n~ZM}Z?#8U_?oT3A@B1&X-3(`Q)(h6-~npb+!8+5BKIAqZ5Xz+gUb z(%OZEYxskXLG8{jsPxSw zz911#dFBVJLPIzNu6X%0Ouc5Cz(2koiGPLZ(ZZ!m_yQDg_Aj!U>In-81dvIc!axBB zP+quj2|qK`kOS^D%oKoguPWdTZ$tOZc>7F0dew_{PDuXbIZ2o+IZdTM&N`>}vd=Eq z*r)o<9OjI_&8MPCd;=l1%inx%7w2&rj|#8{egMUiN7e7>p$#b>ESy~!{~RZ`cz*4G zGrJG8dAcxhM*N<_UGNFJ{QU)Sq!o`}DIYyulAzIBMe$Ac{Z5MbWA=@eNoH8_{>zIrIewv@NFaoPg;b z52J_0|KFV?tm4cyOqea^=h7Y<+1s75ADqQ$*~%$kAu9sNS^SB$1pImP3!xvIqG61a z=Ne|IJc7Q&IYvKfR-3ijqMsItI}aogc5_tx+^iFROig*@Na_3nB)=F^m{&^ACi{}v z*Hd2V5)`!HK&|Au$ zTgskW%AWtYvPWB9jD_4p6WoEW@-YlLS_uHtJ+QOneWfsX0L+s!ip#H`_%gK^AkcbC z;7uZx1EoI>l|}`VLuf1)V>^iN<4@tHObrpN2-qMc1N$XXf}nJbMP|(vRxEH4YWm%< zkP}ze5YQF@aHc%GC>TfZx%w*A(M(X;MoNQGajyBUKI7~`30Qz#CMz>nb)yo$P=Q>X za^|nQZ~1ULQXfD@9|PpmTS|gup>H~+aAnk$q7{J>QIm8+wo6&638jU(EiRyOPjjQ+ zW-Z624p4)bJ3Dl(g>m4wR1@K<2}ASTppJm%C$wb|7Az0a62-M~5hZI?JSj?gifya~ z1hyExugDl+Td8OesWnmvcvF>15!H#d z+6}FxdU}pmhX)2Wq<0Oyo!ZQe$Z}*3dgP^S(UbPAb6Bd{t7I|USlL&k9!{B z80%RTBzuHe5$e5>QFa99FBCrQ2$uu)0@Q$pfWkiY#7VuYZWPPeC5%EH=cFDgVHFi^ z98Lq<*u~@z>ljYwEfFP6!JNcOw^P-`Anxl$cYy0I_=%$+2u*LNc-Nd zSGu2mT}W9%g)x7obbdE*3x+B9!W2Q+=^R!SrL%H%L=Iky zO}coEoj~so*yYk|sQc-sF+eIB>FJ1LwWmKZAkqjWVTg+gV2Wu%1ilrSmB|$%c@or? zD)ln;ktl>{QG!DCgn%PD0MJnIinwssFCYhAVg5HfD9wFW{%nF;Unw%|!43pZ&k{^D z`udT@>dwJQ3qLpxYgs-YiRP3L|IzB@`^c88Y+@JNwMdIV?EG_YnfS21zErQ<9xT1! zS>i_2Rjws8sCF^f$HIS0UK;8bz$0!LE* z=_{yHc;p~v8c6U^st1Y`(buLw)i!rl+9Y2g^jxMt?jmR8`0&kLi6tC)6V#nCcriVV zDBnV|_Cs^Np8{U3^C!!6EMtigDMLXE$Ded&MWdLdGbEm{E}krFxUY03X0)$#rm9O_Kir#2o52O@F19Jqs}lmY9o*!y zX{9>;0j-p0Y$lXbzG)0>DO^`YZ_~r)AUHrdf;*=8Tfx(Ye=`JB3f&I=s%k?7JTt!~ zd<}$eiWQ51S81wwpLn2ogGQ0T`zZ_r(Wh?MJTF4T4sqwJT7wWx1h{JuA>szOOK1L( z_;!(T*Ou`NjT7Du2A!aVa8N6ZU(;jOu`;VUm(lQ~`)FydxO9%Fro{U@QhD1C)g1}D1L_I6Mlc@dXGOeL-W2MchvLwgoQ4%#;oI+;=upVrq3WQ- zF?LDcyB>sA8>p+MoZA6gX(trnftzAQqVWCA-nI3{QA6Q(e#MFxKq{n_xTz9IX-FU< zfhC)U2ZZQ!*GX61%q+9JAwfdoPPvGS#9iX5iawPJfdFy+GfheU1)qK9;+dV<_3V0V z7mLIA#?Uu*ompkH(N zJ&_kQ8+#9jqG*TwGU+%6=g@G8hEJHfT>)gP>daFutfIA?2xMaG(cjwGPHmMk+-PLI zpntOj)|0FVawNSxD=P*h8?P|F`+FH*B^~6=(`?_Ow2Dd-_xA}@|Y$K z85&1&75Dg+KS_k>x+>kt%?pp}P3?TijJQ<4r(Io6RPJd9eZ%g{LH{Q6UKa8oCsvd_ zkQLUVChX;66$<>^mq&hv_$gt|T z%50CddLU7A8Q#*P3~M#IA5mkaj2)dHv_l+%Zw0H(Eo6fX*4gfP7HT^Fp-BKHw*JB- zuo<>Or%uhk7n;<@(f8jTfBM?dmDiDZ5ZCOW&+=d=AAAb2!L$mBS&Oc)+<5avnDr3VHd}DY6b8;MEKn?`#1ot9-+DTlz;5NaHt^R|^d}zl zy&bWz;o+@azr*&q7c{-%OE!Oe{N2aEzm-6Jv?4VgOKMGgr`m3gD$<=fi&*#@85=pLKEx>&2~G$ka}T^8u4V? z>-NN-MM^=Ain2-kY_?b;*SY6fC+zXI%Y|J`>PX`|T*oB4#DgPf@;i`}h;po1d=BoL zUxk>Ef1jkD45_q{IsW1^{7cc=WC1Aqq*6&JDW8Z$NdYBSgNm{-4l-Fto@BiAV!y9P zHqLtkwm>Z}jAP6o6Q}0(-{fsfmx?G65N-GACivl{%Qrs0O83E&o8VaY0h=q&70f^1 zjVI!3x!8+|PC;1YjfZ)8T#?Lm*JOE1iX~!}d#)l~>N}TQ<7HB{*F7Ji+*+X7%PDGi zL57&Yv8irH=CQ} zB$dh{sa#*u)FQ+dL{XPs;z#fA)5^+2Zyp!8wFs`da5DbF%`W)2Dua%>y7mM95=AkGoN zE1iyOnp(C6)A!8-Zw}NI#IS6y)WQDI6XfY zQ($4=qrlL59~}3y`TDv5>|dYFhjzZD5pg&bQfg;d2aTBG8KM@w6v?iLW<~5a?5rj9 zX7c%ilevdLKQ4aS-^hBS7VTey^K#s{0GdN!fE~P;1)hpidP{yN!Qx~Q2s77r4=70- z-set36~n3eHbRQGYvso}>(MyNU{|v@@hVh1a z0(`z-_7VjgiY4K~2`gDXftf;9-``bt_h3@u3@fqd-&P?l07y z^fTblGd?DI=WoV;fU8Z1pA7ZJ^MWv-!83)Dl6&h6;5$IL{0-!c^BlRL2?_?q%qdp} z0w=(vXg(PKP9*D}Q+k~!d`Q8?Vx5U?K@fm_ES=4 z`|GJ<8}aT%f5be~lERkbVea5`pMG+1LR9MDj5H958^w?C75Q7{kwBU;adyR+dWXEo z(OtX_x6f`79fX8J$~I9HvCczk;67&-Ei$k6)d5}t(h{Wp=WBx^Z7}%4`OqN5NVyh` zuax(=H2P>-TNu;eM4YNm+rOAHG_*yo)Q&2DflN*;I!I_V^x{yUv=P1K&m+J7gYJrd z>D(vK?EH@2!$8da&1s(KXD%=*gWrfwjWCLHb=BT}vFmCVFlxrBc!W&~14T_CaFAD? zH5k>7ZeQxcz%il5^29lc2=g6SizP61r#Rl4n^4FZS$igl)NQDj^a`m4*yD`u$Z)>2(42u1Ybd2h zj+fiy*YeM2C7#Sv-Qx3*b~!qvhTdQ&SoJ^e?vVaCa8k z<7=pSHufq>#`_TT->70;Gzv^s00xCWSaiA`Ksh_HQaiLClpSld$Eb~M(kJ3jACk!7 zv{F)9tLmxTe`m4uUv#&Jk^6ZLtS?Ltm(s8*4%aBFvNWaI-IyDjI2^-^r{j52Sj8r& zv%86yo$Q#_k_PnGPW4i77qO=bD&Z!rc|L(3f&S$e91iwANwm^M<{zQ-k}_{-#-S}N z%{mWvsI~vM#ce0`1?l(Ox29wE)#DFg zb>GYKSHV(N1O*3!FRMRfCdr%bls3^{RwgbF0QN*EHFa5SlVAm7wTy`tK#65LJfO|8 z5^Z|(@^?ThN8Tt)RfejpavMR}l4mBdWbGWxIrb5a!PJU6T3c=(w`w0)V3|9FQ%7>B z$JQ?wj&?|qTtiW(Ty_j8=9cXN&F1T8t$IeXP0q$zwl~cj8P_=VU$nN50?uU4FU`B? zIvB=b2Pe=ZG;67WmeLoDdPkx6uW0}vP0rHz%@9}}DFd#u2mw^gRv^EE2n-tS_=5_m zzbK8EcVUe&Z0`A(zI_dIL`?|Lhf54sAE6$5Y6o z04+Db3`w{24vG&qHLOo7kHUH+K$J5TT$zr+@L)K4c^EfB&gZx`qMk755=&JLAkZ(f zxrC&ji24k&G!8wM1^iVt95T%vz-q%1tG|4Gq5vvJeTu-sx^w`s(PW6-Ur{;o4@xr9 z#FEl@UUTL0j*-dztMUd+%t@1lA@XXbm3|7j@g^--w{hy}Vm#m+^2(j6LUH;o1zIhX zzS+eybE)B<~Gn5_~0tt6V%e8*P|LQ(D? zk(_+KJmO8<{t6%CQ$ISekI{k?bXBzr-4!FVlR9r4`E2sk_IDpFy`Q5PHK1^4%rq9* zNO?K2ug!Z|sILz#A4WcF;SWpAZ-1iw$<4PA8zKf)Pmja%!@d`x(@^p3Py55?y;&*+ zjZuyLeyO!*U}UVFo!Na7ujJAcLPv=HdDkJCFAn1!-uFA%EdSl6Tj;Hi=iAKa;vlB6 zfQ+KnWS_>3b13SSJoZZ6p9mq!&0Kc_Hfy=b9;eBbhTElz=Bw3S^Z71$P73PVeJDu; z#9{gNfc0Zw%YYKG3TZyKZI@KE8$aAxKKU~^pMd6FoSG=lZdArura@mT4C}yuM4Rlk z(jKZ9Lhxjr&_DAy66A`~C}aD@9(kZJ&A0v{Qk6e;e7Fff=Q2nO3$D<+DrEW)u|eRn zEvRCVy(SuuN;i`S1UIec4COGR>p0o4;w;zVoD#~M!#(wxGf)vU_-e~=^^wZ)BC$Uc zGcM%zqTnySqc|o`qv5Eh-}SsLvOo;pjaIftBn6>FM&Cl4vP%MTP-R%r2k8;U2SmTi zowTuk?uL@0hSGPkAZ50zTA3cxGL2mv;nTSgxt4EB zKQnMTwtP6RuD$8N({$Pxxj0rc_0(ymdio%D{&7Qwt-E7_ad_T|Kiu&AymoUdZEfn*|x%8iOKQ=&UE$Ru^GW z`&L(pn`@9FFUSERD>xvT0o-?AbPZvH6BT-}O(zELgn5HW0&R(zB4EvbGgUD z6d~^A3x15-&k%!9LbhO=_3e=qjsf2Rn89J&S+|xf$rRP``Cp!Km_quT?@%4K;Pk(AT-1M)Q1X(_ozzffht*9xaB1M-0!tD?@)y9k{QEoJMP zSFdy7y6S*0L-yAi89UaoZ9R;WslnelSCDY*1I`S&F3ZY#NL!ePL1cK|YowzvBaIAA zm6KF1H!)fn983wT#=@RMHOBKPhO4HR>+w2LATR|v*s{*ZKv~mH$Uv*C`; z$;>)Cjk1&=8x&MY$|AZXCp!D6Zx*UHVQZ3m<{xMA)+GAi3$++@A&w$ipcO_*7KaDf zKhNo$0waLEHj~f~O(T&z25wlYk0xrK+;4j6zxQEYs)4&i-v2xJ~Q)A;Wl7S$*rb#F?8t*laK*cYtxYZC?Bjn zWvH&aqW z;RI#Z^cK3)3;|dnC0OefOvfu74}=M-m}oXLWrE}Eb8Hmop8N^b+3li2-Oq3tB9vBPqo%wL zLPC8tXl?ogY6#9oldrt$_$j`z>?~j{xYJwbo6A|e<>3KGsH}!SDLZ{qBI1&qxG~M# z9$t_Ww*n0Uk`$n9PFB2M18UI}R(%?EPTc-R>rRwtkZ={U)ip)rdv9QRuyP3-7 za%x0_Vq%oA4MRiqi%3QS0CT6y6W+Li4ue3*IUE_1q5r3nq?Ire1-xQDP$Z`%WGrrU zb6g4Quz?z!3cTMZzYA!h$9v9r`l_t|`LKT?0_hYEO}aN{ysqq-aJJySUhd9}Uh_X0 z;WhESN|F|mJz&}OL#=&dwH^@`5Gqwf7*Zz*MnA2WEIT`?mvlvSN}8;z&_>G9Tkxl0 z9xMVzOE+3jATmyo&=vgDoQO8{vs9rn4=5yS9j_onyCq#> zUIat1we6n9-z80LT#r~U-$)r78Igo`GtlA}{85LKr-3p;VjwmxMH@a>9k>}Ad835l_xSM+Wm-nCeQpT=>h+=|u2;-%V+7+>!nFET%C~SY%kD-#Y$9MO>lx zk(FS7mH7d5ivHqOc63saqlut^!jP(LhFvwI0O6yEvgo6XG~^k=9>*StZF!$n{FPD% z)t;*7{?ZVn&~gwT*%16$Umg$=Qhst?QSD@akq3EEA3QGb4BuSFcg{(4o`6Nd+N7X5 ze948*a{|H{@PnY)0-Ue}tQT+H3Rq9;!&+=q}5J^T(ZJ`(QeeRMM?Vsi<3*|wE>r9vyh(o%DqXgBtj z%Hi{!{PRU-b1X)_;n^ulMK{H2rpL0wyI_aw4%b0P;jv)UY4-J(GZE&fv4{1ag#sW8 zzYH;}t(*~CCl(7X|5a`ecMm$70+m4?$O2MM7fYJL{zaf(QPO8l+P_RP9st5BLud+A zSi>1uq@|;;Lp!9+QCB*8jyA7p**V^`Alfy$2AS0UoY^L`wp{z+ToeP-`-H3v5b66rjep7zHwUZKE+vEUMFD zO0^DTf)7;;_X!dr1}?G~(@Tao4XTo!F6EH*m|y8*Ko|xM4@=Rs+AW2!(pC@y)>4)0vOFg!!-phD*u}W<U(ynZF zhhSgTnkXuGgF&fo&g<7JZE#=v-vQVhG?@+OD3X}(JFHrYHNd$}JRHyft_SbmK74mV z5?$b?MPIoFSZ@$D^$YmsfmMh!d~qiI6j%$0s@K^WqzsYp)2}^I!E4zq6+s&*TFG76 z#XED|)Ze{8>ae{@7a>-huV&8Tp@{xRjjS`RX|Y`Wy-4;yKIR-FLuN-_Y}te>%DghQ zCy#`ez^O@pH-PrK`fmat(U*1});LBrZVLt`+1nL>+(2&*&bs{?F_BfEl%C>Z7X#|B zsNXImtLP59O`GWDSNbTiXJFeX@0-AA@sniimm!QWz$6qDN^8X_`7ZYYAl~5BG>*v9 zC{D|J>qlI$E


    F<7uV1&bsAvnXIBnXr$AC`Re4TnGgH3MCj2=vRiQF-PKHq?)0~ z5avpZV3G`MYmWETeNE)RWPVB=ar@v)9da@dWcNiO(vMzr=3KM7IjU!E9!jD|HP;@s zs75{Tp%JBI;|Nz1nX&q2CG^qy+#yAe3HLp+BsXKd(l}KEV#m=SvbMZUvfP{^_RdEj z=YDUX#G6}lQ0oS*-KPO{`2C$U)&4wbn=S`6uc+KT*k?ELsJESOC{b)l+o<4D3?hmy zonq+c_s*7~d;_;*X+u*46*pH1)7Lju#9NCkwK4Yz!bumZ7R7srBvfu)G23vbWS7ji zxP}bdBwX@?$k}B#yoFDzoJL63URFLKFlKa1^r3mc4|?a7Qhs0$M4(bD0VL(TDf(om5DQ`2`-s7M|m3t8jKXCdGJO{jUjMZj(5alQW@S?cZjXV{1@g@vyEi~I=u^1Ry1e3bOEbH$tXma{kNoctX zo5m-2nnj3@$>PRl8JNN%l_^R22t@nfoOt>e$zu|{K}>@zaA00!_spmyKTIsjuv$@T z{?1+RitiLCT*@S?oc=)VtSq&|ZgIu4nyjn_-iktCLeHMAzD{3%sV1>`lrT3aK~=A* zwPw+?4jl1Qwu!`!c+d#o8Ff{LbW6JSx<(v$EFv5`&4T*-gl#+n#4G5`ipG?u?ez}V zs5s|Vg2Clp{>!t;S;j@9{kj0Ycz6yH%M?-lef{#SwXYEY`LmL;`aIa~E-eCT|M>^u zI&``yG^|bC#>Pa&s}ZhsW8F2*C;sO%>gN(~N`DS#RA>pR>~BC{C2PdQlpwy1n88*M zTZLrt1WQ2=n>?o4!_u+wkjv>6yb!iTj=|w{V)RMir}c0^D}gCC`-EkhiO^a&?dK#I zLt~5Pcia0ZP9C_aTIM>8iHA{02v+N(-asPM#&t)_SC>Q6+(!4N=1#yh%-#=MW7##e zg;VIYm!04BUnZ%K1Mkn9o^Eb_%uZs$p>)x~NccQz_j1koowGBXO2ILRoJ9>{q){7I zRH_Zk61nRmvbeIA-ZHwK5~;pIowcC=udtZj=gql)DjOD5kgGW^`9K_#c+9Pjdy+L` zbrpe;+t-=estAznHFq@9vr^{8c7ff=iS*miLfIV;crH z3+=v2TzwIjYzQ7~A(G>u>A83~I5YjRCiZvn*pWA)7=S+phx7{uWZ6|}3=E-!L})Ad zX>oM*-7RpW4d16e_VI^eO=EL!F})wpRXwj_jXykdz^%TQM?>!WU?$k_Aw7)(gL~8C z2KT5+0!2DeD4Vt|2xK7L?k@{r=X?e;q%GOQ4X0RgH^ksn(RjHcdBN+dV$g7IbymDJ zgYsd0F=}nCfm&9tZr}S*i)j!r9Ab7>pK#|1ZkHNP$Dt$RijTxW9>+L|IAAy|y}~es zE52>T*W00qD=Yg>HZJ+iujq?h-iHP0mGo7qGZ+U^n`RtVK^r#RKUn0VN245B>DO(0 z`&=!k4mpfXf7e(3dQ7q!MHh0_87$#_1seUx9O3MtIJyiqlVtaTH)4Rflu1i=tHxfT zRWbp=6=}uVF-r4W@qM6i0)lbDc$^W!K=;nsNDsNn1!BI>jaA{D?t$~LquvD?sgo!v zywBasES=nI!J|;8U{KkUU0Rjt9Mo0JiGA`WLkFX4sT$>PRo${)dZEj2$TB1Va3KOn ziyMUrNRioZfyCl&+pxkj0c~=*nYZS&vdIe?F0Ur36$^Q^r2j;lJ=#|6%0tpL^=>3eG1_yc|7B@EiO z`I4QjzsGi6<)%N0FlxHC2Oq-DS8Dei%;#?Q_LN0ef)N^DLer<0Lnt$@9^AL2RI{RN zxE3;2LsGW{Ftw#=9l6Z8RtRX##Mk=It5SF?+27XpN!mEM=0|@W!4;D3L(&h=>*clV zYFOm!(#dWUi;nPdh|ZO8^yc%~-s&~<#r2FP=WWg#m2Cn$HJWH?gWR-@r}3mtgdR>V z&K9o+@JS*L5gT~dy91Ce&1yELIgscJ;xW>46r>T_GX)pbl)0|6RyA8*8J|J0!nq5y zR|Idw3+qP0^B>E5+pn{xHdYgbl#iA%L5E5$tE{W8BwHVc zgd)M0<&%_5s@|wA`Zqzzd@o{_SBDRDp@02%Cqh94v~@s{=J>HLA?U3 zRHQr|0q}?MTzuAVrei>0#;qR`mFEm7k;XHQDcya3JiY_FFW6az7GDt|T!9R{m^tBF1Z*#MNX)T; z>stQ|gGDX?+X`-wO;h65;zUKT1})C>ura&vOZ;5p=Mg&tr)4tEv;_%u+4$j7s?stI zSykEhKawVQGU2IUgD6zcA?Yd-X|@9Q1@!*I6F{dRCQhoQ?n}sB;>C1A#r-E6NVYfWX_<#`^%Hvf;5+3S^gr6KwvTJQnV4S*FpX#?@zI;hvqw*gVl9$ozm zTOMK#&g~9W6y=M&^@;^6Q2GlT1)-5skXREt1|edkWzmih-?d5E6j{D?tb-ya{J&w* zeMc~Az+?e;m6;<9O9{x3*a|sC%5}&kS4C=JIL8Rlz;TwWYv9m(1rkz=m5&VYp;JTs zGekVJNvWs()HT%04vzE*OqIYCd(3PBg!Rimb-@O941x~D#QL(4_3rlI7v^;0%K#FU z^M=9!rP%{W>Uc0`JkK#4+G68APKKx8xz2_zz&9u`_X{vp^PLj`QF2#*Y0JRZy-_T?h+LFe>RsF-8LVU~wwF zm-Z9O&>tK2$Z?RC)CSjQy^*moTR6AzFw51iigB-mnoq1|FY=TFc(OQ+jW4c60=^R_ zSl%Wi&Z7*Ms$O!MNty>ZQXx0qG zCXp5k%OhsU5IU%sxh*s|+^g%_EfCTQD&*79P{{iNfkrGTf)oG}h*)5a4Z_lPWmN)r>u?LJJD^e-g z062?DJxBe3Ym1HP0LKPfd5lX-#%@)Gc+QJ3zX93by!8u7j%bFWQ?VE-ntb_Wz><6g z0-|$~cN_nbufQhpS(kB>;27Xybf2`J#h8JH+;eD?=M;L^Ivqj8aCBcn=y9fQOQ z9=7@(bBIxOZr2fpX*U{DO=`Ww@6>X`K;2XBi6jp$qXozztA4`*oT|WJtYFjjk$u^6 z7e#_GY+#+aDFuNDC}D95i_b_~QvsWuP6V9IdDh_$YDf)A99ZuQLJF{jQV6i7Mj=Ho z#56GYGPmK4FQT+fBPj`VellMv8}>BUY3?+6{GI$Vg4c6dH$%bp9lw$(j#ar<=rKH; zd>rH!)s%V*pn+kS8UFwd{zOMpYQ8QS*#@WW+As)}!B7i5zzS$DIZVA93=%nf`D%%? z1~@*{@^-akq*`h*l6oJ(8{G|?eRxwxlTh|rrLFS!)z@C^YjSA&9(tVYT}?N#y1>c& z!PC9?2U9cF@5|$@U)@`M%bc3GsAgXs9la+JoL)hvF#Bfg24?~Zc;&_I)>G}KRN3OU zMlZy=z`p$TlgI9m(fd$mo7?^F$ox_Fc7xLxTna^YUW+M<)Z!z)awKz6N-7Wuwd4ka z)QX_ld!BCs4kN4nZ4C}VPGf2@_g=ZU`H`EV=+zvq0WG)o*;bqD<11hOBi9H!qM+S zWrZx+^i0DP6xNn$;+i{=F{0Wk*p%!A&~Q4ci-lQN_nHc(Eq7vkgZW{)^#n94?Q+cz zesQvnkLbqQvY8S~Co9Zaos}exJ&5(F0>UaPV8I&v=p-!55XrSY@Wb-MM@@DviH-W3 z(rGrW11*mjZ339ISFh*N=cUx`N~!$Q-G@mU*6r;#NO@nsw7uE2H<2H=ULbLPs8{R$ z`MCsl>@JkkE35;PsciV=pmK3nipW@lsKG8ej>$jbemu}KjVN`2V2^;Mv7m@7SslVg zDtqb`z%ksamkS?;imwXp!>)=2nlG$rf=y{22RdJ*%4QTqy9MK~V3J8tR#G4%YUc{7 z5jrb?fbxbdFLm857tNXyUfD0JoEw$kJCJ|;iYnmj;fJUd3cZQ)*c9Ev0#8tA3ol$& zXor+!8rv$HTRppvH5fYmSRe{|ZNi|K8pR$t-4~sC5LC30 ztiW1lMEdNH5Ucwt&(WH#pH{K(~dSA_dFE`hdnDRL;es4+yDf}k!N{L@OM+4 zg%15H+iSw!*}fZ>tZ1%15nl<%%{st!+c~-OY9T1e^J>AE@}TZ8@P=ZvYtE5IzjCdJ zg0n4hpV^%Sri>5(bFV;*4_G={C>OAkd?yviiX74jtSw`dJrZ5E-B=`E0lf(*lU}`A z1}Ib0ahCs&0a8eHK_Ng*&bTc61A95lb<%JtW_`BbdqBJK zfWzh2%?K34*>3O@Y5;>23MgWO7zA=!9(l@EL`#OV&5AeNU+vgDhtOvT)m4RW9m#vL z9)Jk0V-vr3kJ6`owvamlk4oTGlo9nb=Oj0MjC<+9u|Kxt5f|qjn+y z6iHuBG6kBfWutn=J}DeO3j+%C9Z77TQ8$ha6UhLejS>FUytcmu*Y7{1hl91;D#b^1 zXxH;h`^Ukv>GJ4#sr{a9x1a0$j&FW}wmrAhzVO0_^M}SqbakO`J7zRlvEQ&e zH?umNK{+g+XiGQtOLw@#bV4DT=Q=qhv)8Qmzh(^2JLs4>80&nSMIBNY_938zWo+f~ zv+{uf(vj7%(V8bC(>6*wNDFus(F129hbCKxyQa1!btduAcc0Pg{F0)`jA0u63$4P ze@t-W2ed*tp)i|c%X`~uH31!K<^CCQa$U5S;6u(u{evHwws0j`;B znRTsSWQLu_m&gK|murDFe3wP7pk3c@Rz4|M+)iWIZaOHB z%R!r&*df1(;SEAK!JrknLzP`!a|q0p8fK5k6h!%sZ3M=kD6cI9kk zN8U;{r;xgd)K~eBh*QN6$z$mt2-!q~GAymgzzNx8AJH$>lwgKzL=4d{spbXex2!0l zTTV6wC>vrz8I)D0!-i}mC-=*H-MvvNkqg>zBfvC+$CMS=D_VWI0JkLP7hs*u#Gtn@ zcgLiW5NfCQ@XY5@pN2}>08cneEU6Mo6||gG5L+IGC6wv(kcMw?N+gt3=M#o+0IP^- zU=bR+K{25)nVKAnFRe)A3EH@PAX}=*qOHAZxl`{hOoueWSi$?`~g+61&id~p%=F)-B4$QvNS3qFRM-tE9hLaU_T*DFI8d^ z0GLS@IVhWsNfMJxU!)C{M|mKvPPZ*&F{pwE=lXTU!(e)K#Z#H>+T`VffGiq72Z*$R z^uwNqVU99Y+}!QH)M?L+NPoEfIR4Jgv=1LwVWS;n+gY9t1ec3py?w5!e!bED#{}6| z$xYqWQN#)B5syeJ`?kST?dS zC}w`|sFya?Tq&ER`(`wrPb&ci_PT#&J-m7)6gUaKRkXCV}`Y^r=f=6Z_;B7Dv)wDa3&x5p=W^n{km!omqKG(ea5q7N!D&xTXIqUGo`FnSyphLYBE2usq>~7n@ zhhT~xOoK=cD^+r4gw3`OPd%xnG$jMuT9THD?OBmCP!FX={hg<9nM~*49wb$^*gu)k zKAxY#0(w!=2C( zh+U**mT8`Gt5K&#v_3_;nD7N#c7pke!Ne zl9|AZvOx-eKm=J^I8E@Tsq9JqhS_qO{V4!=*yk{{Vdgo!-W#}XPNo3z3;(x=Sfaie zd#DX?Ak=HuBi7*Y3hQ=64XAPoofuci&TYH1d3fO5+GiF^C}8O;v+<5QQPbBr+DLey z)V}i{cfRk+b!TyD{+-d<^SOJ|s!+ed)NE!&7q#rZ=*98=9geoP8)?)Z7-MUPYiol; z=Y$9qz09s*j^qby!||vff3;Uj1}^72<%Rr}jb4ev`!(A6%D`RW=2hu-7&v7}HYmo^ zy(R@D$94WYvXianQT;fI>)pE8`PlaQ9SV;^@tA^CuhqrJ3hVnmwp#Y zj0f`fc2!s07nX|qnPzm7GV}F1e9BJF)b~>nOcOU0DGm6htNpC*N3b4PR=6*%pY-47 z3oHZjgpZc6rGGK7au*MtlM#kSd!8qZXLxj{@W~|yi+kIjdH4=G(elsLH_`2qN#4hO z)fNnojh9RF7l8cFKGyLpl2g<}1E#wO8ulVd=?>=~Cz(<6wjn@LQ==VoH&9q-7@r{@ z`$;dTTxTI^MR<7wSX(nW0lYSK%nrt*jk-9%NZLD)YjS;I4sQ?|t)VIr3W*lli%UHG zM>n1QgFCGnM=RjJ+ZY3|Whjk2&eIUAI_^(po%6@*hu5T#EwT*G%oJk{%gh#S3Wa|l z2*K#vZL0aP1^g?z-9y@{%4Ia9!n9Hy)Cp)zzd{B)r3G{wM<^|TQurj0NK@Oa&_j+P z8Bu9NB%=ycqf@qes08rINckUf6EA5YbDCa}rW!Qj4zbj_w0b?<_%61)G4&=szb#=@ zpJ0P@5$dYNmH5O|&nOK-5-#MwdXt%i0RaFE^j~LxbYKP!WLAQiu&Hf8y61=!%cv)3 zh738}o}PO}WpokwJAbJ$~C=~??R0x7r|5`Y?vE_b2^SIeH ztY>cfHDyy2#yP!q>Ah}c+LV0)EPto+wZIbiiX4H1kvJ22BXVG6%OW2c8qkt16X{V~ zi{+RjTR=b(J3`8K4T)T_YQd4g-iL$G4Z-K~2WE{u>j(fFl9M{bdoIyAVk3SixYHBE z+CPgU%9Fc-4s$R7f(Yg!9~gOC0|d*X4*{3RV1lqh=IeD}BXaP^oQ`bZG<3ccbAy)U?LKF^Sw`6m=1@27I+)h;flBqbl9l}41;KZ z`~srX7Ye{D1VoBLg6BxB^-+Oclf#M=^Z>q-pplGC919qP^^@e>;Gr7fCoGy12G9_g zBleySAXb^5eG4*EYJ)BE8&eM;MIv6aYQf_Me*{TkQ>O~yA`#20C<#FGYsXr?D;Uy) zbi6u{ggPL+`RR{~P74Hx50Mc=aKrV)LKl$2sia$gzngWHt^Vb7-$A+~)T6tAeCvI2 z@#LBh&C&Jas}ei)>1XS$L^kTKg&W1Ul#P8CW*ywt@yyBESdaZ=%X;M`z%=f_26YoOcSXmrCcJzvH@r zc16l9_X#`}=*jJ$S9_?PO6KP|1M2zJtqZ>kY2E3wT?&jp?6tCq(-f$zF0@k%$lq8nzI1arW>wvr;HKt1+9Z z8$AK14aCY%Wf3})d!Il;I1BvC8NmCOEe-IhGY}BqvVVeKo{Z=A@_B_wu5VQe+mUmR zPsokaPmK=ViZmtux~1dy0eqQd%^HCg zn}h=w`j11nJA~pbH~6&>Cv-L;E!3Q5$W@Lz_P4dr-Jnn|!Y8Dv-{q-rJd#hnuRk~S zH#30N`@RwfU!b08(lTV$>{$7xyK{G)7r0r=9uvLNjho`|(+-$4VCUHh+=f(sPck%q0P$f9D6wRozosOCL#37Npe}<5|5gkB#l0 zST=r&>FS{7?~$ z4R|6%op58d*g!Y2=aVojV`6SW_7n&s2?tv8v&F}OrQThgQW#v?_ zO9$0bpPLS-hB>pZ%S!~!RG%9Tutl{t;x{9LX06YQ1kKc_3kKb$UYiK0+A0x6b^gyP z9qP5I02=Bu(|%P{<7Imejk@sviygCa{RjK+*3@H;whr}qnV=fRt%0D~)c*{6w5ZOF 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 znH Date: Sun, 6 Nov 2022 20:09:55 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bd/bd.json | 3 ++ bd/bd.ts | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++ bd/bd.wxml | 15 ++++++ bd/bd.wxss | 30 ++++++++++++ 4 files changed, 183 insertions(+) create mode 100644 bd/bd.json create mode 100644 bd/bd.ts create mode 100644 bd/bd.wxml create mode 100644 bd/bd.wxss diff --git a/bd/bd.json b/bd/bd.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/bd/bd.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/bd/bd.ts b/bd/bd.ts new file mode 100644 index 0000000..bd1f96a --- /dev/null +++ b/bd/bd.ts @@ -0,0 +1,135 @@ +// const app = getApp() +Page({ + data: { + realName: '', + number: '', + isDisabled: true //表示页面加载完成时disabled为禁用状态 + }, + + onLoad: function(options) { + let number = options.number + let realName = options.realName + this.setData({ + number, + realName + }) + }, + + save: function() { + let realName = this.data.realName; + let number=this.data.number + let skey = wx.getStorageSync('skey') + wx.request({ + url: 'http://192.168.58.210:81/save', + method: 'GET', + + data: { + skey:skey, + number:number, + realName:realName + }, + success: function(res :any) { + if (res.data.error == true) { + wx.showToast({ + title: res.data.message, + icon: 'none', + duration: 2000 + }) + } else { + wx.showToast({ + title: res.data.message, + icon: 'success', + duration: 5000 + }) + wx.removeStorageSync('info') + wx.navigateBack({ + delta: 2 + }) + + } + } + }) + }, + + inputRealName: function(e :any) { + var realName = e.detail.value + this.setData({ + realName + }) + console.log(realName) + if (realName !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + inputNumber: function(e :any) { + var number = e.detail.value + this.setData({ + number + }) + // console.log() + if (number !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + + onReady: function() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function() { + + } + }) + \ No newline at end of file diff --git a/bd/bd.wxml b/bd/bd.wxml new file mode 100644 index 0000000..f4e001b --- /dev/null +++ b/bd/bd.wxml @@ -0,0 +1,15 @@ + + + + + 姓名 + + + + 学号 + + + + + + diff --git a/bd/bd.wxss b/bd/bd.wxss new file mode 100644 index 0000000..159e3cd --- /dev/null +++ b/bd/bd.wxss @@ -0,0 +1,30 @@ +/* pages/bd/bd.wxss */ +.binding-item { + margin: 40rpx; + padding-top: 20rpx; + padding-bottom: 40rpx; + display: flex; + font-size: 32rpx; + /* 在模拟器为iphone 6 时,1px=2rpx ,这里设置32rpx,即16px */ + border-bottom: 1rpx solid #dedede; +} + +.binding-item input { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-left: 20rpx; +} + +.binding-btn{ + background-color:#19be6b; + padding: 28rpx; + margin: 40rpx; + color: pink; + text-align: center; +} +.button{ + margin-top: 30rpx; + margin-bottom: 30rpx; +} \ No newline at end of file From 69dd1db0b707db671ed7934d355b27aab20de609 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 6 Nov 2022 20:11:19 +0800 Subject: [PATCH 15/24] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index/index.json | 3 +++ index/index.ts | 24 ++++++++++++++++++++++++ index/index.wxml | 33 +++++++++++++++++++++++++++++++++ index/index.wxss | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 index/index.json create mode 100644 index/index.ts create mode 100644 index/index.wxml create mode 100644 index/index.wxss diff --git a/index/index.json b/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/index/index.ts b/index/index.ts new file mode 100644 index 0000000..80900c7 --- /dev/null +++ b/index/index.ts @@ -0,0 +1,24 @@ +// index.ts +// 获取应用实例 +const app = getApp() +Page({ + data: { + taskList: [], + motto: 'Hello World', + }, + onShow() { + // let list = [ + // { id: 1, title: "任务一", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 2, title: "任务二", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 3, title: "任务三", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" } + // ] + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, +}) diff --git a/index/index.wxml b/index/index.wxml new file mode 100644 index 0000000..11f6846 --- /dev/null +++ b/index/index.wxml @@ -0,0 +1,33 @@ + + + + + 公告栏 + + + + + + + + + + + + + + + + + {{item.title}}: + + 开始时间:{{item.startTime}} + 截止时间:{{item.endTime}} + + + + + + 暂无数据 + + \ No newline at end of file diff --git a/index/index.wxss b/index/index.wxss new file mode 100644 index 0000000..8af355b --- /dev/null +++ b/index/index.wxss @@ -0,0 +1,43 @@ +.wrip-view { + height: 100%; +} + +.swip { + background: rgb(243, 243, 243); + position: relative; +} + +.swip-text { + position: absolute; + width: 100%; + z-index: 100; + text-align: center; + font-size: 20px; + color: rgb(95, 95, 95); +} + +.task { + padding: 8px; +} + +.task-item { + padding: 8px 4px 10px 4px; + margin: 10px 0; + border-radius: 10px; + background-color: #fff; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; +} + +.task-item-text { + font-size: 10px; + color: rgb(146, 146, 146); +} +.error{ + text-align: center; + padding: 20px; +} \ No newline at end of file From ea67192ba864cf5a39354dfd8a0fb505ce1a9cbc Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 6 Nov 2022 20:12:22 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 app.json diff --git a/app.json b/app.json new file mode 100644 index 0000000..129e132 --- /dev/null +++ b/app.json @@ -0,0 +1,42 @@ +{ + "pages": [ + "pages/index/index", + "pages/menu/menu", + "pages/my/my", + "pages/bd/bd", + "pages/uploadfile/uploadfile", + "pages/list/list", + "pages/operation/operation" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "班级通", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "selectedColor": "#33a3dc", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "/static/index/index.png", + "selectedIconPath": "/static/index/index_active.png" + }, + { + "pagePath": "pages/menu/menu", + "text": "菜单", + "iconPath": "/static/menu/menu.png", + "selectedIconPath": "/static/menu/menu_active.png" + }, + { + "pagePath": "pages/my/my", + "text": "我的", + "iconPath": "/static/my/my.png", + "selectedIconPath": "/static/my/my_active.png" + } + ] + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} \ No newline at end of file From 5087a09c70c40e69dfc67f19b50ca64133064529 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 6 Nov 2022 20:14:42 +0800 Subject: [PATCH 17/24] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=8F=8A=E5=9C=A8=E8=BF=9B=E5=BA=A6=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/bd/bd.json | 3 + pages/bd/bd.ts | 135 ++++++++++++++++++++++++++++++ pages/bd/bd.wxml | 15 ++++ pages/bd/bd.wxss | 30 +++++++ pages/index/index.json | 3 + pages/index/index.ts | 24 ++++++ pages/index/index.wxml | 33 ++++++++ pages/index/index.wxss | 43 ++++++++++ pages/list/list.json | 3 + pages/list/list.ts | 137 +++++++++++++++++++++++++++++++ pages/list/list.wxml | 27 ++++++ pages/list/list.wxss | 37 +++++++++ pages/menu/menu.json | 2 + pages/menu/menu.ts | 99 ++++++++++++++++++++++ pages/menu/menu.wxml | 50 +++++++++++ pages/menu/menu.wxss | 78 ++++++++++++++++++ pages/my/my.json | 2 + pages/my/my.ts | 77 +++++++++++++++++ pages/my/my.wxml | 23 ++++++ pages/my/my.wxss | 58 +++++++++++++ pages/operation/operation.json | 3 + pages/operation/operation.ts | 129 +++++++++++++++++++++++++++++ pages/operation/operation.wxml | 19 +++++ pages/operation/operation.wxss | 69 ++++++++++++++++ pages/uploadfile/uploadfile.json | 3 + pages/uploadfile/uploadfile.ts | 66 +++++++++++++++ pages/uploadfile/uploadfile.wxml | 2 + pages/uploadfile/uploadfile.wxss | 1 + 28 files changed, 1171 insertions(+) create mode 100644 pages/bd/bd.json create mode 100644 pages/bd/bd.ts create mode 100644 pages/bd/bd.wxml create mode 100644 pages/bd/bd.wxss create mode 100644 pages/index/index.json create mode 100644 pages/index/index.ts create mode 100644 pages/index/index.wxml create mode 100644 pages/index/index.wxss create mode 100644 pages/list/list.json create mode 100644 pages/list/list.ts create mode 100644 pages/list/list.wxml create mode 100644 pages/list/list.wxss create mode 100644 pages/menu/menu.json create mode 100644 pages/menu/menu.ts create mode 100644 pages/menu/menu.wxml create mode 100644 pages/menu/menu.wxss create mode 100644 pages/my/my.json create mode 100644 pages/my/my.ts create mode 100644 pages/my/my.wxml create mode 100644 pages/my/my.wxss create mode 100644 pages/operation/operation.json create mode 100644 pages/operation/operation.ts create mode 100644 pages/operation/operation.wxml create mode 100644 pages/operation/operation.wxss create mode 100644 pages/uploadfile/uploadfile.json create mode 100644 pages/uploadfile/uploadfile.ts create mode 100644 pages/uploadfile/uploadfile.wxml create mode 100644 pages/uploadfile/uploadfile.wxss diff --git a/pages/bd/bd.json b/pages/bd/bd.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/bd/bd.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/bd/bd.ts b/pages/bd/bd.ts new file mode 100644 index 0000000..bd1f96a --- /dev/null +++ b/pages/bd/bd.ts @@ -0,0 +1,135 @@ +// const app = getApp() +Page({ + data: { + realName: '', + number: '', + isDisabled: true //表示页面加载完成时disabled为禁用状态 + }, + + onLoad: function(options) { + let number = options.number + let realName = options.realName + this.setData({ + number, + realName + }) + }, + + save: function() { + let realName = this.data.realName; + let number=this.data.number + let skey = wx.getStorageSync('skey') + wx.request({ + url: 'http://192.168.58.210:81/save', + method: 'GET', + + data: { + skey:skey, + number:number, + realName:realName + }, + success: function(res :any) { + if (res.data.error == true) { + wx.showToast({ + title: res.data.message, + icon: 'none', + duration: 2000 + }) + } else { + wx.showToast({ + title: res.data.message, + icon: 'success', + duration: 5000 + }) + wx.removeStorageSync('info') + wx.navigateBack({ + delta: 2 + }) + + } + } + }) + }, + + inputRealName: function(e :any) { + var realName = e.detail.value + this.setData({ + realName + }) + console.log(realName) + if (realName !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + inputNumber: function(e :any) { + var number = e.detail.value + this.setData({ + number + }) + // console.log() + if (number !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + + onReady: function() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function() { + + } + }) + \ No newline at end of file diff --git a/pages/bd/bd.wxml b/pages/bd/bd.wxml new file mode 100644 index 0000000..f4e001b --- /dev/null +++ b/pages/bd/bd.wxml @@ -0,0 +1,15 @@ + + + + + 姓名 + + + + 学号 + + + + + + diff --git a/pages/bd/bd.wxss b/pages/bd/bd.wxss new file mode 100644 index 0000000..159e3cd --- /dev/null +++ b/pages/bd/bd.wxss @@ -0,0 +1,30 @@ +/* pages/bd/bd.wxss */ +.binding-item { + margin: 40rpx; + padding-top: 20rpx; + padding-bottom: 40rpx; + display: flex; + font-size: 32rpx; + /* 在模拟器为iphone 6 时,1px=2rpx ,这里设置32rpx,即16px */ + border-bottom: 1rpx solid #dedede; +} + +.binding-item input { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-left: 20rpx; +} + +.binding-btn{ + background-color:#19be6b; + padding: 28rpx; + margin: 40rpx; + color: pink; + text-align: center; +} +.button{ + margin-top: 30rpx; + margin-bottom: 30rpx; +} \ No newline at end of file diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/index/index.ts b/pages/index/index.ts new file mode 100644 index 0000000..80900c7 --- /dev/null +++ b/pages/index/index.ts @@ -0,0 +1,24 @@ +// index.ts +// 获取应用实例 +const app = getApp() +Page({ + data: { + taskList: [], + motto: 'Hello World', + }, + onShow() { + // let list = [ + // { id: 1, title: "任务一", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 2, title: "任务二", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 3, title: "任务三", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" } + // ] + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, +}) diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..11f6846 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,33 @@ + + + + + 公告栏 + + + + + + + + + + + + + + + + + {{item.title}}: + + 开始时间:{{item.startTime}} + 截止时间:{{item.endTime}} + + + + + + 暂无数据 + + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..8af355b --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,43 @@ +.wrip-view { + height: 100%; +} + +.swip { + background: rgb(243, 243, 243); + position: relative; +} + +.swip-text { + position: absolute; + width: 100%; + z-index: 100; + text-align: center; + font-size: 20px; + color: rgb(95, 95, 95); +} + +.task { + padding: 8px; +} + +.task-item { + padding: 8px 4px 10px 4px; + margin: 10px 0; + border-radius: 10px; + background-color: #fff; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; +} + +.task-item-text { + font-size: 10px; + color: rgb(146, 146, 146); +} +.error{ + text-align: center; + padding: 20px; +} \ No newline at end of file diff --git a/pages/list/list.json b/pages/list/list.json new file mode 100644 index 0000000..318f00f --- /dev/null +++ b/pages/list/list.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "任务信息列表" +} \ No newline at end of file diff --git a/pages/list/list.ts b/pages/list/list.ts new file mode 100644 index 0000000..e3c11a6 --- /dev/null +++ b/pages/list/list.ts @@ -0,0 +1,137 @@ +// pages/list/list.js +Page({ + /** + * 页面的初始数据 + */ + data: { + list:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function () { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + * 与加载的区别,若是返回页面,则不需要加载,而是调用Show方法 + */ + onShow: function () { + //这里的this是指窗口而在request中this是指onShow方法(因为是页面调用onShow,onShow调用request),所以要先定义 + var that = this; + wx.request({ + //后端接口提供的url + url: 'http://localhost:8080/task/taskList', + method:'GET', + //需要传入的参数 + data:{}, + success:function(res :any){ + var list = res.data.data; + if(list == null){ + //如果获取数据失败,提示使用者 + var toastText = '获取数据失败' + res.data.msg; + wx.showToast({ + title: toastText, + + //显示时长为2s + duration:2000 + }) + }else{ + that.setData({ + list:list + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + addTask: function(){ + wx.navigateTo({ + url: '../operation/operation', + }) + }, + + //e表示响应的控件 + delTask: function(e :any){ + var that = this; + //相当于confirm窗口 + wx.showModal({ + title: '提示', + //这里的变量名需要与响应控件的data-后面的变量名相同 + content: '确认要删除['+e.target.dataset.name+']吗?', + success:function(sm){ + if(sm.confirm){ + wx.request({ + url: 'http://localhost:8080/task/delete', + data: {'id':e.target.dataset.id}, + header: { + //默认是 'content-type': 'application/json',要传post的参数必须写成这样,要传delete参数则为null + "content-type": "application/x-www-form-urlencoded" + }, + method: 'DELETE', + success: function(res:any) { + var result = res.data.success; + var toastText='删除成功'; + if(result == true){ + that.data.list.splice(e.target.dataset.index,1); + that.setData({ + list:that.data.list + }); + }else{ + toastText = '删除失败'; + } + wx.showToast({ + title: toastText, + duration:2000 + }) + }, + }) + } + } + }) + } +}) \ No newline at end of file diff --git a/pages/list/list.wxml b/pages/list/list.wxml new file mode 100644 index 0000000..18393da --- /dev/null +++ b/pages/list/list.wxml @@ -0,0 +1,27 @@ + + + + ID + 名字 + 信息 + 时间 + 操作 + + + + + + {{item.id}} + {{item.name}} + {{item.property}} + {{item.deadtime}} + + 编辑| + 删除 + + + + + + + \ No newline at end of file diff --git a/pages/list/list.wxss b/pages/list/list.wxss new file mode 100644 index 0000000..a10454d --- /dev/null +++ b/pages/list/list.wxss @@ -0,0 +1,37 @@ +/* pages/list/list.wxss */ +.container{ + height: 100%; + display: table; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding-top: 10rpx; + padding-bottom: 10rpx; + text-align: center; +} + +.widget{ + position: relative; + margin-top: 5rpx; + margin-bottom: 5rpx; + padding-top: 10rpx; + padding-bottom: 10rpx; + padding-left: 40rpx; + padding-right: 40rpx; + border: #ddd 1px solid; +} + +.column{ + width: 4rem; + display: table-cell; +} + +.link-column{ + width: 6rem; + display: table-cell; +} + +.link{ + color: blue; + display: inline-table; +} \ No newline at end of file diff --git a/pages/menu/menu.json b/pages/menu/menu.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/pages/menu/menu.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/pages/menu/menu.ts b/pages/menu/menu.ts new file mode 100644 index 0000000..ac1b0f1 --- /dev/null +++ b/pages/menu/menu.ts @@ -0,0 +1,99 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + taskList: [], + taskFlag: false, + releaseFlag: false, + from: { + taskName: "", + end: "" + } + }, + inputFrom(event: any) { + if (event.currentTarget.dataset.gater == "from.end") { + let num = event.detail.value; + if (num.length == 4) num += "-"; + if (num.length == 7) num += "-"; + this.setData({ [`from.end`]: num }) + } else if(event.currentTarget.dataset.gater == "from.taskName"){ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + }else{ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + } + }, + addSelect() { + const { taskName, end } = this.data.from; + if (end.length != 10) return; + if (!taskName || !end) { + wx.showToast({ + title: "请填写任务名称和任务进度", + icon: 'error', + }); + return; + } + const list = wx.getStorageSync("taskList") || []; + const index = list.findIndex((item: any) => item.title == taskName); + if (index >= 0) { + wx.showToast({ + title: "任务名称重复", + icon: 'error', + }); + return; + } + const data = { + id: list.length + 1, + title: taskName, + startTime: formatTime(new Date), endTime: end, end: '40', + } + list.push(data) + wx.setStorageSync("taskList", list); + wx.showToast({ + title: "发布成功", + icon: 'success', + }); + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + atReleaseFlag() { + const user = wx.getStorageSync("userInfo"); + console.log(user) + if (user!=null) { + wx.showToast({ + title: "请先登录", + icon: 'error', + }); + return; + } + this.setData({ releaseFlag: !this.data.releaseFlag }) + }, + atTaskFlag() { + this.setData({ taskFlag: !this.data.taskFlag }) + }, + onShow() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + // this.setData({ + // logs: (wx.getStorageSync('logs') || []).map((log: string) => { + // return { + // date: formatTime(new Date(log)), + // timeStamp: log + // } + // }), + // }) + }, +}) diff --git a/pages/menu/menu.wxml b/pages/menu/menu.wxml new file mode 100644 index 0000000..05a0c98 --- /dev/null +++ b/pages/menu/menu.wxml @@ -0,0 +1,50 @@ + + + + 发布任务 + + + + + + + 发布接龙 + + + 查看任务进度 + + + + + {{item.title}}: + + 完成进度:{{item.end}} + + + + + + + 暂无任务 + + + + \ No newline at end of file diff --git a/pages/menu/menu.wxss b/pages/menu/menu.wxss new file mode 100644 index 0000000..f805158 --- /dev/null +++ b/pages/menu/menu.wxss @@ -0,0 +1,78 @@ +.wrip-view { + height: 100%; + padding: 0 12px; +} + +.task { + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.task-item { + padding: 4px 0; + margin: 10px 0; + border-radius: 10px; + position: relative; + z-index: 100; + background-color: #fff; + overflow: hidden; +} + +.task-item-backg { + position: absolute; + top: 0; + background: #77bef0; + height: 100%; + width: 100%; + z-index: -1; + border-radius: 10px 0 0 10px; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; + margin-left: 10px; +} + +.task-item-text { + text-align: right; + font-family: "楷体"; + font-size: 14px; + margin-right: 10px; +} + + +.title { + background: #fff; + display: inline-block; + border-radius: 4px; + padding: 4px; + margin: 10px 0; + position: relative; +} + +.title::after { + content: ""; + position: absolute; + top: 50%; + width: 100vw; + height: 4px; + background: #fff; +} + + + +.release-view{ + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.release-view input{ + border: 1px #ccc solid; + border-radius: 4px; + margin: 6px 0; + padding: 4px; +} \ No newline at end of file diff --git a/pages/my/my.json b/pages/my/my.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/pages/my/my.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/pages/my/my.ts b/pages/my/my.ts new file mode 100644 index 0000000..3f390be --- /dev/null +++ b/pages/my/my.ts @@ -0,0 +1,77 @@ +// logs.ts +// const util = require('../../utils/util.js') +// import { formatTime } from '../../utils/util' + +Page({ + data: { + userInfo: {}, + key:{}, + }, + atLogin() { + wx.getUserProfile({ + desc: '展示用户信息', + success: (res) => { + this.setData({ + userInfo: res.userInfo, + }) + // wx.setStorageSync("userInfo", res.userInfo); + wx.setStorage({ + key:"userInfo", + data:this.data.userInfo, + // userInfo:res.userInfo, + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } + }) +  wx.login({ +       success: function(login_res){ +         if(login_res.code){ +           wx.request({ +             url:'http://192.168.58.210:81/atlogin', +             method:'GET', +             data:{ +               code:login_res.code, +             }, + success:function(res :any){ + console.log(res) + let skey=res.data.skey + console.log(skey) + wx.setStorageSync('skey',skey) + + } + +           }) +         }else{ +           console.log('登录失败!'+login_res.errMsg) +         } +       } +     })    + } + }) + },    + onShow() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + +    + + }, + onLoad() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + }, + }) + \ No newline at end of file diff --git a/pages/my/my.wxml b/pages/my/my.wxml new file mode 100644 index 0000000..f13d23b --- /dev/null +++ b/pages/my/my.wxml @@ -0,0 +1,23 @@ + + + + + + 登录 + + + + + + + + + + + + 已绑定,点击可重新绑定 + + + + + \ No newline at end of file diff --git a/pages/my/my.wxss b/pages/my/my.wxss new file mode 100644 index 0000000..d89efd2 --- /dev/null +++ b/pages/my/my.wxss @@ -0,0 +1,58 @@ +.wrip { + padding: 10px; +} + +.log-list { + display: flex; + flex-direction: column; + padding: 40rpx; +} + +.log-item { + margin: 10rpx; +} + +.my-head { + margin: 0 0 10px 0; +} + +.my-head-box { + height: 160px; + background: white; + border-radius: 5px; + position: relative; + background-image: linear-gradient(to right top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1); +} + +.my-box { + height: 140px; + background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12); + border-radius: 5px; +} + +.head-box-child { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 80px; + height: 80px; + border-radius: 50%; + text-align: center; + border: 1px #ccc solid; + color: rgb(255, 255, 255); + line-height: 80px; + overflow: hidden; +} + +.head-box-child image { + width: 100%; + height: 80px; +} + +.my-top { + padding: 4px; + color: white; + box-shadow: rgba(116, 116, 116, 0.521) 0 0 10px ; + background: rgba(204, 204, 204, 0.384); +} \ No newline at end of file diff --git a/pages/operation/operation.json b/pages/operation/operation.json new file mode 100644 index 0000000..cf3126e --- /dev/null +++ b/pages/operation/operation.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "任务信息表单" +} \ No newline at end of file diff --git a/pages/operation/operation.ts b/pages/operation/operation.ts new file mode 100644 index 0000000..896bf1d --- /dev/null +++ b/pages/operation/operation.ts @@ -0,0 +1,129 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + taskList: [], + taskFlag: false, + releaseFlag: false, + id:undefined, + name:'', + property:'', + stuid:'', + deadtime:'', + addUrl:'http://localhost:8080/task/addTask', + updateUrl:'http://localhost:8080/task/taskInfo', + from: { + taskName: "", + end: "" + } + }, + inputFrom(event:any) { + if (event.currentTarget.dataset.gater == "from.end") { + let num = event.detail.value; + if (num.length == 4) num += "-"; + if (num.length == 7) num += "-"; + this.setData({ [`from.end`]: num }) + } else if(event.currentTarget.dataset.gater == "from.taskName"){ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + }else{ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + } + }, + addSelect() { + const { taskName, end } = this.data.from; + if (end.length != 10) return; + if (!taskName || !end) { + wx.showToast({ + title: "请填写任务名称和任务进度", + icon: 'error', + }); + return; + } + const list = wx.getStorageSync("taskList") || []; + const index = list.findIndex((item:any) => item.title == taskName); + if (index >= 0) { + wx.showToast({ + title: "任务名称重复", + icon: 'error', + }); + return; + } + const data = { + id: list.length + 1, + title: taskName, + startTime: formatTime(new Date), endTime: end, end: '40', + } + list.push(data) + wx.setStorageSync("taskList", list); + wx.showToast({ + title: "发布成功", + icon: 'success', + }); + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + formSubmit:function(e:any){ + // var that = this; + //获取表单值 + var formData = e.detail.value; + var url = this.data.addUrl; + if(this.data.id != undefined){ + //如果是编辑按钮跳转 + formData.id = this.data.id; + url = this.data.updateUrl; + } + console.log(JSON.stringify(formData)); + wx.request({ + url: url, + //将其转换成JSON + data: JSON.stringify(formData), + method: 'POST', + success: function(res:any) { + var result = res.data.success; + var toastText = '请求成功'; + if(!result){ + toastText = '请求失败'+res.data.msg; + } + wx.showToast({ + title: toastText, + duration: 2000, + }) + if(result){ + wx.redirectTo({ + //操作结束后跳转回列表页 + url: '../list/list', + }) + } + }, + }) + }, + atTaskFlag() { + this.setData({ taskFlag: !this.data.taskFlag }) + }, + onShow() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + // this.setData({ + // logs: (wx.getStorageSync('logs') || []).map((log: string) => { + // return { + // date: formatTime(new Date(log)), + // timeStamp: log + // } + // }), + // }) + }, +}) diff --git a/pages/operation/operation.wxml b/pages/operation/operation.wxml new file mode 100644 index 0000000..fa4abc7 --- /dev/null +++ b/pages/operation/operation.wxml @@ -0,0 +1,19 @@ + +
    + + + + + + + + + +
    +
    diff --git a/pages/operation/operation.wxss b/pages/operation/operation.wxss new file mode 100644 index 0000000..1a718b3 --- /dev/null +++ b/pages/operation/operation.wxss @@ -0,0 +1,69 @@ +/* pages/opration/opration.wxss */ +.row input { + font-size: 0.7rem; + flex-grow: 3; + border: ipx solid #09c; + display: inline-block; + border-radius: 0.3rem; + box-shadow: 0 0 0.15rem #aaa; + padding: 0.3rem; +} + +.row button { + padding: 0.3rem; + margin: 3rem 1rem; +} + +.container { + padding: 1rem; + font-size: 0.9rem; + line-height: 1.5rem; +} + +.row { + display: flex; + align-items: center; + margin-bottom: 0.8rem; +} + +.row text { + flex-grow: 1.5; + text-align: right; +} +.form-box picker{ + margin: 30rpx 30rpx 0 0; + color: rgb(153, 153, 153); + } + +.title { +background: #fff; +display: inline-block; +border-radius: 4px; +padding: 4px; +margin: 10px 0; +position: relative; +} + +.title::after { +content: ""; +position: absolute; +top: 50%; +width: 100vw; +height: 4px; +background: #fff; +} + + + +.release-view{ +padding: 8px; +background-color: #fff; +border-radius: 4px; +} + +.release-view input{ +border: 1px #ccc solid; +border-radius: 4px; +margin: 6px 0; +padding: 4px; +} \ No newline at end of file diff --git a/pages/uploadfile/uploadfile.json b/pages/uploadfile/uploadfile.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/uploadfile/uploadfile.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/uploadfile/uploadfile.ts b/pages/uploadfile/uploadfile.ts new file mode 100644 index 0000000..f97b428 --- /dev/null +++ b/pages/uploadfile/uploadfile.ts @@ -0,0 +1,66 @@ +// pages/uploadfile/uploadfile.ts +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/uploadfile/uploadfile.wxml b/pages/uploadfile/uploadfile.wxml new file mode 100644 index 0000000..243352b --- /dev/null +++ b/pages/uploadfile/uploadfile.wxml @@ -0,0 +1,2 @@ + +文件提交 diff --git a/pages/uploadfile/uploadfile.wxss b/pages/uploadfile/uploadfile.wxss new file mode 100644 index 0000000..a3f9fbc --- /dev/null +++ b/pages/uploadfile/uploadfile.wxss @@ -0,0 +1 @@ +/* pages/uploadfile/uploadfile.wxss */ \ No newline at end of file From 57682e78bc3cdeaaa3befed04ba08181d10940ac Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 11 Nov 2022 16:02:07 +0800 Subject: [PATCH 18/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 15 + project.config.json | 32 + project.private.config.json | 9 + tsconfig.json | 30 + typings/index.d.ts | 8 + typings/types/index.d.ts | 1 + typings/types/wx/index.d.ts | 134 + typings/types/wx/lib.wx.api.d.ts | 28855 +++++++++++++++++++++++ typings/types/wx/lib.wx.app.d.ts | 270 + typings/types/wx/lib.wx.behavior.d.ts | 68 + typings/types/wx/lib.wx.cloud.d.ts | 979 + typings/types/wx/lib.wx.component.d.ts | 676 + typings/types/wx/lib.wx.event.d.ts | 1435 ++ typings/types/wx/lib.wx.page.d.ts | 263 + 14 files changed, 32775 insertions(+) create mode 100644 package.json create mode 100644 project.config.json create mode 100644 project.private.config.json create mode 100644 tsconfig.json create mode 100644 typings/index.d.ts create mode 100644 typings/types/index.d.ts create mode 100644 typings/types/wx/index.d.ts create mode 100644 typings/types/wx/lib.wx.api.d.ts create mode 100644 typings/types/wx/lib.wx.app.d.ts create mode 100644 typings/types/wx/lib.wx.behavior.d.ts create mode 100644 typings/types/wx/lib.wx.cloud.d.ts create mode 100644 typings/types/wx/lib.wx.component.d.ts create mode 100644 typings/types/wx/lib.wx.event.d.ts create mode 100644 typings/types/wx/lib.wx.page.d.ts diff --git a/package.json b/package.json new file mode 100644 index 0000000..5f731b7 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "miniprogram-ts-less-quickstart", + "version": "1.0.0", + "description": "", + "scripts": { + }, + "keywords": [], + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "miniprogram-api-typings": "^2.8.3-1" + } +} diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..62d94f3 --- /dev/null +++ b/project.config.json @@ -0,0 +1,32 @@ +{ + "description": "项目配置文件", + "packOptions": { + "ignore": [], + "include": [] + }, + "miniprogramRoot": "miniprogram/", + "compileType": "miniprogram", + "projectname": "ts-demo", + "setting": { + "useCompilerPlugins": [ + "typescript" + ], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "es6": true, + "enhance": true + }, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": {}, + "srcMiniprogramRoot": "miniprogram/", + "appid": "wx954296403ec15396", + "libVersion": "2.26.1", + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..9cff228 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,9 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "%E7%8F%AD%E7%BA%A7%E9%80%9A%E5%B0%8F%E7%A8%8B%E5%BA%8F", + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "libVersion": "2.25.4" +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ade784e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "strictNullChecks": true, + "noImplicitAny": true, + "module": "CommonJS", + "target": "ES2020", + "allowJs": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "noImplicitThis": true, + "noImplicitReturns": true, + "alwaysStrict": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "strictPropertyInitialization": true, + "lib": ["ES2020"], + "typeRoots": [ + "./typings" + ] + }, + "include": [ + "./**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/typings/index.d.ts b/typings/index.d.ts new file mode 100644 index 0000000..3ee60c8 --- /dev/null +++ b/typings/index.d.ts @@ -0,0 +1,8 @@ +/// + +interface IAppOption { + globalData: { + userInfo?: WechatMiniprogram.UserInfo, + } + userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback, +} \ No newline at end of file diff --git a/typings/types/index.d.ts b/typings/types/index.d.ts new file mode 100644 index 0000000..a5e8a7c --- /dev/null +++ b/typings/types/index.d.ts @@ -0,0 +1 @@ +/// diff --git a/typings/types/wx/index.d.ts b/typings/types/wx/index.d.ts new file mode 100644 index 0000000..8ecd122 --- /dev/null +++ b/typings/types/wx/index.d.ts @@ -0,0 +1,134 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +/// +/// +/// +/// +/// +/// +/// + +declare namespace WechatMiniprogram { + type IAnyObject = Record + type Optional = F extends (arg: infer P) => infer R ? (arg?: P) => R : F + type OptionalInterface = { [K in keyof T]: Optional } + interface AsyncMethodOptionLike { + success?: (...args: any[]) => void + } + type PromisifySuccessResult< + P, + T extends AsyncMethodOptionLike + > = P extends { + success: any + } + ? void + : P extends { fail: any } + ? void + : P extends { complete: any } + ? void + : Promise>[0]> + + // TODO: Extract real definition from `lib.dom.d.ts` to replace this + type IIRFilterNode = any + type WaveShaperNode = any + type ConstantSourceNode = any + type OscillatorNode = any + type GainNode = any + type BiquadFilterNode = any + type PeriodicWaveNode = any + type BufferSourceNode = any + type ChannelSplitterNode = any + type ChannelMergerNode = any + type DelayNode = any + type DynamicsCompressorNode = any + type ScriptProcessorNode = any + type PannerNode = any + type AnalyserNode = any + type AudioListener = any + type WebGLTexture = any + type WebGLRenderingContext = any +} + +declare let console: WechatMiniprogram.Console + +declare let wx: WechatMiniprogram.Wx +/** 引入模块。返回模块通过 `module.exports` 或 `exports` 暴露的接口。 */ +declare function require( + /** 需要引入模块文件相对于当前文件的相对路径,或 npm 模块名,或 npm 模块路径。不支持绝对路径 */ + module: string +): any +/** 引入插件。返回插件通过 `main` 暴露的接口。 */ +declare function requirePlugin( + /** 需要引入的插件的 alias */ + module: string +): any +/** 插件引入当前使用者小程序。返回使用者小程序通过 [插件配置中 `export` 暴露的接口](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html#%E5%AF%BC%E5%87%BA%E5%88%B0%E6%8F%92%E4%BB%B6)。 + * + * 该接口只在插件中存在 + * + * 最低基础库: `2.11.1` */ +declare function requireMiniProgram(): any +/** 当前模块对象 */ +declare let module: { + /** 模块向外暴露的对象,使用 `require` 引用该模块时可以获取 */ + exports: any +} +/** `module.exports` 的引用 */ +declare let exports: any + +/** [clearInterval(number intervalID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearInterval.html) + * + * 取消由 setInterval 设置的定时器。 */ +declare function clearInterval( + /** 要取消的定时器的 ID */ + intervalID: number +): void +/** [clearTimeout(number timeoutID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearTimeout.html) + * + * 取消由 setTimeout 设置的定时器。 */ +declare function clearTimeout( + /** 要取消的定时器的 ID */ + timeoutID: number +): void +/** [number setInterval(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setInterval.html) + * + * 设定一个定时器。按照指定的周期(以毫秒计)来执行注册的回调函数 */ +declare function setInterval( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 执行回调函数之间的时间间隔,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number +/** [number setTimeout(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setTimeout.html) + * + * 设定一个定时器。在定时到期以后执行注册的回调函数 */ +declare function setTimeout( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 延迟的时间,函数的调用会在该延迟之后发生,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number diff --git a/typings/types/wx/lib.wx.api.d.ts b/typings/types/wx/lib.wx.api.d.ts new file mode 100644 index 0000000..1c3963c --- /dev/null +++ b/typings/types/wx/lib.wx.api.d.ts @@ -0,0 +1,28855 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface AccessFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${path}': 文件/目录不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AccessOption { + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AccessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AccessFailCallback + /** 接口调用成功的回调函数 */ + success?: AccessSuccessCallback + } + /** 帐号信息 */ + interface AccountInfo { + /** 小程序帐号信息 */ + miniProgram: MiniProgram + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + plugin: Plugin + } + interface AddArcOption { + /** 终点 */ + end: MapPostion + /** 圆弧 id */ + id: number + /** 起始点 */ + start: MapPostion + /** 夹角角度 */ + angle?: number + /** 线的颜色 */ + color?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddArcFailCallback + /** 途经点 */ + pass?: MapPostion + /** 接口调用成功的回调函数 */ + success?: AddArcSuccessCallback + /** 线宽 */ + width?: number + } + interface AddCardOption { + /** 需要添加的卡券列表 */ + cardList: AddCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCardFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCardSuccessCallback + } + /** 需要添加的卡券列表 */ + interface AddCardRequestInfo { + /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */ + cardExt: string + /** 卡券 ID */ + cardId: string + } + /** 卡券添加结果列表 */ + interface AddCardResponseInfo { + /** 卡券的扩展参数,结构请参考下文 */ + cardExt: string + /** 用户领取到卡券的 ID */ + cardId: string + /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + /** 是否成功 */ + isSuccess: boolean + } + interface AddCardSuccessCallbackResult { + /** 卡券添加结果列表 */ + cardList: AddCardResponseInfo[] + errMsg: string + } + interface AddCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCustomLayerSuccessCallback + } + interface AddFileToFavoritesOption { + /** 要收藏的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddFileToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddFileToFavoritesFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: AddFileToFavoritesSuccessCallback + } + interface AddGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface AddMarkersOption { + /** 同传入 map 组件的 marker 属性 */ + markers: any[] + /** 是否先清空地图上所有 marker */ + clear?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: AddMarkersSuccessCallback + } + interface AddPhoneCalendarOption { + /** 开始时间的 unix 时间戳 */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneCalendarFailCallback + /** 事件位置 */ + location?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneCalendarSuccessCallback + } + interface AddPhoneContactOption { + /** 名字 */ + firstName: string + /** 联系地址城市 */ + addressCity?: string + /** 联系地址国家 */ + addressCountry?: string + /** 联系地址邮政编码 */ + addressPostalCode?: string + /** 联系地址省份 */ + addressState?: string + /** 联系地址街道 */ + addressStreet?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneContactCompleteCallback + /** 电子邮件 */ + email?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneContactFailCallback + /** 住宅地址城市 */ + homeAddressCity?: string + /** 住宅地址国家 */ + homeAddressCountry?: string + /** 住宅地址邮政编码 */ + homeAddressPostalCode?: string + /** 住宅地址省份 */ + homeAddressState?: string + /** 住宅地址街道 */ + homeAddressStreet?: string + /** 住宅传真 */ + homeFaxNumber?: string + /** 住宅电话 */ + homePhoneNumber?: string + /** 公司电话 */ + hostNumber?: string + /** 姓氏 */ + lastName?: string + /** 中间名 */ + middleName?: string + /** 手机号 */ + mobilePhoneNumber?: string + /** 昵称 */ + nickName?: string + /** 公司 */ + organization?: string + /** 头像本地文件路径 */ + photoFilePath?: string + /** 备注 */ + remark?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneContactSuccessCallback + /** 职位 */ + title?: string + /** 网站 */ + url?: string + /** 微信号 */ + weChatNumber?: string + /** 工作地址城市 */ + workAddressCity?: string + /** 工作地址国家 */ + workAddressCountry?: string + /** 工作地址邮政编码 */ + workAddressPostalCode?: string + /** 工作地址省份 */ + workAddressState?: string + /** 工作地址街道 */ + workAddressStreet?: string + /** 工作传真 */ + workFaxNumber?: string + /** 工作电话 */ + workPhoneNumber?: string + } + interface AddPhoneRepeatCalendarOption { + /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneRepeatCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneRepeatCalendarFailCallback + /** 事件位置 */ + location?: string + /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */ + repeatEndTime?: number + /** 重复周期,默认 month 每月重复 + * + * 可选值: + * - 'day': 每天重复; + * - 'week': 每周重复; + * - 'month': 每月重复。该模式日期不能大于 28 日; + * - 'year': 每年重复; */ + repeatInterval?: 'day' | 'week' | 'month' | 'year' + /** 接口调用成功的回调函数 */ + success?: AddPhoneRepeatCalendarSuccessCallback + } + interface AddServiceOption { + /** 描述service的Object */ + service: BLEPeripheralService + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: AddServiceSuccessCallback + } + interface AddVideoToFavoritesOption { + /** 要收藏的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVideoToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVideoToFavoritesFailCallback + /** 接口调用成功的回调函数 */ + success?: AddVideoToFavoritesSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface AddVisualLayerOption { + /** 可视化图层id([创建图层指引](https://lbs.qq.com/dev/console/layers/layerEdit)) */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVisualLayerFailCallback + /** 刷新周期,单位秒 */ + interval?: number + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddVisualLayerSuccessCallback + /** 图层绘制顺序 */ + zIndex?: number + } + /** 广播自定义参数 */ + interface AdvertiseReqObj { + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + beacon?: BeaconInfoObj + /** 当前设备是否可连接 */ + connectable?: boolean + /** 广播中 deviceName 字段,默认为空 */ + deviceName?: string + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + manufacturerData?: ManufacturerData[] + /** 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 */ + serviceUuids?: string[] + } + /** animationData */ + interface AnimationExportResult { + actions: IAnyObject[] + } + /** 动画效果 */ + interface AnimationOption { + /** 动画变化时间,单位 ms */ + duration?: number + /** 动画变化方式 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'easeIn': 动画以低速开始; + * - 'easeOut': 动画以低速结束; + * - 'easeInOut': 动画以低速开始和结束; */ + timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' + } + interface AppAuthorizeSetting { + /** 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用蓝牙的开关(仅 iOS 有效) */ + bluetoothAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用摄像头的开关 */ + cameraAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用定位的开关 */ + locationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */ + locationReducedAccuracy: boolean + /** 允许微信使用麦克风的开关 */ + microphoneAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知的开关 */ + notificationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信读写日历的开关 */ + phoneCalendarAuthorized: 'authorized' | 'denied' | 'not determined' + } + interface AppBaseInfo { + /** 客户端基础库版本 */ + SDKVersion: string + /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 当前小程序运行的宿主环境 */ + host: AppBaseInfoHost + /** 微信设置的语言 */ + language: string + /** 微信版本号 */ + version: string + /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 当前小程序运行的宿主环境 */ + interface AppBaseInfoHost { + /** 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) */ + appId: string + } + interface AppendFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 文件不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AppendFileOption { + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要追加内容的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AppendFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: AppendFileFailCallback + /** 接口调用成功的回调函数 */ + success?: AppendFileSuccessCallback + } + interface Asset { + src: string + /** 可选值: + * - 'font': 字体; + * - 'image': 图片; */ + type: 'font' | 'image' + } + /** 需要基础库: `2.19.0` + * + * AudioBuffer接口表示存在内存里的一段短小的音频资源,利用[WebAudioContext.decodeAudioData](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)方法从一个音频文件构建,或者利用 [AudioContext.createBuffer](#)从原始数据构建。把音频放入AudioBuffer后,可以传入到一个 AudioBufferSourceNode进行播放。 */ + interface AudioBuffer { + /** 返回存储在缓存区的PCM数据的时长(单位为秒) */ + duration: number + /** 返回存储在缓存区的PCM数据的采样帧率 */ + length: number + /** 储存在缓存区的PCM数据的通道数 */ + numberOfChannels: number + /** 存储在缓存区的PCM数据的采样率(单位为sample/s) */ + sampleRate: number + } + interface AuthPrivateMessageOption { + /** shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthPrivateMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthPrivateMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthPrivateMessageSuccessCallback + } + interface AuthPrivateMessageSuccessCallbackResult { + /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + /** 验证是否通过 */ + valid: boolean + } + /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */ + interface AuthSetting { + /** 是否授权系统日历,对应接口 [wx.addPhoneRepeatCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html)、[wx.addPhoneCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) */ + 'scope.addPhoneCalendar'?: boolean + /** 是否添加通讯录联系人,对应接口 [wx.addPhoneContact](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) */ + 'scope.addPhoneContact'?: boolean + /** 是否授权通讯地址,已取消此项授权,会默认返回true */ + 'scope.address'?: boolean + /** 是否授权蓝牙,对应接口 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html)、[wx.createBLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) */ + 'scope.bluetooth'?: boolean + /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */ + 'scope.camera'?: boolean + /** 是否授权获取发票,已取消此项授权,会默认返回true */ + 'scope.invoice'?: boolean + /** 是否授权发票抬头,已取消此项授权,会默认返回true */ + 'scope.invoiceTitle'?: boolean + /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */ + 'scope.record'?: boolean + /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */ + 'scope.userInfo'?: boolean + /** 是否授权地理位置,对应接口 [wx.getLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html), [wx.chooseLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) */ + 'scope.userLocation'?: boolean + /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */ + 'scope.werun'?: boolean + /** 是否授权保存到相册 [wx.saveImageToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html), [wx.saveVideoToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) */ + 'scope.writePhotosAlbum'?: boolean + } + interface AuthorizeForMiniProgramOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) + * + * 可选值: + * - 'scope.record': ; + * - 'scope.writePhotosAlbum': ; + * - 'scope.camera': ; */ + scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeForMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeForMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeForMiniProgramSuccessCallback + } + interface AuthorizeOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) */ + scope: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeSuccessCallback + } + /** 设备特征列表 */ + interface BLECharacteristic { + /** 该特征支持的操作类型 */ + properties: BLECharacteristicProperties + /** 蓝牙设备特征的 UUID */ + uuid: string + } + /** 该特征支持的操作类型 */ + interface BLECharacteristicProperties { + /** 该特征是否支持 indicate 操作 */ + indicate: boolean + /** 该特征是否支持 notify 操作 */ + notify: boolean + /** 该特征是否支持 read 操作 */ + read: boolean + /** 该特征是否支持 write 操作 */ + write: boolean + /** 该特征是否支持有回复写操作 */ + writeDefault: boolean + /** 该特征是否支持无回复写操作 */ + writeNoResponse: boolean + } + interface BLEPeripheralServerCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + /** 描述service的Object */ + interface BLEPeripheralService { + /** characteristics列表 */ + characteristics: Characteristic[] + /** 蓝牙服务的 UUID */ + uuid: string + } + /** 设备服务列表 */ + interface BLEService { + /** 该服务是否为主服务 */ + isPrimary: boolean + /** 蓝牙设备服务的 UUID */ + uuid: string + } + /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。 +* +* **示例代码** +* +* ```js +const backgroundAudioManager = wx.getBackgroundAudioManager() + +backgroundAudioManager.title = '此时此刻' +backgroundAudioManager.epname = '此时此刻' +backgroundAudioManager.singer = '许巍' +backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000' +// 设置了 src 之后会自动播放 +backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +``` */ + interface BackgroundAudioManager { + /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */ + buffered: number + /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */ + coverImgUrl: string + /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */ + currentTime: number + /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */ + duration: number + /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + epname: string + /** 当前是否暂停或停止。(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `1.9.94` + * + * 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。 */ + protocol: string + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + singer: string + /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */ + src: string + /** 音频开始播放的位置(单位:s)。 */ + startTime: number + /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */ + title: string + /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + webUrl: string + } + interface BatchGetStorageOption { + /** 本地缓存中指定的 keyList */ + keyList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchGetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchGetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchGetStorageSuccessCallback + } + interface BatchSetStorageOption { + /** { key, value } */ + kvList: IAnyObject + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchSetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchSetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchSetStorageSuccessCallback + } + /** Beacon 设备 */ + interface BeaconInfo { + /** Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 */ + accuracy: number + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** 表示设备距离的枚举值(仅iOS) + * + * 可选值: + * - 0: 信号太弱不足以计算距离,或非 iOS 设备; + * - 1: 十分近; + * - 2: 比较近; + * - 3: 远; */ + proximity: 0 | 1 | 2 | 3 + /** 表示设备的信号强度,单位 dBm */ + rssi: number + /** Beacon 设备广播的 UUID */ + uuid: string + } + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + interface BeaconInfoObj { + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** Beacon 设备广播的 UUID */ + uuid: string + /** 用于判断距离设备 1 米时 RSSI 大小的参考值 */ + measuredPower?: number + } + interface BindWifiOption { + /** 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 */ + BSSID: string + } + interface BlueToothDevice { + /** 当前蓝牙设备的信号强度,单位 dBm */ + RSSI: number + /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */ + advertisData: ArrayBuffer + /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */ + advertisServiceUUIDs: string[] + /** 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) */ + connectable: boolean + /** 蓝牙设备 id */ + deviceId: string + /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */ + localName: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */ + serviceData: IAnyObject + } + /** 搜索到的设备列表 */ + interface BluetoothDeviceInfo { + /** 用于区分设备的 id */ + deviceId: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + } + interface BlurOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BlurCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BlurFailCallback + /** 接口调用成功的回调函数 */ + success?: BlurSuccessCallback + } + interface BoundingClientRectCallbackResult { + /** 节点的下边界坐标 */ + bottom: number + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的高度 */ + height: number + /** 节点的 ID */ + id: string + /** 节点的左边界坐标 */ + left: number + /** 节点的右边界坐标 */ + right: number + /** 节点的上边界坐标 */ + top: number + /** 节点的宽度 */ + width: number + } + /** 目标边界 */ + interface BoundingClientRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + /** 需要基础库: `2.24.0` + * + * 缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力: + * + * 1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。 + * 2. 在网络通畅时,某些 wx api 调用会被缓存。 + * 3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。 + * 4. 提供进入和退出弱网/离线状态的事件。 + * + * > 1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。 + * > 2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。 */ + interface CacheManager { + /** 全局缓存有效时间 */ + maxAge: string + /** 当前缓存模式 + * + * 可选值: + * - 'weakNetwork': 默认值,弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin: string + /** 当前缓存管理器状态 + * + * 可选值: + * - 0: 不使用缓存返回; + * - 1: 使用缓存返回; + * - 2: 未知; */ + state: 0 | 1 | 2 + } + interface CameraContextStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: CameraContextStartRecordSuccessCallback + /** 需要基础库: `2.22.0` + * + * 录制时长上限,单位为秒,最长不能超过 5 分钟 */ + timeout?: number + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + timeoutCallback?: StartRecordTimeoutCallback + } + interface CameraContextStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 启动视频压缩,压缩效果同`chooseVideo` */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: CameraContextStopRecordSuccessCallback + } + interface CameraFrameListenerStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) + * + * 需要基础库: `2.25.1` + * + * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */ + worker?: Worker + } + /** 需要基础库: `2.7.0` + * + * Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。 + * + * **示例代码** + * + * 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM) + * + * WebGL 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z) */ + interface Canvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + /** @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */ + interface CanvasContext { + /** 需要基础库: `1.9.90` + * + * 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。 */ + fillStyle: string | CanvasGradient + /** 需要基础库: `1.9.90` + * + * 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。 */ + font: string + /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + globalAlpha: number + /** 需要基础库: `1.9.90` + * + * 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。 + * + * 目前支持的操作有 + * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light + * - iOS:xor, source-over, source-atop, destination-over, destination-out, lighter, multiply, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, saturation, luminosity */ + globalCompositeOperation: string + /** 需要基础库: `1.9.90` + * + * 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。 */ + lineCap: string + /** 需要基础库: `1.9.90` + * + * 虚线偏移量,初始值为0 */ + lineDashOffset: number + /** 需要基础库: `1.9.90` + * + * 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。 + * + * 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + /** 需要基础库: `1.9.90` + * + * 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。 */ + lineWidth: number + /** 需要基础库: `1.9.90` + * + * 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。 */ + miterLimit: number + /** 需要基础库: `1.9.90` + * + * 阴影的模糊级别 */ + shadowBlur: number + /** 需要基础库: `1.9.90` + * + * 阴影的颜色 */ + shadowColor: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在水平方向的偏移 */ + shadowOffsetX: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在竖直方向的偏移 */ + shadowOffsetY: number + /** 需要基础库: `1.9.90` + * + * 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。 */ + strokeStyle: string | CanvasGradient + } + interface CanvasGetImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */ + canvasId: string + /** 将要被提取的图像数据矩形区域的高度 */ + height: number + /** 将要被提取的图像数据矩形区域的宽度 */ + width: number + /** 将要被提取的图像数据矩形区域的左上角横坐标 */ + x: number + /** 将要被提取的图像数据矩形区域的左上角纵坐标 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasGetImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasGetImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasGetImageDataSuccessCallback + } + interface CanvasGetImageDataSuccessCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + errMsg: string + } + interface CanvasPutImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */ + canvasId: string + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 源图像数据矩形区域的高度 */ + height: number + /** 源图像数据矩形区域的宽度 */ + width: number + /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */ + x: number + /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasPutImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasPutImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasPutImageDataSuccessCallback + } + interface CanvasToTempFilePathOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */ + canvas?: IAnyObject + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */ + canvasId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasToTempFilePathCompleteCallback + /** 需要基础库: `1.2.0` + * + * 输出的图片的高度 */ + destHeight?: number + /** 需要基础库: `1.2.0` + * + * 输出的图片的宽度 */ + destWidth?: number + /** 接口调用失败的回调函数 */ + fail?: CanvasToTempFilePathFailCallback + /** 需要基础库: `1.7.0` + * + * 目标文件的类型 + * + * 可选值: + * - 'jpg': jpg 图片; + * - 'png': png 图片; */ + fileType?: 'jpg' | 'png' + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的高度 */ + height?: number + /** 需要基础库: `1.7.0` + * + * 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CanvasToTempFilePathSuccessCallback + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的宽度 */ + width?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角横坐标 */ + x?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角纵坐标 */ + y?: number + } + interface CanvasToTempFilePathSuccessCallbackResult { + /** 生成文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + /** characteristics列表 */ + interface Characteristic { + /** characteristic 的 UUID */ + uuid: string + /** 描述符数据 */ + descriptors?: CharacteristicDescriptor[] + /** 特征权限 */ + permission?: CharacteristicPermission + /** 特征支持的操作 */ + properties?: CharacteristicProperties + /** 特征对应的二进制值 */ + value?: ArrayBuffer + } + /** 描述符数据 */ + interface CharacteristicDescriptor { + /** Descriptor 的 UUID */ + uuid: string + /** 描述符的权限 */ + permission?: DescriptorPermission + /** 描述符数据 */ + value?: ArrayBuffer + } + /** 特征权限 */ + interface CharacteristicPermission { + /** 加密读请求 */ + readEncryptionRequired?: boolean + /** 可读 */ + readable?: boolean + /** 加密写请求 */ + writeEncryptionRequired?: boolean + /** 可写 */ + writeable?: boolean + } + /** 特征支持的操作 */ + interface CharacteristicProperties { + /** 回包 */ + indicate?: boolean + /** 订阅 */ + notify?: boolean + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + /** 无回复写 */ + writeNoResponse?: boolean + } + interface CheckIsOpenAccessibilityOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsOpenAccessibilityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsOpenAccessibilityFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsOpenAccessibilitySuccessCallback + } + interface CheckIsOpenAccessibilitySuccessCallbackOption { + /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */ + open: boolean + } + interface CheckIsSoterEnrolledInDeviceOption { + /** 认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + checkAuthMode: 'fingerPrint' | 'facial' | 'speech' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSoterEnrolledInDeviceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSoterEnrolledInDeviceFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSoterEnrolledInDeviceSuccessCallback + } + interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 是否已录入信息 */ + isEnrolled: boolean + } + interface CheckIsSupportSoterAuthenticationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSupportSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSupportSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSupportSoterAuthenticationSuccessCallback + } + interface CheckIsSupportSoterAuthenticationSuccessCallbackResult { + /** 该设备支持的可被SOTER识别的生物识别方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + supportMode: Array<'fingerPrint' | 'facial' | 'speech'> + errMsg: string + } + interface CheckSessionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckSessionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckSessionFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckSessionSuccessCallback + } + interface ChooseAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseAddressSuccessCallback + } + interface ChooseAddressSuccessCallbackResult { + /** 国标收货地址第二级地址 */ + cityName: string + /** 国标收货地址第三级地址 */ + countyName: string + /** 详细收货地址信息(包括街道地址) */ + detailInfo: string + /** 新选择器详细收货地址信息 */ + detailInfoNew: string + /** 错误信息 */ + errMsg: string + /** 收货地址国家码 */ + nationalCode: string + /** 邮编 */ + postalCode: string + /** 国标收货地址第一级地址 */ + provinceName: string + /** 国标收货地址第四级地址 */ + streetName: string + /** 收货人手机号码 */ + telNumber: string + /** 收货人姓名 */ + userName: string + } + interface ChooseContactOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseContactCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseContactFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseContactSuccessCallback + } + interface ChooseContactSuccessCallbackOption { + /** 联系人姓名 */ + displayName: string + /** 手机号 */ + phoneNumber: string + /** 选定联系人的所有手机号(部分 Android 系统只能选联系人而不能选特定手机号) */ + phoneNumberList: string + } + /** 返回选择的文件的本地临时文件对象数组 */ + interface ChooseFile { + /** 选择的文件名称 */ + name: string + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */ + time: number + /** 选择的文件类型 + * + * 可选值: + * - 'video': 选择了视频文件; + * - 'image': 选择了图片文件; + * - 'file': 选择了除图片和视频的文件; */ + type: 'video' | 'image' | 'file' + } + interface ChooseImageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseImageCompleteCallback + /** 最多可以选择的图片张数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseImageFailCallback + /** 所选的图片的尺寸 + * + * 可选值: + * - 'original': 原图; + * - 'compressed': 压缩图; */ + sizeType?: Array<'original' | 'compressed'> + /** 选择图片的来源 + * + * 可选值: + * - 'album': 从相册选图; + * - 'camera': 使用相机; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseImageSuccessCallback + } + interface ChooseImageSuccessCallbackResult { + /** 图片的本地临时文件路径列表 (本地路径) */ + tempFilePaths: string[] + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + tempFiles: ImageFile[] + errMsg: string + } + interface ChooseInvoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceSuccessCallback + } + interface ChooseInvoiceSuccessCallbackResult { + /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */ + invoiceInfo: string + errMsg: string + } + interface ChooseInvoiceTitleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceTitleSuccessCallback + } + interface ChooseInvoiceTitleSuccessCallbackResult { + /** 银行账号 */ + bankAccount: string + /** 银行名称 */ + bankName: string + /** 单位地址 */ + companyAddress: string + /** 错误信息 */ + errMsg: string + /** 抬头税号 */ + taxNumber: string + /** 手机号码 */ + telephone: string + /** 抬头名称 */ + title: string + /** 抬头类型 + * + * 可选值: + * - 0: 单位; + * - 1: 个人; */ + type: 0 | 1 + } + interface ChooseLicensePlateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLicensePlateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLicensePlateFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseLicensePlateSuccessCallback + } + interface ChooseLicensePlateSuccessCallbackResult { + /** 用户选择的车牌号 */ + plateNumber: string + errMsg: string + } + interface ChooseLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 目标地纬度 */ + latitude?: number + /** 需要基础库: `2.9.0` + * + * 目标地经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: ChooseLocationSuccessCallback + } + interface ChooseLocationSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 位置名称 */ + name: string + errMsg: string + } + interface ChooseMediaOption { + /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头 + * + * 可选值: + * - 'back': 使用后置摄像头; + * - 'front': 使用前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMediaCompleteCallback + /** 最多可以选择的文件个数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseMediaFailCallback + /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 */ + maxDuration?: number + /** 文件类型 + * + * 可选值: + * - 'image': 只能拍摄图片或从相册选择图片; + * - 'video': 只能拍摄视频或从相册选择视频; + * - 'mix': 可同时选择图片和视频; */ + mediaType?: Array<'image' | 'video' | 'mix'> + /** 仅对 mediaType 为 image 时有效,是否压缩所选文件 */ + sizeType?: string[] + /** 图片和视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择; + * - 'camera': 使用相机拍摄; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseMediaSuccessCallback + } + interface ChooseMediaSuccessCallbackResult { + /** 本地临时文件列表 */ + tempFiles: MediaFile[] + /** 文件类型,有效值有 image 、video、mix */ + type: string + errMsg: string + } + interface ChooseMessageFileOption { + /** 最多可以选择的文件个数,可以 0~100 */ + count: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMessageFileCompleteCallback + /** 需要基础库: `2.6.0` + * + * 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 */ + extension?: string[] + /** 接口调用失败的回调函数 */ + fail?: ChooseMessageFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseMessageFileSuccessCallback + /** 所选的文件的类型 + * + * 可选值: + * - 'all': 从所有文件选择; + * - 'video': 只能选择视频文件; + * - 'image': 只能选择图片文件; + * - 'file': 可以选择除了图片和视频之外的其它的文件; */ + type?: 'all' | 'video' | 'image' | 'file' + } + interface ChooseMessageFileSuccessCallbackResult { + /** 返回选择的文件的本地临时文件对象数组 */ + tempFiles: ChooseFile[] + errMsg: string + } + interface ChoosePoiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChoosePoiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChoosePoiFailCallback + /** 接口调用成功的回调函数 */ + success?: ChoosePoiSuccessCallback + } + interface ChoosePoiSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 城市名称 */ + city: number + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系(即将废弃) */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系(即将废弃) */ + longitude: number + /** 位置名称 */ + name: string + /** 选择城市时,值为 1,选择精确位置时,值为 2 */ + type: number + errMsg: string + } + interface ChooseVideoOption { + /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效 + * + * 可选值: + * - 'back': 默认拉起后置摄像头; + * - 'front': 默认拉起前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseVideoCompleteCallback + /** 需要基础库: `1.6.0` + * + * 是否压缩所选择的视频文件 */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: ChooseVideoFailCallback + /** 拍摄视频最长拍摄时间,单位秒 */ + maxDuration?: number + /** 视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择视频; + * - 'camera': 使用相机拍摄视频; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseVideoSuccessCallback + } + interface ChooseVideoSuccessCallbackResult { + /** 选定视频的时间长度 */ + duration: number + /** 返回选定视频的高度 */ + height: number + /** 选定视频的数据量大小 */ + size: number + /** 选定视频的临时文件路径 (本地路径) */ + tempFilePath: string + /** 返回选定视频的宽度 */ + width: number + errMsg: string + } + interface ClearOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearSuccessCallback + } + interface ClearStorageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearStorageSuccessCallback + } + /** 菜单按钮的布局位置信息 */ + interface ClientRect { + /** 下边界坐标,单位:px */ + bottom: number + /** 高度,单位:px */ + height: number + /** 左边界坐标,单位:px */ + left: number + /** 右边界坐标,单位:px */ + right: number + /** 上边界坐标,单位:px */ + top: number + /** 宽度,单位:px */ + width: number + } + interface CloseBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBLEConnectionSuccessCallback + } + interface CloseBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBluetoothAdapterFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBluetoothAdapterSuccessCallback + } + interface CloseFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface CloseSocketOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseSocketFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: CloseSocketSuccessCallback + } + interface CloseSyncOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色: + * + * - RGB 颜色: 如 `'rgb(255, 0, 0)'` + * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'` + * - 16 进制颜色: 如 `'#FF0000'` + * - 预定义的颜色: 如 `'red'` + * + * 其中预定义颜色有以下148个: + * *注意**: Color Name 大小写不敏感 + * + * | Color Name | HEX | + * | -------------------- | ------- | + * | AliceBlue | #F0F8FF | + * | AntiqueWhite | #FAEBD7 | + * | Aqua | #00FFFF | + * | Aquamarine | #7FFFD4 | + * | Azure | #F0FFFF | + * | Beige | #F5F5DC | + * | Bisque | #FFE4C4 | + * | Black | #000000 | + * | BlanchedAlmond | #FFEBCD | + * | Blue | #0000FF | + * | BlueViolet | #8A2BE2 | + * | Brown | #A52A2A | + * | BurlyWood | #DEB887 | + * | CadetBlue | #5F9EA0 | + * | Chartreuse | #7FFF00 | + * | Chocolate | #D2691E | + * | Coral | #FF7F50 | + * | CornflowerBlue | #6495ED | + * | Cornsilk | #FFF8DC | + * | Crimson | #DC143C | + * | Cyan | #00FFFF | + * | DarkBlue | #00008B | + * | DarkCyan | #008B8B | + * | DarkGoldenRod | #B8860B | + * | DarkGray | #A9A9A9 | + * | DarkGrey | #A9A9A9 | + * | DarkGreen | #006400 | + * | DarkKhaki | #BDB76B | + * | DarkMagenta | #8B008B | + * | DarkOliveGreen | #556B2F | + * | DarkOrange | #FF8C00 | + * | DarkOrchid | #9932CC | + * | DarkRed | #8B0000 | + * | DarkSalmon | #E9967A | + * | DarkSeaGreen | #8FBC8F | + * | DarkSlateBlue | #483D8B | + * | DarkSlateGray | #2F4F4F | + * | DarkSlateGrey | #2F4F4F | + * | DarkTurquoise | #00CED1 | + * | DarkViolet | #9400D3 | + * | DeepPink | #FF1493 | + * | DeepSkyBlue | #00BFFF | + * | DimGray | #696969 | + * | DimGrey | #696969 | + * | DodgerBlue | #1E90FF | + * | FireBrick | #B22222 | + * | FloralWhite | #FFFAF0 | + * | ForestGreen | #228B22 | + * | Fuchsia | #FF00FF | + * | Gainsboro | #DCDCDC | + * | GhostWhite | #F8F8FF | + * | Gold | #FFD700 | + * | GoldenRod | #DAA520 | + * | Gray | #808080 | + * | Grey | #808080 | + * | Green | #008000 | + * | GreenYellow | #ADFF2F | + * | HoneyDew | #F0FFF0 | + * | HotPink | #FF69B4 | + * | IndianRed | #CD5C5C | + * | Indigo | #4B0082 | + * | Ivory | #FFFFF0 | + * | Khaki | #F0E68C | + * | Lavender | #E6E6FA | + * | LavenderBlush | #FFF0F5 | + * | LawnGreen | #7CFC00 | + * | LemonChiffon | #FFFACD | + * | LightBlue | #ADD8E6 | + * | LightCoral | #F08080 | + * | LightCyan | #E0FFFF | + * | LightGoldenRodYellow | #FAFAD2 | + * | LightGray | #D3D3D3 | + * | LightGrey | #D3D3D3 | + * | LightGreen | #90EE90 | + * | LightPink | #FFB6C1 | + * | LightSalmon | #FFA07A | + * | LightSeaGreen | #20B2AA | + * | LightSkyBlue | #87CEFA | + * | LightSlateGray | #778899 | + * | LightSlateGrey | #778899 | + * | LightSteelBlue | #B0C4DE | + * | LightYellow | #FFFFE0 | + * | Lime | #00FF00 | + * | LimeGreen | #32CD32 | + * | Linen | #FAF0E6 | + * | Magenta | #FF00FF | + * | Maroon | #800000 | + * | MediumAquaMarine | #66CDAA | + * | MediumBlue | #0000CD | + * | MediumOrchid | #BA55D3 | + * | MediumPurple | #9370DB | + * | MediumSeaGreen | #3CB371 | + * | MediumSlateBlue | #7B68EE | + * | MediumSpringGreen | #00FA9A | + * | MediumTurquoise | #48D1CC | + * | MediumVioletRed | #C71585 | + * | MidnightBlue | #191970 | + * | MintCream | #F5FFFA | + * | MistyRose | #FFE4E1 | + * | Moccasin | #FFE4B5 | + * | NavajoWhite | #FFDEAD | + * | Navy | #000080 | + * | OldLace | #FDF5E6 | + * | Olive | #808000 | + * | OliveDrab | #6B8E23 | + * | Orange | #FFA500 | + * | OrangeRed | #FF4500 | + * | Orchid | #DA70D6 | + * | PaleGoldenRod | #EEE8AA | + * | PaleGreen | #98FB98 | + * | PaleTurquoise | #AFEEEE | + * | PaleVioletRed | #DB7093 | + * | PapayaWhip | #FFEFD5 | + * | PeachPuff | #FFDAB9 | + * | Peru | #CD853F | + * | Pink | #FFC0CB | + * | Plum | #DDA0DD | + * | PowderBlue | #B0E0E6 | + * | Purple | #800080 | + * | RebeccaPurple | #663399 | + * | Red | #FF0000 | + * | RosyBrown | #BC8F8F | + * | RoyalBlue | #4169E1 | + * | SaddleBrown | #8B4513 | + * | Salmon | #FA8072 | + * | SandyBrown | #F4A460 | + * | SeaGreen | #2E8B57 | + * | SeaShell | #FFF5EE | + * | Sienna | #A0522D | + * | Silver | #C0C0C0 | + * | SkyBlue | #87CEEB | + * | SlateBlue | #6A5ACD | + * | SlateGray | #708090 | + * | SlateGrey | #708090 | + * | Snow | #FFFAFA | + * | SpringGreen | #00FF7F | + * | SteelBlue | #4682B4 | + * | Tan | #D2B48C | + * | Teal | #008080 | + * | Thistle | #D8BFD8 | + * | Tomato | #FF6347 | + * | Turquoise | #40E0D0 | + * | Violet | #EE82EE | + * | Wheat | #F5DEB3 | + * | White | #FFFFFF | + * | WhiteSmoke | #F5F5F5 | + * | Yellow | #FFFF00 | + * | YellowGreen | #9ACD32 | */ + interface Color {} + interface CompressImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressImageFailCallback + /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CompressImageSuccessCallback + } + interface CompressImageSuccessCallbackResult { + /** 压缩后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface CompressVideoOption { + /** 码率,单位 kbps */ + bitrate: number + /** 帧率 */ + fps: number + /** 压缩质量 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + quality: 'low' | 'medium' | 'high' + /** 相对于原视频的分辨率比例,取值范围(0, 1] */ + resolution: number + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressVideoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressVideoFailCallback + /** 接口调用成功的回调函数 */ + success?: CompressVideoSuccessCallback + } + interface CompressVideoSuccessCallbackResult { + /** 压缩后的大小,单位 kB */ + size: string + /** 压缩后的临时文件地址 */ + tempFilePath: string + errMsg: string + } + interface ConnectSocketOption { + /** 开发者服务器 wss 接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectSocketFailCallback + /** HTTP Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 需要基础库: `2.8.0` + * + * 是否开启压缩扩展 */ + perMessageDeflate?: boolean + /** 需要基础库: `1.4.0` + * + * 子协议数组 */ + protocols?: string[] + /** 接口调用成功的回调函数 */ + success?: ConnectSocketSuccessCallback + /** 需要基础库: `2.4.0` + * + * 建立 TCP 连接的时候的 TCP_NODELAY 设置 */ + tcpNoDelay?: boolean + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface ConnectWifiOption { + /** Wi-Fi 设备 SSID */ + SSID: string + /** Wi-Fi 设备密码 */ + password: string + /** Wi-Fi 设备 BSSID */ + BSSID?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectWifiFailCallback + /** 需要基础库: `2.12.0` + * + * 跳转到系统设置页进行连接 */ + maunal?: boolean + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息,仅安卓生效 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: ConnectWifiSuccessCallback + } + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + interface Constraints { + /** 如果指定为true则禁用标准化,默认为false */ + disableNormalization?: boolean + } + interface ContextCallbackResult { + /** 节点对应的 Context 对象 */ + context: IAnyObject + } + interface CopyFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, copyFile ${srcPath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, copyFile ${srcPath} -> ${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface CopyFileOption { + /** 目标文件路径,支持本地路径 */ + destPath: string + /** 源文件路径,支持本地路径 */ + srcPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CopyFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CopyFileFailCallback + /** 接口调用成功的回调函数 */ + success?: CopyFileSuccessCallback + } + interface CreateBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEConnectionSuccessCallback + /** 超时时间,单位 ms,不填表示不会超时 */ + timeout?: number + } + interface CreateBLEPeripheralServerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEPeripheralServerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEPeripheralServerFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEPeripheralServerSuccessCallback + } + interface CreateBLEPeripheralServerSuccessCallbackResult { + /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html) + * + * 外围设备的服务端。 */ + server: BLEPeripheralServer + errMsg: string + } + interface CreateCacheManagerOption { + /** 额外的缓存处理 */ + extra?: ExtraOption + /** 全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天 */ + maxAge?: number + /** 缓存模式 + * + * 可选值: + * - 'weakNetwork': 弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode?: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin?: string + } + interface CreateInnerAudioContextOption { + /** 需要基础库: `2.19.0` + * + * 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项。 */ + useWebAudioImplement?: boolean + } + /** 选项 */ + interface CreateIntersectionObserverOption { + /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */ + initialRatio?: number + /** 需要基础库: `2.0.0` + * + * 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能) */ + observeAll?: boolean + /** 一个数值数组,包含所有阈值。 */ + thresholds?: number[] + } + interface CreateInterstitialAdOption { + /** 广告单元 id */ + adUnitId: string + } + interface CreateMediaRecorderOption { + /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */ + duration?: number + /** 视频 fps */ + fps?: number + /** 视频关键帧间隔 */ + gop?: number + /** 视频比特率(kbps),最小值 600,最大值 3000 */ + videoBitsPerSecond?: number + } + interface CreateOffscreenCanvasOption { + /** 在自定义组件下,当前组件实例的 this */ + compInst?: Component.TrivialInstance | Page.TrivialInstance + /** 画布高度 */ + height?: number + /** 创建的离屏 canvas 类型 + * + * 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + type?: 'webgl' | '2d' + /** 画布宽度 */ + width?: number + } + interface CreateRewardedVideoAdOption { + /** 广告单元 id */ + adUnitId: string + /** 需要基础库: `2.8.0` + * + * 是否启用多例模式,默认为false */ + multiton?: boolean + } + /** 可选参数 */ + interface CreateWorkerOption { + /** 需要基础库: `2.13.0` + * + * 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 */ + useExperimentalWorker?: boolean + } + interface CurrentState { + /** 当前缓存中的日志条数 */ + logCount: number + /** 当前缓存中最大可存日志条数 */ + maxLogCount: number + /** 当前缓存最大可用空间,以字节为单位 */ + maxSize: number + /** 当前缓存中已使用空间,以字节为单位 */ + size: number + } + /** 弹幕内容 */ + interface Danmu { + /** 弹幕文字 */ + text: string + /** 弹幕颜色 */ + color?: string + } + /** 可选的字体描述符 */ + interface DescOption { + /** 字体样式,可选值为 normal / italic / oblique */ + style?: string + /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */ + variant?: string + /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */ + weight?: string + } + /** 描述符的权限 */ + interface DescriptorPermission { + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + } + /** 指定 marker 移动到的目标点 */ + interface DestinationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + interface DetectFaceOption { + /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。 + * + * 可选值: + * - 0: 小模型; + * - 1: 中模型; + * - 2: 大模型; */ + modelModel?: 0 | 1 | 2 + /** 评分阈值。正常情况传入 0.8 即可。 */ + scoreThreshold?: number + /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果 + * + * 可选值: + * - 1: 表示输入的图片是随机的图片; + * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */ + sourceType?: 1 | 0 + } + interface DeviceInfo { + /** 应用(微信APP)二进制接口类型(仅 Android 支持) */ + abi: string + /** 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 设备品牌 */ + brand: string + /** 需要基础库: `2.25.1` + * + * 设备二进制接口类型(仅 Android 支持) */ + deviceAbi: string + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 客户端平台 */ + platform: string + /** 操作系统及版本 */ + system: string + } + interface DisableAlertBeforeUnloadOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DisableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DisableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: DisableAlertBeforeUnloadSuccessCallback + } + interface DownloadFileOption { + /** 下载资源的 url */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DownloadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DownloadFileFailCallback + /** 需要基础库: `1.8.0` + * + * 指定文件下载后存储的路径 (本地路径) */ + filePath?: string + /** HTTP 请求的 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: DownloadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface DownloadFileSuccessCallbackResult { + /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */ + filePath: string + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */ + tempFilePath: string + errMsg: string + } + interface DownloadTaskOnProgressUpdateListenerResult { + /** 下载进度百分比 */ + progress: number + /** 预期需要下载的数据总长度,单位 Bytes */ + totalBytesExpectedToWrite: number + /** 已经下载的数据长度,单位 Bytes */ + totalBytesWritten: number + } + interface EditImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EditImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EditImageFailCallback + /** 接口调用成功的回调函数 */ + success?: EditImageSuccessCallback + } + interface EditImageSuccessCallbackResult { + /** 编辑后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface EnableAlertBeforeUnloadOption { + /** 询问对话框内容 */ + message: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EnableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EnableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: EnableAlertBeforeUnloadSuccessCallback + } + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + interface EntriesResult { + /** 文件路径 */ + [path: string]: ZipFileItem + } + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + interface EntryItem { + /** 压缩包内文件路径 */ + path: string + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + } + interface Err { + /** 错误信息 */ + errMsg: string + /** 需要基础库: `2.24.0` + * + * errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/miniprogram/dev/framework/usability/PublicErrno.html) */ + errno: number + } + interface ExitFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitFullScreenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitFullScreenSuccessCallback + } + interface ExitMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitMiniProgramSuccessCallback + } + interface ExitPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitPictureInPictureSuccessCallback + } + interface ExitVoIPChatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitVoIPChatFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitVoIPChatSuccessCallback + } + /** 客服信息 */ + interface ExtInfoOption { + /** 客服链接 */ + url: string + } + /** 额外的缓存处理 */ + interface ExtraOption { + /** 需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分 + * + * 可选值: + * - 'wx.login': ; + * - 'wx.checkSession': ; + * - 'wx.getSetting': ; */ + apiList?: Array<'wx.login' | 'wx.checkSession' | 'wx.getSetting'> + } + interface ExtractDataSourceOption { + /** 视频源地址,只支持本地文件 */ + source: string + } + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + interface FaceAngel { + /** 仰俯角(点头) */ + pitch: number + /** 翻滚角(左右倾) */ + roll: number + /** 偏航角(摇头) */ + yaw: number + } + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + interface FaceConf { + /** 整体可信度 */ + global: number + /** 左眼可信度 */ + leftEye: number + /** 嘴巴可信度 */ + mouth: number + /** 鼻子可信度 */ + nose: number + /** 右眼可信度 */ + rightEye: number + } + interface FaceDetectOption { + /** 图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FaceDetectCompleteCallback + /** 是否返回当前图像的人脸角度信息 */ + enableAngle?: boolean + /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) */ + enableConf?: boolean + /** 是否返回多张人脸的信息 */ + enableMultiFace?: boolean + /** 是否返回当前图像的人脸(106 个点) */ + enablePoint?: boolean + /** 接口调用失败的回调函数 */ + fail?: FaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: FaceDetectSuccessCallback + } + interface FaceDetectSuccessCallbackResult { + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + angleArray: FaceAngel + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + confArray: FaceConf + /** 脸部方框数值,对象包含 height, weight, originX, originY 四个属性 (origin 为方框左上角坐标) */ + detectRect: IAnyObject + /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */ + faceInfo: IAnyObject[] + /** 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y */ + pointArray: IAnyObject[] + /** 脸部中心点横坐标,检测不到人脸则为 -1 */ + x: number + /** 脸部中心点纵坐标,检测不到人脸则为 -1 */ + y: number + errMsg: string + } + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + interface FaceTrack { + /** 需要基础库: `2.25.0` + * + * 人脸检测模式 + * + * 可选值: + * - 1: 静态图片检测; + * - 2: 通过摄像头实时检测; */ + mode: 1 | 2 + } + interface Fields { + /** 需要基础库: `2.1.0` + * + * 指定样式名列表,返回节点对应样式名的当前值 */ + computedStyle?: string[] + /** 需要基础库: `2.4.2` + * + * 是否返回节点对应的 Context 对象 */ + context?: boolean + /** 是否返回节点 dataset */ + dataset?: boolean + /** 是否返回节点 id */ + id?: boolean + /** 是否返回节点 mark */ + mark?: boolean + /** 需要基础库: `2.7.0` + * + * 是否返回节点对应的 Node 实例 */ + node?: boolean + /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */ + properties?: string[] + /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */ + rect?: boolean + /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */ + scrollOffset?: boolean + /** 是否返回节点尺寸(`width` `height`) */ + size?: boolean + } + interface FileItem { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */ + createTime: number + /** 文件路径 (本地路径) */ + filePath: string + /** 本地文件大小,以字节为单位 */ + size: number + } + interface FileSystemManagerCloseOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface FileSystemManagerGetFileInfoOption { + /** 要读取的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetFileInfoSuccessCallback + } + interface FileSystemManagerGetFileInfoSuccessCallbackResult { + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface FileSystemManagerGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetSavedFileListSuccessCallback + } + interface FileSystemManagerGetSavedFileListSuccessCallbackResult { + /** 文件数组 */ + fileList: FileItem[] + errMsg: string + } + interface FileSystemManagerRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface FileSystemManagerSaveFileOption { + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerSaveFileFailCallback + /** 要存储的文件路径 (本地路径) */ + filePath?: string + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + interface ForwardMaterials { + /** 文件名 */ + name: string + /** 文件路径(如果是webview则是url) */ + path: string + /** 文件大小 */ + size: number + /** 文件的mimetype类型 */ + type: string + } + /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */ + interface FrameDataOptions { + /** 帧数据 */ + data: ArrayBuffer + /** 帧数据高度 */ + height: number + /** 帧原始 dts */ + pkDts: number + /** 帧原始 pts */ + pkPts: number + /** 帧数据宽度 */ + width: number + } + interface FromScreenLocationOption { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FromScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FromScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: FromScreenLocationSuccessCallback + } + interface FstatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; */ + errMsg: string + } + interface FstatOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FstatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FstatFailCallback + /** 接口调用成功的回调函数 */ + success?: FstatSuccessCallback + } + interface FstatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) + * + * Stats 对象,包含了文件的状态信息 */ + stats: Stats + errMsg: string + } + interface FstatSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + interface FtruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface FtruncateOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FtruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FtruncateFailCallback + /** 接口调用成功的回调函数 */ + success?: FtruncateSuccessCallback + } + interface FtruncateSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + } + interface GeneralCallbackResult { + /** 错误信息 */ + errMsg: string + } + interface GetAtqaOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAtqaCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAtqaFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAtqaSuccessCallback + } + interface GetAtqaSuccessCallbackResult { + /** 返回 ATQA/SENS_RES 数据 */ + atqa: ArrayBuffer + errMsg: string + } + interface GetAvailableAudioSourcesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAvailableAudioSourcesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAvailableAudioSourcesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAvailableAudioSourcesSuccessCallback + } + interface GetAvailableAudioSourcesSuccessCallbackResult { + /** 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSources: Array< + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + > + errMsg: string + } + interface GetBLEDeviceCharacteristicsOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceCharacteristicsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceCharacteristicsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceCharacteristicsSuccessCallback + } + interface GetBLEDeviceCharacteristicsSuccessCallbackResult { + /** 设备特征列表 */ + characteristics: BLECharacteristic[] + errMsg: string + } + interface GetBLEDeviceRSSIOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceRSSICompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceRSSIFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceRSSISuccessCallback + } + interface GetBLEDeviceRSSISuccessCallbackResult { + /** 信号强度,单位 dBm */ + RSSI: number + errMsg: string + } + interface GetBLEDeviceServicesOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceServicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceServicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceServicesSuccessCallback + } + interface GetBLEDeviceServicesSuccessCallbackResult { + /** 设备服务列表 */ + services: BLEService[] + errMsg: string + } + interface GetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEMTUSuccessCallback + /** 写模式 (iOS 特有参数) + * + * 可选值: + * - 'write': 有回复写; + * - 'writeNoResponse': 无回复写; */ + writeType?: 'write' | 'writeNoResponse' + } + interface GetBLEMTUSuccessCallbackResult { + /** 最大传输单元 */ + mtu: number + errMsg: string + } + interface GetBackgroundAudioPlayerStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundAudioPlayerStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundAudioPlayerStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundAudioPlayerStateSuccessCallback + } + interface GetBackgroundAudioPlayerStateSuccessCallbackResult { + /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */ + currentPosition: number + /** 歌曲数据链接,只有在音乐播放中时返回 */ + dataUrl: string + /** 音频的下载进度百分比,只有在音乐播放中时返回 */ + downloadPercent: number + /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */ + duration: number + /** 播放状态 + * + * 可选值: + * - 0: 暂停中; + * - 1: 播放中; + * - 2: 没有音乐播放; */ + status: 0 | 1 | 2 + errMsg: string + } + interface GetBackgroundFetchDataOption { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchDataSuccessCallback + } + interface GetBackgroundFetchDataSuccessCallbackResult { + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳。(注:安卓 timeStamp 单位是 ms,iOS timeStamp 单位是 s) */ + timeStamp: number + errMsg: string + } + interface GetBackgroundFetchTokenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchTokenSuccessCallback + } + interface GetBackgroundFetchTokenSuccessCallbackResult { + /** 接口调用结果 */ + errMsg: string + /** 自定义的登录态 */ + token: number + } + interface GetBatteryInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBatteryInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBatteryInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBatteryInfoSuccessCallback + } + interface GetBatteryInfoSuccessCallbackResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + errMsg: string + } + interface GetBatteryInfoSyncResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + } + interface GetBeaconsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBeaconsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBeaconsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBeaconsSuccessCallback + } + interface GetBeaconsSuccessCallbackResult { + /** Beacon 设备列表 */ + beacons: BeaconInfo[] + errMsg: string + } + interface GetBluetoothAdapterStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothAdapterStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothAdapterStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothAdapterStateSuccessCallback + } + interface GetBluetoothAdapterStateSuccessCallbackResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 是否正在搜索设备 */ + discovering: boolean + errMsg: string + } + interface GetBluetoothDevicesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothDevicesSuccessCallback + } + interface GetBluetoothDevicesSuccessCallbackResult { + /** UUID 对应的已连接设备列表 */ + devices: BlueToothDevice[] + errMsg: string + } + interface GetCenterLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetCenterLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetCenterLocationFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: GetCenterLocationSuccessCallback + } + interface GetCenterLocationSuccessCallbackResult { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + errMsg: string + } + interface GetChannelsLiveInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveInfoSuccessCallback + } + interface GetChannelsLiveInfoSuccessCallbackResult { + /** 直播主题 */ + description: string + /** 直播 feedId */ + feedId: string + /** 视频号头像 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 直播 nonceId */ + nonceId: string + /** 直播状态,2直播中,3直播结束 */ + status: number + errMsg: string + } + interface GetChannelsLiveNoticeInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveNoticeInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveNoticeInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveNoticeInfoSuccessCallback + } + interface GetChannelsLiveNoticeInfoSuccessCallbackResult { + /** 直播封面 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 预告 id */ + noticeId: string + /** 需要基础库: `2.24.6` + * + * 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 */ + otherInfos: any[] + /** 是否可预约 */ + reservable: boolean + /** 开始时间 */ + startTime: string + /** 预告状态:0可用 1取消 2已用 */ + status: number + errMsg: string + } + interface GetChannelsShareKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsShareKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsShareKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsShareKeySuccessCallback + } + interface GetChannelsShareKeySuccessCallbackResult { + /** 推广员 */ + promoter: PromoterResult + /** 分享者 openid */ + sharerOpenId: string + errMsg: string + } + interface GetClipboardDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetClipboardDataSuccessCallback + } + interface GetClipboardDataSuccessCallbackOption { + /** 剪贴板的内容 */ + data: string + } + interface GetConnectedBluetoothDevicesOption { + /** 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) */ + services: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetConnectedBluetoothDevicesSuccessCallback + } + interface GetConnectedBluetoothDevicesSuccessCallbackResult { + /** 搜索到的设备列表 */ + devices: BluetoothDeviceInfo[] + errMsg: string + } + interface GetConnectedWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedWifiFailCallback + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: GetConnectedWifiSuccessCallback + } + interface GetConnectedWifiSuccessCallbackResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + errMsg: string + } + interface GetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetContentsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetContentsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetContentsSuccessCallback + } + interface GetContentsSuccessCallbackResult { + /** 表示内容的delta对象 */ + delta: IAnyObject + /** 带标签的HTML内容 */ + html: string + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetExtConfigOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetExtConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetExtConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: GetExtConfigSuccessCallback + } + interface GetExtConfigSuccessCallbackResult { + /** 第三方平台自定义的数据 */ + extConfig: IAnyObject + errMsg: string + } + interface GetFileInfoFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 filePath 找不到文件; */ + errMsg: string + } + interface GetFuzzyLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFuzzyLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetFuzzyLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: GetFuzzyLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetFuzzyLocationSuccessCallbackResult { + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + errMsg: string + } + interface GetGroupEnterInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetGroupEnterInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetGroupEnterInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetGroupEnterInfoSuccessCallback + } + interface GetGroupEnterInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + } + interface GetHCEStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHCEStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHCEStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHCEStateSuccessCallback + } + interface GetHistoricalBytesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHistoricalBytesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHistoricalBytesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHistoricalBytesSuccessCallback + } + interface GetHistoricalBytesSuccessCallbackResult { + /** 返回历史二进制数据 */ + histBytes: ArrayBuffer + errMsg: string + } + interface GetImageInfoOption { + /** 图片的路径,支持网络路径、本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetImageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetImageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetImageInfoSuccessCallback + } + interface GetImageInfoSuccessCallbackResult { + /** 图片原始高度,单位px。不考虑旋转。 */ + height: number + /** 需要基础库: `1.9.90` + * + * [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html) + * + * 可选值: + * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。; + * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2; + * - 'down': 旋转180度,对应 Exif 中的 3; + * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4; + * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5; + * - 'right': 顺时针旋转90度,对应 Exif 中的 6; + * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7; + * - 'left': 逆时针旋转90度,对应 Exif 中的 8; */ + orientation: + | 'up' + | 'up-mirrored' + | 'down' + | 'down-mirrored' + | 'left-mirrored' + | 'right' + | 'right-mirrored' + | 'left' + /** 图片的本地路径 */ + path: string + /** 需要基础库: `1.9.90` + * + * 图片格式 + * + * 可选值: + * - 'unknown': 未知格式; + * - 'jpeg': jpeg压缩格式; + * - 'png': png压缩格式; + * - 'gif': gif压缩格式; + * - 'tiff': tiff压缩格式; */ + type: 'unknown' | 'jpeg' | 'png' | 'gif' | 'tiff' + /** 图片原始宽度,单位px。不考虑旋转。 */ + width: number + errMsg: string + } + interface GetLatestUserKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLatestUserKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLatestUserKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLatestUserKeySuccessCallback + } + interface GetLatestUserKeySuccessCallbackResult { + /** 用户加密密钥 */ + encryptKey: string + /** 密钥过期时间 */ + expireTime: number + /** 密钥初始向量 */ + iv: string + /** 密钥版本 */ + version: number + errMsg: string + } + interface GetLocalIPAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocalIPAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocalIPAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLocalIPAddressSuccessCallback + } + interface GetLocalIPAddressSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 本机局域网IP地址 */ + localip: string + /** 本机局域网子网掩码,基础库 2.24.0 开始支持 */ + netmask: string + } + interface GetLocationOption { + /** 需要基础库: `1.6.0` + * + * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */ + altitude?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */ + highAccuracyExpireTime?: number + /** 需要基础库: `2.9.0` + * + * 开启高精度定位 */ + isHighAccuracy?: boolean + /** 接口调用成功的回调函数 */ + success?: GetLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetLocationSuccessCallbackResult { + /** 位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + errMsg: string + } + interface GetLogManagerOption { + /** 需要基础库: `2.3.2` + * + * 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 */ + level?: number + } + interface GetMaxTransceiveLengthOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetMaxTransceiveLengthCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetMaxTransceiveLengthFailCallback + /** 接口调用成功的回调函数 */ + success?: GetMaxTransceiveLengthSuccessCallback + } + interface GetMaxTransceiveLengthSuccessCallbackResult { + /** 最大传输长度 */ + length: number + errMsg: string + } + interface GetNetworkTypeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetNetworkTypeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetNetworkTypeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetNetworkTypeSuccessCallback + } + interface GetNetworkTypeSuccessCallbackResult { + /** 需要基础库: `2.22.1` + * + * 设备是否使用了网络代理 */ + hasSystemProxy: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + /** 信号强弱,单位 dbm */ + signalStrength: number + errMsg: string + } + interface GetRandomValuesOption { + /** 整数,生成随机数的字节数,最大 1048576 */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRandomValuesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRandomValuesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRandomValuesSuccessCallback + } + interface GetRandomValuesSuccessCallbackResult { + /** 随机数内容,长度为传入的字节数 */ + randomValues: ArrayBuffer + errMsg: string + } + interface GetRegionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRegionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRegionFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRegionSuccessCallback + } + interface GetRegionSuccessCallbackResult { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + errMsg: string + } + interface GetRotateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRotateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRotateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRotateSuccessCallback + } + interface GetRotateSuccessCallbackResult { + /** 旋转角 */ + rotate: number + errMsg: string + } + interface GetSakOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSakCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSakFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSakSuccessCallback + } + interface GetSakSuccessCallbackResult { + /** 返回 SAK/SEL_RES 数据 */ + sak: number + errMsg: string + } + interface GetSavedFileInfoOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSavedFileInfoSuccessCallback + } + interface GetSavedFileInfoSuccessCallbackResult { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到该时刻的秒数 */ + createTime: number + /** 文件大小,单位 B */ + size: number + errMsg: string + } + interface GetScaleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScaleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScaleFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScaleSuccessCallback + } + interface GetScaleSuccessCallbackResult { + /** 缩放值 */ + scale: number + errMsg: string + } + interface GetScreenBrightnessOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenBrightnessSuccessCallback + } + interface GetScreenBrightnessSuccessCallbackOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */ + value: number + } + interface GetScreenRecordingStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenRecordingStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenRecordingStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenRecordingStateSuccessCallback + } + interface GetScreenRecordingStateSuccessCallbackResult { + /** 录屏状态 + * + * 可选值: + * - 'on': 开启; + * - 'off': 关闭; */ + state: 'on' | 'off' + errMsg: string + } + interface GetSelectedTextRangeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectedTextRangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectedTextRangeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectedTextRangeSuccessCallback + } + interface GetSelectedTextRangeSuccessCallbackResult { + /** 输入框光标结束位置 */ + end: number + /** 输入框光标起始位置 */ + start: number + errMsg: string + } + interface GetSelectionTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectionTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectionTextFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectionTextSuccessCallback + } + interface GetSelectionTextSuccessCallbackResult { + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSettingSuccessCallback + /** 需要基础库: `2.10.1` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface GetSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.1` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 在插件中调用时,当前宿主小程序的用户授权结果 */ + miniprogramAuthSetting?: AuthSetting + errMsg: string + } + interface GetShareInfoOption { + /** shareTicket */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetShareInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetShareInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetShareInfoSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位 ms */ + timeout?: number + } + interface GetSkewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSkewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSkewFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSkewSuccessCallback + } + interface GetSkewSuccessCallbackResult { + /** 倾斜角 */ + skew: number + errMsg: string + } + interface GetStorageInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetStorageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageInfoSuccessCallback + } + interface GetStorageInfoSuccessCallbackOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageInfoSyncOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageOption { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 getStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 解密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: GetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageSuccessCallback + } + interface GetStorageSuccessCallbackResult { + /** key对应的内容 */ + data: T + errMsg: string + } + interface GetSystemInfoAsyncOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoAsyncCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoAsyncFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoAsyncSuccessCallback + } + interface GetSystemInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoSuccessCallback + } + interface GetUserInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserInfoFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserInfoSuccessCallback + /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */ + withCredentials?: boolean + } + interface GetUserInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 用户信息对象,不包含 openid 等敏感信息 */ + userInfo: UserInfo + errMsg: string + } + interface GetUserProfileOption { + /** 声明获取用户个人信息后的用途,不超过30个字符 */ + desc: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserProfileFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserProfileSuccessCallback + } + interface GetUserProfileSuccessCallbackResult { + userName: {} | undefined + code: any + /** 需要基础库: `2.10.4` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 需要基础库: `2.10.4` + * + * 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 需要基础库: `2.10.4` + * + * 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 需要基础库: `2.10.4` + * + * 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 需要基础库: `2.10.4` + * + * 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 需要基础库: `2.10.4` + * + * 用户信息对象 */ + userInfo: UserInfo + errMsg: string + } + interface GetVideoInfoOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetVideoInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetVideoInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetVideoInfoSuccessCallback + } + interface GetVideoInfoSuccessCallbackResult { + /** 视频码率,单位 kbps */ + bitrate: number + /** 视频长度 */ + duration: number + /** 视频帧率 */ + fps: number + /** 视频的长,单位 px */ + height: number + /** 画面方向 + * + * 可选值: + * - 'up': 默认; + * - 'down': 180度旋转; + * - 'left': 逆时针旋转90度; + * - 'right': 顺时针旋转90度; + * - 'up-mirrored': 同up,但水平翻转; + * - 'down-mirrored': 同down,但水平翻转; + * - 'left-mirrored': 同left,但垂直翻转; + * - 'right-mirrored': 同right,但垂直翻转; */ + orientation: + | 'up' + | 'down' + | 'left' + | 'right' + | 'up-mirrored' + | 'down-mirrored' + | 'left-mirrored' + | 'right-mirrored' + /** 视频大小,单位 kB */ + size: number + /** 视频格式 */ + type: string + /** 视频的宽,单位 px */ + width: number + errMsg: string + } + interface GetWeRunDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWeRunDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWeRunDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWeRunDataSuccessCallback + } + interface GetWeRunDataSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */ + encryptedData: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + errMsg: string + } + interface GetWifiListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWifiListSuccessCallback + } + interface HideHomeButtonOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideHomeButtonCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideHomeButtonFailCallback + /** 接口调用成功的回调函数 */ + success?: HideHomeButtonSuccessCallback + } + interface HideKeyboardOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideKeyboardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideKeyboardFailCallback + /** 接口调用成功的回调函数 */ + success?: HideKeyboardSuccessCallback + } + interface HideLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideLoadingFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: boolean + /** 接口调用成功的回调函数 */ + success?: HideLoadingSuccessCallback + } + interface HideNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: HideNavigationBarLoadingSuccessCallback + } + interface HideShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: HideShareMenuSuccessCallback + } + interface HideTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarSuccessCallback + } + interface HideTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarRedDotSuccessCallback + } + interface HideToastOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideToastCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideToastFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: number + /** 接口调用成功的回调函数 */ + success?: HideToastSuccessCallback + } + /** 检测结果 */ + interface HitTestRes { + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + } + /** 需要基础库: `2.7.0` + * + * 图片对象 */ + interface Image { + /** 图片的真实高度 */ + height: number + /** 图片加载发生错误后触发的回调函数 */ + onerror: (...args: any[]) => any + /** 图片加载完成后触发的回调函数 */ + onload: (...args: any[]) => any + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */ + src: string + /** 图片的真实宽度 */ + width: number + } + /** 需要基础库: `2.9.0` + * + * ImageData 对象 */ + interface ImageData { + /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */ + data: Uint8ClampedArray + /** 使用像素描述 ImageData 的实际高度 */ + height: number + /** 使用像素描述 ImageData 的实际宽度 */ + width: number + } + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + interface ImageFile { + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + } + interface IncludePointsOption { + /** 要显示在可视区域内的坐标点列表 */ + points: MapPostion[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IncludePointsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IncludePointsFailCallback + /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左],安卓上只能识别数组第一项,上下左右的padding一致。开发者工具暂不支持padding参数。 */ + padding?: number[] + /** 接口调用成功的回调函数 */ + success?: IncludePointsSuccessCallback + } + interface InitFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InitFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: InitFaceDetectSuccessCallback + } + interface InitMarkerClusterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitMarkerClusterCompleteCallback + /** 启用默认的聚合样式 */ + enableDefaultStyle?: boolean + /** 接口调用失败的回调函数 */ + fail?: InitMarkerClusterFailCallback + /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */ + gridSize?: boolean + /** 接口调用成功的回调函数 */ + success?: InitMarkerClusterSuccessCallback + /** 点击已经聚合的标记点时是否实现聚合分离 */ + zoomOnClick?: boolean + } + /** InnerAudioContext 实例,可通过 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 接口获取实例。注意,音频播放过程中,可能被系统中断,可通过 [wx.onAudioInterruptionBegin](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)、[wx.onAudioInterruptionEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件来处理这种情况。 +* +* **支持格式** +* +* | 格式 | iOS | Android | +* | ---- | ---- | ------- | +* | flac | x | √ | +* | m4a | √ | √ | +* | ogg | x | √ | +* | ape | x | √ | +* | amr | x | √ | +* | wma | x | √ | +* | wav | √ | √ | +* | mp3 | √ | √ | +* | mp4 | x | √ | +* | aac | √ | √ | +* | aiff | √ | x | +* | caf | √ | x | +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext() +innerAudioContext.autoplay = true +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +innerAudioContext.onPlay(() => { + console.log('开始播放') +}) +innerAudioContext.onError((res) => { + console.log(res.errMsg) + console.log(res.errCode) +}) +``` */ + interface InnerAudioContext { + /** 是否自动开始播放,默认为 `false` */ + autoplay: boolean + /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */ + buffered: number + /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) */ + currentTime: number + /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */ + duration: number + /** 是否循环播放,默认为 `false` */ + loop: boolean + /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */ + obeyMuteSwitch: boolean + /** 当前是是否暂停或停止状态(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */ + src: string + /** 开始播放的位置(单位:s),默认为 0 */ + startTime: number + /** 需要基础库: `1.9.90` + * + * 音量。范围 0~1。默认为 1 */ + volume: number + } + interface InnerAudioContextOnErrorListenerResult { + /** 可选值: + * - 10001: 系统错误; + * - 10002: 网络错误; + * - 10003: 文件错误; + * - 10004: 格式错误; + * - -1: 未知错误; */ + errCode: 10001 | 10002 | 10003 | 10004 | -1 + errMsg: string + } + interface InsertDividerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertDividerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertDividerFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertDividerSuccessCallback + } + interface InsertImageOption { + /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */ + src: string + /** 图像无法显示时的替代文本 */ + alt?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertImageCompleteCallback + /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */ + data?: IAnyObject + /** 添加到图片 img 标签上的类名 */ + extClass?: string + /** 接口调用失败的回调函数 */ + fail?: InsertImageFailCallback + /** 图片高度 (pixels/百分比) */ + height?: string + /** 插入图片后是否自动换行,默认换行 */ + nowrap?: boolean + /** 接口调用成功的回调函数 */ + success?: InsertImageSuccessCallback + /** 图片宽度(pixels/百分比) */ + width?: string + } + interface InsertTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertTextFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertTextSuccessCallback + /** 文本内容 */ + text?: string + } + interface IntersectionObserverObserveCallbackResult { + /** 目标边界 */ + boundingClientRect: BoundingClientRectResult + /** 节点自定义数据属性 */ + dataset: Record + /** 节点 ID */ + id: string + /** 相交比例 */ + intersectionRatio: number + /** 相交区域的边界 */ + intersectionRect: IntersectionRectResult + /** 参照区域的边界 */ + relativeRect: RelativeRectResult + /** 相交检测时的时间戳 */ + time: number + } + /** 相交区域的边界 */ + interface IntersectionRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + interface InterstitialAdOnErrorListenerResult { + /** 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface IsBluetoothDevicePairedOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsBluetoothDevicePairedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsBluetoothDevicePairedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsBluetoothDevicePairedSuccessCallback + } + interface IsConnectedOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsConnectedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsConnectedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsConnectedSuccessCallback + } + interface Join1v1ChatOption { + /** 呼叫方信息 */ + caller: VoIP1v1ChatUser + /** 接听方信息 */ + listener: VoIP1v1ChatUser + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: Join1v1ChatCompleteCallback + /** 不允许切换到语音通话 */ + disableSwitchVoice?: boolean + /** 接口调用失败的回调函数 */ + fail?: Join1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 通话类型 + * + * 可选值: + * - 'voice': 语音通话; + * - 'video': 视频通话; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: Join1v1ChatSuccessCallback + } + interface JoinVoIPChatOption { + /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */ + groupId: string + /** 验证所需的随机字符串 */ + nonceStr: string + /** 签名,用于验证小游戏的身份 */ + signature: string + /** 验证所需的时间戳 */ + timeStamp: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: JoinVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: JoinVoIPChatFailCallback + /** 静音设置 */ + muteConfig?: MuteConfig + /** 房间类型 + * + * 可选值: + * - 'voice': 音频房间,用于语音通话; + * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: JoinVoIPChatSuccessCallback + } + interface JoinVoIPChatSuccessCallbackResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 在此通话中的成员 openId 名单 */ + openIdList: string[] + } + interface KVArray { + /** key 本地缓存中指定的 key */ + key: string + /** data 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + value: any + } + /** 启动参数 */ + interface LaunchOptionsApp { + /** 需要基础库: `2.20.0` + * + * API 类别 + * + * 可选值: + * - 'default': 默认类别; + * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序; + * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序; + * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */ + apiCategory: + | 'default' + | 'nativeFunctionalized' + | 'browseOnly' + | 'embedded' + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + forwardMaterials: ForwardMaterials[] + /** 启动小程序的路径 (代码包路径) */ + path: string + /** 启动小程序的 query 参数 */ + query: IAnyObject + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + referrerInfo: ReferrerInfo + /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */ + scene: number + /** 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 + * + * 可选值: + * - 1: 微信联系人单聊; + * - 2: 企业微信联系人单聊; + * - 3: 普通微信群聊; + * - 4: 企业微信互通群聊; */ + chatType?: 1 | 2 | 3 | 4 + /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket?: string + } + interface LivePlayerContextRequestFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestFullScreenCompleteCallback + /** 设置全屏时的方向 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + /** 接口调用失败的回调函数 */ + fail?: RequestFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestFullScreenSuccessCallback + } + interface LivePlayerContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePlayerContextSnapshotSuccessCallback + } + interface LivePlayerContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 (本地路径) */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePusherContextSnapshotSuccessCallback + } + interface LivePusherContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + } + interface LoadFontFaceCompleteCallbackResult { + /** 加载字体结果 */ + status: string + } + interface LoadFontFaceOption { + /** 定义的字体名称 */ + family: string + /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */ + source: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoadFontFaceCompleteCallback + /** 可选的字体描述符 */ + desc?: DescOption + /** 接口调用失败的回调函数 */ + fail?: LoadFontFaceFailCallback + /** 需要基础库: `2.10.0` + * + * 是否全局生效 */ + global?: boolean + /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */ + scopes?: any[] + /** 接口调用成功的回调函数 */ + success?: LoadFontFaceSuccessCallback + } + interface LocalInfo { + /** 接收消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + } + interface LoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: LoginFailCallback + /** 接口调用成功的回调函数 */ + success?: LoginSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位ms */ + timeout?: number + } + interface LoginSuccessCallbackResult { + /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [auth.code2Session](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html),使用 code 换取 openid、unionid、session_key 等信息 */ + code: string + errMsg: string + } + interface MakeBluetoothPairOption { + /** 蓝牙设备 id */ + deviceId: string + /** pin 码,Base64 格式。 */ + pin: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakeBluetoothPairCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakeBluetoothPairFailCallback + /** 接口调用成功的回调函数 */ + success?: MakeBluetoothPairSuccessCallback + /** 超时时间,单位 ms */ + timeout?: number + } + interface MakePhoneCallOption { + /** 需要拨打的电话号码 */ + phoneNumber: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakePhoneCallCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakePhoneCallFailCallback + /** 接口调用成功的回调函数 */ + success?: MakePhoneCallSuccessCallback + } + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + interface ManufacturerData { + /** 制造商ID,0x 开头的十六进制 */ + manufacturerId: string + /** 制造商信息 */ + manufacturerSpecificData?: ArrayBuffer + } + /** 图片覆盖的经纬度范围 */ + interface MapBounds { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + } + interface MapPostion { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + interface Margins { + /** 节点布局区域的下边界 */ + bottom?: number + /** 节点布局区域的左边界 */ + left?: number + /** 节点布局区域的右边界 */ + right?: number + /** 节点布局区域的上边界 */ + top?: number + } + /** 匹配到的缓存 */ + interface MatchCache { + /** 缓存 id */ + cacheId: string + /** 缓存创建时间 */ + createTime: number + /** 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 */ + data: any + /** 缓存有效时间 */ + maxAge: number + /** 命中的规则 id */ + ruleId: string + } + /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */ + interface MediaAudioPlayer { + /** 音量。范围 0~1。默认为 1 */ + volume: number + } + /** 本地临时文件列表 */ + interface MediaFile { + /** 视频的时间长度 */ + duration: number + /** 文件类型 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + fileType: 'image' | 'video' + /** 视频的高度 */ + height: number + /** 本地临时文件大小,单位 B */ + size: number + /** 本地临时文件路径 (本地路径) */ + tempFilePath: string + /** 视频缩略图临时文件路径 */ + thumbTempFilePath: string + /** 视频的宽度 */ + width: number + } + interface MediaQueryObserverObserveCallbackResult { + /** 页面的当前状态是否满足所指定的 media query */ + matches: boolean + } + /** 需要预览的资源列表 */ + interface MediaSource { + /** 图片或视频的地址 */ + url: string + /** 视频的封面图片 */ + poster?: string + /** 资源的类型,默认为图片 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + type?: 'image' | 'video' + } + /** 需要基础库: `2.9.0` + * + * 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。 + * + * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作 */ + interface MediaTrack { + /** 轨道长度,只读 */ + duration: number + /** 轨道类型,只读 + * + * 可选值: + * - 'audio': 音频轨道; + * - 'video': 视频轨道; */ + kind: 'audio' | 'video' + /** 音量,音频轨道下有效,可写 */ + volume: number + } + /** 小程序帐号信息 */ + interface MiniProgram { + /** 小程序 appId */ + appId: string + /** 需要基础库: `2.10.0` + * + * 小程序版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion: 'develop' | 'trial' | 'release' + /** 需要基础库: `2.10.2` + * + * 线上小程序版本号 */ + version: string + } + interface MkdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 上级目录不存在(该错误仅在 recursive = false 时生效); + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail file already exists ${dirPath}': 有同名文件或目录(该错误仅在 recursive = false 时生效); + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface MkdirOption { + /** 创建的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MkdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MkdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: MkdirSuccessCallback + } + interface MoveAlongOption { + /** 平滑移动的时间 */ + duration: number + /** 指定 marker */ + markerId: number + /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */ + path: any[] + /** 根据路径方向自动改变 marker 的旋转角度 */ + autoRotate?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveAlongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveAlongFailCallback + /** 接口调用成功的回调函数 */ + success?: MoveAlongSuccessCallback + } + interface MoveToLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveToLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveToLocationFailCallback + /** 需要基础库: `2.8.0` + * + * 纬度 */ + latitude?: number + /** 需要基础库: `2.8.0` + * + * 经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: MoveToLocationSuccessCallback + } + /** 静音设置 */ + interface MuteConfig { + /** 是否静音耳机 */ + muteEarphone?: boolean + /** 是否静音麦克风 */ + muteMicrophone?: boolean + } + interface MuteOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MuteCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MuteFailCallback + /** 接口调用成功的回调函数 */ + success?: MuteSuccessCallback + } + /** 需要基础库: `2.11.2` */ + interface NFCAdapter { + /** 标签类型枚举 */ + tech: TechType + } + interface NavigateBackMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackMiniProgramCompleteCallback + /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateBackMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackMiniProgramSuccessCallback + } + interface NavigateBackOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackCompleteCallback + /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */ + delta?: number + /** 接口调用失败的回调函数 */ + fail?: NavigateBackFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackSuccessCallback + } + interface NavigateToMiniProgramOption { + /** 要打开的小程序 appId */ + appId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 需要基础库: `2.18.1` + * + * 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: NavigateToMiniProgramSuccessCallback + } + interface NavigateToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToCompleteCallback + /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */ + events?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateToSuccessCallback + } + interface NavigateToSuccessCallbackResult { + /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html) + * + * 和被打开页面进行通信 */ + eventChannel: EventChannel + errMsg: string + } + interface NdefCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NdefCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NdefCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: NdefCloseSuccessCallback + } + interface NdefConnectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectFailCallback + /** 接口调用成功的回调函数 */ + success?: ConnectSuccessCallback + } + interface NodeCallbackResult { + /** 节点对应的 Node 实例 */ + node: IAnyObject + } + interface NotifyBLECharacteristicValueChangeOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 是否启用 notify */ + state: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NotifyBLECharacteristicValueChangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NotifyBLECharacteristicValueChangeFailCallback + /** 接口调用成功的回调函数 */ + success?: NotifyBLECharacteristicValueChangeSuccessCallback + /** 需要基础库: `2.4.0` + * + * 设置特征订阅类型,有效值有 `notification` 和 `indication` */ + type?: string + } + /** media query 描述符 */ + interface ObserveDescriptor { + /** 页面高度( px 为单位) */ + height: number + /** 页面最大高度( px 为单位) */ + maxHeight: number + /** 页面最大宽度( px 为单位) */ + maxWidth: number + /** 页面最小高度( px 为单位) */ + minHeight: number + /** 页面最小宽度( px 为单位) */ + minWidth: number + /** 屏幕方向( `landscape` 或 `portrait` ) */ + orientation: string + /** 页面宽度( px 为单位) */ + width: number + } + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + interface ObserveOption { + /** 指标类型列表。不能和 type 同时使用。 */ + entryTypes?: string[] + /** 指标类型。不能和 entryTypes 同时使用 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + type?: 'navigation' | 'render' | 'script' + } + /** 需要基础库: `2.7.0` + * + * 离屏 canvas 实例,可通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建。 */ + interface OffscreenCanvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + interface OnAccelerometerChangeListenerResult { + /** X 轴 */ + x: number + /** Y 轴 */ + y: number + /** Z 轴 */ + z: number + } + interface OnBLECharacteristicValueChangeListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 特征最新的值 */ + value: ArrayBuffer + } + interface OnBLEConnectionStateChangeListenerResult { + /** 是否处于已连接状态 */ + connected: boolean + /** 蓝牙设备 id */ + deviceId: string + } + interface OnBLEMTUChangeListenerResult { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元 */ + mtu: number + } + interface OnBLEPeripheralConnectionStateChangedListenerResult { + /** 连接目前状态 */ + connected: boolean + /** 连接状态变化的设备 id */ + deviceId: string + /** server 的 UUID */ + serverId: string + } + interface OnBackgroundFetchDataListenerResult { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳 */ + timeStamp: number + } + interface OnBeaconServiceChangeListenerResult { + /** 服务目前是否可用 */ + available: boolean + /** 目前是否处于搜索状态 */ + discovering: boolean + } + interface OnBeaconUpdateListenerResult { + /** 当前搜寻到的所有 Beacon 设备列表 */ + beacons: BeaconInfo[] + } + interface OnBluetoothAdapterStateChangeListenerResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 蓝牙适配器是否处于搜索状态 */ + discovering: boolean + } + interface OnBluetoothDeviceFoundListenerResult { + /** 新搜索到的设备列表 */ + devices: BlueToothDevice[] + } + interface OnCameraFrameCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: ArrayBuffer + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + } + interface OnCharacteristicReadRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicSubscribedListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicWriteRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 请求写入特征的二进制数据值 */ + value: ArrayBuffer + } + interface OnCheckForUpdateListenerResult { + /** 是否有新版本 */ + hasUpdate: boolean + } + interface OnChunkReceivedListenerResult { + /** 开发者服务器每次返回新chunk时的Response */ + res: Result + } + interface OnCompassChangeListenerResult { + /** 需要基础库: `2.4.0` + * + * 精度 */ + accuracy: number | string + /** 面对的方向度数 */ + direction: number + } + interface OnCopyUrlListenerResult { + /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */ + query: string + } + interface OnDeviceMotionChangeListenerResult { + /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */ + alpha: number + /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */ + beta: number + /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */ + gamma: number + } + interface OnDiscoveredListenerResult { + /** NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */ + messages: any[] + /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */ + techs: any[] + } + interface OnFrameRecordedListenerResult { + /** 录音分片数据 */ + frameBuffer: ArrayBuffer + /** 当前帧是否正常录音结束前的最后一帧 */ + isLastFrame: boolean + } + interface OnGetWifiListListenerResult { + /** Wi-Fi 列表数据 */ + wifiList: WifiInfo[] + } + interface OnGyroscopeChangeListenerResult { + /** x 轴的角速度 */ + x: number + /** y 轴的角速度 */ + y: number + /** z 轴的角速度 */ + z: number + } + interface OnHCEMessageListenerResult { + /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */ + data: ArrayBuffer + /** 消息类型 + * + * 可选值: + * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令; + * - 2: 设备离场事件类型; */ + messageType: 1 | 2 + /** `messageType=2` 时,原因 */ + reason: number + } + interface OnHeadersReceivedListenerResult { + /** 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + } + interface OnKeyboardHeightChangeListenerResult { + /** 键盘高度 */ + height: number + } + interface OnLazyLoadErrorListenerResult { + /** 详细信息 */ + errMsg: string + /** 异步组件所属的分包 */ + subpackage: any[] + /** 'subpackage' 失败类型 */ + type: string + } + interface OnLocalServiceFoundListenerResult { + /** 服务的 ip 地址 */ + ip: string + /** 服务的端口 */ + port: number + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocalServiceLostListenerResult { + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocationChangeErrorListenerResult { + /** 错误码 */ + errCode: number + } + interface OnLocationChangeListenerResult { + /** 位置的精确度 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + } + interface OnMemoryWarningListenerResult { + /** 内存告警等级,只有 Android 才有,对应系统宏定义 + * + * 可选值: + * - 5: TRIM_MEMORY_RUNNING_MODERATE; + * - 10: TRIM_MEMORY_RUNNING_LOW; + * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */ + level: 5 | 10 | 15 + } + interface OnNetworkStatusChangeListenerResult { + /** 当前是否有网络连接 */ + isConnected: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + } + interface OnNetworkWeakChangeListenerResult { + /** 当前网络类型 */ + networkType: string + /** 当前是否处于弱网状态 */ + weakNet: boolean + } + interface OnOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + profile: SocketProfile + } + interface OnPageNotFoundListenerResult { + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + /** 不存在页面的路径 (代码包路径) */ + path: string + /** 打开不存在页面的 query 参数 */ + query: IAnyObject + } + interface OnScreenRecordingStateChangedListenerResult { + /** 录屏状态 + * + * 可选值: + * - 'start': 开始录屏; + * - 'stop': 结束录屏; */ + state: 'start' | 'stop' + } + interface OnSocketOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + } + interface OnStopListenerResult { + /** 录音总时长,单位:ms */ + duration: number + /** 录音文件大小,单位:Byte */ + fileSize: number + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + } + interface OnThemeChangeListenerResult { + /** 系统当前的主题,取值为`light`或`dark` + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme: 'dark' | 'light' + } + interface OnUnhandledRejectionListenerResult { + /** 被拒绝的 Promise 对象 */ + promise: Promise + /** 拒绝原因,一般是一个 Error 对象 */ + reason: string + } + interface OnVoIPChatInterruptedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + } + interface OnVoIPChatMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatSpeakersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatStateChangedListenerResult { + /** 事件码 */ + code: number + /** 附加信息 */ + data: IAnyObject + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + } + interface OnVoIPVideoMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 开启视频的成员名单 */ + openIdList: string[] + } + interface OnWifiConnectedListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + } + interface OnWifiConnectedWithPartialInfoListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * 只包含 SSID 属性的 WifiInfo 对象 */ + wifi: WifiInfo + } + interface OnWindowResizeListenerResult { + size: Size + } + interface OpenAppAuthorizeSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenAppAuthorizeSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenAppAuthorizeSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenAppAuthorizeSettingSuccessCallback + } + interface OpenBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenBluetoothAdapterFailCallback + /** 需要基础库: `2.10.0` + * + * 蓝牙模式,可作为主/从设备,仅 iOS 需要。 + * + * 可选值: + * - 'central': 主机模式; + * - 'peripheral': 从机(外围设备)模式; */ + mode?: 'central' | 'peripheral' + /** 接口调用成功的回调函数 */ + success?: OpenBluetoothAdapterSuccessCallback + } + interface OpenCardOption { + /** 需要打开的卡券列表 */ + cardList: OpenCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCardFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenCardSuccessCallback + } + /** 需要打开的卡券列表 */ + interface OpenCardRequestInfo { + /** 卡券 ID */ + cardId: string + /** 由 [wx.addCard](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) 的返回对象中的加密 code 通过解密后得到,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + } + interface OpenChannelsActivityOption { + /** 视频 feedId */ + feedId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsActivityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsActivityFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsActivitySuccessCallback + } + interface OpenChannelsEventOption { + /** 活动 id */ + eventId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsEventCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsEventFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsEventSuccessCallback + } + interface OpenChannelsLiveOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsLiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsLiveFailCallback + /** 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + feedId?: string + /** 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + nonceId?: string + /** 接口调用成功的回调函数 */ + success?: OpenChannelsLiveSuccessCallback + } + interface OpenChannelsUserProfileOption { + /** 视频号 id */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsUserProfileFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsUserProfileSuccessCallback + } + interface OpenCustomerServiceChatOption { + /** 企业ID */ + corpId: string + /** 客服信息 */ + extInfo: ExtInfoOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCustomerServiceChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCustomerServiceChatFailCallback + /** 气泡消息图片 */ + sendMessageImg?: string + /** 气泡消息小程序路径 */ + sendMessagePath?: string + /** 气泡消息标题 */ + sendMessageTitle?: string + /** 是否发送小程序气泡消息 */ + showMessageCard?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenCustomerServiceChatSuccessCallback + } + interface OpenDocumentOption { + /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenDocumentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenDocumentFailCallback + /** 需要基础库: `1.4.0` + * + * 文件类型,指定文件类型打开文件 + * + * 可选值: + * - 'doc': doc 格式; + * - 'docx': docx 格式; + * - 'xls': xls 格式; + * - 'xlsx': xlsx 格式; + * - 'ppt': ppt 格式; + * - 'pptx': pptx 格式; + * - 'pdf': pdf 格式; */ + fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf' + /** 需要基础库: `2.11.0` + * + * 是否显示右上角菜单 */ + showMenu?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenDocumentSuccessCallback + } + interface OpenEmbeddedMiniProgramOption { + /** 要打开的小程序 appId */ + appId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenEmbeddedMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: OpenEmbeddedMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: OpenEmbeddedMiniProgramSuccessCallback + /** 需要基础库: `2.24.3` + * + * 校验方式。 + * + * 可选值: + * - 'binding': 校验小程序管理后台的绑定关系。; + * - 'unionProduct': 校验目标打开链接是否为[小程序联盟](https://developers.weixin.qq.com/doc/ministore/union/brief-introduction.html)商品。; */ + verify?: 'binding' | 'unionProduct' + } + interface OpenFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory "${filePath}"': 上级目录不存在; */ + errMsg: string + } + interface OpenLocationOption { + /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 地址的详细说明 */ + address?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenLocationFailCallback + /** 位置名 */ + name?: string + /** 缩放比例,范围5~18 */ + scale?: number + /** 接口调用成功的回调函数 */ + success?: OpenLocationSuccessCallback + } + interface OpenMapAppOption { + /** 目的地名称 */ + destination: string + /** 目的地纬度 */ + latitude: number + /** 目的地经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenMapAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenMapAppFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenMapAppSuccessCallback + } + interface OpenOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenFailCallback + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + /** 接口调用成功的回调函数 */ + success?: OpenSuccessCallback + } + interface OpenSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSettingSuccessCallback + /** 需要基础库: `2.10.3` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface OpenSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.3` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + errMsg: string + } + interface OpenSuccessCallbackResult { + /** 文件描述符 */ + fd: string + errMsg: string + } + interface OpenSyncOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + } + interface OpenSystemBluetoothSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSystemBluetoothSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSystemBluetoothSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSystemBluetoothSettingSuccessCallback + } + interface OpenVideoEditorOption { + /** 视频源的路径,只支持本地路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenVideoEditorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenVideoEditorFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenVideoEditorSuccessCallback + } + interface OpenVideoEditorSuccessCallbackResult { + /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */ + duration: number + /** 剪辑后生成的视频文件大小,单位字节数(byte) */ + size: number + /** 编辑后生成的视频文件的临时路径 */ + tempFilePath: string + /** 编辑后生成的缩略图文件的临时路径 */ + tempThumbPath: string + errMsg: string + } + interface PageScrollToOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PageScrollToCompleteCallback + /** 滚动动画的时长,单位 ms */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PageScrollToFailCallback + /** 需要基础库: `2.23.1` + * + * 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px */ + offsetTop?: number + /** 滚动到页面的目标位置,单位 px */ + scrollTop?: number + /** 需要基础库: `2.7.3` + * + * 选择器 */ + selector?: string + /** 接口调用成功的回调函数 */ + success?: PageScrollToSuccessCallback + } + /** 需要基础库: `2.11.0` + * + * Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。 */ + interface Path2D {} + interface PauseBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBGMSuccessCallback + } + interface PauseBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBackgroundAudioSuccessCallback + } + interface PauseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseSuccessCallback + } + interface PauseVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseVoiceSuccessCallback + } + /** 单条性能数据。具体数据口径请参考[性能数据文档]((performance/perf_data##_1-4-%E9%80%9A%E8%BF%87-wx-getPerformance-%E5%9C%A8%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%86%85%E8%8E%B7%E5%8F%96)) */ + interface PerformanceEntry { + /** 需要基础库: `2.24.0` + * + * 解析域名结束时间。仅 resourceTiming 指标有效。 */ + domainLookupEnd: number + /** 需要基础库: `2.24.0` + * + * 解析域名开始时间。仅 resourceTiming 指标有效。 */ + domainLookupStart: number + /** 耗时 ms。仅对于表示阶段的指标有效。 */ + duration: number + /** 指标类型 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + entryType: 'navigation' | 'render' | 'script' + /** 需要基础库: `2.21.2` + * + * 注入文件列表。仅 evaluateScript 指标有效。 */ + fileList: string[] + /** 需要基础库: `2.21.2` + * + * 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 */ + initDataRecvTime: number + /** 需要基础库: `2.21.2` + * + * 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 */ + initDataSendTime: number + /** 需要基础库: `2.24.0` + * + * 初始化性能条目的资源类型。仅 resourceTiming 指标有效。 + * + * 可选值: + * - 'audio': 音频; + * - 'cover-image': cover-image 组件的图片; + * - 'image': 组件的图片; + * - 'open-data': 组件的图片; */ + initiatorType: 'audio' | 'cover-image' | 'image' | 'open-data' + /** 分包名,主包表示为 __APP__ (2.21.2 开始)。仅 evaluateScript 指标有效。 */ + moduleName: string + /** 指标名称 + * + * 可选值: + * - 'appLaunch': 小程序启动耗时。(entryType: navigation); + * - 'route': 路由处理耗时。(entryType: navigation); + * - 'firstRender': 页面首次渲染耗时。(entryType: render); + * - 'firstPaint': 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'firstContentfulPaint': 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render); + * - 'largestContentfulPaint': 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'evaluateScript': 逻辑层 JS 代码注入耗时。(entryType: script); + * - 'downloadPackage': 代码包下载耗时。(entryType: loadPackage); + * - 'resourceTiming': 视图层资源加载耗时。(entryType: resource); */ + name: + | 'appLaunch' + | 'route' + | 'firstRender' + | 'firstPaint' + | 'firstContentfulPaint' + | 'largestContentfulPaint' + | 'evaluateScript' + | 'downloadPackage' + | 'resourceTiming' + /** 路由真正响应开始时间。仅 navigation 类型指标有效。 */ + navigationStart: number + /** 路由详细类型,与小程序路由方法对应。仅 navigation 类型指标有效。 */ + navigationType: string + /** 需要基础库: `2.24.0` + * + * 代码包名称。仅 downloadPackage 指标有效。 */ + packageName: string + /** 需要基础库: `2.24.0` + * + * 代码包大小。仅 downloadPackage 指标有效。 */ + packageSize: number + /** 需要基础库: `2.23.1` + * + * path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 */ + pageId: number + /** 页面路径。仅 render 和 navigation 类型指标有效。 */ + path: string + /** 需要基础库: `2.23.1` + * + * referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 */ + referrerPageId: number + /** 需要基础库: `2.23.1` + * + * 页面跳转来源页面路径。仅 route 指标有效。 */ + referrerPath: number + /** 开始时间,不同指标的具体含义会有差异。 */ + startTime: number + /** 需要基础库: `2.24.0` + * + * 表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持) */ + transferSize: number + /** 需要基础库: `2.24.0` + * + * 资源路径。仅 resourceTiming 指标有效。 */ + uri: string + /** 需要基础库: `2.21.2` + * + * 渲染层代码注入完成时间。仅 firstRender 指标有效。 */ + viewLayerReadyTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染结束时间。仅 firstRender 指标有效。 */ + viewLayerRenderEndTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染开始时间。仅 firstRender 指标有效。 */ + viewLayerRenderStartTime: number + } + /** 需要基础库: `2.11.0` + * + * PerformanceObserver 对象,用于监听性能相关事件 */ + interface PerformanceObserver { + /** 获取当前支持的所有性能指标类型 */ + supportedEntryTypes: any[] + } + /** 平面跟踪配置 */ + interface PlaneTrack { + /** 平面跟踪配置模式 + * + * 可选值: + * - 1: 检测横向平面; + * - 2: 检测纵向平面,只有 v2 版本支持; + * - 3: 检测横向和纵向平面,只有 v2 版本支持; */ + mode: 1 | 2 | 3 + } + interface PlayBGMOption { + /** 加入背景混音的资源地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBGMSuccessCallback + } + interface PlayBackgroundAudioOption { + /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */ + dataUrl: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBackgroundAudioCompleteCallback + /** 封面URL */ + coverImgUrl?: string + /** 接口调用失败的回调函数 */ + fail?: PlayBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBackgroundAudioSuccessCallback + /** 音乐标题 */ + title?: string + } + interface PlayOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayFailCallback + /** 接口调用成功的回调函数 */ + success?: PlaySuccessCallback + } + interface PlayVoiceOption { + /** 需要播放的语音文件的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayVoiceCompleteCallback + /** 需要基础库: `1.6.0` + * + * 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PlayVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayVoiceSuccessCallback + } + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + interface Plugin { + /** 插件 appId */ + appId: string + /** 插件版本号 */ + version: string + } + interface PluginLoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PluginLoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PluginLoginFailCallback + /** 接口调用成功的回调函数 */ + success?: PluginLoginSuccessCallback + } + interface PluginLoginSuccessCallbackResult { + /** 用于换取 openpid 的凭证(有效期五分钟)。插件开发者可以用此 code 在开发者服务器后台调用 [auth.getPluginOpenPId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.getPluginOpenPId.html) 换取 openpid。 */ + code: string + errMsg: string + } + interface PreloadAssetsOption { + data: Asset[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadAssetsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadAssetsFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadAssetsSuccessCallback + } + interface PreloadSkylineViewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadSkylineViewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadSkylineViewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadSkylineViewSuccessCallback + } + interface PreloadWebviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadWebviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadWebviewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadWebviewSuccessCallback + } + interface PreviewImageOption { + /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */ + urls: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewImageCompleteCallback + /** 当前显示图片的链接 */ + current?: string + /** 接口调用失败的回调函数 */ + fail?: PreviewImageFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewImageSuccessCallback + } + interface PreviewMediaOption { + /** 需要预览的资源列表 */ + sources: MediaSource[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewMediaCompleteCallback + /** 当前显示的资源序号 */ + current?: number + /** 接口调用失败的回调函数 */ + fail?: PreviewMediaFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewMediaSuccessCallback + } + /** 推广员 */ + interface PromoterResult { + /** 推广员昵称 */ + finderNickname: string + /** 推广员 id */ + promoterId: string + /** 推广员 openid */ + promoterOpenId: string + } + interface ReLaunchOption { + /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReLaunchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReLaunchFailCallback + /** 接口调用成功的回调函数 */ + success?: ReLaunchSuccessCallback + } + interface ReadBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadBLECharacteristicValueSuccessCallback + } + interface ReadCompressedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail decompress fail': 指定的 compressionAlgorithm 与文件实际压缩格式不符; + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; */ + errMsg: string + } + interface ReadCompressedFileOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompressedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadCompressedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadCompressedFileSuccessCallback + } + interface ReadCompressedFileSuccessCallbackResult { + /** 文件内容 */ + data: ArrayBuffer + errMsg: string + } + interface ReadCompressedFileSyncOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + } + interface ReadFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; + * - 'fail the value of "offset" is out of range': 传入的 offset 不合法; + * - 'fail the value of "length" is out of range': 传入的 length 不合法; + * - 'fail sdcard not mounted': android sdcard 挂载失败; + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface ReadFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; + * - 'native buffer exceed size limit': 文件大小超出上限(100M); */ + errMsg: string + } + interface ReadFileOption { + /** 要读取的文件的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadFileCompleteCallback + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadFileFailCallback + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadFileSuccessCallback + } + interface ReadFileSuccessCallbackResult { + /** 文件内容 */ + data: string | ArrayBuffer + errMsg: string + } + interface ReadOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadFailCallback + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadSuccessCallback + } + /** 文件读取结果。 通过 [FileSystemManager.readSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) 接口返回 */ + interface ReadResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + } + interface ReadSuccessCallbackResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + errMsg: string + } + interface ReadSyncOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + } + interface ReadZipEntryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReadZipEntryOption { + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + entries: EntryItem[] | 'all' + /** 要读取的压缩包的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadZipEntryCompleteCallback + /** 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadZipEntryFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadZipEntrySuccessCallback + } + interface ReadZipEntrySuccessCallbackResult { + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + entries: EntriesResult + errMsg: string + } + interface ReaddirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail not a directory ${dirPath}': dirPath 不是目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReaddirOption { + /** 要读取的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReaddirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReaddirFailCallback + /** 接口调用成功的回调函数 */ + success?: ReaddirSuccessCallback + } + interface ReaddirSuccessCallbackResult { + /** 指定目录下的文件名数组。 */ + files: string[] + errMsg: string + } + interface RecorderManagerStartOption { + /** 需要基础库: `2.1.0` + * + * 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源 + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 有线耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSource?: + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + /** 录音的时长,单位 ms,最大值 600000(10 分钟) */ + duration?: number + /** 编码码率,有效值见下表格 */ + encodeBitRate?: number + /** 音频格式 + * + * 可选值: + * - 'mp3': mp3 格式; + * - 'aac': aac 格式; + * - 'wav': wav 格式; + * - 'PCM': pcm 格式; */ + format?: 'mp3' | 'aac' | 'wav' | 'PCM' + /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 */ + frameSize?: number + /** 录音通道数 + * + * 可选值: + * - 1: 1 个通道; + * - 2: 2 个通道; */ + numberOfChannels?: 1 | 2 + /** 采样率(pc不支持) + * + * 可选值: + * - 8000: 8000 采样率; + * - 11025: 11025 采样率; + * - 12000: 12000 采样率; + * - 16000: 16000 采样率; + * - 22050: 22050 采样率; + * - 24000: 24000 采样率; + * - 32000: 32000 采样率; + * - 44100: 44100 采样率; + * - 48000: 48000 采样率; */ + sampleRate?: + | 8000 + | 11025 + | 12000 + | 16000 + | 22050 + | 24000 + | 32000 + | 44100 + | 48000 + } + interface RedirectToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedirectToCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedirectToFailCallback + /** 接口调用成功的回调函数 */ + success?: RedirectToSuccessCallback + } + interface RedoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedoFailCallback + /** 接口调用成功的回调函数 */ + success?: RedoSuccessCallback + } + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + interface ReferrerInfo { + /** 来源小程序、公众号或 App 的 appId */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData: IAnyObject + } + /** 参照区域的边界 */ + interface RelativeRectResult { + /** 下边界 */ + bottom: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + } + /** 发送端地址信息 */ + interface RemoteInfo { + /** 发送消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + /** message 的大小,单位:字节 */ + size: number + } + interface RemoveArcOption { + /** 圆弧 id */ + id: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveArcFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveArcSuccessCallback + } + interface RemoveCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveCustomLayerSuccessCallback + } + interface RemoveFormatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveFormatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveFormatFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveFormatSuccessCallback + } + interface RemoveGroundOverlayOption { + /** 图片图层 id */ + id: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveGroundOverlayFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveGroundOverlaySuccessCallback + } + interface RemoveMarkersOption { + /** marker 的 id 集合。 */ + markerIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveMarkersSuccessCallback + } + interface RemoveSavedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 tempFilePath 找不到文件; */ + errMsg: string + } + interface RemoveServiceOption { + /** service 的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveServiceSuccessCallback + } + interface RemoveStorageOption { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveStorageSuccessCallback + } + interface RemoveTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveTabBarBadgeSuccessCallback + } + interface RemoveVisualLayerOption { + /** 可视化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveVisualLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveVisualLayerSuccessCallback + } + interface RenameFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, rename ${oldPath} -> ${newPath}': 指定源文件或目标文件没有写权限; + * - 'fail no such file or directory, rename ${oldPath} -> ${newPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface RenameOption { + /** 新文件路径,支持本地路径 */ + newPath: string + /** 源文件路径,支持本地路径 */ + oldPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RenameCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RenameFailCallback + /** 接口调用成功的回调函数 */ + success?: RenameSuccessCallback + } + /** Canvas 绘图上下文。 + * + * **** + * + * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。 + * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。 + * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象 + * + * **示例代码** + * + * video 画到 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */ + interface RenderingContext {} + interface RequestOption< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 开发者服务器接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestCompleteCallback + /** 请求的参数 */ + data?: string | IAnyObject | ArrayBuffer + /** 返回的数据格式 + * + * 可选值: + * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse; + * - '其他': 不对返回的内容进行 JSON.parse; */ + dataType?: 'json' | '其他' + /** 需要基础库: `2.10.4` + * + * 开启 cache */ + enableCache?: boolean + /** 需要基础库: `2.20.2` + * + * 开启 transfer-encoding chunked。 */ + enableChunked?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 http2 */ + enableHttp2?: boolean + /** 需要基础库: `2.19.1` + * + * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + enableHttpDNS?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 quic */ + enableQuic?: boolean + /** 接口调用失败的回调函数 */ + fail?: RequestFailCallback + /** 需要基础库: `2.21.0` + * + * wifi下使用移动网络发送请求 */ + forceCellularNetwork?: boolean + /** 设置请求的 header,header 中不能设置 Referer。 + * + * `content-type` 默认为 `application/json` */ + header?: IAnyObject + /** 需要基础库: `2.19.1` + * + * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + httpDNSServiceId?: string + /** HTTP 请求方法 + * + * 可选值: + * - 'OPTIONS': HTTP 请求 OPTIONS; + * - 'GET': HTTP 请求 GET; + * - 'HEAD': HTTP 请求 HEAD; + * - 'POST': HTTP 请求 POST; + * - 'PUT': HTTP 请求 PUT; + * - 'DELETE': HTTP 请求 DELETE; + * - 'TRACE': HTTP 请求 TRACE; + * - 'CONNECT': HTTP 请求 CONNECT; */ + method?: + | 'OPTIONS' + | 'GET' + | 'HEAD' + | 'POST' + | 'PUT' + | 'DELETE' + | 'TRACE' + | 'CONNECT' + /** 需要基础库: `1.7.0` + * + * 响应的数据类型 + * + * 可选值: + * - 'text': 响应的数据为文本; + * - 'arraybuffer': 响应的数据为 ArrayBuffer; */ + responseType?: 'text' | 'arraybuffer' + /** 接口调用成功的回调函数 */ + success?: RequestSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒。默认值为 60000 */ + timeout?: number + } + interface RequestOrderPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestOrderPaymentCompleteCallback + /** 外部APP用户ID */ + extUserUin?: string + /** 接口调用失败的回调函数 */ + fail?: RequestOrderPaymentFailCallback + /** 订单信息,仅在需要校验的场景下需要传递,具体见[接口说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/requestOrderPayment) */ + orderInfo?: IAnyObject + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestOrderPaymentSuccessCallback + } + interface RequestPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPaymentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPaymentFailCallback + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestPaymentSuccessCallback + } + interface RequestPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPictureInPictureSuccessCallback + } + interface RequestPluginPaymentOption { + /** 需要显示在页面中的金额,单位为分 */ + fee: number + /** 任意数据,传递给功能页中的响应函数 */ + paymentArgs: IAnyObject + /** 插件版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + version: 'develop' | 'trial' | 'release' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPluginPaymentCompleteCallback + /** 需要显示在页面中的货币符号的代码 */ + currencyType?: string + /** 接口调用失败的回调函数 */ + fail?: RequestPluginPaymentFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPluginPaymentSuccessCallback + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + interface RequestProfile { + /** SSL建立完成的时间,如果不是安全连接,则值为 0 */ + SSLconnectionEnd: number + /** SSL建立连接的时间,如果不是安全连接,则值为 0 */ + SSLconnectionStart: number + /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 评估当前网络下载的kbps */ + downstreamThroughputKbpsEstimate: number + /** 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 */ + estimate_nettype: number + /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */ + httpRttEstimate: number + /** 当前请求的IP */ + peerIP: string + /** 当前请求的端口 */ + port: number + /** 使用协议类型,有效值:http1.1, h2, quic, unknown */ + protocol: string + /** 收到字节数 */ + receivedBytedCount: number + /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */ + redirectEnd: number + /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */ + redirectStart: number + /** HTTP请求读取真实文档结束的时间 */ + requestEnd: number + /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */ + requestStart: number + /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */ + responseEnd: number + /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */ + responseStart: number + /** 当次请求连接过程中实时 rtt */ + rtt: number + /** 发送的字节数 */ + sendBytesCount: number + /** 是否复用连接 */ + socketReused: boolean + /** 当前网络的实际下载kbps */ + throughputKbps: number + /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */ + transportRttEstimate: number + } + interface RequestSubscribeDeviceMessageFailCallbackResult { + /** 接口调用失败错误码,有可能为空 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeDeviceMessageOption { + /** 设备型号 id 。通过微信公众平台注册设备获得。 */ + modelId: string + /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */ + sn: string + /** 设备票据,5分钟内有效。 */ + snTicket: string + /** 需要订阅的消息模板的 id 的集合,一次调用最多可订阅3条消息 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeDeviceMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeDeviceMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeDeviceMessageSuccessCallback + } + interface RequestSubscribeDeviceMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'、'acceptWithAudio'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'acceptWithAudio' 表示用户接收订阅消息并开启了语音提醒,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeDeviceMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeDeviceMessage:ok' */ + errMsg: string + } + interface RequestSubscribeMessageFailCallbackResult { + /** 接口调用失败错误码 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeMessageOption { + /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeMessageSuccessCallback + } + interface RequestSubscribeMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */ + errMsg: string + } + interface RequestSuccessCallbackResult< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 需要基础库: `2.10.0` + * + * 开发者服务器返回的 cookies,格式为字符串数组 */ + cookies: string[] + /** 开发者服务器返回的数据 */ + data: T + /** 需要基础库: `1.2.0` + * + * 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface ReserveChannelsLiveOption { + /** 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 */ + noticeId: string + } + /** 开发者服务器每次返回新chunk时的Response */ + interface Result { + /** 返回的chunk buffer */ + data: ArrayBuffer + } + interface ResumeBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeBGMSuccessCallback + } + interface ResumeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeSuccessCallback + } + interface RewardedVideoAdOnCloseListenerResult { + /** 需要基础库: `2.1.0` + * + * 视频是否是在用户完整观看的情况下被关闭的 */ + isEnded: boolean + } + interface RewardedVideoAdOnErrorListenerResult { + /** 需要基础库: `2.2.2` + * + * 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface RmdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail directory not empty': 目录不为空; + * - 'fail permission denied, open ${dirPath}': 指定的 dirPath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface RmdirOption { + /** 要删除的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RmdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RmdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: RmdirSuccessCallback + } + interface SafeArea { + /** 安全区域右下角纵坐标 */ + bottom: number + /** 安全区域的高度,单位逻辑像素 */ + height: number + /** 安全区域左上角横坐标 */ + left: number + /** 安全区域右下角横坐标 */ + right: number + /** 安全区域左上角纵坐标 */ + top: number + /** 安全区域的宽度,单位逻辑像素 */ + width: number + } + interface SaveFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail tempFilePath file not exist': 指定的 tempFilePath 找不到文件; + * - 'fail permission denied, open "${filePath}"': 指定的 filePath 路径没有写权限; + * - 'fail no such file or directory "${dirPath}"': 上级目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface SaveFileSuccessCallbackResult { + /** 存储后的文件路径 (本地路径) */ + savedFilePath: string + errMsg: string + } + interface SaveFileToDiskOption { + /** 待保存文件路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileToDiskCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveFileToDiskFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileToDiskSuccessCallback + } + interface SaveImageToPhotosAlbumOption { + /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveImageToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveImageToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveImageToPhotosAlbumSuccessCallback + } + interface SaveVideoToPhotosAlbumOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveVideoToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveVideoToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveVideoToPhotosAlbumSuccessCallback + } + interface ScanCodeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ScanCodeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ScanCodeFailCallback + /** 需要基础库: `1.2.0` + * + * 是否只能从相机扫码,不允许从相册选择图片 */ + onlyFromCamera?: boolean + /** 需要基础库: `1.7.0` + * + * 扫码类型 + * + * 可选值: + * - 'barCode': 一维码; + * - 'qrCode': 二维码; + * - 'datamatrix': Data Matrix 码; + * - 'pdf417': PDF417 条码; */ + scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'> + /** 接口调用成功的回调函数 */ + success?: ScanCodeSuccessCallback + } + interface ScanCodeSuccessCallbackResult { + /** 所扫码的字符集 */ + charSet: string + /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */ + path: string + /** 原始数据,base64编码 */ + rawData: string + /** 所扫码的内容 */ + result: string + /** 所扫码的类型 + * + * 可选值: + * - 'QR_CODE': 二维码; + * - 'AZTEC': 一维码; + * - 'CODABAR': 一维码; + * - 'CODE_39': 一维码; + * - 'CODE_93': 一维码; + * - 'CODE_128': 一维码; + * - 'DATA_MATRIX': 二维码; + * - 'EAN_8': 一维码; + * - 'EAN_13': 一维码; + * - 'ITF': 一维码; + * - 'MAXICODE': 一维码; + * - 'PDF_417': 二维码; + * - 'RSS_14': 一维码; + * - 'RSS_EXPANDED': 一维码; + * - 'UPC_A': 一维码; + * - 'UPC_E': 一维码; + * - 'UPC_EAN_EXTENSION': 一维码; + * - 'WX_CODE': 二维码; + * - 'CODE_25': 一维码; */ + scanType: + | 'QR_CODE' + | 'AZTEC' + | 'CODABAR' + | 'CODE_39' + | 'CODE_93' + | 'CODE_128' + | 'DATA_MATRIX' + | 'EAN_8' + | 'EAN_13' + | 'ITF' + | 'MAXICODE' + | 'PDF_417' + | 'RSS_14' + | 'RSS_EXPANDED' + | 'UPC_A' + | 'UPC_E' + | 'UPC_EAN_EXTENSION' + | 'WX_CODE' + | 'CODE_25' + errMsg: string + } + interface ScrollOffsetCallbackResult { + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的 ID */ + id: string + /** 节点的水平滚动位置 */ + scrollLeft: number + /** 节点的竖直滚动位置 */ + scrollTop: number + } + interface ScrollToOption { + /** 是否启用滚动动画 */ + animated?: boolean + /** 滚动动画时长 */ + duration?: number + /** 左边界距离 */ + left?: number + /** 顶部距离 */ + top?: number + /** 初始速度 */ + velocity?: number + } + /** 需要基础库: `2.14.4` +* +* 增强 ScrollView 实例,可通过 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 的 [NodesRef.node](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) 方法获取。 仅在 scroll-view 组件开启 enhanced 属性后生效。 +* +* **示例代码** +* +* ```js +wx.createSelectorQuery() + .select('#scrollview') + .node() + .exec((res) => { + const scrollView = res[0].node; + scrollView.scrollEnabled = false; + }) +``` */ + interface ScrollViewContext { + /** 设置滚动边界弹性 (仅在 iOS 下生效) */ + bounces: boolean + /** 取消滚动惯性 (仅在 iOS 下生效) */ + decelerationDisabled: boolean + /** 设置滚动减速速率 */ + fastDeceleration: boolean + /** 分页滑动开关 */ + pagingEnabled: boolean + /** 滚动开关 */ + scrollEnabled: boolean + /** 设置是否显示滚动条 */ + showScrollbar: boolean + } + interface SeekBackgroundAudioOption { + /** 音乐位置,单位:秒 */ + position: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SeekBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SeekBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: SeekBackgroundAudioSuccessCallback + } + interface SendHCEMessageOption { + /** 二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendHCEMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendHCEMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendHCEMessageSuccessCallback + } + interface SendMessageOption { + /** SEI消息 */ + msg: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendMessageSuccessCallback + } + interface SendSmsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSmsCompleteCallback + /** 预填到发送短信面板的内容 */ + content?: string + /** 接口调用失败的回调函数 */ + fail?: SendSmsFailCallback + /** 预填到发送短信面板的手机号 */ + phoneNumber?: string + /** 接口调用成功的回调函数 */ + success?: SendSmsSuccessCallback + } + interface SendSocketMessageOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSocketMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendSocketMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSocketMessageSuccessCallback + } + interface SetBGMVolumeOption { + /** 音量大小,范围是 0-1 */ + volume: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBGMVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBGMVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBGMVolumeSuccessCallback + } + interface SetBLEMTUFailCallbackResult { + /** 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 */ + mtu: number + } + interface SetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes */ + mtu: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBLEMTUSuccessCallback + } + interface SetBLEMTUSuccessCallbackResult { + /** 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 */ + mtu: number + errMsg: string + } + interface SetBackgroundColorOption { + /** 窗口的背景色,必须为十六进制颜色值 */ + backgroundColor?: string + /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorBottom?: string + /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorTop?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundColorSuccessCallback + } + interface SetBackgroundFetchTokenOption { + /** 自定义的登录态 */ + token: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundFetchTokenSuccessCallback + } + interface SetBackgroundTextStyleOption { + /** 下拉背景字体、loading 图的样式。 + * + * 可选值: + * - 'dark': dark 样式; + * - 'light': light 样式; */ + textStyle: 'dark' | 'light' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundTextStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundTextStyleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundTextStyleSuccessCallback + } + interface SetBoundaryOption { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBoundaryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBoundaryFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBoundarySuccessCallback + } + interface SetCenterOffsetOption { + /** 偏移量,两位数组 */ + offset: number[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetCenterOffsetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetCenterOffsetFailCallback + /** 接口调用成功的回调函数 */ + success?: SetCenterOffsetSuccessCallback + } + interface SetClipboardDataOption { + /** 剪贴板的内容 */ + data: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: SetClipboardDataSuccessCallback + } + interface SetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetContentsCompleteCallback + /** 表示内容的delta对象 */ + delta?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: SetContentsFailCallback + /** 带标签的HTML内容 */ + html?: string + /** 接口调用成功的回调函数 */ + success?: SetContentsSuccessCallback + } + interface SetEnable1v1ChatOption { + /** 是否开启 */ + enable: boolean + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnable1v1ChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnable1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 接口调用成功的回调函数 */ + success?: SetEnable1v1ChatSuccessCallback + } + interface SetEnableDebugOption { + /** 是否打开调试 */ + enableDebug: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnableDebugCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnableDebugFailCallback + /** 接口调用成功的回调函数 */ + success?: SetEnableDebugSuccessCallback + } + interface SetInnerAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetInnerAudioOptionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetInnerAudioOptionFailCallback + /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */ + mixWithOther?: boolean + /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */ + obeyMuteSwitch?: boolean + /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */ + speakerOn?: boolean + /** 接口调用成功的回调函数 */ + success?: SetInnerAudioOptionSuccessCallback + } + interface SetKeepScreenOnOption { + /** 是否保持屏幕常亮 */ + keepScreenOn: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetKeepScreenOnCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetKeepScreenOnFailCallback + /** 接口调用成功的回调函数 */ + success?: SetKeepScreenOnSuccessCallback + } + interface SetLocMarkerIconOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetLocMarkerIconCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetLocMarkerIconFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetLocMarkerIconSuccessCallback + } + interface SetMICVolumeOption { + /** 音量大小,范围是 0.0-1.0 */ + volume: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetMICVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetMICVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetMICVolumeSuccessCallback + } + interface SetNavigationBarColorOption { + /** 背景颜色值,有效值为十六进制颜色 */ + backgroundColor: string + /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */ + frontColor: string + /** 动画效果 */ + animation?: AnimationOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarColorSuccessCallback + } + interface SetNavigationBarTitleOption { + /** 页面标题 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarTitleSuccessCallback + } + interface SetScreenBrightnessOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 */ + value: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: SetScreenBrightnessSuccessCallback + } + interface SetStorageOption { + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: SetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: SetStorageSuccessCallback + } + interface SetTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 显示的文本,超过 4 个字符则显示成 ... */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTabBarBadgeSuccessCallback + } + interface SetTabBarItemOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarItemCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarItemFailCallback + /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */ + iconPath?: string + /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */ + selectedIconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarItemSuccessCallback + /** tab 上的按钮文字 */ + text?: string + } + interface SetTabBarStyleOption { + /** tab 的背景色,HexColor */ + backgroundColor?: string + /** tabBar上边框的颜色, 仅支持 black/white */ + borderStyle?: string + /** tab 上的文字默认颜色,HexColor */ + color?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarStyleFailCallback + /** tab 上的文字选中时的颜色,HexColor */ + selectedColor?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarStyleSuccessCallback + } + interface SetTimeoutOption { + /** 设置超时时间 (ms) */ + timeout: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTimeoutCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTimeoutFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTimeoutSuccessCallback + } + interface SetTopBarTextOption { + /** 置顶栏文字 */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTopBarTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTopBarTextFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTopBarTextSuccessCallback + } + interface SetVisualEffectOnCaptureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetVisualEffectOnCaptureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetVisualEffectOnCaptureFailCallback + /** 接口调用成功的回调函数 */ + success?: SetVisualEffectOnCaptureSuccessCallback + /** 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 */ + visualEffect?: string + } + interface SetWifiListOption { + /** 提供预设的 Wi-Fi 信息列表 */ + wifiList: WifiData[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWifiListSuccessCallback + } + interface SetWindowSizeOption { + /** 窗口高度,以像素为单位 */ + height: number + /** 窗口宽度,以像素为单位 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWindowSizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWindowSizeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWindowSizeSuccessCallback + } + interface SetZoomOption { + /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */ + zoom: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetZoomCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetZoomFailCallback + /** 接口调用成功的回调函数 */ + success?: SetZoomSuccessCallback + } + interface SetZoomSuccessCallbackResult { + /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */ + zoom: number + errMsg: string + } + interface ShareFileMessageOption { + /** 要分享的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareFileMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareFileMessageFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: ShareFileMessageSuccessCallback + } + interface ShareToWeRunOption { + /** 运动数据列表 */ + recordList: WxaSportRecord[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareToWeRunCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareToWeRunFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareToWeRunSuccessCallback + } + interface ShareVideoMessageOption { + /** 要分享的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareVideoMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareVideoMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareVideoMessageSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface ShowActionSheetOption { + /** 按钮的文字数组,数组长度最大为 6 */ + itemList: string[] + /** 需要基础库: `2.14.0` + * + * 警示文案 */ + alertText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowActionSheetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowActionSheetFailCallback + /** 按钮的文字颜色 */ + itemColor?: string + /** 接口调用成功的回调函数 */ + success?: ShowActionSheetSuccessCallback + } + interface ShowActionSheetSuccessCallbackResult { + /** 用户点击的按钮序号,从上到下的顺序,从0开始 */ + tapIndex: number + errMsg: string + } + interface ShowLoadingOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowLoadingFailCallback + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowLoadingSuccessCallback + } + interface ShowModalOption { + /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + cancelColor?: string + /** 取消按钮的文字,最多 4 个字符 */ + cancelText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowModalCompleteCallback + /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + confirmColor?: string + /** 确认按钮的文字,最多 4 个字符 */ + confirmText?: string + /** 提示的内容 */ + content?: string + /** 需要基础库: `2.17.1` + * + * 是否显示输入框 */ + editable?: boolean + /** 接口调用失败的回调函数 */ + fail?: ShowModalFailCallback + /** 需要基础库: `2.17.1` + * + * 显示输入框时的提示文本 */ + placeholderText?: string + /** 是否显示取消按钮 */ + showCancel?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowModalSuccessCallback + /** 提示的标题 */ + title?: string + } + interface ShowModalSuccessCallbackResult { + /** 需要基础库: `1.1.0` + * + * 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */ + cancel: boolean + /** 为 true 时,表示用户点击了确定按钮 */ + confirm: boolean + /** editable 为 true 时,用户输入的文本 */ + content: string + errMsg: string + } + interface ShowNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowNavigationBarLoadingSuccessCallback + } + interface ShowRedPackageOption { + /** 封面地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowRedPackageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowRedPackageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowRedPackageSuccessCallback + } + interface ShowShareImageMenuOption { + /** 要分享的图片地址,必须为本地路径或临时路径 */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareImageMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareImageMenuFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowShareImageMenuSuccessCallback + } + interface ShowShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: ShowShareMenuSuccessCallback + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface ShowTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarSuccessCallback + } + interface ShowTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarRedDotSuccessCallback + } + interface ShowToastOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowToastCompleteCallback + /** 提示的延迟时间 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: ShowToastFailCallback + /** 图标 + * + * 可选值: + * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度; + * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度; + * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度; + * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */ + icon?: 'success' | 'error' | 'loading' | 'none' + /** 需要基础库: `1.1.0` + * + * 自定义图标的本地路径,image 的优先级高于 icon */ + image?: string + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowToastSuccessCallback + } + interface Size { + /** 变化后的窗口高度,单位 px */ + windowHeight: number + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + interface SocketProfile { + /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** 上层请求到返回的耗时 */ + cost: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 握手耗时 */ + handshakeCost: number + /** 单次连接的耗时,包括 connect ,tls */ + rtt: number + } + interface SocketTaskCloseOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface SocketTaskOnCloseListenerResult { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code: number + /** 一个可读的字符串,表示连接被关闭的原因。 */ + reason: string + } + interface SocketTaskOnMessageListenerResult { + /** 服务器返回的消息 */ + data: string | ArrayBuffer + } + interface SocketTaskSendOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSuccessCallback + } + interface StartAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAccelerometerFailCallback + /** 需要基础库: `2.1.0` + * + * 监听加速度数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartAccelerometerSuccessCallback + } + interface StartAdvertisingObject { + /** 广播自定义参数 */ + advertiseRequest: AdvertiseReqObj + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAdvertisingFailCallback + /** 广播功率 + * + * 可选值: + * - 'low': 功率低; + * - 'medium': 功率适中; + * - 'high': 功率高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 接口调用成功的回调函数 */ + success?: StartAdvertisingSuccessCallback + } + interface StartBeaconDiscoveryOption { + /** Beacon 设备广播的 UUID 列表 */ + uuids: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBeaconDiscoveryFailCallback + /** 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 */ + ignoreBluetoothAvailable?: boolean + /** 接口调用成功的回调函数 */ + success?: StartBeaconDiscoverySuccessCallback + } + interface StartBluetoothDevicesDiscoveryOption { + /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */ + allowDuplicatesKey?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBluetoothDevicesDiscoveryFailCallback + /** 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */ + interval?: number + /** 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */ + services?: string[] + /** 接口调用成功的回调函数 */ + success?: StartBluetoothDevicesDiscoverySuccessCallback + } + interface StartCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StartCompassSuccessCallback + } + interface StartDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDeviceMotionListeningFailCallback + /** 监听设备方向的变化回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartDeviceMotionListeningSuccessCallback + } + interface StartDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartDiscoverySuccessCallback + } + interface StartGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartGyroscopeFailCallback + /** 监听陀螺仪数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartGyroscopeSuccessCallback + } + interface StartHCEOption { + /** 需要注册到系统的 AID 列表 */ + aid_list: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StartHCESuccessCallback + } + interface StartLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'invalid param': serviceType 为空; + * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */ + errMsg: string + } + interface StartLocalServiceDiscoveryOption { + /** 要搜索的服务类型 */ + serviceType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocalServiceDiscoverySuccessCallback + } + interface StartLocationUpdateBackgroundOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateBackgroundCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateBackgroundFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateBackgroundSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPreviewSuccessCallback + } + interface StartPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPullDownRefreshSuccessCallback + } + interface StartRecordSuccessCallbackResult { + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface StartRecordTimeoutCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + } + interface StartSoterAuthenticationOption { + /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */ + challenge: string + /** 请求使用的可接受的生物认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'> + /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */ + authContent?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSoterAuthenticationSuccessCallback + } + interface StartSoterAuthenticationSuccessCallbackResult { + /** 生物认证方式 */ + authMode: string + /** 错误码 */ + errCode: number + /** 错误信息 */ + errMsg: string + /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */ + resultJSON: string + /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */ + resultJSONSignature: string + } + interface StartWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StartWifiSuccessCallback + } + interface StatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface StatOption { + /** 文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StatFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: StatSuccessCallback + } + interface StatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> + * + * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 */ + stats: Stats | Stats[] + errMsg: string + } + /** 描述文件状态的对象 */ + interface Stats { + /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */ + lastAccessedTime: number + /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */ + lastModifiedTime: number + /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */ + mode: string + /** 文件大小,单位:B,对应 POSIX stat.st_size */ + size: number + } + interface StepOption { + /** 动画延迟时间,单位 ms */ + delay?: number + /** 动画持续时间,单位 ms */ + duration?: number + /** 动画的效果 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'ease': 动画以低速开始,然后加快,在结束前变慢; + * - 'ease-in': 动画以低速开始; + * - 'ease-in-out': 动画以低速开始和结束; + * - 'ease-out': 动画以低速结束; + * - 'step-start': 动画第一帧就跳至结束状态直到结束; + * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */ + timingFunction?: + | 'linear' + | 'ease' + | 'ease-in' + | 'ease-in-out' + | 'ease-out' + | 'step-start' + | 'step-end' + transformOrigin?: string + } + interface StopAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAccelerometerFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAccelerometerSuccessCallback + } + interface StopAdvertisingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAdvertisingFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAdvertisingSuccessCallback + } + interface StopBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBGMSuccessCallback + } + interface StopBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBackgroundAudioSuccessCallback + } + interface StopBeaconDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBeaconDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBeaconDiscoverySuccessCallback + } + interface StopBluetoothDevicesDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBluetoothDevicesDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBluetoothDevicesDiscoverySuccessCallback + } + interface StopCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StopCompassSuccessCallback + } + interface StopDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDeviceMotionListeningFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDeviceMotionListeningSuccessCallback + } + interface StopDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDiscoverySuccessCallback + } + interface StopFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: StopFaceDetectSuccessCallback + } + interface StopGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopGyroscopeFailCallback + /** 接口调用成功的回调函数 */ + success?: StopGyroscopeSuccessCallback + } + interface StopHCEOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StopHCESuccessCallback + } + interface StopLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */ + errMsg: string + } + interface StopLocalServiceDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocalServiceDiscoverySuccessCallback + } + interface StopLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocationUpdateSuccessCallback + } + interface StopOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFailCallback + /** 接口调用成功的回调函数 */ + success?: StopSuccessCallback + } + interface StopPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPreviewSuccessCallback + } + interface StopPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPullDownRefreshSuccessCallback + } + interface StopRecordSuccessCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + errMsg: string + } + interface StopVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: StopVoiceSuccessCallback + } + interface StopWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StopWifiSuccessCallback + } + interface SubscribeVoIPVideoMembersOption { + /** 订阅的成员列表 */ + openIdList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SubscribeVoIPVideoMembersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SubscribeVoIPVideoMembersFailCallback + /** 接口调用成功的回调函数 */ + success?: SubscribeVoIPVideoMembersSuccessCallback + } + /** 订阅消息设置 +* +* **示例代码** +* +* ```javascript +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + interface SubscriptionsSetting { + /** 订阅消息总开关,true为开启,false为关闭 */ + mainSwitch: boolean + /** 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html) + * ## 注意事项 + * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + itemSettings?: IAnyObject + } + interface SwitchCameraOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchCameraCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchCameraFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchCameraSuccessCallback + } + interface SwitchTabOption { + /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchTabCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchTabFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchTabSuccessCallback + } + interface SystemInfo { + /** 需要基础库: `1.1.0` + * + * 客户端基础库版本 */ + SDKVersion: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: boolean + /** 需要基础库: `1.8.0` + * + * 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 需要基础库: `2.6.0` + * + * 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 需要基础库: `1.5.0` + * + * 设备品牌 */ + brand: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用摄像头的开关 */ + cameraAuthorized: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 需要基础库: `2.15.0` + * + * 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 需要基础库: `1.5.0` + * + * 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */ + fontSizeSetting: number + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + host: SystemInfoHost + /** 微信设置的语言 */ + language: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用定位的开关 */ + locationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 地理位置的系统开关 */ + locationEnabled: boolean + /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */ + locationReducedAccuracy: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信使用麦克风的开关 */ + microphoneAuthorized: boolean + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知的开关 */ + notificationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: boolean + /** 需要基础库: `2.19.3` + * + * 允许微信使用日历的开关 */ + phoneCalendarAuthorized: boolean + /** 设备像素比 */ + pixelRatio: number + /** 客户端平台 + * + * 可选值: + * - 'ios': iOS微信(包含 iPhone、iPad); + * - 'android': Android微信; + * - 'windows': Windows微信; + * - 'mac': macOS微信; + * - 'devtools': 微信开发者工具; */ + platform: 'ios' | 'android' | 'windows' | 'mac' | 'devtools' + /** 需要基础库: `2.7.0` + * + * 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 需要基础库: `1.1.0` + * + * 屏幕高度,单位px */ + screenHeight: number + /** 需要基础库: `1.1.0` + * + * 屏幕宽度,单位px */ + screenWidth: number + /** 需要基础库: `1.9.0` + * + * 状态栏的高度,单位px */ + statusBarHeight: number + /** 操作系统及版本 */ + system: string + /** 微信版本号 */ + version: string + /** 需要基础库: `2.6.0` + * + * Wi-Fi 的系统开关 */ + wifiEnabled: boolean + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + /** 需要基础库: `2.11.0` + * + * 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + interface SystemInfoHost { + /** 宿主 app 对应的 appId */ + appId: string + } + interface SystemSetting { + /** 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 地理位置的系统开关 */ + locationEnabled: boolean + /** Wi-Fi 的系统开关 */ + wifiEnabled: boolean + } + interface TCPSocketConnectOption { + /** 套接字要连接的地址 */ + address: string + /** 套接字要连接的端口 */ + port: number + /** 套接字要连接的超时时间,默认为 2s */ + timeout?: number + } + interface TCPSocketOnMessageListenerResult { + /** 接收端地址信息 */ + localInfo: LocalInfo + /** 收到的消息 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface TakePhotoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TakePhotoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TakePhotoFailCallback + /** 成像质量 + * + * 可选值: + * - 'high': 高质量; + * - 'normal': 普通质量; + * - 'low': 低质量; */ + quality?: 'high' | 'normal' | 'low' + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: TakePhotoSuccessCallback + } + interface TakePhotoSuccessCallbackResult { + /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */ + tempImagePath: string + errMsg: string + } + /** 标签类型枚举 */ + interface TechType { + /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + isoDep: string + /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + mifareClassic: string + /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + mifareUltralight: string + /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + ndef: string + /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + nfcA: string + /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + nfcB: string + /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + nfcF: string + /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + nfcV: string + } + interface TextMetrics { + /** 文本的宽度 */ + width: number + } + interface ToScreenLocationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: ToScreenLocationSuccessCallback + } + interface ToScreenLocationSuccessCallbackResult { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + errMsg: string + } + interface ToggleTorchOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToggleTorchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToggleTorchFailCallback + /** 接口调用成功的回调函数 */ + success?: ToggleTorchSuccessCallback + } + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + interface Track { + /** 平面跟踪配置 */ + plane: PlaneTrack + /** 需要基础库: `2.24.5` + * + * OSD 跟踪配置 */ + OSD?: boolean + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + face?: FaceTrack + /** 需要基础库: `2.24.5` + * + * marker 跟踪配置 */ + marker?: boolean + } + interface TransceiveOption { + /** 需要传递的二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TransceiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TransceiveFailCallback + /** 接口调用成功的回调函数 */ + success?: TransceiveSuccessCallback + } + interface TransceiveSuccessCallbackResult { + data: ArrayBuffer + errMsg: string + } + interface TranslateMarkerOption { + /** 移动过程中是否自动旋转 marker */ + autoRotate: boolean + /** 指定 marker 移动到的目标点 */ + destination: DestinationOption + /** 指定 marker */ + markerId: number + /** marker 的旋转角度 */ + rotate: number + /** 动画结束回调函数 */ + animationEnd?: (...args: any[]) => any + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TranslateMarkerCompleteCallback + /** 动画持续时长,平移与旋转分别计算 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: TranslateMarkerFailCallback + /** 需要基础库: `2.13.0` + * + * 平移和旋转同时进行 */ + moveWithRotate?: boolean + /** 接口调用成功的回调函数 */ + success?: TranslateMarkerSuccessCallback + } + interface TruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface TruncateOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TruncateFailCallback + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + /** 接口调用成功的回调函数 */ + success?: TruncateSuccessCallback + } + interface TruncateSyncOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + } + interface UDPSocketConnectOption { + /** 要发消息的地址 */ + address: string + /** 要发送消息的端口号 */ + port: number + } + interface UDPSocketOnMessageListenerResult { + /** 接收端地址信息,2.18.0 起支持 */ + localInfo: LocalInfo + /** 收到的消息。消息长度需要小于4096。 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface UDPSocketSendOption { + /** 要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名 */ + address: string + /** 要发送的数据 */ + message: string | ArrayBuffer + /** 要发送消息的端口号 */ + port: number + /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */ + length?: number + /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */ + offset?: number + /** 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 */ + setBroadcast?: boolean + } + interface UndoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UndoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UndoFailCallback + /** 接口调用成功的回调函数 */ + success?: UndoSuccessCallback + } + interface UnlinkFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail operation not permitted, unlink ${filePath}': 传入的 filePath 是一个目录; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface UnlinkOption { + /** 要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnlinkCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnlinkFailCallback + /** 接口调用成功的回调函数 */ + success?: UnlinkSuccessCallback + } + interface UnzipFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, unzip ${zipFilePath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, unzip ${zipFilePath} -> "${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface UnzipOption { + /** 目标目录路径, 支持本地路径 */ + targetPath: string + /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */ + zipFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnzipCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnzipFailCallback + /** 接口调用成功的回调函数 */ + success?: UnzipSuccessCallback + } + /** 参数列表 */ + interface UpdatableMessageFrontEndParameter { + /** 参数名 */ + name: string + /** 参数值 */ + value: string + } + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + interface UpdatableMessageFrontEndTemplateInfo { + /** 参数列表 */ + parameterList: UpdatableMessageFrontEndParameter[] + } + interface UpdateGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: UpdateGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface UpdateShareMenuOption { + /** 需要基础库: `2.4.0` + * + * 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取 */ + activityId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateShareMenuFailCallback + /** 需要基础库: `2.13.0` + * + * 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) */ + isPrivateMessage?: boolean + /** 需要基础库: `2.4.0` + * + * 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html) */ + isUpdatableMessage?: boolean + /** 接口调用成功的回调函数 */ + success?: UpdateShareMenuSuccessCallback + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + templateInfo?: UpdatableMessageFrontEndTemplateInfo + /** 需要基础库: `2.11.0` + * + * 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + toDoActivityId?: string + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface UpdateVoIPChatMuteConfigOption { + /** 静音设置 */ + muteConfig: MuteConfig + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateVoIPChatMuteConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateVoIPChatMuteConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateVoIPChatMuteConfigSuccessCallback + } + interface UpdateWeChatAppOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateWeChatAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateWeChatAppFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateWeChatAppSuccessCallback + } + interface UploadFileOption { + /** 要上传文件资源的路径 (本地路径) */ + filePath: string + /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */ + name: string + /** 开发者服务器地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UploadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UploadFileFailCallback + /** HTTP 请求中其他额外的 form data */ + formData?: IAnyObject + /** HTTP 请求 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: UploadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface UploadFileSuccessCallbackResult { + /** 开发者服务器返回的数据 */ + data: string + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface UploadTaskOnProgressUpdateListenerResult { + /** 上传进度百分比 */ + progress: number + /** 预期需要上传的数据总长度,单位 Bytes */ + totalBytesExpectedToSend: number + /** 已经上传的数据长度,单位 Bytes */ + totalBytesSent: number + } + /** @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** + * + * 用户信息 */ + interface UserInfo { + /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */ + avatarUrl: string + /** 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + city: string + /** 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + country: string + /** 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 0: 未知; + * - 1: 男性; + * - 2: 女性; */ + gender: 0 | 1 | 2 + /** 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + language: 'en' | 'zh_CN' | 'zh_TW' + /** 用户昵称 */ + nickName: string + /** 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + province: string + } + /** 需要基础库: `2.20.0` + * + * 相机对象 */ + interface VKCamera { + /** 需要基础库: `2.22.0` + * + * 相机内参,只有 v2 版本支持 */ + intrinsics: Float32Array + /** 视图矩阵 */ + viewMatrix: Float32Array + } + interface VKConfig { + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + track: Track + /** 需要基础库: `2.23.0` + * + * 绑定的 WebGLRenderingContext 对象 */ + gl?: WebGLRenderingContext + /** 需要基础库: `2.22.0` + * + * vision kit 版本。 + * + * 可选值: + * - 'v1': v1适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户放置物体时,手机相机倾斜向下对着目标平面点击即可,具有广泛的机型支持; + * - 'v2': v2提供真实物理距离的 ar 定位功能,提供平面识别功能,用户在平面范围点击放置虚拟物体的功能,具有[有限的机型支持](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html#%E9%99%84%E5%BD%95)。iOS 设备在基础库 2.22.0 开始支持v2。安卓设备在基础库 2.25.1 开始支持v2,另外,安卓v2不支持竖直平面。; */ + version?: 'v1' | 'v2' + } + /** 需要基础库: `2.25.0` + * + * 人脸 anchor + * + * **示例代码** + * + * [静态图像人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-face-detect) + * + * [实时摄像头人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect) */ + interface VKFaceAnchor { + /** 人脸角度信息 */ + angle: number[] + /** 关键点的置信度 */ + confidence: number[] + /** 识别序号 */ + detectId: number + /** 唯一标识 */ + id: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 人脸 106 个关键点的坐标 */ + points: VKPoint[] + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 3: 人脸; */ + type: 3 + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKFrame { + /** [VKCamera](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.html) + * + * 相机对象 */ + camera: VKCamera + /** 生成时间 */ + timestamp: number + } + interface VKMarker { + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + } + /** 需要基础库: `2.24.5` + * + * marker anchor + * + * **示例代码** + * + * [2D Marker能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/2dmarker-ar) */ + interface VKMarkerAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 1: marker; */ + type: 1 + } + /** 需要基础库: `2.24.5` + * + * OSD anchor + * + * **示例代码** + * + * [单样本检测(OSD)能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/osd-ar) */ + interface VKOSDAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 图片路径 */ + path: string + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 2: OSD; */ + type: 2 + } + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + interface VKOrigin { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.22.0` + * + * 平面 anchor,只有 v2 版本支持 + * + * **示例代码** + * + * v1 版本:[水平面AR能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar) + * v2 版本:[水平面AR能力v2使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar-v2) */ + interface VKPlaneAnchor { + /** 方向 */ + alignment: number + /** 唯一标识 */ + id: number + /** 尺寸 */ + size: VKSize + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 0: 平面; */ + type: 0 + } + /** 人脸 106 个关键点的坐标 */ + interface VKPoint { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKSession { + /** 相机尺寸 */ + cameraSize: VKSize + /** 会话配置 */ + config: VKConfig + /** 会话状态 + * + * 可选值: + * - 0: 不可用; + * - 1: 运行中; + * - 2: 暂停中; */ + state: 0 | 1 | 2 + } + interface VKSize { + /** 高度 */ + height: number + /** 宽度 */ + width: number + } + interface VibrateLongOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateLongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateLongFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateLongSuccessCallback + } + interface VibrateShortFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'style is not support': 当前设备不支持设置震动等级; */ + errMsg: string + } + interface VibrateShortOption { + /** 需要基础库: `2.13.0` + * + * 震动强度类型,有效值为:heavy、medium、light */ + type: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateShortCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateShortFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateShortSuccessCallback + } + interface VideoContextRequestFullScreenOption { + /** 需要基础库: `1.7.0` + * + * 设置全屏时视频的方向,不指定则根据宽高比自动判断。 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + } + interface VideoDecoderStartOption { + /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */ + source: string + /** 需要基础库: `2.15.0` + * + * 是否不需要音频轨道 */ + abortAudio?: boolean + /** 需要基础库: `2.15.0` + * + * 是否不需要视频轨道 */ + abortVideo?: boolean + /** 解码模式。0:按 pts 解码;1:以最快速度解码 */ + mode?: number + } + interface VoIP1v1ChatUser { + /** 昵称 */ + nickname: string + /** 小程序内 openid */ + openid: string + /** 头像 */ + headImage?: string + } + /** 需要基础库: `2.19.0` +* +* WebAudioContext 实例,通过[wx.createWebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) 接口获取该实例。 +* +* **示例代码** +* +* ```js +// 监听状态 +const audioCtx = wx.createWebAudioContext() +audioCtx.onstatechange = () => { + console.log(ctx.state) +} +setTimeout(audioCtx.suspend, 1000) +setTimeout(audioCtx.resume, 2000) +``` */ + interface WebAudioContext { + /** 获取当前上下文的时间戳。 */ + currentTime: number + /** [WebAudioContextNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContextNode.html) + * + * 当前上下文的最终目标节点,一般是音频渲染设备。 */ + destination: WebAudioContextNode + /** 空间音频监听器。 */ + listener: AudioListener + /** 可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。 */ + onstatechange: (...args: any[]) => any + /** 采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。 */ + sampleRate: number + /** 当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性 */ + state: string + } + /** 需要基础库: `2.19.0` + * + * 一类音频处理模块,不同的Node具备不同的功能,如GainNode(音量调整)等。一个WebAudioContextNode可以通过上下文来创建。 + * 目前已经支持以下Node: + * IIRFilterNode + * WaveShaperNode + * ConstantSourceNode + * ChannelMergerNode + * OscillatorNode + * GainNode + * BiquadFilterNode + * PeriodicWaveNode + * BufferSourceNode + * ChannelSplitterNode + * ChannelMergerNode + * DelayNode + * DynamicsCompressorNode + * ScriptProcessorNode + * PannerNode + * AnalyserNode */ + interface WebAudioContextNode { + /** 表示监听器的前向系统在同一笛卡尔坐标系中的水平位置,作为位置(位置x,位置和位置和位置)值。 */ + forwardX: number + /** 表示听众的前向方向在同一笛卡尔坐标系中作为位置(位置x,位置和位置和位置)值的垂直位置。 */ + forwardY: number + /** 表示与position (positionX、positionY和positionZ)值在同一笛卡尔坐标系下的听者前进方向的纵向(前后)位置。 */ + forwardZ: number + /** 右手笛卡尔坐标系中X轴的位置。 */ + positionX: number + /** 右手笛卡尔坐标系中Y轴的位置。 */ + positionY: number + /** 右手笛卡尔坐标系中Z轴的位置。 */ + positionZ: number + /** 设置监听器的方向 */ + setOrientation: (...args: any[]) => any + /** 设置监听器的位置 + * + * /** */ + setPosition: (...args: any[]) => any + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向前方向的水平位置。 */ + upX: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向上方向的水平位置。 */ + upY: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向后方向的水平位置。 */ + upZ: number + } + /** 提供预设的 Wi-Fi 信息列表 */ + interface WifiData { + /** Wi-Fi 的 BSSID */ + BSSID?: string + /** Wi-Fi 的 SSID */ + SSID?: string + /** Wi-Fi 设备密码 */ + password?: string + } + /** Wifi 信息 + * + * **注意** + * + * - 安卓 wx.connectWifi / wx.getConnectedWifi 若设置了 partialInfo:true ,或者调用了 wx.onWifiConnectedWithPartialInfo 事件。将会返回只包含 SSID 属性的 WifiInfo 对象。 + * - iOS wx.getConnectedWifi 若设置了 partialInfo:true ,将会返回只包含 SSID、BSSID 属性的 WifiInfo 对象,且需要用户开启微信定位权限才能正确返回结果。 + * - 在某些情况下,可能 Wi-Fi 已经连接成功,但会因为获取不到完整的 WifiInfo 对象报错。具体错误信息为 errCode: 12010, errMsg: can't gain current wifi 或 no wifi is connected 。如果开发者不需要完整的 WifiInfo 对象,则可以通过采取上述策略解决报错问题。 */ + interface WifiInfo { + /** Wi-Fi 的 BSSID */ + BSSID: string + /** Wi-Fi 的 SSID */ + SSID: string + /** 需要基础库: `2.12.0` + * + * Wi-Fi 频段单位 MHz */ + frequency: number + /** Wi-Fi 是否安全 */ + secure: boolean + /** Wi-Fi 信号强度, 安卓取值 0 ~ 100 ,iOS 取值 0 ~ 1 ,值越大强度越大 */ + signalStrength: number + } + interface WindowInfo { + /** 设备像素比 */ + pixelRatio: number + /** 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 屏幕高度,单位px */ + screenHeight: number + /** 窗口上边缘的y值 */ + screenTop: number + /** 屏幕宽度,单位px */ + screenWidth: number + /** 状态栏的高度,单位px */ + statusBarHeight: number + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + } + /** Worker 实例,主线程中可通过 [wx.createWorker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) 接口获取,worker 线程中可通过全局变量 `worker` 获取。 +* +* **示例代码** +* +* 运行以下代码需先进行基础配置,详细请查阅 [小程序多线程](https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html) | [小游戏多线程](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/worker.html) 文档了解基础知识和配置方法。 +* +* ```js +const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径 + +worker.onMessage(function (res) { + console.log(res) +}) +// 监听worker被系统回收事件 +worker.onProcessKilled(function () { + console.log('worker has been killed') + // 重新创建一个worker + // wx.createWorker() +}) + +worker.postMessage({ + msg: 'hello worker' +}) + +worker.terminate() +``` */ + interface Worker { + /** worker内的环境变量 */ + env: WorkerEnv + } + /** worker内的环境变量 */ + interface WorkerEnv { + /** 文件系统中的用户目录路径 (本地路径) */ + USER_DATA_PATH: string + } + interface WorkerOnMessageListenerResult { + /** 主线程/Worker 线程向当前线程发送的消息 */ + message: IAnyObject + } + interface WriteBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 蓝牙设备特征对应的二进制值 */ + value: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteBLECharacteristicValueSuccessCallback + /** 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持) + * + * 可选值: + * - 'write': 强制回复写,不支持时报错; + * - 'writeNoResponse': 强制无回复写,不支持时报错; */ + writeType?: 'write' | 'writeNoResponse' + } + interface WriteCharacteristicValueObject { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 是否需要通知主机 value 已更新 */ + needNotify: boolean + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** characteristic 对应的二进制值 */ + value: ArrayBuffer + /** 可选,处理回包时使用 */ + callbackId?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteCharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteCharacteristicValueSuccessCallback + } + interface WriteFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有写权限; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileOption { + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要写入的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFileFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteFileSuccessCallback + } + interface WriteNdefMessageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteNdefMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteNdefMessageFailCallback + /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */ + records?: any[] + /** 接口调用成功的回调函数 */ + success?: WriteNdefMessageSuccessCallback + /** text 数组 */ + texts?: any[] + /** uri 数组 */ + uris?: any[] + } + interface WriteOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCompleteCallback + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFailCallback + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: WriteSuccessCallback + } + /** 文件写入结果。 通过 [FileSystemManager.writeSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) 接口返回 */ + interface WriteResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + } + interface WriteSuccessCallbackResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + errMsg: string + } + interface WriteSyncOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + } + interface WxGetFileInfoOption { + /** 本地文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 计算文件摘要的算法 + * + * 可选值: + * - 'md5': md5 算法; + * - 'sha1': sha1 算法; */ + digestAlgorithm?: 'md5' | 'sha1' + /** 接口调用失败的回调函数 */ + fail?: WxGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetFileInfoSuccessCallback + } + interface WxGetFileInfoSuccessCallbackResult { + /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */ + digest: string + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface WxGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetSavedFileListSuccessCallback + } + interface WxGetSavedFileListSuccessCallbackResult { + /** 文件数组,每一项是一个 FileItem */ + fileList: FileItem[] + errMsg: string + } + interface WxRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface WxSaveFileOption { + /** 需要保存的文件的临时路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxSaveFileFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + interface WxStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStartRecordSuccessCallback + } + interface WxStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStopRecordSuccessCallback + } + /** 运动数据列表 */ + interface WxaSportRecord { + /** 消耗卡路里 */ + calorie: number + /** 运动距离 */ + distance: number + /** 运动时长 */ + time: number + /** 运动项目id */ + typeId: number + } + /** 帧纹理对象 */ + interface YUVTextureRes { + /** UV 分量纹理 */ + uvTexture: WebGLTexture + /** Y 分量纹理 */ + yTexture: WebGLTexture + } + /** 文件路径 */ + interface ZipFileItem { + /** 文件内容 */ + data: string | ArrayBuffer + /** 错误信息 */ + errMsg: string + } + interface Animation { + /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html) + * + * 在插件中使用:支持 + * + * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */ + export(): AnimationExportResult + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.backgroundColor(string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.backgroundColor.html) + * + * 在插件中使用:支持 + * + * 设置背景色 */ + backgroundColor( + /** 颜色值 */ + value: string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.bottom(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.bottom.html) + * + * 在插件中使用:支持 + * + * 设置 bottom 值 */ + bottom( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.height(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.height.html) + * + * 在插件中使用:支持 + * + * 设置高度 */ + height( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.left(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.left.html) + * + * 在插件中使用:支持 + * + * 设置 left 值 */ + left( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */ + matrix(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix3d()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix3d.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */ + matrix3d(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.opacity(number value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.opacity.html) + * + * 在插件中使用:支持 + * + * 设置透明度 */ + opacity( + /** 透明度,范围 0-1 */ + value: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.right(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.right.html) + * + * 在插件中使用:支持 + * + * 设置 right 值 */ + right( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate.html) + * + * 在插件中使用:支持 + * + * 从原点顺时针旋转一个角度 */ + rotate( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate3d(number x, number y, number z, number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate3d.html) + * + * 在插件中使用:支持 + * + * 从 固定 轴顺时针旋转一个角度 */ + rotate3d( + /** 旋转轴的 x 坐标 */ + x: number, + /** 旋转轴的 y 坐标 */ + y: number, + /** 旋转轴的 z 坐标 */ + z: number, + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateX.html) + * + * 在插件中使用:支持 + * + * 从 X 轴顺时针旋转一个角度 */ + rotateX( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateY.html) + * + * 在插件中使用:支持 + * + * 从 Y 轴顺时针旋转一个角度 */ + rotateY( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateZ(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateZ.html) + * + * 在插件中使用:支持 + * + * 从 Z 轴顺时针旋转一个角度 */ + rotateZ( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale(number sx, number sy)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale( + /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */ + sx: number, + /** 在 Y 轴缩放 sy 倍数 */ + sy?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale3d(number sx, number sy, number sz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale3d.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale3d( + /** x 轴的缩放倍数 */ + sx: number, + /** y 轴的缩放倍数 */ + sy: number, + /** z 轴的缩放倍数 */ + sz: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleX(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleX.html) + * + * 在插件中使用:支持 + * + * 缩放 X 轴 */ + scaleX( + /** X 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleY(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleY.html) + * + * 在插件中使用:支持 + * + * 缩放 Y 轴 */ + scaleY( + /** Y 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleZ(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleZ.html) + * + * 在插件中使用:支持 + * + * 缩放 Z 轴 */ + scaleZ( + /** Z 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skew(number ax, number ay)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skew.html) + * + * 在插件中使用:支持 + * + * 对 X、Y 轴坐标进行倾斜 */ + skew( + /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */ + ax: number, + /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */ + ay: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴坐标进行倾斜 */ + skewX( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴坐标进行倾斜 */ + skewY( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.step(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.step.html) + * + * 在插件中使用:支持 + * + * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */ + step(option?: StepOption): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.top(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.top.html) + * + * 在插件中使用:支持 + * + * 设置 top 值 */ + top( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate(number tx, number ty)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate.html) + * + * 在插件中使用:支持 + * + * 平移变换 */ + translate( + /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate3d(number tx, number ty, number tz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate3d.html) + * + * 在插件中使用:支持 + * + * 对 xyz 坐标进行平移变换 */ + translate3d( + /** 在 X 轴平移的距离,单位为 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number, + /** 在 Z 轴平移的距离,单位为 px */ + tz?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateX(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴平移 */ + translateX( + /** 在 X 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateY(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴平移 */ + translateY( + /** 在 Y 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateZ(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateZ.html) + * + * 在插件中使用:支持 + * + * 对 Z 轴平移 */ + translateZ( + /** 在 Z 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.width(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.width.html) + * + * 在插件中使用:支持 + * + * 设置宽度 */ + width( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + } + interface AudioBuffer { + /** [AudioBuffer.copyFromChannel()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyFromChannel.html) + * + * 在插件中使用:不支持 + * + * 从AudioBuffer的指定频道复制到数组终端。 */ + copyFromChannel(): void + /** [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyToChannel.html) + * + * 在插件中使用:不支持 + * + * 从指定数组复制样本到audioBuffer的特定通道 + * + * **示例代码** + * + * 示例代码参考AudioBuffer.copyFromChannel */ + copyToChannel( + /** 需要复制的源数组 */ + source: Float32Array, + /** 需要复制到的目的通道号 */ + channelNumber: number, + /** 复制偏移数据量 */ + startInChannel: number + ): void + /** [Float32Array AudioBuffer.getChannelData(number channel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.getChannelData.html) + * + * 在插件中使用:不支持 + * + * 返回一个 Float32Array,包含了带有频道的PCM数据,由频道参数定义(有0代表第一个频道) */ + getChannelData( + /** 要获取特定通道数据的索引 */ + channel: number + ): Float32Array + } + interface AudioContext { + /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 暂停音频。 */ + pause(): void + /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 播放音频。 */ + play(): void + /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 跳转到指定位置。 */ + seek( + /** 跳转位置,单位 s */ + position: number + ): void + /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 设置音频地址 */ + setSrc( + /** 音频地址 */ + src: string + ): void + } + interface BLEPeripheralServer { + /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 添加服务。 */ + addService(option: AddServiceOption): void + /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 关闭当前服务端。 */ + close(option?: BLEPeripheralServerCloseOption): void + /** [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求读当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicReadRequest(listener) +BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicReadRequest( + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicSubscribed(listener) +BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicSubscribed( + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除取消特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicUnsubscribed(listener) +BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicUnsubscribed( + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求写当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicWriteRequest(listener) +BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicWriteRequest( + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicReadRequest( + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听特征订阅事件,仅 iOS 支持。 */ + onCharacteristicSubscribed( + /** 特征订阅事件的监听函数 */ + listener: OnCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听取消特征订阅事件,仅 iOS 支持。 */ + onCharacteristicUnsubscribed( + /** 取消特征订阅事件的监听函数 */ + listener: OnCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicWriteRequest( + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 移除服务。 */ + removeService(option: RemoveServiceOption): void + /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 开始广播本地创建的外围设备。 + * + * **注意** + * + * - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID; + * - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](https://developers.weixin.qq.com/miniprogram/dev/framework/device/ble.html); + * - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。 + * - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。 + * - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 */ + startAdvertising(Object: StartAdvertisingObject): void + /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 停止广播。 */ + stopAdvertising(option?: StopAdvertisingOption): void + /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 */ + writeCharacteristicValue(Object: WriteCharacteristicValueObject): void + } + interface BackgroundAudioError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errCode: number + } + interface BackgroundAudioManager { + /** [BackgroundAudioManager.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */ + onCanplay( + /** 背景音频进入可播放状态事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [BackgroundAudioManager.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听背景音频自然播放结束事件 */ + onEnded( + /** 背景音频自然播放结束事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [BackgroundAudioManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放错误事件 */ + onError( + /** 背景音频播放错误事件的监听函数 */ + listener: BackgroundAudioManagerOnErrorCallback + ): void + /** [BackgroundAudioManager.onNext(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击下一曲事件(仅iOS) */ + onNext( + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + listener: OnNextCallback + ): void + /** [BackgroundAudioManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听背景音频暂停事件 */ + onPause( + /** 背景音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [BackgroundAudioManager.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放事件 */ + onPlay( + /** 背景音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [BackgroundAudioManager.onPrev(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击上一曲事件(仅iOS) */ + onPrev( + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + listener: OnPrevCallback + ): void + /** [BackgroundAudioManager.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听背景音频完成跳转操作事件 */ + onSeeked( + /** 背景音频完成跳转操作事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [BackgroundAudioManager.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听背景音频开始跳转操作事件 */ + onSeeking( + /** 背景音频开始跳转操作事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [BackgroundAudioManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听背景音频停止事件 */ + onStop( + /** 背景音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [BackgroundAudioManager.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */ + onTimeUpdate( + /** 背景音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [BackgroundAudioManager.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停音乐 */ + pause(): void + /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html) + * + * 在插件中使用:支持 + * + * 播放音乐 */ + play(): void + /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + currentTime: number + ): void + /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止音乐 */ + stop(): void + } + interface BeaconError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errCode: number + } + interface BluetoothError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number + } + interface CacheManager { + /** [Array.<string> CacheManager.addRules(Object rules)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量添加规则,规则写法可参考 [CacheManager.addRule](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)。 */ + addRules( + /** 规则列表 */ + rules: IAnyObject + ): string[] + /** [CacheManager.clearCaches()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有缓存。 */ + clearCaches(): void + /** [CacheManager.clearRules()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有规则,同时会删除对应规则下所有缓存。 */ + clearRules(): void + /** [CacheManager.deleteCache(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCache.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除缓存。 */ + deleteCache( + /** 缓存 id */ + id: string + ): void + /** [CacheManager.deleteCaches(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除缓存。 */ + deleteCaches( + /** 缓存 id 列表 */ + ids: string[] + ): void + /** [CacheManager.deleteRule(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRule.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除规则,同时会删除对应规则下所有缓存。 */ + deleteRule( + /** 规则 id */ + id: string + ): void + /** [CacheManager.deleteRules(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除规则,同时会删除对应规则下所有缓存。 */ + deleteRules( + /** 规则 id 列表 */ + ids: string[] + ): void + /** [CacheManager.off(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.off.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 取消事件监听。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.on(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.on.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 监听事件。 +* +* **** +* +* 这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。 +* +* #### 示例代码 +* +* ```js +async function handler(evt) { + // evt.url - 请求 url + // evt.data - 请求参数 + // evt.method - 请求方法 + // evt.request - 原始 request 方法,返回一个 promise + + // if (evt.url === '/xxx') { + // // 如果有些请求仍然希望走到网络,则可以如下处理 + // const res = await evt.request() + // // res 即为网络请求返回 + // } + + return new Promsie((resolve, reject) => { + // do sth + if (data) { + // 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回 + resolve(data) + } else { + // 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回 + reject('no data') + } + }) +} +cacheManager.on('request', handler) +``` */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'request': 发生 wx.request 请求,只在缓存管理器开启阶段会触发; + * - 'enterWeakNetwork': 进入弱网/离线状态; + * - 'exitWeakNetwork': 离开弱网/离线状态; */ + eventName: 'request' | 'enterWeakNetwork' | 'exitWeakNetwork', + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.start.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。 */ + start(): void + /** [CacheManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.stop.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。 */ + stop(): void + /** [Object CacheManager.match(Object evt)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.match.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 匹配命中的缓存规则,一般需要和 request 事件搭配使用。 +* +* **示例代码** +* +* ```js +function handler(evt) { + const cache = cacheManager.match(evt) + // 若有重复监听,则取第一个 handler 返回的 promise + return new Promise((resolve, reject) => { + if (cache.data) { + resolve(cache.data) + } else { + reject('no cache') + } + }) +} +cacheManager.on('request', handler) +``` */ + match( + /** request 事件对象 */ + evt: IAnyObject + ): MatchCache + /** [string CacheManager.addRule(Object rule)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 添加规则。 +* +* **规则说明** +* +* 支持的规则写法有字符串、正则和对象三种: +* +* ### 字符串写法 +* +* 1. `addRule('/abc')`:纯 uri 串。 +* 2. `addRule('GET /abc'):带方法的 uri 串,除了匹配 uri 外,还会匹配请求方法。如例子中必须是 GET 方法请求才会被匹配。 +* 3. `addRule('/abc/:id'):带可变部分的 uri 串,id 可以是任意符合标准的字符串,表示这一段可以动态变化。比如 `/abc/123` 和 `/abc/321` 都会被匹配,而 `/abc/123/xxx` 因为多了一段,就不会被匹配。 +* 4. `addRule('/abc?aa'):带 query 参数的 uri 串,包含 aa 参数,值可以为任意值。比如 `/abc?aa=haha` 会被匹配,但是 `/abc` 就不会被匹配,因为缺少规则中声明的 aa 参数;不过如果请求是 `/abc?aa=haha&bb=123`,虽然多带了 bb 参数,但是因为包含了 aa 参数,所以也可以被匹配。 +* 5. `addRule('/abc?dd=haha'):带 query 参数的 uri 串,包含 dd 参数且值为 haha。比如 `/abc?dd=haha` 和 `/abc?dd=haha&bb=123` 会被匹配,而 `/abc?dd=123` 就不会被匹配,因为规则要求了 dd 参数的值。 +* +* > 以上写法中的 uri 串如果只有 path 部分,则会取全局 origin 进行补全。比如全局 origin 是 `https://weixin.qq.com`,而规则是 `/abc`,则会补全为 `https://weixin.qq.com/abc`。因此在前面例子中 `addRule('/abc')` 和 `addRule('https://weixin.qq.com/abc')` 的写法效果一致。所以一般情况下如果需要匹配的请求 origin 和全局 origin 一致,则规则中可忽略不写 orign。 +* +* ### 正则写法 +* +* 1. `addRule(/\/(abc|cba)$/ig)`:直接正则匹配请求的 uri,同时会比对请求 origin 和全局 origin 是否一致。 +* 2. `addRule(/^https:\/\/weixin.qq.com\/(abc|cba)$/ig)`:带有 orign 部分的正则表达式,则只匹配 uri,不再比对 origin。 +* +* ### 对象写法 +* +* 使用规则对象,可以更为详细的描述规则内容。(一般使用规则对象,是为了匹配请求参数) +* +* #### 规则对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | id | string | | 规则 id,如果不填则会由基础库生成 | +* | method | string | | 请求方法,可选值 GET/POST/PATCH/PUT/DELETE,如果为空则表示前面提到的所有方法都能被匹配到 | +* | url | any | 必填 | uri 匹配规则,可参考规则字符串写法和正则写法 | +* | maxAge | number | 7 * 24 * 60 * 60 * 1000 | 缓存有效时间,单位为 ms,不填则默认取缓存管理器全局的缓存有效时间 | +* | dataSchema | Array\ | | 匹配请求参数 | +* +* 其中,dataSchema 用来匹配对象类型的请求参数(比如 wx.request 的 data),默认可以不填,即不做参数匹配。 +* +* dataSchema 的类型是一个 DataRule 对象数组,一个 DataRule 对象描述一个参数,比如一个 wx.request 请求的 data 是 `{a: 123, b: 'haha', c: true}`,你想要用一条规则来匹配其中的 a 和 b 参数,如果 a 是数字且 b 是字符串就能命中该规则,那么就需要在 dataSchema 中补充两个 DataRule 对象,即 `[{name: 'a', schema: {type: 'number'}}, {name: 'b', schema: {type: 'string'}}]`。 +* +* #### DataRule 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | name | string | | 需要匹配的参数名 | +* | schema | DataSchema/Array\ | 需要匹配的参数模式,支持数组,表示该参数值有多种模式 | +* +* name 表示要匹配的参数名,schema 为 DataSchema 对象,用来描述该参数的类型和值。 +* +* 一个 DataRule 对象也可以匹配可能拥有多种类型的参数,所以 schema 也支持为 DataSchema 对象数组。比如上述例子中,希望匹配的 a 参数必须是数值或者字符串,那么可以这么写:`{name: 'a', schema: [{type: 'number'}, {type: 'string'}]}`。 +* +* #### DataSchema 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | type | string | | 需要匹配的 data 对象的参数类型,string、number、boolean、null、object、any(表示任意类型),同时支持数组模式(数组模式则在类型后面加 [],如 string[] 表示字符串数组) | +* | value | string/regexp/function/Array\ | | 需要匹配的 data 对象的参数值,当 type 为基本类型时,可以用 string/regexp 来匹配固定的值,也可以通过 function 来确定值是否匹配,如果传入的 type 是 object,那么表示需要嵌套匹配值是否正确,可以传入 Array | +* +* type 参数表示要匹配的参数类型,value 表示要匹配的参数值。其中 value 支持多种写法,不同写法有如下匹配方式: +* +* 1. 字符串写法:直接判值的字符串形式是否和给定字符串一样,比如 value 值为 `123`,就要求参数值必须为 123 才能与之匹配。 +* 2. 正则写法:直接判值的字符串形式是否能被正则匹配,比如 value 值为 `/\d+/ig`,就要求参数值必须为数字,如果参数值为 `abc` 则不会被匹配。 +* 3. 函数写法:在匹配时会调用用户传入的函数,交由用户判断是否匹配。 +* 4. DataRule 数组写法:当参数类型为对象时,那么字符串写法和正则写法就无法使用,需要传入 DataRule 数组来进行匹配,即通过嵌套 DataRule 数组的方式来匹配嵌套的对象。 +* +* ### 示例代码 +* +* ```js +const ruleId = cacheManager.addRule({ + id: 'haha-rule', + method: 'GET', + url: '/haha', + maxAge: 123455, + dataSchema: [ + // data 字段的匹配,默认为空,表示不匹配 + // 类型可以是:string、number、boolean、null、object、any(表示任意类型均可),以及这些类型的数组表示方式 + {name: 'aaa', schema: {type: 'string'}}, // 类型为 string + {name: 'bbb', schema: [{type: 'number'}, {type: 'string'}]}, // 类型为 number, string + {name: 'ccc', schema: {type: 'string', value: 'abc'}}, // 值为 abc + {name: 'ddd', schema: {type: 'string', value: /(abc|cba)/ig}}, // 值符合该正则匹配,如果该值不是字符串类型,则会被尝试转成字符串后再进行比较 + {name: 'ddd', schema: {type: 'string', value: val => val === '123'}}, // 传入函数来校验值 + {name: 'eee', schema: {type: 'object', value: [{ // 类型为对象,则通过嵌套的方式来逐层校验 + name: 'aaa', schema: {type: 'string'}, + // ... + // 嵌套 dataSchema,同上面的方式一样来匹配嵌套的对象 + }]}}, + {name: 'fff', schema: {type: 'string[]'}}, // 类型为 string 数组 + {name: 'ggg', schema: {type: 'any'}}, // 类型为任意类型 + {name: 'hhh', schema: {type: 'any[]'}}, // 类型为任意类型的数组 + }], +}) +``` +* +* ### 补充说明 +* +* 用户可以添加多条规则,每条规则都会去解析网络请求,然后判断是否命中规则。假设有多条规则命中,则取第一条命中的规则。 +* +* ### 缓存覆盖 +* +* 不同的网络请求也可能命中同一条规则,所以每条规则可能对应多个缓存。每条规则会有一个规则 id,每个缓存会有一个缓存 id,一个规则 id 可能对应多个缓存 id,而缓存管理器的缓存存储是基于缓存 id 标识的,如果两个不同的请求生成了同样的缓存 id,那么后发生的请求结果缓存会覆盖前者。因此使用时需要思考缓存的覆盖情况,目前缓存 id 生成方式如下: +* +* 1. 规则使用字符串写法:那么按 method + url + 规则中声明的 query 参数来生成缓存 id。 +* +* > 需要注意的是这里不使用真实请求中的 query 参数来生成缓存 id,而是使用规则中匹配到的 query 来生成缓存 id。比如规则是 `/abc?aa=123`,请求是 GET 方法的 `/abc?aa=123&bb=123`,那么就会基于 `GET /abc?aa=123` 来生成缓存 id。而规则里没有声明 `bb=123`,所以 bb 参数不会被纳入缓存 id 的生成基准。 +* +* 2. 规则使用正则写法:那么只按 method + url 生成缓存 id,不考虑 query 参数。 +* 3. 规则使用对象写法:如果规则对象中的 url 是字符串写法,那么按 method + url + 规则中声明的 query 参数 + 规则中 dataSchema 声明的请求参数来生成缓存 id;如果规则对象中的 url 是正则写法,那么按 method + url + 规则中 dataSchema 声明的请求参数来生成缓存 id。 +* +* > 生成缓存 id 时没有使用请求中完整的 query 参数或者请求参数来作为基准,是考虑到很多请求可能会带上 token 或时间戳等参数。因为此参数存在不确定性,会导致每次请求生成的缓存 id 都不同,进而导致缓存命中率下降,故采取规则中声明的 query 参数和 dataSchema 声明的请求参数来作为生成缓存 id 的基准。 */ + addRule( + /** 规则 */ + rule: IAnyObject + ): string + } + interface CameraContext { + /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置缩放级别 */ + setZoom(option: SetZoomOption): void + /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html) + * + * 在插件中使用:支持 + * + * 开始录像 */ + startRecord(option: CameraContextStartRecordOption): void + /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html) + * + * 在插件中使用:支持 + * + * 结束录像 */ + stopRecord(option: CameraContextStopRecordOption): void + /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html) + * + * 在插件中使用:支持 + * + * 拍摄照片 */ + takePhoto(option: TakePhotoOption): void + /** [[CameraFrameListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.html) CameraContext.onCameraFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.onCameraFrame.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 获取 Camera 实时帧数据 +* +* **** +* +* 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。 +* +* **示例代码** +* +* ```js +const context = wx.createCameraContext() +const listener = context.onCameraFrame((frame) => { + console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height) +}) +listener.start() +``` */ + onCameraFrame( + /** 回调函数 */ + callback: OnCameraFrameCallback + ): CameraFrameListener + } + interface CameraFrameListener { + /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html) + * + * 在插件中使用:不支持 + * + * 开始监听帧数据 */ + start(option?: CameraFrameListenerStartOption): void + /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html) + * + * 在插件中使用:不支持 + * + * 停止监听帧数据 */ + stop(option?: StopOption): void + } + interface Canvas { + /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + cancelAnimationFrame(requestID: number): void + /** [[ImageData](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html) Canvas.createImageData()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。 */ + createImageData(): ImageData + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) Canvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + createImage(): Image + /** [[Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) Canvas.createPath2D([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createPath2D.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 创建 Path2D 对象 */ + createPath2D( + /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) */ + path: Path2D + ): Path2D + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) Canvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 该方法返回 Canvas 的绘图上下文 + * + * **** + * + * 支持获取 2D 和 WebGL 绘图上下文 */ + getContext(contextType: string): any + /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 */ + toDataURL( + /** 图片格式,默认为 image/png */ + type: string, + /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */ + encoderOptions: number + ): string + } + interface CanvasContext { + /** [CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一条弧线。 +* +* - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。 +* - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw coordinates +ctx.arc(100, 75, 50, 0, 2 * Math.PI) +ctx.setFillStyle('#EEEEEE') +ctx.fill() + +ctx.beginPath() +ctx.moveTo(40, 75) +ctx.lineTo(160, 75) +ctx.moveTo(100, 15) +ctx.lineTo(100, 135) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +ctx.setFontSize(12) +ctx.setFillStyle('black') +ctx.fillText('0', 165, 78) +ctx.fillText('0.5*PI', 83, 145) +ctx.fillText('1*PI', 15, 78) +ctx.fillText('1.5*PI', 83, 10) + +// Draw points +ctx.beginPath() +ctx.arc(100, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(100, 25, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.beginPath() +ctx.arc(150, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +// Draw arc +ctx.beginPath() +ctx.arc(100, 75, 50, 0, 1.5 * Math.PI) +ctx.setStrokeStyle('#333333') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/arc.png) +* +* 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下: +* +* - 绿色: 圆心 (100, 75) +* - 红色: 起始弧度 (0) +* - 蓝色: 终止弧度 (1.5 * Math.PI) */ + arc( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number, + /** 起始弧度,单位弧度(在3点钟方向) */ + sAngle: number, + /** 终止弧度 */ + eAngle: number, + /** 弧度的方向是否是逆时针 */ + counterclockwise?: boolean + ): void + /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 根据控制点和半径绘制圆弧路径。 */ + arcTo( + /** 第一个控制点的 x 轴坐标 */ + x1: number, + /** 第一个控制点的 y 轴坐标 */ + y1: number, + /** 第二个控制点的 x 轴坐标 */ + x2: number, + /** 第二个控制点的 y 轴坐标 */ + y2: number, + /** 圆弧的半径 */ + radius: number + ): void + /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边 +* +* - 在最开始的时候相当于调用了一次 `beginPath`。 +* - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + beginPath(): void + /** [CanvasContext.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.arc(200, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(150, 75) + +ctx.moveTo(200, 20) +ctx.lineTo(200, 100) +ctx.lineTo(70, 75) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.bezierCurveTo(20, 100, 200, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/bezier-curve.png) +* +* 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:两个控制点(20, 100) (200, 100) +* - 绿色:终止点(200, 20) */ + bezierCurveTo( + /** 第一个贝塞尔控制点的 x 坐标 */ + cp1x: number, + /** 第一个贝塞尔控制点的 y 坐标 */ + cp1y: number, + /** 第二个贝塞尔控制点的 x 坐标 */ + cp2x: number, + /** 第二个贝塞尔控制点的 y 坐标 */ + cp2y: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 清除画布上在该矩形区域内的内容 +* +* **示例代码** +* +* clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。 +* ```html +* +* ``` +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(0, 0, 150, 200) +ctx.setFillStyle('blue') +ctx.fillRect(150, 0, 150, 200) +ctx.clearRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/clear-rect.png) */ + clearRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.downloadFile({ + url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg', + success: function(res) { + ctx.save() + ctx.beginPath() + ctx.arc(50, 50, 25, 0, 2*Math.PI) + ctx.clip() + ctx.drawImage(res.tempFilePath, 25, 25) + ctx.restore() + ctx.draw() + } +}) +``` +* ![](@program/dev/image/canvas/clip.png) */ + clip(): void + /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.closePath() +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/close-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.closePath() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/close-path.png) */ + closePath(): void + /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 对指定的图像创建模式的方法,可在指定的方向上重复元图像 */ + createPattern( + /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */ + image: string, + /** 如何重复图像 + * + * 参数 repetition 可选值: + * - 'repeat': 水平竖直方向都重复; + * - 'repeat-x': 水平方向重复; + * - 'repeat-y': 竖直方向重复; + * - 'no-repeat': 不重复; */ + repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' + ): void + /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 +* +* **示例代码** +* +* 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw(true) +``` +* ![](@program/dev/image/canvas/reserve.png) +* +* **示例代码** +* +* 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw() +``` +* ![](@program/dev/image/canvas/un-reserve.png) */ + draw( + /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */ + reserve?: boolean, + /** 绘制完成后执行的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */ + sx: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */ + sy: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */ + sWidth: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */ + sHeight: number, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前路径中的内容进行填充。默认的填充色为黑色。 +* +* **示例代码** +* +* 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.fill() +ctx.draw() +``` +* +* fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。 +* +* ![](@program/dev/image/canvas/fill-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + fill(): void + /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + fillRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在画布上绘制被填充的文本 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('Hello', 20, 20) +ctx.fillText('MINA', 100, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/text.png) */ + fillText( + /** 在画布上输出的文本 */ + text: string, + /** 绘制文本的左上角 x 坐标位置 */ + x: number, + /** 绘制文本的左上角 y 坐标位置 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.rect(10, 10, 100, 50) +ctx.lineTo(110, 60) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-to.png) */ + lineTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) + +ctx.moveTo(10, 50) +ctx.lineTo(100, 50) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/move-to.png) */ + moveTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(200, 20) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.quadraticCurveTo(20, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/quadratic-curve-to.png) +* +* 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:控制点(20, 100) +* - 绿色:终止点(200, 20) */ + quadraticCurveTo( + /** 贝塞尔控制点的 x 坐标 */ + cpx: number, + /** 贝塞尔控制点的 y 坐标 */ + cpy: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个矩形路径。需要用 [`fill`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) 或者 [`stroke`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) 方法将矩形真正的画到 `canvas` 中 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.rect(10, 10, 150, 75) +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + rect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 恢复之前保存的绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + restore(): void + /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/rotate.png) */ + rotate( + /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */ + rotate: number + ): void + /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 保存绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + save(): void + /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/scale.png) */ + scale( + /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleWidth: number, + /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleHeight: number + ): void + /** [CanvasContext.setFillStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.fillStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置填充色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + setFillStyle( + /** 填充的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.font](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置字体的字号 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('20', 20, 20) +ctx.setFontSize(30) +ctx.fillText('30', 40, 40) +ctx.setFontSize(40) +ctx.fillText('40', 60, 60) +ctx.setFontSize(50) +ctx.fillText('50', 90, 90) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/font-size.png) */ + setFontSize( + /** 字体的字号 */ + fontSize: number + ): void + /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.globalAlpha](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置全局画笔透明度。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.setGlobalAlpha(0.2) +ctx.setFillStyle('blue') +ctx.fillRect(50, 50, 150, 100) +ctx.setFillStyle('yellow') +ctx.fillRect(100, 100, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/global-alpha.png) */ + setGlobalAlpha( + /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + alpha: number + ): void + /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineCap](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的端点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('butt') +ctx.setLineWidth(10) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('round') +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('square') +ctx.setLineWidth(10) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-cap.png) */ + setLineCap( + /** 线条的结束端点样式 + * + * 参数 lineCap 可选值: + * - 'butt': 向线条的每个末端添加平直的边缘。; + * - 'round': 向线条的每个末端添加圆形线帽。; + * - 'square': 向线条的每个末端添加正方形线帽。; */ + lineCap: 'butt' | 'round' | 'square' + ): void + /** [CanvasContext.setLineDash(Array.<number> pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineDashOffset](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置虚线样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setLineDash([10, 20], 5); + +ctx.beginPath(); +ctx.moveTo(0,100); +ctx.lineTo(400, 100); +ctx.stroke(); + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-line-dash.png) */ + setLineDash( + /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */ + pattern: number[], + /** 虚线偏移量 */ + offset: number + ): void + /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineJoin](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的交点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('bevel') +ctx.setLineWidth(10) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('round') +ctx.setLineWidth(10) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('miter') +ctx.setLineWidth(10) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-join.png) */ + setLineJoin( + /** 线条的结束交点样式 + * + * 参数 lineJoin 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + ): void + /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineWidth](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的宽度 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(5) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(15) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/line-width.png) */ + setLineWidth( + /** 线条的宽度,单位px */ + lineWidth: number + ): void + /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.miterLimit](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(1) +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(2) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(3) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(4) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/miter-limit.png) */ + setMiterLimit( + /** 最大斜接长度 */ + miterLimit: number + ): void + /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.shadowOffsetX|CanvasContext.shadowOffsetY|CanvasContext.shadowColor|CanvasContext.shadowBlur](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设定阴影样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.setShadow(10, 50, 50, 'blue') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/shadow.png) */ + setShadow( + /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */ + offsetX: number, + /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */ + offsetY: number, + /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */ + blur: number, + /** 阴影的颜色。默认值为 black。 */ + color: string + ): void + /** [CanvasContext.setStrokeStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.strokeStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置描边颜色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + setStrokeStyle( + /** 描边的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(150, 20) +ctx.lineTo(150, 170) +ctx.stroke() + +ctx.setFontSize(15) +ctx.setTextAlign('left') +ctx.fillText('textAlign=left', 150, 60) + +ctx.setTextAlign('center') +ctx.fillText('textAlign=center', 150, 80) + +ctx.setTextAlign('right') +ctx.fillText('textAlign=right', 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/set-text-align.png) */ + setTextAlign( + /** 文字的对齐方式 + * + * 参数 align 可选值: + * - 'left': 左对齐; + * - 'center': 居中对齐; + * - 'right': 右对齐; */ + align: 'left' | 'center' | 'right' + ): void + /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的竖直对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(5, 75) +ctx.lineTo(295, 75) +ctx.stroke() + +ctx.setFontSize(20) + +ctx.setTextBaseline('top') +ctx.fillText('top', 5, 75) + +ctx.setTextBaseline('middle') +ctx.fillText('middle', 50, 75) + +ctx.setTextBaseline('bottom') +ctx.fillText('bottom', 120, 75) + +ctx.setTextBaseline('normal') +ctx.fillText('normal', 200, 75) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-text-baseline.png) */ + setTextBaseline( + /** 文字的竖直对齐方式 + * + * 参数 textBaseline 可选值: + * - 'top': 顶部对齐; + * - 'bottom': 底部对齐; + * - 'middle': 居中对齐; + * - 'normal': ; */ + textBaseline: 'top' | 'bottom' | 'middle' | 'normal' + ): void + /** [CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵重新设置(覆盖)当前变换的方法 */ + setTransform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画出当前路径的边框。默认颜色色为黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-line.png) +* +* stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setStrokeStyle('yellow') +ctx.stroke() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only stoke this rect, not in current path +ctx.setStrokeStyle('blue') +ctx.strokeRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will stroke current path +ctx.setStrokeStyle('red') +ctx.stroke() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/stroke-path.png) */ + stroke(): void + /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + strokeRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 给定的 (x, y) 位置绘制文本描边的方法 */ + strokeText( + /** 要绘制的文本 */ + text: string, + /** 文本起始点的 x 轴坐标 */ + x: number, + /** 文本起始点的 y 轴坐标 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵多次叠加当前变换的方法 */ + transform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/translate.png) */ + translate( + /** 水平坐标平移量 */ + x: number, + /** 竖直坐标平移量 */ + y: number + ): void + /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。 */ + measureText( + /** 要测量的文本 */ + text: string + ): TextMetrics + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createCircularGradient(number x, number y, number r)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createCircularGradient(75, 50, 50) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/circular-gradient.png) */ + createCircularGradient( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number + ): CanvasGradient + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createLinearGradient(number x0, number y0, number x1, number y1)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create linear gradient +const grd = ctx.createLinearGradient(0, 0, 200, 0) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/linear-gradient.png) */ + createLinearGradient( + /** 起点的 x 坐标 */ + x0: number, + /** 起点的 y 坐标 */ + y0: number, + /** 终点的 x 坐标 */ + x1: number, + /** 终点的 y 坐标 */ + y1: number + ): CanvasGradient + } + interface CanvasGradient { + /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染 +* +* **示例代码** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createLinearGradient(30, 10, 120, 10) +grd.addColorStop(0, 'red') +grd.addColorStop(0.16, 'orange') +grd.addColorStop(0.33, 'yellow') +grd.addColorStop(0.5, 'green') +grd.addColorStop(0.66, 'cyan') +grd.addColorStop(0.83, 'blue') +grd.addColorStop(1, 'purple') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/color-stop.png) */ + addColorStop( + /** 表示渐变中开始与结束之间的位置,范围 0-1。 */ + stop: number, + /** 渐变点的颜色。 */ + color: string + ): void + } + interface CloseSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errCode: number + } + interface Console { + /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 error 日志 */ + error( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) + * + * 在插件中使用:不支持 + * + * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + group( + /** 分组标记,可选。 */ + label?: string + ): void + /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html) + * + * 在插件中使用:不支持 + * + * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + groupEnd(): void + /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 info 日志 */ + info( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 log 日志 */ + log( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + } + interface DownloadTask { + /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断下载任务 */ + abort(): void + /** [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onHeadersReceived(listener) +DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除下载进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onProgressUpdate(listener) +DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: DownloadTaskOffProgressUpdateCallback + ): void + /** [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听下载进度变化事件 */ + onProgressUpdate( + /** 下载进度变化事件的监听函数 */ + listener: DownloadTaskOnProgressUpdateCallback + ): void + } + interface EditorContext { + /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 编辑器失焦,同时收起键盘。 */ + blur(option?: BlurOption): void + /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清空编辑器内容 */ + clear(option?: ClearOption): void + /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 修改样式 + * + * **** + * + * ## 支持设置的样式列表 + * | name | value | verson | + * | --------------------------------------------------------- | ------------------------------- | ------ | + * | bold | | 2.7.0 | + * | italic | | 2.7.0 | + * | underline | | 2.7.0 | + * | strike | | 2.7.0 | + * | ins | | 2.7.0 | + * | script | sub / super | 2.7.0 | + * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 | + * | align | left / center / right / justify | 2.7.0 | + * | direction | rtl | 2.7.0 | + * | indent | -1 / +1 | 2.7.0 | + * | list | ordered / bullet / check | 2.7.0 | + * | color | hex color | 2.7.0 | + * | backgroundColor | hex color | 2.7.0 | + * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 | + * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 | + * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 | + * | lineHeight | css style | 2.7.0 | + * | letterSpacing | css style | 2.7.0 | + * | textDecoration | css style | 2.7.0 | + * | textIndent | css style | 2.8.0 | + * | wordWrap | css style | 2.10.2 | + * | wordBreak | css style | 2.10.2 | + * | whiteSpace | css style | 2.10.2 | + * + * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。 */ + format( + /** 属性 */ + name: string, + /** 值 */ + value?: string + ): void + /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 获取编辑器内容 */ + getContents(option?: GetContentsOption): void + /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html) + * + * 需要基础库: `2.10.2` + * + * 在插件中使用:支持 + * + * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。 */ + getSelectionText(option?: GetSelectionTextOption): void + /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 插入分割线 */ + insertDivider(option?: InsertDividerOption): void + /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 插入图片。 +* +* 地址为临时文件时,获取的编辑器html格式内容中 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。 +* +* 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。 +* +* **示例代码** +* +* ```javascript +this.editorCtx.insertImage({ + src: 'xx', + width: '100px', + height: '50px', + extClass: className +}) +``` */ + insertImage(option: InsertImageOption): void + /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 覆盖当前选区,设置一段文本 */ + insertText(option: InsertTextOption): void + /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 恢复 */ + redo(option?: RedoOption): void + /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清除当前选区的样式 */ + removeFormat(option?: RemoveFormatOption): void + /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 使得编辑器光标处滚动到窗口可视区域内。 */ + scrollIntoView(): void + /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 初始化编辑器内容,html和delta同时存在时仅delta生效 */ + setContents(option: SetContentsOption): void + /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 撤销 */ + undo(option?: UndoOption): void + } + interface EntryList { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前列表中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + name: string, + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有类型为 [entryType] 的性能数据 */ + getEntriesByType(entryType: string): PerformanceEntry[] + } + interface EventChannel { + /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 触发一个事件 */ + emit( + /** 事件名称 */ + eventName: string, + /** 事件参数 */ + ...args: any + ): void + /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 持续监听一个事件 */ + on( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 监听一个事件一次,触发后失效 */ + once( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + } + interface FileSystemManager { + /** [Array.<string> FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdirSync( + /** 要读取的目录路径 (本地路径) */ + dirPath: string + ): string[] + /** [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFileSync.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 同步读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +try { + const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + }) + console.log(data) +} catch (err) { + console.log(err) +} +``` */ + readCompressedFileSync( + option: ReadCompressedFileSyncOption + ): ArrayBuffer + /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 判断文件/目录是否存在 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + access(option: AccessOption): void + /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + accessSync( + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + ): void + /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 在文件结尾追加内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFile(option: AppendFileOption): void + /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFileSync( + /** 要追加内容的文件路径 (本地路径) */ + filePath: string, + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.close.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 关闭文件 + fs.close({ + fd: res.fd + }) + } +}) +``` */ + close(option: FileSystemManagerCloseOption): void + /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 复制文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFile(option: CopyFileOption): void + /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFileSync( + /** 源文件路径,支持本地路径 */ + srcPath: string, + /** 目标文件路径,支持本地路径 */ + destPath: string + ): void + /** [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstat.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 获取文件的状态信息 + fs.fstat({ + fd: res.fd, + success(res) { + console.log(res.stats) + } + }) + } +}) +``` */ + fstat(option: FstatOption): void + /** [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 对文件内容进行截断操作 + fs.ftruncate({ + fd: res.fd, + length: 10, // 从第10个字节开始截断文件 + success(res) { + console.log(res) + } + }) + } +}) +``` */ + ftruncate(option: FtruncateOption): void + /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */ + getFileInfo(option: FileSystemManagerGetFileInfoOption): void + /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下已保存的本地缓存文件列表 */ + getSavedFileList(option?: FileSystemManagerGetSavedFileListOption): void + /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 创建目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdir(option: MkdirOption): void + /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdirSync( + /** 创建的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + ): void + /** [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + console.log(res.fd) + } +}) +``` */ + open(option: OpenOption): void + /** [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.read.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 读取文件到 ArrayBuffer 中 + fs.read({ + fd: res.fd, + arrayBuffer: ab, + length: 10, + success(res) { + console.log(res) + } + }) + } +}) +``` */ + read(option: ReadOption): void + /** [FileSystemManager.readCompressedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFile.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', +}) +console.log(data) +``` */ + readCompressedFile(option: ReadCompressedFileOption): void + /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取本地文件内容。单个文件大小上限为100M。 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFile(option: ReadFileOption): void + /** [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readZipEntry.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取压缩包内的文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 读取zip内某个或多个文件 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: [{ + path: 'some_folder/my_file.txt', // zip内文件路径 + encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte + length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte + }, { + path: 'other_folder/orther_file.txt', // zip内文件路径 + }], + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // data: (ArrayBuffer) + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) + +// 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: 'all' + encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) +``` */ + readZipEntry(option: ReadZipEntryOption): void + /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取目录内文件列表 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdir(option: ReaddirOption): void + /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html) + * + * 在插件中使用:不支持 + * + * 删除该小程序下已保存的本地缓存文件 */ + removeSavedFile(option: FileSystemManagerRemoveSavedFileOption): void + /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 重命名文件。可以把文件从 oldPath 移动到 newPath +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rename(option: RenameOption): void + /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + renameSync( + /** 源文件路径,支持本地路径 */ + oldPath: string, + /** 新文件路径,支持本地路径 */ + newPath: string + ): void + /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdir(option: RmdirOption): void + /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdirSync( + /** 要删除的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + ): void + /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) + * + * 在插件中使用:不支持 + * + * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */ + saveFile(option: FileSystemManagerSaveFileOption): void + /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取文件 Stats 对象 */ + stat(option: StatOption): void + /** [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncate({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 + success(res) { + console.log(res) + } +}) +``` */ + truncate(option: TruncateOption): void + /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlink(option: UnlinkOption): void + /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlinkSync( + /** 要删除的文件路径 (本地路径) */ + filePath: string + ): void + /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 解压文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unzip({ + zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`, + targetPath: '${wx.env.USER_DATA_PATH}/example', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + unzip(option: UnzipOption): void + /** [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.write.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 写入文件 + fs.write({ + fd: res.fd, + data: 'some text', + success(res) { + console.log(res.bytesWritten) + } + }) + } +}) +``` */ + write(option: WriteOption): void + /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFile(option: WriteFileOption): void + /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFileSync( + /** 要写入的文件路径 (本地路径) */ + filePath: string, + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [[ReadResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/ReadResult.html) FileSystemManager.readSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.readSync({ + fd: fd, + arrayBuffer: ab, + length: 10 +}) +console.log(res) +``` */ + readSync(option: ReadSyncOption): ReadResult + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) FileSystemManager.fstatSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstatSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const stats = fs.fstatSync({fd: fd}) +console.log(stats) +``` */ + fstatSync(option: FstatSyncOption): Stats + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */ + statSync( + /** 文件/目录路径 (本地路径) */ + path: string, + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + ): Stats | Stats[] + /** [[WriteResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/WriteResult.html) FileSystemManager.writeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.writeSync({ + fd: fd, + data: 'some text' +}) +console.log(res.bytesWritten) +``` */ + writeSync(option: WriteSyncOption): WriteResult + /** [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +console.log(fd) +``` */ + openSync(option: OpenSyncOption): string + /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html) + * + * 在插件中使用:不支持 + * + * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */ + saveFileSync( + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string, + /** 要存储的文件路径 (本地路径) */ + filePath?: string + ): string + /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFileSync( + /** 要读取的文件的路径 (本地路径) */ + filePath: string, + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1', + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number, + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + ): string | ArrayBuffer + /** [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.closeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) + +// 关闭文件 +fs.closeSync({fd: fd}) +``` */ + closeSync(option: CloseSyncOption): undefined + /** [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +fs.ftruncateSync({ + fd: fd, + length: 10 // 从第10个字节开始截断文件 +}) +``` */ + ftruncateSync(option: FtruncateSyncOption): undefined + /** [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 (truncate 的同步版本) +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncateSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 +}) +``` */ + truncateSync(option: TruncateSyncOption): undefined + } + interface FstatSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errCode: number + } + interface FtruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface InnerAudioContext { + /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁当前实例 */ + destroy(): void + /** [InnerAudioContext.offCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进入可以播放状态的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onCanplay(listener) +InnerAudioContext.offCanplay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCanplay( + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCanplayCallback + ): void + /** [InnerAudioContext.offEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频自然播放至结束的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onEnded(listener) +InnerAudioContext.offEnded(listener) // 需传入与监听时同一个的函数对象 +``` */ + offEnded( + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffEndedCallback + ): void + /** [InnerAudioContext.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onError(listener) +InnerAudioContext.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InnerAudioContextOffErrorCallback + ): void + /** [InnerAudioContext.offPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频暂停事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPause(listener) +InnerAudioContext.offPause(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPause( + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPauseCallback + ): void + /** [InnerAudioContext.offPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPlay(listener) +InnerAudioContext.offPlay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPlay( + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPlayCallback + ): void + /** [InnerAudioContext.offSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频完成跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeked(listener) +InnerAudioContext.offSeeked(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeked( + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekedCallback + ): void + /** [InnerAudioContext.offSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进行跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeking(listener) +InnerAudioContext.offSeeking(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeking( + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekingCallback + ): void + /** [InnerAudioContext.offStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频停止事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onStop(listener) +InnerAudioContext.offStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offStop( + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffStopCallback + ): void + /** [InnerAudioContext.offTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放进度更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onTimeUpdate(listener) +InnerAudioContext.offTimeUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offTimeUpdate( + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffTimeUpdateCallback + ): void + /** [InnerAudioContext.offWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频加载中事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onWaiting(listener) +InnerAudioContext.offWaiting(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWaiting( + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWaitingCallback + ): void + /** [InnerAudioContext.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */ + onCanplay( + /** 音频进入可以播放状态的事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [InnerAudioContext.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听音频自然播放至结束的事件 */ + onEnded( + /** 音频自然播放至结束的事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [InnerAudioContext.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html) + * + * 在插件中使用:支持 + * + * 监听音频播放错误事件 + * + * **Tips** + * + * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length + * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */ + onError( + /** 音频播放错误事件的监听函数 */ + listener: InnerAudioContextOnErrorCallback + ): void + /** [InnerAudioContext.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html) + * + * 在插件中使用:支持 + * + * 监听音频暂停事件 */ + onPause( + /** 音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [InnerAudioContext.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听音频播放事件 */ + onPlay( + /** 音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [InnerAudioContext.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听音频完成跳转操作的事件 */ + onSeeked( + /** 音频完成跳转操作的事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [InnerAudioContext.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听音频进行跳转操作的事件 */ + onSeeking( + /** 音频进行跳转操作的事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [InnerAudioContext.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html) + * + * 在插件中使用:支持 + * + * 监听音频停止事件 */ + onStop( + /** 音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [InnerAudioContext.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听音频播放进度更新事件 */ + onTimeUpdate( + /** 音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [InnerAudioContext.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停。暂停后的音频再播放会从暂停处开始播放 */ + pause(): void + /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(): void + /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + position: number + ): void + /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止。停止后的音频再播放会从头开始播放。 */ + stop(): void + } + interface IntersectionObserver { + /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html) + * + * 在插件中使用:支持 + * + * 指定目标节点并开始监听相交状态变化情况 */ + observe( + /** 选择器 */ + targetSelector: string, + /** 监听相交状态变化的回调函数 */ + callback: IntersectionObserverObserveCallback + ): void + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeTo(string selector, Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeTo.html) + * + * 在插件中使用:支持 + * + * 使用选择器指定一个节点,作为参照区域之一。 */ + relativeTo( + /** 选择器 */ + selector: string, + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeToViewport(Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeToViewport.html) +* +* 在插件中使用:支持 +* +* 指定页面显示区域作为参照区域之一 +* +* **示例代码** +* +* 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。 +* ```javascript +Page({ + onLoad: function(){ + wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => { + res.intersectionRatio // 相交区域占目标节点的布局区域的比例 + res.intersectionRect // 相交区域 + res.intersectionRect.left // 相交区域的左边界坐标 + res.intersectionRect.top // 相交区域的上边界坐标 + res.intersectionRect.width // 相交区域的宽度 + res.intersectionRect.height // 相交区域的高度 + }) + } +}) +``` */ + relativeToViewport( + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + } + interface InterstitialAd { + /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁插屏广告实例。 */ + destroy(): void + /** [InterstitialAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onClose(listener) +InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除插屏错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onError(listener) +InterstitialAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InterstitialAdOffErrorCallback + ): void + /** [InterstitialAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onLoad(listener) +InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [InterstitialAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告关闭事件。 */ + onClose( + /** 插屏广告关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听插屏错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 插屏错误事件的监听函数 */ + listener: InterstitialAdOnErrorCallback + ): void + /** [InterstitialAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告加载事件。 */ + onLoad( + /** 插屏广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 加载插屏广告。 */ + load(): Promise<any> + /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示插屏广告。 + * + * **错误码信息表** + * + * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。 + * + * | 代码 | 异常情况 | 理由 | + * | ------ | -------------- | -------------------------- | + * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 | + * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 | + * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 | + * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 | + * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */ + show(): Promise<any> + } + interface IsoDep { + /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取复位信息 */ + getHistoricalBytes(option?: GetHistoricalBytesOption): void + /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Join1v1ChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errCode: number + } + interface JoinVoIPChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errCode: number + } + interface LivePlayerContext { + /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html) + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(option?: ExitFullScreenOption): void + /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html) + * + * 在插件中使用:支持 + * + * 静音 */ + mute(option?: MuteOption): void + /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 暂停 */ + pause(option?: PauseOption): void + /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(option?: PlayOption): void + /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html) + * + * 在插件中使用:支持 + * + * 进入全屏 */ + requestFullScreen( + option: LivePlayerContextRequestFullScreenOption + ): void + /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:支持 + * + * 进入小窗 */ + requestPictureInPicture(option?: RequestPictureInPictureOption): void + /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 恢复 */ + resume(option?: ResumeOption): void + /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:支持 + * + * 截图 */ + snapshot(option: LivePlayerContextSnapshotOption): void + /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止 */ + stop(option?: StopOption): void + } + interface LivePusherContext { + /** [LivePusherContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.exitPictureInPicture.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停推流 */ + pause(option?: PauseOption): void + /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 暂停背景音 */ + pauseBGM(option?: PauseBGMOption): void + /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 播放背景音 */ + playBGM(option: PlayBGMOption): void + /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html) + * + * 在插件中使用:支持 + * + * 恢复推流 */ + resume(option?: ResumeOption): void + /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 恢复背景音 */ + resumeBGM(option?: ResumeBGMOption): void + /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 发送SEI消息 */ + sendMessage(option: SendMessageOption): void + /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 设置背景音音量 */ + setBGMVolume(option: SetBGMVolumeOption): void + /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置麦克风音量 */ + setMICVolume(option: SetMICVolumeOption): void + /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 快照 */ + snapshot(option: LivePusherContextSnapshotOption): void + /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html) + * + * 在插件中使用:支持 + * + * 开始推流,同时开启摄像头预览 */ + start(option?: LivePusherContextStartOption): void + /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 开启摄像头预览 */ + startPreview(option?: StartPreviewOption): void + /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止推流,同时停止摄像头预览 */ + stop(option?: StopOption): void + /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 停止背景音 */ + stopBGM(option?: StopBGMOption): void + /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 关闭摄像头预览 */ + stopPreview(option?: StopPreviewOption): void + /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html) + * + * 在插件中使用:支持 + * + * 切换前后摄像头 */ + switchCamera(option?: SwitchCameraOption): void + /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 切换手电筒 */ + toggleTorch(option?: ToggleTorchOption): void + } + interface LogManager { + /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html) + * + * 在插件中使用:不支持 + * + * 写 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html) + * + * 在插件中使用:不支持 + * + * 写 info 日志 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html) + * + * 在插件中使用:不支持 + * + * 写 log 日志 */ + log( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html) + * + * 在插件中使用:不支持 + * + * 写 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + } + interface MapContext { + /** [MapContext.addArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 添加弧线,途经点与夹角必须设置一个。途经点必须在起终点有效坐标范围内,否则不能生成正确的弧线,同时设置夹角角度时,以夹角角度为准。夹角定义为起点到终点,与起点外切线逆时针旋转的角度。工具侧暂未支持。 */ + addArc(option: AddArcOption): void + /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 添加个性化图层。图层创建[参考文档](https://lbs.qq.com/dev/console/customLayer/create) */ + addCustomLayer(option: AddCustomLayerOption): void + /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 创建自定义图片图层,图片会随着地图缩放而缩放。 */ + addGroundOverlay(option: AddGroundOverlayOption): void + /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 添加 marker。 */ + addMarkers(option: AddMarkersOption): void + /** [MapContext.addVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 添加可视化图层。需要刷新时,interval 可设置的最小值为 15 s。 */ + addVisualLayer(option: AddVisualLayerOption): void + /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。 */ + fromScreenLocation(option: FromScreenLocationOption): void + /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html) + * + * 在插件中使用:支持 + * + * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */ + getCenterLocation(option: GetCenterLocationOption): void + /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的视野范围 */ + getRegion(option?: GetRegionOption): void + /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的旋转角 */ + getRotate(option?: GetRotateOption): void + /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的缩放级别 */ + getScale(option?: GetScaleOption): void + /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的倾斜角 */ + getSkew(option?: GetSkewOption): void + /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 缩放视野展示所有经纬度 */ + includePoints(option: IncludePointsOption): void + /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 初始化点聚合的配置,未调用时采用默认配置。 */ + initMarkerCluster(option: InitMarkerClusterOption): void + /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。 */ + moveAlong(option: MoveAlongOption): void + /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。 */ + moveToLocation(option?: MoveToLocationOption): void + /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 监听地图事件。 +* +* ### markerClusterCreate +* +* 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------ | --------- | +* | clusters | `Array<ClusterInfo>` | 聚合簇数据 | +* +* ### markerClusterClick +* +* 聚合簇的点击事件。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------------- | --------- | +* | cluster | ClusterInfo | 聚合簇 | +* +* #### ClusterInfo 结构 +* +* | 参数 | 类型 | 说明 | +* | ---------- | -------------------- | -------------------------- | +* | clusterId | Number | 聚合簇的 id | +* | center | LatLng | 聚合簇的坐标 | +* | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 | +* +* **示例代码** +* +* ```js + MapContext.on('markerClusterCreate', (res) => {}) + MapContext.on('markerClusterClick', (res) => {}) +``` */ + on( + /** 事件名 + * + * 参数 event 可选值: + * - 'markerClusterCreate': ; + * - 'markerClusterClick': ; */ + event: 'markerClusterCreate' | 'markerClusterClick', + /** 事件的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 拉起地图APP选择导航。 */ + openMapApp(option: OpenMapAppOption): void + /** [MapContext.removeArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 删除弧线。工具侧暂未支持。 */ + removeArc(option: RemoveArcOption): void + /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 移除个性化图层。 */ + removeCustomLayer(option: RemoveCustomLayerOption): void + /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 移除自定义图片图层。 */ + removeGroundOverlay(option: RemoveGroundOverlayOption): void + /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 移除 marker。 */ + removeMarkers(option: RemoveMarkersOption): void + /** [MapContext.removeVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 移除可视化图层。 */ + removeVisualLayer(option: RemoveVisualLayerOption): void + /** [MapContext.setBoundary(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setBoundary.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */ + setBoundary(option: SetBoundaryOption): void + /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5] */ + setCenterOffset(option: SetCenterOffsetOption): void + /** [MapContext.setLocMarkerIcon(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setLocMarkerIcon.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:支持 + * + * 设置定位点图标,支持网络路径、本地路径、代码包路径 */ + setLocMarkerIcon(option: SetLocMarkerIconOption): void + /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。 */ + toScreenLocation(option: ToScreenLocationOption): void + /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 平移marker,带动画。 */ + translateMarker(option: TranslateMarkerOption): void + /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 更新自定义图片图层。 */ + updateGroundOverlay(option: UpdateGroundOverlayOption): void + } + interface MediaAudioPlayer { + /** [Promise MediaAudioPlayer.addAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.addAudioSource.html) + * + * 在插件中使用:支持 + * + * 添加音频源 */ + addAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例。作为音频源添加到音频播放器中 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁播放器 */ + destroy(): Promise<any> + /** [Promise MediaAudioPlayer.removeAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.removeAudioSource.html) + * + * 在插件中使用:支持 + * + * 移除音频源 */ + removeAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html) + * + * 在插件中使用:支持 + * + * 启动播放器 */ + start(): Promise<any> + /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html) + * + * 在插件中使用:支持 + * + * 停止播放器 */ + stop(): Promise<any> + } + interface MediaContainer { + /** [MediaContainer.addTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.addTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道添加到容器 */ + addTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要添加的音频或视频轨道 */ + track: MediaTrack + ): void + /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器销毁,释放资源 */ + destroy(): void + /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器内的轨道合并并导出视频文件 */ + export(): void + /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。 */ + extractDataSource(option: ExtractDataSourceOption): void + /** [MediaContainer.removeTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.removeTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道从容器中移除 */ + removeTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要移除的音频或视频轨道 */ + track: MediaTrack + ): void + } + interface MediaQueryObserver { + /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html) + * + * 在插件中使用:支持 + * + * 开始监听页面 media query 变化情况 */ + observe( + /** media query 描述符 */ + descriptor: ObserveDescriptor, + /** 监听 media query 状态变化的回调函数 */ + callback: MediaQueryObserverObserveCallback + ): void + } + interface MediaRecorder { + /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 录制开始事件。; + * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize}; + * - 'pause': 录制暂停事件。; + * - 'resume': 录制继续事件。; + * - 'timeupdate': 录制时间更新事件。; */ + eventName: 'start' | 'stop' | 'pause' | 'resume' | 'timeupdate', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [Promise MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 销毁录制器 */ + destroy(): Promise<any> + /** [Promise MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 暂停录制 */ + pause(): Promise<any> + /** [Promise MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧 */ + requestFrame(callback: (...args: any[]) => any): Promise<any> + /** [Promise MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 恢复录制 */ + resume(): Promise<any> + /** [Promise MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始录制 */ + start(): Promise<any> + /** [Promise MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 结束录制 */ + stop(): Promise<any> + } + interface MifareClassic { + /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface MifareUltralight { + /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NFCAdapter { + /** [NFCAdapter.offDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html) +* +* 需要基础库: `2.11.2` +* +* 在插件中使用:支持 +* +* 移除 NFC Tag的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +NFCAdapter.onDiscovered(listener) +NFCAdapter.offDiscovered(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDiscovered( + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDiscoveredCallback + ): void + /** [NFCAdapter.onDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 NFC Tag */ + onDiscovered( + /** 的监听函数 */ + listener: OnDiscoveredCallback + ): void + /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + startDiscovery(option?: StartDiscoveryOption): void + /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + stopDiscovery(option?: StopDiscoveryOption): void + /** [[IsoDep](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.html) NFCAdapter.getIsoDep()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getIsoDep.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + getIsoDep(): IsoDep + /** [[MifareClassic](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html) NFCAdapter.getMifareClassic()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareClassic.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + getMifareClassic(): MifareClassic + /** [[MifareUltralight](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.html) NFCAdapter.getMifareUltralight()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareUltralight.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + getMifareUltralight(): MifareUltralight + /** [[Ndef](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.html) NFCAdapter.getNdef()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNdef.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + getNdef(): Ndef + /** [[NfcA](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.html) NFCAdapter.getNfcA()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcA.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + getNfcA(): NfcA + /** [[NfcB](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.html) NFCAdapter.getNfcB()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcB.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + getNfcB(): NfcB + /** [[NfcF](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.html) NFCAdapter.getNfcF()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcF.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + getNfcF(): NfcF + /** [[NfcV](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.html) NFCAdapter.getNfcV()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcV.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + getNfcV(): NfcV + } + interface NFCError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errCode: number + } + interface Ndef { + /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 取消监听 Ndef 消息 */ + offNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 Ndef 消息 */ + onNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 重写 Ndef 标签内容 */ + writeNdefMessage(option: WriteNdefMessageOption): void + } + interface NfcA { + /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取ATQA信息 */ + getAtqa(option?: GetAtqaOption): void + /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取SAK信息 */ + getSak(option?: GetSakOption): void + /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcB { + /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcF { + /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcV { + /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Nfcrwerror { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errCode: number + } + interface NodesRef { + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.boundingClientRect(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.boundingClientRect.html) +* +* 在插件中使用:支持 +* +* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getRect () { + wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }).exec() + }, + getAllRects () { + wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){ + rects.forEach(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }) + }).exec() + } +}) +``` */ + boundingClientRect( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: BoundingClientRectCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.context(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.context.html) +* +* 需要基础库: `2.4.2` +* +* 在插件中使用:支持 +* +* 添加节点的 Context 对象查询请求。目前支持 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html)、[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html)、[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html)、[EditorContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html)和 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getContext () { + wx.createSelectorQuery().select('.the-video-class').context(function(res){ + console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象 + }).exec() + } +}) +``` */ + context( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: ContextCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.fields(Object fields, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.fields.html) +* +* 在插件中使用:支持 +* +* 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 `nodesRef` 对应的 `selectorQuery` +* +* **注意** +* +* computedStyle 的优先级高于 size,当同时在 computedStyle 里指定了 width/height 和传入了 size: true,则优先返回 computedStyle 获取到的 width/height。 +* +* **示例代码** +* +* ```js +Page({ + getFields () { + wx.createSelectorQuery().select('#the-id').fields({ + dataset: true, + size: true, + scrollOffset: true, + properties: ['scrollX', 'scrollY'], + computedStyle: ['margin', 'backgroundColor'], + context: true, + }, function (res) { + res.dataset // 节点的dataset + res.width // 节点的宽度 + res.height // 节点的高度 + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + res.scrollX // 节点 scroll-x 属性的当前值 + res.scrollY // 节点 scroll-y 属性的当前值 + // 此处返回指定要返回的样式名 + res.margin + res.backgroundColor + res.context // 节点对应的 Context 对象 + }).exec() + } +}) +``` */ + fields( + fields: Fields, + /** 回调函数 */ + callback?: FieldsCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.node(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 获取 Node 节点实例。目前支持 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 和 [ScrollViewContext](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getNode() { + wx.createSelectorQuery().select('.canvas').node(function(res){ + console.log(res.node) // 节点对应的 Canvas 实例。 + }).exec() + } +}) +``` */ + node( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: NodeCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.scrollOffset(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.scrollOffset.html) +* +* 在插件中使用:支持 +* +* 添加节点的滚动位置查询请求。以像素为单位。节点必须是 `scroll-view` 或者 `viewport`,返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getScrollOffset () { + wx.createSelectorQuery().selectViewport().scrollOffset(function(res){ + res.id // 节点的ID + res.dataset // 节点的dataset + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + }).exec() + } +}) +``` */ + scrollOffset( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: ScrollOffsetCallback + ): SelectorQuery + } + interface OffscreenCanvas { + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) OffscreenCanvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.createImage.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 + * + * **** + * + * 注意不允许混用 webgl 和 2d 画布创建的图片对象,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 */ + createImage(): Image + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) OffscreenCanvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 该方法返回 OffscreenCanvas 的绘图上下文 + * + * **** + * + * 注意不允许混用 webgl 和 2d 绘图上下文,传入的 contextType 必须要与 `wx.createOffscreenCanvas` 传入的 type 类型一致。 */ + getContext( + /** 绘图上下文类型,需要与 createOffscreenCanvas 时传入的 type 一致 + * + * 参数 contextType 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + contextType: 'webgl' | '2d' + ): any + } + interface OpenSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errCode: number + } + interface Performance { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前缓冲区中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + /** 名称 */ + name: string, + /** 类型 */ + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有类型为 [entryType] 的性能数据 */ + getEntriesByType( + /** 类型 */ + entryType: string + ): PerformanceEntry[] + /** [Performance.setBufferSize(number size)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.setBufferSize.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 设置缓冲区大小,默认缓冲 30 条性能数据 */ + setBufferSize(size: number): void + /** [[PerformanceObserver](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.html) Performance.createObserver(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.createObserver.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 创建全局性能事件监听器 */ + createObserver( + /** 回调函数 */ + callback: (...args: any[]) => any + ): PerformanceObserver + } + interface PerformanceObserver { + /** [PerformanceObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.disconnect.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 停止监听 */ + disconnect(): void + /** [PerformanceObserver.observe(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.observe.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 开始监听 */ + observe( + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + options: ObserveOption + ): void + } + interface ReadCompressedFileSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errCode: number + } + interface ReadSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface RealtimeLogManager { + /** [Object RealtimeLogManager.getCurrentState()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.getCurrentState.html) + * + * 需要基础库: `2.19.4` + * + * 在插件中使用:不支持 + * + * 实时日志会将一定时间间隔内缓存的日志聚合上报,如果该时间内缓存的内容超出限制,则会被丢弃。此方法可以获取当前缓存剩余空间。 + * + * > 注意:基础库内部在对日志进行上报时会补充一些结构化数据,如果遇到上报溢出的情况也会补充警告日志,所以此方法获取到的当前占用信息会比预期的大一些。 */ + getCurrentState(): CurrentState + /** [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html) + * + * 需要基础库: `2.8.1` + * + * 在插件中使用:不支持 + * + * 添加过滤关键字,暂不支持在插件使用 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeLogManager.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.error.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 error 日志,暂不支持在插件使用 */ + error( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.in(Page pageInstance)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.in.html) + * + * 需要基础库: `2.9.1` + * + * 在插件中使用:不支持 + * + * 设置实时日志page参数所在的页面,暂不支持在插件使用 */ + in( + /** page实例 */ + pageInstance: Page.TrivialInstance + ): void + /** [RealtimeLogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.info.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 info 日志,暂不支持在插件使用 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:不支持 + * + * 设置过滤关键字,暂不支持在插件使用 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeLogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.warn.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 warn 日志,暂不支持在插件使用 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [[RealtimeTagLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.html) RealtimeLogManager.tag(string tagName)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.tag.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 获取给定标签的日志管理器实例,目前只支持在插件使用 */ + tag( + /** 标签名 */ + tagName: string + ): RealtimeTagLogManager + } + interface RealtimeTagLogManager { + /** [RealtimeTagLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.addFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 添加过滤关键字 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeTagLogManager.error(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.error.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 error 日志 */ + error( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.info(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.info.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 info 日志 */ + info( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.setFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 设置过滤关键字 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeTagLogManager.warn(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.warn.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 warn 日志 */ + warn( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + } + interface RecorderManager { + /** [RecorderManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听录音错误事件 */ + onError( + /** 录音错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [RecorderManager.onFrameRecorded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onFrameRecorded.html) + * + * 在插件中使用:支持 + * + * 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。 */ + onFrameRecorded( + /** 已录制完指定帧大小的文件事件的监听函数 */ + listener: OnFrameRecordedCallback + ): void + /** [RecorderManager.onInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionBegin.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发 */ + onInterruptionBegin( + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnInterruptionBeginCallback + ): void + /** [RecorderManager.onInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionEnd.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。 */ + onInterruptionEnd( + /** 录音中断结束事件的监听函数 */ + listener: OnInterruptionEndCallback + ): void + /** [RecorderManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听录音暂停事件 */ + onPause( + /** 录音暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [RecorderManager.onResume(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onResume.html) + * + * 在插件中使用:支持 + * + * 监听录音继续事件 */ + onResume( + /** 录音继续事件的监听函数 */ + listener: OnResumeCallback + ): void + /** [RecorderManager.onStart(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStart.html) + * + * 在插件中使用:支持 + * + * 监听录音开始事件 */ + onStart( + /** 录音开始事件的监听函数 */ + listener: OnStartCallback + ): void + /** [RecorderManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听录音结束事件 */ + onStop( + /** 录音结束事件的监听函数 */ + listener: RecorderManagerOnStopCallback + ): void + /** [RecorderManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停录音 */ + pause(): void + /** [RecorderManager.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.resume.html) + * + * 在插件中使用:支持 + * + * 继续录音 */ + resume(): void + /** [RecorderManager.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) + * + * 在插件中使用:支持 + * + * 开始录音 + * + * **采样率与编码码率限制** + * + * 每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。 + * + * | 采样率 | 编码码率 | + * | ------ | -------------- | + * | 8000 | 16000 ~ 48000 | + * | 11025 | 16000 ~ 48000 | + * | 12000 | 24000 ~ 64000 | + * | 16000 | 24000 ~ 96000 | + * | 22050 | 32000 ~ 128000 | + * | 24000 | 32000 ~ 128000 | + * | 32000 | 48000 ~ 192000 | + * | 44100 | 64000 ~ 320000 | + * | 48000 | 64000 ~ 320000 | */ + start(option: RecorderManagerStartOption): void + /** [RecorderManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止录音 */ + stop(): void + } + interface RequestTask { + /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断请求任务 */ + abort(): void + /** [RequestTask.offChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offChunkReceived.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:支持 +* +* 移除 Transfer-Encoding Chunk Received 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onChunkReceived(listener) +RequestTask.offChunkReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offChunkReceived( + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffChunkReceivedCallback + ): void + /** [RequestTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onHeadersReceived(listener) +RequestTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [RequestTask.onChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。 */ + onChunkReceived( + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + listener: OnChunkReceivedCallback + ): void + /** [RequestTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + } + interface RewardedVideoAd { + /** [Promise RewardedVideoAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html) + * + * 在插件中使用:不支持 + * + * 加载激励视频广告。 */ + load(): Promise<any> + /** [Promise RewardedVideoAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示激励视频广告。激励视频广告将从屏幕下方推入。 */ + show(): Promise<any> + /** [RewardedVideoAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁激励视频广告实例。 */ + destroy(): void + /** [RewardedVideoAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除用户点击 `关闭广告` 按钮的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onClose(listener) +RewardedVideoAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffCloseCallback + ): void + /** [RewardedVideoAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onError(listener) +RewardedVideoAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffErrorCallback + ): void + /** [RewardedVideoAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onLoad(listener) +RewardedVideoAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [RewardedVideoAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听用户点击 `关闭广告` 按钮的事件。 */ + onClose( + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + listener: RewardedVideoAdOnCloseCallback + ): void + /** [RewardedVideoAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 激励视频错误事件的监听函数 */ + listener: RewardedVideoAdOnErrorCallback + ): void + /** [RewardedVideoAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频广告加载事件。 */ + onLoad( + /** 激励视频广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + } + interface ScrollViewContext { + /** [ScrollViewContext.scrollIntoView(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollIntoView( + /** 元素选择器 */ + selector: string + ): void + /** [ScrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollTo.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollTo(option: ScrollToOption): void + } + interface SelectorQuery { + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.exec(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.exec.html) + * + * 在插件中使用:支持 + * + * 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 */ + exec( + /** 回调函数 */ + callback?: (...args: any[]) => any + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.select(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.select.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + select( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectAll(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectAll.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择匹配选择器 selector 的所有节点。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + selectAll( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectViewport()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html) + * + * 在插件中使用:支持 + * + * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 */ + selectViewport(): NodesRef + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) SelectorQuery.in(Component component)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.in.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* +* 将选择器的选取范围更改为自定义组件 `component` 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 +* +* **示例代码** +* +* ```js +Component({ + queryMultipleNodes (){ + const query = wx.createSelectorQuery().in(this) + query.select('#the-id').boundingClientRect(function(res){ + res.top // 这个组件内 #the-id 节点的上边界坐标 + }).exec() + } +}) +``` */ + in( + /** 自定义组件实例 */ + component: Component.TrivialInstance | Page.TrivialInstance + ): SelectorQuery + } + interface SocketTask { + /** [SocketTask.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.close.html) + * + * 在插件中使用:支持 + * + * 关闭 WebSocket 连接 */ + close(option: SocketTaskCloseOption): void + /** [SocketTask.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onClose.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接关闭事件 */ + onClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: SocketTaskOnCloseCallback + ): void + /** [SocketTask.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onError.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 错误事件 */ + onError( + /** WebSocket 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [SocketTask.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onMessage.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 接受到服务器的消息事件 */ + onMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: SocketTaskOnMessageCallback + ): void + /** [SocketTask.onOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onOpen.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接打开事件 */ + onOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnOpenCallback + ): void + /** [SocketTask.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.send.html) + * + * 在插件中使用:支持 + * + * 通过 WebSocket 连接发送数据 */ + send(option: SocketTaskSendOption): void + } + interface Stats { + /** [boolean Stats.isDirectory()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isDirectory.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个目录 */ + isDirectory(): boolean + /** [boolean Stats.isFile()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isFile.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个普通文件 */ + isFile(): boolean + } + interface TCPSocket { + /** [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.bindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) */ + bindWifi(options: BindWifiOption): void + /** [TCPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.close.html) + * + * 在插件中使用:不支持 + * + * 关闭连接 */ + close(): void + /** [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.connect.html) + * + * 在插件中使用:不支持 + * + * 在给定的套接字上启动连接 */ + connect(options: TCPSocketConnectOption): void + /** [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offBindWifi.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onBindWifi(listener) +TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBindWifi( + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBindWifiCallback + ): void + /** [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除一旦 socket 完全关闭就发出该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onClose(listener) +TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offConnect.html) +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 连接成功建立的时候触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onConnect(listener) +TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象 +``` */ + offConnect( + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffConnectCallback + ): void + /** [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offError.html) +* +* 在插件中使用:不支持 +* +* 移除当错误发生时触发的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onError(listener) +TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offMessage.html) +* +* 在插件中使用:不支持 +* +* 移除当接收到数据的时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onMessage(listener) +TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: TCPSocketOffMessageCallback + ): void + /** [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onBindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 */ + onBindWifi( + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + listener: OnBindWifiCallback + ): void + /** [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听一旦 socket 完全关闭就发出该事件 */ + onClose( + /** 一旦 socket 完全关闭就发出该事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onConnect.html) + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 连接成功建立的时候触发该事件 */ + onConnect( + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + listener: OnConnectCallback + ): void + /** [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onError.html) + * + * 在插件中使用:不支持 + * + * 监听当错误发生时触发 */ + onError( + /** 的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听当接收到数据的时触发该事件 */ + onMessage( + /** 当接收到数据的时触发该事件的监听函数 */ + listener: TCPSocketOnMessageCallback + ): void + /** [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.write.html) + * + * 在插件中使用:不支持 + * + * 在 socket 上发送数据 */ + write( + /** 要发送的数据 */ + data: string | ArrayBuffer + ): void + } + interface TruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface UDPSocket { + /** [UDPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.close.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 */ + close(): void + /** [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.connect.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 */ + connect(option: UDPSocketConnectOption): void + /** [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offClose.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onClose(listener) +UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offError.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onError(listener) +UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offListening.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除开始监听数据包消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onListening(listener) +UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象 +``` */ + offListening( + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffListeningCallback + ): void + /** [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offMessage.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除收到消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onMessage(listener) +UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffMessageCallback + ): void + /** [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onClose.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听关闭事件 */ + onClose( + /** 关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onError.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听错误事件 */ + onError( + /** 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听开始监听数据包消息的事件 */ + onListening( + /** 开始监听数据包消息的事件的监听函数 */ + listener: OnListeningCallback + ): void + /** [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听收到消息的事件 */ + onMessage( + /** 收到消息的事件的监听函数 */ + listener: UDPSocketOnMessageCallback + ): void + /** [UDPSocket.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.send.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 */ + send(option: UDPSocketSendOption): void + /** [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.setTTL.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 */ + setTTL( + /** ttl 参数可以是 0 到 255 之间 */ + ttl: number + ): void + /** [UDPSocket.write()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.write.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) */ + write(): void + /** [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.bind.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 */ + bind( + /** 需要基础库: `2.9.0` + * + * 指定要绑定的端口号,不传则返回系统随机分配的可用端口 */ + port?: number + ): number + } + interface UpdateManager { + /** [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.applyUpdate.html) + * + * 在插件中使用:不支持 + * + * 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + applyUpdate(): void + /** [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html) + * + * 在插件中使用:不支持 + * + * 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onCheckForUpdate( + /** 向微信后台请求检查更新结果事件的监听函数 */ + listener: OnCheckForUpdateCallback + ): void + /** [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateFailed.html) + * + * 在插件中使用:不支持 + * + * 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateFailed( + /** 小程序更新失败事件的监听函数 */ + listener: OnUpdateFailedCallback + ): void + /** [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateReady.html) + * + * 在插件中使用:不支持 + * + * 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateReady( + /** 小程序有版本更新事件的监听函数 */ + listener: OnUpdateReadyCallback + ): void + } + interface UploadTask { + /** [UploadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断上传任务 */ + abort(): void + /** [UploadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onHeadersReceived(listener) +UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [UploadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除上传进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onProgressUpdate(listener) +UploadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UploadTaskOffProgressUpdateCallback + ): void + /** [UploadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [UploadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听上传进度变化事件 */ + onProgressUpdate( + /** 上传进度变化事件的监听函数 */ + listener: UploadTaskOnProgressUpdateCallback + ): void + } + interface UserCryptoManager { + /** [UserCryptoManager.getLatestUserKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getLatestUserKey.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取最新的用户加密密钥 +* +* **示例代码** +* +* ```js +const userCryptoManager = wx.getUserCryptoManager() +userCryptoManager.getLatestUserKey({ + success: res => { + const {encryptKey, iv, version, expireTime} = res + console.log(encryptKey, iv, version, expireTime) + } +}) +``` */ + getLatestUserKey(option?: GetLatestUserKeyOption): void + /** [UserCryptoManager.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getRandomValues.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues(option: GetRandomValuesOption): void + } + interface VKCamera { + /** [Float32Array VKCamera.getProjectionMatrix(number near, number far)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.getProjectionMatrix.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取投影矩阵 */ + getProjectionMatrix( + /** 近视点 */ + near: number, + /** 远视点 */ + far: number + ): Float32Array + } + interface VKFrame { + /** [ArrayBuffer VKFrame.getCameraBuffer(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 获取当前帧 rgba buffer。目前仅iOS端支持。按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。 */ + getCameraBuffer( + /** 宽度,受系统限制,必须是 16 的整数倍 */ + width: number, + /** 高度 */ + height: number + ): ArrayBuffer + /** [Float32Array VKFrame.getDisplayTransform()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪。 */ + getDisplayTransform(): Float32Array + /** [Object VKFrame.getCameraTexture(WebGLRenderingContext gl)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取当前帧纹理,目前只支持 YUV 纹理。 */ + getCameraTexture( + /** 画布 */ + gl: WebGLRenderingContext + ): YUVTextureRes + } + interface VKSession { + /** [Array.<Object> VKSession.getAllMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + getAllMarker(): VKMarker[] + /** [Array.<Object> VKSession.getAllOSDMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + getAllOSDMarker(): VKMarker[] + /** [Array.<Object> VKSession.hitTest(number x, number y, Object reset)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。 */ + hitTest( + /** 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 */ + x: number, + /** 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 */ + y: number, + /** 是否需要重新识别其他平面,v2 版本不再需要此参数 */ + reset: IAnyObject + ): HitTestRes[] + /** [VKSession.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.cancelAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。 */ + cancelAnimationFrame(requestID: number): void + /** [VKSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.destroy.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 销毁会话。 */ + destroy(): void + /** [VKSession.detectFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:需要基础库 `2.25.0` + * + * 静态图像人脸关键点检测。当 wx.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + detectFace(option: DetectFaceOption): void + /** [VKSession.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消监听会话事件。 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 监听会话事件。 */ + on( + /** 事件名称 + * + * 参数 eventName 可选值: + * - 'resize': 相机尺寸变化事件,回调参数为相机尺寸; + * - 'addAnchors': 增加 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持); + * - 'updateAnchors': 更新 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); + * - 'removeAnchors': 删除 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); */ + eventName: + | 'resize' + | 'addAnchors' + | 'updateAnchors' + | 'removeAnchors', + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.removeMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + removeMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.removeOSDMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + removeOSDMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.start(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 开启会话。 */ + start( + /** 开启会话回调 */ + callback: VKSessionStartCallback + ): void + /** [VKSession.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.stop.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 停止会话。 */ + stop(): void + /** [VKSession.updateOSDThreshold(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 更新 OSD 识别精确度,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + updateOSDThreshold( + /** 阈值 */ + threshold: number + ): void + /** [[VKFrame](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.html) VKSession.getVKFrame(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getVKFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取帧对象,每调用一次都会触发一次帧分析过程。 */ + getVKFrame( + /** 宽度 */ + width: number, + /** 高度 */ + height: number + ): VKFrame + /** [number VKSession.addMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addMarker 接口之前,需要在 createVKSession 的时候声明开启 marker 跟踪。即 wx.createVKSession({ track: { marker: true } }) + * 2. 可以添加多个 marker 图片,但不能重复添加相同的 marker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg/png 格式三通道彩图或者 1 通道灰度图 + * 2. 分辨率:尺寸在 480x480 ~ 1920x1920 之间,建议为 1080 分辨率 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标图像为平面模型,需要占画面主体,避免大面积留白,建议用扫描件 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrtaOpjb6Yc6mDhJKdUmrIpmtbWBMfAUAFavtKT6-tEZIh-8zT8tfBJBtvH048ge5Vw" alt="image.png" /> + * + * 建议: + * + * 1. 图片具有丰富的细节 + * 2. 避免重复单一的纹理,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq3iLsNXMvLiM6Wb5ZHOrVVGR2u5ixbQlbiSSuNHzVcMQQY5V0dvnlyOGihUIbyTvA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq-_lR2j4eOi23IOJ2LHFQY_PWufbx3s3uROgLi_flJMHQA8DNvlebs9UwumozPlXg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dr9IaSPF18UPnz4KrbAhGW9pIb8oWxzHgmClGIRZK59N4gUnJh69yoQW1TFGqce8ew" alt="image.png" /> + * <br> + * + * 3. 避免使用柔和平滑边缘的纹理及大量渐变图像,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq6DPj88qSVwHFZiumbE0IMq9ibzbnhjewzUSa-n5_VgF_lF9g07FFHHYyrY14KTSfA" alt="image.png" /> + * + * 4. 避免模糊,建议采用高清、高对比度图像作为识别对象 + * 5. 建议图像有均匀的特征(角点)分布,正确示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrrBRWB_Cw2aFXAn1KY0YtfjnQ7WNt854gA8H2zfmZUztlFcJbdEHouBGs63hUO4Mxg" alt="image.png" /> + * + * 避免角点较少、中间大量空白、没有特征及角点的图像,错误示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqzjY2LY-ylRjFS7TVD-cZsEE8TTB-xzR2YiWKhWyWg1bgpbRqQq-4l6OWPDii4S3Xg" alt="image.png" /> */ + addMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.addOSDMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 OSD marker(one-shot detection marker),要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addOSDMarker 接口之前,需要在 createVKSession 的时候声明开启 OSD 跟踪。即 wx.createVKSession({ track: { OSD: true } }) + * 2. 可以添加多个 OSDMarker 图片,但不能重复添加相同的 OSDMarker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg 格式彩色图片 + * 2. 分辨率:尺寸不低于 240x240 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标物体需要占画面主体,避免大面积留白,避免大面积文字,不能含其他物体。 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq_Mq0ReXEA5nOzDIvnYYPttmwxn0V1e_yI6UUgkNT6K6aOQj2QRba5IHQglHULkrKg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqwiRcyGk9oenkCpd3vAHWSTSZPPJcgIrPzcpwnSpmk_9bMiCqUdS8Ds789Rjhy0CtA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqx8fYUYypBmFmB1_zX-APH06j1oMZDz7K0CE2To_982NDOB5fmM4Y2Rrr1uQF6J4gg" alt="image.png" /> + * <br> + * + * 建议: + * + * 1. 具有丰富的细节,避免纯色且形状特点不鲜明的物体,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq-6WwSZKlNbN-if0NCag-Dm6AmNJeBFi5dvR-bRZINlZmuA9G1e4wpngvhlr2z6CXQ" alt="image.png" /> + * + * 2. 避免模糊,最好采用高清图片 */ + addOSDMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 在下次进行重绘时执行。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + } + interface VideoContext { + /** [VideoContext.exitBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 退出后台音频播放模式。 */ + exitBackgroundPlayback(): void + /** [VideoContext.exitFullScreen()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(): void + /** [VideoContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [VideoContext.hideStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.hideStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 隐藏状态栏,仅在iOS全屏下有效 */ + hideStatusBar(): void + /** [VideoContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停视频 */ + pause(): void + /** [VideoContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.play.html) + * + * 在插件中使用:支持 + * + * 播放视频 */ + play(): void + /** [VideoContext.playbackRate(number rate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.playbackRate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 设置倍速播放 */ + playbackRate( + /** 倍率,支持 0.5/0.8/1.0/1.25/1.5,2.6.3 起支持 2.0 倍速 */ + rate: number + ): void + /** [VideoContext.requestBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 进入后台音频播放模式。 */ + requestBackgroundPlayback(): void + /** [VideoContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */ + requestFullScreen(option: VideoContextRequestFullScreenOption): void + /** [VideoContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转到的位置,单位 s */ + position: number + ): void + /** [VideoContext.sendDanmu(Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.sendDanmu.html) + * + * 在插件中使用:支持 + * + * 发送弹幕 */ + sendDanmu( + /** 弹幕内容 */ + data: Danmu + ): void + /** [VideoContext.showStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.showStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 显示状态栏,仅在iOS全屏下有效 */ + showStatusBar(): void + /** [VideoContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.stop.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:支持 + * + * 停止视频 */ + stop(): void + } + interface VideoDecoder { + /** [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取下一帧的解码数据 */ + getFrameData(): FrameDataOptions + /** [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 移除解码器 */ + remove(): Promise<any> + /** [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 跳到某个时间点解码 */ + seek( + /** 跳转的解码位置,单位 ms */ + position: number + ): Promise<any> + /** [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始解码 */ + start(option: VideoDecoderStartOption): Promise<any> + /** [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 停止解码 */ + stop(): Promise<any> + /** [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 开始事件。返回 {width, height}; + * - 'stop': 结束事件。; + * - 'seek': seek 完成事件。; + * - 'bufferchange': 缓冲区变化事件。; + * - 'ended': 解码结束事件。; */ + eventName: 'start' | 'stop' | 'seek' | 'bufferchange' | 'ended', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + } + interface WebAudioContext { + /** [AnalyserNode WebAudioContext.createAnalyser()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createAnalyser.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:不支持 + * + * 创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。 */ + createAnalyser(): AnalyserNode + /** [BiquadFilterNode WebAudioContext.createBiquadFilter()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBiquadFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个BiquadFilterNode */ + createBiquadFilter(): BiquadFilterNode + /** [BufferSourceNode WebAudioContext.createBufferSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。 */ + createBufferSource(): BufferSourceNode + /** [ChannelMergerNode WebAudioContext.createChannelMerger(number numberOfInputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelMerger.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelMergerNode */ + createChannelMerger( + /** 输出流中需要保持的输入流的个数 */ + numberOfInputs: number + ): ChannelMergerNode + /** [ChannelSplitterNode WebAudioContext.createChannelSplitter(number numberOfOutputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelSplitter.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelSplitterNode */ + createChannelSplitter( + /** 要分别输出的输入音频流中的通道数 */ + numberOfOutputs: number + ): ChannelSplitterNode + /** [ConstantSourceNode WebAudioContext.createConstantSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createConstantSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个ConstantSourceNode */ + createConstantSource(): ConstantSourceNode + /** [DelayNode WebAudioContext.createDelay(number maxDelayTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDelay.html) + * + * 在插件中使用:不支持 + * + * 创建一个DelayNode */ + createDelay( + /** 最大延迟时间 */ + maxDelayTime: number + ): DelayNode + /** [DynamicsCompressorNode WebAudioContext.createDynamicsCompressor()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDynamicsCompressor.html) + * + * 在插件中使用:不支持 + * + * 创建一个DynamicsCompressorNode */ + createDynamicsCompressor(): DynamicsCompressorNode + /** [GainNode WebAudioContext.createGain()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createGain.html) + * + * 在插件中使用:不支持 + * + * 创建一个GainNode */ + createGain(): GainNode + /** [IIRFilterNode WebAudioContext.createIIRFilter(Array.<number> feedforward, Array.<number> feedback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createIIRFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个IIRFilterNode */ + createIIRFilter( + /** 一个浮点值数组,指定IIR滤波器传递函数的前馈(分子)系数。 */ + feedforward: number[], + /** 一个浮点值数组,指定IIR滤波器传递函数的反馈(分母)系数。 */ + feedback: number[] + ): IIRFilterNode + /** [OscillatorNode WebAudioContext.createOscillator()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createOscillator.html) + * + * 在插件中使用:不支持 + * + * 创建一个OscillatorNode */ + createOscillator(): OscillatorNode + /** [PannerNode WebAudioContext.createPanner()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPanner.html) + * + * 在插件中使用:不支持 + * + * 创建一个PannerNode */ + createPanner(): PannerNode + /** [PeriodicWaveNode WebAudioContext.createPeriodicWave(Float32Array real, Float32Array imag, object constraints)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPeriodicWave.html) +* +* 在插件中使用:不支持 +* +* 创建一个PeriodicWaveNode +* +* **注意** +* +* `real`和`imag`数组必须拥有一样的长度,否则抛出错误 +* ```js +const real = new Float32Array(2) +const imag = new Float32Array(2) +real[0] = 0 +imag[0] = 0 +real[1] = 1 +imag[1] = 0 + +const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true}) +``` */ + createPeriodicWave( + /** 一组余弦项(传统上是A项) */ + real: Float32Array, + /** 一组余弦项(传统上是A项) */ + imag: Float32Array, + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + constraints: Constraints + ): PeriodicWaveNode + /** [Promise WebAudioContext.close()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.close.html) +* +* 在插件中使用:不支持 +* +* 关闭WebAudioContext +* +* **注意事项** +* +* 同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,<b>不要在close后再次访问state属性。</b> +* ```js +const audioCtx = wx.createWebAudioContext() +audioCtx.close().then(() => { + console.log(audioCtx.state) // bad case:不应该在close后再访问state +}) +``` */ + close(): Promise<any> + /** [Promise WebAudioContext.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.resume.html) + * + * 在插件中使用:不支持 + * + * 同步恢复已经被暂停的WebAudioContext上下文 */ + resume(): Promise<any> + /** [Promise WebAudioContext.suspend()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.suspend.html) + * + * 在插件中使用:不支持 + * + * 同步暂停WebAudioContext上下文 */ + suspend(): Promise<any> + /** [ScriptProcessorNode WebAudioContext.createScriptProcessor(number bufferSize, number numberOfInputChannels, number numberOfOutputChannels)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createScriptProcessor.html) + * + * 在插件中使用:不支持 + * + * 创建一个ScriptProcessorNode */ + createScriptProcessor( + /** 缓冲区大小,以样本帧为单位 */ + bufferSize: number, + /** 用于指定输入node的声道的数量 */ + numberOfInputChannels: number, + /** 用于指定输出node的声道的数量 */ + numberOfOutputChannels: number + ): ScriptProcessorNode + /** [WaveShaperNode WebAudioContext.createWaveShaper()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createWaveShaper.html) + * + * 在插件中使用:不支持 + * + * 创建一个WaveShaperNode */ + createWaveShaper(): WaveShaperNode + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.createBuffer(number numOfChannels, number length, number sampleRate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBuffer.html) + * + * 在插件中使用:不支持 + * + * 创建一个AudioBuffer,代表着一段驻留在内存中的短音频 */ + createBuffer( + /** 定义了 buffer 中包含的声频通道数量的整数 */ + numOfChannels: number, + /** 代表 buffer 中的样本帧数的整数 */ + length: number, + /** 线性音频样本的采样率,即每一秒包含的关键帧的个数 */ + sampleRate: number + ): AudioBuffer + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.decodeAudioData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html) + * + * 在插件中使用:不支持 + * + * 异步解码一段资源为AudioBuffer。 */ + decodeAudioData(): AudioBuffer + } + interface WifiError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errCode: number + } + interface Worker { + /** [ArrayBuffer Worker.getCameraFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) +* +* 需要基础库: `2.25.1` +* +* 在插件中使用:不支持 +* +* 获取摄像头当前帧图像,返回ArrayBuffer数据。仅限在 worker 线程中使用。 +* +* **示例代码** +* +* ```js +// app.js +const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true +}) + +const cameraContext = wx.createCameraContext() +const cameraFrameListener = cameraContext.onCameraFrame(function() {}) +cameraFrameListener.start({ + worker: worker +}) +``` +* +* ```js +// workers/index.js +const data = worker.getCameraFrameData() +console.log(data) +``` */ + getCameraFrameData(): ArrayBuffer + /** [Worker.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听主线程/Worker 线程向当前线程发送的消息的事件。 */ + onMessage( + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + listener: WorkerOnMessageCallback + ): void + /** [Worker.onProcessKilled(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html) + * + * 在插件中使用:不支持 + * + * 监听 worker线程被系统回收事件(当iOS系统资源紧张时,worker线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker)。仅限在主线程 worker 对象上调用。 */ + onProcessKilled( + /** worker线程被系统回收事件的监听函数 */ + listener: OnProcessKilledCallback + ): void + /** [Worker.postMessage(Object message)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.postMessage.html) +* +* 在插件中使用:不支持 +* +* 向主线程/Worker 线程发送的消息。 +* +* **示例代码** +* +* worker 线程中 +* ```js +worker.postMessage({ + msg: 'hello from worker' +}) +``` +* +* 主线程中 +* ```js +const worker = wx.createWorker('workers/request/index.js') + +worker.postMessage({ + msg: 'hello from main' +}) +``` +* +* **提醒** +* +* 在基础库版本2.20.2之前,postMessage仅支持传递可序列化的key-value对象。 +* 在基础库2.20.2之后,postMessage支持传递任意类型的数据。 */ + postMessage( + /** 需要发送的消息。 */ + message: IAnyObject + ): void + /** [Worker.terminate()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.terminate.html) + * + * 在插件中使用:不支持 + * + * 结束当前 Worker 线程。仅限在主线程 worker 对象上调用。 */ + terminate(): void + } + interface WriteSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface Wx { + bindLocalAccount(arg0: { desc: string; success: (res: any) => void }) + /** [Array.<any> wx.batchGetStorageSync(Array.<string> keyList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中同步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +try { + var valueList = wx.batchGetStorageSync(['key']) + if (valueList) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` +* +* **** +* +* 对于多个key的读取, 批量读取在性能上优于多次getStorageSync读取 */ + batchGetStorageSync( + /** 本地缓存中指定的 key 数组 */ + keyList: string[] + ): any[] + /** [ArrayBuffer wx.base64ToArrayBuffer(string base64)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.base64ToArrayBuffer.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 Base64 字符串转成 ArrayBuffer 对象 */ + base64ToArrayBuffer( + /** 要转化成 ArrayBuffer 对象的 Base64 字符串 */ + base64: string + ): ArrayBuffer + /** [Object wx.getAccountInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html) +* +* 需要基础库: `2.2.2` +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。 +* +* **示例代码** +* +* ```js +const accountInfo = wx.getAccountInfoSync(); +console.log(accountInfo.miniProgram.appId) // 小程序 appId +console.log(accountInfo.plugin.appId) // 插件 appId +console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式 +``` */ + getAccountInfoSync(): AccountInfo + /** [Object wx.getAppAuthorizeSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP授权设置 +* +* **示例代码** +* +* ```js +const appAuthorizeSetting = wx.getAppAuthorizeSetting() + +console.log(appAuthorizeSetting.albumAuthorized) +console.log(appAuthorizeSetting.bluetoothAuthorized) +console.log(appAuthorizeSetting.cameraAuthorized) +console.log(appAuthorizeSetting.locationAuthorized) +console.log(appAuthorizeSetting.locationReducedAccuracy) +console.log(appAuthorizeSetting.microphoneAuthorized) +console.log(appAuthorizeSetting.notificationAlertAuthorized) +console.log(appAuthorizeSetting.notificationAuthorized) +console.log(appAuthorizeSetting.notificationBadgeAuthorized) +console.log(appAuthorizeSetting.notificationSoundAuthorized) +console.log(appAuthorizeSetting.phoneCalendarAuthorized) +``` +* +* **返回值说明** +* +* `'authorized'` 表示已经获得授权,无需再次请求授权; +* `'denied'` 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户[打开系统设置](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html),在设置页中打开权限) +* `'non determined'` 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) */ + getAppAuthorizeSetting(): AppAuthorizeSetting + /** [Object wx.getAppBaseInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP基础信息 +* +* **示例代码** +* +* ```js +const appBaseInfo = wx.getAppBaseInfo() + +console.log(appBaseInfo.SDKVersion) +console.log(appBaseInfo.enableDebug) +console.log(appBaseInfo.host) +console.log(appBaseInfo.language) +console.log(appBaseInfo.version) +console.log(appBaseInfo.theme) +``` */ + getAppBaseInfo(): AppBaseInfo + /** [Object wx.getBatteryInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * [wx.getBatteryInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) 的同步版本 */ + getBatteryInfoSync(): GetBatteryInfoSyncResult + /** [Object wx.getDeviceInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备基础信息 +* +* **示例代码** +* +* ```js +const deviceInfo = wx.getDeviceInfo() + +console.log(deviceInfo.abi) +console.log(deviceInfo.benchmarkLevel) +console.log(deviceInfo.brand) +console.log(deviceInfo.model) +console.log(deviceInfo.platform) +console.log(deviceInfo.system) +``` */ + getDeviceInfo(): DeviceInfo + /** [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html) + * + * 需要基础库: `2.9.4` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onLaunch-Object-object) 的回调参数一致;如果当前是热启动,则返回值与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onShow-Object-object) 一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无 `referrerInfo` 的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getEnterOptionsSync(): LaunchOptionsApp + /** [Object wx.getExptInfoSync(Array.<string> keys)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html) + * + * 需要基础库: `2.17.0` + * + * 在插件中使用:不支持 + * + * 给定实验参数数组,获取对应的实验参数值 + * + * **提示** + * + * 假设实验参数有 `color`, `size` + * 调用 wx.getExptInfoSync() 会返回 `{color:'#fff',size:20}` 类似的结果 + * 而 wx.getExptInfoSync(['color']) 则只会返回 `{color:'#fff'}` */ + getExptInfoSync( + /** 实验参数数组,不填则获取所有实验参数 */ + keys?: string[] + ): IAnyObject + /** [Object wx.getExtConfigSync()](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 的同步版本。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfigSync](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) 是否存在来兼容 +* +* **** +* +* ```js +let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {} +console.log(extConfig) +``` */ + getExtConfigSync(): IAnyObject + /** [Object wx.getLaunchOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取小程序启动时的参数。与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onlaunchobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * | 1069 | 移动应用 | 来源App | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getLaunchOptionsSync(): LaunchOptionsApp + /** [Object wx.getMenuButtonBoundingClientRect()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.getMenuButtonBoundingClientRect.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。 +* +* **示例代码** +* +* ```js +const res = wx.getMenuButtonBoundingClientRect() + +console.log(res.width) +console.log(res.height) +console.log(res.top) +console.log(res.right) +console.log(res.bottom) +console.log(res.left) +``` */ + getMenuButtonBoundingClientRect(): ClientRect + /** [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html) +* +* 在插件中使用:不支持 +* +* [wx.getStorageInfo](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfoSync(): GetStorageInfoSyncOption + /** [Object wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.getSystemInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) 的同步版本 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfoSync(): SystemInfo + /** [Object wx.getSystemSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备设置 +* +* **示例代码** +* +* ```js +const systemSetting = wx.getSystemSetting() + +console.log(systemSetting.bluetoothEnabled) +console.log(systemSetting.deviceOrientation) +console.log(systemSetting.locationEnabled) +console.log(systemSetting.wifiEnabled) +``` */ + getSystemSetting(): SystemSetting + /** [Object wx.getWindowInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取窗口信息 +* +* **示例代码** +* +* ```js +const windowInfo = wx.getWindowInfo() + +console.log(windowInfo.pixelRatio) +console.log(windowInfo.screenWidth) +console.log(windowInfo.screenHeight) +console.log(windowInfo.windowWidth) +console.log(windowInfo.windowHeight) +console.log(windowInfo.statusBarHeight) +console.log(windowInfo.safeArea) +console.log(windowInfo.screenTop) +``` */ + getWindowInfo(): WindowInfo + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) wx.createAnimation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/wx.createAnimation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建一个动画实例 [animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html)。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。 */ + createAnimation(option: StepOption): Animation + /** [[AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) wx.createAudioContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createAudioContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 创建 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) 对象。 */ + createAudioContext( + /** [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): AudioContext + /** [[BackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html) wx.getBackgroundAudioManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取**全局唯一**的背景音频管理器。 + * 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 + * + * 从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 [app.json](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html) 中配置 `requiredBackgroundModes` 属性。开发版和体验版上可以直接生效,正式版还需通过审核。 */ + getBackgroundAudioManager(): BackgroundAudioManager + /** [[CacheManager](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.html) wx.createCacheManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/wx.createCacheManager.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 创建缓存管理器 +* +* **示例代码** +* +* <a href="https://github.com/wechat-miniprogram/miniprogram-offline-demo" target="_blank">查看完整示例代码</a> +* +* ```js +const cacheManager = createCacheManager() +cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配 + +cacheManager.on('request', evt => { + // 在弱网时接收到 wx.request 请求 + return new Promise((resolve, reject) => { + const matchRes = cm.match(evt) + if (matchRes && matchRes.data) { + // 有缓存,返回 + resolve(matchRes.data) + } else { + // 没缓存,抛错 + reject({ errMsg: 'no cache' }) + } + }) +}) +``` */ + createCacheManager(option: CreateCacheManagerOption): CacheManager + /** [[CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) wx.createCameraContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/wx.createCameraContext.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 上下文 [CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) 对象。 */ + createCameraContext(): CameraContext + /** [[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) wx.createCanvasContext(string canvasId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 替换 + * + * 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 */ + createCanvasContext( + /** 要获取上下文的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 canvas-id 属性 */ + canvasId: string, + /** 在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) ,如果省略则不在任何自定义组件内查找 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): CanvasContext + /** [[DownloadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.html) wx.downloadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* 注意:请在服务端响应的 header 中指定合理的 `Content-Type` 字段,以保证客户端正确处理文件类型。 +* +* **示例代码** +* +* ```js +wx.downloadFile({ + url: 'https://example.com/audio/123', //仅为示例,并非真实的资源 + success (res) { + // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容 + if (res.statusCode === 200) { + wx.playVoice({ + filePath: res.tempFilePath + }) + } + } +}) +``` */ + downloadFile(option: DownloadFileOption): DownloadTask + /** [[FileSystemManager](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html) wx.getFileSystemManager()](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileSystemManager.html) + * + * 需要基础库: `1.9.9` + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取全局唯一的文件管理器 */ + getFileSystemManager(): FileSystemManager + /** [[InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) wx.createInnerAudioContext(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 创建内部 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 对象。 +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext({ + useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项 +}) +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' + +innerAudioContext.play() // 播放 + +innerAudioContext.pause() // 暂停 + +innerAudioContext.stop() // 停止 +``` */ + createInnerAudioContext( + option?: CreateInnerAudioContextOption + ): InnerAudioContext + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) wx.createIntersectionObserver(Object component, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createIntersectionObserver.html) + * + * 需要基础库: `1.9.3` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createIntersectionObserver([options])` 来代替。 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/LAbMxkmI7F2A) */ + createIntersectionObserver( + /** 自定义组件实例 */ + component: IAnyObject, + /** 选项 */ + options?: CreateIntersectionObserverOption + ): IntersectionObserver + /** [[InterstitialAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html) wx.createInterstitialAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html) + * + * 需要基础库: `2.6.0` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建插屏广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。 */ + createInterstitialAd(option: CreateInterstitialAdOption): InterstitialAd + /** [[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) wx.createLivePlayerContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePlayerContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 上下文 [LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createLivePlayerContext( + /** [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): LivePlayerContext + /** [[LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) wx.createLivePusherContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePusherContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html) 上下文 [LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) 对象。 */ + createLivePusherContext(): LivePusherContext + /** [[LogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.html) wx.getLogManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getLogManager.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:不支持 +* +* 获取日志管理器对象。 +* +* **示例代码** +* +* ```js +const logger = wx.getLogManager({level: 1}) +logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3]) +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) +``` */ + getLogManager(option: GetLogManagerOption): LogManager + /** [[MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) wx.createMapContext(string mapId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/wx.createMapContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 上下文 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createMapContext( + /** [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件的 id */ + mapId: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): MapContext + /** [[MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) wx.createMediaAudioPlayer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 创建媒体音频播放器对象 [MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) 对象,可用于播放视频解码器 [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) 输出的音频。 +* +* **示例代码** +* +* ```js + // 创建视频解码器,具体参数见 createVideoDecoder 文档 + const videoDecoder = wx.createVideoDecoder() + // 创建媒体音频播放器 + const mediaAudioPlayer = wx.createMediaAudioPlayer() + // 启动视频解码器 + videoDecoder.start() + // 启动播放器 + mediaAudioPlayer.start().then(() => { + // 添加播放器音频来源 + mediaAudioPlayer.addAudioSource(videoDecoder).then(res => { + videoDecoder.getFrameData() // 建议在 requestAnimationFrame 里获取每一帧视频数据 + console.log(res) + }) + + // 移除播放器音频来源 + mediaAudioPlayer.removeAudioSource(videoDecoder).then() + // 停止播放器 + mediaAudioPlayer.stop().then() + // 销毁播放器 + mediaAudioPlayer.destroy().then() + // 设置播放器音量 + mediaAudioPlayer.volume = 0.5 + }) +``` +* +* **完整demo(小游戏)** +* +* - https://developers.weixin.qq.com/s/SF2duHmb7MjI */ + createMediaAudioPlayer(): MediaAudioPlayer + /** [[MediaContainer](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.html) wx.createMediaContainer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/wx.createMediaContainer.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 创建音视频处理容器,最终可将容器中的轨道合成一个视频 */ + createMediaContainer(): MediaContainer + /** [[MediaRecorder](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.html) wx.createMediaRecorder(Object canvas, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.11.0` +* +* 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MCz3kPmC7zpa) +* +* **低版本异步接口兼容** +* +* 对基础库 2.16.1 版本前的 mediaRecorder,所有的接口都没有返回 Promise 对象,若需要兼容低版本,则可采用如下方式的写法: +* ```javascript +// 启动 mediaRecorder +await new Promise(resolve => { + recorder.on('start', resolve) + recorder.start() +}) + +// 逐帧绘制 +while (frames--) { + await new Promise(resolve => recorder.requestFrame(resolve)) + render() +} + +// 绘制完成,生成视频 +const {tempFilePath} = await new Promise(resolve => { + recorder.on('stop', resolve) + recorder.stop() +}) +``` */ + createMediaRecorder( + /** WebGL 对象,通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取到的 node 对象或通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建的离屏 WebGL Canvas 对象 */ + canvas: IAnyObject, + options: CreateMediaRecorderOption + ): MediaRecorder + /** [[NFCAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.html) wx.getNFCAdapter()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/wx.getNFCAdapter.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:需要基础库 `2.11.2` + * + * 获取 NFC 实例 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/1WsbDwmb75ig) */ + getNFCAdapter(): NFCAdapter + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + /** 画布宽度 */ + width: number, + /** 画布高度 */ + height: number, + /** 在自定义组件下,当前组件实例的 this */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): OffscreenCanvas + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + option: CreateOffscreenCanvasOption + ): OffscreenCanvas + /** [[Performance](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.html) wx.getPerformance()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.getPerformance.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:支持 +* +* 获取当前小程序性能相关的信息。关于小程序启动性能优化的更多内容,请参考[启动性能指南](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/start.html)。 +* +* **** +* +* 目前支持获取以下几类性能指标,具体内容请参考 [PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html): +* +* | 指标类型(entryType) | 指标名称 | 最低版本 | +* | ------------------- | ---------------- | ------ | +* | 路由(navigation) | route: 路由性能 | | +* | 路由(navigation) | appLaunch: 小程序启动耗时 | | +* | 渲染(render) | firstRender: 页面首次渲染耗时 | | +* | 渲染(render) | firstPaint: 页面首次绘制 | <2.21.2> | +* | 渲染(render) | firstContentfulPaint: 页面首次内容绘制 | <2.21.2> | +* | 渲染(render) | largestContentfulPaint: 页面最大内容绘制 | <2.23.1> | +* | 脚本(script) | evaluateScript: 注入脚本耗时 | | +* | 包加载(loadPackage)| downloadPackage: 代码包下载耗时 | <2.24.0> | +* | 资源(resource) | resourceTiming: 视图层资源加载耗时 | <2.24.0> | +* +* **示例代码** +* +* ```js +const performance = wx.getPerformance() +const observer = performance.createObserver((entryList) => { + console.log(entryList.getEntries()) +}) +observer.observe({ entryTypes: ['render', 'script', 'navigation'] }) +``` +* +* **注意** +* +* - 目前,当开启代码 [按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html) 时,`evaluateScript` 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 `firstRender` 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(`appLaunch`)来评估。 +* - firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。 */ + getPerformance(): Performance + /** [[RealtimeLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getRealtimeLogManager.html) +* +* 需要基础库: `2.7.1` +* +* 在插件中使用:需要基础库 `2.16.0` +* +* 获取实时日志管理器对象。 +* +* **示例代码** +* +* ```js +// 小程序端 +const logger = wx.getRealtimeLogManager() +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) + +// 插件端,基础库 2.16.0 版本后支持,只允许采用 key-value 的新格式上报 +const logManager = wx.getRealtimeLogManager() +const logger = logManager.tag('plugin-log1') +logger.info('key1', 'value1') +logger.error('key2', {str: 'value2'}) +logger.warn('key3', 'value3') +``` */ + getRealtimeLogManager(): RealtimeLogManager + /** [[RecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.html) wx.getRecorderManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.94` + * + * 获取**全局唯一**的录音管理器 RecorderManager */ + getRecorderManager(): RecorderManager + /** [[RequestTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.html) wx.request(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **data 参数说明** +* +* 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: +* - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`) +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化 +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)` +* +* **示例代码** +* +* ```js +wx.request({ + url: 'example.php', //仅为示例,并非真实的接口地址 + data: { + x: '', + y: '' + }, + header: { + 'content-type': 'application/json' // 默认值 + }, + success (res) { + console.log(res.data) + } +}) +``` */ + request< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + >( + option: RequestOption<T> + ): RequestTask + /** [[RewardedVideoAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html) wx.createRewardedVideoAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html) + * + * 需要基础库: `2.0.4` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建激励视频广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API(小游戏端要求 >= 2.0.4, 小程序端要求 >= 2.6.0)。调用该方法创建的激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。 */ + createRewardedVideoAd( + option: CreateRewardedVideoAdOption + ): RewardedVideoAd + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) wx.createSelectorQuery()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createSelectorQuery()` 来代替。 +* +* **示例代码** +* +* ```js +const query = wx.createSelectorQuery() +query.select('#the-id').boundingClientRect() +query.selectViewport().scrollOffset() +query.exec(function(res){ + res[0].top // #the-id节点的上边界坐标 + res[1].scrollTop // 显示区域的竖直滚动位置 +}) +``` */ + createSelectorQuery(): SelectorQuery + /** [[SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) wx.connectSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.connectSocket.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 创建一个 WebSocket 连接。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **并发数** +* +* - 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。 +* - 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'wss://example.qq.com', + header:{ + 'content-type': 'application/json' + }, + protocols: ['protocol1'] +}) +``` */ + connectSocket(option: ConnectSocketOption): SocketTask + /** [[TCPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.html) wx.createTCPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/wx.createTCPSocket.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 创建一个 TCP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 + * + * **连接限制** + * + * - 允许与局域网内的非本机 IP 通信 + * - 允许与配置过的服务器域名通信,详见[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html) + * - 禁止与以下端口号连接:`1024 以下` `1099` `1433` `1521` `1719` `1720` `1723` `2049` `2375` `3128` `3306` `3389` `3659` `4045` `5060` `5061` `5432` `5984` `6379` `6000` `6566` `7001` `7002` `8000-8100` `8443` `8888` `9200` `9300` `10051` `10080` `11211` `27017` `27018` `27019` + * - 每 5 分钟内最多创建 20 个 TCPSocket */ + createTCPSocket(): TCPSocket + /** [[UDPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.html) wx.createUDPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/wx.createUDPSocket.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 创建一个 UDP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 */ + createUDPSocket(): UDPSocket + /** [[UpdateManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html) wx.getUpdateManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:不支持 + * + * 获取**全局唯一**的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看[运行机制](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html)文档。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + getUpdateManager(): UpdateManager + /** [[UploadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.html) wx.uploadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 `content-type` 为 `multipart/form-data`。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success (res) { + const tempFilePaths = res.tempFilePaths + wx.uploadFile({ + url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 + filePath: tempFilePaths[0], + name: 'file', + formData: { + 'user': 'test' + }, + success (res){ + const data = res.data + //do something + } + }) + } +}) +``` */ + uploadFile(option: UploadFileOption): UploadTask + /** [[UserCryptoManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.html) wx.getUserCryptoManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/wx.getUserCryptoManager.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 获取用户加密模块 */ + getUserCryptoManager(): UserCryptoManager + /** [[VKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.html) wx.createVKSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:需要基础库 `2.20.0` +* +* 创建 vision kit 会话对象。 +* +* **示例代码** +* +* v1 版本:[VisionKit基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic) +* v2 版本:[VisionKit-v2基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic-v2) +* ```js +// 以下 demo 以 v2 为例 +// 创建 session 对象 +const ssession = wx.createVKSession({ + track: { + plane: {mode: 3}, + }, + version: 'v2', + gl, // WebGLRenderingContext +}) + +// 逐帧分析 +const onFrame = timestamp => { + // 开发者可以自己控制帧率 + const frame = session.getVKFrame(canvasWidth, canvasHeight) + if (frame) { + // 分析完毕,可以拿到帧对象 + doRender(frame) + } + + session.requestAnimationFrame(onFrame) +} +session.start(err => { + if (!err) session.requestAnimationFrame(onFrame) +}) + +// 渲染函数 +const doRender = frame => { + // ... +} +``` */ + createVKSession(option: VKConfig): VKSession + /** [[VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) wx.createVideoContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.createVideoContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 上下文 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createVideoContext( + /** [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): VideoContext + /** [[VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) wx.createVideoDecoder()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 创建视频解码器,可逐帧获取解码后的数据 */ + createVideoDecoder(): VideoDecoder + /** [[WebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.html) wx.createWebAudioContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 创建 WebAudio 上下文。 */ + createWebAudioContext(): WebAudioContext + /** [[Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) wx.createWorker(string scriptPath, object options)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) +* +* 需要基础库: `1.9.90` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 创建一个 Worker 线程 +* +* **示例代码** +* +* ```js +// 创建普通worker +wx.createWorker('workers/index.js') +``` +* ```js +function createNewWorker() { + const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true + }) + // 监听worker被系统回收事件 + worker.onProcessKilled(() => { + // 重新创建一个worker + createNewWorker() + }) +} +// 创建实验worker +createNewWorker() +``` */ + createWorker( + /** worker 入口文件的**绝对路径** */ + scriptPath: string, + /** 可选参数 */ + options?: CreateWorkerOption + ): Worker + /** [any wx.getStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中同步获取指定 key 的内容。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + var value = wx.getStorageSync('key') + if (value) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` */ + getStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string + ): T + /** [boolean wx.canIUse(string schema)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) +* +* 需要基础库: `1.1.1` +* +* 在插件中使用:不支持 +* +* 判断小程序的API,回调,参数,组件等是否在当前版本可用。 +* +* **参数说明** +* +* - `${API}` 代表 API 名字 +* - `${method}` 代表调用方式,有效值为return, success, object, callback +* - `${param}` 代表参数或者返回值 +* - `${option}` 代表参数的可选值或者返回值的属性 +* - `${component}` 代表组件名字 +* - `${attribute}` 代表组件属性 +* - `${option}` 代表组件属性的可选值 +* +* **示例代码** +* +* ```js +// 对象的属性或方法 +wx.canIUse('console.log') +wx.canIUse('CameraContext.onCameraFrame') +wx.canIUse('CameraFrameListener.start') +wx.canIUse('Image.src') + +// wx接口参数、回调或者返回值 +wx.canIUse('openBluetoothAdapter') +wx.canIUse('getSystemInfoSync.return.safeArea.left') +wx.canIUse('getSystemInfo.success.screenWidth') +wx.canIUse('showToast.object.image') +wx.canIUse('onCompassChange.callback.direction') +wx.canIUse('request.object.method.GET') + +// 组件的属性 +wx.canIUse('live-player') +wx.canIUse('text.selectable') +wx.canIUse('button.open-type.contact') +``` */ + canIUse( + /** 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 */ + schema: string + ): boolean + /** [boolean wx.isVKSupport(string version)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.isVKSupport.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.0` +* +* 判断支持版本 +* +* **示例代码** +* +* ```js +const isSupportV2 = wx.isVKSupport('v2') +``` */ + isVKSupport( + /** 参数 version 可选值: + * - 'v1': 旧版本; + * - 'v2': v2 版本,目前只有 iOS 基础库 2.22.0 以上支持; */ + version: 'v1' | 'v2' + ): boolean + /** [string wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 ArrayBuffer 对象转成 Base64 字符串 */ + arrayBufferToBase64( + /** 要转换成 Base64 字符串的 ArrayBuffer 对象 */ + arrayBuffer: ArrayBuffer + ): string + /** [wx.addCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 批量添加卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **cardExt 说明** +* +* cardExt 是卡券的扩展参数,其值是一个 JSON 字符串。 +* +* **示例代码** +* +* ```js +wx.addCard({ + cardList: [ + { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + }, { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + } + ], + success (res) { + console.log(res.cardList) // 卡券添加结果 + } +}) +``` */ + addCard<T extends AddCardOption = AddCardOption>( + option: T + ): PromisifySuccessResult<T, AddCardOption> + /** [wx.addFileToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addFileToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏文件 */ + addFileToFavorites< + T extends AddFileToFavoritesOption = AddFileToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddFileToFavoritesOption> + /** [wx.addPhoneCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加事件 */ + addPhoneCalendar< + T extends AddPhoneCalendarOption = AddPhoneCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneCalendarOption> + /** [wx.addPhoneContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 添加手机通讯录联系人。用户可以选择将该表单以「新增联系人」或「添加到已有联系人」的方式,写入手机系统通讯录。 */ + addPhoneContact< + T extends AddPhoneContactOption = AddPhoneContactOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneContactOption> + /** [wx.addPhoneRepeatCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加重复事件 */ + addPhoneRepeatCalendar< + T extends AddPhoneRepeatCalendarOption = AddPhoneRepeatCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneRepeatCalendarOption> + /** [wx.addVideoToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addVideoToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏视频 */ + addVideoToFavorites< + T extends AddVideoToFavoritesOption = AddVideoToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddVideoToFavoritesOption> + /** [wx.authPrivateMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.authPrivateMessage.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 验证私密消息。用法详情见 [小程序私密消息使用指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) +* +* **示例代码** +* +* ```js +wx.authPrivateMessage({ + shareTicket: 'xxxxxx', + success(res) { + console.log('authPrivateMessage success', res) + // res + // { + // errMsg: 'authPrivateMessage:ok' + // valid: true + // iv: 'xxxx', + // encryptedData: 'xxxxxx' + // } + }, + fail(res) { + console.log('authPrivateMessage fail', res) + } +}) +``` */ + authPrivateMessage(option?: AuthPrivateMessageOption): void + /** [wx.authorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)。 +* > 小程序插件可以使用 [wx.authorizeForMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* **示例代码** +* +* ```js +// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope +wx.getSetting({ + success(res) { + if (!res.authSetting['scope.record']) { + wx.authorize({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } + }) + } + } +}) +``` */ + authorize<T extends AuthorizeOption = AuthorizeOption>( + option: T + ): PromisifySuccessResult<T, AuthorizeOption> + /** [wx.authorizeForMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* 需要基础库: `2.14.4` +* +* 在插件中使用:需要基础库 `2.14.4` +* +* **仅小程序插件中能调用该接口**,用法同 [wx.authorize](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)。目前仅支持三种 scope(见下) +* +* **示例代码** +* +* ```js +wx.authorizeForMiniProgram({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } +}) +``` */ + authorizeForMiniProgram(option: AuthorizeForMiniProgramOption): void + /** [wx.batchGetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中异步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.batchGetStorage({ + keyList: ['key'], + success (res) { + console.log(res) + } +}) +``` */ + batchGetStorage< + T extends BatchGetStorageOption = BatchGetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchGetStorageOption> + /** [wx.batchSetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.batchSetStorage({ + kvList: { + key: 'key', + value: 'value', + } +}) +``` */ + batchSetStorage< + T extends BatchSetStorageOption = BatchSetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchSetStorageOption> + /** [wx.batchSetStorageSync(KVArray kvList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +try { + wx.batchSetStorageSync([{key: 'key', value: 'value'}]) +} catch (e) { } +``` */ + batchSetStorageSync(kvList: KVArray): void + /** [wx.canvasGetImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取 canvas 区域隐含的像素数据。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/yufmRjmZ7W8f) +* +* ```js +wx.canvasGetImageData({ + canvasId: 'myCanvas', + x: 0, + y: 0, + width: 100, + height: 100, + success(res) { + console.log(res.width) // 100 + console.log(res.height) // 100 + console.log(res.data instanceof Uint8ClampedArray) // true + console.log(res.data.length) // 100 * 100 * 4 + } +}) +``` */ + canvasGetImageData< + T extends CanvasGetImageDataOption = CanvasGetImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasGetImageDataOption> + /** [wx.canvasPutImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件 */ + canvasPutImageData< + T extends CanvasPutImageDataOption = CanvasPutImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasPutImageDataOption> + /** [wx.canvasToTempFilePath(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 */ + canvasToTempFilePath< + T extends CanvasToTempFilePathOption = CanvasToTempFilePathOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasToTempFilePathOption> + /** [wx.checkIsOpenAccessibility(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accessibility/wx.checkIsOpenAccessibility.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 检测是否开启视觉无障碍功能。 */ + checkIsOpenAccessibility< + T extends CheckIsOpenAccessibilityOption = CheckIsOpenAccessibilityOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsOpenAccessibilityOption> + /** [wx.checkIsSoterEnrolledInDevice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSoterEnrolledInDevice.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:不支持 +* +* 获取设备内是否录入如指纹等生物信息的接口 +* +* **示例代码** +* +* ```js +wx.checkIsSoterEnrolledInDevice({ + checkAuthMode: 'fingerPrint', + success(res) { + console.log(res.isEnrolled) + } +}) +``` */ + checkIsSoterEnrolledInDevice< + T extends CheckIsSoterEnrolledInDeviceOption = CheckIsSoterEnrolledInDeviceOption + >( + option: T + ): PromisifySuccessResult<T, CheckIsSoterEnrolledInDeviceOption> + /** [wx.checkIsSupportSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSupportSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 获取本机支持的 SOTER 生物认证方式 +* +* **示例代码** +* +* ```js +wx.checkIsSupportSoterAuthentication({ + success(res) { + // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式 + // res.supportMode = ['fingerPrint'] 只支持指纹识别 + // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别 + } +}) +``` */ + checkIsSupportSoterAuthentication< + T extends CheckIsSupportSoterAuthenticationOption = CheckIsSupportSoterAuthenticationOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsSupportSoterAuthenticationOption> + /** [wx.checkSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html) +* +* 在插件中使用:不支持 +* +* 检查登录态是否过期。 +* 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。 +* +* 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。 +* +* **示例代码** +* +* ```js +wx.checkSession({ + success () { + //session_key 未过期,并且在本生命周期一直有效 + }, + fail () { + // session_key 已经失效,需要重新执行登录流程 + wx.login() //重新登录 + } +}) +``` */ + checkSession<T extends CheckSessionOption = CheckSessionOption>( + option?: T + ): PromisifySuccessResult<T, CheckSessionOption> + /** [wx.chooseAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/024hHnmd772y) +* ```js +wx.chooseAddress({ + success (res) { + console.log(res.userName) + console.log(res.postalCode) + console.log(res.provinceName) + console.log(res.cityName) + console.log(res.countyName) + console.log(res.detailInfo) + console.log(res.nationalCode) + console.log(res.telNumber) + } +}) +``` */ + chooseAddress<T extends ChooseAddressOption = ChooseAddressOption>( + option?: T + ): PromisifySuccessResult<T, ChooseAddressOption> + /** [wx.chooseContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.chooseContact.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉起手机通讯录,选择联系人。 */ + chooseContact(option?: ChooseContactOption): void + /** [wx.chooseImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 从本地相册选择图片或使用相机拍照。 +* +* **** +* +* ```js +wx.chooseImage({ + count: 1, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFilePaths + } +}) +``` */ + chooseImage<T extends ChooseImageOption = ChooseImageOption>( + option?: T + ): PromisifySuccessResult<T, ChooseImageOption> + /** [wx.chooseInvoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 选择用户已有的发票。 + * + * **通过 cardId 和 encryptCode 获得报销发票的信息** + * + * 请参考[微信电子发票文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21517918939oae3U)中,「查询报销发票信息」部分。 + * 其中 `access_token` 的获取请参考[auth.getAccessToken](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html)文档 */ + chooseInvoice<T extends ChooseInvoiceOption = ChooseInvoiceOption>( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceOption> + /** [wx.chooseInvoiceTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 选择用户的发票抬头。当前小程序必须关联一个公众号,且这个公众号是完成了[微信认证](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496554031_RD4xe)的,才能调用 chooseInvoiceTitle。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/GJ4S9nmQ7x2E) +* +* ```js +wx.chooseInvoiceTitle({ + success(res) {} +}) +``` */ + chooseInvoiceTitle< + T extends ChooseInvoiceTitleOption = ChooseInvoiceTitleOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceTitleOption> + /** [wx.chooseLicensePlate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/license-plate/wx.chooseLicensePlate.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 选择车牌号 */ + chooseLicensePlate< + T extends ChooseLicensePlateOption = ChooseLicensePlateOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseLicensePlateOption> + /** [wx.chooseLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开地图选择位置。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/WDFC8aB4FI8rJ9oEmbYfbH_Fl3EIv91471YVxezVfLRESkUuCgfODZcbOoyteKU4j-OLZa2EFKY9BDPd3g-tfg) */ + chooseLocation<T extends ChooseLocationOption = ChooseLocationOption>( + option: T + ): PromisifySuccessResult<T, ChooseLocationOption> + /** [wx.chooseMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 拍摄或从手机相册中选择图片或视频。 +* +* **示例代码** +* +* ```js +wx.chooseMedia({ + count: 9, + mediaType: ['image','video'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success(res) { + console.log(res.tempFiles.tempFilePath) + console.log(res.tempFiles.size) + } +}) +``` */ + chooseMedia<T extends ChooseMediaOption = ChooseMediaOption>( + option: T + ): PromisifySuccessResult<T, ChooseMediaOption> + /** [wx.chooseMessageFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html) +* +* 需要基础库: `2.5.0` +* +* 在插件中使用:不支持 +* +* 从客户端会话选择文件。 +* +* **** +* +* ```js +wx.chooseMessageFile({ + count: 10, + type: 'image', + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFiles + } +}) +``` */ + chooseMessageFile< + T extends ChooseMessageFileOption = ChooseMessageFileOption + >( + option: T + ): PromisifySuccessResult<T, ChooseMessageFileOption> + /** [wx.choosePoi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.choosePoi.html) + * + * 在插件中使用:不支持 + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/lzDsNyBNifLczyLX0ms7ZpPQysgAgdhrQTGzzTQPiXkAB2HJIf1Slvl4rnN9I1q0AT3xqoGTg98jMsNexDLbbA) */ + choosePoi<T extends ChoosePoiOption = ChoosePoiOption>( + option: T + ): PromisifySuccessResult<T, ChoosePoiOption> + /** [wx.chooseVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 拍摄视频或从手机相册中选视频。 +* +* **示例代码** +* +* ```js +wx.chooseVideo({ + sourceType: ['album','camera'], + maxDuration: 60, + camera: 'back', + success(res) { + console.log(res.tempFilePath) + } +}) +``` */ + chooseVideo<T extends ChooseVideoOption = ChooseVideoOption>( + option: T + ): PromisifySuccessResult<T, ChooseVideoOption> + /** [wx.clearStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) +* +* 在插件中使用:不支持 +* +* 清理本地数据缓存。 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorage<T extends ClearStorageOption = ClearStorageOption>( + option?: T + ): PromisifySuccessResult<T, ClearStorageOption> + /** [wx.clearStorageSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html) +* +* 在插件中使用:不支持 +* +* [wx.clearStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorageSync(): void + /** [wx.closeBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 断开与蓝牙低功耗设备的连接。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + closeBLEConnection< + T extends CloseBLEConnectionOption = CloseBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CloseBLEConnectionOption> + /** [wx.closeBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 成对调用。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + closeBluetoothAdapter< + T extends CloseBluetoothAdapterOption = CloseBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, CloseBluetoothAdapterOption> + /** [wx.closeSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.closeSocket.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 关闭 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'test.php' +}) + +//注意这里有时序问题, +//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。 +//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。 +wx.onSocketOpen(function() { + wx.closeSocket() +}) + +wx.onSocketClose(function(res) { + console.log('WebSocket 已关闭!') +}) +``` */ + closeSocket<T extends CloseSocketOption = CloseSocketOption>( + option?: T + ): PromisifySuccessResult<T, CloseSocketOption> + /** [wx.compressImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.compressImage.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.12.0` +* +* 压缩图片接口,可选压缩质量 +* +* **示例代码** +* +* ```js +wx.compressImage({ + src: '', // 图片路径 + quality: 80 // 压缩质量 +}) +``` */ + compressImage<T extends CompressImageOption = CompressImageOption>( + option: T + ): PromisifySuccessResult<T, CompressImageOption> + /** [wx.compressVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.compressVideo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 压缩视频接口。开发者可指定压缩质量 `quality` 进行压缩。当需要更精细的控制时,可指定 `bitrate`、`fps`、和 `resolution`,当 `quality` 传入时,这三个参数将被忽略。原视频的相关信息可通过 [getVideoInfo](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) 获取。 */ + compressVideo<T extends CompressVideoOption = CompressVideoOption>( + option: T + ): PromisifySuccessResult<T, CompressVideoOption> + /** [wx.connectWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.connectWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。 +* +* **示例代码** +* +* ```js +wx.connectWifi({ + SSID: '', + password: '', + success (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 微信客户端 7.0.22 以上版本,connectWifi 的实现在 Android 10 及以上的手机无法生效,对于 Android 10 及以上版本,设备连接 wifi 之后,(受系统能力限制)其他进程无法使用当前连接的 wifi ;即连接上的 wifi 只对当前小程序有效,如果想要对整个系统生效,需要配置 maunal 来连接 wifi。 +* - iOS 系统底层没有给开发者提供因 wifi 密码错误而连接失败的事件,但用户可以收到密码错误的系统弹窗。建议开发者通过 onWifiConnected 事件来判断 wifi 是否连接成功;即设置定时器,若超时后仍没有 onWifiConnected 事件,则认定此次 wifi 连接无效。 +* - Android / iOS 在系统已经连上目标 wifi 的情况下,小程序再次连接目标 wifi,此时无论输入的密码是否正确,系统都会默认此次连接成功,且没有 onWifiConnected 事件。 +* - onWifiConnected 事件可能会返回空对象,此时代表 wifi 断开连接,开发者可忽略这种情况。 */ + connectWifi<T extends ConnectWifiOption = ConnectWifiOption>( + option: T + ): PromisifySuccessResult<T, ConnectWifiOption> + /** [wx.createBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 连接蓝牙低功耗设备。 +* +* 若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需再次进行搜索操作。 +* +* **注意** +* +* - 请保证尽量成对的调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 和 [wx.closeBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) 接口。安卓如果重复调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用 `closeBLEConnection` 的时候并不能真正的断开与设备的连接。 +* - 蓝牙连接随时可能断开,建议监听 [wx.onBLEConnectionStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) 回调事件,当蓝牙设备断开时按需执行重连操作 +* - 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.createBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + createBLEConnection< + T extends CreateBLEConnectionOption = CreateBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CreateBLEConnectionOption> + /** [wx.createBLEPeripheralServer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 建立本地作为蓝牙低功耗外围设备的服务端,可创建多个。 */ + createBLEPeripheralServer< + T extends CreateBLEPeripheralServerOption = CreateBLEPeripheralServerOption + >( + option?: T + ): PromisifySuccessResult<T, CreateBLEPeripheralServerOption> + /** [wx.createBufferURL(ArrayBuffer|TypedArray buffer)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据传入的 buffer 创建一个唯一的 URL 存在内存中 */ + createBufferURL( + /** 需要存入内存的二进制数据 */ + buffer: + | ArrayBuffer + | Int8Array + | Uint8Array + | Uint8ClampedArray + | Int16Array + | Uint16Array + | Int32Array + | Uint32Array + | Float32Array + | Float64Array + ): void + /** [wx.disableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.disableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 关闭小程序页面返回询问对话框。 */ + disableAlertBeforeUnload(option?: DisableAlertBeforeUnloadOption): void + /** [wx.editImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.editImage.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:不支持 +* +* 编辑图片接口 +* +* **示例代码** +* +* ```js +wx.editImage({ + src: '', // 图片路径 +}) +``` */ + editImage(option: EditImageOption): void + /** [wx.enableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 开启小程序页面返回询问对话框。 + * + * ## 弹窗条件 + * * 当用户在小程序内非首页页面/最底层页 + * * 官方导航栏上的的返回 + * * 全屏模式下自绘返回键 + * * android 系统 back 键时 + * + * ## 注意事项 + * * 手势滑动返回时不做拦截 + * * 在任何场景下,此功能都不应拦住用户退出小程序的行为 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MTPm9Cmh7VfT) */ + enableAlertBeforeUnload(option: EnableAlertBeforeUnloadOption): void + /** [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 退出当前小程序。必须有点击行为才能调用成功。 */ + exitMiniProgram< + T extends ExitMiniProgramOption = ExitMiniProgramOption + >( + option?: T + ): PromisifySuccessResult<T, ExitMiniProgramOption> + /** [wx.exitVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.exitVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 退出(销毁)实时语音通话 */ + exitVoIPChat<T extends ExitVoIPChatOption = ExitVoIPChatOption>( + option?: T + ): PromisifySuccessResult<T, ExitVoIPChatOption> + /** [wx.faceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 人脸检测,使用前需要通过 wx.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + faceDetect(option: FaceDetectOption): void + /** [wx.getAvailableAudioSources(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取当前支持的音频输入源 */ + getAvailableAudioSources< + T extends GetAvailableAudioSourcesOption = GetAvailableAudioSourcesOption + >( + option?: T + ): PromisifySuccessResult<T, GetAvailableAudioSourcesOption> + /** [wx.getBLEDeviceCharacteristics(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备某个服务中所有特征 (characteristic)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceCharacteristics({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 wx.getBLEDeviceServices 接口中获取 + serviceId, + success (res) { + console.log('device getBLEDeviceCharacteristics:', res.characteristics) + } +}) +``` */ + getBLEDeviceCharacteristics< + T extends GetBLEDeviceCharacteristicsOption = GetBLEDeviceCharacteristicsOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceCharacteristicsOption> + /** [wx.getBLEDeviceRSSI(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。 */ + getBLEDeviceRSSI< + T extends GetBLEDeviceRSSIOption = GetBLEDeviceRSSIOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceRSSIOption> + /** [wx.getBLEDeviceServices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备所有服务 (service)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceServices({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立连接 + deviceId, + success (res) { + console.log('device services:', res.services) + } +}) +``` */ + getBLEDeviceServices< + T extends GetBLEDeviceServicesOption = GetBLEDeviceServicesOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceServicesOption> + /** [wx.getBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEMTU.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 获取蓝牙低功耗的最大传输单元。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。 +* +* **注意** +* +* - 小程序中 MTU 为 ATT_MTU,包含 Op-Code 和 Attribute Handle 的长度,实际可以传输的数据长度为 `ATT_MTU - 3` +* - iOS 系统中 MTU 为固定值;安卓系统中,MTU 会在系统协商成功之后发生改变,建议使用 [wx.onBLEMTUChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) 监听。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEMTU({ + deviceId: '', + writeType: 'write', + success (res) { + console.log(res) + } +}) +``` */ + getBLEMTU<T extends GetBLEMTUOption = GetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, GetBLEMTUOption> + /** [wx.getBackgroundAudioPlayerState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioPlayerState.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 获取后台音乐播放状态。 +* +* **示例代码** +* +* ```js +wx.getBackgroundAudioPlayerState({ + success (res) { + const status = res.status + const dataUrl = res.dataUrl + const currentPosition = res.currentPosition + const duration = res.duration + const downloadPercent = res.downloadPercent + } +}) +``` */ + getBackgroundAudioPlayerState< + T extends GetBackgroundAudioPlayerStateOption = GetBackgroundAudioPlayerStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundAudioPlayerStateOption> + /** [wx.getBackgroundFetchData(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉取 backgroundFetch 客户端缓存数据。 + * 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据会返回失败,而不会等待请求完成。 */ + getBackgroundFetchData< + T extends GetBackgroundFetchDataOption = GetBackgroundFetchDataOption + >( + option: T + ): PromisifySuccessResult<T, GetBackgroundFetchDataOption> + /** [wx.getBackgroundFetchToken(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 获取设置过的自定义登录态。若无,则返回 fail。 */ + getBackgroundFetchToken< + T extends GetBackgroundFetchTokenOption = GetBackgroundFetchTokenOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundFetchTokenOption> + /** [wx.getBatteryInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取设备电量。同步 API [wx.getBatteryInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) 在 iOS 上不可用。 */ + getBatteryInfo<T extends GetBatteryInfoOption = GetBatteryInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetBatteryInfoOption> + /** [wx.getBeacons(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.getBeacons.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取所有已搜索到的 Beacon 设备 */ + getBeacons<T extends GetBeaconsOption = GetBeaconsOption>( + option?: T + ): PromisifySuccessResult<T, GetBeaconsOption> + /** [wx.getBluetoothAdapterState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothAdapterState.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取本机蓝牙适配器状态。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBluetoothAdapterState({ + success (res) { + console.log(res) + } +}) +``` */ + getBluetoothAdapterState< + T extends GetBluetoothAdapterStateOption = GetBluetoothAdapterStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothAdapterStateOption> + /** [wx.getBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.getBluetoothDevices({ + success: function (res) { + console.log(res) + if (res.devices[0]) { + console.log(ab2hex(res.devices[0].advertisData)) + } + } +}) +``` +* +* **注意** +* +* - 该接口获取到的设备列表为**蓝牙模块生效期间所有搜索到的蓝牙设备**,若在蓝牙模块使用流程结束后未及时调用 [wx.closeBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) 释放资源,会存在调用该接口会返回之前的蓝牙使用流程中搜索到的蓝牙设备,可能设备已经不在用户身边,无法连接。 */ + getBluetoothDevices< + T extends GetBluetoothDevicesOption = GetBluetoothDevicesOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothDevicesOption> + /** [wx.getChannelsLiveInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveInfo.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播信息 */ + getChannelsLiveInfo(option: GetChannelsLiveInfoOption): void + /** [wx.getChannelsLiveNoticeInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveNoticeInfo.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播预告信息 */ + getChannelsLiveNoticeInfo(option: GetChannelsLiveNoticeInfoOption): void + /** [wx.getChannelsShareKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsShareKey.html) + * + * 需要基础库: `2.22.1` + * + * 在插件中使用:不支持 + * + * 获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用。 */ + getChannelsShareKey(option?: GetChannelsShareKeyOption): void + /** [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.getClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统剪贴板的内容 +* +* **示例代码** +* +* ```js +wx.getClipboardData({ + success (res){ + console.log(res.data) + } +}) +``` */ + getClipboardData< + T extends GetClipboardDataOption = GetClipboardDataOption + >( + option?: T + ): PromisifySuccessResult<T, GetClipboardDataOption> + /** [wx.getConnectedBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getConnectedBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 根据主服务 UUID 获取已连接的蓝牙设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getConnectedBluetoothDevices({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + getConnectedBluetoothDevices< + T extends GetConnectedBluetoothDevicesOption = GetConnectedBluetoothDevicesOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedBluetoothDevicesOption> + /** [wx.getConnectedWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getConnectedWifi.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 获取已连接中的 Wi-Fi 信息。 */ + getConnectedWifi< + T extends GetConnectedWifiOption = GetConnectedWifiOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedWifiOption> + /** [wx.getExtConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 获取[第三方平台](https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html)自定义的数据字段。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 是否存在来兼容 +* +* **** +* +* ```js +if (wx.getExtConfig) { + wx.getExtConfig({ + success (res) { + console.log(res.extConfig) + } + }) +} +``` */ + getExtConfig<T extends GetExtConfigOption = GetExtConfigOption>( + option?: T + ): PromisifySuccessResult<T, GetExtConfigOption> + /** [wx.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileInfo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取文件信息。 +* +* **示例代码** +* +* ```js +wx.getFileInfo({ + success (res) { + console.log(res.size) + console.log(res.digest) + } +}) +``` */ + getFileInfo<T extends WxGetFileInfoOption = WxGetFileInfoOption>( + option: T + ): PromisifySuccessResult<T, WxGetFileInfoOption> + /** [wx.getFuzzyLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:支持 +* +* 获取当前的模糊地理位置。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 从2022年7月14日开始在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* ```js + wx.getFuzzyLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + } +}) + ``` */ + getFuzzyLocation(option: GetFuzzyLocationOption): void + /** [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* 获取微信群聊场景下的小程序启动信息。群聊场景包括群聊小程序消息卡片、群待办、群工具。可用于获取当前群的 opengid。 +* ## 注意事项 +* - 基础库 v2.10.4 开始支持获取群工具小程序启动信息 +* - 基础库 v2.17.3 开始支持获取群聊小程序消息卡片、群待办小程序启动信息 +* +* **示例代码** +* +* ```js +wx.getGroupEnterInfo({ + success(res) { + // res + { + errMsg: 'getGroupEnterInfo:ok', + encryptedData: '', + iv: '' + } + }, + fail() { + + } +}) +``` +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识): +* +* ```json +{ + "opengid": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用[开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 `wx.getGroupInfo` 接口获取群名称 */ + getGroupEnterInfo(option: GetGroupEnterInfoOption): void + /** [wx.getHCEState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.getHCEState.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 判断当前设备是否支持 HCE 能力。 +* +* **示例代码** +* +* ```js +wx.getHCEState({ + success (res) { + console.log(res.errCode) + } +}) +``` */ + getHCEState<T extends GetHCEStateOption = GetHCEStateOption>( + option?: T + ): PromisifySuccessResult<T, GetHCEStateOption> + /** [wx.getImageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.getImageInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取图片信息。网络图片需先配置download域名才能生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/Kd47Sbmr6yYu) +* +* ```js +wx.getImageInfo({ + src: 'images/a.jpg', + success (res) { + console.log(res.width) + console.log(res.height) + } +}) + +wx.chooseImage({ + success (res) { + wx.getImageInfo({ + src: res.tempFilePaths[0], + success (res) { + console.log(res.width) + console.log(res.height) + } + }) + } +}) +``` */ + getImageInfo<T extends GetImageInfoOption = GetImageInfoOption>( + option: T + ): PromisifySuccessResult<T, GetImageInfoOption> + /** [wx.getLocalIPAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取局域网IP地址 +* +* **示例代码** +* +* ```js +wx.getLocalIPAddress({ + success (res) { + const localip = res.localip + } +}) +``` */ + getLocalIPAddress(option: GetLocalIPAddressOption): void + /** [wx.getLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。 +* 高频率调用会导致耗电,如有需要可使用持续定位接口 `wx.onLocationChange`。 +* 基础库 `2.17.0` 版本起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台、餐饮服务场所/餐饮服务管理企业 | 线下送餐服务 | +* | 工具 | 天气、信息查询、办公、设备管理 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询、智能穿戴、智能门禁、与地理位置相关的打卡服务等 | +* | 金融 | 银行、非金融机构自营小额贷款/融资担保/商业保理、保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务、住宿服务 | 提供景区导航、导览服务、酒店导航服务 | +* | 汽车服务 | 维修保养、汽车用品、汽车经销商/4S店、汽车厂商、汽车预售、二手车 | 提供汽车售卖、维保洗美服务、查找附近的维修点/洗车网点等导航服务 | +* | IT科技 | 基础电信运营商、电信业务代理商 | 提供运营商线下网点的预约、基于地理位置取号并现场报到、网点导航等服务 | +* | 房地产服务 | 物业管理、房屋中介、房屋装修 | 提供房地产开发商及物业公司门店导览导航服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货、超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + const speed = res.speed + const accuracy = res.accuracy + } +}) + ``` +* +* **注意** +* +* - `2.17.0 起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801) +* - 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。 +* - 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。 */ + getLocation<T extends GetLocationOption = GetLocationOption>( + option: T + ): PromisifySuccessResult<T, GetLocationOption> + /** [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取网络类型 +* +* **示例代码** +* +* ```js +wx.getNetworkType({ + success (res) { + const networkType = res.networkType + } +}) +``` */ + getNetworkType<T extends GetNetworkTypeOption = GetNetworkTypeOption>( + option?: T + ): PromisifySuccessResult<T, GetNetworkTypeOption> + /** [wx.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html) +* +* 需要基础库: `2.15.0` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues< + T extends GetRandomValuesOption = GetRandomValuesOption + >( + option: T + ): PromisifySuccessResult<T, GetRandomValuesOption> + /** [wx.getSavedFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileInfo.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileInfo< + T extends GetSavedFileInfoOption = GetSavedFileInfoOption + >( + option: T + ): PromisifySuccessResult<T, GetSavedFileInfoOption> + /** [wx.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileList.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getSavedFileList](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)** +* +* 获取该小程序下已保存的本地缓存文件列表。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileList< + T extends WxGetSavedFileListOption = WxGetSavedFileListOption + >( + option?: T + ): PromisifySuccessResult<T, WxGetSavedFileListOption> + /** [wx.getScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取屏幕亮度 + * + * **说明** + * + * - 若安卓系统设置中开启了自动调节亮度功能,则屏幕亮度会根据光线自动调整,该接口仅能获取自动调节亮度之前的值,而非实时的亮度值。 */ + getScreenBrightness< + T extends GetScreenBrightnessOption = GetScreenBrightnessOption + >( + option?: T + ): PromisifySuccessResult<T, GetScreenBrightnessOption> + /** [wx.getScreenRecordingState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenRecordingState.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 查询用户是否在录屏。 + * + * **示例代码** + * + * ```js + * wx.getScreenRecordingState({ + * success: function (res) { + * console.log(res.state) + * }, + * }) */ + getScreenRecordingState(option?: GetScreenRecordingStateOption): void + /** [wx.getSelectedTextRange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.getSelectedTextRange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。 +* +* **示例代码** +* +* ```js +wx.getSelectedTextRange({ + complete: res => { + console.log('getSelectedTextRange res', res.start, res.end) + } +}) +``` */ + getSelectedTextRange< + T extends GetSelectedTextRangeOption = GetSelectedTextRangeOption + >( + option?: T + ): PromisifySuccessResult<T, GetSelectedTextRangeOption> + /** [wx.getSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.6.3` +* +* 在插件中使用时,接口有以下不同: +* - `withSubscriptions` 无效(插件暂无订阅消息) +* - 返回值中的 `authSetting` 字段中是插件的权限(如用户信息功能页授权) +* - [2.14.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起返回值中有 `miniprogramAuthSetting` 字段,内容等于当前小程序 `getSetting` 的结果(不含订阅状态) +* +* 获取用户的当前设置。**返回值中只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **示例代码** +* +* ```js +wx.getSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` +* +* ```js +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + getSetting<T extends GetSettingOption = GetSettingOption>( + option?: T + ): PromisifySuccessResult<T, GetSettingOption> + /** [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 获取转发详细信息 +* +* **示例代码** +* +* 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识): +* +* ```json +{ + "openGId": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 [`wx.getGroupInfo`](#) 接口获取群名称 */ + getShareInfo<T extends GetShareInfoOption = GetShareInfoOption>( + option: T + ): PromisifySuccessResult<T, GetShareInfoOption> + /** [wx.getStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中异步获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.getStorage({ + key: 'key', + success (res) { + console.log(res.data) + } +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + getStorage< + T = any, + U extends GetStorageOption<T> = GetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, GetStorageOption<T>> + /** [wx.getStorageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) +* +* 在插件中使用:不支持 +* +* 异步获取当前storage的相关信息。 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfo<T extends GetStorageInfoOption = GetStorageInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetStorageInfoOption> + /** [wx.getSystemInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统信息。**由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 [wx.getSystemInfoAsync](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)。** +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfo<T extends GetSystemInfoOption = GetSystemInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetSystemInfoOption> + /** [wx.getSystemInfoAsync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html) +* +* 需要基础库: `2.14.1` +* +* 在插件中使用:不支持 +* +* 异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfoAsync({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` */ + getSystemInfoAsync(option?: GetSystemInfoAsyncOption): void + /** [wx.getUserInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。 +* +* **示例代码** +* +* ```js +// 必须是在用户已经授权的情况下调用 +wx.getUserInfo({ + success: function(res) { + var userInfo = res.userInfo + var nickName = userInfo.nickName + var avatarUrl = userInfo.avatarUrl + var gender = userInfo.gender //性别 0:未知、1:男、2:女 + var province = userInfo.province + var city = userInfo.city + var country = userInfo.country + } +}) +``` +* +* 敏感数据有两种获取方式: +* 1. 使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) +* 2. 使用 [云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#云调用直接获取开放数据) +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "openId": "OPENID", + "nickName": "NICKNAME", + "gender": GENDER, + "city": "CITY", + "province": "PROVINCE", + "country": "COUNTRY", + "avatarUrl": "AVATARURL", + "unionId": "UNIONID", + "watermark": { + "appid":"APPID", + "timestamp":TIMESTAMP + } +} +``` +* +* **小程序用户信息组件示例代码** +* +* ```html +* <!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 --> +* <open-data type="userAvatarUrl"></open-data> +* <open-data type="userNickName"></open-data> +* <!-- 需要使用 button 来授权登录 --> +* <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button> +* <view wx:else>请升级微信版本</view> +* ``` +* +* ```js +Page({ + data: { + canIUse: wx.canIUse('button.open-type.getUserInfo') + }, + onLoad: function() { + // 查看是否授权 + wx.getSetting({ + success (res){ + if (res.authSetting['scope.userInfo']) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function(res) { + console.log(res.userInfo) + } + }) + } + } + }) + }, + bindGetUserInfo (e) { + console.log(e.detail.userInfo) + } +}) +``` */ + getUserInfo<T extends GetUserInfoOption = GetUserInfoOption>( + option: T + ): PromisifySuccessResult<T, GetUserInfoOption> + /** [wx.getUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* @warning **用户头像昵称获取规则已调整,参考 [小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。页面产生点击事件(例如 `button` 上 `bindtap` 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 `userInfo`。该接口用于替换 `wx.getUserInfo`,详见 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tsJaq2mP7Mp4) +* +* **Bug & Tip** +* +* 1. `tip`:仅小程序中 `wx.getUserInfo` 接口进行调整,小游戏中不受影响; +* 2. `tip`:开发者工具中仅 2.10.4 及以上版本可访问 `wx.getUserProfile` 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 `canIUse` 进行条件。 +* 3. `tip`:`wx.getUserProfile` 返回的加密数据中不包含 `openId` 和 `unionId` 字段。 +* 4. `bug`:开发者工具中 `2.10.4`~`2.16.1` 基础库版本通过 `<button open-type="getUserInfo">` 会返回真实数据,真机上此区间会按照公告返回匿名数据。 +* +* ```html +* <view class="container"> +* <view class="userinfo"> +* <block wx:if="{{!hasUserInfo}}"> +* <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button> +* <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button> +* </block> +* <block wx:else> +* <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> +* <text class="userinfo-nickname">{{userInfo.nickName}}</text> +* </block> +* </view> +* </view> +* ``` +* +* ```js +Page({ + data: { + userInfo: {}, + hasUserInfo: false, + canIUseGetUserProfile: false, + }, + onLoad() { + if (wx.getUserProfile) { + this.setData({ + canIUseGetUserProfile: true + }) + } + }, + getUserProfile(e) { + // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 + // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 + wx.getUserProfile({ + desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + this.setData({ + userInfo: res.userInfo, + hasUserInfo: true + }) + } + }) + }, + getUserInfo(e) { + // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 + this.setData({ + userInfo: e.detail.userInfo, + hasUserInfo: true + }) + }, +}) +``` */ + getUserProfile<T extends GetUserProfileOption = GetUserProfileOption>( + option: T + ): PromisifySuccessResult<T, GetUserProfileOption> + /** [wx.getVideoInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取视频详细信息。 */ + getVideoInfo<T extends GetVideoInfoOption = GetVideoInfoOption>( + option: T + ): PromisifySuccessResult<T, GetVideoInfoOption> + /** [wx.getWeRunData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 获取用户过去三十天微信运动步数。需要先调用 [wx.login](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) 接口。步数信息会在用户主动进入小程序时更新。 +* +* **示例代码** +* +* ```js +wx.getWeRunData({ + success (res) { + // 拿 encryptedData 到开发者后台解密开放数据 + const encryptedData = res.encryptedData + // 或拿 cloudID 通过云调用直接获取开放数据 + const cloudID = res.cloudID + } +}) +``` +* +* **开放数据 JSON 结构** +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "stepInfoList": [ + { + "timestamp": 1445866601, + "step": 100 + }, + { + "timestamp": 1445876601, + "step": 120 + } + ] +} +``` +* +* stepInfoList 中,每一项结构如下: +* +* | 属性 | 类型 | 说明 | +* | --- | ---- | --- | +* | timestamp | number | 时间戳,表示数据对应的时间 | +* | step | number | 微信运动步数 | */ + getWeRunData<T extends GetWeRunDataOption = GetWeRunDataOption>( + option?: T + ): PromisifySuccessResult<T, GetWeRunDataOption> + /** [wx.getWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 请求获取 Wi-Fi 列表。`wifiList` 数据会在 [`onGetWifiList`](#) 注册的回调中返回。 **Android 调用前需要 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) scope.userLocation。** + * + * iOS 上将跳转到系统设置中的微信设置页,需要用户手动进入「无线局域网」设置页,并在系统扫描到设备后,小程序才能收到 onGetWifiList 回调。Android 不会跳转。 + * + * **注意** + * + * 因系统问题,本方法在 iOS 11.0 及 11.1 两个版本失效。但在 iOS 11.2 中已修复。 */ + getWifiList<T extends GetWifiListOption = GetWifiListOption>( + option?: T + ): PromisifySuccessResult<T, GetWifiListOption> + /** [wx.hideHomeButton(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideHomeButton.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:不支持 + * + * 隐藏返回首页按钮。微信7.0.7版本起,当用户打开的小程序最底层页面是非首页时,默认展示“返回首页”按钮,开发者可在页面 onShow 中调用 hideHomeButton 进行隐藏。 */ + hideHomeButton<T extends HideHomeButtonOption = HideHomeButtonOption>( + option?: T + ): PromisifySuccessResult<T, HideHomeButtonOption> + /** [wx.hideKeyboard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.hideKeyboard.html) +* +* 需要基础库: `2.8.2` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘 +* +* **示例代码** +* +* ```js +wx.hideKeyboard({ + complete: res => { + console.log('hideKeyboard res', res) + } +}) +``` */ + hideKeyboard<T extends HideKeyboardOption = HideKeyboardOption>( + option?: T + ): PromisifySuccessResult<T, HideKeyboardOption> + /** [wx.hideLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏 loading 提示框 */ + hideLoading<T extends HideLoadingOption = HideLoadingOption>( + option?: T + ): PromisifySuccessResult<T, HideLoadingOption> + /** [wx.hideNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面隐藏导航条加载动画 */ + hideNavigationBarLoading< + T extends HideNavigationBarLoadingOption = HideNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, HideNavigationBarLoadingOption> + /** [wx.hideShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.hideShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 隐藏当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮 +* +* **示例代码** +* +* ```js +wx.hideShareMenu({ + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + hideShareMenu<T extends HideShareMenuOption = HideShareMenuOption>( + option?: T + ): PromisifySuccessResult<T, HideShareMenuOption> + /** [wx.hideTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar */ + hideTabBar<T extends HideTabBarOption = HideTabBarOption>( + option: T + ): PromisifySuccessResult<T, HideTabBarOption> + /** [wx.hideTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar 某一项的右上角的红点 */ + hideTabBarRedDot< + T extends HideTabBarRedDotOption = HideTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, HideTabBarRedDotOption> + /** [wx.hideToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏消息提示框 */ + hideToast<T extends HideToastOption = HideToastOption>( + option?: T + ): PromisifySuccessResult<T, HideToastOption> + /** [wx.initFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 初始化人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + initFaceDetect(option?: InitFaceDetectOption): void + /** [wx.isBluetoothDevicePaired(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.isBluetoothDevicePaired.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.19.1` + * + * 查询蓝牙设备是否配对,仅安卓支持。 */ + isBluetoothDevicePaired< + T extends IsBluetoothDevicePairedOption = IsBluetoothDevicePairedOption + >( + option: T + ): PromisifySuccessResult<T, IsBluetoothDevicePairedOption> + /** [wx.join1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.join1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 加入(创建)双人通话。 */ + join1v1Chat(option: Join1v1ChatOption): void + /** [wx.joinVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.joinVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 加入 (创建) 实时语音通话,更多信息可见 [实时语音指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/voip-chat.html)。调用前需要用户授权 `scope.record`,若房间类型为视频房间需要用户授权 `scope.camera`。 */ + joinVoIPChat<T extends JoinVoIPChatOption = JoinVoIPChatOption>( + option: T + ): PromisifySuccessResult<T, JoinVoIPChatOption> + /** [wx.loadFontFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 动态加载网络字体,文件地址需为下载类型。[2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)起支持全局生效,需在 `app.js` 中调用。 +* +* 注意: +* 1. 字体文件返回的 contet-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。 +* 2. 字体链接必须是https(ios不支持http) +* 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com` +* 4. 工具里提示 Faild to load font可以忽略 +* 5. [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 以前仅在调用页面生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/b6Zrajm67R2x) +* ```js +wx.loadFontFace({ + family: 'Bitstream Vera Serif Bold', + source: 'url("https://sungd.github.io/Pacifico.ttf")', + success: console.log +}) +``` */ + loadFontFace<T extends LoadFontFaceOption = LoadFontFaceOption>( + option: T + ): PromisifySuccessResult<T, LoadFontFaceOption> + /** [wx.login(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 +* +* **示例代码** +* +* ```js +wx.login({ + success (res) { + if (res.code) { + //发起网络请求 + wx.request({ + url: 'https://example.com/onLogin', + data: { + code: res.code + } + }) + } else { + console.log('登录失败!' + res.errMsg) + } + } +}) +``` */ + login<T extends LoginOption = LoginOption>( + option?: T + ): PromisifySuccessResult<T, LoginOption> + /** [wx.makeBluetoothPair(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.makeBluetoothPair.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 蓝牙配对接口,仅安卓支持。 + * + * 通常情况下(需要指定 `pin` 码或者密码时)系统会接管配对流程,直接调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 即可。该接口只应当在开发者不想让用户手动输入 `pin` 码且真机验证确认可以正常生效情况下用。 */ + makeBluetoothPair< + T extends MakeBluetoothPairOption = MakeBluetoothPairOption + >( + option: T + ): PromisifySuccessResult<T, MakeBluetoothPairOption> + /** [wx.makePhoneCall(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/phone/wx.makePhoneCall.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 拨打电话 +* +* **示例代码** +* +* ```js +wx.makePhoneCall({ + phoneNumber: '1340000' //仅为示例,并非真实的电话号码 +}) +``` */ + makePhoneCall<T extends MakePhoneCallOption = MakePhoneCallOption>( + option: T + ): PromisifySuccessResult<T, MakePhoneCallOption> + /** [wx.navigateBack(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages](https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html) 获取当前的页面栈,决定需要返回几层。 */ + navigateBack<T extends NavigateBackOption = NavigateBackOption>( + option?: T + ): PromisifySuccessResult<T, NavigateBackOption> + /** [wx.navigateBackMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:不支持 +* +* 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 +* +* 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持** +* +* **示例代码** +* +* ```js +wx.navigateBackMiniProgram({ + extraData: { + foo: 'bar' + }, + success(res) { + // 返回成功 + } +}) +``` */ + navigateBackMiniProgram< + T extends NavigateBackMiniProgramOption = NavigateBackMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateBackMiniProgramOption> + /** [wx.navigateTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) 可以返回到原页面。小程序中页面栈最多十层。 +* +* **示例代码** +* +* ```js +wx.navigateTo({ + url: 'test?id=1', + events: { + // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 + acceptDataFromOpenedPage: function(data) { + console.log(data) + }, + someEvent: function(data) { + console.log(data) + } + ... + }, + success: function(res) { + // 通过eventChannel向被打开页面传送数据 + res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) + } +}) +``` +* +* ```javascript +//test.js +Page({ + onLoad: function(option){ + console.log(option.query) + const eventChannel = this.getOpenerEventChannel() + eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + eventChannel.emit('someEvent', {data: 'test'}); + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('acceptDataFromOpenerPage', function(data) { + console.log(data) + }) + } +}) +``` */ + navigateTo<T extends NavigateToOption = NavigateToOption>( + option: T + ): PromisifySuccessResult<T, NavigateToOption> + /** [wx.navigateToMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 打开另一个小程序 +* +* **使用限制** +* +* ##### 需要用户触发跳转 +* 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。 +* ##### 需要用户确认跳转 +* 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。 +* ##### 无需声明跳转名单,不限跳转数量(众测中) +* 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。 +* 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。 +* +* **运营规范** +* +* 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。 +* +* **关于调试** +* +* - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* +* **示例代码** +* +* ```js +wx.navigateToMiniProgram({ + appId: '', + path: 'page/index/index?id=123', + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success(res) { + // 打开成功 + } +}) +``` */ + navigateToMiniProgram< + T extends NavigateToMiniProgramOption = NavigateToMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateToMiniProgramOption> + /** [wx.nextTick(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html) +* +* 需要基础库: `2.2.3` +* +* 在插件中使用:需要基础库 `2.7.1` +* +* 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout) +* +* **说明** +* +* 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。 +* +* 一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。 +* +* **示例代码** +* +* ```js +Component({ + doSth() { + this.setData({ number: 1 }) // 直接在当前同步流程中执行 + + wx.nextTick(() => { + this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行 + }) + + this.setData({ number: 2 }) // 直接在当前同步流程中执行 + } +}) +``` */ + nextTick(callback: (...args: any[]) => any): void + /** [wx.notifyBLECharacteristicValueChange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征。注意:必须设备的特征支持 notify 或者 indicate 才可以成功调用。 +* +* 另外,必须先启用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 才能监听到设备 `characteristicValueChange` 事件 +* +* **注意** +* +* - 订阅操作成功后需要设备主动更新特征的 value,才会触发 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 回调。 +* - 安卓平台上,在本接口调用成功后立即调用 [wx.writeBLECharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) 接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.notifyBLECharacteristicValueChange({ + state: true, // 启用 notify 功能 + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('notifyBLECharacteristicValueChange success', res.errMsg) + } +}) +``` */ + notifyBLECharacteristicValueChange< + T extends NotifyBLECharacteristicValueChangeOption = NotifyBLECharacteristicValueChangeOption + >( + option: T + ): PromisifySuccessResult<T, NotifyBLECharacteristicValueChangeOption> + /** [wx.offAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.offAccelerometerChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除加速度数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAccelerometerChange(listener) +wx.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAccelerometerChange( + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAccelerometerChangeCallback + ): void + /** [wx.offAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppHide.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切后台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppHide(listener) +wx.offAppHide(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppHide( + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppHideCallback + ): void + /** [wx.offAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppShow.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切前台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppShow(listener) +wx.offAppShow(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppShow( + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppShowCallback + ): void + /** [wx.offAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionBegin.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频因为受到系统占用而被中断开始事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionBegin(listener) +wx.offAudioInterruptionBegin(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionBegin( + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionBeginCallback + ): void + /** [wx.offAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionEnd.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频中断结束事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionEnd(listener) +wx.offAudioInterruptionEnd(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionEnd( + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionEndCallback + ): void + /** [wx.offBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLECharacteristicValueChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗设备的特征值变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLECharacteristicValueChange(listener) +wx.offBLECharacteristicValueChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLECharacteristicValueChange( + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLECharacteristicValueChangeCallback + ): void + /** [wx.offBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗连接状态改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEConnectionStateChange(listener) +wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEConnectionStateChange( + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEConnectionStateChangeCallback + ): void + /** [wx.offBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 移除蓝牙低功耗的最大传输单元变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEMTUChange(listener) +wx.offBLEMTUChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEMTUChange( + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEMTUChangeCallback + ): void + /** [wx.offBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.offBLEPeripheralConnectionStateChanged.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除当前外围设备被连接或断开连接事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEPeripheralConnectionStateChanged(listener) +wx.offBLEPeripheralConnectionStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEPeripheralConnectionStateChanged( + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.offBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconServiceChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 服务状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconServiceChange(listener) +wx.offBeaconServiceChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconServiceChange( + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconServiceChangeCallback + ): void + /** [wx.offBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconUpdate.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 设备更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconUpdate(listener) +wx.offBeaconUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconUpdate( + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconUpdateCallback + ): void + /** [wx.offBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothAdapterStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙适配器状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothAdapterStateChange(listener) +wx.offBluetoothAdapterStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothAdapterStateChange( + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothAdapterStateChangeCallback + ): void + /** [wx.offBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothDeviceFound.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除搜索到新设备的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothDeviceFound(listener) +wx.offBluetoothDeviceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothDeviceFound( + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothDeviceFoundCallback + ): void + /** [wx.offCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.offCompassChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除罗盘数据变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCompassChange(listener) +wx.offCompassChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCompassChange( + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCompassChangeCallback + ): void + /** [wx.offCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.offCopyUrl.html) +* +* 需要基础库: `2.14.3` +* +* 在插件中使用:不支持 +* +* 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCopyUrl(listener) +wx.offCopyUrl(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCopyUrl( + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCopyUrlCallback + ): void + /** [wx.offDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.offDeviceMotionChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除设备方向变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onDeviceMotionChange(listener) +wx.offDeviceMotionChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDeviceMotionChange( + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDeviceMotionChangeCallback + ): void + /** [wx.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offError.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onError(listener) +wx.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: WxOffErrorCallback + ): void + /** [wx.offGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offGetWifiList.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除获取到 Wi-Fi 列表数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onGetWifiList(listener) +wx.offGetWifiList(listener) // 需传入与监听时同一个的函数对象 +``` */ + offGetWifiList( + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffGetWifiListCallback + ): void + /** [wx.offHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.offHCEMessage.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除接收 NFC 设备消息事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onHCEMessage(listener) +wx.offHCEMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHCEMessage( + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHCEMessageCallback + ): void + /** [wx.offKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.offKeyboardHeightChange.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:不支持 +* +* 移除键盘高度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onKeyboardHeightChange(listener) +wx.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offKeyboardHeightChange( + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffKeyboardHeightChangeCallback + ): void + /** [wx.offLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offLazyLoadError.html) +* +* 需要基础库: `2.24.3` +* +* 在插件中使用:不支持 +* +* 移除小程序异步组件加载失败事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLazyLoadError(listener) +wx.offLazyLoadError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLazyLoadError( + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLazyLoadErrorCallback + ): void + /** [wx.offLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceDiscoveryStop.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务停止搜索的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceDiscoveryStop(listener) +wx.offLocalServiceDiscoveryStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceDiscoveryStop( + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceDiscoveryStopCallback + ): void + /** [wx.offLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceFound.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务发现的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceFound(listener) +wx.offLocalServiceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceFound( + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceFoundCallback + ): void + /** [wx.offLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceLost.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务离开的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceLost(listener) +wx.offLocalServiceLost(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceLost( + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceLostCallback + ): void + /** [wx.offLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceResolveFail.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务解析失败的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceResolveFail(listener) +wx.offLocalServiceResolveFail(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceResolveFail( + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceResolveFailCallback + ): void + /** [wx.offLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 移除实时地理位置变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChange(listener) +wx.offLocationChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChange( + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeCallback + ): void + /** [wx.offLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChangeError.html) +* +* 需要基础库: `2.19.5` +* +* 在插件中使用:不支持 +* +* 移除持续定位接口返回失败时触发。的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChangeError(listener) +wx.offLocationChangeError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChangeError( + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeErrorCallback + ): void + /** [wx.offMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.offMemoryWarning.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:不支持 +* +* 移除内存不足告警事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onMemoryWarning(listener) +wx.offMemoryWarning(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMemoryWarning( + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffMemoryWarningCallback + ): void + /** [wx.offNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除网络状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkStatusChange(listener) +wx.offNetworkStatusChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkStatusChange( + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkStatusChangeCallback + ): void + /** [wx.offNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 移除弱网状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkWeakChange(listener) +wx.offNetworkWeakChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkWeakChange( + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkWeakChangeCallback + ): void + /** [wx.offPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offPageNotFound.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序要打开的页面不存在事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onPageNotFound(listener) +wx.offPageNotFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPageNotFound( + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPageNotFoundCallback + ): void + /** [wx.offScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offScreenRecordingStateChanged.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 移除用户录屏事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onScreenRecordingStateChanged(listener) +wx.offScreenRecordingStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offScreenRecordingStateChanged( + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffScreenRecordingStateChangedCallback + ): void + /** [wx.offThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offThemeChange.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除系统主题改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onThemeChange(listener) +wx.offThemeChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offThemeChange( + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffThemeChangeCallback + ): void + /** [wx.offUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offUnhandledRejection.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:不支持 +* +* 移除未处理的 Promise 拒绝事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onUnhandledRejection(listener) +wx.offUnhandledRejection(listener) // 需传入与监听时同一个的函数对象 +``` */ + offUnhandledRejection( + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffUnhandledRejectionCallback + ): void + /** [wx.offUserCaptureScreen(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offUserCaptureScreen.html) + * + * 需要基础库: `2.9.3` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 用户主动截屏事件。取消事件监听。 */ + offUserCaptureScreen( + /** 用户主动截屏事件的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [wx.offVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatInterrupted.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除被动断开实时语音通话事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatInterrupted(listener) +wx.offVoIPChatInterrupted(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatInterrupted( + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatInterruptedCallback + ): void + /** [wx.offVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatMembersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员在线状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatMembersChanged(listener) +wx.offVoIPChatMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatMembersChanged( + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatMembersChangedCallback + ): void + /** [wx.offVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatSpeakersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员通话状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatSpeakersChanged(listener) +wx.offVoIPChatSpeakersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatSpeakersChanged( + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatSpeakersChangedCallback + ): void + /** [wx.offVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatStateChanged.html) +* +* 需要基础库: `2.16.0` +* +* 在插件中使用:不支持 +* +* 移除房间状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatStateChanged(listener) +wx.offVoIPChatStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatStateChanged( + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatStateChangedCallback + ): void + /** [wx.offVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPVideoMembersChanged.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除实时语音通话成员视频状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPVideoMembersChanged(listener) +wx.offVoIPVideoMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPVideoMembersChanged( + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPVideoMembersChangedCallback + ): void + /** [wx.offWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnected.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnected(listener) +wx.offWifiConnected(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnected( + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedCallback + ): void + /** [wx.offWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnectedWithPartialInfo.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnectedWithPartialInfo(listener) +wx.offWifiConnectedWithPartialInfo(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnectedWithPartialInfo( + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedWithPartialInfoCallback + ): void + /** [wx.offWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.offWindowResize.html) +* +* 需要基础库: `2.3.0` +* +* 在插件中使用:不支持 +* +* 移除窗口尺寸变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWindowResize(listener) +wx.offWindowResize(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWindowResize( + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWindowResizeCallback + ): void + /** [wx.onAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.onAccelerometerChange.html) +* +* 在插件中使用:不支持 +* +* 监听加速度数据事件。频率根据 [wx.startAccelerometer()](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) 的 interval 参数, 接口调用后会自动开始监听。 +* +* **示例代码** +* +* ```js +wx.onAccelerometerChange(callback) +``` */ + onAccelerometerChange( + /** 加速度数据事件的监听函数 */ + listener: OnAccelerometerChangeCallback + ): void + /** [wx.onAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppHide.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切后台事件。该事件与 [`App.onHide`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onhide) 的回调时机一致。 */ + onAppHide( + /** 小程序切后台事件的监听函数 */ + listener: OnAppHideCallback + ): void + /** [wx.onAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切前台事件。该事件与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onshowobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + onAppShow( + /** 小程序切前台事件的监听函数 */ + listener: OnAppShowCallback + ): void + /** [wx.onAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频因为受到系统占用而被中断开始事件。以下场景会触发此事件:闹钟、电话、FaceTime 通话、微信语音聊天、微信视频聊天。此事件触发后,小程序内所有音频会暂停。 */ + onAudioInterruptionBegin( + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnAudioInterruptionBeginCallback + ): void + /** [wx.onAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频中断结束事件。在收到 onAudioInterruptionBegin 事件之后,小程序内所有音频会暂停,收到此事件之后才可再次播放成功 */ + onAudioInterruptionEnd( + /** 音频中断结束事件的监听函数 */ + listener: OnAudioInterruptionEndCallback + ): void + /** [wx.onBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗设备的特征值变化事件。必须先调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 接口才能接收到设备推送的 notification。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进制字符串示例 +function ab2hex(buffer) { + let hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBLECharacteristicValueChange(function(res) { + console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`) + console.log(ab2hex(res.value)) +}) +``` */ + onBLECharacteristicValueChange( + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + listener: OnBLECharacteristicValueChangeCallback + ): void + /** [wx.onBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗连接状态改变事件。包括开发者主动连接或断开连接,设备丢失,连接异常断开等等 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEConnectionStateChange(function(res) { + // 该方法回调中可以用于处理连接意外断开等异常情况 + console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) +}) +``` */ + onBLEConnectionStateChange( + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + listener: OnBLEConnectionStateChangeCallback + ): void + /** [wx.onBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEMTUChange(function (res) { + console.log('bluetooth mtu is', res.mtu) +}) +``` */ + onBLEMTUChange( + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + listener: OnBLEMTUChangeCallback + ): void + /** [wx.onBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.onBLEPeripheralConnectionStateChanged.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听当前外围设备被连接或断开连接事件 */ + onBLEPeripheralConnectionStateChanged( + /** 当前外围设备被连接或断开连接事件的监听函数 */ + listener: OnBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.onBackgroundAudioPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPause.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐暂停事件。 */ + onBackgroundAudioPause( + /** 音乐暂停事件的监听函数 */ + listener: OnBackgroundAudioPauseCallback + ): void + /** [wx.onBackgroundAudioPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPlay.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐播放事件。 */ + onBackgroundAudioPlay( + /** 音乐播放事件的监听函数 */ + listener: OnBackgroundAudioPlayCallback + ): void + /** [wx.onBackgroundAudioStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioStop.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐停止事件。 */ + onBackgroundAudioStop( + /** 音乐停止事件的监听函数 */ + listener: OnBackgroundAudioStopCallback + ): void + /** [wx.onBackgroundFetchData(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和 [wx.getBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) 配合使用 */ + onBackgroundFetchData( + /** 收到 backgroundFetch 数据事件的监听函数 */ + listener: OnBackgroundFetchDataCallback + ): void + /** [wx.onBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconServiceChange.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 服务状态变化事件,仅能注册一个监听 */ + onBeaconServiceChange( + /** Beacon 服务状态变化事件的监听函数 */ + listener: OnBeaconServiceChangeCallback + ): void + /** [wx.onBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconUpdate.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 设备更新事件,仅能注册一个监听 */ + onBeaconUpdate( + /** Beacon 设备更新事件的监听函数 */ + listener: OnBeaconUpdateCallback + ): void + /** [wx.onBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙适配器状态变化事件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBluetoothAdapterStateChange(function (res) { + console.log('adapterState changed, now is', res) +}) +``` */ + onBluetoothAdapterStateChange( + /** 蓝牙适配器状态变化事件的监听函数 */ + listener: OnBluetoothAdapterStateChangeCallback + ): void + /** [wx.onBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听搜索到新设备的事件 +* +* **注意** +* +* - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBluetoothDeviceFound(function(res) { + var devices = res.devices; + console.log('new device list has founded') + console.dir(devices) + console.log(ab2hex(devices[0].advertisData)) +}) +``` +* +* **注意** +* +* - 蓝牙设备在被搜索到时,系统返回的 `name` 字段一般为广播包中的 `LocalName` 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 `name` 字段会改为从蓝牙设备上获取到的 `GattName`。若需要动态改变设备名称并展示,建议使用 `localName` 字段。 +* - 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限 */ + onBluetoothDeviceFound( + /** 搜索到新设备的事件的监听函数 */ + listener: OnBluetoothDeviceFoundCallback + ): void + /** [wx.onCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.onCompassChange.html) + * + * 在插件中使用:不支持 + * + * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。 + * + * **accuracy 在 iOS/Android 的差异** + * + * 由于平台差异,accuracy 在 iOS/Android 的值不同。 + * + * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。 + * - Android:accuracy 是一个 string 类型的枚举值。 + * + * | 值 | 说明 | + * | --------------- | -------------------------------------------------------------------------------------- | + * | high | 高精度 | + * | medium | 中等精度 | + * | low | 低精度 | + * | no-contact | 不可信,传感器失去连接 | + * | unreliable | 不可信,原因未知 | + * | unknow ${value} | 未知的精度枚举值,即该 Android 系统此时返回的表示精度的 value 不是一个标准的精度枚举值 | */ + onCompassChange( + /** 罗盘数据变化事件的监听函数 */ + listener: OnCompassChangeCallback + ): void + /** [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.onCopyUrl.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:不支持 + * + * 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。 */ + onCopyUrl( + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + listener: OnCopyUrlCallback + ): void + /** [wx.onDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.onDeviceMotionChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听设备方向变化事件。频率根据 [wx.startDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) 的 interval 参数。可以使用 [wx.stopDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) 停止监听。 */ + onDeviceMotionChange( + /** 设备方向变化事件的监听函数 */ + listener: OnDeviceMotionChangeCallback + ): void + /** [wx.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 [`App.onError`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onerrorstring-error) 的回调时机与参数一致。 */ + onError( + /** 小程序错误事件的监听函数 */ + listener: WxOnErrorCallback + ): void + /** [wx.onGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听获取到 Wi-Fi 列表数据事件 */ + onGetWifiList( + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + listener: OnGetWifiListCallback + ): void + /** [wx.onGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.onGyroscopeChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听陀螺仪数据变化事件。频率根据 [wx.startGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) 的 interval 参数。可以使用 [wx.stopGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) 停止监听。 */ + onGyroscopeChange( + /** 陀螺仪数据变化事件的监听函数 */ + listener: OnGyroscopeChangeCallback + ): void + /** [wx.onHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.onHCEMessage.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听接收 NFC 设备消息事件。仅能注册一个监听 */ + onHCEMessage( + /** 接收 NFC 设备消息事件的监听函数 */ + listener: OnHCEMessageCallback + ): void + /** [wx.onKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.onKeyboardHeightChange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 监听键盘高度变化事件 +* +* **示例代码** +* +* ```js +wx.onKeyboardHeightChange(res => { + console.log(res.height) +}) +``` */ + onKeyboardHeightChange( + /** 键盘高度变化事件的监听函数 */ + listener: OnKeyboardHeightChangeCallback + ): void + /** [wx.onLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onLazyLoadError.html) + * + * 需要基础库: `2.24.3` + * + * 在插件中使用:不支持 + * + * 监听小程序异步组件加载失败事件。 + * + * **注意** + * + * - 加载异步组件通常需要下载分包,若分包下载超时,则会触发 errMsg 为 "loadSubpackage: timeout" 的回调,默认超时等待时间为 5 秒。 + * - 可以通过第二个参数指定超时时间(单位:ms),该设置全局有效,多次指定超时时间则覆盖前面。 + * - 分包确认下载失败时,会再次触发 errMsg 为 "loadSubpackage: fail" 的回调。 + * - 若在页面中使用该接口进行监听,请确保在必要时手动调用 offLazyLoadError 取消监听,以避免非预期的内存泄漏。 */ + onLazyLoadError( + /** 小程序异步组件加载失败事件的监听函数 */ + listener: OnLazyLoadErrorCallback + ): void + /** [wx.onLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceDiscoveryStop.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务停止搜索的事件 */ + onLocalServiceDiscoveryStop( + /** mDNS 服务停止搜索的事件的监听函数 */ + listener: OnLocalServiceDiscoveryStopCallback + ): void + /** [wx.onLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceFound.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务发现的事件 */ + onLocalServiceFound( + /** mDNS 服务发现的事件的监听函数 */ + listener: OnLocalServiceFoundCallback + ): void + /** [wx.onLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceLost.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务离开的事件 */ + onLocalServiceLost( + /** mDNS 服务离开的事件的监听函数 */ + listener: OnLocalServiceLostCallback + ): void + /** [wx.onLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceResolveFail.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务解析失败的事件 */ + onLocalServiceResolveFail( + /** mDNS 服务解析失败的事件的监听函数 */ + listener: OnLocalServiceResolveFailCallback + ): void + /** [wx.onLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 监听实时地理位置变化事件,需结合 [wx.startLocationUpdateBackground](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html)、[wx.startLocationUpdate](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html)使用。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | +* | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | +* | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务 | 提供景区导航、导览服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + const _locationChangeFn = function(res) { + console.log('location change', res) + } + wx.onLocationChange(_locationChangeFn) + wx.offLocationChange(_locationChangeFn) +``` */ + onLocationChange( + /** 实时地理位置变化事件的监听函数 */ + listener: OnLocationChangeCallback + ): void + /** [wx.onLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChangeError.html) + * + * 需要基础库: `2.19.5` + * + * 在插件中使用:不支持 + * + * 监听持续定位接口返回失败时触发。 */ + onLocationChangeError( + /** 的监听函数 */ + listener: OnLocationChangeErrorCallback + ): void + /** [wx.onMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.onMemoryWarning.html) + * + * 需要基础库: `2.0.2` + * + * 在插件中使用:不支持 + * + * 监听内存不足告警事件。 + * + * 当 iOS/Android 向小程序进程发出内存警告时,触发该事件。触发该事件不意味小程序被杀,大部分情况下仅仅是告警,开发者可在收到通知后回收一些不必要资源避免进一步加剧内存紧张。 + * + * **示例代码** + * + * ```js + * wx.onMemoryWarning(function () { + * console.log('onMemoryWarningReceive') + * }) + * `` */ + onMemoryWarning( + /** 内存不足告警事件的监听函数 */ + listener: OnMemoryWarningCallback + ): void + /** [wx.onNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* +* 监听网络状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkStatusChange(function (res) { + console.log(res.isConnected) + console.log(res.networkType) +}) +``` */ + onNetworkStatusChange( + /** 网络状态变化事件的监听函数 */ + listener: OnNetworkStatusChangeCallback + ): void + /** [wx.onNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 监听弱网状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkWeakChange(function (res) { + console.log(res.weakNet) + console.log(res.networkType) +}) +// 取消监听 +wx.offNetworkWeakChange() +``` */ + onNetworkWeakChange( + /** 弱网状态变化事件的监听函数 */ + listener: OnNetworkWeakChangeCallback + ): void + /** [wx.onPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序要打开的页面不存在事件。该事件与 [`App.onPageNotFound`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onpagenotfoundobject-object) 的回调时机一致。 + * + * **注意** + * + * - 开发者可以在回调中进行页面重定向,但必须在回调中**同步**处理,异步处理(例如 `setTimeout` 异步执行)无效。 + * - 若开发者没有调用 [wx.onPageNotFound](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) 绑定监听,也没有声明 `App.onPageNotFound`,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * - 如果回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再第二次回调。 */ + onPageNotFound( + /** 小程序要打开的页面不存在事件的监听函数 */ + listener: OnPageNotFoundCallback + ): void + /** [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onScreenRecordingStateChanged.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 监听用户录屏事件。 */ + onScreenRecordingStateChanged( + /** 用户录屏事件的监听函数 */ + listener: OnScreenRecordingStateChangedCallback + ): void + /** [wx.onSocketClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketClose.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接关闭事件。 */ + onSocketClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: OnSocketCloseCallback + ): void + /** [wx.onSocketError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketError.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 错误事件。 */ + onSocketError( + /** WebSocket 错误事件的监听函数 */ + listener: OnSocketErrorCallback + ): void + /** [wx.onSocketMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketMessage.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 接受到服务器的消息事件。 */ + onSocketMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: OnSocketMessageCallback + ): void + /** [wx.onSocketOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketOpen.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接打开事件。 */ + onSocketOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnSocketOpenCallback + ): void + /** [wx.onThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onThemeChange.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听系统主题改变事件。该事件与 [`App.onThemeChange`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onThemeChange-Object-object) 的回调时机一致。 + * + * **注意** + * + * - 只有在全局配置"darkmode": true时才会触发此事件。 */ + onThemeChange( + /** 系统主题改变事件的监听函数 */ + listener: OnThemeChangeCallback + ): void + /** [wx.onUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 监听未处理的 Promise 拒绝事件。该事件与 [`App.onUnhandledRejection`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onUnhandledRejection-Object-object) 的回调时机与参数一致。 + * + * **注意** + * + * - 所有的 unhandledRejection 都可以被这一监听捕获,但只有 Error 类型的才会在小程序后台触发报警。 */ + onUnhandledRejection( + /** 未处理的 Promise 拒绝事件的监听函数 */ + listener: OnUnhandledRejectionCallback + ): void + /** [wx.onUserCaptureScreen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onUserCaptureScreen.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听 +* +* **示例代码** +* +* ```js +wx.onUserCaptureScreen(function (res) { + console.log('用户截屏了') +}) +``` */ + onUserCaptureScreen( + /** 用户主动截屏事件的监听函数 */ + listener: OnUserCaptureScreenCallback + ): void + /** [wx.onVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatInterrupted.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听被动断开实时语音通话事件。包括小游戏切入后端时断开 */ + onVoIPChatInterrupted( + /** 被动断开实时语音通话事件的监听函数 */ + listener: OnVoIPChatInterruptedCallback + ): void + /** [wx.onVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatMembersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 */ + onVoIPChatMembersChanged( + /** 实时语音通话成员在线状态变化事件的监听函数 */ + listener: OnVoIPChatMembersChangedCallback + ): void + /** [wx.onVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatSpeakersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员通话状态变化事件。有成员开始/停止说话时触发回调 */ + onVoIPChatSpeakersChanged( + /** 实时语音通话成员通话状态变化事件的监听函数 */ + listener: OnVoIPChatSpeakersChangedCallback + ): void + /** [wx.onVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatStateChanged.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 监听房间状态变化事件。 */ + onVoIPChatStateChanged( + /** 房间状态变化事件的监听函数 */ + listener: OnVoIPChatStateChangedCallback + ): void + /** [wx.onVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPVideoMembersChanged.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听实时语音通话成员视频状态变化事件。 */ + onVoIPVideoMembersChanged( + /** 实时语音通话成员视频状态变化事件的监听函数 */ + listener: OnVoIPVideoMembersChangedCallback + ): void + /** [wx.onWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnected.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnected( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedCallback + ): void + /** [wx.onWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnectedWithPartialInfo.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnectedWithPartialInfo( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedWithPartialInfoCallback + ): void + /** [wx.onWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.onWindowResize.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听窗口尺寸变化事件 */ + onWindowResize( + /** 窗口尺寸变化事件的监听函数 */ + listener: OnWindowResizeCallback + ): void + /** [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统微信授权管理页 +* +* **示例代码** +* +* ```js +wx.openAppAuthorizeSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openAppAuthorizeSetting< + T extends OpenAppAuthorizeSettingOption = OpenAppAuthorizeSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenAppAuthorizeSettingOption> + /** [wx.openBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 初始化蓝牙模块。iOS 上开启主机/从机(外围设备)模式时需分别调用一次,并指定对应的 `mode`。 +* +* **object.fail 回调函数返回的 state 参数(仅 iOS)** +* +* | 状态码 | 说明 | +* | ------ | ------ | +* | 0 | 未知 | +* | 1 | 重置中 | +* | 2 | 不支持 | +* | 3 | 未授权 | +* | 4 | 未开启 | +* +* **注意** +* +* - 其他蓝牙相关 API 必须在 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 调用之后使用。否则 API 会返回错误(errCode=10000)。 +* - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过 [wx.onBluetoothAdapterStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) 监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.openBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + openBluetoothAdapter< + T extends OpenBluetoothAdapterOption = OpenBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, OpenBluetoothAdapterOption> + /** [wx.openCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.openCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 查看微信卡包中的卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **示例代码** +* +* ```js +wx.openCard({ + cardList: [{ + cardId: '', + code: '' + }, { + cardId: '', + code: '' + }], + success (res) { } +}) +``` */ + openCard<T extends OpenCardOption = OpenCardOption>( + option: T + ): PromisifySuccessResult<T, OpenCardOption> + /** [wx.openChannelsActivity(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsActivity.html) + * + * 需要基础库: `2.19.2` + * + * 在插件中使用:不支持 + * + * 打开视频号视频 */ + openChannelsActivity(option: OpenChannelsActivityOption): void + /** [wx.openChannelsEvent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsEvent.html) + * + * 需要基础库: `2.21.0` + * + * 在插件中使用:不支持 + * + * 打开视频号活动页 */ + openChannelsEvent(option: OpenChannelsEventOption): void + /** [wx.openChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsLive.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 打开视频号直播 */ + openChannelsLive(option: OpenChannelsLiveOption): void + /** [wx.openChannelsUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsUserProfile.html) + * + * 需要基础库: `2.21.2` + * + * 在插件中使用:不支持 + * + * 打开视频号主页 */ + openChannelsUserProfile(option: OpenChannelsUserProfileOption): void + /** [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html) +* +* 需要基础库: `2.19.0` +* +* 在插件中使用:不支持 +* +* 打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用。了解更多信息,可以参考[微信客服介绍](https://work.weixin.qq.com/kf/)。 +* +* **示例代码** +* +* ```js +wx.openCustomerServiceChat({ + extInfo: {url: ''}, + corpId: '', + success(res) {} +}) +``` */ + openCustomerServiceChat(option: OpenCustomerServiceChatOption): void + /** [wx.openDocument(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 新开页面打开文档。微信客户端 `7.0.12` 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 `showMenu`。 */ + openDocument<T extends OpenDocumentOption = OpenDocumentOption>( + option: T + ): PromisifySuccessResult<T, OpenDocumentOption> + /** [wx.openEmbeddedMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 */ + openEmbeddedMiniProgram< + T extends OpenEmbeddedMiniProgramOption = OpenEmbeddedMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, OpenEmbeddedMiniProgramOption> + /** [wx.openLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 使用微信内置地图查看位置 +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'gcj02', //返回可以用于wx.openLocation的经纬度 + success (res) { + const latitude = res.latitude + const longitude = res.longitude + wx.openLocation({ + latitude, + longitude, + scale: 18 + }) + } +}) + ``` */ + openLocation<T extends OpenLocationOption = OpenLocationOption>( + option: T + ): PromisifySuccessResult<T, OpenLocationOption> + /** [wx.openSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.openSetting.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.10.3` +* +* 调起客户端小程序设置界面,返回用户设置的操作结果。**设置界面只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **** +* +* - 注意:[2.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。[详情](https://developers.weixin.qq.com/community/develop/doc/000cea2305cc5047af5733de751008) +* +* **示例代码** +* +* ```js +wx.openSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` */ + openSetting<T extends OpenSettingOption = OpenSettingOption>( + option?: T + ): PromisifySuccessResult<T, OpenSettingOption> + /** [wx.openSystemBluetoothSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openSystemBluetoothSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统蓝牙设置页。仅支持安卓。 +* +* **示例代码** +* +* ```js +wx.openSystemBluetoothSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openSystemBluetoothSetting< + T extends OpenSystemBluetoothSettingOption = OpenSystemBluetoothSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenSystemBluetoothSettingOption> + /** [wx.openVideoEditor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.openVideoEditor.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 打开视频编辑器 */ + openVideoEditor(option: OpenVideoEditorOption): void + /** [wx.pageScrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 将页面滚动到目标位置,支持选择器和滚动距离两种方式定位 +* +* **selector 语法** +* +* selector类似于 CSS 的选择器,但仅支持下列语法。 +* +* + ID选择器:#the-id +* + class选择器(可以连续指定多个):.a-class.another-class +* + 子元素选择器:.the-parent > .the-child +* + 后代选择器:.the-ancestor .the-descendant +* + 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant +* + 多选择器的并集:#a-node, .some-other-nodes +* +* **示例代码** +* +* ```js +wx.pageScrollTo({ + scrollTop: 0, + duration: 300 +}) +``` */ + pageScrollTo<T extends PageScrollToOption = PageScrollToOption>( + option: T + ): PromisifySuccessResult<T, PageScrollToOption> + /** [wx.pauseBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.pauseBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 暂停播放音乐。 +* +* **示例代码** +* +* ```js +wx.pauseBackgroundAudio() +``` */ + pauseBackgroundAudio< + T extends PauseBackgroundAudioOption = PauseBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, PauseBackgroundAudioOption> + /** [wx.pauseVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.pauseVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 暂停正在播放的语音。再次调用 [wx.playVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) 播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 [wx.stopVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html)。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath + }) + + setTimeout(() => { wx.pauseVoice() }, 5000) + } +}) +``` */ + pauseVoice<T extends PauseVoiceOption = PauseVoiceOption>( + option?: T + ): PromisifySuccessResult<T, PauseVoiceOption> + /** [wx.playBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.playBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 使用后台播放器播放音乐。对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。 +* +* **示例代码** +* +* ```js +wx.playBackgroundAudio({ + dataUrl: '', + title: '', + coverImgUrl: '' +}) +``` */ + playBackgroundAudio< + T extends PlayBackgroundAudioOption = PlayBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, PlayBackgroundAudioOption> + /** [wx.playVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + complete () { } + }) + } +}) +``` */ + playVoice<T extends PlayVoiceOption = PlayVoiceOption>( + option: T + ): PromisifySuccessResult<T, PlayVoiceOption> + /** [wx.pluginLogin(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.20.1` + * + * __该接口仅在小程序插件中可调用__,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。 */ + pluginLogin(args?: PluginLoginOption): void + /** [wx.preloadAssets(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadAssets.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:不支持 +* +* 为视图层预加载媒体资源文件, 目前支持:font,image +* +* **示例代码** +* +* ```js +wx.preloadAssets({ + data: [ + { + type: 'image', + src: imgUrl, + }, + ], + success(resp) { + console.log('preloadAssets success', resp) + }, + fail(err) { + console.log('preloadAssets fail', err) + }, +}) +``` +* +* **** +* +* - 开发过程中,可在开发者工具network面板查看预加载情况。 */ + preloadAssets(option: PreloadAssetsOption): void + /** [wx.preloadSkylineView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadSkylineView.html) + * + * 需要基础库: `2.24.7` + * + * 在插件中使用:需要基础库 `2.24.7` + * + * 预加载下个页面所需要的 [Skyline](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 运行环境。 */ + preloadSkylineView(option?: PreloadSkylineViewOption): void + /** [wx.preloadWebview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadWebview.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预加载下个页面的 WebView。参见[预加载下个页面的时机](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_nav.html#_2-4-控制预加载下个页面的时机) */ + preloadWebview(option?: PreloadWebviewOption): void + /** [wx.previewImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。 +* +* **支持长按识别的码** +* +* | 类型 | 说明 | 最低版本 | +* |------|------| -------| +* | 小程序码 | | +* | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* +* **示例代码** +* +* ```js +wx.previewImage({ + current: '', // 当前显示图片的http链接 + urls: [] // 需要预览的图片http链接列表 +}) +``` */ + previewImage<T extends PreviewImageOption = PreviewImageOption>( + option: T + ): PromisifySuccessResult<T, PreviewImageOption> + /** [wx.previewMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预览图片和视频。 + * + * **支持长按识别的码** + * + * | 类型 | 说明 | 最低版本 | + * |------|------| -------| + * | 小程序码 | | + * | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | */ + previewMedia<T extends PreviewMediaOption = PreviewMediaOption>( + option: T + ): PromisifySuccessResult<T, PreviewMediaOption> + /** [wx.reLaunch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭所有页面,打开到应用内的某个页面 +* +* **示例代码** +* +* ```js +wx.reLaunch({ + url: 'test?id=1' +}) +``` +* +* ```html +* // test +* Page({ +* onLoad (option) { +* console.log(option.query) +* } +* }) +* ``` */ + reLaunch<T extends ReLaunchOption = ReLaunchOption>( + option: T + ): PromisifySuccessResult<T, ReLaunchOption> + /** [wx.readBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.readBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 读取蓝牙低功耗设备特征值的二进制数据。注意:必须设备的特征支持 read 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在读失败的可能性。 +* - 接口读取到的信息需要在 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 方法注册的回调中获取。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 必须在这里的回调才能获取 +wx.onBLECharacteristicValueChange(function(characteristic) { + console.log('characteristic value comed:', characteristic) +}) + +wx.readBLECharacteristicValue({ + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('readBLECharacteristicValue:', res.errCode) + } +}) +``` */ + readBLECharacteristicValue< + T extends ReadBLECharacteristicValueOption = ReadBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, ReadBLECharacteristicValueOption> + /** [wx.redirectTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 +* +* **示例代码** +* +* ```js +wx.redirectTo({ + url: 'test?id=1' +}) +``` */ + redirectTo<T extends RedirectToOption = RedirectToOption>( + option: T + ): PromisifySuccessResult<T, RedirectToOption> + /** [wx.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.removeSavedFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.removeSavedFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)** +* +* 删除本地缓存文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + if (res.fileList.length > 0){ + wx.removeSavedFile({ + filePath: res.fileList[0].filePath, + complete (res) { + console.log(res) + } + }) + } + } +}) +``` */ + removeSavedFile< + T extends WxRemoveSavedFileOption = WxRemoveSavedFileOption + >( + option: T + ): PromisifySuccessResult<T, WxRemoveSavedFileOption> + /** [wx.removeStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中移除指定 key。 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorage<T extends RemoveStorageOption = RemoveStorageOption>( + option: T + ): PromisifySuccessResult<T, RemoveStorageOption> + /** [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.removeStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorageSync( + /** 本地缓存中指定的 key */ + key: string + ): void + /** [wx.removeTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.removeTabBarBadge.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 移除 tabBar 某一项右上角的文本 */ + removeTabBarBadge< + T extends RemoveTabBarBadgeOption = RemoveTabBarBadgeOption + >( + option: T + ): PromisifySuccessResult<T, RemoveTabBarBadgeOption> + /** [wx.reportAnalytics(string eventName, Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在插件中使用时,可以被正常调用,但目前不会进行统计展示 +* +* 自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段。 +* +* **示例代码** +* +* ```js +wx.reportAnalytics('purchase', { + price: 120, + color: 'red' +}) +``` */ + reportAnalytics( + /** 事件名 */ + eventName: string, + /** 上报的自定义数据,key 为配置中的字段名,value 为上报的数据。 */ + data: IAnyObject + ): void + /** [wx.reportEvent(string eventId, object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:不支持 + * + * 事件上报 */ + reportEvent( + /** 在 mp 实验系统中设置的事件英文名 */ + eventId: string, + /** 可被 JSON.stringify 的对象,将一起上报至系统 */ + data?: IAnyObject + ): void + /** [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportMonitor.html) +* +* 需要基础库: `2.0.1` +* +* 在插件中使用:不支持 +* +* 自定义业务数据监控上报接口。 +* +* **使用说明** +* +* 使用前,需要在「小程序管理后台-运维中心-性能监控-业务数据监控」中新建监控事件,配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。 +* +* **示例代码** +* +* ```js +wx.reportMonitor('1', 1) +``` */ + reportMonitor( + /** 监控ID,在「小程序管理后台」新建数据指标后获得 */ + name: string, + /** 上报数值,经处理后会在「小程序管理后台」上展示每分钟的上报总量 */ + value: number + ): void + /** [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.reportPerformance.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:需要基础库 `2.9.3` +* +* 小程序测速上报。使用前,需要在小程序管理后台配置。 +* +* **示例代码** +* +* ```js +wx.reportPerformance(1101, 680) +wx.reportPerformance(1101, 680, 'custom') +``` */ + reportPerformance( + /** 指标 id */ + id: number, + /** 需要上报的数值 */ + value: number, + /** 自定义维度 (选填) */ + dimensions?: string | any[] + ): void + /** [wx.requestOrderPayment(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestOrderPayment.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 仅接入了[自定义版交易组件](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/Introduction2)的小程序需要使用,普通小程序可直接使用 [`wx.requestPayment`](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html)。 + * + * **前置检查** + * + * 接入自定义版交易组件之后,若要发起微信支付,请先查询[需要校验的场景](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。 + * 在需要校验的场景中,发起微信支付时,必须使用该接口,需要按照要求传入相关的[订单信息](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验,校验通过后用户才可以完成当前订单的支付,非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。 */ + requestOrderPayment< + T extends RequestOrderPaymentOption = RequestOrderPaymentOption + >( + args: T + ): PromisifySuccessResult<T, RequestOrderPaymentOption> + /** [wx.requestPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html) +* +* 在插件中使用:不支持 +* +* 发起微信支付。调用前需在[小程序微信公众平台](https://mp.weixin.qq.com/) -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml): +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter2_3.shtml) +* - [下单接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_2.shtml) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_12.shtml) +* - 旧版本 (v2) +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3) +* +* 如果使用[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html),则 `wx.requestPayment` 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见[云开发微信支付](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/wechatpay/wechatpay.html)。 +* +* **示例代码** +* +* ```js +wx.requestPayment({ + timeStamp: '', + nonceStr: '', + package: '', + signType: 'MD5', + paySign: '', + success (res) { }, + fail (res) { } +}) +``` +* +* 注:如果服务端有使用云开发,可以通过云开发微信支付[统一下单](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html)接口免鉴权获取以上所需所有参数,示例: +* +* ```js +// 云函数代码 +const cloud = require('wx-server-sdk') +cloud.init({ + env: cloud.DYNAMIC_CURRENT_ENV +}) + +exports.main = async (event, context) => { + const res = await cloud.cloudPay.unifiedOrder({ + "body" : "小秋TIT店-超市", + "outTradeNo" : "1217752501201407033233368018", + "spbillCreateIp" : "127.0.0.1", + "subMchId" : "1900009231", + "totalFee" : 1, + "envId": "test-f0b102", + "functionName": "pay_cb" + }) + return res +} + +// 小程序代码 +wx.cloud.callFunction({ + name: '函数名', + data: { + // ... + }, + success: res => { + const payment = res.result.payment + wx.requestPayment({ + ...payment, + success (res) { + console.log('pay success', res) + }, + fail (err) { + console.error('pay fail', err) + } + }) + }, + fail: console.error, +}) +``` */ + requestPayment<T extends RequestPaymentOption = RequestPaymentOption>( + option: T + ): PromisifySuccessResult<T, RequestPaymentOption> + /** [wx.requestPluginPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPluginPayment.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 插件中发起支付。 +* +* **Tip** +* +* 1. `tip`: 小程序与插件绑定在同一个open平台账号上且小程序与插件均为open账号的同主体/关联主体时,调用此接口将直接拉起支付收银台。 +* 1. `tip`: 这个接口本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。 +* 1. `tip`: 跳转支付功能页需要在 `app.json` 中配置 `"functionalPages": true` +* +* **示例代码** +* +* 具体用法及参数说明可参考 [插件支付文档](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/request-payment.html) +* ```js +wx.requestPluginPayment({ + version: 'release', + fee: 1, + paymentArgs: {}, + currencyType: 'CNY', + success (res) { }, + fail (res) { } +}) +``` */ + requestPluginPayment(option: RequestPluginPaymentOption): void + /** [wx.requestSubscribeDeviceMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeDeviceMessage.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:不支持 +* +* 订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。 +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | tmplIds 为空 | +* | 10004 | Invalid template id | tmplId 参数类型错误 | +* | 20001 | No template data return, verify the template id exist | tmplId 为空 | +* | 20003 | Templates count out of max bounds | tmplId 数量超过上限 | +* | 19720726 | check sn_ticket fail | snTicket 不合法 | +* | 19720727 | sn_ticket expire | snTicket 过期 | +* | 19720728 | err_not_found_tid | tmplId 不存在 | +* | 19720736 | template_id do not match model_id | modelId 类型与 tmplId 类型不符 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeDeviceMessage({ + tmplIds: ['xxxxx'], + sn: 'xxxx', + snTicket: 'xxxxx', + modelId: 'xxx', + success(res) { + console.log(res) + }, + fail(res) { + console.log(res) + } +}) +``` */ + requestSubscribeDeviceMessage< + T extends RequestSubscribeDeviceMessageOption = RequestSubscribeDeviceMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeDeviceMessageOption> + /** [wx.requestSubscribeMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html) +* +* 需要基础库: `2.4.4` +* +* 在插件中使用:不支持 +* +* 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 [wx.getSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) 接口可获取用户对相关模板消息的订阅状态。 +* +* ## 注意事项 +* - 一次性模板 id 和永久模板 id 不可同时使用。 +* - 低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。 +* - [2.8.2](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。 +* - 一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,支持订阅语音消息提醒,[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html) +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | 参数传空了 | +* | 10002 | Request list fail | 网络问题,请求消息列表失败 | +* | 10003 | Request subscribe fail | 网络问题,订阅请求发送失败 | +* | 10004 | Invalid template id | 参数类型错误 | +* | 10005 | Cannot show subscribe message UI | 无法展示 UI,一般是小程序这个时候退后台了导致的 | +* | 20001 | No template data return, verify the template id exist | 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 | +* | 20002 | Templates type must be same | 模板消息类型 既有一次性的又有永久的 | +* | 20003 | Templates count out of max bounds | 模板消息数量超过上限 | +* | 20004 | The main switch is switched off | 用户关闭了主开关,无法进行订阅 | +* | 20005 | This mini program was banned from subscribing messages | 小程序被禁封 | +* | 20013 | Reject DeviceMsg Template | 不允许通过该接口订阅设备消息 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeMessage({ + tmplIds: [''], + success (res) { } +}) +``` */ + requestSubscribeMessage< + T extends RequestSubscribeMessageOption = RequestSubscribeMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeMessageOption> + /** [wx.reserveChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.reserveChannelsLive.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 预约视频号直播 */ + reserveChannelsLive(option: ReserveChannelsLiveOption): void + /** [wx.revokeBufferURL(string url)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据 URL 销毁存在内存中的数据 */ + revokeBufferURL( + /** 需要销毁的二进制数据 URL */ + url: string + ): void + /** [wx.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)** +* +* 保存文件到本地。注意:**saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用**。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success: function(res) { + const tempFilePaths = res.tempFilePaths + wx.saveFile({ + tempFilePath: tempFilePaths[0], + success (res) { + const savedFilePath = res.savedFilePath + } + }) + } +}) +``` */ + saveFile<T extends WxSaveFileOption = WxSaveFileOption>( + option: T + ): PromisifySuccessResult<T, WxSaveFileOption> + /** [wx.saveFileToDisk(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 保存文件系统的文件到用户磁盘,仅在 PC 端支持 +* +* **示例代码** +* +* ```js +wx.saveFileToDisk({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + saveFileToDisk(option: SaveFileToDiskOption): void + /** [wx.saveImageToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存图片到系统相册。 +* +* **示例代码** +* +* ```js +wx.saveImageToPhotosAlbum({ + success(res) { } +}) +``` */ + saveImageToPhotosAlbum< + T extends SaveImageToPhotosAlbumOption = SaveImageToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveImageToPhotosAlbumOption> + /** [wx.saveVideoToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存视频到系统相册。支持mp4视频格式。 +* +* **示例代码** +* +* ```js +wx.saveVideoToPhotosAlbum({ + filePath: 'wxfile://xxx', + success (res) { + console.log(res.errMsg) + } +}) +``` */ + saveVideoToPhotosAlbum< + T extends SaveVideoToPhotosAlbumOption = SaveVideoToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveVideoToPhotosAlbumOption> + /** [wx.scanCode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/scan/wx.scanCode.html) +* +* 需要基础库: `1.0.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 调起客户端扫码界面进行扫码 +* +* **示例代码** +* +* ```js +// 允许从相机和相册扫码 +wx.scanCode({ + success (res) { + console.log(res) + } +}) + +// 只允许从相机扫码 +wx.scanCode({ + onlyFromCamera: true, + success (res) { + console.log(res) + } +}) +``` */ + scanCode<T extends ScanCodeOption = ScanCodeOption>( + option: T + ): PromisifySuccessResult<T, ScanCodeOption> + /** [wx.seekBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.seekBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 控制音乐播放进度。 +* +* **示例代码** +* +* ```js +wx.seekBackgroundAudio({ + position: 30 +}) +``` */ + seekBackgroundAudio< + T extends SeekBackgroundAudioOption = SeekBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, SeekBackgroundAudioOption> + /** [wx.sendHCEMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.sendHCEMessage.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 发送 NFC 消息。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +const buffer = new ArrayBuffer(1) +const dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.startHCE({ + success (res) { + wx.onHCEMessage(function(res) { + if (res.messageType === 1) { + wx.sendHCEMessage({data: buffer}) + } + }) + } +}) +``` */ + sendHCEMessage<T extends SendHCEMessageOption = SendHCEMessageOption>( + option: T + ): PromisifySuccessResult<T, SendHCEMessageOption> + /** [wx.sendSms(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/sms/wx.sendSms.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 拉起手机发送短信界面。 */ + sendSms(option: SendSmsOption): void + /** [wx.sendSocketMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 通过 WebSocket 连接发送数据。需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。 +* +* **示例代码** +* +* ```js +let socketOpen = false +let socketMsgQueue = [] +wx.connectSocket({ + url: 'test.php' +}) + +wx.onSocketOpen(function(res) { + socketOpen = true + for (let i = 0; i < socketMsgQueue.length; i++){ + sendSocketMessage(socketMsgQueue[i]) + } + socketMsgQueue = [] +}) + +function sendSocketMessage(msg) { + if (socketOpen) { + wx.sendSocketMessage({ + data:msg + }) + } else { + socketMsgQueue.push(msg) + } +} +``` */ + sendSocketMessage< + T extends SendSocketMessageOption = SendSocketMessageOption + >( + option: T + ): PromisifySuccessResult<T, SendSocketMessageOption> + /** [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。仅安卓系统 5.1 以上版本有效,iOS 因系统限制不支持。 */ + setBLEMTU<T extends SetBLEMTUOption = SetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, SetBLEMTUOption> + /** [wx.setBackgroundColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundColor.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置窗口的背景色 +* +* **示例代码** +* +* ```js +wx.setBackgroundColor({ + backgroundColor: '#ffffff', // 窗口的背景色为白色 +}) + +wx.setBackgroundColor({ + backgroundColorTop: '#ffffff', // 顶部窗口的背景色为白色 + backgroundColorBottom: '#ffffff', // 底部窗口的背景色为白色 +}) +``` */ + setBackgroundColor< + T extends SetBackgroundColorOption = SetBackgroundColorOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundColorOption> + /** [wx.setBackgroundFetchToken(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.setBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性 */ + setBackgroundFetchToken< + T extends SetBackgroundFetchTokenOption = SetBackgroundFetchTokenOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundFetchTokenOption> + /** [wx.setBackgroundTextStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置下拉背景字体、loading 图的样式 +* +* **示例代码** +* +* ```js +wx.setBackgroundTextStyle({ + textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark +}) +``` */ + setBackgroundTextStyle< + T extends SetBackgroundTextStyleOption = SetBackgroundTextStyleOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundTextStyleOption> + /** [wx.setClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.setClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s +* +* **示例代码** +* +* ```js +wx.setClipboardData({ + data: 'data', + success (res) { + wx.getClipboardData({ + success (res) { + console.log(res.data) // data + } + }) + } +}) +``` */ + setClipboardData< + T extends SetClipboardDataOption = SetClipboardDataOption + >( + option: T + ): PromisifySuccessResult<T, SetClipboardDataOption> + /** [wx.setEnable1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.setEnable1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 开启双人通话。设置 `enable` 为 `false` 时,无法接听呼叫。 */ + setEnable1v1Chat(option: SetEnable1v1ChatOption): void + /** [wx.setEnableDebug(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 设置是否打开调试开关。此开关对正式版也能生效。 +* +* **示例代码** +* +* ```javascript +// 打开调试 +wx.setEnableDebug({ + enableDebug: true +}) + +// 关闭调试 +wx.setEnableDebug({ + enableDebug: false +}) +``` +* +* **Tips** +* +* - 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。 */ + setEnableDebug<T extends SetEnableDebugOption = SetEnableDebugOption>( + option: T + ): PromisifySuccessResult<T, SetEnableDebugOption> + /** [wx.setInnerAudioOption(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 设置 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 的播放选项。设置之后对当前小程序全局生效。 + * + * **** + * + * ## 注意事项 + * - 为保证微信整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOthers 参数的内容,强制与其它音频互斥 + * - 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频 + * - 目前 wx.setInnerAudioOption 接口不兼容 wx.createWebAudioContext 接口,也不兼容 wx.createInnerAudioContext 开启 useWebAudioImplement 的情况,将在后续版本中支持 */ + setInnerAudioOption< + T extends SetInnerAudioOption = SetInnerAudioOption + >( + option: T + ): PromisifySuccessResult<T, SetInnerAudioOption> + /** [wx.setKeepScreenOn(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setKeepScreenOn.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。 +* +* **示例代码** +* +* ```js +wx.setKeepScreenOn({ + keepScreenOn: true +}) +``` */ + setKeepScreenOn< + T extends SetKeepScreenOnOption = SetKeepScreenOnOption + >( + option: T + ): PromisifySuccessResult<T, SetKeepScreenOnOption> + /** [wx.setNavigationBarColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarColor.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 设置页面导航条颜色 */ + setNavigationBarColor< + T extends SetNavigationBarColorOption = SetNavigationBarColorOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarColorOption> + /** [wx.setNavigationBarTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarTitle.html) +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置当前页面的标题 +* +* **示例代码** +* +* ```js +wx.setNavigationBarTitle({ + title: '当前页面' +}) +``` */ + setNavigationBarTitle< + T extends SetNavigationBarTitleOption = SetNavigationBarTitleOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarTitleOption> + /** [wx.setScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 设置屏幕亮度 */ + setScreenBrightness< + T extends SetScreenBrightnessOption = SetScreenBrightnessOption + >( + option: T + ): PromisifySuccessResult<T, SetScreenBrightnessOption> + /** [wx.setStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + setStorage< + T = any, + U extends SetStorageOption<T> = SetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, SetStorageOption<T>> + /** [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + wx.setStorageSync('key', 'value') +} catch (e) { } +``` */ + setStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string, + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + ): void + /** [wx.setTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarBadge.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 为 tabBar 某一项的右上角添加文本 +* +* **示例代码** +* +* ```js +wx.setTabBarBadge({ + index: 0, + text: '1' +}) +``` */ + setTabBarBadge<T extends SetTabBarBadgeOption = SetTabBarBadgeOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarBadgeOption> + /** [wx.setTabBarItem(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarItem.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 某一项的内容,`2.7.0` 起图片支持临时文件和网络文件。 +* +* **示例代码** +* +* ```js +wx.setTabBarItem({ + index: 0, + text: 'text', + iconPath: '/path/to/iconPath', + selectedIconPath: '/path/to/selectedIconPath' +}) +``` */ + setTabBarItem<T extends SetTabBarItemOption = SetTabBarItemOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarItemOption> + /** [wx.setTabBarStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarStyle.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 的整体样式 +* +* **示例代码** +* +* ```js +wx.setTabBarStyle({ + color: '#FF0000', + selectedColor: '#00FF00', + backgroundColor: '#0000FF', + borderStyle: 'white' +}) +``` */ + setTabBarStyle<T extends SetTabBarStyleOption = SetTabBarStyleOption>( + option?: T + ): PromisifySuccessResult<T, SetTabBarStyleOption> + /** [wx.setTopBarText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/sticky/wx.setTopBarText.html) +* +* 需要基础库: `1.4.3` +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [1.9.9](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 +* +* 动态设置置顶栏文字内容。只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容. +* +* **示例代码** +* +* ```js +wx.setTopBarText({ + text: 'hello, world!' +}) +``` +* +* **注意** +* +* - 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:"setTopBarText: fail invoke too frequently" */ + setTopBarText<T extends SetTopBarTextOption = SetTopBarTextOption>( + option: T + ): PromisifySuccessResult<T, SetTopBarTextOption> + /** [wx.setVisualEffectOnCapture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setVisualEffectOnCapture.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.21.3` + * + * 设置截屏/录屏时屏幕表现,仅支持在 Android 端调用 */ + setVisualEffectOnCapture(option: SetVisualEffectOnCaptureOption): void + /** [wx.setWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.setWifiList.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 设置 `wifiList` 中 AP 的相关信息。在 `onGetWifiList` 回调后调用,**iOS特有接口**。 +* +* **注意** +* +* - 该接口只能在 `onGetWifiList` 回调之后才能调用。 +* - 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。 +* - 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。 +* +* **示例代码** +* +* ```js +wx.onGetWifiList(function(res) { + if (res.wifiList.length) { + wx.setWifiList({ + wifiList: [{ + SSID: res.wifiList[0].SSID, + BSSID: res.wifiList[0].BSSID, + password: '123456' + }] + }) + } else { + wx.setWifiList({ + wifiList: [] + }) + } +}) +wx.getWifiList() +``` */ + setWifiList<T extends SetWifiListOption = SetWifiListOption>( + option: T + ): PromisifySuccessResult<T, SetWifiListOption> + /** [wx.setWindowSize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.setWindowSize.html) + * + * 需要基础库: `2.10.1` + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [2.11.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南 */ + setWindowSize(option: SetWindowSizeOption): void + /** [wx.shareFileMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareFileMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发文件到聊天 */ + shareFileMessage< + T extends ShareFileMessageOption = ShareFileMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareFileMessageOption> + /** [wx.shareToWeRun(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.shareToWeRun.html) + * + * 在插件中使用:不支持 + * + * 分享数据到微信运动。 */ + shareToWeRun<T extends ShareToWeRunOption = ShareToWeRunOption>( + option: T + ): PromisifySuccessResult<T, ShareToWeRunOption> + /** [wx.shareVideoMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareVideoMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发视频到聊天 */ + shareVideoMessage< + T extends ShareVideoMessageOption = ShareVideoMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareVideoMessageOption> + /** [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showActionSheet.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示操作菜单 +* +* **示例代码** +* +* ```js +wx.showActionSheet({ + itemList: ['A', 'B', 'C'], + success (res) { + console.log(res.tapIndex) + }, + fail (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 */ + showActionSheet< + T extends ShowActionSheetOption = ShowActionSheetOption + >( + option: T + ): PromisifySuccessResult<T, ShowActionSheetOption> + /** [wx.showLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框 +* +* **示例代码** +* +* ```js +wx.showLoading({ + title: '加载中', +}) + +setTimeout(function () { + wx.hideLoading() +}, 2000) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 应与 [wx.hideLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) 配对使用 */ + showLoading<T extends ShowLoadingOption = ShowLoadingOption>( + option: T + ): PromisifySuccessResult<T, ShowLoadingOption> + /** [wx.showModal(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示模态对话框 +* +* **示例代码** +* +* ```js +wx.showModal({ + title: '提示', + content: '这是一个模态弹窗', + success (res) { + if (res.confirm) { + console.log('用户点击确定') + } else if (res.cancel) { + console.log('用户点击取消') + } + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 +* - 自基础库 2.17.1 版本起,支持传入 editable 参数,显示带输入框的弹窗 */ + showModal<T extends ShowModalOption = ShowModalOption>( + option: T + ): PromisifySuccessResult<T, ShowModalOption> + /** [wx.showNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面显示导航条加载动画 */ + showNavigationBarLoading< + T extends ShowNavigationBarLoadingOption = ShowNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, ShowNavigationBarLoadingOption> + /** [wx.showRedPackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 拉取h5领取红包封面页。获取参考红包封面地址参考 [微信红包封面开发平台](https://cover.weixin.qq.com/cgi-bin/mmcover-bin/readtemplate?t=page/index#/doc?page=introduce)。 */ + showRedPackage<T extends ShowRedPackageOption = ShowRedPackageOption>( + option: T + ): PromisifySuccessResult<T, ShowRedPackageOption> + /** [wx.showShareImageMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareImageMenu.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */ + showShareImageMenu< + T extends ShowShareImageMenuOption = ShowShareImageMenuOption + >( + option: T + ): PromisifySuccessResult<T, ShowShareImageMenuOption> + /** [wx.showShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 显示当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮 +* +* **示例代码** +* +* ```js +wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + showShareMenu<T extends ShowShareMenuOption = ShowShareMenuOption>( + option: T + ): PromisifySuccessResult<T, ShowShareMenuOption> + /** [wx.showTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar */ + showTabBar<T extends ShowTabBarOption = ShowTabBarOption>( + option: T + ): PromisifySuccessResult<T, ShowTabBarOption> + /** [wx.showTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar 某一项的右上角的红点 */ + showTabBarRedDot< + T extends ShowTabBarRedDotOption = ShowTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, ShowTabBarRedDotOption> + /** [wx.showToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示消息提示框 +* +* **示例代码** +* +* ```js +wx.showToast({ + title: '成功', + icon: 'success', + duration: 2000 +}) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 应与 [wx.hideToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) 配对使用 */ + showToast<T extends ShowToastOption = ShowToastOption>( + option: T + ): PromisifySuccessResult<T, ShowToastOption> + /** [wx.startAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.startAccelerometer({ + interval: 'game' +}) +``` +* +* **注意** +* +* - 根据机型性能、当前 CPU 与内存的占用情况,`interval` 的设置与实际 `wx.onAccelerometerChange()` 回调函数的执行频率会有一些出入。 */ + startAccelerometer< + T extends StartAccelerometerOption = StartAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StartAccelerometerOption> + /** [wx.startBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜索附近的 Beacon 设备 +* +* **示例代码** +* +* ```js +wx.startBeaconDiscovery({ + success(res) { } +}) +``` */ + startBeaconDiscovery< + T extends StartBeaconDiscoveryOption = StartBeaconDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBeaconDiscoveryOption> + /** [wx.startBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜寻附近的蓝牙外围设备。 +* +* **此操作比较耗费系统资源,请在搜索到需要的设备后及时调用 [wx.stopBluetoothDevicesDiscovery](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) 停止搜索。** +* +* **注意** +* +* - 考虑到蓝牙功能可以间接进行定位,安卓 6.0 及以上版本,无定位权限或定位开关未打开时,无法进行设备搜索。这种情况下,安卓 8.0.16 前,接口调用成功但无法扫描设备;8.0.16 及以上版本,会返回错误。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/m7klFDmZ72i1) +* +* ```js +// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备 +wx.startBluetoothDevicesDiscovery({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + startBluetoothDevicesDiscovery< + T extends StartBluetoothDevicesDiscoveryOption = StartBluetoothDevicesDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBluetoothDevicesDiscoveryOption> + /** [wx.startCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.startCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.startCompass() +``` */ + startCompass<T extends StartCompassOption = StartCompassOption>( + option?: T + ): PromisifySuccessResult<T, StartCompassOption> + /** [wx.startDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听设备方向的变化。 */ + startDeviceMotionListening< + T extends StartDeviceMotionListeningOption = StartDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StartDeviceMotionListeningOption> + /** [wx.startGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听陀螺仪数据。 */ + startGyroscope<T extends StartGyroscopeOption = StartGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StartGyroscopeOption> + /** [wx.startHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.startHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 初始化 NFC 模块。(HCE 模式仅安卓支持) +* +* **示例代码** +* +* ```js +wx.startHCE({ + aid_list: ['F222222222'], + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startHCE<T extends StartHCEOption = StartHCEOption>( + option: T + ): PromisifySuccessResult<T, StartHCEOption> + /** [wx.startLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 开始搜索局域网下的 mDNS 服务。搜索的结果会通过 wx.onLocalService* 事件返回。 + * + * **注意** + * + * 1. 由于操作系统相关能力变更,iOS 微信客户端 7.0.18 及以上版本无法使用 mDNS 相关接口,安卓版本不受影响 + * 2. wx.startLocalServiceDiscovery 是一个消耗性能的行为,开始 30 秒后会自动 stop 并执行 wx.onLocalServiceDiscoveryStop 注册的回调函数。 + * 3. 在调用 wx.startLocalServiceDiscovery 后,在这次搜索行为停止后才能发起下次 wx.startLocalServiceDiscovery。停止本次搜索行为的操作包括调用 wx.stopLocalServiceDiscovery 和 30 秒后系统自动 stop 本次搜索。 */ + startLocalServiceDiscovery< + T extends StartLocalServiceDiscoveryOption = StartLocalServiceDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartLocalServiceDiscoveryOption> + /** [wx.startLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 开启小程序进入前台时接收位置消息。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | + * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | + * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | + * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | + * | 生活服务 | / | 上门服务作业等线下场景 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | + * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | + * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | + * | 旅游 | 景区服务 | 提供景区导航、导览服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 快递业与邮政 | / | 快递/货物收发服务 | + * | 餐饮 | / | 线下送餐服务 | + * | 电商平台 | / | 售卖商品线下发货、线下收货服务 | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | + * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | + * + * **注意** + * + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdate< + T extends StartLocationUpdateOption = StartLocationUpdateOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateOption> + /** [wx.startLocationUpdateBackground(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 开启小程序进入前后台时均接收位置消息,需引导用户开启[授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#后台定位)。授权以后,小程序在运行中或进入后台均可接受位置消息变化。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 商家自营 | / | 在小程序内提供线下商超导览、导航服务 | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 跑腿、共享服务 | 含有B端小程序配送服务,基于地理位置共享工具类服务 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 工具 | 健康管理 | 基于实时地理位置提供身体管理记录等服务 | + * | 旅游 | 景区服务、住宿服务 | 在小程序内提供景区导航、导览服务、酒店导航服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 家政、外送 | 含有B端小程序配送服务,基于地理位置导航上门服务 | + * | 快递业与邮政 | / | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 外卖点餐 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 跨境电商 | / | 在小程序内提供线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 在小程序内提供线下商超导览、导航服务 | + * + * **注意** + * + * - 安卓微信7.0.6版本,iOS 7.0.5版本起支持该接口 + * - 需在app.json中配置requiredBackgroundModes: ['location']后使用 + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdateBackground< + T extends StartLocationUpdateBackgroundOption = StartLocationUpdateBackgroundOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateBackgroundOption> + /** [wx.startPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 +* +* **示例代码** +* +* ```js +wx.startPullDownRefresh() +``` */ + startPullDownRefresh< + T extends StartPullDownRefreshOption = StartPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StartPullDownRefreshOption> + /** [wx.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 开始录音。当主动调用 [wx.stopRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html),或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + startRecord<T extends WxStartRecordOption = WxStartRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStartRecordOption> + /** [wx.startSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 开始 SOTER 生物认证。验证流程请参考[说明](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html)。 +* +* **resultJSON 说明** +* +* 此数据为设备TEE中,将传入的challenge和TEE内其他安全信息组成的数据进行组装而来的JSON,对下述字段的解释如下表。例子如下: +* | 字段名 | 说明 | +* |---------|-------------------------------------------------------------------------------------------| +* | raw | 调用者传入的challenge | +* | fid | (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号) | +* | counter | 防重放特征参数 | +* | tee_n | TEE名称(如高通或者trustonic等) | +* | tee_v | TEE版本号 | +* | fp_n | 指纹以及相关逻辑模块提供商(如FPC等) | +* | fp_v | 指纹以及相关模块版本号 | +* | cpu_id | 机器唯一识别ID | +* | uid | 概念同Android系统定义uid,即应用程序编号 | +* +* ```json +{ + "raw":"msg", + "fid":"2", + "counter":123, + "tee_n":"TEE Name", + "tee_v":"TEE Version", + "fp_n":"Fingerprint Sensor Name", + "fp_v":"Fingerprint Sensor Version", + "cpu_id":"CPU Id", + "uid":"21" +} +``` +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/q3tCKkmJ7g2e) +* ```js +wx.startSoterAuthentication({ + requestAuthModes: ['fingerPrint'], + challenge: '123456', + authContent: '请用指纹解锁', + success(res) { + } +}) +``` */ + startSoterAuthentication< + T extends StartSoterAuthenticationOption = StartSoterAuthenticationOption + >( + option: T + ): PromisifySuccessResult<T, StartSoterAuthenticationOption> + /** [wx.startWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.startWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 初始化 Wi-Fi 模块。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/8P7zrkmd7r2n) +* ```js +wx.startWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startWifi<T extends StartWifiOption = StartWifiOption>( + option?: T + ): PromisifySuccessResult<T, StartWifiOption> + /** [wx.stopAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.stopAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.stopAccelerometer() +``` */ + stopAccelerometer< + T extends StopAccelerometerOption = StopAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StopAccelerometerOption> + /** [wx.stopBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.stopBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 停止播放音乐。 +* +* **示例代码** +* +* ```js +wx.stopBackgroundAudio() +``` */ + stopBackgroundAudio< + T extends StopBackgroundAudioOption = StopBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, StopBackgroundAudioOption> + /** [wx.stopBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.stopBeaconDiscovery.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 停止搜索附近的 Beacon 设备 */ + stopBeaconDiscovery< + T extends StopBeaconDiscoveryOption = StopBeaconDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBeaconDiscoveryOption> + /** [wx.stopBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.stopBluetoothDevicesDiscovery({ + success (res) { + console.log(res) + } +}) +``` */ + stopBluetoothDevicesDiscovery< + T extends StopBluetoothDevicesDiscoveryOption = StopBluetoothDevicesDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBluetoothDevicesDiscoveryOption> + /** [wx.stopCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.stopCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.stopCompass() +``` */ + stopCompass<T extends StopCompassOption = StopCompassOption>( + option?: T + ): PromisifySuccessResult<T, StopCompassOption> + /** [wx.stopDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听设备方向的变化。 */ + stopDeviceMotionListening< + T extends StopDeviceMotionListeningOption = StopDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StopDeviceMotionListeningOption> + /** [wx.stopFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 停止人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + stopFaceDetect(option?: StopFaceDetectOption): void + /** [wx.stopGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听陀螺仪数据。 */ + stopGyroscope<T extends StopGyroscopeOption = StopGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StopGyroscopeOption> + /** [wx.stopHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.stopHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 关闭 NFC 模块。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +wx.stopHCE({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopHCE<T extends StopHCEOption = StopHCEOption>( + option?: T + ): PromisifySuccessResult<T, StopHCEOption> + /** [wx.stopLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.stopLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 停止搜索 mDNS 服务 */ + stopLocalServiceDiscovery< + T extends StopLocalServiceDiscoveryOption = StopLocalServiceDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocalServiceDiscoveryOption> + /** [wx.stopLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.stopLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 关闭监听实时位置变化,前后台都停止消息接收 */ + stopLocationUpdate< + T extends StopLocationUpdateOption = StopLocationUpdateOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocationUpdateOption> + /** [wx.stopPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.stopPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 停止当前页面下拉刷新。 +* +* **示例代码** +* +* ```js +Page({ + onPullDownRefresh () { + wx.stopPullDownRefresh() + } +}) +``` */ + stopPullDownRefresh< + T extends StopPullDownRefreshOption = StopPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StopPullDownRefreshOption> + /** [wx.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 停止录音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + stopRecord<T extends WxStopRecordOption = WxStopRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStopRecordOption> + /** [wx.stopVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 结束播放语音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + }) + + setTimeout(() => { wx.stopVoice() }, 5000) + } +}) +``` */ + stopVoice<T extends StopVoiceOption = StopVoiceOption>( + option?: T + ): PromisifySuccessResult<T, StopVoiceOption> + /** [wx.stopWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.stopWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 关闭 Wi-Fi 模块。 +* +* **示例代码** +* +* ```js +wx.stopWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopWifi<T extends StopWifiOption = StopWifiOption>( + option?: T + ): PromisifySuccessResult<T, StopWifiOption> + /** [wx.subscribeVoIPVideoMembers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.subscribeVoIPVideoMembers.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 */ + subscribeVoIPVideoMembers< + T extends SubscribeVoIPVideoMembersOption = SubscribeVoIPVideoMembersOption + >( + option: T + ): PromisifySuccessResult<T, SubscribeVoIPVideoMembersOption> + /** [wx.switchTab(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 +* +* **示例代码** +* +* ```json +// app.json +{ + "tabBar": { + "list": [{ + "pagePath": "index", + "text": "首页" + },{ + "pagePath": "other", + "text": "其他" + }] + } +} +``` +* +* ```js +wx.switchTab({ + url: '/index' +}) +``` */ + switchTab<T extends SwitchTabOption = SwitchTabOption>( + option: T + ): PromisifySuccessResult<T, SwitchTabOption> + /** [wx.updateShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 更新转发属性 +* +* **示例代码** +* +* ```js +wx.updateShareMenu({ + withShareTicket: true, + success () { } +}) +``` +* ```js +// 转发私密消息 +wx.updateShareMenu({ + isPrivateMessage: true, + activityId: 'xxx', + templateInfo: {}, + success () { }, + fail () {} +}) +``` */ + updateShareMenu< + T extends UpdateShareMenuOption = UpdateShareMenuOption + >( + option: T + ): PromisifySuccessResult<T, UpdateShareMenuOption> + /** [wx.updateVoIPChatMuteConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.updateVoIPChatMuteConfig.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 更新实时语音静音设置 */ + updateVoIPChatMuteConfig< + T extends UpdateVoIPChatMuteConfigOption = UpdateVoIPChatMuteConfigOption + >( + option: T + ): PromisifySuccessResult<T, UpdateVoIPChatMuteConfigOption> + /** [wx.updateWeChatApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.updateWeChatApp.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。 */ + updateWeChatApp< + T extends UpdateWeChatAppOption = UpdateWeChatAppOption + >( + option?: T + ): PromisifySuccessResult<T, UpdateWeChatAppOption> + /** [wx.vibrateLong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateLong.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较长时间的振动(400 ms) */ + vibrateLong<T extends VibrateLongOption = VibrateLongOption>( + option?: T + ): PromisifySuccessResult<T, VibrateLongOption> + /** [wx.vibrateShort(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较短时间的振动(15 ms)。仅在 iPhone `7 / 7 Plus` 以上及 Android 机型生效 */ + vibrateShort<T extends VibrateShortOption = VibrateShortOption>( + option: T + ): PromisifySuccessResult<T, VibrateShortOption> + /** [wx.writeBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 向蓝牙低功耗设备特征值中写入二进制数据。注意:必须设备的特征支持 write 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在写失败的可能性。 +* - 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。 +* - 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。 +* - 安卓平台上,在调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 成功后立即调用本接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 向蓝牙设备发送一个0x00的16进制数据 +let buffer = new ArrayBuffer(1) +let dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.writeBLECharacteristicValue({ + // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + // 这里的value是ArrayBuffer类型 + value: buffer, + success (res) { + console.log('writeBLECharacteristicValue success', res.errMsg) + } +}) +``` */ + writeBLECharacteristicValue< + T extends WriteBLECharacteristicValueOption = WriteBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, WriteBLECharacteristicValueOption> + /** 小程序云开发 */ + cloud: WxCloud + /** 文件系统中的用户目录路径 */ + env: { USER_DATA_PATH: string } + } + + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AccessCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AccessFailCallback = (result: AccessFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AccessSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCardSuccessCallback = (result: AddCardSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCustomLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddFileToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddFileToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddFileToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddGroundOverlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddGroundOverlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneCalendarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneCalendarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneCalendarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneContactSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneRepeatCalendarCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddPhoneRepeatCalendarFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AddPhoneRepeatCalendarSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVideoToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddVideoToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVideoToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVisualLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AppendFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AppendFileFailCallback = (result: AppendFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AppendFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthPrivateMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthPrivateMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AuthPrivateMessageSuccessCallback = ( + result: AuthPrivateMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AuthorizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeForMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthorizeForMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeForMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 背景音频播放错误事件的监听函数 */ + type BackgroundAudioManagerOnErrorCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchGetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchGetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchGetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchSetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchSetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchSetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BlurCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BlurFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BlurSuccessCallback = (res: GeneralCallbackResult) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type BoundingClientRectCallback = ( + result: BoundingClientRectCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStartRecordSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStopRecordSuccessCallback = ( + result: StopRecordSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasGetImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasGetImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasGetImageDataSuccessCallback = ( + result: CanvasGetImageDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasPutImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasPutImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasPutImageDataSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasToTempFilePathCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasToTempFilePathFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasToTempFilePathSuccessCallback = ( + result: CanvasToTempFilePathSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsOpenAccessibilityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsOpenAccessibilityFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsOpenAccessibilitySuccessCallback = ( + option: CheckIsOpenAccessibilitySuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSoterEnrolledInDeviceCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSoterEnrolledInDeviceFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSoterEnrolledInDeviceSuccessCallback = ( + result: CheckIsSoterEnrolledInDeviceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSupportSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSupportSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSupportSoterAuthenticationSuccessCallback = ( + result: CheckIsSupportSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckSessionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CheckSessionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CheckSessionSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseAddressCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseAddressSuccessCallback = ( + result: ChooseAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseContactSuccessCallback = ( + option: ChooseContactSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseImageSuccessCallback = ( + result: ChooseImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceSuccessCallback = ( + result: ChooseInvoiceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceTitleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceTitleSuccessCallback = ( + result: ChooseInvoiceTitleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLicensePlateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseLicensePlateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLicensePlateSuccessCallback = ( + result: ChooseLicensePlateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLocationSuccessCallback = ( + result: ChooseLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMediaSuccessCallback = ( + result: ChooseMediaSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMessageFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseMessageFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMessageFileSuccessCallback = ( + result: ChooseMessageFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChoosePoiCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChoosePoiFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChoosePoiSuccessCallback = ( + result: ChoosePoiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseVideoSuccessCallback = ( + result: ChooseVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CloseSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CloseSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressImageSuccessCallback = ( + result: CompressImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressVideoSuccessCallback = ( + result: CompressVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type ConnectFailCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ConnectSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type ConnectWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type ConnectWifiSuccessCallback = (res: WifiError) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type ContextCallback = (result: ContextCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CopyFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CopyFileFailCallback = (result: CopyFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CopyFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CreateBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CreateBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEPeripheralServerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CreateBLEPeripheralServerFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CreateBLEPeripheralServerSuccessCallback = ( + result: CreateBLEPeripheralServerSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DisableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type DisableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type DisableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DownloadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type DownloadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type DownloadFileSuccessCallback = ( + result: DownloadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type DownloadTaskOffProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 下载进度变化事件的监听函数 */ + type DownloadTaskOnProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EditImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type EditImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type EditImageSuccessCallback = ( + result: EditImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EnableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type EnableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type EnableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 事件监听函数 */ + type EventCallback = ( + /** 触发事件参数 */ + ...args: any + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitFullScreenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitMiniProgramCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitMiniProgramFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitMiniProgramSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ExitPictureInPictureFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitVoIPChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitVoIPChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitVoIPChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FaceDetectSuccessCallback = ( + result: FaceDetectSuccessCallbackResult + ) => void + /** 回调函数 */ + type FieldsCallback = ( + /** 节点的相关信息 */ + res: IAnyObject + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FileSystemManagerCloseCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerCloseFailCallback = ( + result: CloseFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerCloseSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerGetFileInfoFailCallback = ( + result: GetFileInfoFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetFileInfoSuccessCallback = ( + result: FileSystemManagerGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetSavedFileListSuccessCallback = ( + result: FileSystemManagerGetSavedFileListSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerRemoveSavedFileFailCallback = ( + result: RemoveSavedFileFailCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerSaveFileFailCallback = ( + result: SaveFileFailCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FromScreenLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FromScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FromScreenLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FstatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FstatFailCallback = (result: FstatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FstatSuccessCallback = (result: FstatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FtruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FtruncateFailCallback = (result: FtruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FtruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAtqaCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetAtqaFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetAtqaSuccessCallback = (result: GetAtqaSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAvailableAudioSourcesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetAvailableAudioSourcesFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetAvailableAudioSourcesSuccessCallback = ( + result: GetAvailableAudioSourcesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceCharacteristicsCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceCharacteristicsFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceCharacteristicsSuccessCallback = ( + result: GetBLEDeviceCharacteristicsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceRSSICompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceRSSIFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceRSSISuccessCallback = ( + result: GetBLEDeviceRSSISuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceServicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceServicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceServicesSuccessCallback = ( + result: GetBLEDeviceServicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEMTUCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEMTUFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEMTUSuccessCallback = ( + result: GetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundAudioPlayerStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundAudioPlayerStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundAudioPlayerStateSuccessCallback = ( + result: GetBackgroundAudioPlayerStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchDataFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchDataSuccessCallback = ( + result: GetBackgroundFetchDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchTokenSuccessCallback = ( + result: GetBackgroundFetchTokenSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBatteryInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBatteryInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBatteryInfoSuccessCallback = ( + result: GetBatteryInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBeaconsCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type GetBeaconsFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type GetBeaconsSuccessCallback = ( + result: GetBeaconsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothAdapterStateCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothAdapterStateFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothAdapterStateSuccessCallback = ( + result: GetBluetoothAdapterStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothDevicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothDevicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothDevicesSuccessCallback = ( + result: GetBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetCenterLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetCenterLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetCenterLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveInfoSuccessCallback = ( + result: GetChannelsLiveInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveNoticeInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveNoticeInfoFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveNoticeInfoSuccessCallback = ( + result: GetChannelsLiveNoticeInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsShareKeyCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsShareKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsShareKeySuccessCallback = ( + result: GetChannelsShareKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetClipboardDataSuccessCallback = ( + option: GetClipboardDataSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedBluetoothDevicesCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetConnectedBluetoothDevicesFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type GetConnectedBluetoothDevicesSuccessCallback = ( + result: GetConnectedBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetConnectedWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetConnectedWifiSuccessCallback = ( + result: GetConnectedWifiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetContentsSuccessCallback = ( + result: GetContentsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetExtConfigCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetExtConfigFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetExtConfigSuccessCallback = ( + result: GetExtConfigSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFuzzyLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetFuzzyLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetFuzzyLocationSuccessCallback = ( + result: GetFuzzyLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetGroupEnterInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetGroupEnterInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetGroupEnterInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHCEStateCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type GetHCEStateFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type GetHCEStateSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHistoricalBytesCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetHistoricalBytesFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetHistoricalBytesSuccessCallback = ( + result: GetHistoricalBytesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetImageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetImageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetImageInfoSuccessCallback = ( + result: GetImageInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLatestUserKeyCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLatestUserKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLatestUserKeySuccessCallback = ( + result: GetLatestUserKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocalIPAddressCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetLocalIPAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocalIPAddressSuccessCallback = ( + result: GetLocalIPAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocationSuccessCallback = ( + result: GetLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetMaxTransceiveLengthCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetMaxTransceiveLengthFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetMaxTransceiveLengthSuccessCallback = ( + result: GetMaxTransceiveLengthSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetNetworkTypeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetNetworkTypeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetNetworkTypeSuccessCallback = ( + result: GetNetworkTypeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRandomValuesCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRandomValuesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRandomValuesSuccessCallback = ( + result: GetRandomValuesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRegionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRegionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRegionSuccessCallback = ( + result: GetRegionSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRotateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRotateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRotateSuccessCallback = ( + result: GetRotateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSakCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetSakFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetSakSuccessCallback = (result: GetSakSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSavedFileInfoSuccessCallback = ( + result: GetSavedFileInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileListCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileListFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScaleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetScaleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScaleSuccessCallback = ( + result: GetScaleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScreenBrightnessSuccessCallback = ( + option: GetScreenBrightnessSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenRecordingStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenRecordingStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetScreenRecordingStateSuccessCallback = ( + result: GetScreenRecordingStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectedTextRangeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSelectedTextRangeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectedTextRangeSuccessCallback = ( + result: GetSelectedTextRangeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectionTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSelectionTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectionTextSuccessCallback = ( + result: GetSelectionTextSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSettingSuccessCallback = ( + result: GetSettingSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetShareInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetShareInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetShareInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSkewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSkewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSkewSuccessCallback = (result: GetSkewSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetStorageInfoSuccessCallback = ( + option: GetStorageInfoSuccessCallbackOption + ) => void + /** 接口调用成功的回调函数 */ + type GetStorageSuccessCallback<T = any> = ( + result: GetStorageSuccessCallbackResult<T> + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoAsyncCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoAsyncFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoAsyncSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserInfoSuccessCallback = ( + result: GetUserInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserProfileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserProfileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserProfileSuccessCallback = ( + result: GetUserProfileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetVideoInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetVideoInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetVideoInfoSuccessCallback = ( + result: GetVideoInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWeRunDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetWeRunDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetWeRunDataSuccessCallback = ( + result: GetWeRunDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideHomeButtonCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideHomeButtonFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideHomeButtonSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideKeyboardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideKeyboardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideKeyboardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type HideNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type HideNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IncludePointsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type IncludePointsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type IncludePointsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InitFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitMarkerClusterCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type InitMarkerClusterFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitMarkerClusterSuccessCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InnerAudioContextOffErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + /** 音频播放错误事件的监听函数 */ + type InnerAudioContextOnErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + type InnerAudioContextOnStopCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertDividerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertDividerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertDividerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听相交状态变化的回调函数 */ + type IntersectionObserverObserveCallback = ( + result: IntersectionObserverObserveCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InterstitialAdOffErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 插屏错误事件的监听函数 */ + type InterstitialAdOnErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsBluetoothDevicePairedCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type IsBluetoothDevicePairedFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type IsBluetoothDevicePairedSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsConnectedCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type IsConnectedFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type IsConnectedSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type Join1v1ChatCompleteCallback = (res: Join1v1ChatError) => void + /** 接口调用失败的回调函数 */ + type Join1v1ChatFailCallback = (res: Join1v1ChatError) => void + /** 接口调用成功的回调函数 */ + type Join1v1ChatSuccessCallback = (res: Join1v1ChatError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type JoinVoIPChatCompleteCallback = (res: JoinVoIPChatError) => void + /** 接口调用失败的回调函数 */ + type JoinVoIPChatFailCallback = (res: JoinVoIPChatError) => void + /** 接口调用成功的回调函数 */ + type JoinVoIPChatSuccessCallback = ( + result: JoinVoIPChatSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePlayerContextSnapshotSuccessCallback = ( + result: LivePlayerContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePusherContextSnapshotSuccessCallback = ( + result: LivePusherContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoadFontFaceCompleteCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type LoadFontFaceFailCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LoadFontFaceSuccessCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type LoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type LoginSuccessCallback = (result: LoginSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakeBluetoothPairCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type MakeBluetoothPairFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakeBluetoothPairSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakePhoneCallCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MakePhoneCallFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakePhoneCallSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听 media query 状态变化的回调函数 */ + type MediaQueryObserverObserveCallback = ( + result: MediaQueryObserverObserveCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MkdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MkdirFailCallback = (result: MkdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MkdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveAlongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveAlongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveAlongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveToLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveToLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveToLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MuteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MuteFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MuteSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateBackFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateBackMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateToMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToSuccessCallback = ( + result: NavigateToSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NdefCloseCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type NdefCloseFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type NdefCloseSuccessCallback = (res: Nfcrwerror) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type NodeCallback = (result: NodeCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NotifyBLECharacteristicValueChangeCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type NotifyBLECharacteristicValueChangeFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type NotifyBLECharacteristicValueChangeSuccessCallback = ( + res: BluetoothError + ) => void + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAccelerometerChangeCallback = (res: GeneralCallbackResult) => void + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppHideCallback = (res: GeneralCallbackResult) => void + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppShowCallback = (res: GeneralCallbackResult) => void + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionBeginCallback = ( + res: GeneralCallbackResult + ) => void + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEMTUChangeCallback = ( + result: OnBLEMTUChangeListenerResult + ) => void + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconServiceChangeCallback = (res: GeneralCallbackResult) => void + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconUpdateCallback = (res: GeneralCallbackResult) => void + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBindWifiCallback = (res: GeneralCallbackResult) => void + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothDeviceFoundCallback = (res: GeneralCallbackResult) => void + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCanplayCallback = (res: GeneralCallbackResult) => void + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCompassChangeCallback = (res: GeneralCallbackResult) => void + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffConnectCallback = (res: GeneralCallbackResult) => void + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDeviceMotionChangeCallback = (res: GeneralCallbackResult) => void + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffEndedCallback = (res: GeneralCallbackResult) => void + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffListeningCallback = (res: GeneralCallbackResult) => void + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLoadCallback = (res: GeneralCallbackResult) => void + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkStatusChangeCallback = (res: GeneralCallbackResult) => void + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPageNotFoundCallback = ( + result: OnPageNotFoundListenerResult + ) => void + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPauseCallback = (res: GeneralCallbackResult) => void + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPlayCallback = (res: GeneralCallbackResult) => void + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekedCallback = (res: GeneralCallbackResult) => void + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekingCallback = (res: GeneralCallbackResult) => void + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffStopCallback = (res: GeneralCallbackResult) => void + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWaitingCallback = (res: GeneralCallbackResult) => void + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWindowResizeCallback = ( + result: OnWindowResizeListenerResult + ) => void + /** 加速度数据事件的监听函数 */ + type OnAccelerometerChangeCallback = ( + result: OnAccelerometerChangeListenerResult + ) => void + /** 小程序切后台事件的监听函数 */ + type OnAppHideCallback = (res: GeneralCallbackResult) => void + /** 小程序切前台事件的监听函数 */ + type OnAppShowCallback = ( + /** 启动参数 */ + options: LaunchOptionsApp + ) => void + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + type OnAudioInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 音频中断结束事件的监听函数 */ + type OnAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + type OnBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + type OnBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + type OnBLEMTUChangeCallback = (result: OnBLEMTUChangeListenerResult) => void + /** 当前外围设备被连接或断开连接事件的监听函数 */ + type OnBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** 音乐暂停事件的监听函数 */ + type OnBackgroundAudioPauseCallback = (res: GeneralCallbackResult) => void + /** 音乐播放事件的监听函数 */ + type OnBackgroundAudioPlayCallback = (res: GeneralCallbackResult) => void + /** 音乐停止事件的监听函数 */ + type OnBackgroundAudioStopCallback = (res: GeneralCallbackResult) => void + /** 收到 backgroundFetch 数据事件的监听函数 */ + type OnBackgroundFetchDataCallback = ( + result: OnBackgroundFetchDataListenerResult + ) => void + /** Beacon 服务状态变化事件的监听函数 */ + type OnBeaconServiceChangeCallback = ( + result: OnBeaconServiceChangeListenerResult + ) => void + /** Beacon 设备更新事件的监听函数 */ + type OnBeaconUpdateCallback = (result: OnBeaconUpdateListenerResult) => void + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + type OnBindWifiCallback = (res: GeneralCallbackResult) => void + /** 蓝牙适配器状态变化事件的监听函数 */ + type OnBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** 搜索到新设备的事件的监听函数 */ + type OnBluetoothDeviceFoundCallback = ( + result: OnBluetoothDeviceFoundListenerResult + ) => void + /** 回调函数 */ + type OnCameraFrameCallback = (result: OnCameraFrameCallbackResult) => void + type OnCanplayCallback = (res: GeneralCallbackResult) => void + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** 特征订阅事件的监听函数 */ + type OnCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 取消特征订阅事件的监听函数 */ + type OnCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** 向微信后台请求检查更新结果事件的监听函数 */ + type OnCheckForUpdateCallback = ( + result: OnCheckForUpdateListenerResult + ) => void + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + type OnChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** 罗盘数据变化事件的监听函数 */ + type OnCompassChangeCallback = ( + result: OnCompassChangeListenerResult + ) => void + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + type OnConnectCallback = (res: GeneralCallbackResult) => void + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + type OnCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** 设备方向变化事件的监听函数 */ + type OnDeviceMotionChangeCallback = ( + result: OnDeviceMotionChangeListenerResult + ) => void + /** 的监听函数 */ + type OnDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + type OnEndedCallback = (res: GeneralCallbackResult) => void + /** 已录制完指定帧大小的文件事件的监听函数 */ + type OnFrameRecordedCallback = ( + result: OnFrameRecordedListenerResult + ) => void + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + type OnGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** 陀螺仪数据变化事件的监听函数 */ + type OnGyroscopeChangeCallback = ( + result: OnGyroscopeChangeListenerResult + ) => void + /** 接收 NFC 设备消息事件的监听函数 */ + type OnHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** HTTP Response Header 事件的监听函数 */ + type OnHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + type OnInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 录音中断结束事件的监听函数 */ + type OnInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 键盘高度变化事件的监听函数 */ + type OnKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** 小程序异步组件加载失败事件的监听函数 */ + type OnLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** 开始监听数据包消息的事件的监听函数 */ + type OnListeningCallback = (res: GeneralCallbackResult) => void + type OnLoadCallback = (res: GeneralCallbackResult) => void + /** mDNS 服务停止搜索的事件的监听函数 */ + type OnLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** mDNS 服务发现的事件的监听函数 */ + type OnLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** mDNS 服务离开的事件的监听函数 */ + type OnLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** mDNS 服务解析失败的事件的监听函数 */ + type OnLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** 实时地理位置变化事件的监听函数 */ + type OnLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** 的监听函数 */ + type OnLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** 内存不足告警事件的监听函数 */ + type OnMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** 网络状态变化事件的监听函数 */ + type OnNetworkStatusChangeCallback = ( + result: OnNetworkStatusChangeListenerResult + ) => void + /** 弱网状态变化事件的监听函数 */ + type OnNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + type OnNextCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnOpenCallback = (result: OnOpenListenerResult) => void + /** 小程序要打开的页面不存在事件的监听函数 */ + type OnPageNotFoundCallback = (result: OnPageNotFoundListenerResult) => void + type OnPauseCallback = (res: GeneralCallbackResult) => void + type OnPlayCallback = (res: GeneralCallbackResult) => void + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + type OnPrevCallback = (res: GeneralCallbackResult) => void + /** worker线程被系统回收事件的监听函数 */ + type OnProcessKilledCallback = (res: GeneralCallbackResult) => void + /** 录音继续事件的监听函数 */ + type OnResumeCallback = (res: GeneralCallbackResult) => void + /** 用户录屏事件的监听函数 */ + type OnScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + type OnSeekedCallback = (res: GeneralCallbackResult) => void + type OnSeekingCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type OnSocketCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 错误事件的监听函数 */ + type OnSocketErrorCallback = (result: GeneralCallbackResult) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type OnSocketMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnSocketOpenCallback = (result: OnSocketOpenListenerResult) => void + /** 录音开始事件的监听函数 */ + type OnStartCallback = (res: GeneralCallbackResult) => void + /** 系统主题改变事件的监听函数 */ + type OnThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + type OnTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** 未处理的 Promise 拒绝事件的监听函数 */ + type OnUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** 小程序更新失败事件的监听函数 */ + type OnUpdateFailedCallback = (res: GeneralCallbackResult) => void + /** 小程序有版本更新事件的监听函数 */ + type OnUpdateReadyCallback = (res: GeneralCallbackResult) => void + /** 用户主动截屏事件的监听函数 */ + type OnUserCaptureScreenCallback = (res: GeneralCallbackResult) => void + /** 被动断开实时语音通话事件的监听函数 */ + type OnVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** 实时语音通话成员在线状态变化事件的监听函数 */ + type OnVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** 实时语音通话成员通话状态变化事件的监听函数 */ + type OnVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** 房间状态变化事件的监听函数 */ + type OnVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** 实时语音通话成员视频状态变化事件的监听函数 */ + type OnVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** 音频加载中事件的监听函数 */ + type OnWaitingCallback = (res: GeneralCallbackResult) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** 窗口尺寸变化事件的监听函数 */ + type OnWindowResizeCallback = (result: OnWindowResizeListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenAppAuthorizeSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenAppAuthorizeSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenAppAuthorizeSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type OpenBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type OpenBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenCardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsActivityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsActivityFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsActivitySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsEventCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsEventFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsEventSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsLiveCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsLiveFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsLiveSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsUserProfileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsUserProfileFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsUserProfileSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCustomerServiceChatCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenCustomerServiceChatFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenCustomerServiceChatSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenDocumentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenDocumentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenDocumentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenEmbeddedMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenEmbeddedMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenEmbeddedMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenFailCallback = (result: OpenFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenMapAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenMapAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenMapAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenSettingSuccessCallback = ( + result: OpenSettingSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSuccessCallback = (result: OpenSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSystemBluetoothSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenSystemBluetoothSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSystemBluetoothSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenVideoEditorCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenVideoEditorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenVideoEditorSuccessCallback = ( + result: OpenVideoEditorSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PageScrollToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PageScrollToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PageScrollToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PauseBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PlayBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PluginLoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PluginLoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PluginLoginSuccessCallback = ( + result: PluginLoginSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadAssetsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadAssetsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadAssetsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadSkylineViewCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PreloadSkylineViewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadSkylineViewSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadWebviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadWebviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadWebviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewMediaSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReLaunchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReLaunchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReLaunchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type ReadBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type ReadBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompressedFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadCompressedFileFailCallback = ( + result: ReadCompressedFileFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadCompressedFileSuccessCallback = ( + result: ReadCompressedFileSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadFailCallback = (result: ReadFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadFileFailCallback = (result: ReadFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReadFileSuccessCallback = ( + result: ReadFileSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadSuccessCallback = (result: ReadSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadZipEntryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadZipEntryFailCallback = ( + result: ReadZipEntryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadZipEntrySuccessCallback = ( + result: ReadZipEntrySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReaddirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReaddirFailCallback = (result: ReaddirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReaddirSuccessCallback = (result: ReaddirSuccessCallbackResult) => void + /** 录音结束事件的监听函数 */ + type RecorderManagerOnStopCallback = (result: OnStopListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedirectToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedirectToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedirectToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveCustomLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveFormatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveFormatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveFormatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveSavedFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveSavedFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveTabBarBadgeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveVisualLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RenameCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RenameFailCallback = (result: RenameFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RenameSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestFailCallback = (err: Err) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestFullScreenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestOrderPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestOrderPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestOrderPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPaymentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPaymentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPictureInPictureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPluginPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPluginPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPluginPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeDeviceMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeDeviceMessageFailCallback = ( + result: RequestSubscribeDeviceMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeDeviceMessageSuccessCallback = ( + result: RequestSubscribeDeviceMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeMessageFailCallback = ( + result: RequestSubscribeMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeMessageSuccessCallback = ( + result: RequestSubscribeMessageSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSuccessCallback< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > = (result: RequestSuccessCallbackResult<T>) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + type RewardedVideoAdOnCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** 激励视频错误事件的监听函数 */ + type RewardedVideoAdOnErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RmdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RmdirFailCallback = (result: RmdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RmdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileSuccessCallback = ( + result: SaveFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileToDiskCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SaveFileToDiskFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileToDiskSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveImageToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveImageToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveImageToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveVideoToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveVideoToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveVideoToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ScanCodeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ScanCodeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ScanCodeSuccessCallback = ( + result: ScanCodeSuccessCallbackResult + ) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type ScrollOffsetCallback = (result: ScrollOffsetCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SeekBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SeekBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SeekBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendHCEMessageCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type SendHCEMessageFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type SendHCEMessageSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSmsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendSmsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSmsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSocketMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SendSocketMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSocketMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBGMVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBGMVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBGMVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBLEMTUCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBLEMTUFailCallback = (result: SetBLEMTUFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBLEMTUSuccessCallback = ( + result: SetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundColorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundFetchTokenSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundTextStyleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundTextStyleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundTextStyleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBoundaryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBoundaryFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBoundarySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetCenterOffsetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetCenterOffsetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetCenterOffsetSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetClipboardDataSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetContentsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnable1v1ChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnable1v1ChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnable1v1ChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnableDebugCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnableDebugFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnableDebugSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetInnerAudioOptionCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetInnerAudioOptionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetInnerAudioOptionSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetKeepScreenOnCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetKeepScreenOnFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetKeepScreenOnSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetLocMarkerIconCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetLocMarkerIconFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetLocMarkerIconSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetMICVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetMICVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetMICVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarColorFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarTitleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarTitleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetScreenBrightnessSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarBadgeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarItemCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarItemFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarItemSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarStyleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarStyleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarStyleSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTimeoutCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type SetTimeoutFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type SetTimeoutSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTopBarTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTopBarTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTopBarTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetVisualEffectOnCaptureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetVisualEffectOnCaptureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetVisualEffectOnCaptureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type SetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type SetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWindowSizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetWindowSizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetWindowSizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetZoomCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetZoomFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetZoomSuccessCallback = (result: SetZoomSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareFileMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareFileMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareFileMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareToWeRunCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareToWeRunFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareToWeRunSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareVideoMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShareVideoMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareVideoMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowActionSheetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowActionSheetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowActionSheetSuccessCallback = ( + result: ShowActionSheetSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowModalCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowModalFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowModalSuccessCallback = ( + result: ShowModalSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ShowNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowRedPackageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowRedPackageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowRedPackageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareImageMenuCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowShareImageMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareImageMenuSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SnapshotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SnapshotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SocketTaskCloseFailCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type SocketTaskOnCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type SocketTaskOnMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAccelerometerSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StartBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StartBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StartBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StartBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StartDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StartHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StartHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocalServiceDiscoveryFailCallback = ( + result: StartLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateBackgroundCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateBackgroundFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateBackgroundSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartRecordFailCallback = (res: GeneralCallbackResult) => void + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + type StartRecordTimeoutCallback = ( + result: StartRecordTimeoutCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSoterAuthenticationSuccessCallback = ( + result: StartSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StartWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StartWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StatFailCallback = (result: StatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StatSuccessCallback = (result: StatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAccelerometerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StopBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StopBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StopBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StopBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StopDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StopDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StopHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StopHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocalServiceDiscoveryFailCallback = ( + result: StopLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopRecordFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StopWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StopWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SubscribeVoIPVideoMembersCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SubscribeVoIPVideoMembersFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SubscribeVoIPVideoMembersSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchCameraCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchCameraFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchCameraSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchTabCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchTabFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchTabSuccessCallback = (res: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type TCPSocketOffMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 当接收到数据的时触发该事件的监听函数 */ + type TCPSocketOnMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TakePhotoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TakePhotoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TakePhotoSuccessCallback = ( + result: TakePhotoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToScreenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToScreenLocationSuccessCallback = ( + result: ToScreenLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToggleTorchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToggleTorchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToggleTorchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TransceiveCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type TransceiveFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type TransceiveSuccessCallback = ( + result: TransceiveSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TranslateMarkerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TranslateMarkerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TranslateMarkerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TruncateFailCallback = (result: TruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void + type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void + /** 收到消息的事件的监听函数 */ + type UDPSocketOnMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UndoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UndoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UndoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnlinkCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnlinkFailCallback = (result: UnlinkFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnlinkSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnzipCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnzipFailCallback = (result: UnzipFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnzipSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateVoIPChatMuteConfigCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateVoIPChatMuteConfigFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type UpdateVoIPChatMuteConfigSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateWeChatAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateWeChatAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateWeChatAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UploadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UploadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UploadFileSuccessCallback = ( + result: UploadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UploadTaskOffProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 上传进度变化事件的监听函数 */ + type UploadTaskOnProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 开启会话回调 */ + type VKSessionStartCallback = ( + /** 参数 status 可选值: + * - 0: 成功; + * - 2000001: 参数错误; + * - 2003000: 会话不可用; + * - 2000000: 系统错误; + * - 2000002: 设备不支持; + * - 2000003: 系统不支持; + * - 2000004: 设备不支持; + * - 2003001: 未开启系统相机权限; + * - 2003002: 未开启小程序相机权限; */ + status: + | 0 + | 2000001 + | 2003000 + | 2000000 + | 2000002 + | 2000003 + | 2000004 + | 2003001 + | 2003002 + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateLongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateLongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type VibrateLongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateShortCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateShortFailCallback = ( + result: VibrateShortFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type VibrateShortSuccessCallback = (res: GeneralCallbackResult) => void + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + type WorkerOnMessageCallback = ( + result: WorkerOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type WriteBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type WriteBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCharacteristicValueCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type WriteCharacteristicValueFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WriteCharacteristicValueSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFailCallback = (result: WriteFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFileFailCallback = (result: WriteFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WriteFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteNdefMessageCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type WriteNdefMessageFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteNdefMessageSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteSuccessCallback = (result: WriteSuccessCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxGetFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxGetFileInfoSuccessCallback = ( + result: WxGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxGetSavedFileListSuccessCallback = ( + result: WxGetSavedFileListSuccessCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type WxOffErrorCallback = (res: GeneralCallbackResult) => void + /** 小程序错误事件的监听函数 */ + type WxOnErrorCallback = ( + /** 错误信息,包含堆栈 */ + error: string + ) => void + /** 接口调用失败的回调函数 */ + type WxRemoveSavedFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxSaveFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxStartRecordSuccessCallback = ( + result: StartRecordSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxStopRecordSuccessCallback = (res: GeneralCallbackResult) => void +} diff --git a/typings/types/wx/lib.wx.app.d.ts b/typings/types/wx/lib.wx.app.d.ts new file mode 100644 index 0000000..ef90d8e --- /dev/null +++ b/typings/types/wx/lib.wx.app.d.ts @@ -0,0 +1,270 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.App { + interface ReferrerInfo { + /** 来源小程序或公众号或App的 appId + * + * 以下场景支持返回 referrerInfo.appId: + * - 1020(公众号 profile 页相关小程序列表): appId + * - 1035(公众号自定义菜单):来源公众号 appId + * - 1036(App 分享消息卡片):来源应用 appId + * - 1037(小程序打开小程序):来源小程序 appId + * - 1038(从另一个小程序返回):来源小程序 appId + * - 1043(公众号模板消息):来源公众号 appId + */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData?: any + } + + type SceneValues = + | 1001 + | 1005 + | 1006 + | 1007 + | 1008 + | 1011 + | 1012 + | 1013 + | 1014 + | 1017 + | 1019 + | 1020 + | 1023 + | 1024 + | 1025 + | 1026 + | 1027 + | 1028 + | 1029 + | 1030 + | 1031 + | 1032 + | 1034 + | 1035 + | 1036 + | 1037 + | 1038 + | 1039 + | 1042 + | 1043 + | 1044 + | 1045 + | 1046 + | 1047 + | 1048 + | 1049 + | 1052 + | 1053 + | 1056 + | 1057 + | 1058 + | 1059 + | 1064 + | 1067 + | 1069 + | 1071 + | 1072 + | 1073 + | 1074 + | 1077 + | 1078 + | 1079 + | 1081 + | 1082 + | 1084 + | 1089 + | 1090 + | 1091 + | 1092 + | 1095 + | 1096 + | 1097 + | 1099 + | 1102 + | 1124 + | 1125 + | 1126 + | 1129 + + interface LaunchShowOption { + /** 打开小程序的路径 */ + path: string + /** 打开小程序的query */ + query: IAnyObject + /** 打开小程序的场景值 + * - 1001:发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表) + * - 1005:微信首页顶部搜索框的搜索结果页 + * - 1006:发现栏小程序主入口搜索框的搜索结果页 + * - 1007:单人聊天会话中的小程序消息卡片 + * - 1008:群聊会话中的小程序消息卡片 + * - 1011:扫描二维码 + * - 1012:长按图片识别二维码 + * - 1013:扫描手机相册中选取的二维码 + * - 1014:小程序模板消息 + * - 1017:前往小程序体验版的入口页 + * - 1019:微信钱包(微信客户端7.0.0版本改为支付入口) + * - 1020:公众号 profile 页相关小程序列表 + * - 1023:安卓系统桌面图标 + * - 1024:小程序 profile 页 + * - 1025:扫描一维码 + * - 1026:发现栏小程序主入口,「附近的小程序」列表 + * - 1027:微信首页顶部搜索框搜索结果页「使用过的小程序」列表 + * - 1028:我的卡包 + * - 1029:小程序中的卡券详情页 + * - 1030:自动化测试下打开小程序 + * - 1031:长按图片识别一维码 + * - 1032:扫描手机相册中选取的一维码 + * - 1034:微信支付完成页 + * - 1035:公众号自定义菜单 + * - 1036:App 分享消息卡片 + * - 1037:小程序打开小程序 + * - 1038:从另一个小程序返回 + * - 1039:摇电视 + * - 1042:添加好友搜索框的搜索结果页 + * - 1043:公众号模板消息 + * - 1044:带 shareTicket 的小程序消息卡片 [详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) + * - 1045:朋友圈广告 + * - 1046:朋友圈广告详情页 + * - 1047:扫描小程序码 + * - 1048:长按图片识别小程序码 + * - 1049:扫描手机相册中选取的小程序码 + * - 1052:卡券的适用门店列表 + * - 1053:搜一搜的结果页 + * - 1056:聊天顶部音乐播放器右上角菜单 + * - 1057:钱包中的银行卡详情页 + * - 1058:公众号文章 + * - 1059:体验版小程序绑定邀请页 + * - 1064:微信首页连Wi-Fi状态栏 + * - 1067:公众号文章广告 + * - 1069:移动应用 + * - 1071:钱包中的银行卡列表页 + * - 1072:二维码收款页面 + * - 1073:客服消息列表下发的小程序消息卡片 + * - 1074:公众号会话下发的小程序消息卡片 + * - 1077:摇周边 + * - 1078:微信连Wi-Fi成功提示页 + * - 1079:微信游戏中心 + * - 1081:客服消息下发的文字链 + * - 1082:公众号会话下发的文字链 + * - 1084:朋友圈广告原生页 + * - 1089:微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏) + * - 1090:长按小程序右上角菜单唤出最近使用历史 + * - 1091:公众号文章商品卡片 + * - 1092:城市服务入口 + * - 1095:小程序广告组件 + * - 1096:聊天记录 + * - 1097:微信支付签约页 + * - 1099:页面内嵌插件 + * - 1102:公众号 profile 页服务预览 + * - 1124:扫“一物一码”打开小程序 + * - 1125:长按图片识别“一物一码” + * - 1126:扫描手机相册中选取的“一物一码” + * - 1129:微信爬虫访问 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html) + */ + scene: SceneValues + /** shareTicket,详见 [获取更多转发信息]((转发#获取更多转发信息)) */ + shareTicket: string + /** 当场景为由从另一个小程序或公众号或App打开时,返回此字段 */ + referrerInfo?: ReferrerInfo + } + + interface PageNotFoundOption { + /** 不存在页面的路径 */ + path: string + /** 打开不存在页面的 query */ + query: IAnyObject + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + } + + interface Option { + /** 生命周期回调—监听小程序初始化 + * + * 小程序初始化完成时触发,全局只触发一次。 + */ + onLaunch(options: LaunchShowOption): void + /** 生命周期回调—监听小程序显示 + * + * 小程序启动,或从后台进入前台显示时 + */ + onShow(options: LaunchShowOption): void + /** 生命周期回调—监听小程序隐藏 + * + * 小程序从前台进入后台时 + */ + onHide(): void + /** 错误监听函数 + * + * 小程序发生脚本错误,或者 api + */ + onError(/** 错误信息,包含堆栈 */ error: string): void + /** 页面不存在监听函数 + * + * 小程序要打开的页面不存在时触发,会带上页面信息回调该函数 + * + * **注意:** + * 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。 + * + * 最低基础库: 1.9.90 + */ + onPageNotFound(options: PageNotFoundOption): void + /** + * 小程序有未处理的 Promise 拒绝时触发。也可以使用 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 绑定监听。注意事项请参考 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html)。 + * **参数**:与 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 一致 + */ + onUnhandledRejection: OnUnhandledRejectionCallback + /** + * 系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。 + * + * 最低基础库: 2.11.0 + */ + onThemeChange: OnThemeChangeCallback + } + + type Instance<T extends IAnyObject> = Option & T + type Options<T extends IAnyObject> = Partial<Option> & + T & + ThisType<Instance<T>> + type TrivialInstance = Instance<IAnyObject> + + interface Constructor { + <T extends IAnyObject>(options: Options<T>): void + } + + interface GetAppOption { + /** 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包 + * + * 最低基础库: 2.2.4 + */ + allowDefault?: boolean + } + + interface GetApp { + <T extends IAnyObject = IAnyObject>(opts?: GetAppOption): Instance<T> + } +} + +declare let App: WechatMiniprogram.App.Constructor +declare let getApp: WechatMiniprogram.App.GetApp diff --git a/typings/types/wx/lib.wx.behavior.d.ts b/typings/types/wx/lib.wx.behavior.d.ts new file mode 100644 index 0000000..f33605b --- /dev/null +++ b/typings/types/wx/lib.wx.behavior.d.ts @@ -0,0 +1,68 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Behavior { + type BehaviorIdentifier = string + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Component.Instance<TData, TProperty, TMethod, TCustomInstanceProperty> + type TrivialInstance = Instance<IAnyObject, IAnyObject, IAnyObject> + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType<Instance<TData, TProperty, TMethod, TCustomInstanceProperty>> + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + >( + options: Options<TData, TProperty, TMethod, TCustomInstanceProperty> + ): BehaviorIdentifier + } + + type DataOption = Component.DataOption + type PropertyOption = Component.PropertyOption + type MethodOption = Component.MethodOption + type Data<D extends DataOption> = Component.Data<D> + type Property<P extends PropertyOption> = Component.Property<P> + type Method<M extends MethodOption> = Component.Method<M> + + type DefinitionFilter = Component.DefinitionFilter + type Lifetimes = Component.Lifetimes + + type OtherOption = Omit<Component.OtherOption, 'options'> +} +/** 注册一个 `behavior`,接受一个 `Object` 类型的参数。*/ +declare let Behavior: WechatMiniprogram.Behavior.Constructor diff --git a/typings/types/wx/lib.wx.cloud.d.ts b/typings/types/wx/lib.wx.cloud.d.ts new file mode 100644 index 0000000..95c43d3 --- /dev/null +++ b/typings/types/wx/lib.wx.cloud.d.ts @@ -0,0 +1,979 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +interface IAPIError { + errMsg: string +} + +interface IAPIParam<T = any> { + config?: ICloudConfig + success?: (res: T) => void + fail?: (err: IAPIError) => void + complete?: (val: T | IAPIError) => void +} + +interface IAPISuccessParam { + errMsg: string +} + +type IAPICompleteParam = IAPISuccessParam | IAPIError + +type IAPIFunction<T, P extends IAPIParam<T>> = (param?: P) => Promise<T> + +interface IInitCloudConfig { + env?: + | string + | { + database?: string + functions?: string + storage?: string + } + traceUser?: boolean +} + +interface ICloudConfig { + env?: string + traceUser?: boolean +} + +interface IICloudAPI { + init: (config?: IInitCloudConfig) => void + [api: string]: AnyFunction | IAPIFunction<any, any> +} + +interface ICloudService { + name: string + + getAPIs: () => { [name: string]: IAPIFunction<any, any> } +} + +interface ICloudServices { + [serviceName: string]: ICloudService +} + +interface ICloudMetaData { + session_id: string +} + +declare class InternalSymbol {} + +interface AnyObject { + [x: string]: any +} + +type AnyArray = any[] + +type AnyFunction = (...args: any[]) => any + +/** + * extend wx with cloud + */ +interface WxCloud { + init: (config?: ICloudConfig) => void + + callFunction(param: OQ<ICloud.CallFunctionParam>): void + callFunction( + param: RQ<ICloud.CallFunctionParam> + ): Promise<ICloud.CallFunctionResult> + + uploadFile(param: OQ<ICloud.UploadFileParam>): WechatMiniprogram.UploadTask + uploadFile( + param: RQ<ICloud.UploadFileParam> + ): Promise<ICloud.UploadFileResult> + + downloadFile( + param: OQ<ICloud.DownloadFileParam> + ): WechatMiniprogram.DownloadTask + downloadFile( + param: RQ<ICloud.DownloadFileParam> + ): Promise<ICloud.DownloadFileResult> + + getTempFileURL(param: OQ<ICloud.GetTempFileURLParam>): void + getTempFileURL( + param: RQ<ICloud.GetTempFileURLParam> + ): Promise<ICloud.GetTempFileURLResult> + + deleteFile(param: OQ<ICloud.DeleteFileParam>): void + deleteFile( + param: RQ<ICloud.DeleteFileParam> + ): Promise<ICloud.DeleteFileResult> + + database: (config?: ICloudConfig) => DB.Database + + CloudID: ICloud.ICloudIDConstructor + CDN: ICloud.ICDNConstructor + + callContainer(param: OQ<ICloud.CallContainerParam>): void + callContainer( + param: RQ<ICloud.CallContainerParam> + ): Promise<ICloud.CallContainerResult> + + connectContainer(param: OQ<ICloud.ConnectContainerParam>): void + connectContainer( + param: RQ<ICloud.ConnectContainerParam> + ): Promise<ICloud.ConnectContainerResult> +} + +declare namespace ICloud { + interface ICloudAPIParam<T = any> extends IAPIParam<T> { + config?: ICloudConfig + } + + // === API: callFunction === + type CallFunctionData = AnyObject + + interface CallFunctionResult extends IAPISuccessParam { + result: AnyObject | string | undefined + } + + interface CallFunctionParam extends ICloudAPIParam<CallFunctionResult> { + name: string + data?: CallFunctionData + slow?: boolean + } + // === end === + + // === API: container === + type CallContainerData = AnyObject + + interface CallContainerResult extends IAPISuccessParam { + data: any + statusCode: number + header: Record<string, any> + callID: string + } + + interface CallContainerParam extends ICloudAPIParam<CallContainerResult> { + path: string + service?: string + method?: string + header?: Record<string, any> + data?: any // string, object, ArrayBuffer + dataType?: string + responseType?: string + timeout?: number + verbose?: boolean + followRedirect?: boolean + } + + interface ConnectContainerResult extends IAPISuccessParam { + socketTask: WechatMiniprogram.SocketTask + } + + interface ConnectSocketOptions extends IAPIParam<void> { + header?: Record<string, string> + protocols?: string[] + tcpNoDelay?: boolean + perMessageDeflate?: boolean + timeout?: number + } + + type ConnectContainerParam = Omit< + ConnectSocketOptions, + 'success' | 'fail' | 'complete' + > & + ICloudAPIParam<ConnectContainerResult> & { + service: string + path?: string + } + // === end === + + // === API: uploadFile === + interface UploadFileResult extends IAPISuccessParam { + fileID: string + statusCode: number + } + + interface UploadFileParam extends ICloudAPIParam<UploadFileResult> { + cloudPath: string + filePath: string + header?: AnyObject + } + // === end === + + // === API: downloadFile === + interface DownloadFileResult extends IAPISuccessParam { + tempFilePath: string + statusCode: number + } + + interface DownloadFileParam extends ICloudAPIParam<DownloadFileResult> { + fileID: string + cloudPath?: string + } + // === end === + + // === API: getTempFileURL === + interface GetTempFileURLResult extends IAPISuccessParam { + fileList: GetTempFileURLResultItem[] + } + + interface GetTempFileURLResultItem { + fileID: string + tempFileURL: string + maxAge: number + status: number + errMsg: string + } + + interface GetTempFileURLParam extends ICloudAPIParam<GetTempFileURLResult> { + fileList: string[] + } + // === end === + + // === API: deleteFile === + interface DeleteFileResult extends IAPISuccessParam { + fileList: DeleteFileResultItem[] + } + + interface DeleteFileResultItem { + fileID: string + status: number + errMsg: string + } + + interface DeleteFileParam extends ICloudAPIParam<DeleteFileResult> { + fileList: string[] + } + // === end === + + // === API: CloudID === + abstract class CloudID { + constructor(cloudID: string) + } + + interface ICloudIDConstructor { + new (cloudId: string): CloudID + (cloudId: string): CloudID + } + // === end === + + // === API: CDN === + abstract class CDN { + target: string | ArrayBuffer | ICDNFilePathSpec + constructor(target: string | ArrayBuffer | ICDNFilePathSpec) + } + + interface ICDNFilePathSpec { + type: 'filePath' + filePath: string + } + + interface ICDNConstructor { + new (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + } + // === end === +} + +// === Database === +declare namespace DB { + /** + * The class of all exposed cloud database instances + */ + class Database { + readonly config: ICloudConfig + readonly command: DatabaseCommand + readonly Geo: IGeo + readonly serverDate: () => ServerDate + readonly RegExp: IRegExpConstructor + + private constructor() + + collection(collectionName: string): CollectionReference + } + + class CollectionReference extends Query { + readonly collectionName: string + + private constructor(name: string, database: Database) + + doc(docId: string | number): DocumentReference + + add(options: OQ<IAddDocumentOptions>): void + add(options: RQ<IAddDocumentOptions>): Promise<IAddResult> + } + + class DocumentReference { + private constructor(docId: string | number, database: Database) + + field(object: Record<string, any>): this + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQuerySingleResult> + + set(options: OQ<ISetSingleDocumentOptions>): void + set(options?: RQ<ISetSingleDocumentOptions>): Promise<ISetResult> + + update(options: OQ<IUpdateSingleDocumentOptions>): void + update( + options?: RQ<IUpdateSingleDocumentOptions> + ): Promise<IUpdateResult> + + remove(options: OQ<IRemoveSingleDocumentOptions>): void + remove( + options?: RQ<IRemoveSingleDocumentOptions> + ): Promise<IRemoveResult> + + watch(options: IWatchOptions): RealtimeListener + } + + class RealtimeListener { + // "And Now His Watch Is Ended" + close: () => Promise<void> + } + + class Query { + where(condition: IQueryCondition): Query + + orderBy(fieldPath: string, order: string): Query + + limit(max: number): Query + + skip(offset: number): Query + + field(object: Record<string, any>): Query + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQueryResult> + + count(options: OQ<ICountDocumentOptions>): void + count(options?: RQ<ICountDocumentOptions>): Promise<ICountResult> + + watch(options: IWatchOptions): RealtimeListener + } + + interface DatabaseCommand { + eq(val: any): DatabaseQueryCommand + neq(val: any): DatabaseQueryCommand + gt(val: any): DatabaseQueryCommand + gte(val: any): DatabaseQueryCommand + lt(val: any): DatabaseQueryCommand + lte(val: any): DatabaseQueryCommand + in(val: any[]): DatabaseQueryCommand + nin(val: any[]): DatabaseQueryCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseQueryCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseQueryCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseQueryCommand + + and( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + or( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + nor( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + + exists(val: boolean): DatabaseQueryCommand + + mod(divisor: number, remainder: number): DatabaseQueryCommand + + all(val: any[]): DatabaseQueryCommand + elemMatch(val: any): DatabaseQueryCommand + size(val: number): DatabaseQueryCommand + + set(val: any): DatabaseUpdateCommand + remove(): DatabaseUpdateCommand + inc(val: number): DatabaseUpdateCommand + mul(val: number): DatabaseUpdateCommand + min(val: number): DatabaseUpdateCommand + max(val: number): DatabaseUpdateCommand + rename(val: string): DatabaseUpdateCommand + bit(val: number): DatabaseUpdateCommand + + push(...values: any[]): DatabaseUpdateCommand + pop(): DatabaseUpdateCommand + shift(): DatabaseUpdateCommand + unshift(...values: any[]): DatabaseUpdateCommand + addToSet(val: any): DatabaseUpdateCommand + pull(val: any): DatabaseUpdateCommand + pullAll(val: any): DatabaseUpdateCommand + + project: { + slice(val: number | [number, number]): DatabaseProjectionCommand + } + + aggregate: { + __safe_props__?: Set<string> + + abs(val: any): DatabaseAggregateCommand + add(val: any): DatabaseAggregateCommand + addToSet(val: any): DatabaseAggregateCommand + allElementsTrue(val: any): DatabaseAggregateCommand + and(val: any): DatabaseAggregateCommand + anyElementTrue(val: any): DatabaseAggregateCommand + arrayElemAt(val: any): DatabaseAggregateCommand + arrayToObject(val: any): DatabaseAggregateCommand + avg(val: any): DatabaseAggregateCommand + ceil(val: any): DatabaseAggregateCommand + cmp(val: any): DatabaseAggregateCommand + concat(val: any): DatabaseAggregateCommand + concatArrays(val: any): DatabaseAggregateCommand + cond(val: any): DatabaseAggregateCommand + convert(val: any): DatabaseAggregateCommand + dateFromParts(val: any): DatabaseAggregateCommand + dateToParts(val: any): DatabaseAggregateCommand + dateFromString(val: any): DatabaseAggregateCommand + dateToString(val: any): DatabaseAggregateCommand + dayOfMonth(val: any): DatabaseAggregateCommand + dayOfWeek(val: any): DatabaseAggregateCommand + dayOfYear(val: any): DatabaseAggregateCommand + divide(val: any): DatabaseAggregateCommand + eq(val: any): DatabaseAggregateCommand + exp(val: any): DatabaseAggregateCommand + filter(val: any): DatabaseAggregateCommand + first(val: any): DatabaseAggregateCommand + floor(val: any): DatabaseAggregateCommand + gt(val: any): DatabaseAggregateCommand + gte(val: any): DatabaseAggregateCommand + hour(val: any): DatabaseAggregateCommand + ifNull(val: any): DatabaseAggregateCommand + in(val: any): DatabaseAggregateCommand + indexOfArray(val: any): DatabaseAggregateCommand + indexOfBytes(val: any): DatabaseAggregateCommand + indexOfCP(val: any): DatabaseAggregateCommand + isArray(val: any): DatabaseAggregateCommand + isoDayOfWeek(val: any): DatabaseAggregateCommand + isoWeek(val: any): DatabaseAggregateCommand + isoWeekYear(val: any): DatabaseAggregateCommand + last(val: any): DatabaseAggregateCommand + let(val: any): DatabaseAggregateCommand + literal(val: any): DatabaseAggregateCommand + ln(val: any): DatabaseAggregateCommand + log(val: any): DatabaseAggregateCommand + log10(val: any): DatabaseAggregateCommand + lt(val: any): DatabaseAggregateCommand + lte(val: any): DatabaseAggregateCommand + ltrim(val: any): DatabaseAggregateCommand + map(val: any): DatabaseAggregateCommand + max(val: any): DatabaseAggregateCommand + mergeObjects(val: any): DatabaseAggregateCommand + meta(val: any): DatabaseAggregateCommand + min(val: any): DatabaseAggregateCommand + millisecond(val: any): DatabaseAggregateCommand + minute(val: any): DatabaseAggregateCommand + mod(val: any): DatabaseAggregateCommand + month(val: any): DatabaseAggregateCommand + multiply(val: any): DatabaseAggregateCommand + neq(val: any): DatabaseAggregateCommand + not(val: any): DatabaseAggregateCommand + objectToArray(val: any): DatabaseAggregateCommand + or(val: any): DatabaseAggregateCommand + pow(val: any): DatabaseAggregateCommand + push(val: any): DatabaseAggregateCommand + range(val: any): DatabaseAggregateCommand + reduce(val: any): DatabaseAggregateCommand + reverseArray(val: any): DatabaseAggregateCommand + rtrim(val: any): DatabaseAggregateCommand + second(val: any): DatabaseAggregateCommand + setDifference(val: any): DatabaseAggregateCommand + setEquals(val: any): DatabaseAggregateCommand + setIntersection(val: any): DatabaseAggregateCommand + setIsSubset(val: any): DatabaseAggregateCommand + setUnion(val: any): DatabaseAggregateCommand + size(val: any): DatabaseAggregateCommand + slice(val: any): DatabaseAggregateCommand + split(val: any): DatabaseAggregateCommand + sqrt(val: any): DatabaseAggregateCommand + stdDevPop(val: any): DatabaseAggregateCommand + stdDevSamp(val: any): DatabaseAggregateCommand + strcasecmp(val: any): DatabaseAggregateCommand + strLenBytes(val: any): DatabaseAggregateCommand + strLenCP(val: any): DatabaseAggregateCommand + substr(val: any): DatabaseAggregateCommand + substrBytes(val: any): DatabaseAggregateCommand + substrCP(val: any): DatabaseAggregateCommand + subtract(val: any): DatabaseAggregateCommand + sum(val: any): DatabaseAggregateCommand + switch(val: any): DatabaseAggregateCommand + toBool(val: any): DatabaseAggregateCommand + toDate(val: any): DatabaseAggregateCommand + toDecimal(val: any): DatabaseAggregateCommand + toDouble(val: any): DatabaseAggregateCommand + toInt(val: any): DatabaseAggregateCommand + toLong(val: any): DatabaseAggregateCommand + toObjectId(val: any): DatabaseAggregateCommand + toString(val: any): DatabaseAggregateCommand + toLower(val: any): DatabaseAggregateCommand + toUpper(val: any): DatabaseAggregateCommand + trim(val: any): DatabaseAggregateCommand + trunc(val: any): DatabaseAggregateCommand + type(val: any): DatabaseAggregateCommand + week(val: any): DatabaseAggregateCommand + year(val: any): DatabaseAggregateCommand + zip(val: any): DatabaseAggregateCommand + } + } + + class DatabaseAggregateCommand {} + + enum LOGIC_COMMANDS_LITERAL { + AND = 'and', + OR = 'or', + NOT = 'not', + NOR = 'nor' + } + + class DatabaseLogicCommand { + and(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + or(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + nor(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + } + + enum QUERY_COMMANDS_LITERAL { + // comparison + EQ = 'eq', + NEQ = 'neq', + GT = 'gt', + GTE = 'gte', + LT = 'lt', + LTE = 'lte', + IN = 'in', + NIN = 'nin', + // geo + GEO_NEAR = 'geoNear', + GEO_WITHIN = 'geoWithin', + GEO_INTERSECTS = 'geoIntersects', + // element + EXISTS = 'exists', + // evaluation + MOD = 'mod', + // array + ALL = 'all', + ELEM_MATCH = 'elemMatch', + SIZE = 'size' + } + + class DatabaseQueryCommand extends DatabaseLogicCommand { + eq(val: any): DatabaseLogicCommand + neq(val: any): DatabaseLogicCommand + gt(val: any): DatabaseLogicCommand + gte(val: any): DatabaseLogicCommand + lt(val: any): DatabaseLogicCommand + lte(val: any): DatabaseLogicCommand + in(val: any[]): DatabaseLogicCommand + nin(val: any[]): DatabaseLogicCommand + + exists(val: boolean): DatabaseLogicCommand + + mod(divisor: number, remainder: number): DatabaseLogicCommand + + all(val: any[]): DatabaseLogicCommand + elemMatch(val: any): DatabaseLogicCommand + size(val: number): DatabaseLogicCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseLogicCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseLogicCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseLogicCommand + } + + enum PROJECTION_COMMANDS_LITERAL { + SLICE = 'slice' + } + + class DatabaseProjectionCommand {} + + enum UPDATE_COMMANDS_LITERAL { + // field + SET = 'set', + REMOVE = 'remove', + INC = 'inc', + MUL = 'mul', + MIN = 'min', + MAX = 'max', + RENAME = 'rename', + // bitwise + BIT = 'bit', + // array + PUSH = 'push', + POP = 'pop', + SHIFT = 'shift', + UNSHIFT = 'unshift', + ADD_TO_SET = 'addToSet', + PULL = 'pull', + PULL_ALL = 'pullAll' + } + + class DatabaseUpdateCommand {} + + class Batch {} + + /** + * A contract that all API provider must adhere to + */ + class APIBaseContract< + PromiseReturn, + CallbackReturn, + Param extends IAPIParam, + Context = any + > { + getContext(param: Param): Context + + /** + * In case of callback-style invocation, this function will be called + */ + getCallbackReturn(param: Param, context: Context): CallbackReturn + + getFinalParam<T extends Param>(param: Param, context: Context): T + + run<T extends Param>(param: T): Promise<PromiseReturn> + } + + interface IGeoPointConstructor { + new (longitude: number, latitide: number): GeoPoint + new (geojson: IGeoJSONPoint): GeoPoint + (longitude: number, latitide: number): GeoPoint + (geojson: IGeoJSONPoint): GeoPoint + } + + interface IGeoMultiPointConstructor { + new (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + } + + interface IGeoLineStringConstructor { + new (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + } + + interface IGeoMultiLineStringConstructor { + new ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + } + + interface IGeoPolygonConstructor { + new (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + } + + interface IGeoMultiPolygonConstructor { + new (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + } + + interface IGeo { + Point: IGeoPointConstructor + MultiPoint: IGeoMultiPointConstructor + LineString: IGeoLineStringConstructor + MultiLineString: IGeoMultiLineStringConstructor + Polygon: IGeoPolygonConstructor + MultiPolygon: IGeoMultiPolygonConstructor + } + + interface IGeoJSONPoint { + type: 'Point' + coordinates: [number, number] + } + + interface IGeoJSONMultiPoint { + type: 'MultiPoint' + coordinates: Array<[number, number]> + } + + interface IGeoJSONLineString { + type: 'LineString' + coordinates: Array<[number, number]> + } + + interface IGeoJSONMultiLineString { + type: 'MultiLineString' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONPolygon { + type: 'Polygon' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONMultiPolygon { + type: 'MultiPolygon' + coordinates: Array<Array<Array<[number, number]>>> + } + + type IGeoJSONObject = + | IGeoJSONPoint + | IGeoJSONMultiPoint + | IGeoJSONLineString + | IGeoJSONMultiLineString + | IGeoJSONPolygon + | IGeoJSONMultiPolygon + + abstract class GeoPoint { + longitude: number + latitude: number + + constructor(longitude: number, latitude: number) + + toJSON(): Record<string, any> + toString(): string + } + + abstract class GeoMultiPoint { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONMultiPoint + toString(): string + } + + abstract class GeoLineString { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONLineString + toString(): string + } + + abstract class GeoMultiLineString { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONMultiLineString + toString(): string + } + + abstract class GeoPolygon { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONPolygon + toString(): string + } + + abstract class GeoMultiPolygon { + polygons: GeoPolygon[] + + constructor(polygons: GeoPolygon[]) + + toJSON(): IGeoJSONMultiPolygon + toString(): string + } + + type GeoInstance = + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + + interface IGeoNearCommandOptions { + geometry: GeoPoint + maxDistance?: number + minDistance?: number + } + + interface IGeoWithinCommandOptions { + geometry: GeoPolygon | GeoMultiPolygon + } + + interface IGeoIntersectsCommandOptions { + geometry: + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + } + + interface IServerDateOptions { + offset: number + } + + abstract class ServerDate { + readonly options: IServerDateOptions + constructor(options?: IServerDateOptions) + } + + interface IRegExpOptions { + regexp: string + options?: string + } + + interface IRegExpConstructor { + new (options: IRegExpOptions): RegExp + (options: IRegExpOptions): RegExp + } + + abstract class RegExp { + readonly regexp: string + readonly options: string + constructor(options: IRegExpOptions) + } + + type DocumentId = string | number + + interface IDocumentData { + _id?: DocumentId + [key: string]: any + } + + type IDBAPIParam = IAPIParam + + interface IAddDocumentOptions extends IDBAPIParam { + data: IDocumentData + } + + type IGetDocumentOptions = IDBAPIParam + + type ICountDocumentOptions = IDBAPIParam + + interface IUpdateDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IUpdateSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IRemoveDocumentOptions extends IDBAPIParam { + query: IQueryCondition + } + + type IRemoveSingleDocumentOptions = IDBAPIParam + + interface IWatchOptions { + // server realtime data init & change event + onChange: (snapshot: ISnapshot) => void + // error while connecting / listening + onError: (error: any) => void + } + + interface ISnapshot { + id: number + docChanges: ISingleDBEvent[] + docs: Record<string, any> + type?: SnapshotType + } + + type SnapshotType = 'init' + + interface ISingleDBEvent { + id: number + dataType: DataType + queueType: QueueType + docId: string + doc: Record<string, any> + updatedFields?: Record<string, any> + removedFields?: string[] + } + + type DataType = 'init' | 'update' | 'replace' | 'add' | 'remove' | 'limit' + + type QueueType = 'init' | 'enqueue' | 'dequeue' | 'update' + + interface IQueryCondition { + [key: string]: any + } + + type IStringQueryCondition = string + + interface IQueryResult extends IAPISuccessParam { + data: IDocumentData[] + } + + interface IQuerySingleResult extends IAPISuccessParam { + data: IDocumentData + } + + interface IUpdateCondition { + [key: string]: any + } + + type IStringUpdateCondition = string + + interface IAddResult extends IAPISuccessParam { + _id: DocumentId + } + + interface IUpdateResult extends IAPISuccessParam { + stats: { + updated: number + // created: number, + } + } + + interface ISetResult extends IAPISuccessParam { + _id: DocumentId + stats: { + updated: number + created: number + } + } + + interface IRemoveResult extends IAPISuccessParam { + stats: { + removed: number + } + } + + interface ICountResult extends IAPISuccessParam { + total: number + } +} + +type Optional<T> = { [K in keyof T]+?: T[K] } + +type OQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = + | (RQ<T> & Required<Pick<T, 'success'>>) + | (RQ<T> & Required<Pick<T, 'fail'>>) + | (RQ<T> & Required<Pick<T, 'complete'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'fail'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete' | 'success'>>) + +type RQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = Pick<T, Exclude<keyof T, 'complete' | 'success' | 'fail'>> diff --git a/typings/types/wx/lib.wx.component.d.ts b/typings/types/wx/lib.wx.component.d.ts new file mode 100644 index 0000000..c744fe1 --- /dev/null +++ b/typings/types/wx/lib.wx.component.d.ts @@ -0,0 +1,676 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Component { + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends Partial<MethodOption>, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = InstanceProperties & + InstanceMethods<TData> & + TMethod & + (TIsPage extends true ? Page.ILifetime : {}) & + TCustomInstanceProperty & { + /** 组件数据,**包括内部数据和属性值** */ + data: TData & PropertyOptionToData<TProperty> + /** 组件数据,**包括内部数据和属性值**(与 `data` 一致) */ + properties: TData & PropertyOptionToData<TProperty> + } + type TrivialInstance = Instance< + IAnyObject, + IAnyObject, + IAnyObject, + IAnyObject + > + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod, TIsPage>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType< + Instance< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + > + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + >( + options: Options< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + ): string + } + type DataOption = Record<string, any> + type PropertyOption = Record<string, AllProperty> + type MethodOption = Record<string, Function> + + interface Data<D extends DataOption> { + /** 组件的内部数据,和 `properties` 一同用于组件的模板渲染 */ + data?: D + } + interface Property<P extends PropertyOption> { + /** 组件的对外属性,是属性名到属性设置的映射表 */ + properties: P + } + interface Method<M extends MethodOption, TIsPage extends boolean = false> { + /** 组件的方法,包括事件响应函数和任意的自定义方法,关于事件响应函数的使用,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) */ + methods: M & (TIsPage extends true ? Partial<Page.ILifetime> : {}) + } + type PropertyType = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type ValueType<T extends PropertyType> = T extends null + ? any + : T extends StringConstructor + ? string + : T extends NumberConstructor + ? number + : T extends BooleanConstructor + ? boolean + : T extends ArrayConstructor + ? any[] + : T extends ObjectConstructor + ? IAnyObject + : never + type FullProperty<T extends PropertyType> = { + /** 属性类型 */ + type: T + /** 属性初始值 */ + value?: ValueType<T> + /** 属性值被更改时的响应函数 */ + observer?: + | string + | (( + newVal: ValueType<T>, + oldVal: ValueType<T>, + changedPath: Array<string | number> + ) => void) + /** 属性的类型(可以指定多个) */ + optionalTypes?: ShortProperty[] + } + type AllFullProperty = + | FullProperty<StringConstructor> + | FullProperty<NumberConstructor> + | FullProperty<BooleanConstructor> + | FullProperty<ArrayConstructor> + | FullProperty<ObjectConstructor> + | FullProperty<null> + type ShortProperty = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type AllProperty = AllFullProperty | ShortProperty + type PropertyToData<T extends AllProperty> = T extends ShortProperty + ? ValueType<T> + : FullPropertyToData<Exclude<T, ShortProperty>> + type FullPropertyToData<T extends AllFullProperty> = ValueType<T['type']> + // type FullPropertyToData<T extends AllFullProperty> = unknown extends T['value'] ? ValueType<T['type']> : T['value'] + type PropertyOptionToData<P extends PropertyOption> = { + [name in keyof P]: PropertyToData<P[name]> + } + + interface InstanceProperties { + /** 组件的文件路径 */ + is: string + /** 节点id */ + id: string + /** 节点dataset */ + dataset: Record<string, string> + } + + interface InstanceMethods<D extends DataOption> { + /** `setData` 函数用于将数据从逻辑层发送到视图层 + *(异步),同时改变对应的 `this.data` 的值(同步)。 + * + * **注意:** + * + * 1. **直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致**。 + * 1. 仅支持设置可 JSON 化的数据。 + * 1. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。 + * 1. 请不要把 data 中任何一项的 value 设为 `undefined` ,否则这一项将不被设置并可能遗留一些潜在问题。 + */ + setData( + /** 这次要改变的数据 + * + * 以 `key: value` 的形式表示,将 `this.data` 中的 `key` 对应的值改变成 `value`。 + * + * 其中 `key` 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 `array[2].message`,`a.b.c.d`,并且不需要在 this.data 中预先定义。 + */ + data: Partial<D> & IAnyObject, + /** setData引起的界面更新渲染完毕后的回调函数,最低基础库: `1.5.0` */ + callback?: () => void + ): void + + /** 检查组件是否具有 `behavior` (检查时会递归检查被直接或间接引入的所有behavior) */ + hasBehavior(behavior: Behavior.BehaviorIdentifier): void + /** 触发事件,参见组件事件 */ + triggerEvent<DetailType = any>( + name: string, + detail?: DetailType, + options?: TriggerEventOption + ): void + /** 创建一个 SelectorQuery 对象,选择器选取范围为这个组件实例内 */ + createSelectorQuery(): SelectorQuery + /** 创建一个 IntersectionObserver 对象,选择器选取范围为这个组件实例内 */ + createIntersectionObserver( + options: CreateIntersectionObserverOption + ): IntersectionObserver + /** 使用选择器选择组件实例节点,返回匹配到的第一个组件实例对象(会被 `wx://component-export` 影响) */ + selectComponent(selector: string): TrivialInstance + /** 使用选择器选择组件实例节点,返回匹配到的全部组件实例对象组成的数组 */ + selectAllComponents(selector: string): TrivialInstance[] + /** + * 选取当前组件节点所在的组件实例(即组件的引用者),返回它的组件实例对象(会被 `wx://component-export` 影响) + * + * 最低基础库版本:[`2.8.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + selectOwnerComponent(): TrivialInstance + /** 获取这个关系所对应的所有关联节点,参见 组件间关系 */ + getRelationNodes(relationKey: string): TrivialInstance[] + /** + * 立刻执行 callback ,其中的多个 setData 之间不会触发界面绘制(只有某些特殊场景中需要,如用于在不同组件同时 setData 时进行界面绘制同步) + * + * 最低基础库版本:[`2.4.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + groupSetData(callback?: () => void): void + /** + * 返回当前页面的 custom-tab-bar 的组件实例 + * + * 最低基础库版本:[`2.6.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getTabBar(): TrivialInstance + /** + * 返回页面标识符(一个字符串),可以用来判断几个自定义组件实例是不是在同一个页面内 + * + * 最低基础库版本:[`2.7.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getPageId(): string + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: KeyFrame[], + duration: number, + callback?: () => void + ): void + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: ScrollTimelineKeyframe[], + duration: number, + scrollTimeline: ScrollTimelineOption + ): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation(selector: string, callback: () => void): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation( + selector: string, + options?: ClearAnimationOptions, + callback?: () => void + ): void + /** + * 当从另一页面跳转到该页面时,获得与来源页面实例通信当事件通道,详见 [wx.navigateTo]((wx.navigateTo)) + * + * 最低基础库版本:[`2.7.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + getOpenerEventChannel(): EventChannel + /** + * 获取更新性能统计信息,详见 [获取更新性能统计信息]((custom-component/update-perf-stat)) + * + * + * 最低基础库版本:[`2.12.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + setUpdatePerformanceListener<WithDataPath extends boolean = false>( + options: SetUpdatePerformanceListenerOption<WithDataPath>, + callback?: UpdatePerformanceListener<WithDataPath> + ): void + } + + interface ComponentOptions { + /** + * [启用多slot支持](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件wxml的slot) + */ + multipleSlots?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + addGlobalClass?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + styleIsolation?: + | 'isolated' + | 'apply-shared' + | 'shared' + | 'page-isolated' + | 'page-apply-shared' + | 'page-shared' + /** + * [纯数据字段](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/pure-data.html) 是一些不用于界面渲染的 data 字段,可以用于提升页面更新性能。从小程序基础库版本 2.8.2 开始支持。 + */ + pureDataPattern?: RegExp + /** + * [虚拟化组件节点](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E8%99%9A%E6%8B%9F%E5%8C%96%E7%BB%84%E4%BB%B6%E8%8A%82%E7%82%B9) 使自定义组件内部的第一层节点由自定义组件本身完全决定。从小程序基础库版本 [`2.11.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持 */ + virtualHost?: boolean + } + + interface TriggerEventOption { + /** 事件是否冒泡 + * + * 默认值: `false` + */ + bubbles?: boolean + /** 事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部 + * + * 默认值: `false` + */ + composed?: boolean + /** 事件是否拥有捕获阶段 + * + * 默认值: `false` + */ + capturePhase?: boolean + } + + interface RelationOption { + /** 目标组件的相对关系 */ + type: 'parent' | 'child' | 'ancestor' | 'descendant' + /** 关系生命周期函数,当关系被建立在页面节点树中时触发,触发时机在组件attached生命周期之后 */ + linked?(target: TrivialInstance): void + /** 关系生命周期函数,当关系在页面节点树中发生改变时触发,触发时机在组件moved生命周期之后 */ + linkChanged?(target: TrivialInstance): void + /** 关系生命周期函数,当关系脱离页面节点树时触发,触发时机在组件detached生命周期之后 */ + unlinked?(target: TrivialInstance): void + /** 如果这一项被设置,则它表示关联的目标节点所应具有的behavior,所有拥有这一behavior的组件节点都会被关联 */ + target?: string + } + + interface PageLifetimes { + /** 页面生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + show(): void + /** 页面生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + hide(): void + /** 页面生命周期回调—监听页面尺寸变化 + * + * 所在页面尺寸变化时执行 + */ + resize(size: Page.IResizeOption): void + } + + type DefinitionFilter = <T extends TrivialOption>( + /** 使用该 behavior 的 component/behavior 的定义对象 */ + defFields: T, + /** 该 behavior 所使用的 behavior 的 definitionFilter 函数列表 */ + definitionFilterArr?: DefinitionFilter[] + ) => void + + interface Lifetimes { + /** 组件生命周期声明对象,组件的生命周期:`created`、`attached`、`ready`、`moved`、`detached` 将收归到 `lifetimes` 字段内进行声明,原有声明方式仍旧有效,如同时存在两种声明方式,则 `lifetimes` 字段内声明方式优先级最高 + * + * 最低基础库: `2.2.3` */ + lifetimes: Partial<{ + /** + * 在组件实例刚刚被创建时执行,注意此时不能调用 `setData` + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + }> + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例刚刚被创建时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + } + + interface OtherOption { + /** 类似于mixins和traits的组件间代码复用机制,参见 [behaviors](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/behaviors.html) */ + behaviors: Behavior.BehaviorIdentifier[] + /** + * 组件数据字段监听器,用于监听 properties 和 data 的变化,参见 [数据监听器](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html) + * + * 最低基础库版本:[`2.6.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + observers: Record<string, (...args: any[]) => any> + /** 组件间关系定义,参见 [组件间关系](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) */ + relations: { + [componentName: string]: RelationOption + } + /** 组件接受的外部样式类,参见 [外部样式类](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) */ + externalClasses?: string[] + /** 组件所在页面的生命周期声明对象,参见 [组件生命周期](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + pageLifetimes?: Partial<PageLifetimes> + /** 一些选项(文档中介绍相关特性时会涉及具体的选项设置,这里暂不列举) */ + options: ComponentOptions + + /** 定义段过滤器,用于自定义组件扩展,参见 [自定义组件扩展](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/extend.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + definitionFilter?: DefinitionFilter + /** + * 组件自定义导出,当使用 `behavior: wx://component-export` 时,这个定义段可以用于指定组件被 selectComponent 调用时的返回值,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + export: () => IAnyObject + } + + interface KeyFrame { + /** 关键帧的偏移,范围[0-1] */ + offset?: number + /** 动画缓动函数 */ + ease?: string + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: string + /** 背景颜色,即 CSS background-color */ + backgroundColor?: string + /** 底边位置,即 CSS bottom */ + bottom?: number | string + /** 高度,即 CSS height */ + height?: number | string + /** 左边位置,即 CSS left */ + left?: number | string + /** 宽度,即 CSS width */ + width?: number | string + /** 不透明度,即 CSS opacity */ + opacity?: number | string + /** 右边位置,即 CSS right */ + right?: number | string + /** 顶边位置,即 CSS top */ + top?: number | string + /** 变换矩阵,即 CSS transform matrix */ + matrix?: number[] + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: number[] + /** 旋转,即 CSS transform rotate */ + rotate?: number + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: number[] + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: number + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: number + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: number + /** 缩放,即 CSS transform scale */ + scale?: number[] + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: number[] + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: number + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: number + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: number + /** 倾斜,即 CSS transform skew */ + skew?: number[] + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: number + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: number + /** 位移,即 CSS transform translate */ + translate?: Array<number | string> + /** 三维位移,即 CSS transform translate3d */ + translate3d?: Array<number | string> + /** X 方向位移,即 CSS transform translateX */ + translateX?: number | string + /** Y 方向位移,即 CSS transform translateY */ + translateY?: number | string + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: number | string + } + interface ClearAnimationOptions { + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: boolean + /** 背景颜色,即 CSS background-color */ + backgroundColor?: boolean + /** 底边位置,即 CSS bottom */ + bottom?: boolean + /** 高度,即 CSS height */ + height?: boolean + /** 左边位置,即 CSS left */ + left?: boolean + /** 宽度,即 CSS width */ + width?: boolean + /** 不透明度,即 CSS opacity */ + opacity?: boolean + /** 右边位置,即 CSS right */ + right?: boolean + /** 顶边位置,即 CSS top */ + top?: boolean + /** 变换矩阵,即 CSS transform matrix */ + matrix?: boolean + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: boolean + /** 旋转,即 CSS transform rotate */ + rotate?: boolean + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: boolean + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: boolean + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: boolean + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: boolean + /** 缩放,即 CSS transform scale */ + scale?: boolean + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: boolean + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: boolean + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: boolean + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: boolean + /** 倾斜,即 CSS transform skew */ + skew?: boolean + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: boolean + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: boolean + /** 位移,即 CSS transform translate */ + translate?: boolean + /** 三维位移,即 CSS transform translate3d */ + translate3d?: boolean + /** X 方向位移,即 CSS transform translateX */ + translateX?: boolean + /** Y 方向位移,即 CSS transform translateY */ + translateY?: boolean + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: boolean + } + interface ScrollTimelineKeyframe { + composite?: 'replace' | 'add' | 'accumulate' | 'auto' + easing?: string + offset?: number | null + [property: string]: string | number | null | undefined + } + interface ScrollTimelineOption { + /** 指定滚动元素的选择器(只支持 scroll-view),该元素滚动时会驱动动画的进度 */ + scrollSource: string + /** 指定滚动的方向。有效值为 horizontal 或 vertical */ + orientation?: string + /** 指定开始驱动动画进度的滚动偏移量,单位 px */ + startScrollOffset: number + /** 指定停止驱动动画进度的滚动偏移量,单位 px */ + endScrollOffset: number + /** 起始和结束的滚动范围映射的时间长度,该时间可用于与关键帧动画里的时间 (duration) 相匹配,单位 ms */ + timeRange: number + } + + interface SetUpdatePerformanceListenerOption<WithDataPath> { + /** 是否返回变更的 data 字段信息 */ + withDataPaths?: WithDataPath + } + interface UpdatePerformanceListener<WithDataPath> { + (res: UpdatePerformance<WithDataPath>): void + } + interface UpdatePerformance<WithDataPath> { + /** 此次更新过程的 ID */ + updateProcessId: number + /** 对于子更新,返回它所属的更新过程 ID */ + parentUpdateProcessId?: number + /** 是否是被合并更新,如果是,则 updateProcessId 表示被合并到的更新过程 ID */ + isMergedUpdate: boolean + /** 此次更新的 data 字段信息,只有 withDataPaths 设为 true 时才会返回 */ + dataPaths: WithDataPath extends true ? string[] : undefined + /** 此次更新进入等待队列时的时间戳 */ + pendingStartTimestamp: number + /** 更新运算开始时的时间戳 */ + updateStartTimestamp: number + /** 更新运算结束时的时间戳 */ + updateEndTimestamp: number + } +} +/** Component构造器可用于定义组件,调用Component构造器时可以指定组件的属性、数据、方法等。 + * + * * 使用 `this.data` 可以获取内部数据和属性值,但不要直接修改它们,应使用 `setData` 修改。 + * * 生命周期函数无法在组件方法中通过 `this` 访问到。 + * * 属性名应避免以 data 开头,即不要命名成 `dataXyz` 这样的形式,因为在 WXML 中, `data-xyz=""` 会被作为节点 dataset 来处理,而不是组件属性。 + * * 在一个组件的定义和使用时,组件的属性名和 data 字段相互间都不能冲突(尽管它们位于不同的定义段中)。 + * * 从基础库 `2.0.9` 开始,对象类型的属性和 data 字段中可以包含函数类型的子字段,即可以通过对象类型的属性字段来传递函数。低于这一版本的基础库不支持这一特性。 + * * `bug` : 对于 type 为 Object 或 Array 的属性,如果通过该组件自身的 `this.setData` 来改变属性值的一个子字段,则依旧会触发属性 observer ,且 observer 接收到的 `newVal` 是变化的那个子字段的值, `oldVal` 为空, `changedPath` 包含子字段的字段名相关信息。 + */ +declare let Component: WechatMiniprogram.Component.Constructor diff --git a/typings/types/wx/lib.wx.event.d.ts b/typings/types/wx/lib.wx.event.d.ts new file mode 100644 index 0000000..08edd87 --- /dev/null +++ b/typings/types/wx/lib.wx.event.d.ts @@ -0,0 +1,1435 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface Target<DataSet extends IAnyObject = IAnyObject> { + /** 事件组件的 id */ + id: string + /** 当前组件的类型 */ + tagName?: string + /** 事件组件上由 `data-` 开头的自定义属性组成的集合 */ + dataset: DataSet + /** 距离页面顶部的偏移量 */ + offsetTop: number + /** 距离页面左边的偏移量 */ + offsetLeft: number + } + + /** 基础事件参数 */ + interface BaseEvent< + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > { + /** 事件类型 */ + type: string + /** 页面打开到触发事件所经过的毫秒数 */ + timeStamp: number + /** 事件冒泡路径上所有由 `mark:` 开头的自定义属性组成的集合 */ + mark?: Mark + /** 触发事件的源组件 */ + target: Target<TargetDataset> + /** 事件绑定的当前组件 */ + currentTarget: Target<CurrentTargetDataset> + } + + /** 自定义事件 */ + interface CustomEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> { + /** 额外的信息 */ + detail: Detail + } + + /** Touch 对象 */ + interface TouchDetail { + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,横向为 X 轴 */ + clientX: number + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,纵向为 Y 轴 */ + clientY: number + /** 触摸点的标识符 */ + identifier: number + /** 距离文档左上角的距离,文档的左上角为原点,横向为 X 轴 */ + pageX: number + /** 距离文档左上角的距离,文档的左上角为原点,纵向为 Y 轴 */ + pageY: number + } + + /** canvas Touch 对象 */ + interface TouchCanvasDetail { + /** 触摸点的标识符 */ + identifier: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴 */ + x: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 纵向为Y轴 */ + y: number + } + + /** 触摸事件 */ + interface Touch< + Detail extends IAnyObject = IAnyObject, + T extends TouchDetail | TouchCanvasDetail = TouchDetail, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset> { + /** 触摸事件,当前停留在屏幕中的触摸点信息的数组 */ + touches: T[] + /** 触摸事件,当前变化的触摸点信息的数组 */ + changedTouches: T[] + } + + /** 触摸事件响应 */ + type TouchEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > = Touch<Detail, TouchDetail, Mark, CurrentTargetDataset, TargetDataset> + + /** canvas 触摸事件响应 */ + interface TouchCanvas< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > extends Touch<never, TouchCanvasDetail, Mark, never, TargetDataset> { + // canvas 中的触摸事件不可冒泡,所以没有 currentTarget。 + currentTarget: never + } + + /** + * 图片加载成功时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageLoad< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 图片宽度 */ + width: number + /** 图片高度 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 图片加载失败时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageError = CustomEvent<GeneralCallbackResult> + + /** + * 拖动过程中触发的事件,event.detail = {x, y, source} + * + * 最低基础库: 1.9.90 + */ + type MovableViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + x: number + y: number + /** + * 产生移动的原因 + * + * - `touch` 拖动 + * - `touch-out-of-bounds` 超出移动范围 + * - `out-of-bounds` 超出移动范围后的回弹 + * - `friction` 惯性 + * - `空字符串` setData + */ + source: + | 'touch' + | 'touch-out-of-bounds' + | 'out-of-bounds' + | 'friction' + | '' + }, + Mark, + TargetDataset + > + + /** + * 缩放过程中触发的事件 + * + * event.detail = {x, y, scale} + * + * x 和 y 字段在 2.1.0 之后支持 + * + * 最低基础库: 1.9.90 + */ + type MovableViewScale< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 最低基础库: 2.1.0 */ + x: number + /** 最低基础库: 2.1.0 */ + y: number + scale: number + }, + Mark, + TargetDataset + > + + /** + * 滑动开始事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动结束事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** 滚动到顶部/左边时触发 */ + type ScrollViewScrollToUpper< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'top' | 'left' + }, + Mark, + TargetDataset + > + + /** 滚动到底部/右边时触发 */ + type ScrollViewScrollToLower< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'bottom' | 'right' + }, + Mark, + TargetDataset + > + + /** + * 滚动时触发 + * + * event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} + */ + type ScrollViewScroll< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollLeft: number + scrollTop: number + scrollHeight: number + scrollWidth: number + deltaX: number + deltaY: number + }, + Mark, + TargetDataset + > + + type ScrollViewRefresherPulling< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRefresh< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRestore< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherAbort< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * current 改变时会触发 change 事件 + * + * event.detail = {current, source} + * + * **Tip**: 如果在 bindchange 的事件回调函数中使用 setData 改变 current 值,则有可能导致 setData 被不停地调用,因而通常情况下请在改变 current 值前检测 source 字段来判断是否是由于用户触摸引起。 + */ + type SwiperChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + current: number + /** + * 表示导致变更的原因 + * + * - `autoplay` 自动播放导致 swiper 变化; + * - `touch` 用户划动引起 swiper 变化; + * - 其它原因将用空字符串表示。 + * + * 最低基础库: 1.4.0 + */ + source: '' | 'autoplay' | 'touch' + /** 该 swiper-item 的标识符 */ + currentItemId: string + }, + Mark, + TargetDataset + > + + /** + * swiper-item 的位置发生改变时会触发 transition 事件 + * + * event.detail = {dx: dx, dy: dy} + * + * 最低基础库: 2.4.3 + */ + type SwiperTransition< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + dx: number + dy: number + }, + Mark, + TargetDataset + > + + /** + * 动画结束时会触发 animationfinish 事件 + * + * 最低基础库: 1.9.0 + */ + type SwiperAnimationFinish< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SwiperChange<Mark, TargetDataset> + + /** + * progress 动画完成事件 + * + * 最低基础库 2.4.1 + */ + type ProgressActiveEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + curPercent: number + }, + Mark, + TargetDataset + > + + /** + * 用户点击该按钮时,会返回获取到的用户信息,回调的 detail 数据与 `wx. getUserInfo` 返回的一致,`open-type="getUserInfo"` 时有效 + * + * 最低基础库: 1.3.0 + */ + type ButtonGetUserInfo = CustomEvent< + GeneralCallbackResult & GetUserInfoSuccessCallbackResult + > + + /** + * 客服消息回调,`open-type="contact"` 时有效 + * + * 最低基础库: 1.5.0 + */ + type ButtonContact = CustomEvent<GeneralCallbackResult> + + /** + * 获取用户手机号回调,`open-type=getPhoneNumber` 时有效 + * + * 最低基础库: 1.2.0 + */ + type ButtonGetPhoneNumber = CustomEvent< + GeneralCallbackResult & Partial<GetWeRunDataSuccessCallbackResult> + > + + /** + * 当使用开放能力时,发生错误的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 1.9.5 + */ + type ButtonError = CustomEvent<GeneralCallbackResult> + + /** + * 在打开授权设置页后回调,`open-type=openSetting` 时有效 + * + * 最低基础库: 2.0.7 + */ + type ButtonOpenSetting = CustomEvent< + GeneralCallbackResult & OpenSettingSuccessCallbackResult + > + + /** + * 打开 APP 成功的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 2.4.4 + */ + type ButtonLaunchApp = CustomEvent<GeneralCallbackResult> + + /** + * checkbox-group 中选中项发生改变时触发 change 事件 + * + * detail = { value: ['选中的checkbox 的 value 的数组'] } + */ + type CheckboxGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 选中的 checkbox 的 value 的数组 */ + value: string[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type EditorReady< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 编辑器聚焦时触发 + * + * event.detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + html: string + text: string + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delta: any[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器失去焦点时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 编辑器内容改变时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 + * + * 最低基础库: 2.7.0 + */ + type EditorStatusChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + Partial<{ + align: 'left' | 'center' | 'right' | 'justify' + bold: 'strong' + italic: 'em' + underline: true + strike: 'del' + lineHeight: string + letterSpacing: string + marginTop: string + marginBottom: string + fontFamily: string + fontSize: string + color: string + backgroundColor: string + list: 'checked' | 'unchecked' | 'ordered' | 'bullet' + indent: number + header: number + script: 'sub' | 'super' + direction: 'rtl' + }>, + Mark, + TargetDataset + > + + /** + * 携带 form 中的数据触发 submit 事件 + * + * event.detail = {value : {'name': 'value'} , formId: ''} + */ + type FormSubmit< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + formId?: unknown + target: Target + /** 表单中的数据,需要在表单组件中加上 name 来作为 key。 */ + value: IAnyObject + }, + Mark, + TargetDataset + > + + /** 表单重置时会触发 reset 事件 */ + type FormReset< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + target: Target + }, + Mark, + TargetDataset + > + + /** 键盘输入时触发 + * + * event.detail = {value, cursor, keyCode} + * + * 处理函数可以直接 return 一个字符串,将替换输入框的内容。 + */ + type Input< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 光标位置 */ + cursor: number + /** keyCode 为键值 (目前工具还不支持返回keyCode参数) `2.1.0` 起支持 */ + keyCode?: number + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height } + */ + type InputFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 键盘高度, 在基础库 `1.9.90` 起支持 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value: value} + */ + type InputBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 点击完成按钮时触发 + * + * event.detail = {value: value} + */ + type InputConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange 事件可能会多次触发,开发者对于相同的 height 值应该忽略掉 + * + * 最低基础库: `2.7.0` + */ + type InputKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 键盘高度 */ + height: number + duration: number + }, + Mark, + TargetDataset + > + + /** + * 取消选择时触发 + * + * 最低基础库: 1.9.90 + */ + type PickerCancel< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * value 改变时触发 change 事件 + * + * event.detail = {value} + * + * 当 mode = region 时 (最低基础库: 1.4.0) + * + * value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码 + */ + type PickerChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** + * 当 mode = selector 时, 返回当前选择的 value + * + * 当 mode = multiSelector 时, 返回一个索引数组 + * + * 当 mode = time | date 时, 返回 `"12:01"` | `"2016-09-01"` + * + * 当 mode = region 时, 返回 `["广东省", "广州市", "海珠区"]` + */ + value: string | number[] | [string, string, string] + /** 统计用区划代码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + code: [string, string, string] + /** 邮政编码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + postcode: string + }, + Mark, + TargetDataset + > + + /** 列改变时触发 当 `mode = multiSelector` 时有效 */ + type PickerColumnChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 修改的列 */ + column: number + value: number + }, + Mark, + TargetDataset + > + + /** + * 滚动选择时触发 change 事件 + * + * event.detail = {value} + */ + type PickerViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** value 为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项 (下标从 0 开始) */ + value: number[] + }, + Mark, + TargetDataset + > + + /** + * 当滚动选择开始时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 当滚动选择结束时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** radio-group 切换事件 */ + type RadioGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + /** radio-group 中选中项的 value */ + { + value: string + }, + Mark, + TargetDataset + > + + /** + * 完成一次拖动后触发的事件 + * + * event.detail = {value} + */ + type SliderChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** slider 的数值 0 - 100 */ + value: number + }, + Mark, + TargetDataset + > + + /** + * 拖动过程中触发的事件 + * + * event.detail = {value} + * + * 最低基础库: 1.7.0 + */ + type SliderChanging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SliderChange<Mark, TargetDataset> + + /** + * checked 改变时触发 change 事件 + * + * event.detail={ value} + */ + type SwitchChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + value: boolean + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height },height 为键盘高度 + * + * 在基础库 1.9.90 起支持 + */ + type TextareaFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputFocus<Mark, TargetDataset> + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value, cursor} + * + * **tip**: textarea 的 blur 事件会晚于页面上的 tap 事件,如果需要在 button 的点击事件获取 textarea,可以使用 form 的 bindsubmit。 + */ + type TextareaBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputBlur<Mark, TargetDataset> + + /** + * 输入框行数变化时调用 + * + * event.detail = {height: 0, heightRpx: 0, lineCount: 0} + */ + type TextareaLineChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框高度(px) */ + height: number + /** 输入框高度(rpx) */ + heightRpx: number + /** 行数 */ + lineCount: number + /** 行高 */ + lineHeight: number + }, + Mark, + TargetDataset + > + + /** + * 当键盘输入时,触发 input 事件 + * + * event.detail = {value, cursor, keyCode} + * + * keyCode 为键值,目前工具还不支持返回 keyCode 参数。 + * + * **tip**: 不建议在多行文本上对用户的输入进行修改,所以 **bindinput 处理函数的返回值并不会反映到 textarea 上** + */ + type TextareaInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = Input<Mark, TargetDataset> + + /** + * 点击完成时, 触发 confirm 事件 + * + * event.detail = {value: value} + */ + type TextareaConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputConfirm<Mark, TargetDataset> + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange事件可能会多次触发,开发者对于相同的height值应该忽略掉 + * + * 最低基础库: 2.7.0 + */ + type TextareaKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputKeyboardHeightChange<Mark, TargetDataset> + + /** + * 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorSuccess< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorFail< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 当 `target="miniProgram"` 时有效,跳转小程序成功 + * + * 最低基础库: 2.0.7 + */ + type NavigatorSuccess = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序失败 + * + * `tips`: 需要用户确认跳转 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。 + * + * 最低基础库: 2.0.7 + */ + type NavigatorFail = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序完成 + * + * 最低基础库: 2.0.7 + */ + type NavigatorComplete = CustomEvent + + /** + * 当发生错误时触发 error 事件 + * + * detail = {errMsg:MediaError.code} + */ + type AudioError = CustomEvent<{ + /** + * MediaError.code + * + * - 1 获取资源被用户禁止 + * - 2 网络错误 + * - 3 解码错误 + * - 4 不合适资源 + */ + errMsg: 1 | 2 | 3 | 4 + }> + + /** 当开始/继续播放时触发play事件 */ + type AudioPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type AudioPause = CustomEvent + + /** + * 当播放进度改变时触发 timeupdate 事件 + * + * detail = {currentTime, duration} + */ + type AudioTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** 当播放到末尾时触发 ended 事件 */ + type AudioEnded = CustomEvent + + /** 摄像头在非正常终止时触发,如退出后台等情况 */ + type CameraStop = CustomEvent + + /** 用户不允许使用摄像头时触发 */ + type CameraError = CustomEvent + + /** + * 相机初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type CameraInitDone = CustomEvent + + /** + * 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 + * + * 最低基础库: 2.1.0 + */ + type CameraScanCode = CustomEvent + + /** 当错误发生时触发,event.detail = {errMsg} */ + type ImageError = CoverImageError + /** 当图片载入完毕时触发,event.detail = {height, width} */ + type ImageLoad = CoverImageLoad + + /** + * 播放状态变化事件,detail = {code} + * + * 最低基础库 1.7.0 + */ + type LivePlayerStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `2001` 已经连接服务器 + * - `2002` 已经连接服务器,开始拉流 + * - `2003` 网络接收到首个视频数据包(IDR) + * - `2004` 视频播放开始 + * - `2005` 视频播放进度 + * - `2006` 视频播放结束 + * - `2007` 视频播放Loading + * - `2008` 解码器启动 + * - `2009` 视频分辨率改变 + * - `-2301` 网络断连,且经多次重连抢救无效,更多重试请自行重启播放 + * - `-2302` 获取加速拉流地址失败 + * - `2101` 当前视频帧解码失败 + * - `2102` 当前音频帧解码失败 + * - `2103` 网络断连, 已启动自动重连 + * - `2104` 网络来包不稳: 可能是下行带宽不足,或由于主播端出流不均匀 + * - `2105` 当前视频播放出现卡顿 + * - `2106` 硬解启动失败,采用软解 + * - `2107` 当前视频帧不连续,可能丢帧 + * - `2108` 当前流硬解第一个I帧失败,SDK自动切软解 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 全屏变化事件,detail = {direction, fullScreen} + * + * 最低基础库 1.7.0 + */ + type LivePlayerFullScreenChange = CustomEvent<{ + direction: 'vertical' | 'horizontal' + fullScreen: boolean + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库 1.9.0 + */ + type LivePlayerNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * + * - `videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * - `audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * - `videoFPS` 当前视频帧率 + * - `videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * - `netSpeed` 当前的发送/接收速度 + * - `netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * - `videoWidth` 视频画面的宽度 + * - `videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 状态变化事件,detail = {code} + * + * 最低基础库: 1.7.0 + */ + type LivePusherStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `1001` 已经连接推流服务器 + * - `1002` 已经与服务器握手完毕,开始推流 + * - `1003` 打开摄像头成功 + * - `1004` 录屏启动成功 + * - `1005` 推流动态调整分辨率 + * - `1006` 推流动态调整码率 + * - `1007` 首帧画面采集完成 + * - `1008` 编码器启动 + * - `-1301` 打开摄像头失败 + * - `-1302` 打开麦克风失败 + * - `-1303` 视频编码失败 + * - `-1304` 音频编码失败 + * - `-1305` 不支持的视频分辨率 + * - `-1306` 不支持的音频采样率 + * - `-1307` 网络断连,且经多次重连抢救无效,更多重试请自行重启推流 + * - `-1308` 开始录屏失败,可能是被用户拒绝 + * - `-1309` 录屏失败,不支持的Android系统版本,需要5.0以上的系统 + * - `-1310` 录屏被其他应用打断了 + * - `-1311` Android Mic打开成功,但是录不到音频数据 + * - `-1312` 录屏动态切横竖屏失败 + * - `1101` 网络状况不佳: 上行带宽太小,上传数据受阻 + * - `1102` 网络断连, 已启动自动重连 + * - `1103` 硬编码启动失败,采用软编码 + * - `1104` 视频编码失败 + * - `1105` 新美颜软编码启动失败,采用老的软编码 + * - `1106` 新美颜软编码启动失败,采用老的软编码 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3004` RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库: 1.9.0 + */ + type LivePusherNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * -`videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * -`audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * -`videoFPS` 当前视频帧率 + * -`videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * -`netSpeed` 当前的发送/接收速度 + * -`netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * -`videoWidth` 视频画面的宽度 + * -`videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 渲染错误事件,detail = {errMsg, errCode} + * + * `tip`: 开发者工具上暂不支持 live-pusher + * + * 最低基础库: 1.7.4 + */ + type LivePusherError = CustomEvent<{ + errMsg: string + /** + * 错误码 + * + * - `10001` 用户禁止使用摄像头 + * - `10002` 用户禁止使用录音 + * - `10003` 背景音资源 (BGM) 加载失败 + * - `10004` 等待画面资源 (waiting-image) 加载失败 + */ + errCode: number + }> + + /** + * 背景音开始播放时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmStart = CustomEvent + + /** + * 背景音进度变化时触发,detail = {progress, duration} + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmProgress = CustomEvent<{ + progress: number + duration: number + }> + + /** + * 背景音播放完成时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmComplete = CustomEvent + + /** 当开始/继续播放时触发play事件 */ + type VideoPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type VideoPause = CustomEvent + + /** 当播放到末尾时触发 ended 事件 */ + type VideoEnded = CustomEvent + + /** 播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次 */ + type VideoTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** + * 视频进入和退出全屏时触发,event.detail = {fullScreen, direction} + * + * 最低基础库: 1.4.0 + */ + type VideoFullScreenChange = CustomEvent<{ + fullScreen: boolean + direction: 'vertical' | 'horizontal' + }> + + /** + * 视频出现缓冲时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoWaiting = CustomEvent + + /** + * 视频播放出错时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoError = CustomEvent + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VideoPregress = CustomEvent<{ + /** 百分比 */ + buffered: number + }> + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VoipRoomError = CustomEvent + + /** + * 点击地图时触发 + * + * 2.9.0 起返回经纬度信息 + */ + type MapTap = CustomEvent<{ + /** 经度,最低基础库 2.9.0 */ + longitude: number + /** 纬度,最低基础库 2.9.0 */ + latitude: number + }> + + /** + * 点击标记点时触发 + * + * e.detail = {markerId} + */ + type MarkerTap = CustomEvent<{ + /** 标记点 ID */ + markerId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 2.9.0 + */ + type LabelTap = MarkerTap + + /** + * 点击控件时触发 + * + * e.detail = {controlId} + */ + type ControlTap = CustomEvent<{ + /** 控件 ID */ + controlId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 1.2.0 + */ + type CalloutTap = MarkerTap + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type MapUpdated = CustomEvent + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type RegionChange = CustomEvent<{ + /** 旋转程度,最低基础库 2.3.0 */ + rotate: number + /** 缩放程度,最低基础库 2.3.0 */ + skew: number + }> & + ( + | { + /** + * 视野变化开始、结束时触发 + * + * 视野变化开始为 `begin` + */ + type: 'begin' + /** + * 导致视野变化的原因 + * + * - gesture: 用户手势 + * - update: 调用接口导致 + */ + causedBy: 'gesture' | 'update' + } + | { + /** + * 视野变化结束时触发 + * + * 视野变化结束为 `end` + */ + type: 'end' + /** + * 导致视野变化的原因 + * + * - drag: 拖动地图导致 + * - scale: 缩放导致 + * - update: 调用接口导致 + */ + causedBy: 'drag' | 'scale' | 'update' + } + ) + + /** + * 广告加载成功的回调 + * + * 最低基础库: 2.2.1 + */ + type AdLoad = CustomEvent + + /** + * 广告加载失败的回调,event.detail = {errCode: 1002} + * + * `tip`: 监听到error回调后,开发者可以针对性的处理,比如隐藏广告组件的父容器,以保证用户体验,但不要移除广告组件,否则将无法收到bindload的回调。 + * + * 最低基础库: 2.2.1 + */ + type AdError = CustomEvent<{ + /** + * 错误码 + * + * - `1000` 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1001` 参数错误 使用方法错误 可以前往developers.weixin.qq.com 确认具体教程 (小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换)。 + * - `1002` 广告单元无效 可能是拼写错误、或者误用了其他APP的广告ID 请重新前往mp.weixin.qq.com确认广告位ID。 + * - `1003` 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1004` 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 + * - `1005` 广告组件审核中 你的广告正在被审核,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1006` 广告组件被驳回 你的广告审核失败,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1007` 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往mp.weixin.qq.com确认小程序广告封禁状态。 + * - `1008` 广告单元已关闭 该广告位的广告能力已经被关闭 请前往mp.weixin.qq.com重新打开对应广告位的展现。 + */ + errCode: number + }> + + /** + * 广告关闭的回调 + * + * 最低基础库: 2.6.5 + */ + type AdClose = CustomEvent + + /** + * 网页向小程序 postMessage 时,会在特定时机 (小程序后退、组件销毁、分享) 触发并收到消息。e.detail = { data } + * + * 最低基础库: 1.6.4 + */ + type WebviewMessage = CustomEvent<{ + /** 多次 postMessage 的参数组成的数组 */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + data: any[] + }> + + /** + * 网页加载成功时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewLoad = CustomEvent<{ + src: string + }> + + /** + * 网页加载失败的时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewError = CustomEvent<{ + src: string + }> +} diff --git a/typings/types/wx/lib.wx.page.d.ts b/typings/types/wx/lib.wx.page.d.ts new file mode 100644 index 0000000..4e1cb51 --- /dev/null +++ b/typings/types/wx/lib.wx.page.d.ts @@ -0,0 +1,263 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Page { + type Instance< + TData extends DataOption, + TCustom extends CustomOption + > = OptionalInterface<ILifetime> & + InstanceProperties & + InstanceMethods<TData> & + Data<TData> & + TCustom + type Options< + TData extends DataOption, + TCustom extends CustomOption + > = (TCustom & + Partial<Data<TData>> & + Partial<ILifetime> & { + options?: Component.ComponentOptions + }) & + ThisType<Instance<TData, TCustom>> + type TrivialInstance = Instance<IAnyObject, IAnyObject> + interface Constructor { + <TData extends DataOption, TCustom extends CustomOption>( + options: Options<TData, TCustom> + ): void + } + interface ILifetime { + /** 生命周期回调—监听页面加载 + * + * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 + */ + onLoad( + /** 打开当前页面路径中的参数 */ + query: Record<string, string | undefined> + ): void | Promise<void> + /** 生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + onShow(): void | Promise<void> + /** 生命周期回调—监听页面初次渲染完成 + * + * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 + * + + * 注意:对界面内容进行设置的 API 如`wx.setNavigationBarTitle`,请在`onReady`之后进行。 + */ + onReady(): void | Promise<void> + /** 生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + onHide(): void | Promise<void> + /** 生命周期回调—监听页面卸载 + * + * 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。 + */ + onUnload(): void | Promise<void> + /** 监听用户下拉动作 + * + * 监听用户下拉刷新事件。 + * - 需要在`app.json`的`window`选项中或页面配置中开启`enablePullDownRefresh`。 + * - 可以通过`wx.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 + * - 当处理完数据刷新后,`wx.stopPullDownRefresh`可以停止当前页面的下拉刷新。 + */ + onPullDownRefresh(): void | Promise<void> + /** 页面上拉触底事件的处理函数 + * + * 监听用户上拉触底事件。 + * - 可以在`app.json`的`window`选项中或页面配置中设置触发距离`onReachBottomDistance`。 + * - 在触发距离内滑动期间,本事件只会被触发一次。 + */ + onReachBottom(): void | Promise<void> + /** 用户点击右上角转发 + * + * 监听用户点击页面内转发按钮(`<button>` 组件 `open-type="share"`)或右上角菜单“转发”按钮的行为,并自定义转发内容。 + * + * **注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮** + * + * 此事件需要 return 一个 Object,用于自定义转发内容 + */ + onShareAppMessage( + /** 分享发起来源参数 */ + options: IShareAppMessageOption + ): ICustomShareContent | void + /** + * 监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容 + * + * 本接口为 Beta 版本,暂只在 Android 平台支持,详见 [分享到朋友圈 (Beta)](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html) + * + * 基础库 2.11.3 开始支持,低版本需做兼容处理。 + */ + onShareTimeline(): ICustomTimelineContent | void + + /** 页面滚动触发事件的处理函数 + * + * 监听用户滑动页面事件。 + */ + onPageScroll( + /** 页面滚动参数 */ + options: IPageScrollOption + ): void | Promise<void> + + /** 当前是 tab 页时,点击 tab 时触发,最低基础库: `1.9.0` */ + onTabItemTap( + /** tab 点击参数 */ + options: ITabItemTapOption + ): void | Promise<void> + + /** 窗口尺寸改变时触发,最低基础库:`2.4.0` */ + onResize( + /** 窗口尺寸参数 */ + options: IResizeOption + ): void | Promise<void> + + /** + * 监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。 + * 基础库 2.10.3,安卓 7.0.15 版本起支持,iOS 暂不支持 + */ + onAddToFavorites(options: IAddToFavoritesOption): IAddToFavoritesContent + } + interface InstanceProperties { + /** 页面的文件路径 */ + is: string + + /** 到当前页面的路径 */ + route: string + + /** 打开当前页面路径中的参数 */ + options: Record<string, string | undefined> + } + + type DataOption = Record<string, any> + type CustomOption = Record<string, any> + + type InstanceMethods<D extends DataOption> = Component.InstanceMethods<D> + + interface Data<D extends DataOption> { + /** 页面的初始数据 + * + * `data` 是页面第一次渲染使用的**初始数据**。 + * + * 页面加载时,`data` 将会以`JSON`字符串的形式由逻辑层传至渲染层,因此`data`中的数据必须是可以转成`JSON`的类型:字符串,数字,布尔值,对象,数组。 + * + * 渲染层可以通过 `WXML` 对数据进行绑定。 + */ + data: D + } + + interface ICustomShareContent { + /** 转发标题。默认值:当前小程序名称 */ + title?: string + /** 转发路径,必须是以 / 开头的完整路径。默认值:当前页面 path */ + path?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4,最低基础库: `1.5.0`。默认值:使用默认截图 */ + imageUrl?: string + } + + interface ICustomTimelineContent { + /** 自定义标题,即朋友圈列表页上显示的标题。默认值:当前小程序名称 */ + title?: string + /** 自定义页面路径中携带的参数,如 `path?a=1&b=2` 的 “?” 后面部分 默认值:当前页面路径携带的参数 */ + query?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持 PNG 及 JPG。显示图片长宽比是 1:1。默认值:默认使用小程序 Logo*/ + imageUrl?: string + } + + interface IPageScrollOption { + /** 页面在垂直方向已滚动的距离(单位px) */ + scrollTop: number + } + + interface IShareAppMessageOption { + /** 转发事件来源。 + * + * 可选值: + * - `button`:页面内转发按钮; + * - `menu`:右上角转发菜单。 + * + * 最低基础库: `1.2.4` + */ + from: 'button' | 'menu' | string + /** 如果 `from` 值是 `button`,则 `target` 是触发这次转发事件的 `button`,否则为 `undefined` + * + * 最低基础库: `1.2.4` */ + target: any + /** 页面中包含`<web-view>`组件时,返回当前`<web-view>`的url + * + * 最低基础库: `1.6.4` + */ + webViewUrl?: string + } + + interface ITabItemTapOption { + /** 被点击tabItem的序号,从0开始,最低基础库: `1.9.0` */ + index: string + /** 被点击tabItem的页面路径,最低基础库: `1.9.0` */ + pagePath: string + /** 被点击tabItem的按钮文字,最低基础库: `1.9.0` */ + text: string + } + + interface IResizeOption { + size: { + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + /** 变化后的窗口高度,单位 px */ + windowHeight: number + } + } + + interface IAddToFavoritesOption { + /** 页面中包含web-view组件时,返回当前web-view的url */ + webviewUrl?: string + } + + interface IAddToFavoritesContent { + /** 自定义标题,默认值:页面标题或账号名称 */ + title?: string + /** 自定义图片,显示图片长宽比为 1:1,默认值:页面截图 */ + imageUrl?: string + /** 自定义query字段,默认值:当前页面的query */ + query?: string + } + + interface GetCurrentPages { + (): Array<Instance<IAnyObject, IAnyObject>> + } +} + +/** + * 注册小程序中的一个页面。接受一个 `Object` 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。 + */ +declare let Page: WechatMiniprogram.Page.Constructor +/** + * 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。 + + * __注意:__ + + * - __不要尝试修改页面栈,会导致路由以及页面状态错误。__ + * - 不要在 `App.onLaunch` 的时候调用 `getCurrentPages()`,此时 `page` 还没有生成。 + */ +declare let getCurrentPages: WechatMiniprogram.Page.GetCurrentPages From c6668a0e1456810955600bd55bff75867a64535b Mon Sep 17 00:00:00 2001 From: Your Name <email@example.com> Date: Sun, 13 Nov 2022 22:51:32 +0800 Subject: [PATCH 19/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=8C=BA=E5=88=86=E7=94=A8=E6=88=B7=E5=92=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=90=8C=E6=97=B6=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 登录区分管理员/miniprogram/app.json | 42 + 登录区分管理员/miniprogram/app.ts | 20 + 登录区分管理员/miniprogram/app.wxss | 6 + .../miniprogram/pages/bd/bd.json | 3 + .../miniprogram/pages/bd/bd.ts | 135 + .../miniprogram/pages/bd/bd.wxml | 15 + .../miniprogram/pages/bd/bd.wxss | 30 + .../miniprogram/pages/index/index.json | 3 + .../miniprogram/pages/index/index.ts | 24 + .../miniprogram/pages/index/index.wxml | 33 + .../miniprogram/pages/index/index.wxss | 43 + .../miniprogram/pages/list/list.json | 3 + .../miniprogram/pages/list/list.ts | 137 + .../miniprogram/pages/list/list.wxml | 27 + .../miniprogram/pages/list/list.wxss | 37 + .../miniprogram/pages/menu/menu.json | 2 + .../miniprogram/pages/menu/menu.ts | 127 + .../miniprogram/pages/menu/menu.wxml | 50 + .../miniprogram/pages/menu/menu.wxss | 78 + .../miniprogram/pages/my/my.json | 2 + .../miniprogram/pages/my/my.ts | 77 + .../miniprogram/pages/my/my.wxml | 23 + .../miniprogram/pages/my/my.wxss | 58 + .../pages/operation/operation.json | 3 + .../miniprogram/pages/operation/operation.ts | 129 + .../pages/operation/operation.wxml | 19 + .../pages/operation/operation.wxss | 69 + .../pages/uploadfile/uploadfile.json | 3 + .../pages/uploadfile/uploadfile.ts | 66 + .../pages/uploadfile/uploadfile.wxml | 2 + .../pages/uploadfile/uploadfile.wxss | 1 + .../miniprogram/sitemap.json | 7 + .../miniprogram/static/index/index.png | Bin 0 -> 4235 bytes .../miniprogram/static/index/index_active.png | Bin 0 -> 4488 bytes .../miniprogram/static/index/spwr01.jpg | Bin 0 -> 77669 bytes .../miniprogram/static/menu/menu.png | Bin 0 -> 6343 bytes .../miniprogram/static/menu/menu_active.png | Bin 0 -> 6575 bytes .../miniprogram/static/my/my.png | Bin 0 -> 6566 bytes .../miniprogram/static/my/my_active.png | Bin 0 -> 7067 bytes .../miniprogram/utils/util.ts | 19 + 登录区分管理员/package.json | 15 + 登录区分管理员/project.config.json | 49 + .../project.private.config.json | 9 + 登录区分管理员/tsconfig.json | 30 + 登录区分管理员/typings/index.d.ts | 8 + .../typings/types/index.d.ts | 1 + .../typings/types/wx/index.d.ts | 134 + .../typings/types/wx/lib.wx.api.d.ts | 28855 ++++++++++++++++ .../typings/types/wx/lib.wx.app.d.ts | 270 + .../typings/types/wx/lib.wx.behavior.d.ts | 68 + .../typings/types/wx/lib.wx.cloud.d.ts | 979 + .../typings/types/wx/lib.wx.component.d.ts | 676 + .../typings/types/wx/lib.wx.event.d.ts | 1435 + .../typings/types/wx/lib.wx.page.d.ts | 263 + 54 files changed, 34085 insertions(+) create mode 100644 登录区分管理员/miniprogram/app.json create mode 100644 登录区分管理员/miniprogram/app.ts create mode 100644 登录区分管理员/miniprogram/app.wxss create mode 100644 登录区分管理员/miniprogram/pages/bd/bd.json create mode 100644 登录区分管理员/miniprogram/pages/bd/bd.ts create mode 100644 登录区分管理员/miniprogram/pages/bd/bd.wxml create mode 100644 登录区分管理员/miniprogram/pages/bd/bd.wxss create mode 100644 登录区分管理员/miniprogram/pages/index/index.json create mode 100644 登录区分管理员/miniprogram/pages/index/index.ts create mode 100644 登录区分管理员/miniprogram/pages/index/index.wxml create mode 100644 登录区分管理员/miniprogram/pages/index/index.wxss create mode 100644 登录区分管理员/miniprogram/pages/list/list.json create mode 100644 登录区分管理员/miniprogram/pages/list/list.ts create mode 100644 登录区分管理员/miniprogram/pages/list/list.wxml create mode 100644 登录区分管理员/miniprogram/pages/list/list.wxss create mode 100644 登录区分管理员/miniprogram/pages/menu/menu.json create mode 100644 登录区分管理员/miniprogram/pages/menu/menu.ts create mode 100644 登录区分管理员/miniprogram/pages/menu/menu.wxml create mode 100644 登录区分管理员/miniprogram/pages/menu/menu.wxss create mode 100644 登录区分管理员/miniprogram/pages/my/my.json create mode 100644 登录区分管理员/miniprogram/pages/my/my.ts create mode 100644 登录区分管理员/miniprogram/pages/my/my.wxml create mode 100644 登录区分管理员/miniprogram/pages/my/my.wxss create mode 100644 登录区分管理员/miniprogram/pages/operation/operation.json create mode 100644 登录区分管理员/miniprogram/pages/operation/operation.ts create mode 100644 登录区分管理员/miniprogram/pages/operation/operation.wxml create mode 100644 登录区分管理员/miniprogram/pages/operation/operation.wxss create mode 100644 登录区分管理员/miniprogram/pages/uploadfile/uploadfile.json create mode 100644 登录区分管理员/miniprogram/pages/uploadfile/uploadfile.ts create mode 100644 登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxml create mode 100644 登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxss create mode 100644 登录区分管理员/miniprogram/sitemap.json create mode 100644 登录区分管理员/miniprogram/static/index/index.png create mode 100644 登录区分管理员/miniprogram/static/index/index_active.png create mode 100644 登录区分管理员/miniprogram/static/index/spwr01.jpg create mode 100644 登录区分管理员/miniprogram/static/menu/menu.png create mode 100644 登录区分管理员/miniprogram/static/menu/menu_active.png create mode 100644 登录区分管理员/miniprogram/static/my/my.png create mode 100644 登录区分管理员/miniprogram/static/my/my_active.png create mode 100644 登录区分管理员/miniprogram/utils/util.ts create mode 100644 登录区分管理员/package.json create mode 100644 登录区分管理员/project.config.json create mode 100644 登录区分管理员/project.private.config.json create mode 100644 登录区分管理员/tsconfig.json create mode 100644 登录区分管理员/typings/index.d.ts create mode 100644 登录区分管理员/typings/types/index.d.ts create mode 100644 登录区分管理员/typings/types/wx/index.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.api.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.app.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.behavior.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.cloud.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.component.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.event.d.ts create mode 100644 登录区分管理员/typings/types/wx/lib.wx.page.d.ts diff --git a/登录区分管理员/miniprogram/app.json b/登录区分管理员/miniprogram/app.json new file mode 100644 index 0000000..129e132 --- /dev/null +++ b/登录区分管理员/miniprogram/app.json @@ -0,0 +1,42 @@ +{ + "pages": [ + "pages/index/index", + "pages/menu/menu", + "pages/my/my", + "pages/bd/bd", + "pages/uploadfile/uploadfile", + "pages/list/list", + "pages/operation/operation" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "班级通", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "selectedColor": "#33a3dc", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "/static/index/index.png", + "selectedIconPath": "/static/index/index_active.png" + }, + { + "pagePath": "pages/menu/menu", + "text": "菜单", + "iconPath": "/static/menu/menu.png", + "selectedIconPath": "/static/menu/menu_active.png" + }, + { + "pagePath": "pages/my/my", + "text": "我的", + "iconPath": "/static/my/my.png", + "selectedIconPath": "/static/my/my_active.png" + } + ] + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/app.ts b/登录区分管理员/miniprogram/app.ts new file mode 100644 index 0000000..714fd19 --- /dev/null +++ b/登录区分管理员/miniprogram/app.ts @@ -0,0 +1,20 @@ +// app.ts +App<IAppOption>({ + globalData: { + + }, + onLaunch() { + // 展示本地存储能力 + // const logs = wx.getStorageSync('logs') || [] + // logs.unshift(Date.now()) + // wx.setStorageSync('logs', logs) + + // 登录 + // wx.login({ + // success: res => { + // console.log(res.code) + // 发送 res.code 到后台换取 openId, sessionKey, unionId + // }, + // }) + }, +}) \ No newline at end of file diff --git a/登录区分管理员/miniprogram/app.wxss b/登录区分管理员/miniprogram/app.wxss new file mode 100644 index 0000000..b5482e5 --- /dev/null +++ b/登录区分管理员/miniprogram/app.wxss @@ -0,0 +1,6 @@ +/**app.wxss**/ +page { + height: 100%; + overflow-y: scroll; + background: rgb(243, 243, 243); +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/bd/bd.json b/登录区分管理员/miniprogram/pages/bd/bd.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/bd/bd.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/bd/bd.ts b/登录区分管理员/miniprogram/pages/bd/bd.ts new file mode 100644 index 0000000..bd1f96a --- /dev/null +++ b/登录区分管理员/miniprogram/pages/bd/bd.ts @@ -0,0 +1,135 @@ +// const app = getApp() +Page({ + data: { + realName: '', + number: '', + isDisabled: true //表示页面加载完成时disabled为禁用状态 + }, + + onLoad: function(options) { + let number = options.number + let realName = options.realName + this.setData({ + number, + realName + }) + }, + + save: function() { + let realName = this.data.realName; + let number=this.data.number + let skey = wx.getStorageSync('skey') + wx.request({ + url: 'http://192.168.58.210:81/save', + method: 'GET', + + data: { + skey:skey, + number:number, + realName:realName + }, + success: function(res :any) { + if (res.data.error == true) { + wx.showToast({ + title: res.data.message, + icon: 'none', + duration: 2000 + }) + } else { + wx.showToast({ + title: res.data.message, + icon: 'success', + duration: 5000 + }) + wx.removeStorageSync('info') + wx.navigateBack({ + delta: 2 + }) + + } + } + }) + }, + + inputRealName: function(e :any) { + var realName = e.detail.value + this.setData({ + realName + }) + console.log(realName) + if (realName !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + inputNumber: function(e :any) { + var number = e.detail.value + this.setData({ + number + }) + // console.log() + if (number !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + + onReady: function() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function() { + + } + }) + \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/bd/bd.wxml b/登录区分管理员/miniprogram/pages/bd/bd.wxml new file mode 100644 index 0000000..f4e001b --- /dev/null +++ b/登录区分管理员/miniprogram/pages/bd/bd.wxml @@ -0,0 +1,15 @@ +<!--pages/bd/bd.wxml--> +<view> + <view class="btn-area" id="buttonContainer"> +<view class='binding-item'> + <view>姓名</view> + <input type="text" placeholder="请输入您的真实姓名" value="{{realName}}" bindinput="inputRealName"></input> +</view> +<view class='binding-item'> + <view>学号</view> + <input type="number" placeholder="请输入您的学号" value="{{number}}" bindinput="inputNumber"></input> +</view> + + <button type="submit" bindtap="save" class="save" disabled='{{isDisabled}}'>提交</button> +</view> +</view> diff --git a/登录区分管理员/miniprogram/pages/bd/bd.wxss b/登录区分管理员/miniprogram/pages/bd/bd.wxss new file mode 100644 index 0000000..159e3cd --- /dev/null +++ b/登录区分管理员/miniprogram/pages/bd/bd.wxss @@ -0,0 +1,30 @@ +/* pages/bd/bd.wxss */ +.binding-item { + margin: 40rpx; + padding-top: 20rpx; + padding-bottom: 40rpx; + display: flex; + font-size: 32rpx; + /* 在模拟器为iphone 6 时,1px=2rpx ,这里设置32rpx,即16px */ + border-bottom: 1rpx solid #dedede; +} + +.binding-item input { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-left: 20rpx; +} + +.binding-btn{ + background-color:#19be6b; + padding: 28rpx; + margin: 40rpx; + color: pink; + text-align: center; +} +.button{ + margin-top: 30rpx; + margin-bottom: 30rpx; +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/index/index.json b/登录区分管理员/miniprogram/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/index/index.ts b/登录区分管理员/miniprogram/pages/index/index.ts new file mode 100644 index 0000000..80900c7 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/index/index.ts @@ -0,0 +1,24 @@ +// index.ts +// 获取应用实例 +const app = getApp<IAppOption>() +Page({ + data: { + taskList: [], + motto: 'Hello World', + }, + onShow() { + // let list = [ + // { id: 1, title: "任务一", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 2, title: "任务二", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" }, + // { id: 3, title: "任务三", startTime: "2022-10-01", endTime: "1020-20-22", end: "40" } + // ] + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, +}) diff --git a/登录区分管理员/miniprogram/pages/index/index.wxml b/登录区分管理员/miniprogram/pages/index/index.wxml new file mode 100644 index 0000000..11f6846 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/index/index.wxml @@ -0,0 +1,33 @@ +<view class="wrip-view"> + <!-- 轮播区域 --> + <view> + <view class="swip"> + <text class="swip-text">公告栏</text> + <swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}"> + <block wx:for="{{3}}" wx:key="*this"> + <swiper-item> + <view class="swiper-item"> + <image src="/static/index/spwr01.jpg"></image> + </view> + </swiper-item> + </block> + </swiper> + + </view> + </view> + <!-- 任务列表 --> + <view class="task" wx:if="{{taskList.length!=0}}"> + <block wx:for="{{taskList}}" wx:key="id"> + <view class="task-item"> + <view class="task-item-title"> {{item.title}}: </view> + <view class="task-item-text"> + <text> 开始时间:{{item.startTime}} </text> + <text> 截止时间:{{item.endTime}} </text> + </view> + </view> + </block> + </view> + <view class="error" wx:else> + 暂无数据 + </view> +</view> \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/index/index.wxss b/登录区分管理员/miniprogram/pages/index/index.wxss new file mode 100644 index 0000000..8af355b --- /dev/null +++ b/登录区分管理员/miniprogram/pages/index/index.wxss @@ -0,0 +1,43 @@ +.wrip-view { + height: 100%; +} + +.swip { + background: rgb(243, 243, 243); + position: relative; +} + +.swip-text { + position: absolute; + width: 100%; + z-index: 100; + text-align: center; + font-size: 20px; + color: rgb(95, 95, 95); +} + +.task { + padding: 8px; +} + +.task-item { + padding: 8px 4px 10px 4px; + margin: 10px 0; + border-radius: 10px; + background-color: #fff; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; +} + +.task-item-text { + font-size: 10px; + color: rgb(146, 146, 146); +} +.error{ + text-align: center; + padding: 20px; +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/list/list.json b/登录区分管理员/miniprogram/pages/list/list.json new file mode 100644 index 0000000..318f00f --- /dev/null +++ b/登录区分管理员/miniprogram/pages/list/list.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "任务信息列表" +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/list/list.ts b/登录区分管理员/miniprogram/pages/list/list.ts new file mode 100644 index 0000000..e3c11a6 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/list/list.ts @@ -0,0 +1,137 @@ +// pages/list/list.js +Page({ + /** + * 页面的初始数据 + */ + data: { + list:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function () { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + * 与加载的区别,若是返回页面,则不需要加载,而是调用Show方法 + */ + onShow: function () { + //这里的this是指窗口而在request中this是指onShow方法(因为是页面调用onShow,onShow调用request),所以要先定义 + var that = this; + wx.request({ + //后端接口提供的url + url: 'http://localhost:8080/task/taskList', + method:'GET', + //需要传入的参数 + data:{}, + success:function(res :any){ + var list = res.data.data; + if(list == null){ + //如果获取数据失败,提示使用者 + var toastText = '获取数据失败' + res.data.msg; + wx.showToast({ + title: toastText, + + //显示时长为2s + duration:2000 + }) + }else{ + that.setData({ + list:list + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + addTask: function(){ + wx.navigateTo({ + url: '../operation/operation', + }) + }, + + //e表示响应的控件 + delTask: function(e :any){ + var that = this; + //相当于confirm窗口 + wx.showModal({ + title: '提示', + //这里的变量名需要与响应控件的data-后面的变量名相同 + content: '确认要删除['+e.target.dataset.name+']吗?', + success:function(sm){ + if(sm.confirm){ + wx.request({ + url: 'http://localhost:8080/task/delete', + data: {'id':e.target.dataset.id}, + header: { + //默认是 'content-type': 'application/json',要传post的参数必须写成这样,要传delete参数则为null + "content-type": "application/x-www-form-urlencoded" + }, + method: 'DELETE', + success: function(res:any) { + var result = res.data.success; + var toastText='删除成功'; + if(result == true){ + that.data.list.splice(e.target.dataset.index,1); + that.setData({ + list:that.data.list + }); + }else{ + toastText = '删除失败'; + } + wx.showToast({ + title: toastText, + duration:2000 + }) + }, + }) + } + } + }) + } +}) \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/list/list.wxml b/登录区分管理员/miniprogram/pages/list/list.wxml new file mode 100644 index 0000000..18393da --- /dev/null +++ b/登录区分管理员/miniprogram/pages/list/list.wxml @@ -0,0 +1,27 @@ +<!--pages/list/list.wxml--> +<view class='container'> + <view class='widget'> + <text class='column'>ID</text> + <text class='column'>名字</text> + <text class='column'>信息</text> + <text class='column'>时间</text> + <text class='link-column'>操作</text> + </view> + <scroll-view scroll-y="true"> + <!--遍历list,变量名要和js中的名字相同,且item是定值,不可修改 --> + <block class='widget' wx:for="{{list}}"> + <view class='widget'> + <text class='column'>{{item.id}}</text> + <text class='column'>{{item.name}}</text> + <text class='column'>{{item.property}}</text> + <text class='column'>{{item.deadtime}}</text> + <view class='link-column'> + <navigator class='link' url='../operation/operation?id={{item.id}}'>编辑</navigator>| + <text class='link' bindtap='delTask' data-id='{{item.id}}' data-index='{{index}}' data-name='{{item.name}}'>删除 + </text> + </view> + </view> + </block> + </scroll-view> + <button type='primary' bindtap='addTask'>添加任务信息</button> +</view> \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/list/list.wxss b/登录区分管理员/miniprogram/pages/list/list.wxss new file mode 100644 index 0000000..a10454d --- /dev/null +++ b/登录区分管理员/miniprogram/pages/list/list.wxss @@ -0,0 +1,37 @@ +/* pages/list/list.wxss */ +.container{ + height: 100%; + display: table; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding-top: 10rpx; + padding-bottom: 10rpx; + text-align: center; +} + +.widget{ + position: relative; + margin-top: 5rpx; + margin-bottom: 5rpx; + padding-top: 10rpx; + padding-bottom: 10rpx; + padding-left: 40rpx; + padding-right: 40rpx; + border: #ddd 1px solid; +} + +.column{ + width: 4rem; + display: table-cell; +} + +.link-column{ + width: 6rem; + display: table-cell; +} + +.link{ + color: blue; + display: inline-table; +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/menu/menu.json b/登录区分管理员/miniprogram/pages/menu/menu.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/menu/menu.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/menu/menu.ts b/登录区分管理员/miniprogram/pages/menu/menu.ts new file mode 100644 index 0000000..b18a8dd --- /dev/null +++ b/登录区分管理员/miniprogram/pages/menu/menu.ts @@ -0,0 +1,127 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + taskList: [], + taskFlag: false, + releaseFlag: false, + from: { + taskName: "", + end: "" + } + }, + inputFrom(event: any) { + if (event.currentTarget.dataset.gater == "from.end") { + let num = event.detail.value; + if (num.length == 4) num += "-"; + if (num.length == 7) num += "-"; + this.setData({ [`from.end`]: num }) + } else if(event.currentTarget.dataset.gater == "from.taskName"){ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + }else{ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + } + }, + addSelect() { + const { taskName, end } = this.data.from; + if (end.length != 10) return; + if (!taskName || !end) { + wx.showToast({ + title: "请填写任务名称和任务进度", + icon: 'error', + }); + return; + } + const list = wx.getStorageSync("taskList") || []; + const index = list.findIndex((item: any) => item.title == taskName); + if (index >= 0) { + wx.showToast({ + title: "任务名称重复", + icon: 'error', + }); + return; + } + const data = { + id: list.length + 1, + title: taskName, + startTime: formatTime(new Date), endTime: end, end: '40', + } + list.push(data) + wx.setStorageSync("taskList", list); + wx.showToast({ + title: "发布成功", + icon: 'success', + }); + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + atReleaseFlag() { + const user = wx.getStorageSync("userInfo"); + console.log(user) + if (!user) { + wx.showToast({ + title: "请先登录", + icon: 'error', + }); + return; + } + this.setData({ releaseFlag: !this.data.releaseFlag }) + + const power = +wx.getStorageSync('power'); + if (power === 0) { // 0 为用户 + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + } else if (power === 1) { // 1 为管理员 + wx.navigateTo({ url: '/pages/list/list' }) + } + }, + onPublishJielong() { + const power = +wx.getStorageSync('power'); + if (power === 0) { + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + return; + } + }, + atTaskFlag() { + const power = +wx.getStorageSync('power'); + if (power === 0) { + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + return; + } + this.setData({ taskFlag: !this.data.taskFlag }) + }, + onShow() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + // this.setData({ + // logs: (wx.getStorageSync('logs') || []).map((log: string) => { + // return { + // date: formatTime(new Date(log)), + // timeStamp: log + // } + // }), + // }) + }, +}) diff --git a/登录区分管理员/miniprogram/pages/menu/menu.wxml b/登录区分管理员/miniprogram/pages/menu/menu.wxml new file mode 100644 index 0000000..bde782b --- /dev/null +++ b/登录区分管理员/miniprogram/pages/menu/menu.wxml @@ -0,0 +1,50 @@ +<view class="wrip-view"> + <view> + <view catchtap="atReleaseFlag"> + <!-- <navigator url="/pages/list/list" hover-class="navigator-hover" class="title">发布任务</navigator> --> + <view class="title">发布任务</view> + </view> + <!-- <view class="title" catchtap="atReleaseFlag"> + 发布任务 + </view> + <view wx:if="{{releaseFlag}}" class="release-view"> + <label>任务名称 + <input type="text" data-gater="from.taskName" value="{{from.taskName}}" bindinput="inputFrom" placeholder="输入任务名称" /> + </label> + <label>任务结束时间 + <input type="number" maxlength="20" data-gater="from.end" value="{{from.end}}" bindinput="inputFrom" placeholder="输入任务结束时间" /> + </label> + <label>任务类型 + <input type="file" name="upload" maxlength="10" value="{{from.type}}" bindinput="inputFrom" placeholder="输入任务类型" /> + + </label> + <label>任务详情 + <input type="text" data-gater="from.taskdetail" value="{{from.taskdetail}}" bindinput="inputFrom" placeholder="输入任务详情" /> + </label> + <button catchtap="addSelect">发布</button> + </view> --> + + </view> + <view catchtap="onPublishJielong"> + <view class="title">发布接龙</view> + </view> + <view> + <view class="title" catchtap="atTaskFlag">查看任务进度</view> + <view class="task" wx:if="{{taskFlag}}"> + <view wx:if="{{taskList.length!=0}}"> + <block wx:for="{{taskList}}" wx:key="id"> + <view class="task-item"> + <view class="task-item-title"> {{item.title}}: </view> + <view class="task-item-text"> + <text>完成进度:{{item.end}} </text> + </view> + <view class="task-item-backg" style="width: {{item.end+'%'}};"></view> + </view> + </block> + </view> + <view wx:else> + 暂无任务 + </view> + </view> + </view> +</view> \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/menu/menu.wxss b/登录区分管理员/miniprogram/pages/menu/menu.wxss new file mode 100644 index 0000000..f805158 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/menu/menu.wxss @@ -0,0 +1,78 @@ +.wrip-view { + height: 100%; + padding: 0 12px; +} + +.task { + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.task-item { + padding: 4px 0; + margin: 10px 0; + border-radius: 10px; + position: relative; + z-index: 100; + background-color: #fff; + overflow: hidden; +} + +.task-item-backg { + position: absolute; + top: 0; + background: #77bef0; + height: 100%; + width: 100%; + z-index: -1; + border-radius: 10px 0 0 10px; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; + margin-left: 10px; +} + +.task-item-text { + text-align: right; + font-family: "楷体"; + font-size: 14px; + margin-right: 10px; +} + + +.title { + background: #fff; + display: inline-block; + border-radius: 4px; + padding: 4px; + margin: 10px 0; + position: relative; +} + +.title::after { + content: ""; + position: absolute; + top: 50%; + width: 100vw; + height: 4px; + background: #fff; +} + + + +.release-view{ + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.release-view input{ + border: 1px #ccc solid; + border-radius: 4px; + margin: 6px 0; + padding: 4px; +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/my/my.json b/登录区分管理员/miniprogram/pages/my/my.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/my/my.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/my/my.ts b/登录区分管理员/miniprogram/pages/my/my.ts new file mode 100644 index 0000000..7e4049a --- /dev/null +++ b/登录区分管理员/miniprogram/pages/my/my.ts @@ -0,0 +1,77 @@ +// logs.ts +// const util = require('../../utils/util.js') +// import { formatTime } from '../../utils/util' + +Page({ + data: { + userInfo: {}, + key:{}, + }, + atLogin() { + wx.getUserProfile({ + desc: '展示用户信息', + success: (res) => { + this.setData({ + userInfo: res.userInfo, + }) + // wx.setStorageSync("userInfo", res.userInfo); + wx.setStorage({ + key:"userInfo", + data:this.data.userInfo, + // userInfo:res.userInfo, + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } + }) +  wx.login({ +       success: function(login_res){ +         if(login_res.code){ +           wx.request({ +             url:'http://192.168.58.210:81/atlogin', +             method:'GET', +             data:{ +               code:login_res.code, +             }, + success:function(res :any){ + console.log(res) + const { skey, power } = res.data || {}; + console.log(skey) + wx.setStorageSync('skey',skey) + wx.setStorageSync('power',power); + } + +           }) +         }else{ +           console.log('登录失败!'+login_res.errMsg) +         } +       } +     })    + } + }) + },    + onShow() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + +    + + }, + onLoad() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + }, + }) + \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/my/my.wxml b/登录区分管理员/miniprogram/pages/my/my.wxml new file mode 100644 index 0000000..f13d23b --- /dev/null +++ b/登录区分管理员/miniprogram/pages/my/my.wxml @@ -0,0 +1,23 @@ +<view class="wrip"> + <view class="my-head"> + <view class="my-head-box"> + <view class="head-box-child"> + <view wx:if="{{!userInfo.avatarUrl}}" catchtap="atLogin"> + 登录 + </view> + <view wx:else> + <image src="{{userInfo.avatarUrl}}"></image> + </view> + </view> + + </view> + </view> + <view> + <view class="my-box"> + <view class="my-top"> + <navigator url="/pages/bd/bd" hover-class="navigator-hover">已绑定,点击可重新绑定</navigator> + + </view> + </view> + </view> +</view> \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/my/my.wxss b/登录区分管理员/miniprogram/pages/my/my.wxss new file mode 100644 index 0000000..d89efd2 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/my/my.wxss @@ -0,0 +1,58 @@ +.wrip { + padding: 10px; +} + +.log-list { + display: flex; + flex-direction: column; + padding: 40rpx; +} + +.log-item { + margin: 10rpx; +} + +.my-head { + margin: 0 0 10px 0; +} + +.my-head-box { + height: 160px; + background: white; + border-radius: 5px; + position: relative; + background-image: linear-gradient(to right top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1); +} + +.my-box { + height: 140px; + background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12); + border-radius: 5px; +} + +.head-box-child { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 80px; + height: 80px; + border-radius: 50%; + text-align: center; + border: 1px #ccc solid; + color: rgb(255, 255, 255); + line-height: 80px; + overflow: hidden; +} + +.head-box-child image { + width: 100%; + height: 80px; +} + +.my-top { + padding: 4px; + color: white; + box-shadow: rgba(116, 116, 116, 0.521) 0 0 10px ; + background: rgba(204, 204, 204, 0.384); +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/operation/operation.json b/登录区分管理员/miniprogram/pages/operation/operation.json new file mode 100644 index 0000000..cf3126e --- /dev/null +++ b/登录区分管理员/miniprogram/pages/operation/operation.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "任务信息表单" +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/operation/operation.ts b/登录区分管理员/miniprogram/pages/operation/operation.ts new file mode 100644 index 0000000..896bf1d --- /dev/null +++ b/登录区分管理员/miniprogram/pages/operation/operation.ts @@ -0,0 +1,129 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + taskList: [], + taskFlag: false, + releaseFlag: false, + id:undefined, + name:'', + property:'', + stuid:'', + deadtime:'', + addUrl:'http://localhost:8080/task/addTask', + updateUrl:'http://localhost:8080/task/taskInfo', + from: { + taskName: "", + end: "" + } + }, + inputFrom(event:any) { + if (event.currentTarget.dataset.gater == "from.end") { + let num = event.detail.value; + if (num.length == 4) num += "-"; + if (num.length == 7) num += "-"; + this.setData({ [`from.end`]: num }) + } else if(event.currentTarget.dataset.gater == "from.taskName"){ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + }else{ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + } + }, + addSelect() { + const { taskName, end } = this.data.from; + if (end.length != 10) return; + if (!taskName || !end) { + wx.showToast({ + title: "请填写任务名称和任务进度", + icon: 'error', + }); + return; + } + const list = wx.getStorageSync("taskList") || []; + const index = list.findIndex((item:any) => item.title == taskName); + if (index >= 0) { + wx.showToast({ + title: "任务名称重复", + icon: 'error', + }); + return; + } + const data = { + id: list.length + 1, + title: taskName, + startTime: formatTime(new Date), endTime: end, end: '40', + } + list.push(data) + wx.setStorageSync("taskList", list); + wx.showToast({ + title: "发布成功", + icon: 'success', + }); + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + formSubmit:function(e:any){ + // var that = this; + //获取表单值 + var formData = e.detail.value; + var url = this.data.addUrl; + if(this.data.id != undefined){ + //如果是编辑按钮跳转 + formData.id = this.data.id; + url = this.data.updateUrl; + } + console.log(JSON.stringify(formData)); + wx.request({ + url: url, + //将其转换成JSON + data: JSON.stringify(formData), + method: 'POST', + success: function(res:any) { + var result = res.data.success; + var toastText = '请求成功'; + if(!result){ + toastText = '请求失败'+res.data.msg; + } + wx.showToast({ + title: toastText, + duration: 2000, + }) + if(result){ + wx.redirectTo({ + //操作结束后跳转回列表页 + url: '../list/list', + }) + } + }, + }) + }, + atTaskFlag() { + this.setData({ taskFlag: !this.data.taskFlag }) + }, + onShow() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + // this.setData({ + // logs: (wx.getStorageSync('logs') || []).map((log: string) => { + // return { + // date: formatTime(new Date(log)), + // timeStamp: log + // } + // }), + // }) + }, +}) diff --git a/登录区分管理员/miniprogram/pages/operation/operation.wxml b/登录区分管理员/miniprogram/pages/operation/operation.wxml new file mode 100644 index 0000000..fa4abc7 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/operation/operation.wxml @@ -0,0 +1,19 @@ +<view class="release-view"> + <form bindsubmit='formSubmit' bindreset='formReset'> + <label>任务名称 + <input type="text" data-gater="from.taskName" value="{{from.taskName}}" bindinput="inputFrom" placeholder="输入任务名称" /> + </label> + <label>任务结束时间 + <input type="number" maxlength="20" data-gater="from.end" value="{{from.end}}" bindinput="inputFrom" placeholder="输入任务结束时间" /> + </label> + <label>任务详情 + <input type="text" data-gater="from.taskdetail" value="{{from.taskdetail}}" bindinput="inputFrom" placeholder="输入任务详情" /> + </label> + + + <view class='row'> + <button type='primary' form-type='submit' catchtap="addSelect">提交</button> + <button type='primary' form-type='reset'>清空</button> + </view> + </form> + </view> diff --git a/登录区分管理员/miniprogram/pages/operation/operation.wxss b/登录区分管理员/miniprogram/pages/operation/operation.wxss new file mode 100644 index 0000000..1a718b3 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/operation/operation.wxss @@ -0,0 +1,69 @@ +/* pages/opration/opration.wxss */ +.row input { + font-size: 0.7rem; + flex-grow: 3; + border: ipx solid #09c; + display: inline-block; + border-radius: 0.3rem; + box-shadow: 0 0 0.15rem #aaa; + padding: 0.3rem; +} + +.row button { + padding: 0.3rem; + margin: 3rem 1rem; +} + +.container { + padding: 1rem; + font-size: 0.9rem; + line-height: 1.5rem; +} + +.row { + display: flex; + align-items: center; + margin-bottom: 0.8rem; +} + +.row text { + flex-grow: 1.5; + text-align: right; +} +.form-box picker{ + margin: 30rpx 30rpx 0 0; + color: rgb(153, 153, 153); + } + +.title { +background: #fff; +display: inline-block; +border-radius: 4px; +padding: 4px; +margin: 10px 0; +position: relative; +} + +.title::after { +content: ""; +position: absolute; +top: 50%; +width: 100vw; +height: 4px; +background: #fff; +} + + + +.release-view{ +padding: 8px; +background-color: #fff; +border-radius: 4px; +} + +.release-view input{ +border: 1px #ccc solid; +border-radius: 4px; +margin: 6px 0; +padding: 4px; +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.json b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.ts b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.ts new file mode 100644 index 0000000..f97b428 --- /dev/null +++ b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.ts @@ -0,0 +1,66 @@ +// pages/uploadfile/uploadfile.ts +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxml b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxml new file mode 100644 index 0000000..243352b --- /dev/null +++ b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxml @@ -0,0 +1,2 @@ +<!--pages/uploadfile/uploadfile.wxml--> +<text>文件提交</text> diff --git a/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxss b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxss new file mode 100644 index 0000000..a3f9fbc --- /dev/null +++ b/登录区分管理员/miniprogram/pages/uploadfile/uploadfile.wxss @@ -0,0 +1 @@ +/* pages/uploadfile/uploadfile.wxss */ \ No newline at end of file diff --git a/登录区分管理员/miniprogram/sitemap.json b/登录区分管理员/miniprogram/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/登录区分管理员/miniprogram/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/登录区分管理员/miniprogram/static/index/index.png b/登录区分管理员/miniprogram/static/index/index.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f57d414a2880fced8c394881e652aafcc9d17a GIT binary patch literal 4235 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 I)P>vs0*S(th5!Hn literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/index/index_active.png b/登录区分管理员/miniprogram/static/index/index_active.png new file mode 100644 index 0000000000000000000000000000000000000000..9703bc7a250deb9f53332eda613d7e303ffa61de GIT binary patch literal 4488 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 Pt<V_gnINlmoa6ol;T0^% literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/index/spwr01.jpg b/登录区分管理员/miniprogram/static/index/spwr01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2224daf587efdbe62402e1a3b244d47bb2dc48fc GIT binary patch literal 77669 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%0A(bcW0MTz0+F{S>qQ>L7z=xt!yU{;&!H-F`q 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 OWH@4sf}sER=Klf8*FakU literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/menu/menu.png b/登录区分管理员/miniprogram/static/menu/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..390baad53c67311abb4e5c6f78776f9809ec2bc1 GIT binary patch literal 6343 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 literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/menu/menu_active.png b/登录区分管理员/miniprogram/static/menu/menu_active.png new file mode 100644 index 0000000000000000000000000000000000000000..10b43e42234123d5d1b226288029d2f9b9e2057f GIT binary patch literal 6575 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 literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/my/my.png b/登录区分管理员/miniprogram/static/my/my.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cba5147fb8fb4f8e93d95d411b65c37d2b1042 GIT binary patch literal 6566 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 b{ugGgw57S|ZfyYl@dD^+-$IvZ**yCn>aasb literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/static/my/my_active.png b/登录区分管理员/miniprogram/static/my/my_active.png new file mode 100644 index 0000000000000000000000000000000000000000..865edae9ca78e3da522f7be1a59ac6ec2d06883b GIT binary patch literal 7067 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 G7GB%q7hNUoJEYI8zpRe+@ zb{{ijM$2-rVH}C<jgE#iHt%Io>W09yiTPfeGqr{d0FQ2Cd~Wr`TOXl{$(p={ifov+ zXqEEIGz}YV$)#W2i`mTW^DEBh;K3jV`7?>6aO+|7qO^#{LL51ad@<dS-o^zV>H~#u zYJ{N#TKeAEhs7dL0;&^8*V$GVZdq=!@ujb|4;M`E^DY(f<MKVS^(D#wS4UT@Qh#1+ VB&mm};{LV)ULe%u3ZEeZ{}05vO$Pt~ literal 0 HcmV?d00001 diff --git a/登录区分管理员/miniprogram/utils/util.ts b/登录区分管理员/miniprogram/utils/util.ts new file mode 100644 index 0000000..4923bb7 --- /dev/null +++ b/登录区分管理员/miniprogram/utils/util.ts @@ -0,0 +1,19 @@ +export const formatTime = (date: Date) => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + // const hour = date.getHours() + // const minute = date.getMinutes() + // const second = date.getSeconds() + + return ( + [year, month, day].map(formatNumber).join('-') + // + ' ' + + // [hour, minute, second].map(formatNumber).join(':') + ) +} + +const formatNumber = (n: number) => { + const s = n.toString() + return s[1] ? s : '0' + s +} diff --git a/登录区分管理员/package.json b/登录区分管理员/package.json new file mode 100644 index 0000000..5f731b7 --- /dev/null +++ b/登录区分管理员/package.json @@ -0,0 +1,15 @@ +{ + "name": "miniprogram-ts-less-quickstart", + "version": "1.0.0", + "description": "", + "scripts": { + }, + "keywords": [], + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "miniprogram-api-typings": "^2.8.3-1" + } +} diff --git a/登录区分管理员/project.config.json b/登录区分管理员/project.config.json new file mode 100644 index 0000000..7e4c735 --- /dev/null +++ b/登录区分管理员/project.config.json @@ -0,0 +1,49 @@ +{ + "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "packOptions": { + "ignore": [], + "include": [] + }, + "miniprogramRoot": "miniprogram/", + "compileType": "miniprogram", + "projectname": "ts-demo", + "setting": { + "useCompilerPlugins": [ + "typescript" + ], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "es6": true, + "enhance": true, + "coverView": true, + "postcss": true, + "lazyloadPlaceholderEnable": false, + "preloadBackgroundData": false, + "minified": true, + "autoAudits": false, + "uglifyFileName": false, + "uploadWithSourceMap": true, + "showShadowRootInWxmlPanel": true, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "useStaticServer": true, + "showES6CompileOption": false, + "checkInvalidKey": true, + "disableUseStrict": false, + "minifyWXML": true + }, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": {}, + "srcMiniprogramRoot": "miniprogram/", + "appid": "wx954296403ec15396", + "libVersion": "2.26.1", + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + } +} \ No newline at end of file diff --git a/登录区分管理员/project.private.config.json b/登录区分管理员/project.private.config.json new file mode 100644 index 0000000..3068cb1 --- /dev/null +++ b/登录区分管理员/project.private.config.json @@ -0,0 +1,9 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "%E7%8F%AD%E7%BA%A7%E9%80%9A%E5%B0%8F%E7%A8%8B%E5%BA%8F", + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "libVersion": "2.17.0" +} \ No newline at end of file diff --git a/登录区分管理员/tsconfig.json b/登录区分管理员/tsconfig.json new file mode 100644 index 0000000..ade784e --- /dev/null +++ b/登录区分管理员/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "strictNullChecks": true, + "noImplicitAny": true, + "module": "CommonJS", + "target": "ES2020", + "allowJs": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "noImplicitThis": true, + "noImplicitReturns": true, + "alwaysStrict": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "strictPropertyInitialization": true, + "lib": ["ES2020"], + "typeRoots": [ + "./typings" + ] + }, + "include": [ + "./**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/登录区分管理员/typings/index.d.ts b/登录区分管理员/typings/index.d.ts new file mode 100644 index 0000000..3ee60c8 --- /dev/null +++ b/登录区分管理员/typings/index.d.ts @@ -0,0 +1,8 @@ +/// <reference path="./types/index.d.ts" /> + +interface IAppOption { + globalData: { + userInfo?: WechatMiniprogram.UserInfo, + } + userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback, +} \ No newline at end of file diff --git a/登录区分管理员/typings/types/index.d.ts b/登录区分管理员/typings/types/index.d.ts new file mode 100644 index 0000000..a5e8a7c --- /dev/null +++ b/登录区分管理员/typings/types/index.d.ts @@ -0,0 +1 @@ +/// <reference path="./wx/index.d.ts" /> diff --git a/登录区分管理员/typings/types/wx/index.d.ts b/登录区分管理员/typings/types/wx/index.d.ts new file mode 100644 index 0000000..8ecd122 --- /dev/null +++ b/登录区分管理员/typings/types/wx/index.d.ts @@ -0,0 +1,134 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +/// <reference path="./lib.wx.app.d.ts" /> +/// <reference path="./lib.wx.page.d.ts" /> +/// <reference path="./lib.wx.api.d.ts" /> +/// <reference path="./lib.wx.cloud.d.ts" /> +/// <reference path="./lib.wx.component.d.ts" /> +/// <reference path="./lib.wx.behavior.d.ts" /> +/// <reference path="./lib.wx.event.d.ts" /> + +declare namespace WechatMiniprogram { + type IAnyObject = Record<string, any> + type Optional<F> = F extends (arg: infer P) => infer R ? (arg?: P) => R : F + type OptionalInterface<T> = { [K in keyof T]: Optional<T[K]> } + interface AsyncMethodOptionLike { + success?: (...args: any[]) => void + } + type PromisifySuccessResult< + P, + T extends AsyncMethodOptionLike + > = P extends { + success: any + } + ? void + : P extends { fail: any } + ? void + : P extends { complete: any } + ? void + : Promise<Parameters<Exclude<T['success'], undefined>>[0]> + + // TODO: Extract real definition from `lib.dom.d.ts` to replace this + type IIRFilterNode = any + type WaveShaperNode = any + type ConstantSourceNode = any + type OscillatorNode = any + type GainNode = any + type BiquadFilterNode = any + type PeriodicWaveNode = any + type BufferSourceNode = any + type ChannelSplitterNode = any + type ChannelMergerNode = any + type DelayNode = any + type DynamicsCompressorNode = any + type ScriptProcessorNode = any + type PannerNode = any + type AnalyserNode = any + type AudioListener = any + type WebGLTexture = any + type WebGLRenderingContext = any +} + +declare let console: WechatMiniprogram.Console + +declare let wx: WechatMiniprogram.Wx +/** 引入模块。返回模块通过 `module.exports` 或 `exports` 暴露的接口。 */ +declare function require( + /** 需要引入模块文件相对于当前文件的相对路径,或 npm 模块名,或 npm 模块路径。不支持绝对路径 */ + module: string +): any +/** 引入插件。返回插件通过 `main` 暴露的接口。 */ +declare function requirePlugin( + /** 需要引入的插件的 alias */ + module: string +): any +/** 插件引入当前使用者小程序。返回使用者小程序通过 [插件配置中 `export` 暴露的接口](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html#%E5%AF%BC%E5%87%BA%E5%88%B0%E6%8F%92%E4%BB%B6)。 + * + * 该接口只在插件中存在 + * + * 最低基础库: `2.11.1` */ +declare function requireMiniProgram(): any +/** 当前模块对象 */ +declare let module: { + /** 模块向外暴露的对象,使用 `require` 引用该模块时可以获取 */ + exports: any +} +/** `module.exports` 的引用 */ +declare let exports: any + +/** [clearInterval(number intervalID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearInterval.html) + * + * 取消由 setInterval 设置的定时器。 */ +declare function clearInterval( + /** 要取消的定时器的 ID */ + intervalID: number +): void +/** [clearTimeout(number timeoutID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearTimeout.html) + * + * 取消由 setTimeout 设置的定时器。 */ +declare function clearTimeout( + /** 要取消的定时器的 ID */ + timeoutID: number +): void +/** [number setInterval(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setInterval.html) + * + * 设定一个定时器。按照指定的周期(以毫秒计)来执行注册的回调函数 */ +declare function setInterval( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 执行回调函数之间的时间间隔,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number +/** [number setTimeout(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setTimeout.html) + * + * 设定一个定时器。在定时到期以后执行注册的回调函数 */ +declare function setTimeout( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 延迟的时间,函数的调用会在该延迟之后发生,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number diff --git a/登录区分管理员/typings/types/wx/lib.wx.api.d.ts b/登录区分管理员/typings/types/wx/lib.wx.api.d.ts new file mode 100644 index 0000000..1c3963c --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.api.d.ts @@ -0,0 +1,28855 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface AccessFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${path}': 文件/目录不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AccessOption { + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AccessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AccessFailCallback + /** 接口调用成功的回调函数 */ + success?: AccessSuccessCallback + } + /** 帐号信息 */ + interface AccountInfo { + /** 小程序帐号信息 */ + miniProgram: MiniProgram + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + plugin: Plugin + } + interface AddArcOption { + /** 终点 */ + end: MapPostion + /** 圆弧 id */ + id: number + /** 起始点 */ + start: MapPostion + /** 夹角角度 */ + angle?: number + /** 线的颜色 */ + color?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddArcFailCallback + /** 途经点 */ + pass?: MapPostion + /** 接口调用成功的回调函数 */ + success?: AddArcSuccessCallback + /** 线宽 */ + width?: number + } + interface AddCardOption { + /** 需要添加的卡券列表 */ + cardList: AddCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCardFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCardSuccessCallback + } + /** 需要添加的卡券列表 */ + interface AddCardRequestInfo { + /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */ + cardExt: string + /** 卡券 ID */ + cardId: string + } + /** 卡券添加结果列表 */ + interface AddCardResponseInfo { + /** 卡券的扩展参数,结构请参考下文 */ + cardExt: string + /** 用户领取到卡券的 ID */ + cardId: string + /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + /** 是否成功 */ + isSuccess: boolean + } + interface AddCardSuccessCallbackResult { + /** 卡券添加结果列表 */ + cardList: AddCardResponseInfo[] + errMsg: string + } + interface AddCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCustomLayerSuccessCallback + } + interface AddFileToFavoritesOption { + /** 要收藏的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddFileToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddFileToFavoritesFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: AddFileToFavoritesSuccessCallback + } + interface AddGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface AddMarkersOption { + /** 同传入 map 组件的 marker 属性 */ + markers: any[] + /** 是否先清空地图上所有 marker */ + clear?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: AddMarkersSuccessCallback + } + interface AddPhoneCalendarOption { + /** 开始时间的 unix 时间戳 */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneCalendarFailCallback + /** 事件位置 */ + location?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneCalendarSuccessCallback + } + interface AddPhoneContactOption { + /** 名字 */ + firstName: string + /** 联系地址城市 */ + addressCity?: string + /** 联系地址国家 */ + addressCountry?: string + /** 联系地址邮政编码 */ + addressPostalCode?: string + /** 联系地址省份 */ + addressState?: string + /** 联系地址街道 */ + addressStreet?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneContactCompleteCallback + /** 电子邮件 */ + email?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneContactFailCallback + /** 住宅地址城市 */ + homeAddressCity?: string + /** 住宅地址国家 */ + homeAddressCountry?: string + /** 住宅地址邮政编码 */ + homeAddressPostalCode?: string + /** 住宅地址省份 */ + homeAddressState?: string + /** 住宅地址街道 */ + homeAddressStreet?: string + /** 住宅传真 */ + homeFaxNumber?: string + /** 住宅电话 */ + homePhoneNumber?: string + /** 公司电话 */ + hostNumber?: string + /** 姓氏 */ + lastName?: string + /** 中间名 */ + middleName?: string + /** 手机号 */ + mobilePhoneNumber?: string + /** 昵称 */ + nickName?: string + /** 公司 */ + organization?: string + /** 头像本地文件路径 */ + photoFilePath?: string + /** 备注 */ + remark?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneContactSuccessCallback + /** 职位 */ + title?: string + /** 网站 */ + url?: string + /** 微信号 */ + weChatNumber?: string + /** 工作地址城市 */ + workAddressCity?: string + /** 工作地址国家 */ + workAddressCountry?: string + /** 工作地址邮政编码 */ + workAddressPostalCode?: string + /** 工作地址省份 */ + workAddressState?: string + /** 工作地址街道 */ + workAddressStreet?: string + /** 工作传真 */ + workFaxNumber?: string + /** 工作电话 */ + workPhoneNumber?: string + } + interface AddPhoneRepeatCalendarOption { + /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneRepeatCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneRepeatCalendarFailCallback + /** 事件位置 */ + location?: string + /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */ + repeatEndTime?: number + /** 重复周期,默认 month 每月重复 + * + * 可选值: + * - 'day': 每天重复; + * - 'week': 每周重复; + * - 'month': 每月重复。该模式日期不能大于 28 日; + * - 'year': 每年重复; */ + repeatInterval?: 'day' | 'week' | 'month' | 'year' + /** 接口调用成功的回调函数 */ + success?: AddPhoneRepeatCalendarSuccessCallback + } + interface AddServiceOption { + /** 描述service的Object */ + service: BLEPeripheralService + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: AddServiceSuccessCallback + } + interface AddVideoToFavoritesOption { + /** 要收藏的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVideoToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVideoToFavoritesFailCallback + /** 接口调用成功的回调函数 */ + success?: AddVideoToFavoritesSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface AddVisualLayerOption { + /** 可视化图层id([创建图层指引](https://lbs.qq.com/dev/console/layers/layerEdit)) */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVisualLayerFailCallback + /** 刷新周期,单位秒 */ + interval?: number + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddVisualLayerSuccessCallback + /** 图层绘制顺序 */ + zIndex?: number + } + /** 广播自定义参数 */ + interface AdvertiseReqObj { + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + beacon?: BeaconInfoObj + /** 当前设备是否可连接 */ + connectable?: boolean + /** 广播中 deviceName 字段,默认为空 */ + deviceName?: string + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + manufacturerData?: ManufacturerData[] + /** 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 */ + serviceUuids?: string[] + } + /** animationData */ + interface AnimationExportResult { + actions: IAnyObject[] + } + /** 动画效果 */ + interface AnimationOption { + /** 动画变化时间,单位 ms */ + duration?: number + /** 动画变化方式 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'easeIn': 动画以低速开始; + * - 'easeOut': 动画以低速结束; + * - 'easeInOut': 动画以低速开始和结束; */ + timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' + } + interface AppAuthorizeSetting { + /** 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用蓝牙的开关(仅 iOS 有效) */ + bluetoothAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用摄像头的开关 */ + cameraAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用定位的开关 */ + locationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */ + locationReducedAccuracy: boolean + /** 允许微信使用麦克风的开关 */ + microphoneAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知的开关 */ + notificationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信读写日历的开关 */ + phoneCalendarAuthorized: 'authorized' | 'denied' | 'not determined' + } + interface AppBaseInfo { + /** 客户端基础库版本 */ + SDKVersion: string + /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 当前小程序运行的宿主环境 */ + host: AppBaseInfoHost + /** 微信设置的语言 */ + language: string + /** 微信版本号 */ + version: string + /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 当前小程序运行的宿主环境 */ + interface AppBaseInfoHost { + /** 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) */ + appId: string + } + interface AppendFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 文件不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AppendFileOption { + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要追加内容的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AppendFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: AppendFileFailCallback + /** 接口调用成功的回调函数 */ + success?: AppendFileSuccessCallback + } + interface Asset { + src: string + /** 可选值: + * - 'font': 字体; + * - 'image': 图片; */ + type: 'font' | 'image' + } + /** 需要基础库: `2.19.0` + * + * AudioBuffer接口表示存在内存里的一段短小的音频资源,利用[WebAudioContext.decodeAudioData](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)方法从一个音频文件构建,或者利用 [AudioContext.createBuffer](#)从原始数据构建。把音频放入AudioBuffer后,可以传入到一个 AudioBufferSourceNode进行播放。 */ + interface AudioBuffer { + /** 返回存储在缓存区的PCM数据的时长(单位为秒) */ + duration: number + /** 返回存储在缓存区的PCM数据的采样帧率 */ + length: number + /** 储存在缓存区的PCM数据的通道数 */ + numberOfChannels: number + /** 存储在缓存区的PCM数据的采样率(单位为sample/s) */ + sampleRate: number + } + interface AuthPrivateMessageOption { + /** shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthPrivateMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthPrivateMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthPrivateMessageSuccessCallback + } + interface AuthPrivateMessageSuccessCallbackResult { + /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + /** 验证是否通过 */ + valid: boolean + } + /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */ + interface AuthSetting { + /** 是否授权系统日历,对应接口 [wx.addPhoneRepeatCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html)、[wx.addPhoneCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) */ + 'scope.addPhoneCalendar'?: boolean + /** 是否添加通讯录联系人,对应接口 [wx.addPhoneContact](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) */ + 'scope.addPhoneContact'?: boolean + /** 是否授权通讯地址,已取消此项授权,会默认返回true */ + 'scope.address'?: boolean + /** 是否授权蓝牙,对应接口 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html)、[wx.createBLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) */ + 'scope.bluetooth'?: boolean + /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */ + 'scope.camera'?: boolean + /** 是否授权获取发票,已取消此项授权,会默认返回true */ + 'scope.invoice'?: boolean + /** 是否授权发票抬头,已取消此项授权,会默认返回true */ + 'scope.invoiceTitle'?: boolean + /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */ + 'scope.record'?: boolean + /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */ + 'scope.userInfo'?: boolean + /** 是否授权地理位置,对应接口 [wx.getLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html), [wx.chooseLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) */ + 'scope.userLocation'?: boolean + /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */ + 'scope.werun'?: boolean + /** 是否授权保存到相册 [wx.saveImageToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html), [wx.saveVideoToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) */ + 'scope.writePhotosAlbum'?: boolean + } + interface AuthorizeForMiniProgramOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) + * + * 可选值: + * - 'scope.record': ; + * - 'scope.writePhotosAlbum': ; + * - 'scope.camera': ; */ + scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeForMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeForMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeForMiniProgramSuccessCallback + } + interface AuthorizeOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) */ + scope: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeSuccessCallback + } + /** 设备特征列表 */ + interface BLECharacteristic { + /** 该特征支持的操作类型 */ + properties: BLECharacteristicProperties + /** 蓝牙设备特征的 UUID */ + uuid: string + } + /** 该特征支持的操作类型 */ + interface BLECharacteristicProperties { + /** 该特征是否支持 indicate 操作 */ + indicate: boolean + /** 该特征是否支持 notify 操作 */ + notify: boolean + /** 该特征是否支持 read 操作 */ + read: boolean + /** 该特征是否支持 write 操作 */ + write: boolean + /** 该特征是否支持有回复写操作 */ + writeDefault: boolean + /** 该特征是否支持无回复写操作 */ + writeNoResponse: boolean + } + interface BLEPeripheralServerCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + /** 描述service的Object */ + interface BLEPeripheralService { + /** characteristics列表 */ + characteristics: Characteristic[] + /** 蓝牙服务的 UUID */ + uuid: string + } + /** 设备服务列表 */ + interface BLEService { + /** 该服务是否为主服务 */ + isPrimary: boolean + /** 蓝牙设备服务的 UUID */ + uuid: string + } + /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。 +* +* **示例代码** +* +* ```js +const backgroundAudioManager = wx.getBackgroundAudioManager() + +backgroundAudioManager.title = '此时此刻' +backgroundAudioManager.epname = '此时此刻' +backgroundAudioManager.singer = '许巍' +backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000' +// 设置了 src 之后会自动播放 +backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +``` */ + interface BackgroundAudioManager { + /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */ + buffered: number + /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */ + coverImgUrl: string + /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */ + currentTime: number + /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */ + duration: number + /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + epname: string + /** 当前是否暂停或停止。(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `1.9.94` + * + * 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。 */ + protocol: string + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + singer: string + /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */ + src: string + /** 音频开始播放的位置(单位:s)。 */ + startTime: number + /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */ + title: string + /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + webUrl: string + } + interface BatchGetStorageOption { + /** 本地缓存中指定的 keyList */ + keyList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchGetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchGetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchGetStorageSuccessCallback + } + interface BatchSetStorageOption { + /** { key, value } */ + kvList: IAnyObject + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchSetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchSetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchSetStorageSuccessCallback + } + /** Beacon 设备 */ + interface BeaconInfo { + /** Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 */ + accuracy: number + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** 表示设备距离的枚举值(仅iOS) + * + * 可选值: + * - 0: 信号太弱不足以计算距离,或非 iOS 设备; + * - 1: 十分近; + * - 2: 比较近; + * - 3: 远; */ + proximity: 0 | 1 | 2 | 3 + /** 表示设备的信号强度,单位 dBm */ + rssi: number + /** Beacon 设备广播的 UUID */ + uuid: string + } + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + interface BeaconInfoObj { + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** Beacon 设备广播的 UUID */ + uuid: string + /** 用于判断距离设备 1 米时 RSSI 大小的参考值 */ + measuredPower?: number + } + interface BindWifiOption { + /** 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 */ + BSSID: string + } + interface BlueToothDevice { + /** 当前蓝牙设备的信号强度,单位 dBm */ + RSSI: number + /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */ + advertisData: ArrayBuffer + /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */ + advertisServiceUUIDs: string[] + /** 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) */ + connectable: boolean + /** 蓝牙设备 id */ + deviceId: string + /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */ + localName: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */ + serviceData: IAnyObject + } + /** 搜索到的设备列表 */ + interface BluetoothDeviceInfo { + /** 用于区分设备的 id */ + deviceId: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + } + interface BlurOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BlurCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BlurFailCallback + /** 接口调用成功的回调函数 */ + success?: BlurSuccessCallback + } + interface BoundingClientRectCallbackResult { + /** 节点的下边界坐标 */ + bottom: number + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的高度 */ + height: number + /** 节点的 ID */ + id: string + /** 节点的左边界坐标 */ + left: number + /** 节点的右边界坐标 */ + right: number + /** 节点的上边界坐标 */ + top: number + /** 节点的宽度 */ + width: number + } + /** 目标边界 */ + interface BoundingClientRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + /** 需要基础库: `2.24.0` + * + * 缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力: + * + * 1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。 + * 2. 在网络通畅时,某些 wx api 调用会被缓存。 + * 3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。 + * 4. 提供进入和退出弱网/离线状态的事件。 + * + * > 1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。 + * > 2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。 */ + interface CacheManager { + /** 全局缓存有效时间 */ + maxAge: string + /** 当前缓存模式 + * + * 可选值: + * - 'weakNetwork': 默认值,弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin: string + /** 当前缓存管理器状态 + * + * 可选值: + * - 0: 不使用缓存返回; + * - 1: 使用缓存返回; + * - 2: 未知; */ + state: 0 | 1 | 2 + } + interface CameraContextStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: CameraContextStartRecordSuccessCallback + /** 需要基础库: `2.22.0` + * + * 录制时长上限,单位为秒,最长不能超过 5 分钟 */ + timeout?: number + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + timeoutCallback?: StartRecordTimeoutCallback + } + interface CameraContextStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 启动视频压缩,压缩效果同`chooseVideo` */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: CameraContextStopRecordSuccessCallback + } + interface CameraFrameListenerStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) + * + * 需要基础库: `2.25.1` + * + * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */ + worker?: Worker + } + /** 需要基础库: `2.7.0` + * + * Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。 + * + * **示例代码** + * + * 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM) + * + * WebGL 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z) */ + interface Canvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + /** @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */ + interface CanvasContext { + /** 需要基础库: `1.9.90` + * + * 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。 */ + fillStyle: string | CanvasGradient + /** 需要基础库: `1.9.90` + * + * 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。 */ + font: string + /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + globalAlpha: number + /** 需要基础库: `1.9.90` + * + * 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。 + * + * 目前支持的操作有 + * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light + * - iOS:xor, source-over, source-atop, destination-over, destination-out, lighter, multiply, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, saturation, luminosity */ + globalCompositeOperation: string + /** 需要基础库: `1.9.90` + * + * 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。 */ + lineCap: string + /** 需要基础库: `1.9.90` + * + * 虚线偏移量,初始值为0 */ + lineDashOffset: number + /** 需要基础库: `1.9.90` + * + * 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。 + * + * 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + /** 需要基础库: `1.9.90` + * + * 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。 */ + lineWidth: number + /** 需要基础库: `1.9.90` + * + * 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。 */ + miterLimit: number + /** 需要基础库: `1.9.90` + * + * 阴影的模糊级别 */ + shadowBlur: number + /** 需要基础库: `1.9.90` + * + * 阴影的颜色 */ + shadowColor: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在水平方向的偏移 */ + shadowOffsetX: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在竖直方向的偏移 */ + shadowOffsetY: number + /** 需要基础库: `1.9.90` + * + * 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。 */ + strokeStyle: string | CanvasGradient + } + interface CanvasGetImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */ + canvasId: string + /** 将要被提取的图像数据矩形区域的高度 */ + height: number + /** 将要被提取的图像数据矩形区域的宽度 */ + width: number + /** 将要被提取的图像数据矩形区域的左上角横坐标 */ + x: number + /** 将要被提取的图像数据矩形区域的左上角纵坐标 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasGetImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasGetImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasGetImageDataSuccessCallback + } + interface CanvasGetImageDataSuccessCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + errMsg: string + } + interface CanvasPutImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */ + canvasId: string + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 源图像数据矩形区域的高度 */ + height: number + /** 源图像数据矩形区域的宽度 */ + width: number + /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */ + x: number + /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasPutImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasPutImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasPutImageDataSuccessCallback + } + interface CanvasToTempFilePathOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */ + canvas?: IAnyObject + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */ + canvasId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasToTempFilePathCompleteCallback + /** 需要基础库: `1.2.0` + * + * 输出的图片的高度 */ + destHeight?: number + /** 需要基础库: `1.2.0` + * + * 输出的图片的宽度 */ + destWidth?: number + /** 接口调用失败的回调函数 */ + fail?: CanvasToTempFilePathFailCallback + /** 需要基础库: `1.7.0` + * + * 目标文件的类型 + * + * 可选值: + * - 'jpg': jpg 图片; + * - 'png': png 图片; */ + fileType?: 'jpg' | 'png' + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的高度 */ + height?: number + /** 需要基础库: `1.7.0` + * + * 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CanvasToTempFilePathSuccessCallback + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的宽度 */ + width?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角横坐标 */ + x?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角纵坐标 */ + y?: number + } + interface CanvasToTempFilePathSuccessCallbackResult { + /** 生成文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + /** characteristics列表 */ + interface Characteristic { + /** characteristic 的 UUID */ + uuid: string + /** 描述符数据 */ + descriptors?: CharacteristicDescriptor[] + /** 特征权限 */ + permission?: CharacteristicPermission + /** 特征支持的操作 */ + properties?: CharacteristicProperties + /** 特征对应的二进制值 */ + value?: ArrayBuffer + } + /** 描述符数据 */ + interface CharacteristicDescriptor { + /** Descriptor 的 UUID */ + uuid: string + /** 描述符的权限 */ + permission?: DescriptorPermission + /** 描述符数据 */ + value?: ArrayBuffer + } + /** 特征权限 */ + interface CharacteristicPermission { + /** 加密读请求 */ + readEncryptionRequired?: boolean + /** 可读 */ + readable?: boolean + /** 加密写请求 */ + writeEncryptionRequired?: boolean + /** 可写 */ + writeable?: boolean + } + /** 特征支持的操作 */ + interface CharacteristicProperties { + /** 回包 */ + indicate?: boolean + /** 订阅 */ + notify?: boolean + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + /** 无回复写 */ + writeNoResponse?: boolean + } + interface CheckIsOpenAccessibilityOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsOpenAccessibilityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsOpenAccessibilityFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsOpenAccessibilitySuccessCallback + } + interface CheckIsOpenAccessibilitySuccessCallbackOption { + /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */ + open: boolean + } + interface CheckIsSoterEnrolledInDeviceOption { + /** 认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + checkAuthMode: 'fingerPrint' | 'facial' | 'speech' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSoterEnrolledInDeviceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSoterEnrolledInDeviceFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSoterEnrolledInDeviceSuccessCallback + } + interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 是否已录入信息 */ + isEnrolled: boolean + } + interface CheckIsSupportSoterAuthenticationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSupportSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSupportSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSupportSoterAuthenticationSuccessCallback + } + interface CheckIsSupportSoterAuthenticationSuccessCallbackResult { + /** 该设备支持的可被SOTER识别的生物识别方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + supportMode: Array<'fingerPrint' | 'facial' | 'speech'> + errMsg: string + } + interface CheckSessionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckSessionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckSessionFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckSessionSuccessCallback + } + interface ChooseAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseAddressSuccessCallback + } + interface ChooseAddressSuccessCallbackResult { + /** 国标收货地址第二级地址 */ + cityName: string + /** 国标收货地址第三级地址 */ + countyName: string + /** 详细收货地址信息(包括街道地址) */ + detailInfo: string + /** 新选择器详细收货地址信息 */ + detailInfoNew: string + /** 错误信息 */ + errMsg: string + /** 收货地址国家码 */ + nationalCode: string + /** 邮编 */ + postalCode: string + /** 国标收货地址第一级地址 */ + provinceName: string + /** 国标收货地址第四级地址 */ + streetName: string + /** 收货人手机号码 */ + telNumber: string + /** 收货人姓名 */ + userName: string + } + interface ChooseContactOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseContactCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseContactFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseContactSuccessCallback + } + interface ChooseContactSuccessCallbackOption { + /** 联系人姓名 */ + displayName: string + /** 手机号 */ + phoneNumber: string + /** 选定联系人的所有手机号(部分 Android 系统只能选联系人而不能选特定手机号) */ + phoneNumberList: string + } + /** 返回选择的文件的本地临时文件对象数组 */ + interface ChooseFile { + /** 选择的文件名称 */ + name: string + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */ + time: number + /** 选择的文件类型 + * + * 可选值: + * - 'video': 选择了视频文件; + * - 'image': 选择了图片文件; + * - 'file': 选择了除图片和视频的文件; */ + type: 'video' | 'image' | 'file' + } + interface ChooseImageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseImageCompleteCallback + /** 最多可以选择的图片张数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseImageFailCallback + /** 所选的图片的尺寸 + * + * 可选值: + * - 'original': 原图; + * - 'compressed': 压缩图; */ + sizeType?: Array<'original' | 'compressed'> + /** 选择图片的来源 + * + * 可选值: + * - 'album': 从相册选图; + * - 'camera': 使用相机; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseImageSuccessCallback + } + interface ChooseImageSuccessCallbackResult { + /** 图片的本地临时文件路径列表 (本地路径) */ + tempFilePaths: string[] + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + tempFiles: ImageFile[] + errMsg: string + } + interface ChooseInvoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceSuccessCallback + } + interface ChooseInvoiceSuccessCallbackResult { + /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */ + invoiceInfo: string + errMsg: string + } + interface ChooseInvoiceTitleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceTitleSuccessCallback + } + interface ChooseInvoiceTitleSuccessCallbackResult { + /** 银行账号 */ + bankAccount: string + /** 银行名称 */ + bankName: string + /** 单位地址 */ + companyAddress: string + /** 错误信息 */ + errMsg: string + /** 抬头税号 */ + taxNumber: string + /** 手机号码 */ + telephone: string + /** 抬头名称 */ + title: string + /** 抬头类型 + * + * 可选值: + * - 0: 单位; + * - 1: 个人; */ + type: 0 | 1 + } + interface ChooseLicensePlateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLicensePlateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLicensePlateFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseLicensePlateSuccessCallback + } + interface ChooseLicensePlateSuccessCallbackResult { + /** 用户选择的车牌号 */ + plateNumber: string + errMsg: string + } + interface ChooseLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 目标地纬度 */ + latitude?: number + /** 需要基础库: `2.9.0` + * + * 目标地经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: ChooseLocationSuccessCallback + } + interface ChooseLocationSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 位置名称 */ + name: string + errMsg: string + } + interface ChooseMediaOption { + /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头 + * + * 可选值: + * - 'back': 使用后置摄像头; + * - 'front': 使用前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMediaCompleteCallback + /** 最多可以选择的文件个数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseMediaFailCallback + /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 */ + maxDuration?: number + /** 文件类型 + * + * 可选值: + * - 'image': 只能拍摄图片或从相册选择图片; + * - 'video': 只能拍摄视频或从相册选择视频; + * - 'mix': 可同时选择图片和视频; */ + mediaType?: Array<'image' | 'video' | 'mix'> + /** 仅对 mediaType 为 image 时有效,是否压缩所选文件 */ + sizeType?: string[] + /** 图片和视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择; + * - 'camera': 使用相机拍摄; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseMediaSuccessCallback + } + interface ChooseMediaSuccessCallbackResult { + /** 本地临时文件列表 */ + tempFiles: MediaFile[] + /** 文件类型,有效值有 image 、video、mix */ + type: string + errMsg: string + } + interface ChooseMessageFileOption { + /** 最多可以选择的文件个数,可以 0~100 */ + count: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMessageFileCompleteCallback + /** 需要基础库: `2.6.0` + * + * 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 */ + extension?: string[] + /** 接口调用失败的回调函数 */ + fail?: ChooseMessageFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseMessageFileSuccessCallback + /** 所选的文件的类型 + * + * 可选值: + * - 'all': 从所有文件选择; + * - 'video': 只能选择视频文件; + * - 'image': 只能选择图片文件; + * - 'file': 可以选择除了图片和视频之外的其它的文件; */ + type?: 'all' | 'video' | 'image' | 'file' + } + interface ChooseMessageFileSuccessCallbackResult { + /** 返回选择的文件的本地临时文件对象数组 */ + tempFiles: ChooseFile[] + errMsg: string + } + interface ChoosePoiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChoosePoiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChoosePoiFailCallback + /** 接口调用成功的回调函数 */ + success?: ChoosePoiSuccessCallback + } + interface ChoosePoiSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 城市名称 */ + city: number + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系(即将废弃) */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系(即将废弃) */ + longitude: number + /** 位置名称 */ + name: string + /** 选择城市时,值为 1,选择精确位置时,值为 2 */ + type: number + errMsg: string + } + interface ChooseVideoOption { + /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效 + * + * 可选值: + * - 'back': 默认拉起后置摄像头; + * - 'front': 默认拉起前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseVideoCompleteCallback + /** 需要基础库: `1.6.0` + * + * 是否压缩所选择的视频文件 */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: ChooseVideoFailCallback + /** 拍摄视频最长拍摄时间,单位秒 */ + maxDuration?: number + /** 视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择视频; + * - 'camera': 使用相机拍摄视频; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseVideoSuccessCallback + } + interface ChooseVideoSuccessCallbackResult { + /** 选定视频的时间长度 */ + duration: number + /** 返回选定视频的高度 */ + height: number + /** 选定视频的数据量大小 */ + size: number + /** 选定视频的临时文件路径 (本地路径) */ + tempFilePath: string + /** 返回选定视频的宽度 */ + width: number + errMsg: string + } + interface ClearOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearSuccessCallback + } + interface ClearStorageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearStorageSuccessCallback + } + /** 菜单按钮的布局位置信息 */ + interface ClientRect { + /** 下边界坐标,单位:px */ + bottom: number + /** 高度,单位:px */ + height: number + /** 左边界坐标,单位:px */ + left: number + /** 右边界坐标,单位:px */ + right: number + /** 上边界坐标,单位:px */ + top: number + /** 宽度,单位:px */ + width: number + } + interface CloseBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBLEConnectionSuccessCallback + } + interface CloseBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBluetoothAdapterFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBluetoothAdapterSuccessCallback + } + interface CloseFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface CloseSocketOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseSocketFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: CloseSocketSuccessCallback + } + interface CloseSyncOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色: + * + * - RGB 颜色: 如 `'rgb(255, 0, 0)'` + * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'` + * - 16 进制颜色: 如 `'#FF0000'` + * - 预定义的颜色: 如 `'red'` + * + * 其中预定义颜色有以下148个: + * *注意**: Color Name 大小写不敏感 + * + * | Color Name | HEX | + * | -------------------- | ------- | + * | AliceBlue | #F0F8FF | + * | AntiqueWhite | #FAEBD7 | + * | Aqua | #00FFFF | + * | Aquamarine | #7FFFD4 | + * | Azure | #F0FFFF | + * | Beige | #F5F5DC | + * | Bisque | #FFE4C4 | + * | Black | #000000 | + * | BlanchedAlmond | #FFEBCD | + * | Blue | #0000FF | + * | BlueViolet | #8A2BE2 | + * | Brown | #A52A2A | + * | BurlyWood | #DEB887 | + * | CadetBlue | #5F9EA0 | + * | Chartreuse | #7FFF00 | + * | Chocolate | #D2691E | + * | Coral | #FF7F50 | + * | CornflowerBlue | #6495ED | + * | Cornsilk | #FFF8DC | + * | Crimson | #DC143C | + * | Cyan | #00FFFF | + * | DarkBlue | #00008B | + * | DarkCyan | #008B8B | + * | DarkGoldenRod | #B8860B | + * | DarkGray | #A9A9A9 | + * | DarkGrey | #A9A9A9 | + * | DarkGreen | #006400 | + * | DarkKhaki | #BDB76B | + * | DarkMagenta | #8B008B | + * | DarkOliveGreen | #556B2F | + * | DarkOrange | #FF8C00 | + * | DarkOrchid | #9932CC | + * | DarkRed | #8B0000 | + * | DarkSalmon | #E9967A | + * | DarkSeaGreen | #8FBC8F | + * | DarkSlateBlue | #483D8B | + * | DarkSlateGray | #2F4F4F | + * | DarkSlateGrey | #2F4F4F | + * | DarkTurquoise | #00CED1 | + * | DarkViolet | #9400D3 | + * | DeepPink | #FF1493 | + * | DeepSkyBlue | #00BFFF | + * | DimGray | #696969 | + * | DimGrey | #696969 | + * | DodgerBlue | #1E90FF | + * | FireBrick | #B22222 | + * | FloralWhite | #FFFAF0 | + * | ForestGreen | #228B22 | + * | Fuchsia | #FF00FF | + * | Gainsboro | #DCDCDC | + * | GhostWhite | #F8F8FF | + * | Gold | #FFD700 | + * | GoldenRod | #DAA520 | + * | Gray | #808080 | + * | Grey | #808080 | + * | Green | #008000 | + * | GreenYellow | #ADFF2F | + * | HoneyDew | #F0FFF0 | + * | HotPink | #FF69B4 | + * | IndianRed | #CD5C5C | + * | Indigo | #4B0082 | + * | Ivory | #FFFFF0 | + * | Khaki | #F0E68C | + * | Lavender | #E6E6FA | + * | LavenderBlush | #FFF0F5 | + * | LawnGreen | #7CFC00 | + * | LemonChiffon | #FFFACD | + * | LightBlue | #ADD8E6 | + * | LightCoral | #F08080 | + * | LightCyan | #E0FFFF | + * | LightGoldenRodYellow | #FAFAD2 | + * | LightGray | #D3D3D3 | + * | LightGrey | #D3D3D3 | + * | LightGreen | #90EE90 | + * | LightPink | #FFB6C1 | + * | LightSalmon | #FFA07A | + * | LightSeaGreen | #20B2AA | + * | LightSkyBlue | #87CEFA | + * | LightSlateGray | #778899 | + * | LightSlateGrey | #778899 | + * | LightSteelBlue | #B0C4DE | + * | LightYellow | #FFFFE0 | + * | Lime | #00FF00 | + * | LimeGreen | #32CD32 | + * | Linen | #FAF0E6 | + * | Magenta | #FF00FF | + * | Maroon | #800000 | + * | MediumAquaMarine | #66CDAA | + * | MediumBlue | #0000CD | + * | MediumOrchid | #BA55D3 | + * | MediumPurple | #9370DB | + * | MediumSeaGreen | #3CB371 | + * | MediumSlateBlue | #7B68EE | + * | MediumSpringGreen | #00FA9A | + * | MediumTurquoise | #48D1CC | + * | MediumVioletRed | #C71585 | + * | MidnightBlue | #191970 | + * | MintCream | #F5FFFA | + * | MistyRose | #FFE4E1 | + * | Moccasin | #FFE4B5 | + * | NavajoWhite | #FFDEAD | + * | Navy | #000080 | + * | OldLace | #FDF5E6 | + * | Olive | #808000 | + * | OliveDrab | #6B8E23 | + * | Orange | #FFA500 | + * | OrangeRed | #FF4500 | + * | Orchid | #DA70D6 | + * | PaleGoldenRod | #EEE8AA | + * | PaleGreen | #98FB98 | + * | PaleTurquoise | #AFEEEE | + * | PaleVioletRed | #DB7093 | + * | PapayaWhip | #FFEFD5 | + * | PeachPuff | #FFDAB9 | + * | Peru | #CD853F | + * | Pink | #FFC0CB | + * | Plum | #DDA0DD | + * | PowderBlue | #B0E0E6 | + * | Purple | #800080 | + * | RebeccaPurple | #663399 | + * | Red | #FF0000 | + * | RosyBrown | #BC8F8F | + * | RoyalBlue | #4169E1 | + * | SaddleBrown | #8B4513 | + * | Salmon | #FA8072 | + * | SandyBrown | #F4A460 | + * | SeaGreen | #2E8B57 | + * | SeaShell | #FFF5EE | + * | Sienna | #A0522D | + * | Silver | #C0C0C0 | + * | SkyBlue | #87CEEB | + * | SlateBlue | #6A5ACD | + * | SlateGray | #708090 | + * | SlateGrey | #708090 | + * | Snow | #FFFAFA | + * | SpringGreen | #00FF7F | + * | SteelBlue | #4682B4 | + * | Tan | #D2B48C | + * | Teal | #008080 | + * | Thistle | #D8BFD8 | + * | Tomato | #FF6347 | + * | Turquoise | #40E0D0 | + * | Violet | #EE82EE | + * | Wheat | #F5DEB3 | + * | White | #FFFFFF | + * | WhiteSmoke | #F5F5F5 | + * | Yellow | #FFFF00 | + * | YellowGreen | #9ACD32 | */ + interface Color {} + interface CompressImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressImageFailCallback + /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CompressImageSuccessCallback + } + interface CompressImageSuccessCallbackResult { + /** 压缩后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface CompressVideoOption { + /** 码率,单位 kbps */ + bitrate: number + /** 帧率 */ + fps: number + /** 压缩质量 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + quality: 'low' | 'medium' | 'high' + /** 相对于原视频的分辨率比例,取值范围(0, 1] */ + resolution: number + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressVideoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressVideoFailCallback + /** 接口调用成功的回调函数 */ + success?: CompressVideoSuccessCallback + } + interface CompressVideoSuccessCallbackResult { + /** 压缩后的大小,单位 kB */ + size: string + /** 压缩后的临时文件地址 */ + tempFilePath: string + errMsg: string + } + interface ConnectSocketOption { + /** 开发者服务器 wss 接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectSocketFailCallback + /** HTTP Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 需要基础库: `2.8.0` + * + * 是否开启压缩扩展 */ + perMessageDeflate?: boolean + /** 需要基础库: `1.4.0` + * + * 子协议数组 */ + protocols?: string[] + /** 接口调用成功的回调函数 */ + success?: ConnectSocketSuccessCallback + /** 需要基础库: `2.4.0` + * + * 建立 TCP 连接的时候的 TCP_NODELAY 设置 */ + tcpNoDelay?: boolean + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface ConnectWifiOption { + /** Wi-Fi 设备 SSID */ + SSID: string + /** Wi-Fi 设备密码 */ + password: string + /** Wi-Fi 设备 BSSID */ + BSSID?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectWifiFailCallback + /** 需要基础库: `2.12.0` + * + * 跳转到系统设置页进行连接 */ + maunal?: boolean + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息,仅安卓生效 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: ConnectWifiSuccessCallback + } + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + interface Constraints { + /** 如果指定为true则禁用标准化,默认为false */ + disableNormalization?: boolean + } + interface ContextCallbackResult { + /** 节点对应的 Context 对象 */ + context: IAnyObject + } + interface CopyFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, copyFile ${srcPath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, copyFile ${srcPath} -> ${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface CopyFileOption { + /** 目标文件路径,支持本地路径 */ + destPath: string + /** 源文件路径,支持本地路径 */ + srcPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CopyFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CopyFileFailCallback + /** 接口调用成功的回调函数 */ + success?: CopyFileSuccessCallback + } + interface CreateBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEConnectionSuccessCallback + /** 超时时间,单位 ms,不填表示不会超时 */ + timeout?: number + } + interface CreateBLEPeripheralServerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEPeripheralServerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEPeripheralServerFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEPeripheralServerSuccessCallback + } + interface CreateBLEPeripheralServerSuccessCallbackResult { + /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html) + * + * 外围设备的服务端。 */ + server: BLEPeripheralServer + errMsg: string + } + interface CreateCacheManagerOption { + /** 额外的缓存处理 */ + extra?: ExtraOption + /** 全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天 */ + maxAge?: number + /** 缓存模式 + * + * 可选值: + * - 'weakNetwork': 弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode?: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin?: string + } + interface CreateInnerAudioContextOption { + /** 需要基础库: `2.19.0` + * + * 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项。 */ + useWebAudioImplement?: boolean + } + /** 选项 */ + interface CreateIntersectionObserverOption { + /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */ + initialRatio?: number + /** 需要基础库: `2.0.0` + * + * 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能) */ + observeAll?: boolean + /** 一个数值数组,包含所有阈值。 */ + thresholds?: number[] + } + interface CreateInterstitialAdOption { + /** 广告单元 id */ + adUnitId: string + } + interface CreateMediaRecorderOption { + /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */ + duration?: number + /** 视频 fps */ + fps?: number + /** 视频关键帧间隔 */ + gop?: number + /** 视频比特率(kbps),最小值 600,最大值 3000 */ + videoBitsPerSecond?: number + } + interface CreateOffscreenCanvasOption { + /** 在自定义组件下,当前组件实例的 this */ + compInst?: Component.TrivialInstance | Page.TrivialInstance + /** 画布高度 */ + height?: number + /** 创建的离屏 canvas 类型 + * + * 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + type?: 'webgl' | '2d' + /** 画布宽度 */ + width?: number + } + interface CreateRewardedVideoAdOption { + /** 广告单元 id */ + adUnitId: string + /** 需要基础库: `2.8.0` + * + * 是否启用多例模式,默认为false */ + multiton?: boolean + } + /** 可选参数 */ + interface CreateWorkerOption { + /** 需要基础库: `2.13.0` + * + * 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 */ + useExperimentalWorker?: boolean + } + interface CurrentState { + /** 当前缓存中的日志条数 */ + logCount: number + /** 当前缓存中最大可存日志条数 */ + maxLogCount: number + /** 当前缓存最大可用空间,以字节为单位 */ + maxSize: number + /** 当前缓存中已使用空间,以字节为单位 */ + size: number + } + /** 弹幕内容 */ + interface Danmu { + /** 弹幕文字 */ + text: string + /** 弹幕颜色 */ + color?: string + } + /** 可选的字体描述符 */ + interface DescOption { + /** 字体样式,可选值为 normal / italic / oblique */ + style?: string + /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */ + variant?: string + /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */ + weight?: string + } + /** 描述符的权限 */ + interface DescriptorPermission { + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + } + /** 指定 marker 移动到的目标点 */ + interface DestinationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + interface DetectFaceOption { + /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。 + * + * 可选值: + * - 0: 小模型; + * - 1: 中模型; + * - 2: 大模型; */ + modelModel?: 0 | 1 | 2 + /** 评分阈值。正常情况传入 0.8 即可。 */ + scoreThreshold?: number + /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果 + * + * 可选值: + * - 1: 表示输入的图片是随机的图片; + * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */ + sourceType?: 1 | 0 + } + interface DeviceInfo { + /** 应用(微信APP)二进制接口类型(仅 Android 支持) */ + abi: string + /** 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 设备品牌 */ + brand: string + /** 需要基础库: `2.25.1` + * + * 设备二进制接口类型(仅 Android 支持) */ + deviceAbi: string + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 客户端平台 */ + platform: string + /** 操作系统及版本 */ + system: string + } + interface DisableAlertBeforeUnloadOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DisableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DisableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: DisableAlertBeforeUnloadSuccessCallback + } + interface DownloadFileOption { + /** 下载资源的 url */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DownloadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DownloadFileFailCallback + /** 需要基础库: `1.8.0` + * + * 指定文件下载后存储的路径 (本地路径) */ + filePath?: string + /** HTTP 请求的 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: DownloadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface DownloadFileSuccessCallbackResult { + /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */ + filePath: string + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */ + tempFilePath: string + errMsg: string + } + interface DownloadTaskOnProgressUpdateListenerResult { + /** 下载进度百分比 */ + progress: number + /** 预期需要下载的数据总长度,单位 Bytes */ + totalBytesExpectedToWrite: number + /** 已经下载的数据长度,单位 Bytes */ + totalBytesWritten: number + } + interface EditImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EditImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EditImageFailCallback + /** 接口调用成功的回调函数 */ + success?: EditImageSuccessCallback + } + interface EditImageSuccessCallbackResult { + /** 编辑后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface EnableAlertBeforeUnloadOption { + /** 询问对话框内容 */ + message: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EnableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EnableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: EnableAlertBeforeUnloadSuccessCallback + } + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + interface EntriesResult { + /** 文件路径 */ + [path: string]: ZipFileItem + } + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + interface EntryItem { + /** 压缩包内文件路径 */ + path: string + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + } + interface Err { + /** 错误信息 */ + errMsg: string + /** 需要基础库: `2.24.0` + * + * errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/miniprogram/dev/framework/usability/PublicErrno.html) */ + errno: number + } + interface ExitFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitFullScreenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitFullScreenSuccessCallback + } + interface ExitMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitMiniProgramSuccessCallback + } + interface ExitPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitPictureInPictureSuccessCallback + } + interface ExitVoIPChatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitVoIPChatFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitVoIPChatSuccessCallback + } + /** 客服信息 */ + interface ExtInfoOption { + /** 客服链接 */ + url: string + } + /** 额外的缓存处理 */ + interface ExtraOption { + /** 需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分 + * + * 可选值: + * - 'wx.login': ; + * - 'wx.checkSession': ; + * - 'wx.getSetting': ; */ + apiList?: Array<'wx.login' | 'wx.checkSession' | 'wx.getSetting'> + } + interface ExtractDataSourceOption { + /** 视频源地址,只支持本地文件 */ + source: string + } + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + interface FaceAngel { + /** 仰俯角(点头) */ + pitch: number + /** 翻滚角(左右倾) */ + roll: number + /** 偏航角(摇头) */ + yaw: number + } + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + interface FaceConf { + /** 整体可信度 */ + global: number + /** 左眼可信度 */ + leftEye: number + /** 嘴巴可信度 */ + mouth: number + /** 鼻子可信度 */ + nose: number + /** 右眼可信度 */ + rightEye: number + } + interface FaceDetectOption { + /** 图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FaceDetectCompleteCallback + /** 是否返回当前图像的人脸角度信息 */ + enableAngle?: boolean + /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) */ + enableConf?: boolean + /** 是否返回多张人脸的信息 */ + enableMultiFace?: boolean + /** 是否返回当前图像的人脸(106 个点) */ + enablePoint?: boolean + /** 接口调用失败的回调函数 */ + fail?: FaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: FaceDetectSuccessCallback + } + interface FaceDetectSuccessCallbackResult { + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + angleArray: FaceAngel + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + confArray: FaceConf + /** 脸部方框数值,对象包含 height, weight, originX, originY 四个属性 (origin 为方框左上角坐标) */ + detectRect: IAnyObject + /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */ + faceInfo: IAnyObject[] + /** 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y */ + pointArray: IAnyObject[] + /** 脸部中心点横坐标,检测不到人脸则为 -1 */ + x: number + /** 脸部中心点纵坐标,检测不到人脸则为 -1 */ + y: number + errMsg: string + } + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + interface FaceTrack { + /** 需要基础库: `2.25.0` + * + * 人脸检测模式 + * + * 可选值: + * - 1: 静态图片检测; + * - 2: 通过摄像头实时检测; */ + mode: 1 | 2 + } + interface Fields { + /** 需要基础库: `2.1.0` + * + * 指定样式名列表,返回节点对应样式名的当前值 */ + computedStyle?: string[] + /** 需要基础库: `2.4.2` + * + * 是否返回节点对应的 Context 对象 */ + context?: boolean + /** 是否返回节点 dataset */ + dataset?: boolean + /** 是否返回节点 id */ + id?: boolean + /** 是否返回节点 mark */ + mark?: boolean + /** 需要基础库: `2.7.0` + * + * 是否返回节点对应的 Node 实例 */ + node?: boolean + /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */ + properties?: string[] + /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */ + rect?: boolean + /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */ + scrollOffset?: boolean + /** 是否返回节点尺寸(`width` `height`) */ + size?: boolean + } + interface FileItem { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */ + createTime: number + /** 文件路径 (本地路径) */ + filePath: string + /** 本地文件大小,以字节为单位 */ + size: number + } + interface FileSystemManagerCloseOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface FileSystemManagerGetFileInfoOption { + /** 要读取的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetFileInfoSuccessCallback + } + interface FileSystemManagerGetFileInfoSuccessCallbackResult { + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface FileSystemManagerGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetSavedFileListSuccessCallback + } + interface FileSystemManagerGetSavedFileListSuccessCallbackResult { + /** 文件数组 */ + fileList: FileItem[] + errMsg: string + } + interface FileSystemManagerRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface FileSystemManagerSaveFileOption { + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerSaveFileFailCallback + /** 要存储的文件路径 (本地路径) */ + filePath?: string + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + interface ForwardMaterials { + /** 文件名 */ + name: string + /** 文件路径(如果是webview则是url) */ + path: string + /** 文件大小 */ + size: number + /** 文件的mimetype类型 */ + type: string + } + /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */ + interface FrameDataOptions { + /** 帧数据 */ + data: ArrayBuffer + /** 帧数据高度 */ + height: number + /** 帧原始 dts */ + pkDts: number + /** 帧原始 pts */ + pkPts: number + /** 帧数据宽度 */ + width: number + } + interface FromScreenLocationOption { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FromScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FromScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: FromScreenLocationSuccessCallback + } + interface FstatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; */ + errMsg: string + } + interface FstatOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FstatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FstatFailCallback + /** 接口调用成功的回调函数 */ + success?: FstatSuccessCallback + } + interface FstatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) + * + * Stats 对象,包含了文件的状态信息 */ + stats: Stats + errMsg: string + } + interface FstatSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + interface FtruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface FtruncateOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FtruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FtruncateFailCallback + /** 接口调用成功的回调函数 */ + success?: FtruncateSuccessCallback + } + interface FtruncateSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + } + interface GeneralCallbackResult { + /** 错误信息 */ + errMsg: string + } + interface GetAtqaOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAtqaCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAtqaFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAtqaSuccessCallback + } + interface GetAtqaSuccessCallbackResult { + /** 返回 ATQA/SENS_RES 数据 */ + atqa: ArrayBuffer + errMsg: string + } + interface GetAvailableAudioSourcesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAvailableAudioSourcesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAvailableAudioSourcesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAvailableAudioSourcesSuccessCallback + } + interface GetAvailableAudioSourcesSuccessCallbackResult { + /** 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSources: Array< + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + > + errMsg: string + } + interface GetBLEDeviceCharacteristicsOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceCharacteristicsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceCharacteristicsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceCharacteristicsSuccessCallback + } + interface GetBLEDeviceCharacteristicsSuccessCallbackResult { + /** 设备特征列表 */ + characteristics: BLECharacteristic[] + errMsg: string + } + interface GetBLEDeviceRSSIOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceRSSICompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceRSSIFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceRSSISuccessCallback + } + interface GetBLEDeviceRSSISuccessCallbackResult { + /** 信号强度,单位 dBm */ + RSSI: number + errMsg: string + } + interface GetBLEDeviceServicesOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceServicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceServicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceServicesSuccessCallback + } + interface GetBLEDeviceServicesSuccessCallbackResult { + /** 设备服务列表 */ + services: BLEService[] + errMsg: string + } + interface GetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEMTUSuccessCallback + /** 写模式 (iOS 特有参数) + * + * 可选值: + * - 'write': 有回复写; + * - 'writeNoResponse': 无回复写; */ + writeType?: 'write' | 'writeNoResponse' + } + interface GetBLEMTUSuccessCallbackResult { + /** 最大传输单元 */ + mtu: number + errMsg: string + } + interface GetBackgroundAudioPlayerStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundAudioPlayerStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundAudioPlayerStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundAudioPlayerStateSuccessCallback + } + interface GetBackgroundAudioPlayerStateSuccessCallbackResult { + /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */ + currentPosition: number + /** 歌曲数据链接,只有在音乐播放中时返回 */ + dataUrl: string + /** 音频的下载进度百分比,只有在音乐播放中时返回 */ + downloadPercent: number + /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */ + duration: number + /** 播放状态 + * + * 可选值: + * - 0: 暂停中; + * - 1: 播放中; + * - 2: 没有音乐播放; */ + status: 0 | 1 | 2 + errMsg: string + } + interface GetBackgroundFetchDataOption { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchDataSuccessCallback + } + interface GetBackgroundFetchDataSuccessCallbackResult { + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳。(注:安卓 timeStamp 单位是 ms,iOS timeStamp 单位是 s) */ + timeStamp: number + errMsg: string + } + interface GetBackgroundFetchTokenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchTokenSuccessCallback + } + interface GetBackgroundFetchTokenSuccessCallbackResult { + /** 接口调用结果 */ + errMsg: string + /** 自定义的登录态 */ + token: number + } + interface GetBatteryInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBatteryInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBatteryInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBatteryInfoSuccessCallback + } + interface GetBatteryInfoSuccessCallbackResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + errMsg: string + } + interface GetBatteryInfoSyncResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + } + interface GetBeaconsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBeaconsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBeaconsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBeaconsSuccessCallback + } + interface GetBeaconsSuccessCallbackResult { + /** Beacon 设备列表 */ + beacons: BeaconInfo[] + errMsg: string + } + interface GetBluetoothAdapterStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothAdapterStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothAdapterStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothAdapterStateSuccessCallback + } + interface GetBluetoothAdapterStateSuccessCallbackResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 是否正在搜索设备 */ + discovering: boolean + errMsg: string + } + interface GetBluetoothDevicesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothDevicesSuccessCallback + } + interface GetBluetoothDevicesSuccessCallbackResult { + /** UUID 对应的已连接设备列表 */ + devices: BlueToothDevice[] + errMsg: string + } + interface GetCenterLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetCenterLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetCenterLocationFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: GetCenterLocationSuccessCallback + } + interface GetCenterLocationSuccessCallbackResult { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + errMsg: string + } + interface GetChannelsLiveInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveInfoSuccessCallback + } + interface GetChannelsLiveInfoSuccessCallbackResult { + /** 直播主题 */ + description: string + /** 直播 feedId */ + feedId: string + /** 视频号头像 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 直播 nonceId */ + nonceId: string + /** 直播状态,2直播中,3直播结束 */ + status: number + errMsg: string + } + interface GetChannelsLiveNoticeInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveNoticeInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveNoticeInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveNoticeInfoSuccessCallback + } + interface GetChannelsLiveNoticeInfoSuccessCallbackResult { + /** 直播封面 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 预告 id */ + noticeId: string + /** 需要基础库: `2.24.6` + * + * 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 */ + otherInfos: any[] + /** 是否可预约 */ + reservable: boolean + /** 开始时间 */ + startTime: string + /** 预告状态:0可用 1取消 2已用 */ + status: number + errMsg: string + } + interface GetChannelsShareKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsShareKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsShareKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsShareKeySuccessCallback + } + interface GetChannelsShareKeySuccessCallbackResult { + /** 推广员 */ + promoter: PromoterResult + /** 分享者 openid */ + sharerOpenId: string + errMsg: string + } + interface GetClipboardDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetClipboardDataSuccessCallback + } + interface GetClipboardDataSuccessCallbackOption { + /** 剪贴板的内容 */ + data: string + } + interface GetConnectedBluetoothDevicesOption { + /** 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) */ + services: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetConnectedBluetoothDevicesSuccessCallback + } + interface GetConnectedBluetoothDevicesSuccessCallbackResult { + /** 搜索到的设备列表 */ + devices: BluetoothDeviceInfo[] + errMsg: string + } + interface GetConnectedWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedWifiFailCallback + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: GetConnectedWifiSuccessCallback + } + interface GetConnectedWifiSuccessCallbackResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + errMsg: string + } + interface GetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetContentsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetContentsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetContentsSuccessCallback + } + interface GetContentsSuccessCallbackResult { + /** 表示内容的delta对象 */ + delta: IAnyObject + /** 带标签的HTML内容 */ + html: string + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetExtConfigOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetExtConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetExtConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: GetExtConfigSuccessCallback + } + interface GetExtConfigSuccessCallbackResult { + /** 第三方平台自定义的数据 */ + extConfig: IAnyObject + errMsg: string + } + interface GetFileInfoFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 filePath 找不到文件; */ + errMsg: string + } + interface GetFuzzyLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFuzzyLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetFuzzyLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: GetFuzzyLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetFuzzyLocationSuccessCallbackResult { + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + errMsg: string + } + interface GetGroupEnterInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetGroupEnterInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetGroupEnterInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetGroupEnterInfoSuccessCallback + } + interface GetGroupEnterInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + } + interface GetHCEStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHCEStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHCEStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHCEStateSuccessCallback + } + interface GetHistoricalBytesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHistoricalBytesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHistoricalBytesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHistoricalBytesSuccessCallback + } + interface GetHistoricalBytesSuccessCallbackResult { + /** 返回历史二进制数据 */ + histBytes: ArrayBuffer + errMsg: string + } + interface GetImageInfoOption { + /** 图片的路径,支持网络路径、本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetImageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetImageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetImageInfoSuccessCallback + } + interface GetImageInfoSuccessCallbackResult { + /** 图片原始高度,单位px。不考虑旋转。 */ + height: number + /** 需要基础库: `1.9.90` + * + * [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html) + * + * 可选值: + * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。; + * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2; + * - 'down': 旋转180度,对应 Exif 中的 3; + * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4; + * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5; + * - 'right': 顺时针旋转90度,对应 Exif 中的 6; + * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7; + * - 'left': 逆时针旋转90度,对应 Exif 中的 8; */ + orientation: + | 'up' + | 'up-mirrored' + | 'down' + | 'down-mirrored' + | 'left-mirrored' + | 'right' + | 'right-mirrored' + | 'left' + /** 图片的本地路径 */ + path: string + /** 需要基础库: `1.9.90` + * + * 图片格式 + * + * 可选值: + * - 'unknown': 未知格式; + * - 'jpeg': jpeg压缩格式; + * - 'png': png压缩格式; + * - 'gif': gif压缩格式; + * - 'tiff': tiff压缩格式; */ + type: 'unknown' | 'jpeg' | 'png' | 'gif' | 'tiff' + /** 图片原始宽度,单位px。不考虑旋转。 */ + width: number + errMsg: string + } + interface GetLatestUserKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLatestUserKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLatestUserKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLatestUserKeySuccessCallback + } + interface GetLatestUserKeySuccessCallbackResult { + /** 用户加密密钥 */ + encryptKey: string + /** 密钥过期时间 */ + expireTime: number + /** 密钥初始向量 */ + iv: string + /** 密钥版本 */ + version: number + errMsg: string + } + interface GetLocalIPAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocalIPAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocalIPAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLocalIPAddressSuccessCallback + } + interface GetLocalIPAddressSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 本机局域网IP地址 */ + localip: string + /** 本机局域网子网掩码,基础库 2.24.0 开始支持 */ + netmask: string + } + interface GetLocationOption { + /** 需要基础库: `1.6.0` + * + * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */ + altitude?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */ + highAccuracyExpireTime?: number + /** 需要基础库: `2.9.0` + * + * 开启高精度定位 */ + isHighAccuracy?: boolean + /** 接口调用成功的回调函数 */ + success?: GetLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetLocationSuccessCallbackResult { + /** 位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + errMsg: string + } + interface GetLogManagerOption { + /** 需要基础库: `2.3.2` + * + * 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 */ + level?: number + } + interface GetMaxTransceiveLengthOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetMaxTransceiveLengthCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetMaxTransceiveLengthFailCallback + /** 接口调用成功的回调函数 */ + success?: GetMaxTransceiveLengthSuccessCallback + } + interface GetMaxTransceiveLengthSuccessCallbackResult { + /** 最大传输长度 */ + length: number + errMsg: string + } + interface GetNetworkTypeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetNetworkTypeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetNetworkTypeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetNetworkTypeSuccessCallback + } + interface GetNetworkTypeSuccessCallbackResult { + /** 需要基础库: `2.22.1` + * + * 设备是否使用了网络代理 */ + hasSystemProxy: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + /** 信号强弱,单位 dbm */ + signalStrength: number + errMsg: string + } + interface GetRandomValuesOption { + /** 整数,生成随机数的字节数,最大 1048576 */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRandomValuesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRandomValuesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRandomValuesSuccessCallback + } + interface GetRandomValuesSuccessCallbackResult { + /** 随机数内容,长度为传入的字节数 */ + randomValues: ArrayBuffer + errMsg: string + } + interface GetRegionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRegionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRegionFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRegionSuccessCallback + } + interface GetRegionSuccessCallbackResult { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + errMsg: string + } + interface GetRotateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRotateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRotateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRotateSuccessCallback + } + interface GetRotateSuccessCallbackResult { + /** 旋转角 */ + rotate: number + errMsg: string + } + interface GetSakOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSakCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSakFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSakSuccessCallback + } + interface GetSakSuccessCallbackResult { + /** 返回 SAK/SEL_RES 数据 */ + sak: number + errMsg: string + } + interface GetSavedFileInfoOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSavedFileInfoSuccessCallback + } + interface GetSavedFileInfoSuccessCallbackResult { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到该时刻的秒数 */ + createTime: number + /** 文件大小,单位 B */ + size: number + errMsg: string + } + interface GetScaleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScaleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScaleFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScaleSuccessCallback + } + interface GetScaleSuccessCallbackResult { + /** 缩放值 */ + scale: number + errMsg: string + } + interface GetScreenBrightnessOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenBrightnessSuccessCallback + } + interface GetScreenBrightnessSuccessCallbackOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */ + value: number + } + interface GetScreenRecordingStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenRecordingStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenRecordingStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenRecordingStateSuccessCallback + } + interface GetScreenRecordingStateSuccessCallbackResult { + /** 录屏状态 + * + * 可选值: + * - 'on': 开启; + * - 'off': 关闭; */ + state: 'on' | 'off' + errMsg: string + } + interface GetSelectedTextRangeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectedTextRangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectedTextRangeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectedTextRangeSuccessCallback + } + interface GetSelectedTextRangeSuccessCallbackResult { + /** 输入框光标结束位置 */ + end: number + /** 输入框光标起始位置 */ + start: number + errMsg: string + } + interface GetSelectionTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectionTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectionTextFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectionTextSuccessCallback + } + interface GetSelectionTextSuccessCallbackResult { + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSettingSuccessCallback + /** 需要基础库: `2.10.1` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface GetSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.1` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 在插件中调用时,当前宿主小程序的用户授权结果 */ + miniprogramAuthSetting?: AuthSetting + errMsg: string + } + interface GetShareInfoOption { + /** shareTicket */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetShareInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetShareInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetShareInfoSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位 ms */ + timeout?: number + } + interface GetSkewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSkewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSkewFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSkewSuccessCallback + } + interface GetSkewSuccessCallbackResult { + /** 倾斜角 */ + skew: number + errMsg: string + } + interface GetStorageInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetStorageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageInfoSuccessCallback + } + interface GetStorageInfoSuccessCallbackOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageInfoSyncOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageOption<T = any> { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 getStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 解密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: GetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageSuccessCallback<T> + } + interface GetStorageSuccessCallbackResult<T = any> { + /** key对应的内容 */ + data: T + errMsg: string + } + interface GetSystemInfoAsyncOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoAsyncCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoAsyncFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoAsyncSuccessCallback + } + interface GetSystemInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoSuccessCallback + } + interface GetUserInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserInfoFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserInfoSuccessCallback + /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */ + withCredentials?: boolean + } + interface GetUserInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 用户信息对象,不包含 openid 等敏感信息 */ + userInfo: UserInfo + errMsg: string + } + interface GetUserProfileOption { + /** 声明获取用户个人信息后的用途,不超过30个字符 */ + desc: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserProfileFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserProfileSuccessCallback + } + interface GetUserProfileSuccessCallbackResult { + userName: {} | undefined + code: any + /** 需要基础库: `2.10.4` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 需要基础库: `2.10.4` + * + * 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 需要基础库: `2.10.4` + * + * 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 需要基础库: `2.10.4` + * + * 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 需要基础库: `2.10.4` + * + * 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 需要基础库: `2.10.4` + * + * 用户信息对象 */ + userInfo: UserInfo + errMsg: string + } + interface GetVideoInfoOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetVideoInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetVideoInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetVideoInfoSuccessCallback + } + interface GetVideoInfoSuccessCallbackResult { + /** 视频码率,单位 kbps */ + bitrate: number + /** 视频长度 */ + duration: number + /** 视频帧率 */ + fps: number + /** 视频的长,单位 px */ + height: number + /** 画面方向 + * + * 可选值: + * - 'up': 默认; + * - 'down': 180度旋转; + * - 'left': 逆时针旋转90度; + * - 'right': 顺时针旋转90度; + * - 'up-mirrored': 同up,但水平翻转; + * - 'down-mirrored': 同down,但水平翻转; + * - 'left-mirrored': 同left,但垂直翻转; + * - 'right-mirrored': 同right,但垂直翻转; */ + orientation: + | 'up' + | 'down' + | 'left' + | 'right' + | 'up-mirrored' + | 'down-mirrored' + | 'left-mirrored' + | 'right-mirrored' + /** 视频大小,单位 kB */ + size: number + /** 视频格式 */ + type: string + /** 视频的宽,单位 px */ + width: number + errMsg: string + } + interface GetWeRunDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWeRunDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWeRunDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWeRunDataSuccessCallback + } + interface GetWeRunDataSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */ + encryptedData: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + errMsg: string + } + interface GetWifiListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWifiListSuccessCallback + } + interface HideHomeButtonOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideHomeButtonCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideHomeButtonFailCallback + /** 接口调用成功的回调函数 */ + success?: HideHomeButtonSuccessCallback + } + interface HideKeyboardOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideKeyboardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideKeyboardFailCallback + /** 接口调用成功的回调函数 */ + success?: HideKeyboardSuccessCallback + } + interface HideLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideLoadingFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: boolean + /** 接口调用成功的回调函数 */ + success?: HideLoadingSuccessCallback + } + interface HideNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: HideNavigationBarLoadingSuccessCallback + } + interface HideShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: HideShareMenuSuccessCallback + } + interface HideTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarSuccessCallback + } + interface HideTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarRedDotSuccessCallback + } + interface HideToastOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideToastCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideToastFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: number + /** 接口调用成功的回调函数 */ + success?: HideToastSuccessCallback + } + /** 检测结果 */ + interface HitTestRes { + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + } + /** 需要基础库: `2.7.0` + * + * 图片对象 */ + interface Image { + /** 图片的真实高度 */ + height: number + /** 图片加载发生错误后触发的回调函数 */ + onerror: (...args: any[]) => any + /** 图片加载完成后触发的回调函数 */ + onload: (...args: any[]) => any + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */ + src: string + /** 图片的真实宽度 */ + width: number + } + /** 需要基础库: `2.9.0` + * + * ImageData 对象 */ + interface ImageData { + /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */ + data: Uint8ClampedArray + /** 使用像素描述 ImageData 的实际高度 */ + height: number + /** 使用像素描述 ImageData 的实际宽度 */ + width: number + } + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + interface ImageFile { + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + } + interface IncludePointsOption { + /** 要显示在可视区域内的坐标点列表 */ + points: MapPostion[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IncludePointsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IncludePointsFailCallback + /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左],安卓上只能识别数组第一项,上下左右的padding一致。开发者工具暂不支持padding参数。 */ + padding?: number[] + /** 接口调用成功的回调函数 */ + success?: IncludePointsSuccessCallback + } + interface InitFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InitFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: InitFaceDetectSuccessCallback + } + interface InitMarkerClusterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitMarkerClusterCompleteCallback + /** 启用默认的聚合样式 */ + enableDefaultStyle?: boolean + /** 接口调用失败的回调函数 */ + fail?: InitMarkerClusterFailCallback + /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */ + gridSize?: boolean + /** 接口调用成功的回调函数 */ + success?: InitMarkerClusterSuccessCallback + /** 点击已经聚合的标记点时是否实现聚合分离 */ + zoomOnClick?: boolean + } + /** InnerAudioContext 实例,可通过 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 接口获取实例。注意,音频播放过程中,可能被系统中断,可通过 [wx.onAudioInterruptionBegin](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)、[wx.onAudioInterruptionEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件来处理这种情况。 +* +* **支持格式** +* +* | 格式 | iOS | Android | +* | ---- | ---- | ------- | +* | flac | x | √ | +* | m4a | √ | √ | +* | ogg | x | √ | +* | ape | x | √ | +* | amr | x | √ | +* | wma | x | √ | +* | wav | √ | √ | +* | mp3 | √ | √ | +* | mp4 | x | √ | +* | aac | √ | √ | +* | aiff | √ | x | +* | caf | √ | x | +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext() +innerAudioContext.autoplay = true +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +innerAudioContext.onPlay(() => { + console.log('开始播放') +}) +innerAudioContext.onError((res) => { + console.log(res.errMsg) + console.log(res.errCode) +}) +``` */ + interface InnerAudioContext { + /** 是否自动开始播放,默认为 `false` */ + autoplay: boolean + /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */ + buffered: number + /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) */ + currentTime: number + /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */ + duration: number + /** 是否循环播放,默认为 `false` */ + loop: boolean + /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */ + obeyMuteSwitch: boolean + /** 当前是是否暂停或停止状态(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */ + src: string + /** 开始播放的位置(单位:s),默认为 0 */ + startTime: number + /** 需要基础库: `1.9.90` + * + * 音量。范围 0~1。默认为 1 */ + volume: number + } + interface InnerAudioContextOnErrorListenerResult { + /** 可选值: + * - 10001: 系统错误; + * - 10002: 网络错误; + * - 10003: 文件错误; + * - 10004: 格式错误; + * - -1: 未知错误; */ + errCode: 10001 | 10002 | 10003 | 10004 | -1 + errMsg: string + } + interface InsertDividerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertDividerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertDividerFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertDividerSuccessCallback + } + interface InsertImageOption { + /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */ + src: string + /** 图像无法显示时的替代文本 */ + alt?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertImageCompleteCallback + /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */ + data?: IAnyObject + /** 添加到图片 img 标签上的类名 */ + extClass?: string + /** 接口调用失败的回调函数 */ + fail?: InsertImageFailCallback + /** 图片高度 (pixels/百分比) */ + height?: string + /** 插入图片后是否自动换行,默认换行 */ + nowrap?: boolean + /** 接口调用成功的回调函数 */ + success?: InsertImageSuccessCallback + /** 图片宽度(pixels/百分比) */ + width?: string + } + interface InsertTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertTextFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertTextSuccessCallback + /** 文本内容 */ + text?: string + } + interface IntersectionObserverObserveCallbackResult { + /** 目标边界 */ + boundingClientRect: BoundingClientRectResult + /** 节点自定义数据属性 */ + dataset: Record<string, any> + /** 节点 ID */ + id: string + /** 相交比例 */ + intersectionRatio: number + /** 相交区域的边界 */ + intersectionRect: IntersectionRectResult + /** 参照区域的边界 */ + relativeRect: RelativeRectResult + /** 相交检测时的时间戳 */ + time: number + } + /** 相交区域的边界 */ + interface IntersectionRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + interface InterstitialAdOnErrorListenerResult { + /** 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface IsBluetoothDevicePairedOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsBluetoothDevicePairedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsBluetoothDevicePairedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsBluetoothDevicePairedSuccessCallback + } + interface IsConnectedOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsConnectedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsConnectedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsConnectedSuccessCallback + } + interface Join1v1ChatOption { + /** 呼叫方信息 */ + caller: VoIP1v1ChatUser + /** 接听方信息 */ + listener: VoIP1v1ChatUser + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: Join1v1ChatCompleteCallback + /** 不允许切换到语音通话 */ + disableSwitchVoice?: boolean + /** 接口调用失败的回调函数 */ + fail?: Join1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 通话类型 + * + * 可选值: + * - 'voice': 语音通话; + * - 'video': 视频通话; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: Join1v1ChatSuccessCallback + } + interface JoinVoIPChatOption { + /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */ + groupId: string + /** 验证所需的随机字符串 */ + nonceStr: string + /** 签名,用于验证小游戏的身份 */ + signature: string + /** 验证所需的时间戳 */ + timeStamp: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: JoinVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: JoinVoIPChatFailCallback + /** 静音设置 */ + muteConfig?: MuteConfig + /** 房间类型 + * + * 可选值: + * - 'voice': 音频房间,用于语音通话; + * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: JoinVoIPChatSuccessCallback + } + interface JoinVoIPChatSuccessCallbackResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 在此通话中的成员 openId 名单 */ + openIdList: string[] + } + interface KVArray { + /** key 本地缓存中指定的 key */ + key: string + /** data 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + value: any + } + /** 启动参数 */ + interface LaunchOptionsApp { + /** 需要基础库: `2.20.0` + * + * API 类别 + * + * 可选值: + * - 'default': 默认类别; + * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序; + * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序; + * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */ + apiCategory: + | 'default' + | 'nativeFunctionalized' + | 'browseOnly' + | 'embedded' + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + forwardMaterials: ForwardMaterials[] + /** 启动小程序的路径 (代码包路径) */ + path: string + /** 启动小程序的 query 参数 */ + query: IAnyObject + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + referrerInfo: ReferrerInfo + /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */ + scene: number + /** 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 + * + * 可选值: + * - 1: 微信联系人单聊; + * - 2: 企业微信联系人单聊; + * - 3: 普通微信群聊; + * - 4: 企业微信互通群聊; */ + chatType?: 1 | 2 | 3 | 4 + /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket?: string + } + interface LivePlayerContextRequestFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestFullScreenCompleteCallback + /** 设置全屏时的方向 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + /** 接口调用失败的回调函数 */ + fail?: RequestFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestFullScreenSuccessCallback + } + interface LivePlayerContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePlayerContextSnapshotSuccessCallback + } + interface LivePlayerContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 (本地路径) */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePusherContextSnapshotSuccessCallback + } + interface LivePusherContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + } + interface LoadFontFaceCompleteCallbackResult { + /** 加载字体结果 */ + status: string + } + interface LoadFontFaceOption { + /** 定义的字体名称 */ + family: string + /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */ + source: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoadFontFaceCompleteCallback + /** 可选的字体描述符 */ + desc?: DescOption + /** 接口调用失败的回调函数 */ + fail?: LoadFontFaceFailCallback + /** 需要基础库: `2.10.0` + * + * 是否全局生效 */ + global?: boolean + /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */ + scopes?: any[] + /** 接口调用成功的回调函数 */ + success?: LoadFontFaceSuccessCallback + } + interface LocalInfo { + /** 接收消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + } + interface LoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: LoginFailCallback + /** 接口调用成功的回调函数 */ + success?: LoginSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位ms */ + timeout?: number + } + interface LoginSuccessCallbackResult { + /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [auth.code2Session](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html),使用 code 换取 openid、unionid、session_key 等信息 */ + code: string + errMsg: string + } + interface MakeBluetoothPairOption { + /** 蓝牙设备 id */ + deviceId: string + /** pin 码,Base64 格式。 */ + pin: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakeBluetoothPairCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakeBluetoothPairFailCallback + /** 接口调用成功的回调函数 */ + success?: MakeBluetoothPairSuccessCallback + /** 超时时间,单位 ms */ + timeout?: number + } + interface MakePhoneCallOption { + /** 需要拨打的电话号码 */ + phoneNumber: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakePhoneCallCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakePhoneCallFailCallback + /** 接口调用成功的回调函数 */ + success?: MakePhoneCallSuccessCallback + } + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + interface ManufacturerData { + /** 制造商ID,0x 开头的十六进制 */ + manufacturerId: string + /** 制造商信息 */ + manufacturerSpecificData?: ArrayBuffer + } + /** 图片覆盖的经纬度范围 */ + interface MapBounds { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + } + interface MapPostion { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + interface Margins { + /** 节点布局区域的下边界 */ + bottom?: number + /** 节点布局区域的左边界 */ + left?: number + /** 节点布局区域的右边界 */ + right?: number + /** 节点布局区域的上边界 */ + top?: number + } + /** 匹配到的缓存 */ + interface MatchCache { + /** 缓存 id */ + cacheId: string + /** 缓存创建时间 */ + createTime: number + /** 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 */ + data: any + /** 缓存有效时间 */ + maxAge: number + /** 命中的规则 id */ + ruleId: string + } + /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */ + interface MediaAudioPlayer { + /** 音量。范围 0~1。默认为 1 */ + volume: number + } + /** 本地临时文件列表 */ + interface MediaFile { + /** 视频的时间长度 */ + duration: number + /** 文件类型 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + fileType: 'image' | 'video' + /** 视频的高度 */ + height: number + /** 本地临时文件大小,单位 B */ + size: number + /** 本地临时文件路径 (本地路径) */ + tempFilePath: string + /** 视频缩略图临时文件路径 */ + thumbTempFilePath: string + /** 视频的宽度 */ + width: number + } + interface MediaQueryObserverObserveCallbackResult { + /** 页面的当前状态是否满足所指定的 media query */ + matches: boolean + } + /** 需要预览的资源列表 */ + interface MediaSource { + /** 图片或视频的地址 */ + url: string + /** 视频的封面图片 */ + poster?: string + /** 资源的类型,默认为图片 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + type?: 'image' | 'video' + } + /** 需要基础库: `2.9.0` + * + * 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。 + * + * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作 */ + interface MediaTrack { + /** 轨道长度,只读 */ + duration: number + /** 轨道类型,只读 + * + * 可选值: + * - 'audio': 音频轨道; + * - 'video': 视频轨道; */ + kind: 'audio' | 'video' + /** 音量,音频轨道下有效,可写 */ + volume: number + } + /** 小程序帐号信息 */ + interface MiniProgram { + /** 小程序 appId */ + appId: string + /** 需要基础库: `2.10.0` + * + * 小程序版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion: 'develop' | 'trial' | 'release' + /** 需要基础库: `2.10.2` + * + * 线上小程序版本号 */ + version: string + } + interface MkdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 上级目录不存在(该错误仅在 recursive = false 时生效); + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail file already exists ${dirPath}': 有同名文件或目录(该错误仅在 recursive = false 时生效); + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface MkdirOption { + /** 创建的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MkdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MkdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: MkdirSuccessCallback + } + interface MoveAlongOption { + /** 平滑移动的时间 */ + duration: number + /** 指定 marker */ + markerId: number + /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */ + path: any[] + /** 根据路径方向自动改变 marker 的旋转角度 */ + autoRotate?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveAlongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveAlongFailCallback + /** 接口调用成功的回调函数 */ + success?: MoveAlongSuccessCallback + } + interface MoveToLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveToLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveToLocationFailCallback + /** 需要基础库: `2.8.0` + * + * 纬度 */ + latitude?: number + /** 需要基础库: `2.8.0` + * + * 经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: MoveToLocationSuccessCallback + } + /** 静音设置 */ + interface MuteConfig { + /** 是否静音耳机 */ + muteEarphone?: boolean + /** 是否静音麦克风 */ + muteMicrophone?: boolean + } + interface MuteOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MuteCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MuteFailCallback + /** 接口调用成功的回调函数 */ + success?: MuteSuccessCallback + } + /** 需要基础库: `2.11.2` */ + interface NFCAdapter { + /** 标签类型枚举 */ + tech: TechType + } + interface NavigateBackMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackMiniProgramCompleteCallback + /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateBackMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackMiniProgramSuccessCallback + } + interface NavigateBackOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackCompleteCallback + /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */ + delta?: number + /** 接口调用失败的回调函数 */ + fail?: NavigateBackFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackSuccessCallback + } + interface NavigateToMiniProgramOption { + /** 要打开的小程序 appId */ + appId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 需要基础库: `2.18.1` + * + * 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: NavigateToMiniProgramSuccessCallback + } + interface NavigateToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToCompleteCallback + /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */ + events?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateToSuccessCallback + } + interface NavigateToSuccessCallbackResult { + /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html) + * + * 和被打开页面进行通信 */ + eventChannel: EventChannel + errMsg: string + } + interface NdefCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NdefCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NdefCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: NdefCloseSuccessCallback + } + interface NdefConnectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectFailCallback + /** 接口调用成功的回调函数 */ + success?: ConnectSuccessCallback + } + interface NodeCallbackResult { + /** 节点对应的 Node 实例 */ + node: IAnyObject + } + interface NotifyBLECharacteristicValueChangeOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 是否启用 notify */ + state: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NotifyBLECharacteristicValueChangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NotifyBLECharacteristicValueChangeFailCallback + /** 接口调用成功的回调函数 */ + success?: NotifyBLECharacteristicValueChangeSuccessCallback + /** 需要基础库: `2.4.0` + * + * 设置特征订阅类型,有效值有 `notification` 和 `indication` */ + type?: string + } + /** media query 描述符 */ + interface ObserveDescriptor { + /** 页面高度( px 为单位) */ + height: number + /** 页面最大高度( px 为单位) */ + maxHeight: number + /** 页面最大宽度( px 为单位) */ + maxWidth: number + /** 页面最小高度( px 为单位) */ + minHeight: number + /** 页面最小宽度( px 为单位) */ + minWidth: number + /** 屏幕方向( `landscape` 或 `portrait` ) */ + orientation: string + /** 页面宽度( px 为单位) */ + width: number + } + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + interface ObserveOption { + /** 指标类型列表。不能和 type 同时使用。 */ + entryTypes?: string[] + /** 指标类型。不能和 entryTypes 同时使用 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + type?: 'navigation' | 'render' | 'script' + } + /** 需要基础库: `2.7.0` + * + * 离屏 canvas 实例,可通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建。 */ + interface OffscreenCanvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + interface OnAccelerometerChangeListenerResult { + /** X 轴 */ + x: number + /** Y 轴 */ + y: number + /** Z 轴 */ + z: number + } + interface OnBLECharacteristicValueChangeListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 特征最新的值 */ + value: ArrayBuffer + } + interface OnBLEConnectionStateChangeListenerResult { + /** 是否处于已连接状态 */ + connected: boolean + /** 蓝牙设备 id */ + deviceId: string + } + interface OnBLEMTUChangeListenerResult { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元 */ + mtu: number + } + interface OnBLEPeripheralConnectionStateChangedListenerResult { + /** 连接目前状态 */ + connected: boolean + /** 连接状态变化的设备 id */ + deviceId: string + /** server 的 UUID */ + serverId: string + } + interface OnBackgroundFetchDataListenerResult { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳 */ + timeStamp: number + } + interface OnBeaconServiceChangeListenerResult { + /** 服务目前是否可用 */ + available: boolean + /** 目前是否处于搜索状态 */ + discovering: boolean + } + interface OnBeaconUpdateListenerResult { + /** 当前搜寻到的所有 Beacon 设备列表 */ + beacons: BeaconInfo[] + } + interface OnBluetoothAdapterStateChangeListenerResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 蓝牙适配器是否处于搜索状态 */ + discovering: boolean + } + interface OnBluetoothDeviceFoundListenerResult { + /** 新搜索到的设备列表 */ + devices: BlueToothDevice[] + } + interface OnCameraFrameCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: ArrayBuffer + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + } + interface OnCharacteristicReadRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicSubscribedListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicWriteRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 请求写入特征的二进制数据值 */ + value: ArrayBuffer + } + interface OnCheckForUpdateListenerResult { + /** 是否有新版本 */ + hasUpdate: boolean + } + interface OnChunkReceivedListenerResult { + /** 开发者服务器每次返回新chunk时的Response */ + res: Result + } + interface OnCompassChangeListenerResult { + /** 需要基础库: `2.4.0` + * + * 精度 */ + accuracy: number | string + /** 面对的方向度数 */ + direction: number + } + interface OnCopyUrlListenerResult { + /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */ + query: string + } + interface OnDeviceMotionChangeListenerResult { + /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */ + alpha: number + /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */ + beta: number + /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */ + gamma: number + } + interface OnDiscoveredListenerResult { + /** NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */ + messages: any[] + /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */ + techs: any[] + } + interface OnFrameRecordedListenerResult { + /** 录音分片数据 */ + frameBuffer: ArrayBuffer + /** 当前帧是否正常录音结束前的最后一帧 */ + isLastFrame: boolean + } + interface OnGetWifiListListenerResult { + /** Wi-Fi 列表数据 */ + wifiList: WifiInfo[] + } + interface OnGyroscopeChangeListenerResult { + /** x 轴的角速度 */ + x: number + /** y 轴的角速度 */ + y: number + /** z 轴的角速度 */ + z: number + } + interface OnHCEMessageListenerResult { + /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */ + data: ArrayBuffer + /** 消息类型 + * + * 可选值: + * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令; + * - 2: 设备离场事件类型; */ + messageType: 1 | 2 + /** `messageType=2` 时,原因 */ + reason: number + } + interface OnHeadersReceivedListenerResult { + /** 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + } + interface OnKeyboardHeightChangeListenerResult { + /** 键盘高度 */ + height: number + } + interface OnLazyLoadErrorListenerResult { + /** 详细信息 */ + errMsg: string + /** 异步组件所属的分包 */ + subpackage: any[] + /** 'subpackage' 失败类型 */ + type: string + } + interface OnLocalServiceFoundListenerResult { + /** 服务的 ip 地址 */ + ip: string + /** 服务的端口 */ + port: number + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocalServiceLostListenerResult { + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocationChangeErrorListenerResult { + /** 错误码 */ + errCode: number + } + interface OnLocationChangeListenerResult { + /** 位置的精确度 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + } + interface OnMemoryWarningListenerResult { + /** 内存告警等级,只有 Android 才有,对应系统宏定义 + * + * 可选值: + * - 5: TRIM_MEMORY_RUNNING_MODERATE; + * - 10: TRIM_MEMORY_RUNNING_LOW; + * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */ + level: 5 | 10 | 15 + } + interface OnNetworkStatusChangeListenerResult { + /** 当前是否有网络连接 */ + isConnected: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + } + interface OnNetworkWeakChangeListenerResult { + /** 当前网络类型 */ + networkType: string + /** 当前是否处于弱网状态 */ + weakNet: boolean + } + interface OnOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + profile: SocketProfile + } + interface OnPageNotFoundListenerResult { + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + /** 不存在页面的路径 (代码包路径) */ + path: string + /** 打开不存在页面的 query 参数 */ + query: IAnyObject + } + interface OnScreenRecordingStateChangedListenerResult { + /** 录屏状态 + * + * 可选值: + * - 'start': 开始录屏; + * - 'stop': 结束录屏; */ + state: 'start' | 'stop' + } + interface OnSocketOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + } + interface OnStopListenerResult { + /** 录音总时长,单位:ms */ + duration: number + /** 录音文件大小,单位:Byte */ + fileSize: number + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + } + interface OnThemeChangeListenerResult { + /** 系统当前的主题,取值为`light`或`dark` + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme: 'dark' | 'light' + } + interface OnUnhandledRejectionListenerResult { + /** 被拒绝的 Promise 对象 */ + promise: Promise<any> + /** 拒绝原因,一般是一个 Error 对象 */ + reason: string + } + interface OnVoIPChatInterruptedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + } + interface OnVoIPChatMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatSpeakersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatStateChangedListenerResult { + /** 事件码 */ + code: number + /** 附加信息 */ + data: IAnyObject + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + } + interface OnVoIPVideoMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 开启视频的成员名单 */ + openIdList: string[] + } + interface OnWifiConnectedListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + } + interface OnWifiConnectedWithPartialInfoListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * 只包含 SSID 属性的 WifiInfo 对象 */ + wifi: WifiInfo + } + interface OnWindowResizeListenerResult { + size: Size + } + interface OpenAppAuthorizeSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenAppAuthorizeSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenAppAuthorizeSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenAppAuthorizeSettingSuccessCallback + } + interface OpenBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenBluetoothAdapterFailCallback + /** 需要基础库: `2.10.0` + * + * 蓝牙模式,可作为主/从设备,仅 iOS 需要。 + * + * 可选值: + * - 'central': 主机模式; + * - 'peripheral': 从机(外围设备)模式; */ + mode?: 'central' | 'peripheral' + /** 接口调用成功的回调函数 */ + success?: OpenBluetoothAdapterSuccessCallback + } + interface OpenCardOption { + /** 需要打开的卡券列表 */ + cardList: OpenCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCardFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenCardSuccessCallback + } + /** 需要打开的卡券列表 */ + interface OpenCardRequestInfo { + /** 卡券 ID */ + cardId: string + /** 由 [wx.addCard](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) 的返回对象中的加密 code 通过解密后得到,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + } + interface OpenChannelsActivityOption { + /** 视频 feedId */ + feedId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsActivityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsActivityFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsActivitySuccessCallback + } + interface OpenChannelsEventOption { + /** 活动 id */ + eventId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsEventCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsEventFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsEventSuccessCallback + } + interface OpenChannelsLiveOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsLiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsLiveFailCallback + /** 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + feedId?: string + /** 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + nonceId?: string + /** 接口调用成功的回调函数 */ + success?: OpenChannelsLiveSuccessCallback + } + interface OpenChannelsUserProfileOption { + /** 视频号 id */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsUserProfileFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsUserProfileSuccessCallback + } + interface OpenCustomerServiceChatOption { + /** 企业ID */ + corpId: string + /** 客服信息 */ + extInfo: ExtInfoOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCustomerServiceChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCustomerServiceChatFailCallback + /** 气泡消息图片 */ + sendMessageImg?: string + /** 气泡消息小程序路径 */ + sendMessagePath?: string + /** 气泡消息标题 */ + sendMessageTitle?: string + /** 是否发送小程序气泡消息 */ + showMessageCard?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenCustomerServiceChatSuccessCallback + } + interface OpenDocumentOption { + /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenDocumentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenDocumentFailCallback + /** 需要基础库: `1.4.0` + * + * 文件类型,指定文件类型打开文件 + * + * 可选值: + * - 'doc': doc 格式; + * - 'docx': docx 格式; + * - 'xls': xls 格式; + * - 'xlsx': xlsx 格式; + * - 'ppt': ppt 格式; + * - 'pptx': pptx 格式; + * - 'pdf': pdf 格式; */ + fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf' + /** 需要基础库: `2.11.0` + * + * 是否显示右上角菜单 */ + showMenu?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenDocumentSuccessCallback + } + interface OpenEmbeddedMiniProgramOption { + /** 要打开的小程序 appId */ + appId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenEmbeddedMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: OpenEmbeddedMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: OpenEmbeddedMiniProgramSuccessCallback + /** 需要基础库: `2.24.3` + * + * 校验方式。 + * + * 可选值: + * - 'binding': 校验小程序管理后台的绑定关系。; + * - 'unionProduct': 校验目标打开链接是否为[小程序联盟](https://developers.weixin.qq.com/doc/ministore/union/brief-introduction.html)商品。; */ + verify?: 'binding' | 'unionProduct' + } + interface OpenFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory "${filePath}"': 上级目录不存在; */ + errMsg: string + } + interface OpenLocationOption { + /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 地址的详细说明 */ + address?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenLocationFailCallback + /** 位置名 */ + name?: string + /** 缩放比例,范围5~18 */ + scale?: number + /** 接口调用成功的回调函数 */ + success?: OpenLocationSuccessCallback + } + interface OpenMapAppOption { + /** 目的地名称 */ + destination: string + /** 目的地纬度 */ + latitude: number + /** 目的地经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenMapAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenMapAppFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenMapAppSuccessCallback + } + interface OpenOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenFailCallback + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + /** 接口调用成功的回调函数 */ + success?: OpenSuccessCallback + } + interface OpenSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSettingSuccessCallback + /** 需要基础库: `2.10.3` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface OpenSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.3` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + errMsg: string + } + interface OpenSuccessCallbackResult { + /** 文件描述符 */ + fd: string + errMsg: string + } + interface OpenSyncOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + } + interface OpenSystemBluetoothSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSystemBluetoothSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSystemBluetoothSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSystemBluetoothSettingSuccessCallback + } + interface OpenVideoEditorOption { + /** 视频源的路径,只支持本地路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenVideoEditorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenVideoEditorFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenVideoEditorSuccessCallback + } + interface OpenVideoEditorSuccessCallbackResult { + /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */ + duration: number + /** 剪辑后生成的视频文件大小,单位字节数(byte) */ + size: number + /** 编辑后生成的视频文件的临时路径 */ + tempFilePath: string + /** 编辑后生成的缩略图文件的临时路径 */ + tempThumbPath: string + errMsg: string + } + interface PageScrollToOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PageScrollToCompleteCallback + /** 滚动动画的时长,单位 ms */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PageScrollToFailCallback + /** 需要基础库: `2.23.1` + * + * 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px */ + offsetTop?: number + /** 滚动到页面的目标位置,单位 px */ + scrollTop?: number + /** 需要基础库: `2.7.3` + * + * 选择器 */ + selector?: string + /** 接口调用成功的回调函数 */ + success?: PageScrollToSuccessCallback + } + /** 需要基础库: `2.11.0` + * + * Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。 */ + interface Path2D {} + interface PauseBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBGMSuccessCallback + } + interface PauseBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBackgroundAudioSuccessCallback + } + interface PauseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseSuccessCallback + } + interface PauseVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseVoiceSuccessCallback + } + /** 单条性能数据。具体数据口径请参考[性能数据文档]((performance/perf_data##_1-4-%E9%80%9A%E8%BF%87-wx-getPerformance-%E5%9C%A8%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%86%85%E8%8E%B7%E5%8F%96)) */ + interface PerformanceEntry { + /** 需要基础库: `2.24.0` + * + * 解析域名结束时间。仅 resourceTiming 指标有效。 */ + domainLookupEnd: number + /** 需要基础库: `2.24.0` + * + * 解析域名开始时间。仅 resourceTiming 指标有效。 */ + domainLookupStart: number + /** 耗时 ms。仅对于表示阶段的指标有效。 */ + duration: number + /** 指标类型 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + entryType: 'navigation' | 'render' | 'script' + /** 需要基础库: `2.21.2` + * + * 注入文件列表。仅 evaluateScript 指标有效。 */ + fileList: string[] + /** 需要基础库: `2.21.2` + * + * 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 */ + initDataRecvTime: number + /** 需要基础库: `2.21.2` + * + * 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 */ + initDataSendTime: number + /** 需要基础库: `2.24.0` + * + * 初始化性能条目的资源类型。仅 resourceTiming 指标有效。 + * + * 可选值: + * - 'audio': 音频; + * - 'cover-image': cover-image 组件的图片; + * - 'image': 组件的图片; + * - 'open-data': 组件的图片; */ + initiatorType: 'audio' | 'cover-image' | 'image' | 'open-data' + /** 分包名,主包表示为 __APP__ (2.21.2 开始)。仅 evaluateScript 指标有效。 */ + moduleName: string + /** 指标名称 + * + * 可选值: + * - 'appLaunch': 小程序启动耗时。(entryType: navigation); + * - 'route': 路由处理耗时。(entryType: navigation); + * - 'firstRender': 页面首次渲染耗时。(entryType: render); + * - 'firstPaint': 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'firstContentfulPaint': 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render); + * - 'largestContentfulPaint': 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'evaluateScript': 逻辑层 JS 代码注入耗时。(entryType: script); + * - 'downloadPackage': 代码包下载耗时。(entryType: loadPackage); + * - 'resourceTiming': 视图层资源加载耗时。(entryType: resource); */ + name: + | 'appLaunch' + | 'route' + | 'firstRender' + | 'firstPaint' + | 'firstContentfulPaint' + | 'largestContentfulPaint' + | 'evaluateScript' + | 'downloadPackage' + | 'resourceTiming' + /** 路由真正响应开始时间。仅 navigation 类型指标有效。 */ + navigationStart: number + /** 路由详细类型,与小程序路由方法对应。仅 navigation 类型指标有效。 */ + navigationType: string + /** 需要基础库: `2.24.0` + * + * 代码包名称。仅 downloadPackage 指标有效。 */ + packageName: string + /** 需要基础库: `2.24.0` + * + * 代码包大小。仅 downloadPackage 指标有效。 */ + packageSize: number + /** 需要基础库: `2.23.1` + * + * path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 */ + pageId: number + /** 页面路径。仅 render 和 navigation 类型指标有效。 */ + path: string + /** 需要基础库: `2.23.1` + * + * referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 */ + referrerPageId: number + /** 需要基础库: `2.23.1` + * + * 页面跳转来源页面路径。仅 route 指标有效。 */ + referrerPath: number + /** 开始时间,不同指标的具体含义会有差异。 */ + startTime: number + /** 需要基础库: `2.24.0` + * + * 表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持) */ + transferSize: number + /** 需要基础库: `2.24.0` + * + * 资源路径。仅 resourceTiming 指标有效。 */ + uri: string + /** 需要基础库: `2.21.2` + * + * 渲染层代码注入完成时间。仅 firstRender 指标有效。 */ + viewLayerReadyTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染结束时间。仅 firstRender 指标有效。 */ + viewLayerRenderEndTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染开始时间。仅 firstRender 指标有效。 */ + viewLayerRenderStartTime: number + } + /** 需要基础库: `2.11.0` + * + * PerformanceObserver 对象,用于监听性能相关事件 */ + interface PerformanceObserver { + /** 获取当前支持的所有性能指标类型 */ + supportedEntryTypes: any[] + } + /** 平面跟踪配置 */ + interface PlaneTrack { + /** 平面跟踪配置模式 + * + * 可选值: + * - 1: 检测横向平面; + * - 2: 检测纵向平面,只有 v2 版本支持; + * - 3: 检测横向和纵向平面,只有 v2 版本支持; */ + mode: 1 | 2 | 3 + } + interface PlayBGMOption { + /** 加入背景混音的资源地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBGMSuccessCallback + } + interface PlayBackgroundAudioOption { + /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */ + dataUrl: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBackgroundAudioCompleteCallback + /** 封面URL */ + coverImgUrl?: string + /** 接口调用失败的回调函数 */ + fail?: PlayBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBackgroundAudioSuccessCallback + /** 音乐标题 */ + title?: string + } + interface PlayOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayFailCallback + /** 接口调用成功的回调函数 */ + success?: PlaySuccessCallback + } + interface PlayVoiceOption { + /** 需要播放的语音文件的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayVoiceCompleteCallback + /** 需要基础库: `1.6.0` + * + * 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PlayVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayVoiceSuccessCallback + } + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + interface Plugin { + /** 插件 appId */ + appId: string + /** 插件版本号 */ + version: string + } + interface PluginLoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PluginLoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PluginLoginFailCallback + /** 接口调用成功的回调函数 */ + success?: PluginLoginSuccessCallback + } + interface PluginLoginSuccessCallbackResult { + /** 用于换取 openpid 的凭证(有效期五分钟)。插件开发者可以用此 code 在开发者服务器后台调用 [auth.getPluginOpenPId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.getPluginOpenPId.html) 换取 openpid。 */ + code: string + errMsg: string + } + interface PreloadAssetsOption { + data: Asset[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadAssetsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadAssetsFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadAssetsSuccessCallback + } + interface PreloadSkylineViewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadSkylineViewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadSkylineViewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadSkylineViewSuccessCallback + } + interface PreloadWebviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadWebviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadWebviewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadWebviewSuccessCallback + } + interface PreviewImageOption { + /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */ + urls: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewImageCompleteCallback + /** 当前显示图片的链接 */ + current?: string + /** 接口调用失败的回调函数 */ + fail?: PreviewImageFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewImageSuccessCallback + } + interface PreviewMediaOption { + /** 需要预览的资源列表 */ + sources: MediaSource[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewMediaCompleteCallback + /** 当前显示的资源序号 */ + current?: number + /** 接口调用失败的回调函数 */ + fail?: PreviewMediaFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewMediaSuccessCallback + } + /** 推广员 */ + interface PromoterResult { + /** 推广员昵称 */ + finderNickname: string + /** 推广员 id */ + promoterId: string + /** 推广员 openid */ + promoterOpenId: string + } + interface ReLaunchOption { + /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReLaunchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReLaunchFailCallback + /** 接口调用成功的回调函数 */ + success?: ReLaunchSuccessCallback + } + interface ReadBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadBLECharacteristicValueSuccessCallback + } + interface ReadCompressedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail decompress fail': 指定的 compressionAlgorithm 与文件实际压缩格式不符; + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; */ + errMsg: string + } + interface ReadCompressedFileOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompressedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadCompressedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadCompressedFileSuccessCallback + } + interface ReadCompressedFileSuccessCallbackResult { + /** 文件内容 */ + data: ArrayBuffer + errMsg: string + } + interface ReadCompressedFileSyncOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + } + interface ReadFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; + * - 'fail the value of "offset" is out of range': 传入的 offset 不合法; + * - 'fail the value of "length" is out of range': 传入的 length 不合法; + * - 'fail sdcard not mounted': android sdcard 挂载失败; + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface ReadFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; + * - 'native buffer exceed size limit': 文件大小超出上限(100M); */ + errMsg: string + } + interface ReadFileOption { + /** 要读取的文件的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadFileCompleteCallback + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadFileFailCallback + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadFileSuccessCallback + } + interface ReadFileSuccessCallbackResult { + /** 文件内容 */ + data: string | ArrayBuffer + errMsg: string + } + interface ReadOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadFailCallback + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadSuccessCallback + } + /** 文件读取结果。 通过 [FileSystemManager.readSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) 接口返回 */ + interface ReadResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + } + interface ReadSuccessCallbackResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + errMsg: string + } + interface ReadSyncOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + } + interface ReadZipEntryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReadZipEntryOption { + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + entries: EntryItem[] | 'all' + /** 要读取的压缩包的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadZipEntryCompleteCallback + /** 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadZipEntryFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadZipEntrySuccessCallback + } + interface ReadZipEntrySuccessCallbackResult { + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + entries: EntriesResult + errMsg: string + } + interface ReaddirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail not a directory ${dirPath}': dirPath 不是目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReaddirOption { + /** 要读取的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReaddirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReaddirFailCallback + /** 接口调用成功的回调函数 */ + success?: ReaddirSuccessCallback + } + interface ReaddirSuccessCallbackResult { + /** 指定目录下的文件名数组。 */ + files: string[] + errMsg: string + } + interface RecorderManagerStartOption { + /** 需要基础库: `2.1.0` + * + * 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源 + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 有线耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSource?: + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + /** 录音的时长,单位 ms,最大值 600000(10 分钟) */ + duration?: number + /** 编码码率,有效值见下表格 */ + encodeBitRate?: number + /** 音频格式 + * + * 可选值: + * - 'mp3': mp3 格式; + * - 'aac': aac 格式; + * - 'wav': wav 格式; + * - 'PCM': pcm 格式; */ + format?: 'mp3' | 'aac' | 'wav' | 'PCM' + /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 */ + frameSize?: number + /** 录音通道数 + * + * 可选值: + * - 1: 1 个通道; + * - 2: 2 个通道; */ + numberOfChannels?: 1 | 2 + /** 采样率(pc不支持) + * + * 可选值: + * - 8000: 8000 采样率; + * - 11025: 11025 采样率; + * - 12000: 12000 采样率; + * - 16000: 16000 采样率; + * - 22050: 22050 采样率; + * - 24000: 24000 采样率; + * - 32000: 32000 采样率; + * - 44100: 44100 采样率; + * - 48000: 48000 采样率; */ + sampleRate?: + | 8000 + | 11025 + | 12000 + | 16000 + | 22050 + | 24000 + | 32000 + | 44100 + | 48000 + } + interface RedirectToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedirectToCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedirectToFailCallback + /** 接口调用成功的回调函数 */ + success?: RedirectToSuccessCallback + } + interface RedoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedoFailCallback + /** 接口调用成功的回调函数 */ + success?: RedoSuccessCallback + } + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + interface ReferrerInfo { + /** 来源小程序、公众号或 App 的 appId */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData: IAnyObject + } + /** 参照区域的边界 */ + interface RelativeRectResult { + /** 下边界 */ + bottom: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + } + /** 发送端地址信息 */ + interface RemoteInfo { + /** 发送消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + /** message 的大小,单位:字节 */ + size: number + } + interface RemoveArcOption { + /** 圆弧 id */ + id: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveArcFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveArcSuccessCallback + } + interface RemoveCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveCustomLayerSuccessCallback + } + interface RemoveFormatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveFormatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveFormatFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveFormatSuccessCallback + } + interface RemoveGroundOverlayOption { + /** 图片图层 id */ + id: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveGroundOverlayFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveGroundOverlaySuccessCallback + } + interface RemoveMarkersOption { + /** marker 的 id 集合。 */ + markerIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveMarkersSuccessCallback + } + interface RemoveSavedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 tempFilePath 找不到文件; */ + errMsg: string + } + interface RemoveServiceOption { + /** service 的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveServiceSuccessCallback + } + interface RemoveStorageOption { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveStorageSuccessCallback + } + interface RemoveTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveTabBarBadgeSuccessCallback + } + interface RemoveVisualLayerOption { + /** 可视化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveVisualLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveVisualLayerSuccessCallback + } + interface RenameFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, rename ${oldPath} -> ${newPath}': 指定源文件或目标文件没有写权限; + * - 'fail no such file or directory, rename ${oldPath} -> ${newPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface RenameOption { + /** 新文件路径,支持本地路径 */ + newPath: string + /** 源文件路径,支持本地路径 */ + oldPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RenameCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RenameFailCallback + /** 接口调用成功的回调函数 */ + success?: RenameSuccessCallback + } + /** Canvas 绘图上下文。 + * + * **** + * + * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。 + * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。 + * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象 + * + * **示例代码** + * + * video 画到 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */ + interface RenderingContext {} + interface RequestOption< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 开发者服务器接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestCompleteCallback + /** 请求的参数 */ + data?: string | IAnyObject | ArrayBuffer + /** 返回的数据格式 + * + * 可选值: + * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse; + * - '其他': 不对返回的内容进行 JSON.parse; */ + dataType?: 'json' | '其他' + /** 需要基础库: `2.10.4` + * + * 开启 cache */ + enableCache?: boolean + /** 需要基础库: `2.20.2` + * + * 开启 transfer-encoding chunked。 */ + enableChunked?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 http2 */ + enableHttp2?: boolean + /** 需要基础库: `2.19.1` + * + * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + enableHttpDNS?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 quic */ + enableQuic?: boolean + /** 接口调用失败的回调函数 */ + fail?: RequestFailCallback + /** 需要基础库: `2.21.0` + * + * wifi下使用移动网络发送请求 */ + forceCellularNetwork?: boolean + /** 设置请求的 header,header 中不能设置 Referer。 + * + * `content-type` 默认为 `application/json` */ + header?: IAnyObject + /** 需要基础库: `2.19.1` + * + * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + httpDNSServiceId?: string + /** HTTP 请求方法 + * + * 可选值: + * - 'OPTIONS': HTTP 请求 OPTIONS; + * - 'GET': HTTP 请求 GET; + * - 'HEAD': HTTP 请求 HEAD; + * - 'POST': HTTP 请求 POST; + * - 'PUT': HTTP 请求 PUT; + * - 'DELETE': HTTP 请求 DELETE; + * - 'TRACE': HTTP 请求 TRACE; + * - 'CONNECT': HTTP 请求 CONNECT; */ + method?: + | 'OPTIONS' + | 'GET' + | 'HEAD' + | 'POST' + | 'PUT' + | 'DELETE' + | 'TRACE' + | 'CONNECT' + /** 需要基础库: `1.7.0` + * + * 响应的数据类型 + * + * 可选值: + * - 'text': 响应的数据为文本; + * - 'arraybuffer': 响应的数据为 ArrayBuffer; */ + responseType?: 'text' | 'arraybuffer' + /** 接口调用成功的回调函数 */ + success?: RequestSuccessCallback<T> + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒。默认值为 60000 */ + timeout?: number + } + interface RequestOrderPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestOrderPaymentCompleteCallback + /** 外部APP用户ID */ + extUserUin?: string + /** 接口调用失败的回调函数 */ + fail?: RequestOrderPaymentFailCallback + /** 订单信息,仅在需要校验的场景下需要传递,具体见[接口说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/requestOrderPayment) */ + orderInfo?: IAnyObject + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestOrderPaymentSuccessCallback + } + interface RequestPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPaymentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPaymentFailCallback + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestPaymentSuccessCallback + } + interface RequestPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPictureInPictureSuccessCallback + } + interface RequestPluginPaymentOption { + /** 需要显示在页面中的金额,单位为分 */ + fee: number + /** 任意数据,传递给功能页中的响应函数 */ + paymentArgs: IAnyObject + /** 插件版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + version: 'develop' | 'trial' | 'release' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPluginPaymentCompleteCallback + /** 需要显示在页面中的货币符号的代码 */ + currencyType?: string + /** 接口调用失败的回调函数 */ + fail?: RequestPluginPaymentFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPluginPaymentSuccessCallback + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + interface RequestProfile { + /** SSL建立完成的时间,如果不是安全连接,则值为 0 */ + SSLconnectionEnd: number + /** SSL建立连接的时间,如果不是安全连接,则值为 0 */ + SSLconnectionStart: number + /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 评估当前网络下载的kbps */ + downstreamThroughputKbpsEstimate: number + /** 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 */ + estimate_nettype: number + /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */ + httpRttEstimate: number + /** 当前请求的IP */ + peerIP: string + /** 当前请求的端口 */ + port: number + /** 使用协议类型,有效值:http1.1, h2, quic, unknown */ + protocol: string + /** 收到字节数 */ + receivedBytedCount: number + /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */ + redirectEnd: number + /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */ + redirectStart: number + /** HTTP请求读取真实文档结束的时间 */ + requestEnd: number + /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */ + requestStart: number + /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */ + responseEnd: number + /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */ + responseStart: number + /** 当次请求连接过程中实时 rtt */ + rtt: number + /** 发送的字节数 */ + sendBytesCount: number + /** 是否复用连接 */ + socketReused: boolean + /** 当前网络的实际下载kbps */ + throughputKbps: number + /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */ + transportRttEstimate: number + } + interface RequestSubscribeDeviceMessageFailCallbackResult { + /** 接口调用失败错误码,有可能为空 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeDeviceMessageOption { + /** 设备型号 id 。通过微信公众平台注册设备获得。 */ + modelId: string + /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */ + sn: string + /** 设备票据,5分钟内有效。 */ + snTicket: string + /** 需要订阅的消息模板的 id 的集合,一次调用最多可订阅3条消息 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeDeviceMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeDeviceMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeDeviceMessageSuccessCallback + } + interface RequestSubscribeDeviceMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'、'acceptWithAudio'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'acceptWithAudio' 表示用户接收订阅消息并开启了语音提醒,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeDeviceMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeDeviceMessage:ok' */ + errMsg: string + } + interface RequestSubscribeMessageFailCallbackResult { + /** 接口调用失败错误码 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeMessageOption { + /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeMessageSuccessCallback + } + interface RequestSubscribeMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */ + errMsg: string + } + interface RequestSuccessCallbackResult< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 需要基础库: `2.10.0` + * + * 开发者服务器返回的 cookies,格式为字符串数组 */ + cookies: string[] + /** 开发者服务器返回的数据 */ + data: T + /** 需要基础库: `1.2.0` + * + * 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface ReserveChannelsLiveOption { + /** 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 */ + noticeId: string + } + /** 开发者服务器每次返回新chunk时的Response */ + interface Result { + /** 返回的chunk buffer */ + data: ArrayBuffer + } + interface ResumeBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeBGMSuccessCallback + } + interface ResumeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeSuccessCallback + } + interface RewardedVideoAdOnCloseListenerResult { + /** 需要基础库: `2.1.0` + * + * 视频是否是在用户完整观看的情况下被关闭的 */ + isEnded: boolean + } + interface RewardedVideoAdOnErrorListenerResult { + /** 需要基础库: `2.2.2` + * + * 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface RmdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail directory not empty': 目录不为空; + * - 'fail permission denied, open ${dirPath}': 指定的 dirPath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface RmdirOption { + /** 要删除的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RmdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RmdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: RmdirSuccessCallback + } + interface SafeArea { + /** 安全区域右下角纵坐标 */ + bottom: number + /** 安全区域的高度,单位逻辑像素 */ + height: number + /** 安全区域左上角横坐标 */ + left: number + /** 安全区域右下角横坐标 */ + right: number + /** 安全区域左上角纵坐标 */ + top: number + /** 安全区域的宽度,单位逻辑像素 */ + width: number + } + interface SaveFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail tempFilePath file not exist': 指定的 tempFilePath 找不到文件; + * - 'fail permission denied, open "${filePath}"': 指定的 filePath 路径没有写权限; + * - 'fail no such file or directory "${dirPath}"': 上级目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface SaveFileSuccessCallbackResult { + /** 存储后的文件路径 (本地路径) */ + savedFilePath: string + errMsg: string + } + interface SaveFileToDiskOption { + /** 待保存文件路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileToDiskCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveFileToDiskFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileToDiskSuccessCallback + } + interface SaveImageToPhotosAlbumOption { + /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveImageToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveImageToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveImageToPhotosAlbumSuccessCallback + } + interface SaveVideoToPhotosAlbumOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveVideoToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveVideoToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveVideoToPhotosAlbumSuccessCallback + } + interface ScanCodeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ScanCodeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ScanCodeFailCallback + /** 需要基础库: `1.2.0` + * + * 是否只能从相机扫码,不允许从相册选择图片 */ + onlyFromCamera?: boolean + /** 需要基础库: `1.7.0` + * + * 扫码类型 + * + * 可选值: + * - 'barCode': 一维码; + * - 'qrCode': 二维码; + * - 'datamatrix': Data Matrix 码; + * - 'pdf417': PDF417 条码; */ + scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'> + /** 接口调用成功的回调函数 */ + success?: ScanCodeSuccessCallback + } + interface ScanCodeSuccessCallbackResult { + /** 所扫码的字符集 */ + charSet: string + /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */ + path: string + /** 原始数据,base64编码 */ + rawData: string + /** 所扫码的内容 */ + result: string + /** 所扫码的类型 + * + * 可选值: + * - 'QR_CODE': 二维码; + * - 'AZTEC': 一维码; + * - 'CODABAR': 一维码; + * - 'CODE_39': 一维码; + * - 'CODE_93': 一维码; + * - 'CODE_128': 一维码; + * - 'DATA_MATRIX': 二维码; + * - 'EAN_8': 一维码; + * - 'EAN_13': 一维码; + * - 'ITF': 一维码; + * - 'MAXICODE': 一维码; + * - 'PDF_417': 二维码; + * - 'RSS_14': 一维码; + * - 'RSS_EXPANDED': 一维码; + * - 'UPC_A': 一维码; + * - 'UPC_E': 一维码; + * - 'UPC_EAN_EXTENSION': 一维码; + * - 'WX_CODE': 二维码; + * - 'CODE_25': 一维码; */ + scanType: + | 'QR_CODE' + | 'AZTEC' + | 'CODABAR' + | 'CODE_39' + | 'CODE_93' + | 'CODE_128' + | 'DATA_MATRIX' + | 'EAN_8' + | 'EAN_13' + | 'ITF' + | 'MAXICODE' + | 'PDF_417' + | 'RSS_14' + | 'RSS_EXPANDED' + | 'UPC_A' + | 'UPC_E' + | 'UPC_EAN_EXTENSION' + | 'WX_CODE' + | 'CODE_25' + errMsg: string + } + interface ScrollOffsetCallbackResult { + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的 ID */ + id: string + /** 节点的水平滚动位置 */ + scrollLeft: number + /** 节点的竖直滚动位置 */ + scrollTop: number + } + interface ScrollToOption { + /** 是否启用滚动动画 */ + animated?: boolean + /** 滚动动画时长 */ + duration?: number + /** 左边界距离 */ + left?: number + /** 顶部距离 */ + top?: number + /** 初始速度 */ + velocity?: number + } + /** 需要基础库: `2.14.4` +* +* 增强 ScrollView 实例,可通过 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 的 [NodesRef.node](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) 方法获取。 仅在 scroll-view 组件开启 enhanced 属性后生效。 +* +* **示例代码** +* +* ```js +wx.createSelectorQuery() + .select('#scrollview') + .node() + .exec((res) => { + const scrollView = res[0].node; + scrollView.scrollEnabled = false; + }) +``` */ + interface ScrollViewContext { + /** 设置滚动边界弹性 (仅在 iOS 下生效) */ + bounces: boolean + /** 取消滚动惯性 (仅在 iOS 下生效) */ + decelerationDisabled: boolean + /** 设置滚动减速速率 */ + fastDeceleration: boolean + /** 分页滑动开关 */ + pagingEnabled: boolean + /** 滚动开关 */ + scrollEnabled: boolean + /** 设置是否显示滚动条 */ + showScrollbar: boolean + } + interface SeekBackgroundAudioOption { + /** 音乐位置,单位:秒 */ + position: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SeekBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SeekBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: SeekBackgroundAudioSuccessCallback + } + interface SendHCEMessageOption { + /** 二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendHCEMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendHCEMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendHCEMessageSuccessCallback + } + interface SendMessageOption { + /** SEI消息 */ + msg: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendMessageSuccessCallback + } + interface SendSmsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSmsCompleteCallback + /** 预填到发送短信面板的内容 */ + content?: string + /** 接口调用失败的回调函数 */ + fail?: SendSmsFailCallback + /** 预填到发送短信面板的手机号 */ + phoneNumber?: string + /** 接口调用成功的回调函数 */ + success?: SendSmsSuccessCallback + } + interface SendSocketMessageOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSocketMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendSocketMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSocketMessageSuccessCallback + } + interface SetBGMVolumeOption { + /** 音量大小,范围是 0-1 */ + volume: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBGMVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBGMVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBGMVolumeSuccessCallback + } + interface SetBLEMTUFailCallbackResult { + /** 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 */ + mtu: number + } + interface SetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes */ + mtu: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBLEMTUSuccessCallback + } + interface SetBLEMTUSuccessCallbackResult { + /** 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 */ + mtu: number + errMsg: string + } + interface SetBackgroundColorOption { + /** 窗口的背景色,必须为十六进制颜色值 */ + backgroundColor?: string + /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorBottom?: string + /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorTop?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundColorSuccessCallback + } + interface SetBackgroundFetchTokenOption { + /** 自定义的登录态 */ + token: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundFetchTokenSuccessCallback + } + interface SetBackgroundTextStyleOption { + /** 下拉背景字体、loading 图的样式。 + * + * 可选值: + * - 'dark': dark 样式; + * - 'light': light 样式; */ + textStyle: 'dark' | 'light' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundTextStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundTextStyleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundTextStyleSuccessCallback + } + interface SetBoundaryOption { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBoundaryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBoundaryFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBoundarySuccessCallback + } + interface SetCenterOffsetOption { + /** 偏移量,两位数组 */ + offset: number[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetCenterOffsetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetCenterOffsetFailCallback + /** 接口调用成功的回调函数 */ + success?: SetCenterOffsetSuccessCallback + } + interface SetClipboardDataOption { + /** 剪贴板的内容 */ + data: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: SetClipboardDataSuccessCallback + } + interface SetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetContentsCompleteCallback + /** 表示内容的delta对象 */ + delta?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: SetContentsFailCallback + /** 带标签的HTML内容 */ + html?: string + /** 接口调用成功的回调函数 */ + success?: SetContentsSuccessCallback + } + interface SetEnable1v1ChatOption { + /** 是否开启 */ + enable: boolean + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnable1v1ChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnable1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 接口调用成功的回调函数 */ + success?: SetEnable1v1ChatSuccessCallback + } + interface SetEnableDebugOption { + /** 是否打开调试 */ + enableDebug: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnableDebugCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnableDebugFailCallback + /** 接口调用成功的回调函数 */ + success?: SetEnableDebugSuccessCallback + } + interface SetInnerAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetInnerAudioOptionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetInnerAudioOptionFailCallback + /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */ + mixWithOther?: boolean + /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */ + obeyMuteSwitch?: boolean + /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */ + speakerOn?: boolean + /** 接口调用成功的回调函数 */ + success?: SetInnerAudioOptionSuccessCallback + } + interface SetKeepScreenOnOption { + /** 是否保持屏幕常亮 */ + keepScreenOn: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetKeepScreenOnCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetKeepScreenOnFailCallback + /** 接口调用成功的回调函数 */ + success?: SetKeepScreenOnSuccessCallback + } + interface SetLocMarkerIconOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetLocMarkerIconCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetLocMarkerIconFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetLocMarkerIconSuccessCallback + } + interface SetMICVolumeOption { + /** 音量大小,范围是 0.0-1.0 */ + volume: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetMICVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetMICVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetMICVolumeSuccessCallback + } + interface SetNavigationBarColorOption { + /** 背景颜色值,有效值为十六进制颜色 */ + backgroundColor: string + /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */ + frontColor: string + /** 动画效果 */ + animation?: AnimationOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarColorSuccessCallback + } + interface SetNavigationBarTitleOption { + /** 页面标题 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarTitleSuccessCallback + } + interface SetScreenBrightnessOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 */ + value: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: SetScreenBrightnessSuccessCallback + } + interface SetStorageOption<T = any> { + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: SetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: SetStorageSuccessCallback + } + interface SetTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 显示的文本,超过 4 个字符则显示成 ... */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTabBarBadgeSuccessCallback + } + interface SetTabBarItemOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarItemCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarItemFailCallback + /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */ + iconPath?: string + /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */ + selectedIconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarItemSuccessCallback + /** tab 上的按钮文字 */ + text?: string + } + interface SetTabBarStyleOption { + /** tab 的背景色,HexColor */ + backgroundColor?: string + /** tabBar上边框的颜色, 仅支持 black/white */ + borderStyle?: string + /** tab 上的文字默认颜色,HexColor */ + color?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarStyleFailCallback + /** tab 上的文字选中时的颜色,HexColor */ + selectedColor?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarStyleSuccessCallback + } + interface SetTimeoutOption { + /** 设置超时时间 (ms) */ + timeout: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTimeoutCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTimeoutFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTimeoutSuccessCallback + } + interface SetTopBarTextOption { + /** 置顶栏文字 */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTopBarTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTopBarTextFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTopBarTextSuccessCallback + } + interface SetVisualEffectOnCaptureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetVisualEffectOnCaptureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetVisualEffectOnCaptureFailCallback + /** 接口调用成功的回调函数 */ + success?: SetVisualEffectOnCaptureSuccessCallback + /** 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 */ + visualEffect?: string + } + interface SetWifiListOption { + /** 提供预设的 Wi-Fi 信息列表 */ + wifiList: WifiData[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWifiListSuccessCallback + } + interface SetWindowSizeOption { + /** 窗口高度,以像素为单位 */ + height: number + /** 窗口宽度,以像素为单位 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWindowSizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWindowSizeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWindowSizeSuccessCallback + } + interface SetZoomOption { + /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */ + zoom: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetZoomCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetZoomFailCallback + /** 接口调用成功的回调函数 */ + success?: SetZoomSuccessCallback + } + interface SetZoomSuccessCallbackResult { + /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */ + zoom: number + errMsg: string + } + interface ShareFileMessageOption { + /** 要分享的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareFileMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareFileMessageFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: ShareFileMessageSuccessCallback + } + interface ShareToWeRunOption { + /** 运动数据列表 */ + recordList: WxaSportRecord[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareToWeRunCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareToWeRunFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareToWeRunSuccessCallback + } + interface ShareVideoMessageOption { + /** 要分享的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareVideoMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareVideoMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareVideoMessageSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface ShowActionSheetOption { + /** 按钮的文字数组,数组长度最大为 6 */ + itemList: string[] + /** 需要基础库: `2.14.0` + * + * 警示文案 */ + alertText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowActionSheetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowActionSheetFailCallback + /** 按钮的文字颜色 */ + itemColor?: string + /** 接口调用成功的回调函数 */ + success?: ShowActionSheetSuccessCallback + } + interface ShowActionSheetSuccessCallbackResult { + /** 用户点击的按钮序号,从上到下的顺序,从0开始 */ + tapIndex: number + errMsg: string + } + interface ShowLoadingOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowLoadingFailCallback + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowLoadingSuccessCallback + } + interface ShowModalOption { + /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + cancelColor?: string + /** 取消按钮的文字,最多 4 个字符 */ + cancelText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowModalCompleteCallback + /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + confirmColor?: string + /** 确认按钮的文字,最多 4 个字符 */ + confirmText?: string + /** 提示的内容 */ + content?: string + /** 需要基础库: `2.17.1` + * + * 是否显示输入框 */ + editable?: boolean + /** 接口调用失败的回调函数 */ + fail?: ShowModalFailCallback + /** 需要基础库: `2.17.1` + * + * 显示输入框时的提示文本 */ + placeholderText?: string + /** 是否显示取消按钮 */ + showCancel?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowModalSuccessCallback + /** 提示的标题 */ + title?: string + } + interface ShowModalSuccessCallbackResult { + /** 需要基础库: `1.1.0` + * + * 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */ + cancel: boolean + /** 为 true 时,表示用户点击了确定按钮 */ + confirm: boolean + /** editable 为 true 时,用户输入的文本 */ + content: string + errMsg: string + } + interface ShowNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowNavigationBarLoadingSuccessCallback + } + interface ShowRedPackageOption { + /** 封面地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowRedPackageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowRedPackageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowRedPackageSuccessCallback + } + interface ShowShareImageMenuOption { + /** 要分享的图片地址,必须为本地路径或临时路径 */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareImageMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareImageMenuFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowShareImageMenuSuccessCallback + } + interface ShowShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: ShowShareMenuSuccessCallback + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface ShowTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarSuccessCallback + } + interface ShowTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarRedDotSuccessCallback + } + interface ShowToastOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowToastCompleteCallback + /** 提示的延迟时间 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: ShowToastFailCallback + /** 图标 + * + * 可选值: + * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度; + * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度; + * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度; + * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */ + icon?: 'success' | 'error' | 'loading' | 'none' + /** 需要基础库: `1.1.0` + * + * 自定义图标的本地路径,image 的优先级高于 icon */ + image?: string + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowToastSuccessCallback + } + interface Size { + /** 变化后的窗口高度,单位 px */ + windowHeight: number + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + interface SocketProfile { + /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** 上层请求到返回的耗时 */ + cost: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 握手耗时 */ + handshakeCost: number + /** 单次连接的耗时,包括 connect ,tls */ + rtt: number + } + interface SocketTaskCloseOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface SocketTaskOnCloseListenerResult { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code: number + /** 一个可读的字符串,表示连接被关闭的原因。 */ + reason: string + } + interface SocketTaskOnMessageListenerResult { + /** 服务器返回的消息 */ + data: string | ArrayBuffer + } + interface SocketTaskSendOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSuccessCallback + } + interface StartAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAccelerometerFailCallback + /** 需要基础库: `2.1.0` + * + * 监听加速度数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartAccelerometerSuccessCallback + } + interface StartAdvertisingObject { + /** 广播自定义参数 */ + advertiseRequest: AdvertiseReqObj + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAdvertisingFailCallback + /** 广播功率 + * + * 可选值: + * - 'low': 功率低; + * - 'medium': 功率适中; + * - 'high': 功率高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 接口调用成功的回调函数 */ + success?: StartAdvertisingSuccessCallback + } + interface StartBeaconDiscoveryOption { + /** Beacon 设备广播的 UUID 列表 */ + uuids: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBeaconDiscoveryFailCallback + /** 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 */ + ignoreBluetoothAvailable?: boolean + /** 接口调用成功的回调函数 */ + success?: StartBeaconDiscoverySuccessCallback + } + interface StartBluetoothDevicesDiscoveryOption { + /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */ + allowDuplicatesKey?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBluetoothDevicesDiscoveryFailCallback + /** 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */ + interval?: number + /** 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */ + services?: string[] + /** 接口调用成功的回调函数 */ + success?: StartBluetoothDevicesDiscoverySuccessCallback + } + interface StartCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StartCompassSuccessCallback + } + interface StartDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDeviceMotionListeningFailCallback + /** 监听设备方向的变化回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartDeviceMotionListeningSuccessCallback + } + interface StartDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartDiscoverySuccessCallback + } + interface StartGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartGyroscopeFailCallback + /** 监听陀螺仪数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartGyroscopeSuccessCallback + } + interface StartHCEOption { + /** 需要注册到系统的 AID 列表 */ + aid_list: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StartHCESuccessCallback + } + interface StartLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'invalid param': serviceType 为空; + * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */ + errMsg: string + } + interface StartLocalServiceDiscoveryOption { + /** 要搜索的服务类型 */ + serviceType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocalServiceDiscoverySuccessCallback + } + interface StartLocationUpdateBackgroundOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateBackgroundCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateBackgroundFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateBackgroundSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPreviewSuccessCallback + } + interface StartPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPullDownRefreshSuccessCallback + } + interface StartRecordSuccessCallbackResult { + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface StartRecordTimeoutCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + } + interface StartSoterAuthenticationOption { + /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */ + challenge: string + /** 请求使用的可接受的生物认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'> + /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */ + authContent?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSoterAuthenticationSuccessCallback + } + interface StartSoterAuthenticationSuccessCallbackResult { + /** 生物认证方式 */ + authMode: string + /** 错误码 */ + errCode: number + /** 错误信息 */ + errMsg: string + /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */ + resultJSON: string + /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */ + resultJSONSignature: string + } + interface StartWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StartWifiSuccessCallback + } + interface StatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface StatOption { + /** 文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StatFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: StatSuccessCallback + } + interface StatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> + * + * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 */ + stats: Stats | Stats[] + errMsg: string + } + /** 描述文件状态的对象 */ + interface Stats { + /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */ + lastAccessedTime: number + /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */ + lastModifiedTime: number + /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */ + mode: string + /** 文件大小,单位:B,对应 POSIX stat.st_size */ + size: number + } + interface StepOption { + /** 动画延迟时间,单位 ms */ + delay?: number + /** 动画持续时间,单位 ms */ + duration?: number + /** 动画的效果 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'ease': 动画以低速开始,然后加快,在结束前变慢; + * - 'ease-in': 动画以低速开始; + * - 'ease-in-out': 动画以低速开始和结束; + * - 'ease-out': 动画以低速结束; + * - 'step-start': 动画第一帧就跳至结束状态直到结束; + * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */ + timingFunction?: + | 'linear' + | 'ease' + | 'ease-in' + | 'ease-in-out' + | 'ease-out' + | 'step-start' + | 'step-end' + transformOrigin?: string + } + interface StopAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAccelerometerFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAccelerometerSuccessCallback + } + interface StopAdvertisingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAdvertisingFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAdvertisingSuccessCallback + } + interface StopBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBGMSuccessCallback + } + interface StopBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBackgroundAudioSuccessCallback + } + interface StopBeaconDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBeaconDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBeaconDiscoverySuccessCallback + } + interface StopBluetoothDevicesDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBluetoothDevicesDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBluetoothDevicesDiscoverySuccessCallback + } + interface StopCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StopCompassSuccessCallback + } + interface StopDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDeviceMotionListeningFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDeviceMotionListeningSuccessCallback + } + interface StopDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDiscoverySuccessCallback + } + interface StopFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: StopFaceDetectSuccessCallback + } + interface StopGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopGyroscopeFailCallback + /** 接口调用成功的回调函数 */ + success?: StopGyroscopeSuccessCallback + } + interface StopHCEOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StopHCESuccessCallback + } + interface StopLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */ + errMsg: string + } + interface StopLocalServiceDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocalServiceDiscoverySuccessCallback + } + interface StopLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocationUpdateSuccessCallback + } + interface StopOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFailCallback + /** 接口调用成功的回调函数 */ + success?: StopSuccessCallback + } + interface StopPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPreviewSuccessCallback + } + interface StopPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPullDownRefreshSuccessCallback + } + interface StopRecordSuccessCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + errMsg: string + } + interface StopVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: StopVoiceSuccessCallback + } + interface StopWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StopWifiSuccessCallback + } + interface SubscribeVoIPVideoMembersOption { + /** 订阅的成员列表 */ + openIdList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SubscribeVoIPVideoMembersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SubscribeVoIPVideoMembersFailCallback + /** 接口调用成功的回调函数 */ + success?: SubscribeVoIPVideoMembersSuccessCallback + } + /** 订阅消息设置 +* +* **示例代码** +* +* ```javascript +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + interface SubscriptionsSetting { + /** 订阅消息总开关,true为开启,false为关闭 */ + mainSwitch: boolean + /** 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html) + * ## 注意事项 + * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + itemSettings?: IAnyObject + } + interface SwitchCameraOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchCameraCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchCameraFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchCameraSuccessCallback + } + interface SwitchTabOption { + /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchTabCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchTabFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchTabSuccessCallback + } + interface SystemInfo { + /** 需要基础库: `1.1.0` + * + * 客户端基础库版本 */ + SDKVersion: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: boolean + /** 需要基础库: `1.8.0` + * + * 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 需要基础库: `2.6.0` + * + * 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 需要基础库: `1.5.0` + * + * 设备品牌 */ + brand: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用摄像头的开关 */ + cameraAuthorized: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 需要基础库: `2.15.0` + * + * 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 需要基础库: `1.5.0` + * + * 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */ + fontSizeSetting: number + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + host: SystemInfoHost + /** 微信设置的语言 */ + language: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用定位的开关 */ + locationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 地理位置的系统开关 */ + locationEnabled: boolean + /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */ + locationReducedAccuracy: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信使用麦克风的开关 */ + microphoneAuthorized: boolean + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知的开关 */ + notificationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: boolean + /** 需要基础库: `2.19.3` + * + * 允许微信使用日历的开关 */ + phoneCalendarAuthorized: boolean + /** 设备像素比 */ + pixelRatio: number + /** 客户端平台 + * + * 可选值: + * - 'ios': iOS微信(包含 iPhone、iPad); + * - 'android': Android微信; + * - 'windows': Windows微信; + * - 'mac': macOS微信; + * - 'devtools': 微信开发者工具; */ + platform: 'ios' | 'android' | 'windows' | 'mac' | 'devtools' + /** 需要基础库: `2.7.0` + * + * 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 需要基础库: `1.1.0` + * + * 屏幕高度,单位px */ + screenHeight: number + /** 需要基础库: `1.1.0` + * + * 屏幕宽度,单位px */ + screenWidth: number + /** 需要基础库: `1.9.0` + * + * 状态栏的高度,单位px */ + statusBarHeight: number + /** 操作系统及版本 */ + system: string + /** 微信版本号 */ + version: string + /** 需要基础库: `2.6.0` + * + * Wi-Fi 的系统开关 */ + wifiEnabled: boolean + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + /** 需要基础库: `2.11.0` + * + * 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + interface SystemInfoHost { + /** 宿主 app 对应的 appId */ + appId: string + } + interface SystemSetting { + /** 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 地理位置的系统开关 */ + locationEnabled: boolean + /** Wi-Fi 的系统开关 */ + wifiEnabled: boolean + } + interface TCPSocketConnectOption { + /** 套接字要连接的地址 */ + address: string + /** 套接字要连接的端口 */ + port: number + /** 套接字要连接的超时时间,默认为 2s */ + timeout?: number + } + interface TCPSocketOnMessageListenerResult { + /** 接收端地址信息 */ + localInfo: LocalInfo + /** 收到的消息 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface TakePhotoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TakePhotoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TakePhotoFailCallback + /** 成像质量 + * + * 可选值: + * - 'high': 高质量; + * - 'normal': 普通质量; + * - 'low': 低质量; */ + quality?: 'high' | 'normal' | 'low' + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: TakePhotoSuccessCallback + } + interface TakePhotoSuccessCallbackResult { + /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */ + tempImagePath: string + errMsg: string + } + /** 标签类型枚举 */ + interface TechType { + /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + isoDep: string + /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + mifareClassic: string + /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + mifareUltralight: string + /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + ndef: string + /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + nfcA: string + /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + nfcB: string + /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + nfcF: string + /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + nfcV: string + } + interface TextMetrics { + /** 文本的宽度 */ + width: number + } + interface ToScreenLocationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: ToScreenLocationSuccessCallback + } + interface ToScreenLocationSuccessCallbackResult { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + errMsg: string + } + interface ToggleTorchOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToggleTorchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToggleTorchFailCallback + /** 接口调用成功的回调函数 */ + success?: ToggleTorchSuccessCallback + } + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + interface Track { + /** 平面跟踪配置 */ + plane: PlaneTrack + /** 需要基础库: `2.24.5` + * + * OSD 跟踪配置 */ + OSD?: boolean + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + face?: FaceTrack + /** 需要基础库: `2.24.5` + * + * marker 跟踪配置 */ + marker?: boolean + } + interface TransceiveOption { + /** 需要传递的二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TransceiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TransceiveFailCallback + /** 接口调用成功的回调函数 */ + success?: TransceiveSuccessCallback + } + interface TransceiveSuccessCallbackResult { + data: ArrayBuffer + errMsg: string + } + interface TranslateMarkerOption { + /** 移动过程中是否自动旋转 marker */ + autoRotate: boolean + /** 指定 marker 移动到的目标点 */ + destination: DestinationOption + /** 指定 marker */ + markerId: number + /** marker 的旋转角度 */ + rotate: number + /** 动画结束回调函数 */ + animationEnd?: (...args: any[]) => any + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TranslateMarkerCompleteCallback + /** 动画持续时长,平移与旋转分别计算 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: TranslateMarkerFailCallback + /** 需要基础库: `2.13.0` + * + * 平移和旋转同时进行 */ + moveWithRotate?: boolean + /** 接口调用成功的回调函数 */ + success?: TranslateMarkerSuccessCallback + } + interface TruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface TruncateOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TruncateFailCallback + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + /** 接口调用成功的回调函数 */ + success?: TruncateSuccessCallback + } + interface TruncateSyncOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + } + interface UDPSocketConnectOption { + /** 要发消息的地址 */ + address: string + /** 要发送消息的端口号 */ + port: number + } + interface UDPSocketOnMessageListenerResult { + /** 接收端地址信息,2.18.0 起支持 */ + localInfo: LocalInfo + /** 收到的消息。消息长度需要小于4096。 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface UDPSocketSendOption { + /** 要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名 */ + address: string + /** 要发送的数据 */ + message: string | ArrayBuffer + /** 要发送消息的端口号 */ + port: number + /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */ + length?: number + /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */ + offset?: number + /** 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 */ + setBroadcast?: boolean + } + interface UndoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UndoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UndoFailCallback + /** 接口调用成功的回调函数 */ + success?: UndoSuccessCallback + } + interface UnlinkFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail operation not permitted, unlink ${filePath}': 传入的 filePath 是一个目录; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface UnlinkOption { + /** 要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnlinkCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnlinkFailCallback + /** 接口调用成功的回调函数 */ + success?: UnlinkSuccessCallback + } + interface UnzipFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, unzip ${zipFilePath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, unzip ${zipFilePath} -> "${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface UnzipOption { + /** 目标目录路径, 支持本地路径 */ + targetPath: string + /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */ + zipFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnzipCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnzipFailCallback + /** 接口调用成功的回调函数 */ + success?: UnzipSuccessCallback + } + /** 参数列表 */ + interface UpdatableMessageFrontEndParameter { + /** 参数名 */ + name: string + /** 参数值 */ + value: string + } + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + interface UpdatableMessageFrontEndTemplateInfo { + /** 参数列表 */ + parameterList: UpdatableMessageFrontEndParameter[] + } + interface UpdateGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: UpdateGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface UpdateShareMenuOption { + /** 需要基础库: `2.4.0` + * + * 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取 */ + activityId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateShareMenuFailCallback + /** 需要基础库: `2.13.0` + * + * 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) */ + isPrivateMessage?: boolean + /** 需要基础库: `2.4.0` + * + * 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html) */ + isUpdatableMessage?: boolean + /** 接口调用成功的回调函数 */ + success?: UpdateShareMenuSuccessCallback + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + templateInfo?: UpdatableMessageFrontEndTemplateInfo + /** 需要基础库: `2.11.0` + * + * 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + toDoActivityId?: string + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface UpdateVoIPChatMuteConfigOption { + /** 静音设置 */ + muteConfig: MuteConfig + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateVoIPChatMuteConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateVoIPChatMuteConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateVoIPChatMuteConfigSuccessCallback + } + interface UpdateWeChatAppOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateWeChatAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateWeChatAppFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateWeChatAppSuccessCallback + } + interface UploadFileOption { + /** 要上传文件资源的路径 (本地路径) */ + filePath: string + /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */ + name: string + /** 开发者服务器地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UploadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UploadFileFailCallback + /** HTTP 请求中其他额外的 form data */ + formData?: IAnyObject + /** HTTP 请求 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: UploadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface UploadFileSuccessCallbackResult { + /** 开发者服务器返回的数据 */ + data: string + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface UploadTaskOnProgressUpdateListenerResult { + /** 上传进度百分比 */ + progress: number + /** 预期需要上传的数据总长度,单位 Bytes */ + totalBytesExpectedToSend: number + /** 已经上传的数据长度,单位 Bytes */ + totalBytesSent: number + } + /** @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** + * + * 用户信息 */ + interface UserInfo { + /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */ + avatarUrl: string + /** 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + city: string + /** 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + country: string + /** 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 0: 未知; + * - 1: 男性; + * - 2: 女性; */ + gender: 0 | 1 | 2 + /** 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + language: 'en' | 'zh_CN' | 'zh_TW' + /** 用户昵称 */ + nickName: string + /** 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + province: string + } + /** 需要基础库: `2.20.0` + * + * 相机对象 */ + interface VKCamera { + /** 需要基础库: `2.22.0` + * + * 相机内参,只有 v2 版本支持 */ + intrinsics: Float32Array + /** 视图矩阵 */ + viewMatrix: Float32Array + } + interface VKConfig { + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + track: Track + /** 需要基础库: `2.23.0` + * + * 绑定的 WebGLRenderingContext 对象 */ + gl?: WebGLRenderingContext + /** 需要基础库: `2.22.0` + * + * vision kit 版本。 + * + * 可选值: + * - 'v1': v1适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户放置物体时,手机相机倾斜向下对着目标平面点击即可,具有广泛的机型支持; + * - 'v2': v2提供真实物理距离的 ar 定位功能,提供平面识别功能,用户在平面范围点击放置虚拟物体的功能,具有[有限的机型支持](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html#%E9%99%84%E5%BD%95)。iOS 设备在基础库 2.22.0 开始支持v2。安卓设备在基础库 2.25.1 开始支持v2,另外,安卓v2不支持竖直平面。; */ + version?: 'v1' | 'v2' + } + /** 需要基础库: `2.25.0` + * + * 人脸 anchor + * + * **示例代码** + * + * [静态图像人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-face-detect) + * + * [实时摄像头人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect) */ + interface VKFaceAnchor { + /** 人脸角度信息 */ + angle: number[] + /** 关键点的置信度 */ + confidence: number[] + /** 识别序号 */ + detectId: number + /** 唯一标识 */ + id: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 人脸 106 个关键点的坐标 */ + points: VKPoint[] + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 3: 人脸; */ + type: 3 + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKFrame { + /** [VKCamera](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.html) + * + * 相机对象 */ + camera: VKCamera + /** 生成时间 */ + timestamp: number + } + interface VKMarker { + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + } + /** 需要基础库: `2.24.5` + * + * marker anchor + * + * **示例代码** + * + * [2D Marker能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/2dmarker-ar) */ + interface VKMarkerAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 1: marker; */ + type: 1 + } + /** 需要基础库: `2.24.5` + * + * OSD anchor + * + * **示例代码** + * + * [单样本检测(OSD)能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/osd-ar) */ + interface VKOSDAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 图片路径 */ + path: string + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 2: OSD; */ + type: 2 + } + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + interface VKOrigin { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.22.0` + * + * 平面 anchor,只有 v2 版本支持 + * + * **示例代码** + * + * v1 版本:[水平面AR能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar) + * v2 版本:[水平面AR能力v2使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar-v2) */ + interface VKPlaneAnchor { + /** 方向 */ + alignment: number + /** 唯一标识 */ + id: number + /** 尺寸 */ + size: VKSize + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 0: 平面; */ + type: 0 + } + /** 人脸 106 个关键点的坐标 */ + interface VKPoint { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKSession { + /** 相机尺寸 */ + cameraSize: VKSize + /** 会话配置 */ + config: VKConfig + /** 会话状态 + * + * 可选值: + * - 0: 不可用; + * - 1: 运行中; + * - 2: 暂停中; */ + state: 0 | 1 | 2 + } + interface VKSize { + /** 高度 */ + height: number + /** 宽度 */ + width: number + } + interface VibrateLongOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateLongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateLongFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateLongSuccessCallback + } + interface VibrateShortFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'style is not support': 当前设备不支持设置震动等级; */ + errMsg: string + } + interface VibrateShortOption { + /** 需要基础库: `2.13.0` + * + * 震动强度类型,有效值为:heavy、medium、light */ + type: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateShortCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateShortFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateShortSuccessCallback + } + interface VideoContextRequestFullScreenOption { + /** 需要基础库: `1.7.0` + * + * 设置全屏时视频的方向,不指定则根据宽高比自动判断。 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + } + interface VideoDecoderStartOption { + /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */ + source: string + /** 需要基础库: `2.15.0` + * + * 是否不需要音频轨道 */ + abortAudio?: boolean + /** 需要基础库: `2.15.0` + * + * 是否不需要视频轨道 */ + abortVideo?: boolean + /** 解码模式。0:按 pts 解码;1:以最快速度解码 */ + mode?: number + } + interface VoIP1v1ChatUser { + /** 昵称 */ + nickname: string + /** 小程序内 openid */ + openid: string + /** 头像 */ + headImage?: string + } + /** 需要基础库: `2.19.0` +* +* WebAudioContext 实例,通过[wx.createWebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) 接口获取该实例。 +* +* **示例代码** +* +* ```js +// 监听状态 +const audioCtx = wx.createWebAudioContext() +audioCtx.onstatechange = () => { + console.log(ctx.state) +} +setTimeout(audioCtx.suspend, 1000) +setTimeout(audioCtx.resume, 2000) +``` */ + interface WebAudioContext { + /** 获取当前上下文的时间戳。 */ + currentTime: number + /** [WebAudioContextNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContextNode.html) + * + * 当前上下文的最终目标节点,一般是音频渲染设备。 */ + destination: WebAudioContextNode + /** 空间音频监听器。 */ + listener: AudioListener + /** 可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。 */ + onstatechange: (...args: any[]) => any + /** 采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。 */ + sampleRate: number + /** 当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性 */ + state: string + } + /** 需要基础库: `2.19.0` + * + * 一类音频处理模块,不同的Node具备不同的功能,如GainNode(音量调整)等。一个WebAudioContextNode可以通过上下文来创建。 + * 目前已经支持以下Node: + * IIRFilterNode + * WaveShaperNode + * ConstantSourceNode + * ChannelMergerNode + * OscillatorNode + * GainNode + * BiquadFilterNode + * PeriodicWaveNode + * BufferSourceNode + * ChannelSplitterNode + * ChannelMergerNode + * DelayNode + * DynamicsCompressorNode + * ScriptProcessorNode + * PannerNode + * AnalyserNode */ + interface WebAudioContextNode { + /** 表示监听器的前向系统在同一笛卡尔坐标系中的水平位置,作为位置(位置x,位置和位置和位置)值。 */ + forwardX: number + /** 表示听众的前向方向在同一笛卡尔坐标系中作为位置(位置x,位置和位置和位置)值的垂直位置。 */ + forwardY: number + /** 表示与position (positionX、positionY和positionZ)值在同一笛卡尔坐标系下的听者前进方向的纵向(前后)位置。 */ + forwardZ: number + /** 右手笛卡尔坐标系中X轴的位置。 */ + positionX: number + /** 右手笛卡尔坐标系中Y轴的位置。 */ + positionY: number + /** 右手笛卡尔坐标系中Z轴的位置。 */ + positionZ: number + /** 设置监听器的方向 */ + setOrientation: (...args: any[]) => any + /** 设置监听器的位置 + * + * /** */ + setPosition: (...args: any[]) => any + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向前方向的水平位置。 */ + upX: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向上方向的水平位置。 */ + upY: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向后方向的水平位置。 */ + upZ: number + } + /** 提供预设的 Wi-Fi 信息列表 */ + interface WifiData { + /** Wi-Fi 的 BSSID */ + BSSID?: string + /** Wi-Fi 的 SSID */ + SSID?: string + /** Wi-Fi 设备密码 */ + password?: string + } + /** Wifi 信息 + * + * **注意** + * + * - 安卓 wx.connectWifi / wx.getConnectedWifi 若设置了 partialInfo:true ,或者调用了 wx.onWifiConnectedWithPartialInfo 事件。将会返回只包含 SSID 属性的 WifiInfo 对象。 + * - iOS wx.getConnectedWifi 若设置了 partialInfo:true ,将会返回只包含 SSID、BSSID 属性的 WifiInfo 对象,且需要用户开启微信定位权限才能正确返回结果。 + * - 在某些情况下,可能 Wi-Fi 已经连接成功,但会因为获取不到完整的 WifiInfo 对象报错。具体错误信息为 errCode: 12010, errMsg: can't gain current wifi 或 no wifi is connected 。如果开发者不需要完整的 WifiInfo 对象,则可以通过采取上述策略解决报错问题。 */ + interface WifiInfo { + /** Wi-Fi 的 BSSID */ + BSSID: string + /** Wi-Fi 的 SSID */ + SSID: string + /** 需要基础库: `2.12.0` + * + * Wi-Fi 频段单位 MHz */ + frequency: number + /** Wi-Fi 是否安全 */ + secure: boolean + /** Wi-Fi 信号强度, 安卓取值 0 ~ 100 ,iOS 取值 0 ~ 1 ,值越大强度越大 */ + signalStrength: number + } + interface WindowInfo { + /** 设备像素比 */ + pixelRatio: number + /** 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 屏幕高度,单位px */ + screenHeight: number + /** 窗口上边缘的y值 */ + screenTop: number + /** 屏幕宽度,单位px */ + screenWidth: number + /** 状态栏的高度,单位px */ + statusBarHeight: number + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + } + /** Worker 实例,主线程中可通过 [wx.createWorker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) 接口获取,worker 线程中可通过全局变量 `worker` 获取。 +* +* **示例代码** +* +* 运行以下代码需先进行基础配置,详细请查阅 [小程序多线程](https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html) | [小游戏多线程](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/worker.html) 文档了解基础知识和配置方法。 +* +* ```js +const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径 + +worker.onMessage(function (res) { + console.log(res) +}) +// 监听worker被系统回收事件 +worker.onProcessKilled(function () { + console.log('worker has been killed') + // 重新创建一个worker + // wx.createWorker() +}) + +worker.postMessage({ + msg: 'hello worker' +}) + +worker.terminate() +``` */ + interface Worker { + /** worker内的环境变量 */ + env: WorkerEnv + } + /** worker内的环境变量 */ + interface WorkerEnv { + /** 文件系统中的用户目录路径 (本地路径) */ + USER_DATA_PATH: string + } + interface WorkerOnMessageListenerResult { + /** 主线程/Worker 线程向当前线程发送的消息 */ + message: IAnyObject + } + interface WriteBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 蓝牙设备特征对应的二进制值 */ + value: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteBLECharacteristicValueSuccessCallback + /** 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持) + * + * 可选值: + * - 'write': 强制回复写,不支持时报错; + * - 'writeNoResponse': 强制无回复写,不支持时报错; */ + writeType?: 'write' | 'writeNoResponse' + } + interface WriteCharacteristicValueObject { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 是否需要通知主机 value 已更新 */ + needNotify: boolean + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** characteristic 对应的二进制值 */ + value: ArrayBuffer + /** 可选,处理回包时使用 */ + callbackId?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteCharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteCharacteristicValueSuccessCallback + } + interface WriteFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有写权限; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileOption { + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要写入的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFileFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteFileSuccessCallback + } + interface WriteNdefMessageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteNdefMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteNdefMessageFailCallback + /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */ + records?: any[] + /** 接口调用成功的回调函数 */ + success?: WriteNdefMessageSuccessCallback + /** text 数组 */ + texts?: any[] + /** uri 数组 */ + uris?: any[] + } + interface WriteOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCompleteCallback + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFailCallback + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: WriteSuccessCallback + } + /** 文件写入结果。 通过 [FileSystemManager.writeSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) 接口返回 */ + interface WriteResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + } + interface WriteSuccessCallbackResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + errMsg: string + } + interface WriteSyncOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + } + interface WxGetFileInfoOption { + /** 本地文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 计算文件摘要的算法 + * + * 可选值: + * - 'md5': md5 算法; + * - 'sha1': sha1 算法; */ + digestAlgorithm?: 'md5' | 'sha1' + /** 接口调用失败的回调函数 */ + fail?: WxGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetFileInfoSuccessCallback + } + interface WxGetFileInfoSuccessCallbackResult { + /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */ + digest: string + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface WxGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetSavedFileListSuccessCallback + } + interface WxGetSavedFileListSuccessCallbackResult { + /** 文件数组,每一项是一个 FileItem */ + fileList: FileItem[] + errMsg: string + } + interface WxRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface WxSaveFileOption { + /** 需要保存的文件的临时路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxSaveFileFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + interface WxStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStartRecordSuccessCallback + } + interface WxStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStopRecordSuccessCallback + } + /** 运动数据列表 */ + interface WxaSportRecord { + /** 消耗卡路里 */ + calorie: number + /** 运动距离 */ + distance: number + /** 运动时长 */ + time: number + /** 运动项目id */ + typeId: number + } + /** 帧纹理对象 */ + interface YUVTextureRes { + /** UV 分量纹理 */ + uvTexture: WebGLTexture + /** Y 分量纹理 */ + yTexture: WebGLTexture + } + /** 文件路径 */ + interface ZipFileItem { + /** 文件内容 */ + data: string | ArrayBuffer + /** 错误信息 */ + errMsg: string + } + interface Animation { + /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html) + * + * 在插件中使用:支持 + * + * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */ + export(): AnimationExportResult + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.backgroundColor(string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.backgroundColor.html) + * + * 在插件中使用:支持 + * + * 设置背景色 */ + backgroundColor( + /** 颜色值 */ + value: string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.bottom(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.bottom.html) + * + * 在插件中使用:支持 + * + * 设置 bottom 值 */ + bottom( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.height(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.height.html) + * + * 在插件中使用:支持 + * + * 设置高度 */ + height( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.left(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.left.html) + * + * 在插件中使用:支持 + * + * 设置 left 值 */ + left( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */ + matrix(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix3d()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix3d.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */ + matrix3d(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.opacity(number value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.opacity.html) + * + * 在插件中使用:支持 + * + * 设置透明度 */ + opacity( + /** 透明度,范围 0-1 */ + value: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.right(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.right.html) + * + * 在插件中使用:支持 + * + * 设置 right 值 */ + right( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate.html) + * + * 在插件中使用:支持 + * + * 从原点顺时针旋转一个角度 */ + rotate( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate3d(number x, number y, number z, number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate3d.html) + * + * 在插件中使用:支持 + * + * 从 固定 轴顺时针旋转一个角度 */ + rotate3d( + /** 旋转轴的 x 坐标 */ + x: number, + /** 旋转轴的 y 坐标 */ + y: number, + /** 旋转轴的 z 坐标 */ + z: number, + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateX.html) + * + * 在插件中使用:支持 + * + * 从 X 轴顺时针旋转一个角度 */ + rotateX( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateY.html) + * + * 在插件中使用:支持 + * + * 从 Y 轴顺时针旋转一个角度 */ + rotateY( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateZ(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateZ.html) + * + * 在插件中使用:支持 + * + * 从 Z 轴顺时针旋转一个角度 */ + rotateZ( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale(number sx, number sy)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale( + /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */ + sx: number, + /** 在 Y 轴缩放 sy 倍数 */ + sy?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale3d(number sx, number sy, number sz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale3d.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale3d( + /** x 轴的缩放倍数 */ + sx: number, + /** y 轴的缩放倍数 */ + sy: number, + /** z 轴的缩放倍数 */ + sz: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleX(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleX.html) + * + * 在插件中使用:支持 + * + * 缩放 X 轴 */ + scaleX( + /** X 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleY(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleY.html) + * + * 在插件中使用:支持 + * + * 缩放 Y 轴 */ + scaleY( + /** Y 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleZ(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleZ.html) + * + * 在插件中使用:支持 + * + * 缩放 Z 轴 */ + scaleZ( + /** Z 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skew(number ax, number ay)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skew.html) + * + * 在插件中使用:支持 + * + * 对 X、Y 轴坐标进行倾斜 */ + skew( + /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */ + ax: number, + /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */ + ay: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴坐标进行倾斜 */ + skewX( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴坐标进行倾斜 */ + skewY( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.step(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.step.html) + * + * 在插件中使用:支持 + * + * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */ + step(option?: StepOption): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.top(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.top.html) + * + * 在插件中使用:支持 + * + * 设置 top 值 */ + top( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate(number tx, number ty)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate.html) + * + * 在插件中使用:支持 + * + * 平移变换 */ + translate( + /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate3d(number tx, number ty, number tz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate3d.html) + * + * 在插件中使用:支持 + * + * 对 xyz 坐标进行平移变换 */ + translate3d( + /** 在 X 轴平移的距离,单位为 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number, + /** 在 Z 轴平移的距离,单位为 px */ + tz?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateX(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴平移 */ + translateX( + /** 在 X 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateY(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴平移 */ + translateY( + /** 在 Y 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateZ(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateZ.html) + * + * 在插件中使用:支持 + * + * 对 Z 轴平移 */ + translateZ( + /** 在 Z 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.width(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.width.html) + * + * 在插件中使用:支持 + * + * 设置宽度 */ + width( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + } + interface AudioBuffer { + /** [AudioBuffer.copyFromChannel()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyFromChannel.html) + * + * 在插件中使用:不支持 + * + * 从AudioBuffer的指定频道复制到数组终端。 */ + copyFromChannel(): void + /** [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyToChannel.html) + * + * 在插件中使用:不支持 + * + * 从指定数组复制样本到audioBuffer的特定通道 + * + * **示例代码** + * + * 示例代码参考AudioBuffer.copyFromChannel */ + copyToChannel( + /** 需要复制的源数组 */ + source: Float32Array, + /** 需要复制到的目的通道号 */ + channelNumber: number, + /** 复制偏移数据量 */ + startInChannel: number + ): void + /** [Float32Array AudioBuffer.getChannelData(number channel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.getChannelData.html) + * + * 在插件中使用:不支持 + * + * 返回一个 Float32Array,包含了带有频道的PCM数据,由频道参数定义(有0代表第一个频道) */ + getChannelData( + /** 要获取特定通道数据的索引 */ + channel: number + ): Float32Array + } + interface AudioContext { + /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 暂停音频。 */ + pause(): void + /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 播放音频。 */ + play(): void + /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 跳转到指定位置。 */ + seek( + /** 跳转位置,单位 s */ + position: number + ): void + /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 设置音频地址 */ + setSrc( + /** 音频地址 */ + src: string + ): void + } + interface BLEPeripheralServer { + /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 添加服务。 */ + addService(option: AddServiceOption): void + /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 关闭当前服务端。 */ + close(option?: BLEPeripheralServerCloseOption): void + /** [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求读当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicReadRequest(listener) +BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicReadRequest( + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicSubscribed(listener) +BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicSubscribed( + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除取消特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicUnsubscribed(listener) +BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicUnsubscribed( + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求写当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicWriteRequest(listener) +BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicWriteRequest( + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicReadRequest( + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听特征订阅事件,仅 iOS 支持。 */ + onCharacteristicSubscribed( + /** 特征订阅事件的监听函数 */ + listener: OnCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听取消特征订阅事件,仅 iOS 支持。 */ + onCharacteristicUnsubscribed( + /** 取消特征订阅事件的监听函数 */ + listener: OnCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicWriteRequest( + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 移除服务。 */ + removeService(option: RemoveServiceOption): void + /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 开始广播本地创建的外围设备。 + * + * **注意** + * + * - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID; + * - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](https://developers.weixin.qq.com/miniprogram/dev/framework/device/ble.html); + * - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。 + * - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。 + * - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 */ + startAdvertising(Object: StartAdvertisingObject): void + /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 停止广播。 */ + stopAdvertising(option?: StopAdvertisingOption): void + /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 */ + writeCharacteristicValue(Object: WriteCharacteristicValueObject): void + } + interface BackgroundAudioError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errCode: number + } + interface BackgroundAudioManager { + /** [BackgroundAudioManager.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */ + onCanplay( + /** 背景音频进入可播放状态事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [BackgroundAudioManager.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听背景音频自然播放结束事件 */ + onEnded( + /** 背景音频自然播放结束事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [BackgroundAudioManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放错误事件 */ + onError( + /** 背景音频播放错误事件的监听函数 */ + listener: BackgroundAudioManagerOnErrorCallback + ): void + /** [BackgroundAudioManager.onNext(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击下一曲事件(仅iOS) */ + onNext( + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + listener: OnNextCallback + ): void + /** [BackgroundAudioManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听背景音频暂停事件 */ + onPause( + /** 背景音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [BackgroundAudioManager.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放事件 */ + onPlay( + /** 背景音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [BackgroundAudioManager.onPrev(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击上一曲事件(仅iOS) */ + onPrev( + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + listener: OnPrevCallback + ): void + /** [BackgroundAudioManager.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听背景音频完成跳转操作事件 */ + onSeeked( + /** 背景音频完成跳转操作事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [BackgroundAudioManager.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听背景音频开始跳转操作事件 */ + onSeeking( + /** 背景音频开始跳转操作事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [BackgroundAudioManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听背景音频停止事件 */ + onStop( + /** 背景音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [BackgroundAudioManager.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */ + onTimeUpdate( + /** 背景音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [BackgroundAudioManager.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停音乐 */ + pause(): void + /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html) + * + * 在插件中使用:支持 + * + * 播放音乐 */ + play(): void + /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + currentTime: number + ): void + /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止音乐 */ + stop(): void + } + interface BeaconError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errCode: number + } + interface BluetoothError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number + } + interface CacheManager { + /** [Array.<string> CacheManager.addRules(Object rules)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量添加规则,规则写法可参考 [CacheManager.addRule](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)。 */ + addRules( + /** 规则列表 */ + rules: IAnyObject + ): string[] + /** [CacheManager.clearCaches()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有缓存。 */ + clearCaches(): void + /** [CacheManager.clearRules()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有规则,同时会删除对应规则下所有缓存。 */ + clearRules(): void + /** [CacheManager.deleteCache(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCache.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除缓存。 */ + deleteCache( + /** 缓存 id */ + id: string + ): void + /** [CacheManager.deleteCaches(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除缓存。 */ + deleteCaches( + /** 缓存 id 列表 */ + ids: string[] + ): void + /** [CacheManager.deleteRule(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRule.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除规则,同时会删除对应规则下所有缓存。 */ + deleteRule( + /** 规则 id */ + id: string + ): void + /** [CacheManager.deleteRules(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除规则,同时会删除对应规则下所有缓存。 */ + deleteRules( + /** 规则 id 列表 */ + ids: string[] + ): void + /** [CacheManager.off(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.off.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 取消事件监听。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.on(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.on.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 监听事件。 +* +* **** +* +* 这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。 +* +* #### 示例代码 +* +* ```js +async function handler(evt) { + // evt.url - 请求 url + // evt.data - 请求参数 + // evt.method - 请求方法 + // evt.request - 原始 request 方法,返回一个 promise + + // if (evt.url === '/xxx') { + // // 如果有些请求仍然希望走到网络,则可以如下处理 + // const res = await evt.request() + // // res 即为网络请求返回 + // } + + return new Promsie((resolve, reject) => { + // do sth + if (data) { + // 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回 + resolve(data) + } else { + // 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回 + reject('no data') + } + }) +} +cacheManager.on('request', handler) +``` */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'request': 发生 wx.request 请求,只在缓存管理器开启阶段会触发; + * - 'enterWeakNetwork': 进入弱网/离线状态; + * - 'exitWeakNetwork': 离开弱网/离线状态; */ + eventName: 'request' | 'enterWeakNetwork' | 'exitWeakNetwork', + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.start.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。 */ + start(): void + /** [CacheManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.stop.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。 */ + stop(): void + /** [Object CacheManager.match(Object evt)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.match.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 匹配命中的缓存规则,一般需要和 request 事件搭配使用。 +* +* **示例代码** +* +* ```js +function handler(evt) { + const cache = cacheManager.match(evt) + // 若有重复监听,则取第一个 handler 返回的 promise + return new Promise((resolve, reject) => { + if (cache.data) { + resolve(cache.data) + } else { + reject('no cache') + } + }) +} +cacheManager.on('request', handler) +``` */ + match( + /** request 事件对象 */ + evt: IAnyObject + ): MatchCache + /** [string CacheManager.addRule(Object rule)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 添加规则。 +* +* **规则说明** +* +* 支持的规则写法有字符串、正则和对象三种: +* +* ### 字符串写法 +* +* 1. `addRule('/abc')`:纯 uri 串。 +* 2. `addRule('GET /abc'):带方法的 uri 串,除了匹配 uri 外,还会匹配请求方法。如例子中必须是 GET 方法请求才会被匹配。 +* 3. `addRule('/abc/:id'):带可变部分的 uri 串,id 可以是任意符合标准的字符串,表示这一段可以动态变化。比如 `/abc/123` 和 `/abc/321` 都会被匹配,而 `/abc/123/xxx` 因为多了一段,就不会被匹配。 +* 4. `addRule('/abc?aa'):带 query 参数的 uri 串,包含 aa 参数,值可以为任意值。比如 `/abc?aa=haha` 会被匹配,但是 `/abc` 就不会被匹配,因为缺少规则中声明的 aa 参数;不过如果请求是 `/abc?aa=haha&bb=123`,虽然多带了 bb 参数,但是因为包含了 aa 参数,所以也可以被匹配。 +* 5. `addRule('/abc?dd=haha'):带 query 参数的 uri 串,包含 dd 参数且值为 haha。比如 `/abc?dd=haha` 和 `/abc?dd=haha&bb=123` 会被匹配,而 `/abc?dd=123` 就不会被匹配,因为规则要求了 dd 参数的值。 +* +* > 以上写法中的 uri 串如果只有 path 部分,则会取全局 origin 进行补全。比如全局 origin 是 `https://weixin.qq.com`,而规则是 `/abc`,则会补全为 `https://weixin.qq.com/abc`。因此在前面例子中 `addRule('/abc')` 和 `addRule('https://weixin.qq.com/abc')` 的写法效果一致。所以一般情况下如果需要匹配的请求 origin 和全局 origin 一致,则规则中可忽略不写 orign。 +* +* ### 正则写法 +* +* 1. `addRule(/\/(abc|cba)$/ig)`:直接正则匹配请求的 uri,同时会比对请求 origin 和全局 origin 是否一致。 +* 2. `addRule(/^https:\/\/weixin.qq.com\/(abc|cba)$/ig)`:带有 orign 部分的正则表达式,则只匹配 uri,不再比对 origin。 +* +* ### 对象写法 +* +* 使用规则对象,可以更为详细的描述规则内容。(一般使用规则对象,是为了匹配请求参数) +* +* #### 规则对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | id | string | | 规则 id,如果不填则会由基础库生成 | +* | method | string | | 请求方法,可选值 GET/POST/PATCH/PUT/DELETE,如果为空则表示前面提到的所有方法都能被匹配到 | +* | url | any | 必填 | uri 匹配规则,可参考规则字符串写法和正则写法 | +* | maxAge | number | 7 * 24 * 60 * 60 * 1000 | 缓存有效时间,单位为 ms,不填则默认取缓存管理器全局的缓存有效时间 | +* | dataSchema | Array\<DataRule\> | | 匹配请求参数 | +* +* 其中,dataSchema 用来匹配对象类型的请求参数(比如 wx.request 的 data),默认可以不填,即不做参数匹配。 +* +* dataSchema 的类型是一个 DataRule 对象数组,一个 DataRule 对象描述一个参数,比如一个 wx.request 请求的 data 是 `{a: 123, b: 'haha', c: true}`,你想要用一条规则来匹配其中的 a 和 b 参数,如果 a 是数字且 b 是字符串就能命中该规则,那么就需要在 dataSchema 中补充两个 DataRule 对象,即 `[{name: 'a', schema: {type: 'number'}}, {name: 'b', schema: {type: 'string'}}]`。 +* +* #### DataRule 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | name | string | | 需要匹配的参数名 | +* | schema | DataSchema/Array\<DataSchema\> | 需要匹配的参数模式,支持数组,表示该参数值有多种模式 | +* +* name 表示要匹配的参数名,schema 为 DataSchema 对象,用来描述该参数的类型和值。 +* +* 一个 DataRule 对象也可以匹配可能拥有多种类型的参数,所以 schema 也支持为 DataSchema 对象数组。比如上述例子中,希望匹配的 a 参数必须是数值或者字符串,那么可以这么写:`{name: 'a', schema: [{type: 'number'}, {type: 'string'}]}`。 +* +* #### DataSchema 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | type | string | | 需要匹配的 data 对象的参数类型,string、number、boolean、null、object、any(表示任意类型),同时支持数组模式(数组模式则在类型后面加 [],如 string[] 表示字符串数组) | +* | value | string/regexp/function/Array\<DataRule\> | | 需要匹配的 data 对象的参数值,当 type 为基本类型时,可以用 string/regexp 来匹配固定的值,也可以通过 function 来确定值是否匹配,如果传入的 type 是 object,那么表示需要嵌套匹配值是否正确,可以传入 Array<DataRule> | +* +* type 参数表示要匹配的参数类型,value 表示要匹配的参数值。其中 value 支持多种写法,不同写法有如下匹配方式: +* +* 1. 字符串写法:直接判值的字符串形式是否和给定字符串一样,比如 value 值为 `123`,就要求参数值必须为 123 才能与之匹配。 +* 2. 正则写法:直接判值的字符串形式是否能被正则匹配,比如 value 值为 `/\d+/ig`,就要求参数值必须为数字,如果参数值为 `abc` 则不会被匹配。 +* 3. 函数写法:在匹配时会调用用户传入的函数,交由用户判断是否匹配。 +* 4. DataRule 数组写法:当参数类型为对象时,那么字符串写法和正则写法就无法使用,需要传入 DataRule 数组来进行匹配,即通过嵌套 DataRule 数组的方式来匹配嵌套的对象。 +* +* ### 示例代码 +* +* ```js +const ruleId = cacheManager.addRule({ + id: 'haha-rule', + method: 'GET', + url: '/haha', + maxAge: 123455, + dataSchema: [ + // data 字段的匹配,默认为空,表示不匹配 + // 类型可以是:string、number、boolean、null、object、any(表示任意类型均可),以及这些类型的数组表示方式 + {name: 'aaa', schema: {type: 'string'}}, // 类型为 string + {name: 'bbb', schema: [{type: 'number'}, {type: 'string'}]}, // 类型为 number, string + {name: 'ccc', schema: {type: 'string', value: 'abc'}}, // 值为 abc + {name: 'ddd', schema: {type: 'string', value: /(abc|cba)/ig}}, // 值符合该正则匹配,如果该值不是字符串类型,则会被尝试转成字符串后再进行比较 + {name: 'ddd', schema: {type: 'string', value: val => val === '123'}}, // 传入函数来校验值 + {name: 'eee', schema: {type: 'object', value: [{ // 类型为对象,则通过嵌套的方式来逐层校验 + name: 'aaa', schema: {type: 'string'}, + // ... + // 嵌套 dataSchema,同上面的方式一样来匹配嵌套的对象 + }]}}, + {name: 'fff', schema: {type: 'string[]'}}, // 类型为 string 数组 + {name: 'ggg', schema: {type: 'any'}}, // 类型为任意类型 + {name: 'hhh', schema: {type: 'any[]'}}, // 类型为任意类型的数组 + }], +}) +``` +* +* ### 补充说明 +* +* 用户可以添加多条规则,每条规则都会去解析网络请求,然后判断是否命中规则。假设有多条规则命中,则取第一条命中的规则。 +* +* ### 缓存覆盖 +* +* 不同的网络请求也可能命中同一条规则,所以每条规则可能对应多个缓存。每条规则会有一个规则 id,每个缓存会有一个缓存 id,一个规则 id 可能对应多个缓存 id,而缓存管理器的缓存存储是基于缓存 id 标识的,如果两个不同的请求生成了同样的缓存 id,那么后发生的请求结果缓存会覆盖前者。因此使用时需要思考缓存的覆盖情况,目前缓存 id 生成方式如下: +* +* 1. 规则使用字符串写法:那么按 method + url + 规则中声明的 query 参数来生成缓存 id。 +* +* > 需要注意的是这里不使用真实请求中的 query 参数来生成缓存 id,而是使用规则中匹配到的 query 来生成缓存 id。比如规则是 `/abc?aa=123`,请求是 GET 方法的 `/abc?aa=123&bb=123`,那么就会基于 `GET /abc?aa=123` 来生成缓存 id。而规则里没有声明 `bb=123`,所以 bb 参数不会被纳入缓存 id 的生成基准。 +* +* 2. 规则使用正则写法:那么只按 method + url 生成缓存 id,不考虑 query 参数。 +* 3. 规则使用对象写法:如果规则对象中的 url 是字符串写法,那么按 method + url + 规则中声明的 query 参数 + 规则中 dataSchema 声明的请求参数来生成缓存 id;如果规则对象中的 url 是正则写法,那么按 method + url + 规则中 dataSchema 声明的请求参数来生成缓存 id。 +* +* > 生成缓存 id 时没有使用请求中完整的 query 参数或者请求参数来作为基准,是考虑到很多请求可能会带上 token 或时间戳等参数。因为此参数存在不确定性,会导致每次请求生成的缓存 id 都不同,进而导致缓存命中率下降,故采取规则中声明的 query 参数和 dataSchema 声明的请求参数来作为生成缓存 id 的基准。 */ + addRule( + /** 规则 */ + rule: IAnyObject + ): string + } + interface CameraContext { + /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置缩放级别 */ + setZoom(option: SetZoomOption): void + /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html) + * + * 在插件中使用:支持 + * + * 开始录像 */ + startRecord(option: CameraContextStartRecordOption): void + /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html) + * + * 在插件中使用:支持 + * + * 结束录像 */ + stopRecord(option: CameraContextStopRecordOption): void + /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html) + * + * 在插件中使用:支持 + * + * 拍摄照片 */ + takePhoto(option: TakePhotoOption): void + /** [[CameraFrameListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.html) CameraContext.onCameraFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.onCameraFrame.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 获取 Camera 实时帧数据 +* +* **** +* +* 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。 +* +* **示例代码** +* +* ```js +const context = wx.createCameraContext() +const listener = context.onCameraFrame((frame) => { + console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height) +}) +listener.start() +``` */ + onCameraFrame( + /** 回调函数 */ + callback: OnCameraFrameCallback + ): CameraFrameListener + } + interface CameraFrameListener { + /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html) + * + * 在插件中使用:不支持 + * + * 开始监听帧数据 */ + start(option?: CameraFrameListenerStartOption): void + /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html) + * + * 在插件中使用:不支持 + * + * 停止监听帧数据 */ + stop(option?: StopOption): void + } + interface Canvas { + /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + cancelAnimationFrame(requestID: number): void + /** [[ImageData](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html) Canvas.createImageData()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。 */ + createImageData(): ImageData + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) Canvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + createImage(): Image + /** [[Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) Canvas.createPath2D([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createPath2D.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 创建 Path2D 对象 */ + createPath2D( + /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) */ + path: Path2D + ): Path2D + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) Canvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 该方法返回 Canvas 的绘图上下文 + * + * **** + * + * 支持获取 2D 和 WebGL 绘图上下文 */ + getContext(contextType: string): any + /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 */ + toDataURL( + /** 图片格式,默认为 image/png */ + type: string, + /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */ + encoderOptions: number + ): string + } + interface CanvasContext { + /** [CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一条弧线。 +* +* - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。 +* - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw coordinates +ctx.arc(100, 75, 50, 0, 2 * Math.PI) +ctx.setFillStyle('#EEEEEE') +ctx.fill() + +ctx.beginPath() +ctx.moveTo(40, 75) +ctx.lineTo(160, 75) +ctx.moveTo(100, 15) +ctx.lineTo(100, 135) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +ctx.setFontSize(12) +ctx.setFillStyle('black') +ctx.fillText('0', 165, 78) +ctx.fillText('0.5*PI', 83, 145) +ctx.fillText('1*PI', 15, 78) +ctx.fillText('1.5*PI', 83, 10) + +// Draw points +ctx.beginPath() +ctx.arc(100, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(100, 25, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.beginPath() +ctx.arc(150, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +// Draw arc +ctx.beginPath() +ctx.arc(100, 75, 50, 0, 1.5 * Math.PI) +ctx.setStrokeStyle('#333333') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/arc.png) +* +* 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下: +* +* - 绿色: 圆心 (100, 75) +* - 红色: 起始弧度 (0) +* - 蓝色: 终止弧度 (1.5 * Math.PI) */ + arc( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number, + /** 起始弧度,单位弧度(在3点钟方向) */ + sAngle: number, + /** 终止弧度 */ + eAngle: number, + /** 弧度的方向是否是逆时针 */ + counterclockwise?: boolean + ): void + /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 根据控制点和半径绘制圆弧路径。 */ + arcTo( + /** 第一个控制点的 x 轴坐标 */ + x1: number, + /** 第一个控制点的 y 轴坐标 */ + y1: number, + /** 第二个控制点的 x 轴坐标 */ + x2: number, + /** 第二个控制点的 y 轴坐标 */ + y2: number, + /** 圆弧的半径 */ + radius: number + ): void + /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边 +* +* - 在最开始的时候相当于调用了一次 `beginPath`。 +* - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + beginPath(): void + /** [CanvasContext.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.arc(200, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(150, 75) + +ctx.moveTo(200, 20) +ctx.lineTo(200, 100) +ctx.lineTo(70, 75) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.bezierCurveTo(20, 100, 200, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/bezier-curve.png) +* +* 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:两个控制点(20, 100) (200, 100) +* - 绿色:终止点(200, 20) */ + bezierCurveTo( + /** 第一个贝塞尔控制点的 x 坐标 */ + cp1x: number, + /** 第一个贝塞尔控制点的 y 坐标 */ + cp1y: number, + /** 第二个贝塞尔控制点的 x 坐标 */ + cp2x: number, + /** 第二个贝塞尔控制点的 y 坐标 */ + cp2y: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 清除画布上在该矩形区域内的内容 +* +* **示例代码** +* +* clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。 +* ```html +* <canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/> +* ``` +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(0, 0, 150, 200) +ctx.setFillStyle('blue') +ctx.fillRect(150, 0, 150, 200) +ctx.clearRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/clear-rect.png) */ + clearRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.downloadFile({ + url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg', + success: function(res) { + ctx.save() + ctx.beginPath() + ctx.arc(50, 50, 25, 0, 2*Math.PI) + ctx.clip() + ctx.drawImage(res.tempFilePath, 25, 25) + ctx.restore() + ctx.draw() + } +}) +``` +* ![](@program/dev/image/canvas/clip.png) */ + clip(): void + /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.closePath() +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/close-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.closePath() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/close-path.png) */ + closePath(): void + /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 对指定的图像创建模式的方法,可在指定的方向上重复元图像 */ + createPattern( + /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */ + image: string, + /** 如何重复图像 + * + * 参数 repetition 可选值: + * - 'repeat': 水平竖直方向都重复; + * - 'repeat-x': 水平方向重复; + * - 'repeat-y': 竖直方向重复; + * - 'no-repeat': 不重复; */ + repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' + ): void + /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 +* +* **示例代码** +* +* 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw(true) +``` +* ![](@program/dev/image/canvas/reserve.png) +* +* **示例代码** +* +* 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw() +``` +* ![](@program/dev/image/canvas/un-reserve.png) */ + draw( + /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */ + reserve?: boolean, + /** 绘制完成后执行的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */ + sx: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */ + sy: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */ + sWidth: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */ + sHeight: number, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前路径中的内容进行填充。默认的填充色为黑色。 +* +* **示例代码** +* +* 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.fill() +ctx.draw() +``` +* +* fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。 +* +* ![](@program/dev/image/canvas/fill-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + fill(): void + /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + fillRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在画布上绘制被填充的文本 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('Hello', 20, 20) +ctx.fillText('MINA', 100, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/text.png) */ + fillText( + /** 在画布上输出的文本 */ + text: string, + /** 绘制文本的左上角 x 坐标位置 */ + x: number, + /** 绘制文本的左上角 y 坐标位置 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.rect(10, 10, 100, 50) +ctx.lineTo(110, 60) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-to.png) */ + lineTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) + +ctx.moveTo(10, 50) +ctx.lineTo(100, 50) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/move-to.png) */ + moveTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(200, 20) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.quadraticCurveTo(20, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/quadratic-curve-to.png) +* +* 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:控制点(20, 100) +* - 绿色:终止点(200, 20) */ + quadraticCurveTo( + /** 贝塞尔控制点的 x 坐标 */ + cpx: number, + /** 贝塞尔控制点的 y 坐标 */ + cpy: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个矩形路径。需要用 [`fill`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) 或者 [`stroke`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) 方法将矩形真正的画到 `canvas` 中 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.rect(10, 10, 150, 75) +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + rect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 恢复之前保存的绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + restore(): void + /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/rotate.png) */ + rotate( + /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */ + rotate: number + ): void + /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 保存绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + save(): void + /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/scale.png) */ + scale( + /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleWidth: number, + /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleHeight: number + ): void + /** [CanvasContext.setFillStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.fillStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置填充色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + setFillStyle( + /** 填充的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.font](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置字体的字号 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('20', 20, 20) +ctx.setFontSize(30) +ctx.fillText('30', 40, 40) +ctx.setFontSize(40) +ctx.fillText('40', 60, 60) +ctx.setFontSize(50) +ctx.fillText('50', 90, 90) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/font-size.png) */ + setFontSize( + /** 字体的字号 */ + fontSize: number + ): void + /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.globalAlpha](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置全局画笔透明度。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.setGlobalAlpha(0.2) +ctx.setFillStyle('blue') +ctx.fillRect(50, 50, 150, 100) +ctx.setFillStyle('yellow') +ctx.fillRect(100, 100, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/global-alpha.png) */ + setGlobalAlpha( + /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + alpha: number + ): void + /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineCap](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的端点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('butt') +ctx.setLineWidth(10) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('round') +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('square') +ctx.setLineWidth(10) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-cap.png) */ + setLineCap( + /** 线条的结束端点样式 + * + * 参数 lineCap 可选值: + * - 'butt': 向线条的每个末端添加平直的边缘。; + * - 'round': 向线条的每个末端添加圆形线帽。; + * - 'square': 向线条的每个末端添加正方形线帽。; */ + lineCap: 'butt' | 'round' | 'square' + ): void + /** [CanvasContext.setLineDash(Array.<number> pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineDashOffset](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置虚线样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setLineDash([10, 20], 5); + +ctx.beginPath(); +ctx.moveTo(0,100); +ctx.lineTo(400, 100); +ctx.stroke(); + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-line-dash.png) */ + setLineDash( + /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */ + pattern: number[], + /** 虚线偏移量 */ + offset: number + ): void + /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineJoin](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的交点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('bevel') +ctx.setLineWidth(10) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('round') +ctx.setLineWidth(10) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('miter') +ctx.setLineWidth(10) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-join.png) */ + setLineJoin( + /** 线条的结束交点样式 + * + * 参数 lineJoin 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + ): void + /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineWidth](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的宽度 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(5) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(15) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/line-width.png) */ + setLineWidth( + /** 线条的宽度,单位px */ + lineWidth: number + ): void + /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.miterLimit](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(1) +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(2) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(3) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(4) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/miter-limit.png) */ + setMiterLimit( + /** 最大斜接长度 */ + miterLimit: number + ): void + /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.shadowOffsetX|CanvasContext.shadowOffsetY|CanvasContext.shadowColor|CanvasContext.shadowBlur](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设定阴影样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.setShadow(10, 50, 50, 'blue') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/shadow.png) */ + setShadow( + /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */ + offsetX: number, + /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */ + offsetY: number, + /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */ + blur: number, + /** 阴影的颜色。默认值为 black。 */ + color: string + ): void + /** [CanvasContext.setStrokeStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.strokeStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置描边颜色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + setStrokeStyle( + /** 描边的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(150, 20) +ctx.lineTo(150, 170) +ctx.stroke() + +ctx.setFontSize(15) +ctx.setTextAlign('left') +ctx.fillText('textAlign=left', 150, 60) + +ctx.setTextAlign('center') +ctx.fillText('textAlign=center', 150, 80) + +ctx.setTextAlign('right') +ctx.fillText('textAlign=right', 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/set-text-align.png) */ + setTextAlign( + /** 文字的对齐方式 + * + * 参数 align 可选值: + * - 'left': 左对齐; + * - 'center': 居中对齐; + * - 'right': 右对齐; */ + align: 'left' | 'center' | 'right' + ): void + /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的竖直对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(5, 75) +ctx.lineTo(295, 75) +ctx.stroke() + +ctx.setFontSize(20) + +ctx.setTextBaseline('top') +ctx.fillText('top', 5, 75) + +ctx.setTextBaseline('middle') +ctx.fillText('middle', 50, 75) + +ctx.setTextBaseline('bottom') +ctx.fillText('bottom', 120, 75) + +ctx.setTextBaseline('normal') +ctx.fillText('normal', 200, 75) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-text-baseline.png) */ + setTextBaseline( + /** 文字的竖直对齐方式 + * + * 参数 textBaseline 可选值: + * - 'top': 顶部对齐; + * - 'bottom': 底部对齐; + * - 'middle': 居中对齐; + * - 'normal': ; */ + textBaseline: 'top' | 'bottom' | 'middle' | 'normal' + ): void + /** [CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵重新设置(覆盖)当前变换的方法 */ + setTransform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画出当前路径的边框。默认颜色色为黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-line.png) +* +* stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setStrokeStyle('yellow') +ctx.stroke() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only stoke this rect, not in current path +ctx.setStrokeStyle('blue') +ctx.strokeRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will stroke current path +ctx.setStrokeStyle('red') +ctx.stroke() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/stroke-path.png) */ + stroke(): void + /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + strokeRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 给定的 (x, y) 位置绘制文本描边的方法 */ + strokeText( + /** 要绘制的文本 */ + text: string, + /** 文本起始点的 x 轴坐标 */ + x: number, + /** 文本起始点的 y 轴坐标 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵多次叠加当前变换的方法 */ + transform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/translate.png) */ + translate( + /** 水平坐标平移量 */ + x: number, + /** 竖直坐标平移量 */ + y: number + ): void + /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。 */ + measureText( + /** 要测量的文本 */ + text: string + ): TextMetrics + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createCircularGradient(number x, number y, number r)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createCircularGradient(75, 50, 50) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/circular-gradient.png) */ + createCircularGradient( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number + ): CanvasGradient + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createLinearGradient(number x0, number y0, number x1, number y1)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create linear gradient +const grd = ctx.createLinearGradient(0, 0, 200, 0) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/linear-gradient.png) */ + createLinearGradient( + /** 起点的 x 坐标 */ + x0: number, + /** 起点的 y 坐标 */ + y0: number, + /** 终点的 x 坐标 */ + x1: number, + /** 终点的 y 坐标 */ + y1: number + ): CanvasGradient + } + interface CanvasGradient { + /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染 +* +* **示例代码** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createLinearGradient(30, 10, 120, 10) +grd.addColorStop(0, 'red') +grd.addColorStop(0.16, 'orange') +grd.addColorStop(0.33, 'yellow') +grd.addColorStop(0.5, 'green') +grd.addColorStop(0.66, 'cyan') +grd.addColorStop(0.83, 'blue') +grd.addColorStop(1, 'purple') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/color-stop.png) */ + addColorStop( + /** 表示渐变中开始与结束之间的位置,范围 0-1。 */ + stop: number, + /** 渐变点的颜色。 */ + color: string + ): void + } + interface CloseSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errCode: number + } + interface Console { + /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 error 日志 */ + error( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) + * + * 在插件中使用:不支持 + * + * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + group( + /** 分组标记,可选。 */ + label?: string + ): void + /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html) + * + * 在插件中使用:不支持 + * + * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + groupEnd(): void + /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 info 日志 */ + info( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 log 日志 */ + log( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + } + interface DownloadTask { + /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断下载任务 */ + abort(): void + /** [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onHeadersReceived(listener) +DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除下载进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onProgressUpdate(listener) +DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: DownloadTaskOffProgressUpdateCallback + ): void + /** [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听下载进度变化事件 */ + onProgressUpdate( + /** 下载进度变化事件的监听函数 */ + listener: DownloadTaskOnProgressUpdateCallback + ): void + } + interface EditorContext { + /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 编辑器失焦,同时收起键盘。 */ + blur(option?: BlurOption): void + /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清空编辑器内容 */ + clear(option?: ClearOption): void + /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 修改样式 + * + * **** + * + * ## 支持设置的样式列表 + * | name | value | verson | + * | --------------------------------------------------------- | ------------------------------- | ------ | + * | bold | | 2.7.0 | + * | italic | | 2.7.0 | + * | underline | | 2.7.0 | + * | strike | | 2.7.0 | + * | ins | | 2.7.0 | + * | script | sub / super | 2.7.0 | + * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 | + * | align | left / center / right / justify | 2.7.0 | + * | direction | rtl | 2.7.0 | + * | indent | -1 / +1 | 2.7.0 | + * | list | ordered / bullet / check | 2.7.0 | + * | color | hex color | 2.7.0 | + * | backgroundColor | hex color | 2.7.0 | + * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 | + * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 | + * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 | + * | lineHeight | css style | 2.7.0 | + * | letterSpacing | css style | 2.7.0 | + * | textDecoration | css style | 2.7.0 | + * | textIndent | css style | 2.8.0 | + * | wordWrap | css style | 2.10.2 | + * | wordBreak | css style | 2.10.2 | + * | whiteSpace | css style | 2.10.2 | + * + * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。 */ + format( + /** 属性 */ + name: string, + /** 值 */ + value?: string + ): void + /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 获取编辑器内容 */ + getContents(option?: GetContentsOption): void + /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html) + * + * 需要基础库: `2.10.2` + * + * 在插件中使用:支持 + * + * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。 */ + getSelectionText(option?: GetSelectionTextOption): void + /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 插入分割线 */ + insertDivider(option?: InsertDividerOption): void + /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 插入图片。 +* +* 地址为临时文件时,获取的编辑器html格式内容中 <img> 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。 +* +* 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 <img> 的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。 +* +* **示例代码** +* +* ```javascript +this.editorCtx.insertImage({ + src: 'xx', + width: '100px', + height: '50px', + extClass: className +}) +``` */ + insertImage(option: InsertImageOption): void + /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 覆盖当前选区,设置一段文本 */ + insertText(option: InsertTextOption): void + /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 恢复 */ + redo(option?: RedoOption): void + /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清除当前选区的样式 */ + removeFormat(option?: RemoveFormatOption): void + /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 使得编辑器光标处滚动到窗口可视区域内。 */ + scrollIntoView(): void + /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 初始化编辑器内容,html和delta同时存在时仅delta生效 */ + setContents(option: SetContentsOption): void + /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 撤销 */ + undo(option?: UndoOption): void + } + interface EntryList { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前列表中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + name: string, + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有类型为 [entryType] 的性能数据 */ + getEntriesByType(entryType: string): PerformanceEntry[] + } + interface EventChannel { + /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 触发一个事件 */ + emit( + /** 事件名称 */ + eventName: string, + /** 事件参数 */ + ...args: any + ): void + /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 持续监听一个事件 */ + on( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 监听一个事件一次,触发后失效 */ + once( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + } + interface FileSystemManager { + /** [Array.<string> FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdirSync( + /** 要读取的目录路径 (本地路径) */ + dirPath: string + ): string[] + /** [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFileSync.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 同步读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +try { + const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + }) + console.log(data) +} catch (err) { + console.log(err) +} +``` */ + readCompressedFileSync( + option: ReadCompressedFileSyncOption + ): ArrayBuffer + /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 判断文件/目录是否存在 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + access(option: AccessOption): void + /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + accessSync( + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + ): void + /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 在文件结尾追加内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFile(option: AppendFileOption): void + /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFileSync( + /** 要追加内容的文件路径 (本地路径) */ + filePath: string, + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.close.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 关闭文件 + fs.close({ + fd: res.fd + }) + } +}) +``` */ + close(option: FileSystemManagerCloseOption): void + /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 复制文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFile(option: CopyFileOption): void + /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFileSync( + /** 源文件路径,支持本地路径 */ + srcPath: string, + /** 目标文件路径,支持本地路径 */ + destPath: string + ): void + /** [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstat.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 获取文件的状态信息 + fs.fstat({ + fd: res.fd, + success(res) { + console.log(res.stats) + } + }) + } +}) +``` */ + fstat(option: FstatOption): void + /** [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 对文件内容进行截断操作 + fs.ftruncate({ + fd: res.fd, + length: 10, // 从第10个字节开始截断文件 + success(res) { + console.log(res) + } + }) + } +}) +``` */ + ftruncate(option: FtruncateOption): void + /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */ + getFileInfo(option: FileSystemManagerGetFileInfoOption): void + /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下已保存的本地缓存文件列表 */ + getSavedFileList(option?: FileSystemManagerGetSavedFileListOption): void + /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 创建目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdir(option: MkdirOption): void + /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdirSync( + /** 创建的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + ): void + /** [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + console.log(res.fd) + } +}) +``` */ + open(option: OpenOption): void + /** [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.read.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 读取文件到 ArrayBuffer 中 + fs.read({ + fd: res.fd, + arrayBuffer: ab, + length: 10, + success(res) { + console.log(res) + } + }) + } +}) +``` */ + read(option: ReadOption): void + /** [FileSystemManager.readCompressedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFile.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', +}) +console.log(data) +``` */ + readCompressedFile(option: ReadCompressedFileOption): void + /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取本地文件内容。单个文件大小上限为100M。 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFile(option: ReadFileOption): void + /** [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readZipEntry.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取压缩包内的文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 读取zip内某个或多个文件 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: [{ + path: 'some_folder/my_file.txt', // zip内文件路径 + encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte + length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte + }, { + path: 'other_folder/orther_file.txt', // zip内文件路径 + }], + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // data: (ArrayBuffer) + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) + +// 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: 'all' + encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) +``` */ + readZipEntry(option: ReadZipEntryOption): void + /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取目录内文件列表 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdir(option: ReaddirOption): void + /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html) + * + * 在插件中使用:不支持 + * + * 删除该小程序下已保存的本地缓存文件 */ + removeSavedFile(option: FileSystemManagerRemoveSavedFileOption): void + /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 重命名文件。可以把文件从 oldPath 移动到 newPath +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rename(option: RenameOption): void + /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + renameSync( + /** 源文件路径,支持本地路径 */ + oldPath: string, + /** 新文件路径,支持本地路径 */ + newPath: string + ): void + /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdir(option: RmdirOption): void + /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdirSync( + /** 要删除的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + ): void + /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) + * + * 在插件中使用:不支持 + * + * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */ + saveFile(option: FileSystemManagerSaveFileOption): void + /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取文件 Stats 对象 */ + stat(option: StatOption): void + /** [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncate({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 + success(res) { + console.log(res) + } +}) +``` */ + truncate(option: TruncateOption): void + /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlink(option: UnlinkOption): void + /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlinkSync( + /** 要删除的文件路径 (本地路径) */ + filePath: string + ): void + /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 解压文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unzip({ + zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`, + targetPath: '${wx.env.USER_DATA_PATH}/example', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + unzip(option: UnzipOption): void + /** [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.write.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 写入文件 + fs.write({ + fd: res.fd, + data: 'some text', + success(res) { + console.log(res.bytesWritten) + } + }) + } +}) +``` */ + write(option: WriteOption): void + /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFile(option: WriteFileOption): void + /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFileSync( + /** 要写入的文件路径 (本地路径) */ + filePath: string, + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [[ReadResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/ReadResult.html) FileSystemManager.readSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.readSync({ + fd: fd, + arrayBuffer: ab, + length: 10 +}) +console.log(res) +``` */ + readSync(option: ReadSyncOption): ReadResult + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) FileSystemManager.fstatSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstatSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const stats = fs.fstatSync({fd: fd}) +console.log(stats) +``` */ + fstatSync(option: FstatSyncOption): Stats + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */ + statSync( + /** 文件/目录路径 (本地路径) */ + path: string, + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + ): Stats | Stats[] + /** [[WriteResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/WriteResult.html) FileSystemManager.writeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.writeSync({ + fd: fd, + data: 'some text' +}) +console.log(res.bytesWritten) +``` */ + writeSync(option: WriteSyncOption): WriteResult + /** [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +console.log(fd) +``` */ + openSync(option: OpenSyncOption): string + /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html) + * + * 在插件中使用:不支持 + * + * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */ + saveFileSync( + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string, + /** 要存储的文件路径 (本地路径) */ + filePath?: string + ): string + /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFileSync( + /** 要读取的文件的路径 (本地路径) */ + filePath: string, + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1', + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number, + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + ): string | ArrayBuffer + /** [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.closeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) + +// 关闭文件 +fs.closeSync({fd: fd}) +``` */ + closeSync(option: CloseSyncOption): undefined + /** [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +fs.ftruncateSync({ + fd: fd, + length: 10 // 从第10个字节开始截断文件 +}) +``` */ + ftruncateSync(option: FtruncateSyncOption): undefined + /** [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 (truncate 的同步版本) +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncateSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 +}) +``` */ + truncateSync(option: TruncateSyncOption): undefined + } + interface FstatSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errCode: number + } + interface FtruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface InnerAudioContext { + /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁当前实例 */ + destroy(): void + /** [InnerAudioContext.offCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进入可以播放状态的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onCanplay(listener) +InnerAudioContext.offCanplay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCanplay( + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCanplayCallback + ): void + /** [InnerAudioContext.offEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频自然播放至结束的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onEnded(listener) +InnerAudioContext.offEnded(listener) // 需传入与监听时同一个的函数对象 +``` */ + offEnded( + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffEndedCallback + ): void + /** [InnerAudioContext.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onError(listener) +InnerAudioContext.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InnerAudioContextOffErrorCallback + ): void + /** [InnerAudioContext.offPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频暂停事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPause(listener) +InnerAudioContext.offPause(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPause( + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPauseCallback + ): void + /** [InnerAudioContext.offPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPlay(listener) +InnerAudioContext.offPlay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPlay( + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPlayCallback + ): void + /** [InnerAudioContext.offSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频完成跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeked(listener) +InnerAudioContext.offSeeked(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeked( + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekedCallback + ): void + /** [InnerAudioContext.offSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进行跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeking(listener) +InnerAudioContext.offSeeking(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeking( + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekingCallback + ): void + /** [InnerAudioContext.offStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频停止事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onStop(listener) +InnerAudioContext.offStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offStop( + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffStopCallback + ): void + /** [InnerAudioContext.offTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放进度更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onTimeUpdate(listener) +InnerAudioContext.offTimeUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offTimeUpdate( + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffTimeUpdateCallback + ): void + /** [InnerAudioContext.offWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频加载中事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onWaiting(listener) +InnerAudioContext.offWaiting(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWaiting( + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWaitingCallback + ): void + /** [InnerAudioContext.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */ + onCanplay( + /** 音频进入可以播放状态的事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [InnerAudioContext.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听音频自然播放至结束的事件 */ + onEnded( + /** 音频自然播放至结束的事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [InnerAudioContext.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html) + * + * 在插件中使用:支持 + * + * 监听音频播放错误事件 + * + * **Tips** + * + * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length + * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */ + onError( + /** 音频播放错误事件的监听函数 */ + listener: InnerAudioContextOnErrorCallback + ): void + /** [InnerAudioContext.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html) + * + * 在插件中使用:支持 + * + * 监听音频暂停事件 */ + onPause( + /** 音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [InnerAudioContext.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听音频播放事件 */ + onPlay( + /** 音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [InnerAudioContext.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听音频完成跳转操作的事件 */ + onSeeked( + /** 音频完成跳转操作的事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [InnerAudioContext.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听音频进行跳转操作的事件 */ + onSeeking( + /** 音频进行跳转操作的事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [InnerAudioContext.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html) + * + * 在插件中使用:支持 + * + * 监听音频停止事件 */ + onStop( + /** 音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [InnerAudioContext.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听音频播放进度更新事件 */ + onTimeUpdate( + /** 音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [InnerAudioContext.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停。暂停后的音频再播放会从暂停处开始播放 */ + pause(): void + /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(): void + /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + position: number + ): void + /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止。停止后的音频再播放会从头开始播放。 */ + stop(): void + } + interface IntersectionObserver { + /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html) + * + * 在插件中使用:支持 + * + * 指定目标节点并开始监听相交状态变化情况 */ + observe( + /** 选择器 */ + targetSelector: string, + /** 监听相交状态变化的回调函数 */ + callback: IntersectionObserverObserveCallback + ): void + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeTo(string selector, Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeTo.html) + * + * 在插件中使用:支持 + * + * 使用选择器指定一个节点,作为参照区域之一。 */ + relativeTo( + /** 选择器 */ + selector: string, + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeToViewport(Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeToViewport.html) +* +* 在插件中使用:支持 +* +* 指定页面显示区域作为参照区域之一 +* +* **示例代码** +* +* 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。 +* ```javascript +Page({ + onLoad: function(){ + wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => { + res.intersectionRatio // 相交区域占目标节点的布局区域的比例 + res.intersectionRect // 相交区域 + res.intersectionRect.left // 相交区域的左边界坐标 + res.intersectionRect.top // 相交区域的上边界坐标 + res.intersectionRect.width // 相交区域的宽度 + res.intersectionRect.height // 相交区域的高度 + }) + } +}) +``` */ + relativeToViewport( + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + } + interface InterstitialAd { + /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁插屏广告实例。 */ + destroy(): void + /** [InterstitialAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onClose(listener) +InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除插屏错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onError(listener) +InterstitialAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InterstitialAdOffErrorCallback + ): void + /** [InterstitialAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onLoad(listener) +InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [InterstitialAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告关闭事件。 */ + onClose( + /** 插屏广告关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听插屏错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 插屏错误事件的监听函数 */ + listener: InterstitialAdOnErrorCallback + ): void + /** [InterstitialAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告加载事件。 */ + onLoad( + /** 插屏广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 加载插屏广告。 */ + load(): Promise<any> + /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示插屏广告。 + * + * **错误码信息表** + * + * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。 + * + * | 代码 | 异常情况 | 理由 | + * | ------ | -------------- | -------------------------- | + * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 | + * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 | + * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 | + * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 | + * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */ + show(): Promise<any> + } + interface IsoDep { + /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取复位信息 */ + getHistoricalBytes(option?: GetHistoricalBytesOption): void + /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Join1v1ChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errCode: number + } + interface JoinVoIPChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errCode: number + } + interface LivePlayerContext { + /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html) + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(option?: ExitFullScreenOption): void + /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html) + * + * 在插件中使用:支持 + * + * 静音 */ + mute(option?: MuteOption): void + /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 暂停 */ + pause(option?: PauseOption): void + /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(option?: PlayOption): void + /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html) + * + * 在插件中使用:支持 + * + * 进入全屏 */ + requestFullScreen( + option: LivePlayerContextRequestFullScreenOption + ): void + /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:支持 + * + * 进入小窗 */ + requestPictureInPicture(option?: RequestPictureInPictureOption): void + /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 恢复 */ + resume(option?: ResumeOption): void + /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:支持 + * + * 截图 */ + snapshot(option: LivePlayerContextSnapshotOption): void + /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止 */ + stop(option?: StopOption): void + } + interface LivePusherContext { + /** [LivePusherContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.exitPictureInPicture.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停推流 */ + pause(option?: PauseOption): void + /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 暂停背景音 */ + pauseBGM(option?: PauseBGMOption): void + /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 播放背景音 */ + playBGM(option: PlayBGMOption): void + /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html) + * + * 在插件中使用:支持 + * + * 恢复推流 */ + resume(option?: ResumeOption): void + /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 恢复背景音 */ + resumeBGM(option?: ResumeBGMOption): void + /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 发送SEI消息 */ + sendMessage(option: SendMessageOption): void + /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 设置背景音音量 */ + setBGMVolume(option: SetBGMVolumeOption): void + /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置麦克风音量 */ + setMICVolume(option: SetMICVolumeOption): void + /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 快照 */ + snapshot(option: LivePusherContextSnapshotOption): void + /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html) + * + * 在插件中使用:支持 + * + * 开始推流,同时开启摄像头预览 */ + start(option?: LivePusherContextStartOption): void + /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 开启摄像头预览 */ + startPreview(option?: StartPreviewOption): void + /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止推流,同时停止摄像头预览 */ + stop(option?: StopOption): void + /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 停止背景音 */ + stopBGM(option?: StopBGMOption): void + /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 关闭摄像头预览 */ + stopPreview(option?: StopPreviewOption): void + /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html) + * + * 在插件中使用:支持 + * + * 切换前后摄像头 */ + switchCamera(option?: SwitchCameraOption): void + /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 切换手电筒 */ + toggleTorch(option?: ToggleTorchOption): void + } + interface LogManager { + /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html) + * + * 在插件中使用:不支持 + * + * 写 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html) + * + * 在插件中使用:不支持 + * + * 写 info 日志 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html) + * + * 在插件中使用:不支持 + * + * 写 log 日志 */ + log( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html) + * + * 在插件中使用:不支持 + * + * 写 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + } + interface MapContext { + /** [MapContext.addArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 添加弧线,途经点与夹角必须设置一个。途经点必须在起终点有效坐标范围内,否则不能生成正确的弧线,同时设置夹角角度时,以夹角角度为准。夹角定义为起点到终点,与起点外切线逆时针旋转的角度。工具侧暂未支持。 */ + addArc(option: AddArcOption): void + /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 添加个性化图层。图层创建[参考文档](https://lbs.qq.com/dev/console/customLayer/create) */ + addCustomLayer(option: AddCustomLayerOption): void + /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 创建自定义图片图层,图片会随着地图缩放而缩放。 */ + addGroundOverlay(option: AddGroundOverlayOption): void + /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 添加 marker。 */ + addMarkers(option: AddMarkersOption): void + /** [MapContext.addVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 添加可视化图层。需要刷新时,interval 可设置的最小值为 15 s。 */ + addVisualLayer(option: AddVisualLayerOption): void + /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。 */ + fromScreenLocation(option: FromScreenLocationOption): void + /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html) + * + * 在插件中使用:支持 + * + * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */ + getCenterLocation(option: GetCenterLocationOption): void + /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的视野范围 */ + getRegion(option?: GetRegionOption): void + /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的旋转角 */ + getRotate(option?: GetRotateOption): void + /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的缩放级别 */ + getScale(option?: GetScaleOption): void + /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的倾斜角 */ + getSkew(option?: GetSkewOption): void + /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 缩放视野展示所有经纬度 */ + includePoints(option: IncludePointsOption): void + /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 初始化点聚合的配置,未调用时采用默认配置。 */ + initMarkerCluster(option: InitMarkerClusterOption): void + /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。 */ + moveAlong(option: MoveAlongOption): void + /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。 */ + moveToLocation(option?: MoveToLocationOption): void + /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 监听地图事件。 +* +* ### markerClusterCreate +* +* 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------ | --------- | +* | clusters | `Array<ClusterInfo>` | 聚合簇数据 | +* +* ### markerClusterClick +* +* 聚合簇的点击事件。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------------- | --------- | +* | cluster | ClusterInfo | 聚合簇 | +* +* #### ClusterInfo 结构 +* +* | 参数 | 类型 | 说明 | +* | ---------- | -------------------- | -------------------------- | +* | clusterId | Number | 聚合簇的 id | +* | center | LatLng | 聚合簇的坐标 | +* | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 | +* +* **示例代码** +* +* ```js + MapContext.on('markerClusterCreate', (res) => {}) + MapContext.on('markerClusterClick', (res) => {}) +``` */ + on( + /** 事件名 + * + * 参数 event 可选值: + * - 'markerClusterCreate': ; + * - 'markerClusterClick': ; */ + event: 'markerClusterCreate' | 'markerClusterClick', + /** 事件的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 拉起地图APP选择导航。 */ + openMapApp(option: OpenMapAppOption): void + /** [MapContext.removeArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 删除弧线。工具侧暂未支持。 */ + removeArc(option: RemoveArcOption): void + /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 移除个性化图层。 */ + removeCustomLayer(option: RemoveCustomLayerOption): void + /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 移除自定义图片图层。 */ + removeGroundOverlay(option: RemoveGroundOverlayOption): void + /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 移除 marker。 */ + removeMarkers(option: RemoveMarkersOption): void + /** [MapContext.removeVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 移除可视化图层。 */ + removeVisualLayer(option: RemoveVisualLayerOption): void + /** [MapContext.setBoundary(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setBoundary.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */ + setBoundary(option: SetBoundaryOption): void + /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5] */ + setCenterOffset(option: SetCenterOffsetOption): void + /** [MapContext.setLocMarkerIcon(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setLocMarkerIcon.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:支持 + * + * 设置定位点图标,支持网络路径、本地路径、代码包路径 */ + setLocMarkerIcon(option: SetLocMarkerIconOption): void + /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。 */ + toScreenLocation(option: ToScreenLocationOption): void + /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 平移marker,带动画。 */ + translateMarker(option: TranslateMarkerOption): void + /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 更新自定义图片图层。 */ + updateGroundOverlay(option: UpdateGroundOverlayOption): void + } + interface MediaAudioPlayer { + /** [Promise MediaAudioPlayer.addAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.addAudioSource.html) + * + * 在插件中使用:支持 + * + * 添加音频源 */ + addAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例。作为音频源添加到音频播放器中 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁播放器 */ + destroy(): Promise<any> + /** [Promise MediaAudioPlayer.removeAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.removeAudioSource.html) + * + * 在插件中使用:支持 + * + * 移除音频源 */ + removeAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html) + * + * 在插件中使用:支持 + * + * 启动播放器 */ + start(): Promise<any> + /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html) + * + * 在插件中使用:支持 + * + * 停止播放器 */ + stop(): Promise<any> + } + interface MediaContainer { + /** [MediaContainer.addTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.addTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道添加到容器 */ + addTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要添加的音频或视频轨道 */ + track: MediaTrack + ): void + /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器销毁,释放资源 */ + destroy(): void + /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器内的轨道合并并导出视频文件 */ + export(): void + /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。 */ + extractDataSource(option: ExtractDataSourceOption): void + /** [MediaContainer.removeTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.removeTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道从容器中移除 */ + removeTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要移除的音频或视频轨道 */ + track: MediaTrack + ): void + } + interface MediaQueryObserver { + /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html) + * + * 在插件中使用:支持 + * + * 开始监听页面 media query 变化情况 */ + observe( + /** media query 描述符 */ + descriptor: ObserveDescriptor, + /** 监听 media query 状态变化的回调函数 */ + callback: MediaQueryObserverObserveCallback + ): void + } + interface MediaRecorder { + /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 录制开始事件。; + * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize}; + * - 'pause': 录制暂停事件。; + * - 'resume': 录制继续事件。; + * - 'timeupdate': 录制时间更新事件。; */ + eventName: 'start' | 'stop' | 'pause' | 'resume' | 'timeupdate', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [Promise MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 销毁录制器 */ + destroy(): Promise<any> + /** [Promise MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 暂停录制 */ + pause(): Promise<any> + /** [Promise MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧 */ + requestFrame(callback: (...args: any[]) => any): Promise<any> + /** [Promise MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 恢复录制 */ + resume(): Promise<any> + /** [Promise MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始录制 */ + start(): Promise<any> + /** [Promise MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 结束录制 */ + stop(): Promise<any> + } + interface MifareClassic { + /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface MifareUltralight { + /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NFCAdapter { + /** [NFCAdapter.offDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html) +* +* 需要基础库: `2.11.2` +* +* 在插件中使用:支持 +* +* 移除 NFC Tag的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +NFCAdapter.onDiscovered(listener) +NFCAdapter.offDiscovered(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDiscovered( + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDiscoveredCallback + ): void + /** [NFCAdapter.onDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 NFC Tag */ + onDiscovered( + /** 的监听函数 */ + listener: OnDiscoveredCallback + ): void + /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + startDiscovery(option?: StartDiscoveryOption): void + /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + stopDiscovery(option?: StopDiscoveryOption): void + /** [[IsoDep](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.html) NFCAdapter.getIsoDep()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getIsoDep.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + getIsoDep(): IsoDep + /** [[MifareClassic](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html) NFCAdapter.getMifareClassic()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareClassic.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + getMifareClassic(): MifareClassic + /** [[MifareUltralight](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.html) NFCAdapter.getMifareUltralight()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareUltralight.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + getMifareUltralight(): MifareUltralight + /** [[Ndef](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.html) NFCAdapter.getNdef()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNdef.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + getNdef(): Ndef + /** [[NfcA](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.html) NFCAdapter.getNfcA()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcA.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + getNfcA(): NfcA + /** [[NfcB](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.html) NFCAdapter.getNfcB()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcB.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + getNfcB(): NfcB + /** [[NfcF](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.html) NFCAdapter.getNfcF()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcF.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + getNfcF(): NfcF + /** [[NfcV](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.html) NFCAdapter.getNfcV()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcV.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + getNfcV(): NfcV + } + interface NFCError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errCode: number + } + interface Ndef { + /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 取消监听 Ndef 消息 */ + offNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 Ndef 消息 */ + onNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 重写 Ndef 标签内容 */ + writeNdefMessage(option: WriteNdefMessageOption): void + } + interface NfcA { + /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取ATQA信息 */ + getAtqa(option?: GetAtqaOption): void + /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取SAK信息 */ + getSak(option?: GetSakOption): void + /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcB { + /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcF { + /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcV { + /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Nfcrwerror { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errCode: number + } + interface NodesRef { + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.boundingClientRect(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.boundingClientRect.html) +* +* 在插件中使用:支持 +* +* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getRect () { + wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }).exec() + }, + getAllRects () { + wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){ + rects.forEach(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }) + }).exec() + } +}) +``` */ + boundingClientRect( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: BoundingClientRectCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.context(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.context.html) +* +* 需要基础库: `2.4.2` +* +* 在插件中使用:支持 +* +* 添加节点的 Context 对象查询请求。目前支持 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html)、[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html)、[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html)、[EditorContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html)和 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getContext () { + wx.createSelectorQuery().select('.the-video-class').context(function(res){ + console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象 + }).exec() + } +}) +``` */ + context( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: ContextCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.fields(Object fields, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.fields.html) +* +* 在插件中使用:支持 +* +* 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 `nodesRef` 对应的 `selectorQuery` +* +* **注意** +* +* computedStyle 的优先级高于 size,当同时在 computedStyle 里指定了 width/height 和传入了 size: true,则优先返回 computedStyle 获取到的 width/height。 +* +* **示例代码** +* +* ```js +Page({ + getFields () { + wx.createSelectorQuery().select('#the-id').fields({ + dataset: true, + size: true, + scrollOffset: true, + properties: ['scrollX', 'scrollY'], + computedStyle: ['margin', 'backgroundColor'], + context: true, + }, function (res) { + res.dataset // 节点的dataset + res.width // 节点的宽度 + res.height // 节点的高度 + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + res.scrollX // 节点 scroll-x 属性的当前值 + res.scrollY // 节点 scroll-y 属性的当前值 + // 此处返回指定要返回的样式名 + res.margin + res.backgroundColor + res.context // 节点对应的 Context 对象 + }).exec() + } +}) +``` */ + fields( + fields: Fields, + /** 回调函数 */ + callback?: FieldsCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.node(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 获取 Node 节点实例。目前支持 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 和 [ScrollViewContext](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getNode() { + wx.createSelectorQuery().select('.canvas').node(function(res){ + console.log(res.node) // 节点对应的 Canvas 实例。 + }).exec() + } +}) +``` */ + node( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: NodeCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.scrollOffset(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.scrollOffset.html) +* +* 在插件中使用:支持 +* +* 添加节点的滚动位置查询请求。以像素为单位。节点必须是 `scroll-view` 或者 `viewport`,返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getScrollOffset () { + wx.createSelectorQuery().selectViewport().scrollOffset(function(res){ + res.id // 节点的ID + res.dataset // 节点的dataset + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + }).exec() + } +}) +``` */ + scrollOffset( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: ScrollOffsetCallback + ): SelectorQuery + } + interface OffscreenCanvas { + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) OffscreenCanvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.createImage.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 + * + * **** + * + * 注意不允许混用 webgl 和 2d 画布创建的图片对象,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 */ + createImage(): Image + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) OffscreenCanvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 该方法返回 OffscreenCanvas 的绘图上下文 + * + * **** + * + * 注意不允许混用 webgl 和 2d 绘图上下文,传入的 contextType 必须要与 `wx.createOffscreenCanvas` 传入的 type 类型一致。 */ + getContext( + /** 绘图上下文类型,需要与 createOffscreenCanvas 时传入的 type 一致 + * + * 参数 contextType 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + contextType: 'webgl' | '2d' + ): any + } + interface OpenSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errCode: number + } + interface Performance { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前缓冲区中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + /** 名称 */ + name: string, + /** 类型 */ + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有类型为 [entryType] 的性能数据 */ + getEntriesByType( + /** 类型 */ + entryType: string + ): PerformanceEntry[] + /** [Performance.setBufferSize(number size)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.setBufferSize.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 设置缓冲区大小,默认缓冲 30 条性能数据 */ + setBufferSize(size: number): void + /** [[PerformanceObserver](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.html) Performance.createObserver(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.createObserver.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 创建全局性能事件监听器 */ + createObserver( + /** 回调函数 */ + callback: (...args: any[]) => any + ): PerformanceObserver + } + interface PerformanceObserver { + /** [PerformanceObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.disconnect.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 停止监听 */ + disconnect(): void + /** [PerformanceObserver.observe(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.observe.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 开始监听 */ + observe( + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + options: ObserveOption + ): void + } + interface ReadCompressedFileSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errCode: number + } + interface ReadSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface RealtimeLogManager { + /** [Object RealtimeLogManager.getCurrentState()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.getCurrentState.html) + * + * 需要基础库: `2.19.4` + * + * 在插件中使用:不支持 + * + * 实时日志会将一定时间间隔内缓存的日志聚合上报,如果该时间内缓存的内容超出限制,则会被丢弃。此方法可以获取当前缓存剩余空间。 + * + * > 注意:基础库内部在对日志进行上报时会补充一些结构化数据,如果遇到上报溢出的情况也会补充警告日志,所以此方法获取到的当前占用信息会比预期的大一些。 */ + getCurrentState(): CurrentState + /** [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html) + * + * 需要基础库: `2.8.1` + * + * 在插件中使用:不支持 + * + * 添加过滤关键字,暂不支持在插件使用 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeLogManager.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.error.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 error 日志,暂不支持在插件使用 */ + error( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.in(Page pageInstance)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.in.html) + * + * 需要基础库: `2.9.1` + * + * 在插件中使用:不支持 + * + * 设置实时日志page参数所在的页面,暂不支持在插件使用 */ + in( + /** page实例 */ + pageInstance: Page.TrivialInstance + ): void + /** [RealtimeLogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.info.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 info 日志,暂不支持在插件使用 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:不支持 + * + * 设置过滤关键字,暂不支持在插件使用 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeLogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.warn.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 warn 日志,暂不支持在插件使用 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [[RealtimeTagLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.html) RealtimeLogManager.tag(string tagName)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.tag.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 获取给定标签的日志管理器实例,目前只支持在插件使用 */ + tag( + /** 标签名 */ + tagName: string + ): RealtimeTagLogManager + } + interface RealtimeTagLogManager { + /** [RealtimeTagLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.addFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 添加过滤关键字 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeTagLogManager.error(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.error.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 error 日志 */ + error( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.info(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.info.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 info 日志 */ + info( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.setFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 设置过滤关键字 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeTagLogManager.warn(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.warn.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 warn 日志 */ + warn( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + } + interface RecorderManager { + /** [RecorderManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听录音错误事件 */ + onError( + /** 录音错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [RecorderManager.onFrameRecorded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onFrameRecorded.html) + * + * 在插件中使用:支持 + * + * 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。 */ + onFrameRecorded( + /** 已录制完指定帧大小的文件事件的监听函数 */ + listener: OnFrameRecordedCallback + ): void + /** [RecorderManager.onInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionBegin.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发 */ + onInterruptionBegin( + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnInterruptionBeginCallback + ): void + /** [RecorderManager.onInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionEnd.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。 */ + onInterruptionEnd( + /** 录音中断结束事件的监听函数 */ + listener: OnInterruptionEndCallback + ): void + /** [RecorderManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听录音暂停事件 */ + onPause( + /** 录音暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [RecorderManager.onResume(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onResume.html) + * + * 在插件中使用:支持 + * + * 监听录音继续事件 */ + onResume( + /** 录音继续事件的监听函数 */ + listener: OnResumeCallback + ): void + /** [RecorderManager.onStart(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStart.html) + * + * 在插件中使用:支持 + * + * 监听录音开始事件 */ + onStart( + /** 录音开始事件的监听函数 */ + listener: OnStartCallback + ): void + /** [RecorderManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听录音结束事件 */ + onStop( + /** 录音结束事件的监听函数 */ + listener: RecorderManagerOnStopCallback + ): void + /** [RecorderManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停录音 */ + pause(): void + /** [RecorderManager.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.resume.html) + * + * 在插件中使用:支持 + * + * 继续录音 */ + resume(): void + /** [RecorderManager.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) + * + * 在插件中使用:支持 + * + * 开始录音 + * + * **采样率与编码码率限制** + * + * 每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。 + * + * | 采样率 | 编码码率 | + * | ------ | -------------- | + * | 8000 | 16000 ~ 48000 | + * | 11025 | 16000 ~ 48000 | + * | 12000 | 24000 ~ 64000 | + * | 16000 | 24000 ~ 96000 | + * | 22050 | 32000 ~ 128000 | + * | 24000 | 32000 ~ 128000 | + * | 32000 | 48000 ~ 192000 | + * | 44100 | 64000 ~ 320000 | + * | 48000 | 64000 ~ 320000 | */ + start(option: RecorderManagerStartOption): void + /** [RecorderManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止录音 */ + stop(): void + } + interface RequestTask { + /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断请求任务 */ + abort(): void + /** [RequestTask.offChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offChunkReceived.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:支持 +* +* 移除 Transfer-Encoding Chunk Received 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onChunkReceived(listener) +RequestTask.offChunkReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offChunkReceived( + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffChunkReceivedCallback + ): void + /** [RequestTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onHeadersReceived(listener) +RequestTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [RequestTask.onChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。 */ + onChunkReceived( + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + listener: OnChunkReceivedCallback + ): void + /** [RequestTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + } + interface RewardedVideoAd { + /** [Promise RewardedVideoAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html) + * + * 在插件中使用:不支持 + * + * 加载激励视频广告。 */ + load(): Promise<any> + /** [Promise RewardedVideoAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示激励视频广告。激励视频广告将从屏幕下方推入。 */ + show(): Promise<any> + /** [RewardedVideoAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁激励视频广告实例。 */ + destroy(): void + /** [RewardedVideoAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除用户点击 `关闭广告` 按钮的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onClose(listener) +RewardedVideoAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffCloseCallback + ): void + /** [RewardedVideoAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onError(listener) +RewardedVideoAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffErrorCallback + ): void + /** [RewardedVideoAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onLoad(listener) +RewardedVideoAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [RewardedVideoAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听用户点击 `关闭广告` 按钮的事件。 */ + onClose( + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + listener: RewardedVideoAdOnCloseCallback + ): void + /** [RewardedVideoAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 激励视频错误事件的监听函数 */ + listener: RewardedVideoAdOnErrorCallback + ): void + /** [RewardedVideoAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频广告加载事件。 */ + onLoad( + /** 激励视频广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + } + interface ScrollViewContext { + /** [ScrollViewContext.scrollIntoView(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollIntoView( + /** 元素选择器 */ + selector: string + ): void + /** [ScrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollTo.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollTo(option: ScrollToOption): void + } + interface SelectorQuery { + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.exec(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.exec.html) + * + * 在插件中使用:支持 + * + * 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 */ + exec( + /** 回调函数 */ + callback?: (...args: any[]) => any + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.select(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.select.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + select( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectAll(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectAll.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择匹配选择器 selector 的所有节点。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + selectAll( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectViewport()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html) + * + * 在插件中使用:支持 + * + * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 */ + selectViewport(): NodesRef + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) SelectorQuery.in(Component component)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.in.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* +* 将选择器的选取范围更改为自定义组件 `component` 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 +* +* **示例代码** +* +* ```js +Component({ + queryMultipleNodes (){ + const query = wx.createSelectorQuery().in(this) + query.select('#the-id').boundingClientRect(function(res){ + res.top // 这个组件内 #the-id 节点的上边界坐标 + }).exec() + } +}) +``` */ + in( + /** 自定义组件实例 */ + component: Component.TrivialInstance | Page.TrivialInstance + ): SelectorQuery + } + interface SocketTask { + /** [SocketTask.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.close.html) + * + * 在插件中使用:支持 + * + * 关闭 WebSocket 连接 */ + close(option: SocketTaskCloseOption): void + /** [SocketTask.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onClose.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接关闭事件 */ + onClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: SocketTaskOnCloseCallback + ): void + /** [SocketTask.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onError.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 错误事件 */ + onError( + /** WebSocket 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [SocketTask.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onMessage.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 接受到服务器的消息事件 */ + onMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: SocketTaskOnMessageCallback + ): void + /** [SocketTask.onOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onOpen.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接打开事件 */ + onOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnOpenCallback + ): void + /** [SocketTask.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.send.html) + * + * 在插件中使用:支持 + * + * 通过 WebSocket 连接发送数据 */ + send(option: SocketTaskSendOption): void + } + interface Stats { + /** [boolean Stats.isDirectory()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isDirectory.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个目录 */ + isDirectory(): boolean + /** [boolean Stats.isFile()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isFile.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个普通文件 */ + isFile(): boolean + } + interface TCPSocket { + /** [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.bindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) */ + bindWifi(options: BindWifiOption): void + /** [TCPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.close.html) + * + * 在插件中使用:不支持 + * + * 关闭连接 */ + close(): void + /** [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.connect.html) + * + * 在插件中使用:不支持 + * + * 在给定的套接字上启动连接 */ + connect(options: TCPSocketConnectOption): void + /** [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offBindWifi.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onBindWifi(listener) +TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBindWifi( + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBindWifiCallback + ): void + /** [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除一旦 socket 完全关闭就发出该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onClose(listener) +TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offConnect.html) +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 连接成功建立的时候触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onConnect(listener) +TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象 +``` */ + offConnect( + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffConnectCallback + ): void + /** [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offError.html) +* +* 在插件中使用:不支持 +* +* 移除当错误发生时触发的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onError(listener) +TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offMessage.html) +* +* 在插件中使用:不支持 +* +* 移除当接收到数据的时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onMessage(listener) +TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: TCPSocketOffMessageCallback + ): void + /** [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onBindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 */ + onBindWifi( + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + listener: OnBindWifiCallback + ): void + /** [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听一旦 socket 完全关闭就发出该事件 */ + onClose( + /** 一旦 socket 完全关闭就发出该事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onConnect.html) + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 连接成功建立的时候触发该事件 */ + onConnect( + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + listener: OnConnectCallback + ): void + /** [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onError.html) + * + * 在插件中使用:不支持 + * + * 监听当错误发生时触发 */ + onError( + /** 的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听当接收到数据的时触发该事件 */ + onMessage( + /** 当接收到数据的时触发该事件的监听函数 */ + listener: TCPSocketOnMessageCallback + ): void + /** [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.write.html) + * + * 在插件中使用:不支持 + * + * 在 socket 上发送数据 */ + write( + /** 要发送的数据 */ + data: string | ArrayBuffer + ): void + } + interface TruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface UDPSocket { + /** [UDPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.close.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 */ + close(): void + /** [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.connect.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 */ + connect(option: UDPSocketConnectOption): void + /** [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offClose.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onClose(listener) +UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offError.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onError(listener) +UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offListening.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除开始监听数据包消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onListening(listener) +UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象 +``` */ + offListening( + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffListeningCallback + ): void + /** [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offMessage.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除收到消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onMessage(listener) +UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffMessageCallback + ): void + /** [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onClose.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听关闭事件 */ + onClose( + /** 关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onError.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听错误事件 */ + onError( + /** 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听开始监听数据包消息的事件 */ + onListening( + /** 开始监听数据包消息的事件的监听函数 */ + listener: OnListeningCallback + ): void + /** [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听收到消息的事件 */ + onMessage( + /** 收到消息的事件的监听函数 */ + listener: UDPSocketOnMessageCallback + ): void + /** [UDPSocket.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.send.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 */ + send(option: UDPSocketSendOption): void + /** [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.setTTL.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 */ + setTTL( + /** ttl 参数可以是 0 到 255 之间 */ + ttl: number + ): void + /** [UDPSocket.write()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.write.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) */ + write(): void + /** [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.bind.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 */ + bind( + /** 需要基础库: `2.9.0` + * + * 指定要绑定的端口号,不传则返回系统随机分配的可用端口 */ + port?: number + ): number + } + interface UpdateManager { + /** [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.applyUpdate.html) + * + * 在插件中使用:不支持 + * + * 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + applyUpdate(): void + /** [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html) + * + * 在插件中使用:不支持 + * + * 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onCheckForUpdate( + /** 向微信后台请求检查更新结果事件的监听函数 */ + listener: OnCheckForUpdateCallback + ): void + /** [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateFailed.html) + * + * 在插件中使用:不支持 + * + * 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateFailed( + /** 小程序更新失败事件的监听函数 */ + listener: OnUpdateFailedCallback + ): void + /** [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateReady.html) + * + * 在插件中使用:不支持 + * + * 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateReady( + /** 小程序有版本更新事件的监听函数 */ + listener: OnUpdateReadyCallback + ): void + } + interface UploadTask { + /** [UploadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断上传任务 */ + abort(): void + /** [UploadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onHeadersReceived(listener) +UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [UploadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除上传进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onProgressUpdate(listener) +UploadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UploadTaskOffProgressUpdateCallback + ): void + /** [UploadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [UploadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听上传进度变化事件 */ + onProgressUpdate( + /** 上传进度变化事件的监听函数 */ + listener: UploadTaskOnProgressUpdateCallback + ): void + } + interface UserCryptoManager { + /** [UserCryptoManager.getLatestUserKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getLatestUserKey.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取最新的用户加密密钥 +* +* **示例代码** +* +* ```js +const userCryptoManager = wx.getUserCryptoManager() +userCryptoManager.getLatestUserKey({ + success: res => { + const {encryptKey, iv, version, expireTime} = res + console.log(encryptKey, iv, version, expireTime) + } +}) +``` */ + getLatestUserKey(option?: GetLatestUserKeyOption): void + /** [UserCryptoManager.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getRandomValues.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues(option: GetRandomValuesOption): void + } + interface VKCamera { + /** [Float32Array VKCamera.getProjectionMatrix(number near, number far)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.getProjectionMatrix.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取投影矩阵 */ + getProjectionMatrix( + /** 近视点 */ + near: number, + /** 远视点 */ + far: number + ): Float32Array + } + interface VKFrame { + /** [ArrayBuffer VKFrame.getCameraBuffer(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 获取当前帧 rgba buffer。目前仅iOS端支持。按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。 */ + getCameraBuffer( + /** 宽度,受系统限制,必须是 16 的整数倍 */ + width: number, + /** 高度 */ + height: number + ): ArrayBuffer + /** [Float32Array VKFrame.getDisplayTransform()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪。 */ + getDisplayTransform(): Float32Array + /** [Object VKFrame.getCameraTexture(WebGLRenderingContext gl)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取当前帧纹理,目前只支持 YUV 纹理。 */ + getCameraTexture( + /** 画布 */ + gl: WebGLRenderingContext + ): YUVTextureRes + } + interface VKSession { + /** [Array.<Object> VKSession.getAllMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + getAllMarker(): VKMarker[] + /** [Array.<Object> VKSession.getAllOSDMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + getAllOSDMarker(): VKMarker[] + /** [Array.<Object> VKSession.hitTest(number x, number y, Object reset)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。 */ + hitTest( + /** 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 */ + x: number, + /** 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 */ + y: number, + /** 是否需要重新识别其他平面,v2 版本不再需要此参数 */ + reset: IAnyObject + ): HitTestRes[] + /** [VKSession.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.cancelAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。 */ + cancelAnimationFrame(requestID: number): void + /** [VKSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.destroy.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 销毁会话。 */ + destroy(): void + /** [VKSession.detectFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:需要基础库 `2.25.0` + * + * 静态图像人脸关键点检测。当 wx.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + detectFace(option: DetectFaceOption): void + /** [VKSession.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消监听会话事件。 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 监听会话事件。 */ + on( + /** 事件名称 + * + * 参数 eventName 可选值: + * - 'resize': 相机尺寸变化事件,回调参数为相机尺寸; + * - 'addAnchors': 增加 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持); + * - 'updateAnchors': 更新 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); + * - 'removeAnchors': 删除 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); */ + eventName: + | 'resize' + | 'addAnchors' + | 'updateAnchors' + | 'removeAnchors', + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.removeMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + removeMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.removeOSDMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + removeOSDMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.start(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 开启会话。 */ + start( + /** 开启会话回调 */ + callback: VKSessionStartCallback + ): void + /** [VKSession.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.stop.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 停止会话。 */ + stop(): void + /** [VKSession.updateOSDThreshold(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 更新 OSD 识别精确度,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + updateOSDThreshold( + /** 阈值 */ + threshold: number + ): void + /** [[VKFrame](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.html) VKSession.getVKFrame(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getVKFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取帧对象,每调用一次都会触发一次帧分析过程。 */ + getVKFrame( + /** 宽度 */ + width: number, + /** 高度 */ + height: number + ): VKFrame + /** [number VKSession.addMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addMarker 接口之前,需要在 createVKSession 的时候声明开启 marker 跟踪。即 wx.createVKSession({ track: { marker: true } }) + * 2. 可以添加多个 marker 图片,但不能重复添加相同的 marker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg/png 格式三通道彩图或者 1 通道灰度图 + * 2. 分辨率:尺寸在 480x480 ~ 1920x1920 之间,建议为 1080 分辨率 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标图像为平面模型,需要占画面主体,避免大面积留白,建议用扫描件 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrtaOpjb6Yc6mDhJKdUmrIpmtbWBMfAUAFavtKT6-tEZIh-8zT8tfBJBtvH048ge5Vw" alt="image.png" /> + * + * 建议: + * + * 1. 图片具有丰富的细节 + * 2. 避免重复单一的纹理,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq3iLsNXMvLiM6Wb5ZHOrVVGR2u5ixbQlbiSSuNHzVcMQQY5V0dvnlyOGihUIbyTvA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq-_lR2j4eOi23IOJ2LHFQY_PWufbx3s3uROgLi_flJMHQA8DNvlebs9UwumozPlXg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dr9IaSPF18UPnz4KrbAhGW9pIb8oWxzHgmClGIRZK59N4gUnJh69yoQW1TFGqce8ew" alt="image.png" /> + * <br> + * + * 3. 避免使用柔和平滑边缘的纹理及大量渐变图像,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq6DPj88qSVwHFZiumbE0IMq9ibzbnhjewzUSa-n5_VgF_lF9g07FFHHYyrY14KTSfA" alt="image.png" /> + * + * 4. 避免模糊,建议采用高清、高对比度图像作为识别对象 + * 5. 建议图像有均匀的特征(角点)分布,正确示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrrBRWB_Cw2aFXAn1KY0YtfjnQ7WNt854gA8H2zfmZUztlFcJbdEHouBGs63hUO4Mxg" alt="image.png" /> + * + * 避免角点较少、中间大量空白、没有特征及角点的图像,错误示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqzjY2LY-ylRjFS7TVD-cZsEE8TTB-xzR2YiWKhWyWg1bgpbRqQq-4l6OWPDii4S3Xg" alt="image.png" /> */ + addMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.addOSDMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 OSD marker(one-shot detection marker),要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addOSDMarker 接口之前,需要在 createVKSession 的时候声明开启 OSD 跟踪。即 wx.createVKSession({ track: { OSD: true } }) + * 2. 可以添加多个 OSDMarker 图片,但不能重复添加相同的 OSDMarker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg 格式彩色图片 + * 2. 分辨率:尺寸不低于 240x240 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标物体需要占画面主体,避免大面积留白,避免大面积文字,不能含其他物体。 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq_Mq0ReXEA5nOzDIvnYYPttmwxn0V1e_yI6UUgkNT6K6aOQj2QRba5IHQglHULkrKg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqwiRcyGk9oenkCpd3vAHWSTSZPPJcgIrPzcpwnSpmk_9bMiCqUdS8Ds789Rjhy0CtA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqx8fYUYypBmFmB1_zX-APH06j1oMZDz7K0CE2To_982NDOB5fmM4Y2Rrr1uQF6J4gg" alt="image.png" /> + * <br> + * + * 建议: + * + * 1. 具有丰富的细节,避免纯色且形状特点不鲜明的物体,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq-6WwSZKlNbN-if0NCag-Dm6AmNJeBFi5dvR-bRZINlZmuA9G1e4wpngvhlr2z6CXQ" alt="image.png" /> + * + * 2. 避免模糊,最好采用高清图片 */ + addOSDMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 在下次进行重绘时执行。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + } + interface VideoContext { + /** [VideoContext.exitBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 退出后台音频播放模式。 */ + exitBackgroundPlayback(): void + /** [VideoContext.exitFullScreen()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(): void + /** [VideoContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [VideoContext.hideStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.hideStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 隐藏状态栏,仅在iOS全屏下有效 */ + hideStatusBar(): void + /** [VideoContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停视频 */ + pause(): void + /** [VideoContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.play.html) + * + * 在插件中使用:支持 + * + * 播放视频 */ + play(): void + /** [VideoContext.playbackRate(number rate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.playbackRate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 设置倍速播放 */ + playbackRate( + /** 倍率,支持 0.5/0.8/1.0/1.25/1.5,2.6.3 起支持 2.0 倍速 */ + rate: number + ): void + /** [VideoContext.requestBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 进入后台音频播放模式。 */ + requestBackgroundPlayback(): void + /** [VideoContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */ + requestFullScreen(option: VideoContextRequestFullScreenOption): void + /** [VideoContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转到的位置,单位 s */ + position: number + ): void + /** [VideoContext.sendDanmu(Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.sendDanmu.html) + * + * 在插件中使用:支持 + * + * 发送弹幕 */ + sendDanmu( + /** 弹幕内容 */ + data: Danmu + ): void + /** [VideoContext.showStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.showStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 显示状态栏,仅在iOS全屏下有效 */ + showStatusBar(): void + /** [VideoContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.stop.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:支持 + * + * 停止视频 */ + stop(): void + } + interface VideoDecoder { + /** [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取下一帧的解码数据 */ + getFrameData(): FrameDataOptions + /** [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 移除解码器 */ + remove(): Promise<any> + /** [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 跳到某个时间点解码 */ + seek( + /** 跳转的解码位置,单位 ms */ + position: number + ): Promise<any> + /** [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始解码 */ + start(option: VideoDecoderStartOption): Promise<any> + /** [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 停止解码 */ + stop(): Promise<any> + /** [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 开始事件。返回 {width, height}; + * - 'stop': 结束事件。; + * - 'seek': seek 完成事件。; + * - 'bufferchange': 缓冲区变化事件。; + * - 'ended': 解码结束事件。; */ + eventName: 'start' | 'stop' | 'seek' | 'bufferchange' | 'ended', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + } + interface WebAudioContext { + /** [AnalyserNode WebAudioContext.createAnalyser()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createAnalyser.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:不支持 + * + * 创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。 */ + createAnalyser(): AnalyserNode + /** [BiquadFilterNode WebAudioContext.createBiquadFilter()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBiquadFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个BiquadFilterNode */ + createBiquadFilter(): BiquadFilterNode + /** [BufferSourceNode WebAudioContext.createBufferSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。 */ + createBufferSource(): BufferSourceNode + /** [ChannelMergerNode WebAudioContext.createChannelMerger(number numberOfInputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelMerger.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelMergerNode */ + createChannelMerger( + /** 输出流中需要保持的输入流的个数 */ + numberOfInputs: number + ): ChannelMergerNode + /** [ChannelSplitterNode WebAudioContext.createChannelSplitter(number numberOfOutputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelSplitter.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelSplitterNode */ + createChannelSplitter( + /** 要分别输出的输入音频流中的通道数 */ + numberOfOutputs: number + ): ChannelSplitterNode + /** [ConstantSourceNode WebAudioContext.createConstantSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createConstantSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个ConstantSourceNode */ + createConstantSource(): ConstantSourceNode + /** [DelayNode WebAudioContext.createDelay(number maxDelayTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDelay.html) + * + * 在插件中使用:不支持 + * + * 创建一个DelayNode */ + createDelay( + /** 最大延迟时间 */ + maxDelayTime: number + ): DelayNode + /** [DynamicsCompressorNode WebAudioContext.createDynamicsCompressor()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDynamicsCompressor.html) + * + * 在插件中使用:不支持 + * + * 创建一个DynamicsCompressorNode */ + createDynamicsCompressor(): DynamicsCompressorNode + /** [GainNode WebAudioContext.createGain()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createGain.html) + * + * 在插件中使用:不支持 + * + * 创建一个GainNode */ + createGain(): GainNode + /** [IIRFilterNode WebAudioContext.createIIRFilter(Array.<number> feedforward, Array.<number> feedback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createIIRFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个IIRFilterNode */ + createIIRFilter( + /** 一个浮点值数组,指定IIR滤波器传递函数的前馈(分子)系数。 */ + feedforward: number[], + /** 一个浮点值数组,指定IIR滤波器传递函数的反馈(分母)系数。 */ + feedback: number[] + ): IIRFilterNode + /** [OscillatorNode WebAudioContext.createOscillator()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createOscillator.html) + * + * 在插件中使用:不支持 + * + * 创建一个OscillatorNode */ + createOscillator(): OscillatorNode + /** [PannerNode WebAudioContext.createPanner()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPanner.html) + * + * 在插件中使用:不支持 + * + * 创建一个PannerNode */ + createPanner(): PannerNode + /** [PeriodicWaveNode WebAudioContext.createPeriodicWave(Float32Array real, Float32Array imag, object constraints)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPeriodicWave.html) +* +* 在插件中使用:不支持 +* +* 创建一个PeriodicWaveNode +* +* **注意** +* +* `real`和`imag`数组必须拥有一样的长度,否则抛出错误 +* ```js +const real = new Float32Array(2) +const imag = new Float32Array(2) +real[0] = 0 +imag[0] = 0 +real[1] = 1 +imag[1] = 0 + +const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true}) +``` */ + createPeriodicWave( + /** 一组余弦项(传统上是A项) */ + real: Float32Array, + /** 一组余弦项(传统上是A项) */ + imag: Float32Array, + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + constraints: Constraints + ): PeriodicWaveNode + /** [Promise WebAudioContext.close()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.close.html) +* +* 在插件中使用:不支持 +* +* 关闭WebAudioContext +* +* **注意事项** +* +* 同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,<b>不要在close后再次访问state属性。</b> +* ```js +const audioCtx = wx.createWebAudioContext() +audioCtx.close().then(() => { + console.log(audioCtx.state) // bad case:不应该在close后再访问state +}) +``` */ + close(): Promise<any> + /** [Promise WebAudioContext.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.resume.html) + * + * 在插件中使用:不支持 + * + * 同步恢复已经被暂停的WebAudioContext上下文 */ + resume(): Promise<any> + /** [Promise WebAudioContext.suspend()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.suspend.html) + * + * 在插件中使用:不支持 + * + * 同步暂停WebAudioContext上下文 */ + suspend(): Promise<any> + /** [ScriptProcessorNode WebAudioContext.createScriptProcessor(number bufferSize, number numberOfInputChannels, number numberOfOutputChannels)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createScriptProcessor.html) + * + * 在插件中使用:不支持 + * + * 创建一个ScriptProcessorNode */ + createScriptProcessor( + /** 缓冲区大小,以样本帧为单位 */ + bufferSize: number, + /** 用于指定输入node的声道的数量 */ + numberOfInputChannels: number, + /** 用于指定输出node的声道的数量 */ + numberOfOutputChannels: number + ): ScriptProcessorNode + /** [WaveShaperNode WebAudioContext.createWaveShaper()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createWaveShaper.html) + * + * 在插件中使用:不支持 + * + * 创建一个WaveShaperNode */ + createWaveShaper(): WaveShaperNode + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.createBuffer(number numOfChannels, number length, number sampleRate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBuffer.html) + * + * 在插件中使用:不支持 + * + * 创建一个AudioBuffer,代表着一段驻留在内存中的短音频 */ + createBuffer( + /** 定义了 buffer 中包含的声频通道数量的整数 */ + numOfChannels: number, + /** 代表 buffer 中的样本帧数的整数 */ + length: number, + /** 线性音频样本的采样率,即每一秒包含的关键帧的个数 */ + sampleRate: number + ): AudioBuffer + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.decodeAudioData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html) + * + * 在插件中使用:不支持 + * + * 异步解码一段资源为AudioBuffer。 */ + decodeAudioData(): AudioBuffer + } + interface WifiError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errCode: number + } + interface Worker { + /** [ArrayBuffer Worker.getCameraFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) +* +* 需要基础库: `2.25.1` +* +* 在插件中使用:不支持 +* +* 获取摄像头当前帧图像,返回ArrayBuffer数据。仅限在 worker 线程中使用。 +* +* **示例代码** +* +* ```js +// app.js +const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true +}) + +const cameraContext = wx.createCameraContext() +const cameraFrameListener = cameraContext.onCameraFrame(function() {}) +cameraFrameListener.start({ + worker: worker +}) +``` +* +* ```js +// workers/index.js +const data = worker.getCameraFrameData() +console.log(data) +``` */ + getCameraFrameData(): ArrayBuffer + /** [Worker.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听主线程/Worker 线程向当前线程发送的消息的事件。 */ + onMessage( + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + listener: WorkerOnMessageCallback + ): void + /** [Worker.onProcessKilled(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html) + * + * 在插件中使用:不支持 + * + * 监听 worker线程被系统回收事件(当iOS系统资源紧张时,worker线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker)。仅限在主线程 worker 对象上调用。 */ + onProcessKilled( + /** worker线程被系统回收事件的监听函数 */ + listener: OnProcessKilledCallback + ): void + /** [Worker.postMessage(Object message)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.postMessage.html) +* +* 在插件中使用:不支持 +* +* 向主线程/Worker 线程发送的消息。 +* +* **示例代码** +* +* worker 线程中 +* ```js +worker.postMessage({ + msg: 'hello from worker' +}) +``` +* +* 主线程中 +* ```js +const worker = wx.createWorker('workers/request/index.js') + +worker.postMessage({ + msg: 'hello from main' +}) +``` +* +* **提醒** +* +* 在基础库版本2.20.2之前,postMessage仅支持传递可序列化的key-value对象。 +* 在基础库2.20.2之后,postMessage支持传递任意类型的数据。 */ + postMessage( + /** 需要发送的消息。 */ + message: IAnyObject + ): void + /** [Worker.terminate()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.terminate.html) + * + * 在插件中使用:不支持 + * + * 结束当前 Worker 线程。仅限在主线程 worker 对象上调用。 */ + terminate(): void + } + interface WriteSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface Wx { + bindLocalAccount(arg0: { desc: string; success: (res: any) => void }) + /** [Array.<any> wx.batchGetStorageSync(Array.<string> keyList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中同步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +try { + var valueList = wx.batchGetStorageSync(['key']) + if (valueList) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` +* +* **** +* +* 对于多个key的读取, 批量读取在性能上优于多次getStorageSync读取 */ + batchGetStorageSync( + /** 本地缓存中指定的 key 数组 */ + keyList: string[] + ): any[] + /** [ArrayBuffer wx.base64ToArrayBuffer(string base64)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.base64ToArrayBuffer.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 Base64 字符串转成 ArrayBuffer 对象 */ + base64ToArrayBuffer( + /** 要转化成 ArrayBuffer 对象的 Base64 字符串 */ + base64: string + ): ArrayBuffer + /** [Object wx.getAccountInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html) +* +* 需要基础库: `2.2.2` +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。 +* +* **示例代码** +* +* ```js +const accountInfo = wx.getAccountInfoSync(); +console.log(accountInfo.miniProgram.appId) // 小程序 appId +console.log(accountInfo.plugin.appId) // 插件 appId +console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式 +``` */ + getAccountInfoSync(): AccountInfo + /** [Object wx.getAppAuthorizeSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP授权设置 +* +* **示例代码** +* +* ```js +const appAuthorizeSetting = wx.getAppAuthorizeSetting() + +console.log(appAuthorizeSetting.albumAuthorized) +console.log(appAuthorizeSetting.bluetoothAuthorized) +console.log(appAuthorizeSetting.cameraAuthorized) +console.log(appAuthorizeSetting.locationAuthorized) +console.log(appAuthorizeSetting.locationReducedAccuracy) +console.log(appAuthorizeSetting.microphoneAuthorized) +console.log(appAuthorizeSetting.notificationAlertAuthorized) +console.log(appAuthorizeSetting.notificationAuthorized) +console.log(appAuthorizeSetting.notificationBadgeAuthorized) +console.log(appAuthorizeSetting.notificationSoundAuthorized) +console.log(appAuthorizeSetting.phoneCalendarAuthorized) +``` +* +* **返回值说明** +* +* `'authorized'` 表示已经获得授权,无需再次请求授权; +* `'denied'` 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户[打开系统设置](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html),在设置页中打开权限) +* `'non determined'` 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) */ + getAppAuthorizeSetting(): AppAuthorizeSetting + /** [Object wx.getAppBaseInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP基础信息 +* +* **示例代码** +* +* ```js +const appBaseInfo = wx.getAppBaseInfo() + +console.log(appBaseInfo.SDKVersion) +console.log(appBaseInfo.enableDebug) +console.log(appBaseInfo.host) +console.log(appBaseInfo.language) +console.log(appBaseInfo.version) +console.log(appBaseInfo.theme) +``` */ + getAppBaseInfo(): AppBaseInfo + /** [Object wx.getBatteryInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * [wx.getBatteryInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) 的同步版本 */ + getBatteryInfoSync(): GetBatteryInfoSyncResult + /** [Object wx.getDeviceInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备基础信息 +* +* **示例代码** +* +* ```js +const deviceInfo = wx.getDeviceInfo() + +console.log(deviceInfo.abi) +console.log(deviceInfo.benchmarkLevel) +console.log(deviceInfo.brand) +console.log(deviceInfo.model) +console.log(deviceInfo.platform) +console.log(deviceInfo.system) +``` */ + getDeviceInfo(): DeviceInfo + /** [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html) + * + * 需要基础库: `2.9.4` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onLaunch-Object-object) 的回调参数一致;如果当前是热启动,则返回值与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onShow-Object-object) 一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无 `referrerInfo` 的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getEnterOptionsSync(): LaunchOptionsApp + /** [Object wx.getExptInfoSync(Array.<string> keys)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html) + * + * 需要基础库: `2.17.0` + * + * 在插件中使用:不支持 + * + * 给定实验参数数组,获取对应的实验参数值 + * + * **提示** + * + * 假设实验参数有 `color`, `size` + * 调用 wx.getExptInfoSync() 会返回 `{color:'#fff',size:20}` 类似的结果 + * 而 wx.getExptInfoSync(['color']) 则只会返回 `{color:'#fff'}` */ + getExptInfoSync( + /** 实验参数数组,不填则获取所有实验参数 */ + keys?: string[] + ): IAnyObject + /** [Object wx.getExtConfigSync()](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 的同步版本。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfigSync](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) 是否存在来兼容 +* +* **** +* +* ```js +let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {} +console.log(extConfig) +``` */ + getExtConfigSync(): IAnyObject + /** [Object wx.getLaunchOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取小程序启动时的参数。与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onlaunchobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * | 1069 | 移动应用 | 来源App | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getLaunchOptionsSync(): LaunchOptionsApp + /** [Object wx.getMenuButtonBoundingClientRect()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.getMenuButtonBoundingClientRect.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。 +* +* **示例代码** +* +* ```js +const res = wx.getMenuButtonBoundingClientRect() + +console.log(res.width) +console.log(res.height) +console.log(res.top) +console.log(res.right) +console.log(res.bottom) +console.log(res.left) +``` */ + getMenuButtonBoundingClientRect(): ClientRect + /** [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html) +* +* 在插件中使用:不支持 +* +* [wx.getStorageInfo](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfoSync(): GetStorageInfoSyncOption + /** [Object wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.getSystemInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) 的同步版本 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfoSync(): SystemInfo + /** [Object wx.getSystemSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备设置 +* +* **示例代码** +* +* ```js +const systemSetting = wx.getSystemSetting() + +console.log(systemSetting.bluetoothEnabled) +console.log(systemSetting.deviceOrientation) +console.log(systemSetting.locationEnabled) +console.log(systemSetting.wifiEnabled) +``` */ + getSystemSetting(): SystemSetting + /** [Object wx.getWindowInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取窗口信息 +* +* **示例代码** +* +* ```js +const windowInfo = wx.getWindowInfo() + +console.log(windowInfo.pixelRatio) +console.log(windowInfo.screenWidth) +console.log(windowInfo.screenHeight) +console.log(windowInfo.windowWidth) +console.log(windowInfo.windowHeight) +console.log(windowInfo.statusBarHeight) +console.log(windowInfo.safeArea) +console.log(windowInfo.screenTop) +``` */ + getWindowInfo(): WindowInfo + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) wx.createAnimation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/wx.createAnimation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建一个动画实例 [animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html)。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。 */ + createAnimation(option: StepOption): Animation + /** [[AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) wx.createAudioContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createAudioContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 创建 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) 对象。 */ + createAudioContext( + /** [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): AudioContext + /** [[BackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html) wx.getBackgroundAudioManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取**全局唯一**的背景音频管理器。 + * 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 + * + * 从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 [app.json](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html) 中配置 `requiredBackgroundModes` 属性。开发版和体验版上可以直接生效,正式版还需通过审核。 */ + getBackgroundAudioManager(): BackgroundAudioManager + /** [[CacheManager](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.html) wx.createCacheManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/wx.createCacheManager.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 创建缓存管理器 +* +* **示例代码** +* +* <a href="https://github.com/wechat-miniprogram/miniprogram-offline-demo" target="_blank">查看完整示例代码</a> +* +* ```js +const cacheManager = createCacheManager() +cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配 + +cacheManager.on('request', evt => { + // 在弱网时接收到 wx.request 请求 + return new Promise((resolve, reject) => { + const matchRes = cm.match(evt) + if (matchRes && matchRes.data) { + // 有缓存,返回 + resolve(matchRes.data) + } else { + // 没缓存,抛错 + reject({ errMsg: 'no cache' }) + } + }) +}) +``` */ + createCacheManager(option: CreateCacheManagerOption): CacheManager + /** [[CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) wx.createCameraContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/wx.createCameraContext.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 上下文 [CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) 对象。 */ + createCameraContext(): CameraContext + /** [[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) wx.createCanvasContext(string canvasId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 替换 + * + * 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 */ + createCanvasContext( + /** 要获取上下文的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 canvas-id 属性 */ + canvasId: string, + /** 在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) ,如果省略则不在任何自定义组件内查找 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): CanvasContext + /** [[DownloadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.html) wx.downloadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* 注意:请在服务端响应的 header 中指定合理的 `Content-Type` 字段,以保证客户端正确处理文件类型。 +* +* **示例代码** +* +* ```js +wx.downloadFile({ + url: 'https://example.com/audio/123', //仅为示例,并非真实的资源 + success (res) { + // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容 + if (res.statusCode === 200) { + wx.playVoice({ + filePath: res.tempFilePath + }) + } + } +}) +``` */ + downloadFile(option: DownloadFileOption): DownloadTask + /** [[FileSystemManager](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html) wx.getFileSystemManager()](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileSystemManager.html) + * + * 需要基础库: `1.9.9` + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取全局唯一的文件管理器 */ + getFileSystemManager(): FileSystemManager + /** [[InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) wx.createInnerAudioContext(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 创建内部 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 对象。 +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext({ + useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项 +}) +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' + +innerAudioContext.play() // 播放 + +innerAudioContext.pause() // 暂停 + +innerAudioContext.stop() // 停止 +``` */ + createInnerAudioContext( + option?: CreateInnerAudioContextOption + ): InnerAudioContext + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) wx.createIntersectionObserver(Object component, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createIntersectionObserver.html) + * + * 需要基础库: `1.9.3` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createIntersectionObserver([options])` 来代替。 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/LAbMxkmI7F2A) */ + createIntersectionObserver( + /** 自定义组件实例 */ + component: IAnyObject, + /** 选项 */ + options?: CreateIntersectionObserverOption + ): IntersectionObserver + /** [[InterstitialAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html) wx.createInterstitialAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html) + * + * 需要基础库: `2.6.0` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建插屏广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。 */ + createInterstitialAd(option: CreateInterstitialAdOption): InterstitialAd + /** [[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) wx.createLivePlayerContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePlayerContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 上下文 [LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createLivePlayerContext( + /** [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): LivePlayerContext + /** [[LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) wx.createLivePusherContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePusherContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html) 上下文 [LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) 对象。 */ + createLivePusherContext(): LivePusherContext + /** [[LogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.html) wx.getLogManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getLogManager.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:不支持 +* +* 获取日志管理器对象。 +* +* **示例代码** +* +* ```js +const logger = wx.getLogManager({level: 1}) +logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3]) +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) +``` */ + getLogManager(option: GetLogManagerOption): LogManager + /** [[MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) wx.createMapContext(string mapId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/wx.createMapContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 上下文 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createMapContext( + /** [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件的 id */ + mapId: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): MapContext + /** [[MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) wx.createMediaAudioPlayer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 创建媒体音频播放器对象 [MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) 对象,可用于播放视频解码器 [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) 输出的音频。 +* +* **示例代码** +* +* ```js + // 创建视频解码器,具体参数见 createVideoDecoder 文档 + const videoDecoder = wx.createVideoDecoder() + // 创建媒体音频播放器 + const mediaAudioPlayer = wx.createMediaAudioPlayer() + // 启动视频解码器 + videoDecoder.start() + // 启动播放器 + mediaAudioPlayer.start().then(() => { + // 添加播放器音频来源 + mediaAudioPlayer.addAudioSource(videoDecoder).then(res => { + videoDecoder.getFrameData() // 建议在 requestAnimationFrame 里获取每一帧视频数据 + console.log(res) + }) + + // 移除播放器音频来源 + mediaAudioPlayer.removeAudioSource(videoDecoder).then() + // 停止播放器 + mediaAudioPlayer.stop().then() + // 销毁播放器 + mediaAudioPlayer.destroy().then() + // 设置播放器音量 + mediaAudioPlayer.volume = 0.5 + }) +``` +* +* **完整demo(小游戏)** +* +* - https://developers.weixin.qq.com/s/SF2duHmb7MjI */ + createMediaAudioPlayer(): MediaAudioPlayer + /** [[MediaContainer](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.html) wx.createMediaContainer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/wx.createMediaContainer.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 创建音视频处理容器,最终可将容器中的轨道合成一个视频 */ + createMediaContainer(): MediaContainer + /** [[MediaRecorder](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.html) wx.createMediaRecorder(Object canvas, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.11.0` +* +* 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MCz3kPmC7zpa) +* +* **低版本异步接口兼容** +* +* 对基础库 2.16.1 版本前的 mediaRecorder,所有的接口都没有返回 Promise 对象,若需要兼容低版本,则可采用如下方式的写法: +* ```javascript +// 启动 mediaRecorder +await new Promise(resolve => { + recorder.on('start', resolve) + recorder.start() +}) + +// 逐帧绘制 +while (frames--) { + await new Promise(resolve => recorder.requestFrame(resolve)) + render() +} + +// 绘制完成,生成视频 +const {tempFilePath} = await new Promise(resolve => { + recorder.on('stop', resolve) + recorder.stop() +}) +``` */ + createMediaRecorder( + /** WebGL 对象,通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取到的 node 对象或通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建的离屏 WebGL Canvas 对象 */ + canvas: IAnyObject, + options: CreateMediaRecorderOption + ): MediaRecorder + /** [[NFCAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.html) wx.getNFCAdapter()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/wx.getNFCAdapter.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:需要基础库 `2.11.2` + * + * 获取 NFC 实例 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/1WsbDwmb75ig) */ + getNFCAdapter(): NFCAdapter + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + /** 画布宽度 */ + width: number, + /** 画布高度 */ + height: number, + /** 在自定义组件下,当前组件实例的 this */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): OffscreenCanvas + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + option: CreateOffscreenCanvasOption + ): OffscreenCanvas + /** [[Performance](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.html) wx.getPerformance()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.getPerformance.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:支持 +* +* 获取当前小程序性能相关的信息。关于小程序启动性能优化的更多内容,请参考[启动性能指南](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/start.html)。 +* +* **** +* +* 目前支持获取以下几类性能指标,具体内容请参考 [PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html): +* +* | 指标类型(entryType) | 指标名称 | 最低版本 | +* | ------------------- | ---------------- | ------ | +* | 路由(navigation) | route: 路由性能 | | +* | 路由(navigation) | appLaunch: 小程序启动耗时 | | +* | 渲染(render) | firstRender: 页面首次渲染耗时 | | +* | 渲染(render) | firstPaint: 页面首次绘制 | <2.21.2> | +* | 渲染(render) | firstContentfulPaint: 页面首次内容绘制 | <2.21.2> | +* | 渲染(render) | largestContentfulPaint: 页面最大内容绘制 | <2.23.1> | +* | 脚本(script) | evaluateScript: 注入脚本耗时 | | +* | 包加载(loadPackage)| downloadPackage: 代码包下载耗时 | <2.24.0> | +* | 资源(resource) | resourceTiming: 视图层资源加载耗时 | <2.24.0> | +* +* **示例代码** +* +* ```js +const performance = wx.getPerformance() +const observer = performance.createObserver((entryList) => { + console.log(entryList.getEntries()) +}) +observer.observe({ entryTypes: ['render', 'script', 'navigation'] }) +``` +* +* **注意** +* +* - 目前,当开启代码 [按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html) 时,`evaluateScript` 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 `firstRender` 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(`appLaunch`)来评估。 +* - firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。 */ + getPerformance(): Performance + /** [[RealtimeLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getRealtimeLogManager.html) +* +* 需要基础库: `2.7.1` +* +* 在插件中使用:需要基础库 `2.16.0` +* +* 获取实时日志管理器对象。 +* +* **示例代码** +* +* ```js +// 小程序端 +const logger = wx.getRealtimeLogManager() +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) + +// 插件端,基础库 2.16.0 版本后支持,只允许采用 key-value 的新格式上报 +const logManager = wx.getRealtimeLogManager() +const logger = logManager.tag('plugin-log1') +logger.info('key1', 'value1') +logger.error('key2', {str: 'value2'}) +logger.warn('key3', 'value3') +``` */ + getRealtimeLogManager(): RealtimeLogManager + /** [[RecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.html) wx.getRecorderManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.94` + * + * 获取**全局唯一**的录音管理器 RecorderManager */ + getRecorderManager(): RecorderManager + /** [[RequestTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.html) wx.request(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **data 参数说明** +* +* 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: +* - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`) +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化 +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)` +* +* **示例代码** +* +* ```js +wx.request({ + url: 'example.php', //仅为示例,并非真实的接口地址 + data: { + x: '', + y: '' + }, + header: { + 'content-type': 'application/json' // 默认值 + }, + success (res) { + console.log(res.data) + } +}) +``` */ + request< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + >( + option: RequestOption<T> + ): RequestTask + /** [[RewardedVideoAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html) wx.createRewardedVideoAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html) + * + * 需要基础库: `2.0.4` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建激励视频广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API(小游戏端要求 >= 2.0.4, 小程序端要求 >= 2.6.0)。调用该方法创建的激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。 */ + createRewardedVideoAd( + option: CreateRewardedVideoAdOption + ): RewardedVideoAd + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) wx.createSelectorQuery()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createSelectorQuery()` 来代替。 +* +* **示例代码** +* +* ```js +const query = wx.createSelectorQuery() +query.select('#the-id').boundingClientRect() +query.selectViewport().scrollOffset() +query.exec(function(res){ + res[0].top // #the-id节点的上边界坐标 + res[1].scrollTop // 显示区域的竖直滚动位置 +}) +``` */ + createSelectorQuery(): SelectorQuery + /** [[SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) wx.connectSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.connectSocket.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 创建一个 WebSocket 连接。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **并发数** +* +* - 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。 +* - 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'wss://example.qq.com', + header:{ + 'content-type': 'application/json' + }, + protocols: ['protocol1'] +}) +``` */ + connectSocket(option: ConnectSocketOption): SocketTask + /** [[TCPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.html) wx.createTCPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/wx.createTCPSocket.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 创建一个 TCP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 + * + * **连接限制** + * + * - 允许与局域网内的非本机 IP 通信 + * - 允许与配置过的服务器域名通信,详见[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html) + * - 禁止与以下端口号连接:`1024 以下` `1099` `1433` `1521` `1719` `1720` `1723` `2049` `2375` `3128` `3306` `3389` `3659` `4045` `5060` `5061` `5432` `5984` `6379` `6000` `6566` `7001` `7002` `8000-8100` `8443` `8888` `9200` `9300` `10051` `10080` `11211` `27017` `27018` `27019` + * - 每 5 分钟内最多创建 20 个 TCPSocket */ + createTCPSocket(): TCPSocket + /** [[UDPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.html) wx.createUDPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/wx.createUDPSocket.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 创建一个 UDP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 */ + createUDPSocket(): UDPSocket + /** [[UpdateManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html) wx.getUpdateManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:不支持 + * + * 获取**全局唯一**的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看[运行机制](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html)文档。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + getUpdateManager(): UpdateManager + /** [[UploadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.html) wx.uploadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 `content-type` 为 `multipart/form-data`。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success (res) { + const tempFilePaths = res.tempFilePaths + wx.uploadFile({ + url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 + filePath: tempFilePaths[0], + name: 'file', + formData: { + 'user': 'test' + }, + success (res){ + const data = res.data + //do something + } + }) + } +}) +``` */ + uploadFile(option: UploadFileOption): UploadTask + /** [[UserCryptoManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.html) wx.getUserCryptoManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/wx.getUserCryptoManager.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 获取用户加密模块 */ + getUserCryptoManager(): UserCryptoManager + /** [[VKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.html) wx.createVKSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:需要基础库 `2.20.0` +* +* 创建 vision kit 会话对象。 +* +* **示例代码** +* +* v1 版本:[VisionKit基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic) +* v2 版本:[VisionKit-v2基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic-v2) +* ```js +// 以下 demo 以 v2 为例 +// 创建 session 对象 +const ssession = wx.createVKSession({ + track: { + plane: {mode: 3}, + }, + version: 'v2', + gl, // WebGLRenderingContext +}) + +// 逐帧分析 +const onFrame = timestamp => { + // 开发者可以自己控制帧率 + const frame = session.getVKFrame(canvasWidth, canvasHeight) + if (frame) { + // 分析完毕,可以拿到帧对象 + doRender(frame) + } + + session.requestAnimationFrame(onFrame) +} +session.start(err => { + if (!err) session.requestAnimationFrame(onFrame) +}) + +// 渲染函数 +const doRender = frame => { + // ... +} +``` */ + createVKSession(option: VKConfig): VKSession + /** [[VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) wx.createVideoContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.createVideoContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 上下文 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createVideoContext( + /** [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): VideoContext + /** [[VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) wx.createVideoDecoder()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 创建视频解码器,可逐帧获取解码后的数据 */ + createVideoDecoder(): VideoDecoder + /** [[WebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.html) wx.createWebAudioContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 创建 WebAudio 上下文。 */ + createWebAudioContext(): WebAudioContext + /** [[Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) wx.createWorker(string scriptPath, object options)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) +* +* 需要基础库: `1.9.90` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 创建一个 Worker 线程 +* +* **示例代码** +* +* ```js +// 创建普通worker +wx.createWorker('workers/index.js') +``` +* ```js +function createNewWorker() { + const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true + }) + // 监听worker被系统回收事件 + worker.onProcessKilled(() => { + // 重新创建一个worker + createNewWorker() + }) +} +// 创建实验worker +createNewWorker() +``` */ + createWorker( + /** worker 入口文件的**绝对路径** */ + scriptPath: string, + /** 可选参数 */ + options?: CreateWorkerOption + ): Worker + /** [any wx.getStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中同步获取指定 key 的内容。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + var value = wx.getStorageSync('key') + if (value) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` */ + getStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string + ): T + /** [boolean wx.canIUse(string schema)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) +* +* 需要基础库: `1.1.1` +* +* 在插件中使用:不支持 +* +* 判断小程序的API,回调,参数,组件等是否在当前版本可用。 +* +* **参数说明** +* +* - `${API}` 代表 API 名字 +* - `${method}` 代表调用方式,有效值为return, success, object, callback +* - `${param}` 代表参数或者返回值 +* - `${option}` 代表参数的可选值或者返回值的属性 +* - `${component}` 代表组件名字 +* - `${attribute}` 代表组件属性 +* - `${option}` 代表组件属性的可选值 +* +* **示例代码** +* +* ```js +// 对象的属性或方法 +wx.canIUse('console.log') +wx.canIUse('CameraContext.onCameraFrame') +wx.canIUse('CameraFrameListener.start') +wx.canIUse('Image.src') + +// wx接口参数、回调或者返回值 +wx.canIUse('openBluetoothAdapter') +wx.canIUse('getSystemInfoSync.return.safeArea.left') +wx.canIUse('getSystemInfo.success.screenWidth') +wx.canIUse('showToast.object.image') +wx.canIUse('onCompassChange.callback.direction') +wx.canIUse('request.object.method.GET') + +// 组件的属性 +wx.canIUse('live-player') +wx.canIUse('text.selectable') +wx.canIUse('button.open-type.contact') +``` */ + canIUse( + /** 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 */ + schema: string + ): boolean + /** [boolean wx.isVKSupport(string version)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.isVKSupport.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.0` +* +* 判断支持版本 +* +* **示例代码** +* +* ```js +const isSupportV2 = wx.isVKSupport('v2') +``` */ + isVKSupport( + /** 参数 version 可选值: + * - 'v1': 旧版本; + * - 'v2': v2 版本,目前只有 iOS 基础库 2.22.0 以上支持; */ + version: 'v1' | 'v2' + ): boolean + /** [string wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 ArrayBuffer 对象转成 Base64 字符串 */ + arrayBufferToBase64( + /** 要转换成 Base64 字符串的 ArrayBuffer 对象 */ + arrayBuffer: ArrayBuffer + ): string + /** [wx.addCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 批量添加卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **cardExt 说明** +* +* cardExt 是卡券的扩展参数,其值是一个 JSON 字符串。 +* +* **示例代码** +* +* ```js +wx.addCard({ + cardList: [ + { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + }, { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + } + ], + success (res) { + console.log(res.cardList) // 卡券添加结果 + } +}) +``` */ + addCard<T extends AddCardOption = AddCardOption>( + option: T + ): PromisifySuccessResult<T, AddCardOption> + /** [wx.addFileToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addFileToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏文件 */ + addFileToFavorites< + T extends AddFileToFavoritesOption = AddFileToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddFileToFavoritesOption> + /** [wx.addPhoneCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加事件 */ + addPhoneCalendar< + T extends AddPhoneCalendarOption = AddPhoneCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneCalendarOption> + /** [wx.addPhoneContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 添加手机通讯录联系人。用户可以选择将该表单以「新增联系人」或「添加到已有联系人」的方式,写入手机系统通讯录。 */ + addPhoneContact< + T extends AddPhoneContactOption = AddPhoneContactOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneContactOption> + /** [wx.addPhoneRepeatCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加重复事件 */ + addPhoneRepeatCalendar< + T extends AddPhoneRepeatCalendarOption = AddPhoneRepeatCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneRepeatCalendarOption> + /** [wx.addVideoToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addVideoToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏视频 */ + addVideoToFavorites< + T extends AddVideoToFavoritesOption = AddVideoToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddVideoToFavoritesOption> + /** [wx.authPrivateMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.authPrivateMessage.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 验证私密消息。用法详情见 [小程序私密消息使用指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) +* +* **示例代码** +* +* ```js +wx.authPrivateMessage({ + shareTicket: 'xxxxxx', + success(res) { + console.log('authPrivateMessage success', res) + // res + // { + // errMsg: 'authPrivateMessage:ok' + // valid: true + // iv: 'xxxx', + // encryptedData: 'xxxxxx' + // } + }, + fail(res) { + console.log('authPrivateMessage fail', res) + } +}) +``` */ + authPrivateMessage(option?: AuthPrivateMessageOption): void + /** [wx.authorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)。 +* > 小程序插件可以使用 [wx.authorizeForMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* **示例代码** +* +* ```js +// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope +wx.getSetting({ + success(res) { + if (!res.authSetting['scope.record']) { + wx.authorize({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } + }) + } + } +}) +``` */ + authorize<T extends AuthorizeOption = AuthorizeOption>( + option: T + ): PromisifySuccessResult<T, AuthorizeOption> + /** [wx.authorizeForMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* 需要基础库: `2.14.4` +* +* 在插件中使用:需要基础库 `2.14.4` +* +* **仅小程序插件中能调用该接口**,用法同 [wx.authorize](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)。目前仅支持三种 scope(见下) +* +* **示例代码** +* +* ```js +wx.authorizeForMiniProgram({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } +}) +``` */ + authorizeForMiniProgram(option: AuthorizeForMiniProgramOption): void + /** [wx.batchGetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中异步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.batchGetStorage({ + keyList: ['key'], + success (res) { + console.log(res) + } +}) +``` */ + batchGetStorage< + T extends BatchGetStorageOption = BatchGetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchGetStorageOption> + /** [wx.batchSetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.batchSetStorage({ + kvList: { + key: 'key', + value: 'value', + } +}) +``` */ + batchSetStorage< + T extends BatchSetStorageOption = BatchSetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchSetStorageOption> + /** [wx.batchSetStorageSync(KVArray kvList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +try { + wx.batchSetStorageSync([{key: 'key', value: 'value'}]) +} catch (e) { } +``` */ + batchSetStorageSync(kvList: KVArray): void + /** [wx.canvasGetImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取 canvas 区域隐含的像素数据。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/yufmRjmZ7W8f) +* +* ```js +wx.canvasGetImageData({ + canvasId: 'myCanvas', + x: 0, + y: 0, + width: 100, + height: 100, + success(res) { + console.log(res.width) // 100 + console.log(res.height) // 100 + console.log(res.data instanceof Uint8ClampedArray) // true + console.log(res.data.length) // 100 * 100 * 4 + } +}) +``` */ + canvasGetImageData< + T extends CanvasGetImageDataOption = CanvasGetImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasGetImageDataOption> + /** [wx.canvasPutImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件 */ + canvasPutImageData< + T extends CanvasPutImageDataOption = CanvasPutImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasPutImageDataOption> + /** [wx.canvasToTempFilePath(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 */ + canvasToTempFilePath< + T extends CanvasToTempFilePathOption = CanvasToTempFilePathOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasToTempFilePathOption> + /** [wx.checkIsOpenAccessibility(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accessibility/wx.checkIsOpenAccessibility.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 检测是否开启视觉无障碍功能。 */ + checkIsOpenAccessibility< + T extends CheckIsOpenAccessibilityOption = CheckIsOpenAccessibilityOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsOpenAccessibilityOption> + /** [wx.checkIsSoterEnrolledInDevice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSoterEnrolledInDevice.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:不支持 +* +* 获取设备内是否录入如指纹等生物信息的接口 +* +* **示例代码** +* +* ```js +wx.checkIsSoterEnrolledInDevice({ + checkAuthMode: 'fingerPrint', + success(res) { + console.log(res.isEnrolled) + } +}) +``` */ + checkIsSoterEnrolledInDevice< + T extends CheckIsSoterEnrolledInDeviceOption = CheckIsSoterEnrolledInDeviceOption + >( + option: T + ): PromisifySuccessResult<T, CheckIsSoterEnrolledInDeviceOption> + /** [wx.checkIsSupportSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSupportSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 获取本机支持的 SOTER 生物认证方式 +* +* **示例代码** +* +* ```js +wx.checkIsSupportSoterAuthentication({ + success(res) { + // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式 + // res.supportMode = ['fingerPrint'] 只支持指纹识别 + // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别 + } +}) +``` */ + checkIsSupportSoterAuthentication< + T extends CheckIsSupportSoterAuthenticationOption = CheckIsSupportSoterAuthenticationOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsSupportSoterAuthenticationOption> + /** [wx.checkSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html) +* +* 在插件中使用:不支持 +* +* 检查登录态是否过期。 +* 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。 +* +* 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。 +* +* **示例代码** +* +* ```js +wx.checkSession({ + success () { + //session_key 未过期,并且在本生命周期一直有效 + }, + fail () { + // session_key 已经失效,需要重新执行登录流程 + wx.login() //重新登录 + } +}) +``` */ + checkSession<T extends CheckSessionOption = CheckSessionOption>( + option?: T + ): PromisifySuccessResult<T, CheckSessionOption> + /** [wx.chooseAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/024hHnmd772y) +* ```js +wx.chooseAddress({ + success (res) { + console.log(res.userName) + console.log(res.postalCode) + console.log(res.provinceName) + console.log(res.cityName) + console.log(res.countyName) + console.log(res.detailInfo) + console.log(res.nationalCode) + console.log(res.telNumber) + } +}) +``` */ + chooseAddress<T extends ChooseAddressOption = ChooseAddressOption>( + option?: T + ): PromisifySuccessResult<T, ChooseAddressOption> + /** [wx.chooseContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.chooseContact.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉起手机通讯录,选择联系人。 */ + chooseContact(option?: ChooseContactOption): void + /** [wx.chooseImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 从本地相册选择图片或使用相机拍照。 +* +* **** +* +* ```js +wx.chooseImage({ + count: 1, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFilePaths + } +}) +``` */ + chooseImage<T extends ChooseImageOption = ChooseImageOption>( + option?: T + ): PromisifySuccessResult<T, ChooseImageOption> + /** [wx.chooseInvoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 选择用户已有的发票。 + * + * **通过 cardId 和 encryptCode 获得报销发票的信息** + * + * 请参考[微信电子发票文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21517918939oae3U)中,「查询报销发票信息」部分。 + * 其中 `access_token` 的获取请参考[auth.getAccessToken](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html)文档 */ + chooseInvoice<T extends ChooseInvoiceOption = ChooseInvoiceOption>( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceOption> + /** [wx.chooseInvoiceTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 选择用户的发票抬头。当前小程序必须关联一个公众号,且这个公众号是完成了[微信认证](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496554031_RD4xe)的,才能调用 chooseInvoiceTitle。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/GJ4S9nmQ7x2E) +* +* ```js +wx.chooseInvoiceTitle({ + success(res) {} +}) +``` */ + chooseInvoiceTitle< + T extends ChooseInvoiceTitleOption = ChooseInvoiceTitleOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceTitleOption> + /** [wx.chooseLicensePlate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/license-plate/wx.chooseLicensePlate.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 选择车牌号 */ + chooseLicensePlate< + T extends ChooseLicensePlateOption = ChooseLicensePlateOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseLicensePlateOption> + /** [wx.chooseLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开地图选择位置。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/WDFC8aB4FI8rJ9oEmbYfbH_Fl3EIv91471YVxezVfLRESkUuCgfODZcbOoyteKU4j-OLZa2EFKY9BDPd3g-tfg) */ + chooseLocation<T extends ChooseLocationOption = ChooseLocationOption>( + option: T + ): PromisifySuccessResult<T, ChooseLocationOption> + /** [wx.chooseMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 拍摄或从手机相册中选择图片或视频。 +* +* **示例代码** +* +* ```js +wx.chooseMedia({ + count: 9, + mediaType: ['image','video'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success(res) { + console.log(res.tempFiles.tempFilePath) + console.log(res.tempFiles.size) + } +}) +``` */ + chooseMedia<T extends ChooseMediaOption = ChooseMediaOption>( + option: T + ): PromisifySuccessResult<T, ChooseMediaOption> + /** [wx.chooseMessageFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html) +* +* 需要基础库: `2.5.0` +* +* 在插件中使用:不支持 +* +* 从客户端会话选择文件。 +* +* **** +* +* ```js +wx.chooseMessageFile({ + count: 10, + type: 'image', + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFiles + } +}) +``` */ + chooseMessageFile< + T extends ChooseMessageFileOption = ChooseMessageFileOption + >( + option: T + ): PromisifySuccessResult<T, ChooseMessageFileOption> + /** [wx.choosePoi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.choosePoi.html) + * + * 在插件中使用:不支持 + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/lzDsNyBNifLczyLX0ms7ZpPQysgAgdhrQTGzzTQPiXkAB2HJIf1Slvl4rnN9I1q0AT3xqoGTg98jMsNexDLbbA) */ + choosePoi<T extends ChoosePoiOption = ChoosePoiOption>( + option: T + ): PromisifySuccessResult<T, ChoosePoiOption> + /** [wx.chooseVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 拍摄视频或从手机相册中选视频。 +* +* **示例代码** +* +* ```js +wx.chooseVideo({ + sourceType: ['album','camera'], + maxDuration: 60, + camera: 'back', + success(res) { + console.log(res.tempFilePath) + } +}) +``` */ + chooseVideo<T extends ChooseVideoOption = ChooseVideoOption>( + option: T + ): PromisifySuccessResult<T, ChooseVideoOption> + /** [wx.clearStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) +* +* 在插件中使用:不支持 +* +* 清理本地数据缓存。 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorage<T extends ClearStorageOption = ClearStorageOption>( + option?: T + ): PromisifySuccessResult<T, ClearStorageOption> + /** [wx.clearStorageSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html) +* +* 在插件中使用:不支持 +* +* [wx.clearStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorageSync(): void + /** [wx.closeBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 断开与蓝牙低功耗设备的连接。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + closeBLEConnection< + T extends CloseBLEConnectionOption = CloseBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CloseBLEConnectionOption> + /** [wx.closeBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 成对调用。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + closeBluetoothAdapter< + T extends CloseBluetoothAdapterOption = CloseBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, CloseBluetoothAdapterOption> + /** [wx.closeSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.closeSocket.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 关闭 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'test.php' +}) + +//注意这里有时序问题, +//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。 +//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。 +wx.onSocketOpen(function() { + wx.closeSocket() +}) + +wx.onSocketClose(function(res) { + console.log('WebSocket 已关闭!') +}) +``` */ + closeSocket<T extends CloseSocketOption = CloseSocketOption>( + option?: T + ): PromisifySuccessResult<T, CloseSocketOption> + /** [wx.compressImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.compressImage.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.12.0` +* +* 压缩图片接口,可选压缩质量 +* +* **示例代码** +* +* ```js +wx.compressImage({ + src: '', // 图片路径 + quality: 80 // 压缩质量 +}) +``` */ + compressImage<T extends CompressImageOption = CompressImageOption>( + option: T + ): PromisifySuccessResult<T, CompressImageOption> + /** [wx.compressVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.compressVideo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 压缩视频接口。开发者可指定压缩质量 `quality` 进行压缩。当需要更精细的控制时,可指定 `bitrate`、`fps`、和 `resolution`,当 `quality` 传入时,这三个参数将被忽略。原视频的相关信息可通过 [getVideoInfo](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) 获取。 */ + compressVideo<T extends CompressVideoOption = CompressVideoOption>( + option: T + ): PromisifySuccessResult<T, CompressVideoOption> + /** [wx.connectWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.connectWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。 +* +* **示例代码** +* +* ```js +wx.connectWifi({ + SSID: '', + password: '', + success (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 微信客户端 7.0.22 以上版本,connectWifi 的实现在 Android 10 及以上的手机无法生效,对于 Android 10 及以上版本,设备连接 wifi 之后,(受系统能力限制)其他进程无法使用当前连接的 wifi ;即连接上的 wifi 只对当前小程序有效,如果想要对整个系统生效,需要配置 maunal 来连接 wifi。 +* - iOS 系统底层没有给开发者提供因 wifi 密码错误而连接失败的事件,但用户可以收到密码错误的系统弹窗。建议开发者通过 onWifiConnected 事件来判断 wifi 是否连接成功;即设置定时器,若超时后仍没有 onWifiConnected 事件,则认定此次 wifi 连接无效。 +* - Android / iOS 在系统已经连上目标 wifi 的情况下,小程序再次连接目标 wifi,此时无论输入的密码是否正确,系统都会默认此次连接成功,且没有 onWifiConnected 事件。 +* - onWifiConnected 事件可能会返回空对象,此时代表 wifi 断开连接,开发者可忽略这种情况。 */ + connectWifi<T extends ConnectWifiOption = ConnectWifiOption>( + option: T + ): PromisifySuccessResult<T, ConnectWifiOption> + /** [wx.createBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 连接蓝牙低功耗设备。 +* +* 若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需再次进行搜索操作。 +* +* **注意** +* +* - 请保证尽量成对的调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 和 [wx.closeBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) 接口。安卓如果重复调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用 `closeBLEConnection` 的时候并不能真正的断开与设备的连接。 +* - 蓝牙连接随时可能断开,建议监听 [wx.onBLEConnectionStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) 回调事件,当蓝牙设备断开时按需执行重连操作 +* - 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.createBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + createBLEConnection< + T extends CreateBLEConnectionOption = CreateBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CreateBLEConnectionOption> + /** [wx.createBLEPeripheralServer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 建立本地作为蓝牙低功耗外围设备的服务端,可创建多个。 */ + createBLEPeripheralServer< + T extends CreateBLEPeripheralServerOption = CreateBLEPeripheralServerOption + >( + option?: T + ): PromisifySuccessResult<T, CreateBLEPeripheralServerOption> + /** [wx.createBufferURL(ArrayBuffer|TypedArray buffer)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据传入的 buffer 创建一个唯一的 URL 存在内存中 */ + createBufferURL( + /** 需要存入内存的二进制数据 */ + buffer: + | ArrayBuffer + | Int8Array + | Uint8Array + | Uint8ClampedArray + | Int16Array + | Uint16Array + | Int32Array + | Uint32Array + | Float32Array + | Float64Array + ): void + /** [wx.disableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.disableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 关闭小程序页面返回询问对话框。 */ + disableAlertBeforeUnload(option?: DisableAlertBeforeUnloadOption): void + /** [wx.editImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.editImage.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:不支持 +* +* 编辑图片接口 +* +* **示例代码** +* +* ```js +wx.editImage({ + src: '', // 图片路径 +}) +``` */ + editImage(option: EditImageOption): void + /** [wx.enableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 开启小程序页面返回询问对话框。 + * + * ## 弹窗条件 + * * 当用户在小程序内非首页页面/最底层页 + * * 官方导航栏上的的返回 + * * 全屏模式下自绘返回键 + * * android 系统 back 键时 + * + * ## 注意事项 + * * 手势滑动返回时不做拦截 + * * 在任何场景下,此功能都不应拦住用户退出小程序的行为 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MTPm9Cmh7VfT) */ + enableAlertBeforeUnload(option: EnableAlertBeforeUnloadOption): void + /** [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 退出当前小程序。必须有点击行为才能调用成功。 */ + exitMiniProgram< + T extends ExitMiniProgramOption = ExitMiniProgramOption + >( + option?: T + ): PromisifySuccessResult<T, ExitMiniProgramOption> + /** [wx.exitVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.exitVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 退出(销毁)实时语音通话 */ + exitVoIPChat<T extends ExitVoIPChatOption = ExitVoIPChatOption>( + option?: T + ): PromisifySuccessResult<T, ExitVoIPChatOption> + /** [wx.faceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 人脸检测,使用前需要通过 wx.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + faceDetect(option: FaceDetectOption): void + /** [wx.getAvailableAudioSources(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取当前支持的音频输入源 */ + getAvailableAudioSources< + T extends GetAvailableAudioSourcesOption = GetAvailableAudioSourcesOption + >( + option?: T + ): PromisifySuccessResult<T, GetAvailableAudioSourcesOption> + /** [wx.getBLEDeviceCharacteristics(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备某个服务中所有特征 (characteristic)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceCharacteristics({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 wx.getBLEDeviceServices 接口中获取 + serviceId, + success (res) { + console.log('device getBLEDeviceCharacteristics:', res.characteristics) + } +}) +``` */ + getBLEDeviceCharacteristics< + T extends GetBLEDeviceCharacteristicsOption = GetBLEDeviceCharacteristicsOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceCharacteristicsOption> + /** [wx.getBLEDeviceRSSI(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。 */ + getBLEDeviceRSSI< + T extends GetBLEDeviceRSSIOption = GetBLEDeviceRSSIOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceRSSIOption> + /** [wx.getBLEDeviceServices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备所有服务 (service)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceServices({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立连接 + deviceId, + success (res) { + console.log('device services:', res.services) + } +}) +``` */ + getBLEDeviceServices< + T extends GetBLEDeviceServicesOption = GetBLEDeviceServicesOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceServicesOption> + /** [wx.getBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEMTU.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 获取蓝牙低功耗的最大传输单元。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。 +* +* **注意** +* +* - 小程序中 MTU 为 ATT_MTU,包含 Op-Code 和 Attribute Handle 的长度,实际可以传输的数据长度为 `ATT_MTU - 3` +* - iOS 系统中 MTU 为固定值;安卓系统中,MTU 会在系统协商成功之后发生改变,建议使用 [wx.onBLEMTUChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) 监听。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEMTU({ + deviceId: '', + writeType: 'write', + success (res) { + console.log(res) + } +}) +``` */ + getBLEMTU<T extends GetBLEMTUOption = GetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, GetBLEMTUOption> + /** [wx.getBackgroundAudioPlayerState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioPlayerState.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 获取后台音乐播放状态。 +* +* **示例代码** +* +* ```js +wx.getBackgroundAudioPlayerState({ + success (res) { + const status = res.status + const dataUrl = res.dataUrl + const currentPosition = res.currentPosition + const duration = res.duration + const downloadPercent = res.downloadPercent + } +}) +``` */ + getBackgroundAudioPlayerState< + T extends GetBackgroundAudioPlayerStateOption = GetBackgroundAudioPlayerStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundAudioPlayerStateOption> + /** [wx.getBackgroundFetchData(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉取 backgroundFetch 客户端缓存数据。 + * 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据会返回失败,而不会等待请求完成。 */ + getBackgroundFetchData< + T extends GetBackgroundFetchDataOption = GetBackgroundFetchDataOption + >( + option: T + ): PromisifySuccessResult<T, GetBackgroundFetchDataOption> + /** [wx.getBackgroundFetchToken(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 获取设置过的自定义登录态。若无,则返回 fail。 */ + getBackgroundFetchToken< + T extends GetBackgroundFetchTokenOption = GetBackgroundFetchTokenOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundFetchTokenOption> + /** [wx.getBatteryInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取设备电量。同步 API [wx.getBatteryInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) 在 iOS 上不可用。 */ + getBatteryInfo<T extends GetBatteryInfoOption = GetBatteryInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetBatteryInfoOption> + /** [wx.getBeacons(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.getBeacons.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取所有已搜索到的 Beacon 设备 */ + getBeacons<T extends GetBeaconsOption = GetBeaconsOption>( + option?: T + ): PromisifySuccessResult<T, GetBeaconsOption> + /** [wx.getBluetoothAdapterState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothAdapterState.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取本机蓝牙适配器状态。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBluetoothAdapterState({ + success (res) { + console.log(res) + } +}) +``` */ + getBluetoothAdapterState< + T extends GetBluetoothAdapterStateOption = GetBluetoothAdapterStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothAdapterStateOption> + /** [wx.getBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.getBluetoothDevices({ + success: function (res) { + console.log(res) + if (res.devices[0]) { + console.log(ab2hex(res.devices[0].advertisData)) + } + } +}) +``` +* +* **注意** +* +* - 该接口获取到的设备列表为**蓝牙模块生效期间所有搜索到的蓝牙设备**,若在蓝牙模块使用流程结束后未及时调用 [wx.closeBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) 释放资源,会存在调用该接口会返回之前的蓝牙使用流程中搜索到的蓝牙设备,可能设备已经不在用户身边,无法连接。 */ + getBluetoothDevices< + T extends GetBluetoothDevicesOption = GetBluetoothDevicesOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothDevicesOption> + /** [wx.getChannelsLiveInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveInfo.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播信息 */ + getChannelsLiveInfo(option: GetChannelsLiveInfoOption): void + /** [wx.getChannelsLiveNoticeInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveNoticeInfo.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播预告信息 */ + getChannelsLiveNoticeInfo(option: GetChannelsLiveNoticeInfoOption): void + /** [wx.getChannelsShareKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsShareKey.html) + * + * 需要基础库: `2.22.1` + * + * 在插件中使用:不支持 + * + * 获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用。 */ + getChannelsShareKey(option?: GetChannelsShareKeyOption): void + /** [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.getClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统剪贴板的内容 +* +* **示例代码** +* +* ```js +wx.getClipboardData({ + success (res){ + console.log(res.data) + } +}) +``` */ + getClipboardData< + T extends GetClipboardDataOption = GetClipboardDataOption + >( + option?: T + ): PromisifySuccessResult<T, GetClipboardDataOption> + /** [wx.getConnectedBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getConnectedBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 根据主服务 UUID 获取已连接的蓝牙设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getConnectedBluetoothDevices({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + getConnectedBluetoothDevices< + T extends GetConnectedBluetoothDevicesOption = GetConnectedBluetoothDevicesOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedBluetoothDevicesOption> + /** [wx.getConnectedWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getConnectedWifi.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 获取已连接中的 Wi-Fi 信息。 */ + getConnectedWifi< + T extends GetConnectedWifiOption = GetConnectedWifiOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedWifiOption> + /** [wx.getExtConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 获取[第三方平台](https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html)自定义的数据字段。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 是否存在来兼容 +* +* **** +* +* ```js +if (wx.getExtConfig) { + wx.getExtConfig({ + success (res) { + console.log(res.extConfig) + } + }) +} +``` */ + getExtConfig<T extends GetExtConfigOption = GetExtConfigOption>( + option?: T + ): PromisifySuccessResult<T, GetExtConfigOption> + /** [wx.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileInfo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取文件信息。 +* +* **示例代码** +* +* ```js +wx.getFileInfo({ + success (res) { + console.log(res.size) + console.log(res.digest) + } +}) +``` */ + getFileInfo<T extends WxGetFileInfoOption = WxGetFileInfoOption>( + option: T + ): PromisifySuccessResult<T, WxGetFileInfoOption> + /** [wx.getFuzzyLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:支持 +* +* 获取当前的模糊地理位置。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 从2022年7月14日开始在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* ```js + wx.getFuzzyLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + } +}) + ``` */ + getFuzzyLocation(option: GetFuzzyLocationOption): void + /** [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* 获取微信群聊场景下的小程序启动信息。群聊场景包括群聊小程序消息卡片、群待办、群工具。可用于获取当前群的 opengid。 +* ## 注意事项 +* - 基础库 v2.10.4 开始支持获取群工具小程序启动信息 +* - 基础库 v2.17.3 开始支持获取群聊小程序消息卡片、群待办小程序启动信息 +* +* **示例代码** +* +* ```js +wx.getGroupEnterInfo({ + success(res) { + // res + { + errMsg: 'getGroupEnterInfo:ok', + encryptedData: '', + iv: '' + } + }, + fail() { + + } +}) +``` +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识): +* +* ```json +{ + "opengid": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用[开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 `wx.getGroupInfo` 接口获取群名称 */ + getGroupEnterInfo(option: GetGroupEnterInfoOption): void + /** [wx.getHCEState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.getHCEState.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 判断当前设备是否支持 HCE 能力。 +* +* **示例代码** +* +* ```js +wx.getHCEState({ + success (res) { + console.log(res.errCode) + } +}) +``` */ + getHCEState<T extends GetHCEStateOption = GetHCEStateOption>( + option?: T + ): PromisifySuccessResult<T, GetHCEStateOption> + /** [wx.getImageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.getImageInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取图片信息。网络图片需先配置download域名才能生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/Kd47Sbmr6yYu) +* +* ```js +wx.getImageInfo({ + src: 'images/a.jpg', + success (res) { + console.log(res.width) + console.log(res.height) + } +}) + +wx.chooseImage({ + success (res) { + wx.getImageInfo({ + src: res.tempFilePaths[0], + success (res) { + console.log(res.width) + console.log(res.height) + } + }) + } +}) +``` */ + getImageInfo<T extends GetImageInfoOption = GetImageInfoOption>( + option: T + ): PromisifySuccessResult<T, GetImageInfoOption> + /** [wx.getLocalIPAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取局域网IP地址 +* +* **示例代码** +* +* ```js +wx.getLocalIPAddress({ + success (res) { + const localip = res.localip + } +}) +``` */ + getLocalIPAddress(option: GetLocalIPAddressOption): void + /** [wx.getLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。 +* 高频率调用会导致耗电,如有需要可使用持续定位接口 `wx.onLocationChange`。 +* 基础库 `2.17.0` 版本起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台、餐饮服务场所/餐饮服务管理企业 | 线下送餐服务 | +* | 工具 | 天气、信息查询、办公、设备管理 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询、智能穿戴、智能门禁、与地理位置相关的打卡服务等 | +* | 金融 | 银行、非金融机构自营小额贷款/融资担保/商业保理、保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务、住宿服务 | 提供景区导航、导览服务、酒店导航服务 | +* | 汽车服务 | 维修保养、汽车用品、汽车经销商/4S店、汽车厂商、汽车预售、二手车 | 提供汽车售卖、维保洗美服务、查找附近的维修点/洗车网点等导航服务 | +* | IT科技 | 基础电信运营商、电信业务代理商 | 提供运营商线下网点的预约、基于地理位置取号并现场报到、网点导航等服务 | +* | 房地产服务 | 物业管理、房屋中介、房屋装修 | 提供房地产开发商及物业公司门店导览导航服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货、超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + const speed = res.speed + const accuracy = res.accuracy + } +}) + ``` +* +* **注意** +* +* - `2.17.0 起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801) +* - 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。 +* - 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。 */ + getLocation<T extends GetLocationOption = GetLocationOption>( + option: T + ): PromisifySuccessResult<T, GetLocationOption> + /** [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取网络类型 +* +* **示例代码** +* +* ```js +wx.getNetworkType({ + success (res) { + const networkType = res.networkType + } +}) +``` */ + getNetworkType<T extends GetNetworkTypeOption = GetNetworkTypeOption>( + option?: T + ): PromisifySuccessResult<T, GetNetworkTypeOption> + /** [wx.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html) +* +* 需要基础库: `2.15.0` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues< + T extends GetRandomValuesOption = GetRandomValuesOption + >( + option: T + ): PromisifySuccessResult<T, GetRandomValuesOption> + /** [wx.getSavedFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileInfo.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileInfo< + T extends GetSavedFileInfoOption = GetSavedFileInfoOption + >( + option: T + ): PromisifySuccessResult<T, GetSavedFileInfoOption> + /** [wx.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileList.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getSavedFileList](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)** +* +* 获取该小程序下已保存的本地缓存文件列表。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileList< + T extends WxGetSavedFileListOption = WxGetSavedFileListOption + >( + option?: T + ): PromisifySuccessResult<T, WxGetSavedFileListOption> + /** [wx.getScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取屏幕亮度 + * + * **说明** + * + * - 若安卓系统设置中开启了自动调节亮度功能,则屏幕亮度会根据光线自动调整,该接口仅能获取自动调节亮度之前的值,而非实时的亮度值。 */ + getScreenBrightness< + T extends GetScreenBrightnessOption = GetScreenBrightnessOption + >( + option?: T + ): PromisifySuccessResult<T, GetScreenBrightnessOption> + /** [wx.getScreenRecordingState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenRecordingState.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 查询用户是否在录屏。 + * + * **示例代码** + * + * ```js + * wx.getScreenRecordingState({ + * success: function (res) { + * console.log(res.state) + * }, + * }) */ + getScreenRecordingState(option?: GetScreenRecordingStateOption): void + /** [wx.getSelectedTextRange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.getSelectedTextRange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。 +* +* **示例代码** +* +* ```js +wx.getSelectedTextRange({ + complete: res => { + console.log('getSelectedTextRange res', res.start, res.end) + } +}) +``` */ + getSelectedTextRange< + T extends GetSelectedTextRangeOption = GetSelectedTextRangeOption + >( + option?: T + ): PromisifySuccessResult<T, GetSelectedTextRangeOption> + /** [wx.getSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.6.3` +* +* 在插件中使用时,接口有以下不同: +* - `withSubscriptions` 无效(插件暂无订阅消息) +* - 返回值中的 `authSetting` 字段中是插件的权限(如用户信息功能页授权) +* - [2.14.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起返回值中有 `miniprogramAuthSetting` 字段,内容等于当前小程序 `getSetting` 的结果(不含订阅状态) +* +* 获取用户的当前设置。**返回值中只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **示例代码** +* +* ```js +wx.getSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` +* +* ```js +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + getSetting<T extends GetSettingOption = GetSettingOption>( + option?: T + ): PromisifySuccessResult<T, GetSettingOption> + /** [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 获取转发详细信息 +* +* **示例代码** +* +* 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识): +* +* ```json +{ + "openGId": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 [`wx.getGroupInfo`](#) 接口获取群名称 */ + getShareInfo<T extends GetShareInfoOption = GetShareInfoOption>( + option: T + ): PromisifySuccessResult<T, GetShareInfoOption> + /** [wx.getStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中异步获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.getStorage({ + key: 'key', + success (res) { + console.log(res.data) + } +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + getStorage< + T = any, + U extends GetStorageOption<T> = GetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, GetStorageOption<T>> + /** [wx.getStorageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) +* +* 在插件中使用:不支持 +* +* 异步获取当前storage的相关信息。 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfo<T extends GetStorageInfoOption = GetStorageInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetStorageInfoOption> + /** [wx.getSystemInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统信息。**由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 [wx.getSystemInfoAsync](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)。** +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfo<T extends GetSystemInfoOption = GetSystemInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetSystemInfoOption> + /** [wx.getSystemInfoAsync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html) +* +* 需要基础库: `2.14.1` +* +* 在插件中使用:不支持 +* +* 异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfoAsync({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` */ + getSystemInfoAsync(option?: GetSystemInfoAsyncOption): void + /** [wx.getUserInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。 +* +* **示例代码** +* +* ```js +// 必须是在用户已经授权的情况下调用 +wx.getUserInfo({ + success: function(res) { + var userInfo = res.userInfo + var nickName = userInfo.nickName + var avatarUrl = userInfo.avatarUrl + var gender = userInfo.gender //性别 0:未知、1:男、2:女 + var province = userInfo.province + var city = userInfo.city + var country = userInfo.country + } +}) +``` +* +* 敏感数据有两种获取方式: +* 1. 使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) +* 2. 使用 [云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#云调用直接获取开放数据) +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "openId": "OPENID", + "nickName": "NICKNAME", + "gender": GENDER, + "city": "CITY", + "province": "PROVINCE", + "country": "COUNTRY", + "avatarUrl": "AVATARURL", + "unionId": "UNIONID", + "watermark": { + "appid":"APPID", + "timestamp":TIMESTAMP + } +} +``` +* +* **小程序用户信息组件示例代码** +* +* ```html +* <!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 --> +* <open-data type="userAvatarUrl"></open-data> +* <open-data type="userNickName"></open-data> +* <!-- 需要使用 button 来授权登录 --> +* <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button> +* <view wx:else>请升级微信版本</view> +* ``` +* +* ```js +Page({ + data: { + canIUse: wx.canIUse('button.open-type.getUserInfo') + }, + onLoad: function() { + // 查看是否授权 + wx.getSetting({ + success (res){ + if (res.authSetting['scope.userInfo']) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function(res) { + console.log(res.userInfo) + } + }) + } + } + }) + }, + bindGetUserInfo (e) { + console.log(e.detail.userInfo) + } +}) +``` */ + getUserInfo<T extends GetUserInfoOption = GetUserInfoOption>( + option: T + ): PromisifySuccessResult<T, GetUserInfoOption> + /** [wx.getUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* @warning **用户头像昵称获取规则已调整,参考 [小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。页面产生点击事件(例如 `button` 上 `bindtap` 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 `userInfo`。该接口用于替换 `wx.getUserInfo`,详见 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tsJaq2mP7Mp4) +* +* **Bug & Tip** +* +* 1. `tip`:仅小程序中 `wx.getUserInfo` 接口进行调整,小游戏中不受影响; +* 2. `tip`:开发者工具中仅 2.10.4 及以上版本可访问 `wx.getUserProfile` 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 `canIUse` 进行条件。 +* 3. `tip`:`wx.getUserProfile` 返回的加密数据中不包含 `openId` 和 `unionId` 字段。 +* 4. `bug`:开发者工具中 `2.10.4`~`2.16.1` 基础库版本通过 `<button open-type="getUserInfo">` 会返回真实数据,真机上此区间会按照公告返回匿名数据。 +* +* ```html +* <view class="container"> +* <view class="userinfo"> +* <block wx:if="{{!hasUserInfo}}"> +* <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button> +* <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button> +* </block> +* <block wx:else> +* <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> +* <text class="userinfo-nickname">{{userInfo.nickName}}</text> +* </block> +* </view> +* </view> +* ``` +* +* ```js +Page({ + data: { + userInfo: {}, + hasUserInfo: false, + canIUseGetUserProfile: false, + }, + onLoad() { + if (wx.getUserProfile) { + this.setData({ + canIUseGetUserProfile: true + }) + } + }, + getUserProfile(e) { + // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 + // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 + wx.getUserProfile({ + desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + this.setData({ + userInfo: res.userInfo, + hasUserInfo: true + }) + } + }) + }, + getUserInfo(e) { + // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 + this.setData({ + userInfo: e.detail.userInfo, + hasUserInfo: true + }) + }, +}) +``` */ + getUserProfile<T extends GetUserProfileOption = GetUserProfileOption>( + option: T + ): PromisifySuccessResult<T, GetUserProfileOption> + /** [wx.getVideoInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取视频详细信息。 */ + getVideoInfo<T extends GetVideoInfoOption = GetVideoInfoOption>( + option: T + ): PromisifySuccessResult<T, GetVideoInfoOption> + /** [wx.getWeRunData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 获取用户过去三十天微信运动步数。需要先调用 [wx.login](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) 接口。步数信息会在用户主动进入小程序时更新。 +* +* **示例代码** +* +* ```js +wx.getWeRunData({ + success (res) { + // 拿 encryptedData 到开发者后台解密开放数据 + const encryptedData = res.encryptedData + // 或拿 cloudID 通过云调用直接获取开放数据 + const cloudID = res.cloudID + } +}) +``` +* +* **开放数据 JSON 结构** +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "stepInfoList": [ + { + "timestamp": 1445866601, + "step": 100 + }, + { + "timestamp": 1445876601, + "step": 120 + } + ] +} +``` +* +* stepInfoList 中,每一项结构如下: +* +* | 属性 | 类型 | 说明 | +* | --- | ---- | --- | +* | timestamp | number | 时间戳,表示数据对应的时间 | +* | step | number | 微信运动步数 | */ + getWeRunData<T extends GetWeRunDataOption = GetWeRunDataOption>( + option?: T + ): PromisifySuccessResult<T, GetWeRunDataOption> + /** [wx.getWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 请求获取 Wi-Fi 列表。`wifiList` 数据会在 [`onGetWifiList`](#) 注册的回调中返回。 **Android 调用前需要 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) scope.userLocation。** + * + * iOS 上将跳转到系统设置中的微信设置页,需要用户手动进入「无线局域网」设置页,并在系统扫描到设备后,小程序才能收到 onGetWifiList 回调。Android 不会跳转。 + * + * **注意** + * + * 因系统问题,本方法在 iOS 11.0 及 11.1 两个版本失效。但在 iOS 11.2 中已修复。 */ + getWifiList<T extends GetWifiListOption = GetWifiListOption>( + option?: T + ): PromisifySuccessResult<T, GetWifiListOption> + /** [wx.hideHomeButton(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideHomeButton.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:不支持 + * + * 隐藏返回首页按钮。微信7.0.7版本起,当用户打开的小程序最底层页面是非首页时,默认展示“返回首页”按钮,开发者可在页面 onShow 中调用 hideHomeButton 进行隐藏。 */ + hideHomeButton<T extends HideHomeButtonOption = HideHomeButtonOption>( + option?: T + ): PromisifySuccessResult<T, HideHomeButtonOption> + /** [wx.hideKeyboard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.hideKeyboard.html) +* +* 需要基础库: `2.8.2` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘 +* +* **示例代码** +* +* ```js +wx.hideKeyboard({ + complete: res => { + console.log('hideKeyboard res', res) + } +}) +``` */ + hideKeyboard<T extends HideKeyboardOption = HideKeyboardOption>( + option?: T + ): PromisifySuccessResult<T, HideKeyboardOption> + /** [wx.hideLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏 loading 提示框 */ + hideLoading<T extends HideLoadingOption = HideLoadingOption>( + option?: T + ): PromisifySuccessResult<T, HideLoadingOption> + /** [wx.hideNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面隐藏导航条加载动画 */ + hideNavigationBarLoading< + T extends HideNavigationBarLoadingOption = HideNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, HideNavigationBarLoadingOption> + /** [wx.hideShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.hideShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 隐藏当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮 +* +* **示例代码** +* +* ```js +wx.hideShareMenu({ + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + hideShareMenu<T extends HideShareMenuOption = HideShareMenuOption>( + option?: T + ): PromisifySuccessResult<T, HideShareMenuOption> + /** [wx.hideTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar */ + hideTabBar<T extends HideTabBarOption = HideTabBarOption>( + option: T + ): PromisifySuccessResult<T, HideTabBarOption> + /** [wx.hideTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar 某一项的右上角的红点 */ + hideTabBarRedDot< + T extends HideTabBarRedDotOption = HideTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, HideTabBarRedDotOption> + /** [wx.hideToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏消息提示框 */ + hideToast<T extends HideToastOption = HideToastOption>( + option?: T + ): PromisifySuccessResult<T, HideToastOption> + /** [wx.initFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 初始化人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + initFaceDetect(option?: InitFaceDetectOption): void + /** [wx.isBluetoothDevicePaired(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.isBluetoothDevicePaired.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.19.1` + * + * 查询蓝牙设备是否配对,仅安卓支持。 */ + isBluetoothDevicePaired< + T extends IsBluetoothDevicePairedOption = IsBluetoothDevicePairedOption + >( + option: T + ): PromisifySuccessResult<T, IsBluetoothDevicePairedOption> + /** [wx.join1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.join1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 加入(创建)双人通话。 */ + join1v1Chat(option: Join1v1ChatOption): void + /** [wx.joinVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.joinVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 加入 (创建) 实时语音通话,更多信息可见 [实时语音指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/voip-chat.html)。调用前需要用户授权 `scope.record`,若房间类型为视频房间需要用户授权 `scope.camera`。 */ + joinVoIPChat<T extends JoinVoIPChatOption = JoinVoIPChatOption>( + option: T + ): PromisifySuccessResult<T, JoinVoIPChatOption> + /** [wx.loadFontFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 动态加载网络字体,文件地址需为下载类型。[2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)起支持全局生效,需在 `app.js` 中调用。 +* +* 注意: +* 1. 字体文件返回的 contet-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。 +* 2. 字体链接必须是https(ios不支持http) +* 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com` +* 4. 工具里提示 Faild to load font可以忽略 +* 5. [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 以前仅在调用页面生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/b6Zrajm67R2x) +* ```js +wx.loadFontFace({ + family: 'Bitstream Vera Serif Bold', + source: 'url("https://sungd.github.io/Pacifico.ttf")', + success: console.log +}) +``` */ + loadFontFace<T extends LoadFontFaceOption = LoadFontFaceOption>( + option: T + ): PromisifySuccessResult<T, LoadFontFaceOption> + /** [wx.login(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 +* +* **示例代码** +* +* ```js +wx.login({ + success (res) { + if (res.code) { + //发起网络请求 + wx.request({ + url: 'https://example.com/onLogin', + data: { + code: res.code + } + }) + } else { + console.log('登录失败!' + res.errMsg) + } + } +}) +``` */ + login<T extends LoginOption = LoginOption>( + option?: T + ): PromisifySuccessResult<T, LoginOption> + /** [wx.makeBluetoothPair(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.makeBluetoothPair.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 蓝牙配对接口,仅安卓支持。 + * + * 通常情况下(需要指定 `pin` 码或者密码时)系统会接管配对流程,直接调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 即可。该接口只应当在开发者不想让用户手动输入 `pin` 码且真机验证确认可以正常生效情况下用。 */ + makeBluetoothPair< + T extends MakeBluetoothPairOption = MakeBluetoothPairOption + >( + option: T + ): PromisifySuccessResult<T, MakeBluetoothPairOption> + /** [wx.makePhoneCall(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/phone/wx.makePhoneCall.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 拨打电话 +* +* **示例代码** +* +* ```js +wx.makePhoneCall({ + phoneNumber: '1340000' //仅为示例,并非真实的电话号码 +}) +``` */ + makePhoneCall<T extends MakePhoneCallOption = MakePhoneCallOption>( + option: T + ): PromisifySuccessResult<T, MakePhoneCallOption> + /** [wx.navigateBack(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages](https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html) 获取当前的页面栈,决定需要返回几层。 */ + navigateBack<T extends NavigateBackOption = NavigateBackOption>( + option?: T + ): PromisifySuccessResult<T, NavigateBackOption> + /** [wx.navigateBackMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:不支持 +* +* 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 +* +* 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持** +* +* **示例代码** +* +* ```js +wx.navigateBackMiniProgram({ + extraData: { + foo: 'bar' + }, + success(res) { + // 返回成功 + } +}) +``` */ + navigateBackMiniProgram< + T extends NavigateBackMiniProgramOption = NavigateBackMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateBackMiniProgramOption> + /** [wx.navigateTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) 可以返回到原页面。小程序中页面栈最多十层。 +* +* **示例代码** +* +* ```js +wx.navigateTo({ + url: 'test?id=1', + events: { + // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 + acceptDataFromOpenedPage: function(data) { + console.log(data) + }, + someEvent: function(data) { + console.log(data) + } + ... + }, + success: function(res) { + // 通过eventChannel向被打开页面传送数据 + res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) + } +}) +``` +* +* ```javascript +//test.js +Page({ + onLoad: function(option){ + console.log(option.query) + const eventChannel = this.getOpenerEventChannel() + eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + eventChannel.emit('someEvent', {data: 'test'}); + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('acceptDataFromOpenerPage', function(data) { + console.log(data) + }) + } +}) +``` */ + navigateTo<T extends NavigateToOption = NavigateToOption>( + option: T + ): PromisifySuccessResult<T, NavigateToOption> + /** [wx.navigateToMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 打开另一个小程序 +* +* **使用限制** +* +* ##### 需要用户触发跳转 +* 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。 +* ##### 需要用户确认跳转 +* 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。 +* ##### 无需声明跳转名单,不限跳转数量(众测中) +* 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。 +* 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。 +* +* **运营规范** +* +* 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。 +* +* **关于调试** +* +* - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* +* **示例代码** +* +* ```js +wx.navigateToMiniProgram({ + appId: '', + path: 'page/index/index?id=123', + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success(res) { + // 打开成功 + } +}) +``` */ + navigateToMiniProgram< + T extends NavigateToMiniProgramOption = NavigateToMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateToMiniProgramOption> + /** [wx.nextTick(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html) +* +* 需要基础库: `2.2.3` +* +* 在插件中使用:需要基础库 `2.7.1` +* +* 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout) +* +* **说明** +* +* 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。 +* +* 一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。 +* +* **示例代码** +* +* ```js +Component({ + doSth() { + this.setData({ number: 1 }) // 直接在当前同步流程中执行 + + wx.nextTick(() => { + this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行 + }) + + this.setData({ number: 2 }) // 直接在当前同步流程中执行 + } +}) +``` */ + nextTick(callback: (...args: any[]) => any): void + /** [wx.notifyBLECharacteristicValueChange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征。注意:必须设备的特征支持 notify 或者 indicate 才可以成功调用。 +* +* 另外,必须先启用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 才能监听到设备 `characteristicValueChange` 事件 +* +* **注意** +* +* - 订阅操作成功后需要设备主动更新特征的 value,才会触发 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 回调。 +* - 安卓平台上,在本接口调用成功后立即调用 [wx.writeBLECharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) 接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.notifyBLECharacteristicValueChange({ + state: true, // 启用 notify 功能 + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('notifyBLECharacteristicValueChange success', res.errMsg) + } +}) +``` */ + notifyBLECharacteristicValueChange< + T extends NotifyBLECharacteristicValueChangeOption = NotifyBLECharacteristicValueChangeOption + >( + option: T + ): PromisifySuccessResult<T, NotifyBLECharacteristicValueChangeOption> + /** [wx.offAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.offAccelerometerChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除加速度数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAccelerometerChange(listener) +wx.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAccelerometerChange( + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAccelerometerChangeCallback + ): void + /** [wx.offAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppHide.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切后台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppHide(listener) +wx.offAppHide(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppHide( + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppHideCallback + ): void + /** [wx.offAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppShow.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切前台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppShow(listener) +wx.offAppShow(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppShow( + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppShowCallback + ): void + /** [wx.offAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionBegin.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频因为受到系统占用而被中断开始事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionBegin(listener) +wx.offAudioInterruptionBegin(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionBegin( + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionBeginCallback + ): void + /** [wx.offAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionEnd.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频中断结束事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionEnd(listener) +wx.offAudioInterruptionEnd(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionEnd( + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionEndCallback + ): void + /** [wx.offBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLECharacteristicValueChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗设备的特征值变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLECharacteristicValueChange(listener) +wx.offBLECharacteristicValueChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLECharacteristicValueChange( + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLECharacteristicValueChangeCallback + ): void + /** [wx.offBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗连接状态改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEConnectionStateChange(listener) +wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEConnectionStateChange( + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEConnectionStateChangeCallback + ): void + /** [wx.offBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 移除蓝牙低功耗的最大传输单元变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEMTUChange(listener) +wx.offBLEMTUChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEMTUChange( + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEMTUChangeCallback + ): void + /** [wx.offBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.offBLEPeripheralConnectionStateChanged.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除当前外围设备被连接或断开连接事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEPeripheralConnectionStateChanged(listener) +wx.offBLEPeripheralConnectionStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEPeripheralConnectionStateChanged( + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.offBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconServiceChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 服务状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconServiceChange(listener) +wx.offBeaconServiceChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconServiceChange( + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconServiceChangeCallback + ): void + /** [wx.offBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconUpdate.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 设备更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconUpdate(listener) +wx.offBeaconUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconUpdate( + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconUpdateCallback + ): void + /** [wx.offBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothAdapterStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙适配器状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothAdapterStateChange(listener) +wx.offBluetoothAdapterStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothAdapterStateChange( + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothAdapterStateChangeCallback + ): void + /** [wx.offBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothDeviceFound.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除搜索到新设备的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothDeviceFound(listener) +wx.offBluetoothDeviceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothDeviceFound( + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothDeviceFoundCallback + ): void + /** [wx.offCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.offCompassChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除罗盘数据变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCompassChange(listener) +wx.offCompassChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCompassChange( + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCompassChangeCallback + ): void + /** [wx.offCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.offCopyUrl.html) +* +* 需要基础库: `2.14.3` +* +* 在插件中使用:不支持 +* +* 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCopyUrl(listener) +wx.offCopyUrl(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCopyUrl( + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCopyUrlCallback + ): void + /** [wx.offDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.offDeviceMotionChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除设备方向变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onDeviceMotionChange(listener) +wx.offDeviceMotionChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDeviceMotionChange( + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDeviceMotionChangeCallback + ): void + /** [wx.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offError.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onError(listener) +wx.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: WxOffErrorCallback + ): void + /** [wx.offGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offGetWifiList.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除获取到 Wi-Fi 列表数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onGetWifiList(listener) +wx.offGetWifiList(listener) // 需传入与监听时同一个的函数对象 +``` */ + offGetWifiList( + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffGetWifiListCallback + ): void + /** [wx.offHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.offHCEMessage.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除接收 NFC 设备消息事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onHCEMessage(listener) +wx.offHCEMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHCEMessage( + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHCEMessageCallback + ): void + /** [wx.offKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.offKeyboardHeightChange.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:不支持 +* +* 移除键盘高度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onKeyboardHeightChange(listener) +wx.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offKeyboardHeightChange( + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffKeyboardHeightChangeCallback + ): void + /** [wx.offLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offLazyLoadError.html) +* +* 需要基础库: `2.24.3` +* +* 在插件中使用:不支持 +* +* 移除小程序异步组件加载失败事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLazyLoadError(listener) +wx.offLazyLoadError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLazyLoadError( + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLazyLoadErrorCallback + ): void + /** [wx.offLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceDiscoveryStop.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务停止搜索的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceDiscoveryStop(listener) +wx.offLocalServiceDiscoveryStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceDiscoveryStop( + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceDiscoveryStopCallback + ): void + /** [wx.offLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceFound.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务发现的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceFound(listener) +wx.offLocalServiceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceFound( + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceFoundCallback + ): void + /** [wx.offLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceLost.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务离开的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceLost(listener) +wx.offLocalServiceLost(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceLost( + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceLostCallback + ): void + /** [wx.offLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceResolveFail.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务解析失败的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceResolveFail(listener) +wx.offLocalServiceResolveFail(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceResolveFail( + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceResolveFailCallback + ): void + /** [wx.offLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 移除实时地理位置变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChange(listener) +wx.offLocationChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChange( + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeCallback + ): void + /** [wx.offLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChangeError.html) +* +* 需要基础库: `2.19.5` +* +* 在插件中使用:不支持 +* +* 移除持续定位接口返回失败时触发。的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChangeError(listener) +wx.offLocationChangeError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChangeError( + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeErrorCallback + ): void + /** [wx.offMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.offMemoryWarning.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:不支持 +* +* 移除内存不足告警事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onMemoryWarning(listener) +wx.offMemoryWarning(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMemoryWarning( + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffMemoryWarningCallback + ): void + /** [wx.offNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除网络状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkStatusChange(listener) +wx.offNetworkStatusChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkStatusChange( + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkStatusChangeCallback + ): void + /** [wx.offNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 移除弱网状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkWeakChange(listener) +wx.offNetworkWeakChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkWeakChange( + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkWeakChangeCallback + ): void + /** [wx.offPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offPageNotFound.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序要打开的页面不存在事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onPageNotFound(listener) +wx.offPageNotFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPageNotFound( + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPageNotFoundCallback + ): void + /** [wx.offScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offScreenRecordingStateChanged.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 移除用户录屏事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onScreenRecordingStateChanged(listener) +wx.offScreenRecordingStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offScreenRecordingStateChanged( + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffScreenRecordingStateChangedCallback + ): void + /** [wx.offThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offThemeChange.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除系统主题改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onThemeChange(listener) +wx.offThemeChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offThemeChange( + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffThemeChangeCallback + ): void + /** [wx.offUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offUnhandledRejection.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:不支持 +* +* 移除未处理的 Promise 拒绝事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onUnhandledRejection(listener) +wx.offUnhandledRejection(listener) // 需传入与监听时同一个的函数对象 +``` */ + offUnhandledRejection( + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffUnhandledRejectionCallback + ): void + /** [wx.offUserCaptureScreen(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offUserCaptureScreen.html) + * + * 需要基础库: `2.9.3` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 用户主动截屏事件。取消事件监听。 */ + offUserCaptureScreen( + /** 用户主动截屏事件的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [wx.offVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatInterrupted.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除被动断开实时语音通话事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatInterrupted(listener) +wx.offVoIPChatInterrupted(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatInterrupted( + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatInterruptedCallback + ): void + /** [wx.offVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatMembersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员在线状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatMembersChanged(listener) +wx.offVoIPChatMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatMembersChanged( + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatMembersChangedCallback + ): void + /** [wx.offVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatSpeakersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员通话状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatSpeakersChanged(listener) +wx.offVoIPChatSpeakersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatSpeakersChanged( + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatSpeakersChangedCallback + ): void + /** [wx.offVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatStateChanged.html) +* +* 需要基础库: `2.16.0` +* +* 在插件中使用:不支持 +* +* 移除房间状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatStateChanged(listener) +wx.offVoIPChatStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatStateChanged( + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatStateChangedCallback + ): void + /** [wx.offVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPVideoMembersChanged.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除实时语音通话成员视频状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPVideoMembersChanged(listener) +wx.offVoIPVideoMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPVideoMembersChanged( + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPVideoMembersChangedCallback + ): void + /** [wx.offWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnected.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnected(listener) +wx.offWifiConnected(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnected( + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedCallback + ): void + /** [wx.offWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnectedWithPartialInfo.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnectedWithPartialInfo(listener) +wx.offWifiConnectedWithPartialInfo(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnectedWithPartialInfo( + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedWithPartialInfoCallback + ): void + /** [wx.offWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.offWindowResize.html) +* +* 需要基础库: `2.3.0` +* +* 在插件中使用:不支持 +* +* 移除窗口尺寸变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWindowResize(listener) +wx.offWindowResize(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWindowResize( + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWindowResizeCallback + ): void + /** [wx.onAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.onAccelerometerChange.html) +* +* 在插件中使用:不支持 +* +* 监听加速度数据事件。频率根据 [wx.startAccelerometer()](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) 的 interval 参数, 接口调用后会自动开始监听。 +* +* **示例代码** +* +* ```js +wx.onAccelerometerChange(callback) +``` */ + onAccelerometerChange( + /** 加速度数据事件的监听函数 */ + listener: OnAccelerometerChangeCallback + ): void + /** [wx.onAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppHide.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切后台事件。该事件与 [`App.onHide`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onhide) 的回调时机一致。 */ + onAppHide( + /** 小程序切后台事件的监听函数 */ + listener: OnAppHideCallback + ): void + /** [wx.onAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切前台事件。该事件与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onshowobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + onAppShow( + /** 小程序切前台事件的监听函数 */ + listener: OnAppShowCallback + ): void + /** [wx.onAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频因为受到系统占用而被中断开始事件。以下场景会触发此事件:闹钟、电话、FaceTime 通话、微信语音聊天、微信视频聊天。此事件触发后,小程序内所有音频会暂停。 */ + onAudioInterruptionBegin( + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnAudioInterruptionBeginCallback + ): void + /** [wx.onAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频中断结束事件。在收到 onAudioInterruptionBegin 事件之后,小程序内所有音频会暂停,收到此事件之后才可再次播放成功 */ + onAudioInterruptionEnd( + /** 音频中断结束事件的监听函数 */ + listener: OnAudioInterruptionEndCallback + ): void + /** [wx.onBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗设备的特征值变化事件。必须先调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 接口才能接收到设备推送的 notification。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进制字符串示例 +function ab2hex(buffer) { + let hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBLECharacteristicValueChange(function(res) { + console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`) + console.log(ab2hex(res.value)) +}) +``` */ + onBLECharacteristicValueChange( + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + listener: OnBLECharacteristicValueChangeCallback + ): void + /** [wx.onBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗连接状态改变事件。包括开发者主动连接或断开连接,设备丢失,连接异常断开等等 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEConnectionStateChange(function(res) { + // 该方法回调中可以用于处理连接意外断开等异常情况 + console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) +}) +``` */ + onBLEConnectionStateChange( + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + listener: OnBLEConnectionStateChangeCallback + ): void + /** [wx.onBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEMTUChange(function (res) { + console.log('bluetooth mtu is', res.mtu) +}) +``` */ + onBLEMTUChange( + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + listener: OnBLEMTUChangeCallback + ): void + /** [wx.onBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.onBLEPeripheralConnectionStateChanged.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听当前外围设备被连接或断开连接事件 */ + onBLEPeripheralConnectionStateChanged( + /** 当前外围设备被连接或断开连接事件的监听函数 */ + listener: OnBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.onBackgroundAudioPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPause.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐暂停事件。 */ + onBackgroundAudioPause( + /** 音乐暂停事件的监听函数 */ + listener: OnBackgroundAudioPauseCallback + ): void + /** [wx.onBackgroundAudioPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPlay.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐播放事件。 */ + onBackgroundAudioPlay( + /** 音乐播放事件的监听函数 */ + listener: OnBackgroundAudioPlayCallback + ): void + /** [wx.onBackgroundAudioStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioStop.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐停止事件。 */ + onBackgroundAudioStop( + /** 音乐停止事件的监听函数 */ + listener: OnBackgroundAudioStopCallback + ): void + /** [wx.onBackgroundFetchData(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和 [wx.getBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) 配合使用 */ + onBackgroundFetchData( + /** 收到 backgroundFetch 数据事件的监听函数 */ + listener: OnBackgroundFetchDataCallback + ): void + /** [wx.onBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconServiceChange.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 服务状态变化事件,仅能注册一个监听 */ + onBeaconServiceChange( + /** Beacon 服务状态变化事件的监听函数 */ + listener: OnBeaconServiceChangeCallback + ): void + /** [wx.onBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconUpdate.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 设备更新事件,仅能注册一个监听 */ + onBeaconUpdate( + /** Beacon 设备更新事件的监听函数 */ + listener: OnBeaconUpdateCallback + ): void + /** [wx.onBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙适配器状态变化事件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBluetoothAdapterStateChange(function (res) { + console.log('adapterState changed, now is', res) +}) +``` */ + onBluetoothAdapterStateChange( + /** 蓝牙适配器状态变化事件的监听函数 */ + listener: OnBluetoothAdapterStateChangeCallback + ): void + /** [wx.onBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听搜索到新设备的事件 +* +* **注意** +* +* - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBluetoothDeviceFound(function(res) { + var devices = res.devices; + console.log('new device list has founded') + console.dir(devices) + console.log(ab2hex(devices[0].advertisData)) +}) +``` +* +* **注意** +* +* - 蓝牙设备在被搜索到时,系统返回的 `name` 字段一般为广播包中的 `LocalName` 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 `name` 字段会改为从蓝牙设备上获取到的 `GattName`。若需要动态改变设备名称并展示,建议使用 `localName` 字段。 +* - 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限 */ + onBluetoothDeviceFound( + /** 搜索到新设备的事件的监听函数 */ + listener: OnBluetoothDeviceFoundCallback + ): void + /** [wx.onCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.onCompassChange.html) + * + * 在插件中使用:不支持 + * + * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。 + * + * **accuracy 在 iOS/Android 的差异** + * + * 由于平台差异,accuracy 在 iOS/Android 的值不同。 + * + * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。 + * - Android:accuracy 是一个 string 类型的枚举值。 + * + * | 值 | 说明 | + * | --------------- | -------------------------------------------------------------------------------------- | + * | high | 高精度 | + * | medium | 中等精度 | + * | low | 低精度 | + * | no-contact | 不可信,传感器失去连接 | + * | unreliable | 不可信,原因未知 | + * | unknow ${value} | 未知的精度枚举值,即该 Android 系统此时返回的表示精度的 value 不是一个标准的精度枚举值 | */ + onCompassChange( + /** 罗盘数据变化事件的监听函数 */ + listener: OnCompassChangeCallback + ): void + /** [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.onCopyUrl.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:不支持 + * + * 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。 */ + onCopyUrl( + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + listener: OnCopyUrlCallback + ): void + /** [wx.onDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.onDeviceMotionChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听设备方向变化事件。频率根据 [wx.startDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) 的 interval 参数。可以使用 [wx.stopDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) 停止监听。 */ + onDeviceMotionChange( + /** 设备方向变化事件的监听函数 */ + listener: OnDeviceMotionChangeCallback + ): void + /** [wx.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 [`App.onError`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onerrorstring-error) 的回调时机与参数一致。 */ + onError( + /** 小程序错误事件的监听函数 */ + listener: WxOnErrorCallback + ): void + /** [wx.onGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听获取到 Wi-Fi 列表数据事件 */ + onGetWifiList( + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + listener: OnGetWifiListCallback + ): void + /** [wx.onGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.onGyroscopeChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听陀螺仪数据变化事件。频率根据 [wx.startGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) 的 interval 参数。可以使用 [wx.stopGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) 停止监听。 */ + onGyroscopeChange( + /** 陀螺仪数据变化事件的监听函数 */ + listener: OnGyroscopeChangeCallback + ): void + /** [wx.onHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.onHCEMessage.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听接收 NFC 设备消息事件。仅能注册一个监听 */ + onHCEMessage( + /** 接收 NFC 设备消息事件的监听函数 */ + listener: OnHCEMessageCallback + ): void + /** [wx.onKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.onKeyboardHeightChange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 监听键盘高度变化事件 +* +* **示例代码** +* +* ```js +wx.onKeyboardHeightChange(res => { + console.log(res.height) +}) +``` */ + onKeyboardHeightChange( + /** 键盘高度变化事件的监听函数 */ + listener: OnKeyboardHeightChangeCallback + ): void + /** [wx.onLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onLazyLoadError.html) + * + * 需要基础库: `2.24.3` + * + * 在插件中使用:不支持 + * + * 监听小程序异步组件加载失败事件。 + * + * **注意** + * + * - 加载异步组件通常需要下载分包,若分包下载超时,则会触发 errMsg 为 "loadSubpackage: timeout" 的回调,默认超时等待时间为 5 秒。 + * - 可以通过第二个参数指定超时时间(单位:ms),该设置全局有效,多次指定超时时间则覆盖前面。 + * - 分包确认下载失败时,会再次触发 errMsg 为 "loadSubpackage: fail" 的回调。 + * - 若在页面中使用该接口进行监听,请确保在必要时手动调用 offLazyLoadError 取消监听,以避免非预期的内存泄漏。 */ + onLazyLoadError( + /** 小程序异步组件加载失败事件的监听函数 */ + listener: OnLazyLoadErrorCallback + ): void + /** [wx.onLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceDiscoveryStop.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务停止搜索的事件 */ + onLocalServiceDiscoveryStop( + /** mDNS 服务停止搜索的事件的监听函数 */ + listener: OnLocalServiceDiscoveryStopCallback + ): void + /** [wx.onLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceFound.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务发现的事件 */ + onLocalServiceFound( + /** mDNS 服务发现的事件的监听函数 */ + listener: OnLocalServiceFoundCallback + ): void + /** [wx.onLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceLost.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务离开的事件 */ + onLocalServiceLost( + /** mDNS 服务离开的事件的监听函数 */ + listener: OnLocalServiceLostCallback + ): void + /** [wx.onLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceResolveFail.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务解析失败的事件 */ + onLocalServiceResolveFail( + /** mDNS 服务解析失败的事件的监听函数 */ + listener: OnLocalServiceResolveFailCallback + ): void + /** [wx.onLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 监听实时地理位置变化事件,需结合 [wx.startLocationUpdateBackground](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html)、[wx.startLocationUpdate](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html)使用。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | +* | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | +* | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务 | 提供景区导航、导览服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + const _locationChangeFn = function(res) { + console.log('location change', res) + } + wx.onLocationChange(_locationChangeFn) + wx.offLocationChange(_locationChangeFn) +``` */ + onLocationChange( + /** 实时地理位置变化事件的监听函数 */ + listener: OnLocationChangeCallback + ): void + /** [wx.onLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChangeError.html) + * + * 需要基础库: `2.19.5` + * + * 在插件中使用:不支持 + * + * 监听持续定位接口返回失败时触发。 */ + onLocationChangeError( + /** 的监听函数 */ + listener: OnLocationChangeErrorCallback + ): void + /** [wx.onMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.onMemoryWarning.html) + * + * 需要基础库: `2.0.2` + * + * 在插件中使用:不支持 + * + * 监听内存不足告警事件。 + * + * 当 iOS/Android 向小程序进程发出内存警告时,触发该事件。触发该事件不意味小程序被杀,大部分情况下仅仅是告警,开发者可在收到通知后回收一些不必要资源避免进一步加剧内存紧张。 + * + * **示例代码** + * + * ```js + * wx.onMemoryWarning(function () { + * console.log('onMemoryWarningReceive') + * }) + * `` */ + onMemoryWarning( + /** 内存不足告警事件的监听函数 */ + listener: OnMemoryWarningCallback + ): void + /** [wx.onNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* +* 监听网络状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkStatusChange(function (res) { + console.log(res.isConnected) + console.log(res.networkType) +}) +``` */ + onNetworkStatusChange( + /** 网络状态变化事件的监听函数 */ + listener: OnNetworkStatusChangeCallback + ): void + /** [wx.onNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 监听弱网状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkWeakChange(function (res) { + console.log(res.weakNet) + console.log(res.networkType) +}) +// 取消监听 +wx.offNetworkWeakChange() +``` */ + onNetworkWeakChange( + /** 弱网状态变化事件的监听函数 */ + listener: OnNetworkWeakChangeCallback + ): void + /** [wx.onPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序要打开的页面不存在事件。该事件与 [`App.onPageNotFound`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onpagenotfoundobject-object) 的回调时机一致。 + * + * **注意** + * + * - 开发者可以在回调中进行页面重定向,但必须在回调中**同步**处理,异步处理(例如 `setTimeout` 异步执行)无效。 + * - 若开发者没有调用 [wx.onPageNotFound](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) 绑定监听,也没有声明 `App.onPageNotFound`,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * - 如果回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再第二次回调。 */ + onPageNotFound( + /** 小程序要打开的页面不存在事件的监听函数 */ + listener: OnPageNotFoundCallback + ): void + /** [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onScreenRecordingStateChanged.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 监听用户录屏事件。 */ + onScreenRecordingStateChanged( + /** 用户录屏事件的监听函数 */ + listener: OnScreenRecordingStateChangedCallback + ): void + /** [wx.onSocketClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketClose.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接关闭事件。 */ + onSocketClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: OnSocketCloseCallback + ): void + /** [wx.onSocketError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketError.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 错误事件。 */ + onSocketError( + /** WebSocket 错误事件的监听函数 */ + listener: OnSocketErrorCallback + ): void + /** [wx.onSocketMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketMessage.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 接受到服务器的消息事件。 */ + onSocketMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: OnSocketMessageCallback + ): void + /** [wx.onSocketOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketOpen.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接打开事件。 */ + onSocketOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnSocketOpenCallback + ): void + /** [wx.onThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onThemeChange.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听系统主题改变事件。该事件与 [`App.onThemeChange`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onThemeChange-Object-object) 的回调时机一致。 + * + * **注意** + * + * - 只有在全局配置"darkmode": true时才会触发此事件。 */ + onThemeChange( + /** 系统主题改变事件的监听函数 */ + listener: OnThemeChangeCallback + ): void + /** [wx.onUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 监听未处理的 Promise 拒绝事件。该事件与 [`App.onUnhandledRejection`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onUnhandledRejection-Object-object) 的回调时机与参数一致。 + * + * **注意** + * + * - 所有的 unhandledRejection 都可以被这一监听捕获,但只有 Error 类型的才会在小程序后台触发报警。 */ + onUnhandledRejection( + /** 未处理的 Promise 拒绝事件的监听函数 */ + listener: OnUnhandledRejectionCallback + ): void + /** [wx.onUserCaptureScreen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onUserCaptureScreen.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听 +* +* **示例代码** +* +* ```js +wx.onUserCaptureScreen(function (res) { + console.log('用户截屏了') +}) +``` */ + onUserCaptureScreen( + /** 用户主动截屏事件的监听函数 */ + listener: OnUserCaptureScreenCallback + ): void + /** [wx.onVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatInterrupted.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听被动断开实时语音通话事件。包括小游戏切入后端时断开 */ + onVoIPChatInterrupted( + /** 被动断开实时语音通话事件的监听函数 */ + listener: OnVoIPChatInterruptedCallback + ): void + /** [wx.onVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatMembersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 */ + onVoIPChatMembersChanged( + /** 实时语音通话成员在线状态变化事件的监听函数 */ + listener: OnVoIPChatMembersChangedCallback + ): void + /** [wx.onVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatSpeakersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员通话状态变化事件。有成员开始/停止说话时触发回调 */ + onVoIPChatSpeakersChanged( + /** 实时语音通话成员通话状态变化事件的监听函数 */ + listener: OnVoIPChatSpeakersChangedCallback + ): void + /** [wx.onVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatStateChanged.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 监听房间状态变化事件。 */ + onVoIPChatStateChanged( + /** 房间状态变化事件的监听函数 */ + listener: OnVoIPChatStateChangedCallback + ): void + /** [wx.onVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPVideoMembersChanged.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听实时语音通话成员视频状态变化事件。 */ + onVoIPVideoMembersChanged( + /** 实时语音通话成员视频状态变化事件的监听函数 */ + listener: OnVoIPVideoMembersChangedCallback + ): void + /** [wx.onWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnected.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnected( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedCallback + ): void + /** [wx.onWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnectedWithPartialInfo.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnectedWithPartialInfo( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedWithPartialInfoCallback + ): void + /** [wx.onWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.onWindowResize.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听窗口尺寸变化事件 */ + onWindowResize( + /** 窗口尺寸变化事件的监听函数 */ + listener: OnWindowResizeCallback + ): void + /** [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统微信授权管理页 +* +* **示例代码** +* +* ```js +wx.openAppAuthorizeSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openAppAuthorizeSetting< + T extends OpenAppAuthorizeSettingOption = OpenAppAuthorizeSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenAppAuthorizeSettingOption> + /** [wx.openBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 初始化蓝牙模块。iOS 上开启主机/从机(外围设备)模式时需分别调用一次,并指定对应的 `mode`。 +* +* **object.fail 回调函数返回的 state 参数(仅 iOS)** +* +* | 状态码 | 说明 | +* | ------ | ------ | +* | 0 | 未知 | +* | 1 | 重置中 | +* | 2 | 不支持 | +* | 3 | 未授权 | +* | 4 | 未开启 | +* +* **注意** +* +* - 其他蓝牙相关 API 必须在 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 调用之后使用。否则 API 会返回错误(errCode=10000)。 +* - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过 [wx.onBluetoothAdapterStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) 监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.openBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + openBluetoothAdapter< + T extends OpenBluetoothAdapterOption = OpenBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, OpenBluetoothAdapterOption> + /** [wx.openCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.openCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 查看微信卡包中的卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **示例代码** +* +* ```js +wx.openCard({ + cardList: [{ + cardId: '', + code: '' + }, { + cardId: '', + code: '' + }], + success (res) { } +}) +``` */ + openCard<T extends OpenCardOption = OpenCardOption>( + option: T + ): PromisifySuccessResult<T, OpenCardOption> + /** [wx.openChannelsActivity(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsActivity.html) + * + * 需要基础库: `2.19.2` + * + * 在插件中使用:不支持 + * + * 打开视频号视频 */ + openChannelsActivity(option: OpenChannelsActivityOption): void + /** [wx.openChannelsEvent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsEvent.html) + * + * 需要基础库: `2.21.0` + * + * 在插件中使用:不支持 + * + * 打开视频号活动页 */ + openChannelsEvent(option: OpenChannelsEventOption): void + /** [wx.openChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsLive.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 打开视频号直播 */ + openChannelsLive(option: OpenChannelsLiveOption): void + /** [wx.openChannelsUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsUserProfile.html) + * + * 需要基础库: `2.21.2` + * + * 在插件中使用:不支持 + * + * 打开视频号主页 */ + openChannelsUserProfile(option: OpenChannelsUserProfileOption): void + /** [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html) +* +* 需要基础库: `2.19.0` +* +* 在插件中使用:不支持 +* +* 打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用。了解更多信息,可以参考[微信客服介绍](https://work.weixin.qq.com/kf/)。 +* +* **示例代码** +* +* ```js +wx.openCustomerServiceChat({ + extInfo: {url: ''}, + corpId: '', + success(res) {} +}) +``` */ + openCustomerServiceChat(option: OpenCustomerServiceChatOption): void + /** [wx.openDocument(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 新开页面打开文档。微信客户端 `7.0.12` 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 `showMenu`。 */ + openDocument<T extends OpenDocumentOption = OpenDocumentOption>( + option: T + ): PromisifySuccessResult<T, OpenDocumentOption> + /** [wx.openEmbeddedMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 */ + openEmbeddedMiniProgram< + T extends OpenEmbeddedMiniProgramOption = OpenEmbeddedMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, OpenEmbeddedMiniProgramOption> + /** [wx.openLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 使用微信内置地图查看位置 +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'gcj02', //返回可以用于wx.openLocation的经纬度 + success (res) { + const latitude = res.latitude + const longitude = res.longitude + wx.openLocation({ + latitude, + longitude, + scale: 18 + }) + } +}) + ``` */ + openLocation<T extends OpenLocationOption = OpenLocationOption>( + option: T + ): PromisifySuccessResult<T, OpenLocationOption> + /** [wx.openSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.openSetting.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.10.3` +* +* 调起客户端小程序设置界面,返回用户设置的操作结果。**设置界面只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **** +* +* - 注意:[2.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。[详情](https://developers.weixin.qq.com/community/develop/doc/000cea2305cc5047af5733de751008) +* +* **示例代码** +* +* ```js +wx.openSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` */ + openSetting<T extends OpenSettingOption = OpenSettingOption>( + option?: T + ): PromisifySuccessResult<T, OpenSettingOption> + /** [wx.openSystemBluetoothSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openSystemBluetoothSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统蓝牙设置页。仅支持安卓。 +* +* **示例代码** +* +* ```js +wx.openSystemBluetoothSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openSystemBluetoothSetting< + T extends OpenSystemBluetoothSettingOption = OpenSystemBluetoothSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenSystemBluetoothSettingOption> + /** [wx.openVideoEditor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.openVideoEditor.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 打开视频编辑器 */ + openVideoEditor(option: OpenVideoEditorOption): void + /** [wx.pageScrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 将页面滚动到目标位置,支持选择器和滚动距离两种方式定位 +* +* **selector 语法** +* +* selector类似于 CSS 的选择器,但仅支持下列语法。 +* +* + ID选择器:#the-id +* + class选择器(可以连续指定多个):.a-class.another-class +* + 子元素选择器:.the-parent > .the-child +* + 后代选择器:.the-ancestor .the-descendant +* + 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant +* + 多选择器的并集:#a-node, .some-other-nodes +* +* **示例代码** +* +* ```js +wx.pageScrollTo({ + scrollTop: 0, + duration: 300 +}) +``` */ + pageScrollTo<T extends PageScrollToOption = PageScrollToOption>( + option: T + ): PromisifySuccessResult<T, PageScrollToOption> + /** [wx.pauseBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.pauseBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 暂停播放音乐。 +* +* **示例代码** +* +* ```js +wx.pauseBackgroundAudio() +``` */ + pauseBackgroundAudio< + T extends PauseBackgroundAudioOption = PauseBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, PauseBackgroundAudioOption> + /** [wx.pauseVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.pauseVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 暂停正在播放的语音。再次调用 [wx.playVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) 播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 [wx.stopVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html)。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath + }) + + setTimeout(() => { wx.pauseVoice() }, 5000) + } +}) +``` */ + pauseVoice<T extends PauseVoiceOption = PauseVoiceOption>( + option?: T + ): PromisifySuccessResult<T, PauseVoiceOption> + /** [wx.playBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.playBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 使用后台播放器播放音乐。对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。 +* +* **示例代码** +* +* ```js +wx.playBackgroundAudio({ + dataUrl: '', + title: '', + coverImgUrl: '' +}) +``` */ + playBackgroundAudio< + T extends PlayBackgroundAudioOption = PlayBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, PlayBackgroundAudioOption> + /** [wx.playVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + complete () { } + }) + } +}) +``` */ + playVoice<T extends PlayVoiceOption = PlayVoiceOption>( + option: T + ): PromisifySuccessResult<T, PlayVoiceOption> + /** [wx.pluginLogin(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.20.1` + * + * __该接口仅在小程序插件中可调用__,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。 */ + pluginLogin(args?: PluginLoginOption): void + /** [wx.preloadAssets(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadAssets.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:不支持 +* +* 为视图层预加载媒体资源文件, 目前支持:font,image +* +* **示例代码** +* +* ```js +wx.preloadAssets({ + data: [ + { + type: 'image', + src: imgUrl, + }, + ], + success(resp) { + console.log('preloadAssets success', resp) + }, + fail(err) { + console.log('preloadAssets fail', err) + }, +}) +``` +* +* **** +* +* - 开发过程中,可在开发者工具network面板查看预加载情况。 */ + preloadAssets(option: PreloadAssetsOption): void + /** [wx.preloadSkylineView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadSkylineView.html) + * + * 需要基础库: `2.24.7` + * + * 在插件中使用:需要基础库 `2.24.7` + * + * 预加载下个页面所需要的 [Skyline](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 运行环境。 */ + preloadSkylineView(option?: PreloadSkylineViewOption): void + /** [wx.preloadWebview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadWebview.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预加载下个页面的 WebView。参见[预加载下个页面的时机](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_nav.html#_2-4-控制预加载下个页面的时机) */ + preloadWebview(option?: PreloadWebviewOption): void + /** [wx.previewImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。 +* +* **支持长按识别的码** +* +* | 类型 | 说明 | 最低版本 | +* |------|------| -------| +* | 小程序码 | | +* | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* +* **示例代码** +* +* ```js +wx.previewImage({ + current: '', // 当前显示图片的http链接 + urls: [] // 需要预览的图片http链接列表 +}) +``` */ + previewImage<T extends PreviewImageOption = PreviewImageOption>( + option: T + ): PromisifySuccessResult<T, PreviewImageOption> + /** [wx.previewMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预览图片和视频。 + * + * **支持长按识别的码** + * + * | 类型 | 说明 | 最低版本 | + * |------|------| -------| + * | 小程序码 | | + * | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | */ + previewMedia<T extends PreviewMediaOption = PreviewMediaOption>( + option: T + ): PromisifySuccessResult<T, PreviewMediaOption> + /** [wx.reLaunch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭所有页面,打开到应用内的某个页面 +* +* **示例代码** +* +* ```js +wx.reLaunch({ + url: 'test?id=1' +}) +``` +* +* ```html +* // test +* Page({ +* onLoad (option) { +* console.log(option.query) +* } +* }) +* ``` */ + reLaunch<T extends ReLaunchOption = ReLaunchOption>( + option: T + ): PromisifySuccessResult<T, ReLaunchOption> + /** [wx.readBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.readBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 读取蓝牙低功耗设备特征值的二进制数据。注意:必须设备的特征支持 read 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在读失败的可能性。 +* - 接口读取到的信息需要在 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 方法注册的回调中获取。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 必须在这里的回调才能获取 +wx.onBLECharacteristicValueChange(function(characteristic) { + console.log('characteristic value comed:', characteristic) +}) + +wx.readBLECharacteristicValue({ + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('readBLECharacteristicValue:', res.errCode) + } +}) +``` */ + readBLECharacteristicValue< + T extends ReadBLECharacteristicValueOption = ReadBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, ReadBLECharacteristicValueOption> + /** [wx.redirectTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 +* +* **示例代码** +* +* ```js +wx.redirectTo({ + url: 'test?id=1' +}) +``` */ + redirectTo<T extends RedirectToOption = RedirectToOption>( + option: T + ): PromisifySuccessResult<T, RedirectToOption> + /** [wx.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.removeSavedFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.removeSavedFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)** +* +* 删除本地缓存文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + if (res.fileList.length > 0){ + wx.removeSavedFile({ + filePath: res.fileList[0].filePath, + complete (res) { + console.log(res) + } + }) + } + } +}) +``` */ + removeSavedFile< + T extends WxRemoveSavedFileOption = WxRemoveSavedFileOption + >( + option: T + ): PromisifySuccessResult<T, WxRemoveSavedFileOption> + /** [wx.removeStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中移除指定 key。 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorage<T extends RemoveStorageOption = RemoveStorageOption>( + option: T + ): PromisifySuccessResult<T, RemoveStorageOption> + /** [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.removeStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorageSync( + /** 本地缓存中指定的 key */ + key: string + ): void + /** [wx.removeTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.removeTabBarBadge.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 移除 tabBar 某一项右上角的文本 */ + removeTabBarBadge< + T extends RemoveTabBarBadgeOption = RemoveTabBarBadgeOption + >( + option: T + ): PromisifySuccessResult<T, RemoveTabBarBadgeOption> + /** [wx.reportAnalytics(string eventName, Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在插件中使用时,可以被正常调用,但目前不会进行统计展示 +* +* 自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段。 +* +* **示例代码** +* +* ```js +wx.reportAnalytics('purchase', { + price: 120, + color: 'red' +}) +``` */ + reportAnalytics( + /** 事件名 */ + eventName: string, + /** 上报的自定义数据,key 为配置中的字段名,value 为上报的数据。 */ + data: IAnyObject + ): void + /** [wx.reportEvent(string eventId, object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:不支持 + * + * 事件上报 */ + reportEvent( + /** 在 mp 实验系统中设置的事件英文名 */ + eventId: string, + /** 可被 JSON.stringify 的对象,将一起上报至系统 */ + data?: IAnyObject + ): void + /** [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportMonitor.html) +* +* 需要基础库: `2.0.1` +* +* 在插件中使用:不支持 +* +* 自定义业务数据监控上报接口。 +* +* **使用说明** +* +* 使用前,需要在「小程序管理后台-运维中心-性能监控-业务数据监控」中新建监控事件,配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。 +* +* **示例代码** +* +* ```js +wx.reportMonitor('1', 1) +``` */ + reportMonitor( + /** 监控ID,在「小程序管理后台」新建数据指标后获得 */ + name: string, + /** 上报数值,经处理后会在「小程序管理后台」上展示每分钟的上报总量 */ + value: number + ): void + /** [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.reportPerformance.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:需要基础库 `2.9.3` +* +* 小程序测速上报。使用前,需要在小程序管理后台配置。 +* +* **示例代码** +* +* ```js +wx.reportPerformance(1101, 680) +wx.reportPerformance(1101, 680, 'custom') +``` */ + reportPerformance( + /** 指标 id */ + id: number, + /** 需要上报的数值 */ + value: number, + /** 自定义维度 (选填) */ + dimensions?: string | any[] + ): void + /** [wx.requestOrderPayment(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestOrderPayment.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 仅接入了[自定义版交易组件](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/Introduction2)的小程序需要使用,普通小程序可直接使用 [`wx.requestPayment`](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html)。 + * + * **前置检查** + * + * 接入自定义版交易组件之后,若要发起微信支付,请先查询[需要校验的场景](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。 + * 在需要校验的场景中,发起微信支付时,必须使用该接口,需要按照要求传入相关的[订单信息](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验,校验通过后用户才可以完成当前订单的支付,非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。 */ + requestOrderPayment< + T extends RequestOrderPaymentOption = RequestOrderPaymentOption + >( + args: T + ): PromisifySuccessResult<T, RequestOrderPaymentOption> + /** [wx.requestPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html) +* +* 在插件中使用:不支持 +* +* 发起微信支付。调用前需在[小程序微信公众平台](https://mp.weixin.qq.com/) -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml): +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter2_3.shtml) +* - [下单接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_2.shtml) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_12.shtml) +* - 旧版本 (v2) +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3) +* +* 如果使用[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html),则 `wx.requestPayment` 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见[云开发微信支付](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/wechatpay/wechatpay.html)。 +* +* **示例代码** +* +* ```js +wx.requestPayment({ + timeStamp: '', + nonceStr: '', + package: '', + signType: 'MD5', + paySign: '', + success (res) { }, + fail (res) { } +}) +``` +* +* 注:如果服务端有使用云开发,可以通过云开发微信支付[统一下单](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html)接口免鉴权获取以上所需所有参数,示例: +* +* ```js +// 云函数代码 +const cloud = require('wx-server-sdk') +cloud.init({ + env: cloud.DYNAMIC_CURRENT_ENV +}) + +exports.main = async (event, context) => { + const res = await cloud.cloudPay.unifiedOrder({ + "body" : "小秋TIT店-超市", + "outTradeNo" : "1217752501201407033233368018", + "spbillCreateIp" : "127.0.0.1", + "subMchId" : "1900009231", + "totalFee" : 1, + "envId": "test-f0b102", + "functionName": "pay_cb" + }) + return res +} + +// 小程序代码 +wx.cloud.callFunction({ + name: '函数名', + data: { + // ... + }, + success: res => { + const payment = res.result.payment + wx.requestPayment({ + ...payment, + success (res) { + console.log('pay success', res) + }, + fail (err) { + console.error('pay fail', err) + } + }) + }, + fail: console.error, +}) +``` */ + requestPayment<T extends RequestPaymentOption = RequestPaymentOption>( + option: T + ): PromisifySuccessResult<T, RequestPaymentOption> + /** [wx.requestPluginPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPluginPayment.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 插件中发起支付。 +* +* **Tip** +* +* 1. `tip`: 小程序与插件绑定在同一个open平台账号上且小程序与插件均为open账号的同主体/关联主体时,调用此接口将直接拉起支付收银台。 +* 1. `tip`: 这个接口本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。 +* 1. `tip`: 跳转支付功能页需要在 `app.json` 中配置 `"functionalPages": true` +* +* **示例代码** +* +* 具体用法及参数说明可参考 [插件支付文档](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/request-payment.html) +* ```js +wx.requestPluginPayment({ + version: 'release', + fee: 1, + paymentArgs: {}, + currencyType: 'CNY', + success (res) { }, + fail (res) { } +}) +``` */ + requestPluginPayment(option: RequestPluginPaymentOption): void + /** [wx.requestSubscribeDeviceMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeDeviceMessage.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:不支持 +* +* 订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。 +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | tmplIds 为空 | +* | 10004 | Invalid template id | tmplId 参数类型错误 | +* | 20001 | No template data return, verify the template id exist | tmplId 为空 | +* | 20003 | Templates count out of max bounds | tmplId 数量超过上限 | +* | 19720726 | check sn_ticket fail | snTicket 不合法 | +* | 19720727 | sn_ticket expire | snTicket 过期 | +* | 19720728 | err_not_found_tid | tmplId 不存在 | +* | 19720736 | template_id do not match model_id | modelId 类型与 tmplId 类型不符 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeDeviceMessage({ + tmplIds: ['xxxxx'], + sn: 'xxxx', + snTicket: 'xxxxx', + modelId: 'xxx', + success(res) { + console.log(res) + }, + fail(res) { + console.log(res) + } +}) +``` */ + requestSubscribeDeviceMessage< + T extends RequestSubscribeDeviceMessageOption = RequestSubscribeDeviceMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeDeviceMessageOption> + /** [wx.requestSubscribeMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html) +* +* 需要基础库: `2.4.4` +* +* 在插件中使用:不支持 +* +* 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 [wx.getSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) 接口可获取用户对相关模板消息的订阅状态。 +* +* ## 注意事项 +* - 一次性模板 id 和永久模板 id 不可同时使用。 +* - 低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。 +* - [2.8.2](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。 +* - 一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,支持订阅语音消息提醒,[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html) +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | 参数传空了 | +* | 10002 | Request list fail | 网络问题,请求消息列表失败 | +* | 10003 | Request subscribe fail | 网络问题,订阅请求发送失败 | +* | 10004 | Invalid template id | 参数类型错误 | +* | 10005 | Cannot show subscribe message UI | 无法展示 UI,一般是小程序这个时候退后台了导致的 | +* | 20001 | No template data return, verify the template id exist | 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 | +* | 20002 | Templates type must be same | 模板消息类型 既有一次性的又有永久的 | +* | 20003 | Templates count out of max bounds | 模板消息数量超过上限 | +* | 20004 | The main switch is switched off | 用户关闭了主开关,无法进行订阅 | +* | 20005 | This mini program was banned from subscribing messages | 小程序被禁封 | +* | 20013 | Reject DeviceMsg Template | 不允许通过该接口订阅设备消息 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeMessage({ + tmplIds: [''], + success (res) { } +}) +``` */ + requestSubscribeMessage< + T extends RequestSubscribeMessageOption = RequestSubscribeMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeMessageOption> + /** [wx.reserveChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.reserveChannelsLive.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 预约视频号直播 */ + reserveChannelsLive(option: ReserveChannelsLiveOption): void + /** [wx.revokeBufferURL(string url)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据 URL 销毁存在内存中的数据 */ + revokeBufferURL( + /** 需要销毁的二进制数据 URL */ + url: string + ): void + /** [wx.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)** +* +* 保存文件到本地。注意:**saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用**。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success: function(res) { + const tempFilePaths = res.tempFilePaths + wx.saveFile({ + tempFilePath: tempFilePaths[0], + success (res) { + const savedFilePath = res.savedFilePath + } + }) + } +}) +``` */ + saveFile<T extends WxSaveFileOption = WxSaveFileOption>( + option: T + ): PromisifySuccessResult<T, WxSaveFileOption> + /** [wx.saveFileToDisk(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 保存文件系统的文件到用户磁盘,仅在 PC 端支持 +* +* **示例代码** +* +* ```js +wx.saveFileToDisk({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + saveFileToDisk(option: SaveFileToDiskOption): void + /** [wx.saveImageToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存图片到系统相册。 +* +* **示例代码** +* +* ```js +wx.saveImageToPhotosAlbum({ + success(res) { } +}) +``` */ + saveImageToPhotosAlbum< + T extends SaveImageToPhotosAlbumOption = SaveImageToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveImageToPhotosAlbumOption> + /** [wx.saveVideoToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存视频到系统相册。支持mp4视频格式。 +* +* **示例代码** +* +* ```js +wx.saveVideoToPhotosAlbum({ + filePath: 'wxfile://xxx', + success (res) { + console.log(res.errMsg) + } +}) +``` */ + saveVideoToPhotosAlbum< + T extends SaveVideoToPhotosAlbumOption = SaveVideoToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveVideoToPhotosAlbumOption> + /** [wx.scanCode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/scan/wx.scanCode.html) +* +* 需要基础库: `1.0.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 调起客户端扫码界面进行扫码 +* +* **示例代码** +* +* ```js +// 允许从相机和相册扫码 +wx.scanCode({ + success (res) { + console.log(res) + } +}) + +// 只允许从相机扫码 +wx.scanCode({ + onlyFromCamera: true, + success (res) { + console.log(res) + } +}) +``` */ + scanCode<T extends ScanCodeOption = ScanCodeOption>( + option: T + ): PromisifySuccessResult<T, ScanCodeOption> + /** [wx.seekBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.seekBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 控制音乐播放进度。 +* +* **示例代码** +* +* ```js +wx.seekBackgroundAudio({ + position: 30 +}) +``` */ + seekBackgroundAudio< + T extends SeekBackgroundAudioOption = SeekBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, SeekBackgroundAudioOption> + /** [wx.sendHCEMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.sendHCEMessage.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 发送 NFC 消息。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +const buffer = new ArrayBuffer(1) +const dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.startHCE({ + success (res) { + wx.onHCEMessage(function(res) { + if (res.messageType === 1) { + wx.sendHCEMessage({data: buffer}) + } + }) + } +}) +``` */ + sendHCEMessage<T extends SendHCEMessageOption = SendHCEMessageOption>( + option: T + ): PromisifySuccessResult<T, SendHCEMessageOption> + /** [wx.sendSms(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/sms/wx.sendSms.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 拉起手机发送短信界面。 */ + sendSms(option: SendSmsOption): void + /** [wx.sendSocketMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 通过 WebSocket 连接发送数据。需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。 +* +* **示例代码** +* +* ```js +let socketOpen = false +let socketMsgQueue = [] +wx.connectSocket({ + url: 'test.php' +}) + +wx.onSocketOpen(function(res) { + socketOpen = true + for (let i = 0; i < socketMsgQueue.length; i++){ + sendSocketMessage(socketMsgQueue[i]) + } + socketMsgQueue = [] +}) + +function sendSocketMessage(msg) { + if (socketOpen) { + wx.sendSocketMessage({ + data:msg + }) + } else { + socketMsgQueue.push(msg) + } +} +``` */ + sendSocketMessage< + T extends SendSocketMessageOption = SendSocketMessageOption + >( + option: T + ): PromisifySuccessResult<T, SendSocketMessageOption> + /** [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。仅安卓系统 5.1 以上版本有效,iOS 因系统限制不支持。 */ + setBLEMTU<T extends SetBLEMTUOption = SetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, SetBLEMTUOption> + /** [wx.setBackgroundColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundColor.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置窗口的背景色 +* +* **示例代码** +* +* ```js +wx.setBackgroundColor({ + backgroundColor: '#ffffff', // 窗口的背景色为白色 +}) + +wx.setBackgroundColor({ + backgroundColorTop: '#ffffff', // 顶部窗口的背景色为白色 + backgroundColorBottom: '#ffffff', // 底部窗口的背景色为白色 +}) +``` */ + setBackgroundColor< + T extends SetBackgroundColorOption = SetBackgroundColorOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundColorOption> + /** [wx.setBackgroundFetchToken(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.setBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性 */ + setBackgroundFetchToken< + T extends SetBackgroundFetchTokenOption = SetBackgroundFetchTokenOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundFetchTokenOption> + /** [wx.setBackgroundTextStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置下拉背景字体、loading 图的样式 +* +* **示例代码** +* +* ```js +wx.setBackgroundTextStyle({ + textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark +}) +``` */ + setBackgroundTextStyle< + T extends SetBackgroundTextStyleOption = SetBackgroundTextStyleOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundTextStyleOption> + /** [wx.setClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.setClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s +* +* **示例代码** +* +* ```js +wx.setClipboardData({ + data: 'data', + success (res) { + wx.getClipboardData({ + success (res) { + console.log(res.data) // data + } + }) + } +}) +``` */ + setClipboardData< + T extends SetClipboardDataOption = SetClipboardDataOption + >( + option: T + ): PromisifySuccessResult<T, SetClipboardDataOption> + /** [wx.setEnable1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.setEnable1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 开启双人通话。设置 `enable` 为 `false` 时,无法接听呼叫。 */ + setEnable1v1Chat(option: SetEnable1v1ChatOption): void + /** [wx.setEnableDebug(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 设置是否打开调试开关。此开关对正式版也能生效。 +* +* **示例代码** +* +* ```javascript +// 打开调试 +wx.setEnableDebug({ + enableDebug: true +}) + +// 关闭调试 +wx.setEnableDebug({ + enableDebug: false +}) +``` +* +* **Tips** +* +* - 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。 */ + setEnableDebug<T extends SetEnableDebugOption = SetEnableDebugOption>( + option: T + ): PromisifySuccessResult<T, SetEnableDebugOption> + /** [wx.setInnerAudioOption(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 设置 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 的播放选项。设置之后对当前小程序全局生效。 + * + * **** + * + * ## 注意事项 + * - 为保证微信整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOthers 参数的内容,强制与其它音频互斥 + * - 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频 + * - 目前 wx.setInnerAudioOption 接口不兼容 wx.createWebAudioContext 接口,也不兼容 wx.createInnerAudioContext 开启 useWebAudioImplement 的情况,将在后续版本中支持 */ + setInnerAudioOption< + T extends SetInnerAudioOption = SetInnerAudioOption + >( + option: T + ): PromisifySuccessResult<T, SetInnerAudioOption> + /** [wx.setKeepScreenOn(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setKeepScreenOn.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。 +* +* **示例代码** +* +* ```js +wx.setKeepScreenOn({ + keepScreenOn: true +}) +``` */ + setKeepScreenOn< + T extends SetKeepScreenOnOption = SetKeepScreenOnOption + >( + option: T + ): PromisifySuccessResult<T, SetKeepScreenOnOption> + /** [wx.setNavigationBarColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarColor.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 设置页面导航条颜色 */ + setNavigationBarColor< + T extends SetNavigationBarColorOption = SetNavigationBarColorOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarColorOption> + /** [wx.setNavigationBarTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarTitle.html) +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置当前页面的标题 +* +* **示例代码** +* +* ```js +wx.setNavigationBarTitle({ + title: '当前页面' +}) +``` */ + setNavigationBarTitle< + T extends SetNavigationBarTitleOption = SetNavigationBarTitleOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarTitleOption> + /** [wx.setScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 设置屏幕亮度 */ + setScreenBrightness< + T extends SetScreenBrightnessOption = SetScreenBrightnessOption + >( + option: T + ): PromisifySuccessResult<T, SetScreenBrightnessOption> + /** [wx.setStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + setStorage< + T = any, + U extends SetStorageOption<T> = SetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, SetStorageOption<T>> + /** [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + wx.setStorageSync('key', 'value') +} catch (e) { } +``` */ + setStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string, + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + ): void + /** [wx.setTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarBadge.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 为 tabBar 某一项的右上角添加文本 +* +* **示例代码** +* +* ```js +wx.setTabBarBadge({ + index: 0, + text: '1' +}) +``` */ + setTabBarBadge<T extends SetTabBarBadgeOption = SetTabBarBadgeOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarBadgeOption> + /** [wx.setTabBarItem(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarItem.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 某一项的内容,`2.7.0` 起图片支持临时文件和网络文件。 +* +* **示例代码** +* +* ```js +wx.setTabBarItem({ + index: 0, + text: 'text', + iconPath: '/path/to/iconPath', + selectedIconPath: '/path/to/selectedIconPath' +}) +``` */ + setTabBarItem<T extends SetTabBarItemOption = SetTabBarItemOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarItemOption> + /** [wx.setTabBarStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarStyle.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 的整体样式 +* +* **示例代码** +* +* ```js +wx.setTabBarStyle({ + color: '#FF0000', + selectedColor: '#00FF00', + backgroundColor: '#0000FF', + borderStyle: 'white' +}) +``` */ + setTabBarStyle<T extends SetTabBarStyleOption = SetTabBarStyleOption>( + option?: T + ): PromisifySuccessResult<T, SetTabBarStyleOption> + /** [wx.setTopBarText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/sticky/wx.setTopBarText.html) +* +* 需要基础库: `1.4.3` +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [1.9.9](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 +* +* 动态设置置顶栏文字内容。只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容. +* +* **示例代码** +* +* ```js +wx.setTopBarText({ + text: 'hello, world!' +}) +``` +* +* **注意** +* +* - 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:"setTopBarText: fail invoke too frequently" */ + setTopBarText<T extends SetTopBarTextOption = SetTopBarTextOption>( + option: T + ): PromisifySuccessResult<T, SetTopBarTextOption> + /** [wx.setVisualEffectOnCapture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setVisualEffectOnCapture.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.21.3` + * + * 设置截屏/录屏时屏幕表现,仅支持在 Android 端调用 */ + setVisualEffectOnCapture(option: SetVisualEffectOnCaptureOption): void + /** [wx.setWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.setWifiList.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 设置 `wifiList` 中 AP 的相关信息。在 `onGetWifiList` 回调后调用,**iOS特有接口**。 +* +* **注意** +* +* - 该接口只能在 `onGetWifiList` 回调之后才能调用。 +* - 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。 +* - 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。 +* +* **示例代码** +* +* ```js +wx.onGetWifiList(function(res) { + if (res.wifiList.length) { + wx.setWifiList({ + wifiList: [{ + SSID: res.wifiList[0].SSID, + BSSID: res.wifiList[0].BSSID, + password: '123456' + }] + }) + } else { + wx.setWifiList({ + wifiList: [] + }) + } +}) +wx.getWifiList() +``` */ + setWifiList<T extends SetWifiListOption = SetWifiListOption>( + option: T + ): PromisifySuccessResult<T, SetWifiListOption> + /** [wx.setWindowSize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.setWindowSize.html) + * + * 需要基础库: `2.10.1` + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [2.11.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南 */ + setWindowSize(option: SetWindowSizeOption): void + /** [wx.shareFileMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareFileMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发文件到聊天 */ + shareFileMessage< + T extends ShareFileMessageOption = ShareFileMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareFileMessageOption> + /** [wx.shareToWeRun(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.shareToWeRun.html) + * + * 在插件中使用:不支持 + * + * 分享数据到微信运动。 */ + shareToWeRun<T extends ShareToWeRunOption = ShareToWeRunOption>( + option: T + ): PromisifySuccessResult<T, ShareToWeRunOption> + /** [wx.shareVideoMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareVideoMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发视频到聊天 */ + shareVideoMessage< + T extends ShareVideoMessageOption = ShareVideoMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareVideoMessageOption> + /** [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showActionSheet.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示操作菜单 +* +* **示例代码** +* +* ```js +wx.showActionSheet({ + itemList: ['A', 'B', 'C'], + success (res) { + console.log(res.tapIndex) + }, + fail (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 */ + showActionSheet< + T extends ShowActionSheetOption = ShowActionSheetOption + >( + option: T + ): PromisifySuccessResult<T, ShowActionSheetOption> + /** [wx.showLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框 +* +* **示例代码** +* +* ```js +wx.showLoading({ + title: '加载中', +}) + +setTimeout(function () { + wx.hideLoading() +}, 2000) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 应与 [wx.hideLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) 配对使用 */ + showLoading<T extends ShowLoadingOption = ShowLoadingOption>( + option: T + ): PromisifySuccessResult<T, ShowLoadingOption> + /** [wx.showModal(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示模态对话框 +* +* **示例代码** +* +* ```js +wx.showModal({ + title: '提示', + content: '这是一个模态弹窗', + success (res) { + if (res.confirm) { + console.log('用户点击确定') + } else if (res.cancel) { + console.log('用户点击取消') + } + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 +* - 自基础库 2.17.1 版本起,支持传入 editable 参数,显示带输入框的弹窗 */ + showModal<T extends ShowModalOption = ShowModalOption>( + option: T + ): PromisifySuccessResult<T, ShowModalOption> + /** [wx.showNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面显示导航条加载动画 */ + showNavigationBarLoading< + T extends ShowNavigationBarLoadingOption = ShowNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, ShowNavigationBarLoadingOption> + /** [wx.showRedPackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 拉取h5领取红包封面页。获取参考红包封面地址参考 [微信红包封面开发平台](https://cover.weixin.qq.com/cgi-bin/mmcover-bin/readtemplate?t=page/index#/doc?page=introduce)。 */ + showRedPackage<T extends ShowRedPackageOption = ShowRedPackageOption>( + option: T + ): PromisifySuccessResult<T, ShowRedPackageOption> + /** [wx.showShareImageMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareImageMenu.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */ + showShareImageMenu< + T extends ShowShareImageMenuOption = ShowShareImageMenuOption + >( + option: T + ): PromisifySuccessResult<T, ShowShareImageMenuOption> + /** [wx.showShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 显示当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮 +* +* **示例代码** +* +* ```js +wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + showShareMenu<T extends ShowShareMenuOption = ShowShareMenuOption>( + option: T + ): PromisifySuccessResult<T, ShowShareMenuOption> + /** [wx.showTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar */ + showTabBar<T extends ShowTabBarOption = ShowTabBarOption>( + option: T + ): PromisifySuccessResult<T, ShowTabBarOption> + /** [wx.showTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar 某一项的右上角的红点 */ + showTabBarRedDot< + T extends ShowTabBarRedDotOption = ShowTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, ShowTabBarRedDotOption> + /** [wx.showToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示消息提示框 +* +* **示例代码** +* +* ```js +wx.showToast({ + title: '成功', + icon: 'success', + duration: 2000 +}) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 应与 [wx.hideToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) 配对使用 */ + showToast<T extends ShowToastOption = ShowToastOption>( + option: T + ): PromisifySuccessResult<T, ShowToastOption> + /** [wx.startAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.startAccelerometer({ + interval: 'game' +}) +``` +* +* **注意** +* +* - 根据机型性能、当前 CPU 与内存的占用情况,`interval` 的设置与实际 `wx.onAccelerometerChange()` 回调函数的执行频率会有一些出入。 */ + startAccelerometer< + T extends StartAccelerometerOption = StartAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StartAccelerometerOption> + /** [wx.startBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜索附近的 Beacon 设备 +* +* **示例代码** +* +* ```js +wx.startBeaconDiscovery({ + success(res) { } +}) +``` */ + startBeaconDiscovery< + T extends StartBeaconDiscoveryOption = StartBeaconDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBeaconDiscoveryOption> + /** [wx.startBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜寻附近的蓝牙外围设备。 +* +* **此操作比较耗费系统资源,请在搜索到需要的设备后及时调用 [wx.stopBluetoothDevicesDiscovery](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) 停止搜索。** +* +* **注意** +* +* - 考虑到蓝牙功能可以间接进行定位,安卓 6.0 及以上版本,无定位权限或定位开关未打开时,无法进行设备搜索。这种情况下,安卓 8.0.16 前,接口调用成功但无法扫描设备;8.0.16 及以上版本,会返回错误。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/m7klFDmZ72i1) +* +* ```js +// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备 +wx.startBluetoothDevicesDiscovery({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + startBluetoothDevicesDiscovery< + T extends StartBluetoothDevicesDiscoveryOption = StartBluetoothDevicesDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBluetoothDevicesDiscoveryOption> + /** [wx.startCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.startCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.startCompass() +``` */ + startCompass<T extends StartCompassOption = StartCompassOption>( + option?: T + ): PromisifySuccessResult<T, StartCompassOption> + /** [wx.startDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听设备方向的变化。 */ + startDeviceMotionListening< + T extends StartDeviceMotionListeningOption = StartDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StartDeviceMotionListeningOption> + /** [wx.startGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听陀螺仪数据。 */ + startGyroscope<T extends StartGyroscopeOption = StartGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StartGyroscopeOption> + /** [wx.startHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.startHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 初始化 NFC 模块。(HCE 模式仅安卓支持) +* +* **示例代码** +* +* ```js +wx.startHCE({ + aid_list: ['F222222222'], + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startHCE<T extends StartHCEOption = StartHCEOption>( + option: T + ): PromisifySuccessResult<T, StartHCEOption> + /** [wx.startLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 开始搜索局域网下的 mDNS 服务。搜索的结果会通过 wx.onLocalService* 事件返回。 + * + * **注意** + * + * 1. 由于操作系统相关能力变更,iOS 微信客户端 7.0.18 及以上版本无法使用 mDNS 相关接口,安卓版本不受影响 + * 2. wx.startLocalServiceDiscovery 是一个消耗性能的行为,开始 30 秒后会自动 stop 并执行 wx.onLocalServiceDiscoveryStop 注册的回调函数。 + * 3. 在调用 wx.startLocalServiceDiscovery 后,在这次搜索行为停止后才能发起下次 wx.startLocalServiceDiscovery。停止本次搜索行为的操作包括调用 wx.stopLocalServiceDiscovery 和 30 秒后系统自动 stop 本次搜索。 */ + startLocalServiceDiscovery< + T extends StartLocalServiceDiscoveryOption = StartLocalServiceDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartLocalServiceDiscoveryOption> + /** [wx.startLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 开启小程序进入前台时接收位置消息。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | + * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | + * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | + * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | + * | 生活服务 | / | 上门服务作业等线下场景 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | + * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | + * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | + * | 旅游 | 景区服务 | 提供景区导航、导览服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 快递业与邮政 | / | 快递/货物收发服务 | + * | 餐饮 | / | 线下送餐服务 | + * | 电商平台 | / | 售卖商品线下发货、线下收货服务 | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | + * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | + * + * **注意** + * + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdate< + T extends StartLocationUpdateOption = StartLocationUpdateOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateOption> + /** [wx.startLocationUpdateBackground(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 开启小程序进入前后台时均接收位置消息,需引导用户开启[授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#后台定位)。授权以后,小程序在运行中或进入后台均可接受位置消息变化。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 商家自营 | / | 在小程序内提供线下商超导览、导航服务 | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 跑腿、共享服务 | 含有B端小程序配送服务,基于地理位置共享工具类服务 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 工具 | 健康管理 | 基于实时地理位置提供身体管理记录等服务 | + * | 旅游 | 景区服务、住宿服务 | 在小程序内提供景区导航、导览服务、酒店导航服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 家政、外送 | 含有B端小程序配送服务,基于地理位置导航上门服务 | + * | 快递业与邮政 | / | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 外卖点餐 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 跨境电商 | / | 在小程序内提供线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 在小程序内提供线下商超导览、导航服务 | + * + * **注意** + * + * - 安卓微信7.0.6版本,iOS 7.0.5版本起支持该接口 + * - 需在app.json中配置requiredBackgroundModes: ['location']后使用 + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdateBackground< + T extends StartLocationUpdateBackgroundOption = StartLocationUpdateBackgroundOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateBackgroundOption> + /** [wx.startPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 +* +* **示例代码** +* +* ```js +wx.startPullDownRefresh() +``` */ + startPullDownRefresh< + T extends StartPullDownRefreshOption = StartPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StartPullDownRefreshOption> + /** [wx.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 开始录音。当主动调用 [wx.stopRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html),或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + startRecord<T extends WxStartRecordOption = WxStartRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStartRecordOption> + /** [wx.startSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 开始 SOTER 生物认证。验证流程请参考[说明](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html)。 +* +* **resultJSON 说明** +* +* 此数据为设备TEE中,将传入的challenge和TEE内其他安全信息组成的数据进行组装而来的JSON,对下述字段的解释如下表。例子如下: +* | 字段名 | 说明 | +* |---------|-------------------------------------------------------------------------------------------| +* | raw | 调用者传入的challenge | +* | fid | (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号) | +* | counter | 防重放特征参数 | +* | tee_n | TEE名称(如高通或者trustonic等) | +* | tee_v | TEE版本号 | +* | fp_n | 指纹以及相关逻辑模块提供商(如FPC等) | +* | fp_v | 指纹以及相关模块版本号 | +* | cpu_id | 机器唯一识别ID | +* | uid | 概念同Android系统定义uid,即应用程序编号 | +* +* ```json +{ + "raw":"msg", + "fid":"2", + "counter":123, + "tee_n":"TEE Name", + "tee_v":"TEE Version", + "fp_n":"Fingerprint Sensor Name", + "fp_v":"Fingerprint Sensor Version", + "cpu_id":"CPU Id", + "uid":"21" +} +``` +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/q3tCKkmJ7g2e) +* ```js +wx.startSoterAuthentication({ + requestAuthModes: ['fingerPrint'], + challenge: '123456', + authContent: '请用指纹解锁', + success(res) { + } +}) +``` */ + startSoterAuthentication< + T extends StartSoterAuthenticationOption = StartSoterAuthenticationOption + >( + option: T + ): PromisifySuccessResult<T, StartSoterAuthenticationOption> + /** [wx.startWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.startWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 初始化 Wi-Fi 模块。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/8P7zrkmd7r2n) +* ```js +wx.startWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startWifi<T extends StartWifiOption = StartWifiOption>( + option?: T + ): PromisifySuccessResult<T, StartWifiOption> + /** [wx.stopAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.stopAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.stopAccelerometer() +``` */ + stopAccelerometer< + T extends StopAccelerometerOption = StopAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StopAccelerometerOption> + /** [wx.stopBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.stopBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 停止播放音乐。 +* +* **示例代码** +* +* ```js +wx.stopBackgroundAudio() +``` */ + stopBackgroundAudio< + T extends StopBackgroundAudioOption = StopBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, StopBackgroundAudioOption> + /** [wx.stopBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.stopBeaconDiscovery.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 停止搜索附近的 Beacon 设备 */ + stopBeaconDiscovery< + T extends StopBeaconDiscoveryOption = StopBeaconDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBeaconDiscoveryOption> + /** [wx.stopBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.stopBluetoothDevicesDiscovery({ + success (res) { + console.log(res) + } +}) +``` */ + stopBluetoothDevicesDiscovery< + T extends StopBluetoothDevicesDiscoveryOption = StopBluetoothDevicesDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBluetoothDevicesDiscoveryOption> + /** [wx.stopCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.stopCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.stopCompass() +``` */ + stopCompass<T extends StopCompassOption = StopCompassOption>( + option?: T + ): PromisifySuccessResult<T, StopCompassOption> + /** [wx.stopDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听设备方向的变化。 */ + stopDeviceMotionListening< + T extends StopDeviceMotionListeningOption = StopDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StopDeviceMotionListeningOption> + /** [wx.stopFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 停止人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + stopFaceDetect(option?: StopFaceDetectOption): void + /** [wx.stopGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听陀螺仪数据。 */ + stopGyroscope<T extends StopGyroscopeOption = StopGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StopGyroscopeOption> + /** [wx.stopHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.stopHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 关闭 NFC 模块。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +wx.stopHCE({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopHCE<T extends StopHCEOption = StopHCEOption>( + option?: T + ): PromisifySuccessResult<T, StopHCEOption> + /** [wx.stopLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.stopLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 停止搜索 mDNS 服务 */ + stopLocalServiceDiscovery< + T extends StopLocalServiceDiscoveryOption = StopLocalServiceDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocalServiceDiscoveryOption> + /** [wx.stopLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.stopLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 关闭监听实时位置变化,前后台都停止消息接收 */ + stopLocationUpdate< + T extends StopLocationUpdateOption = StopLocationUpdateOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocationUpdateOption> + /** [wx.stopPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.stopPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 停止当前页面下拉刷新。 +* +* **示例代码** +* +* ```js +Page({ + onPullDownRefresh () { + wx.stopPullDownRefresh() + } +}) +``` */ + stopPullDownRefresh< + T extends StopPullDownRefreshOption = StopPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StopPullDownRefreshOption> + /** [wx.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 停止录音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + stopRecord<T extends WxStopRecordOption = WxStopRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStopRecordOption> + /** [wx.stopVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 结束播放语音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + }) + + setTimeout(() => { wx.stopVoice() }, 5000) + } +}) +``` */ + stopVoice<T extends StopVoiceOption = StopVoiceOption>( + option?: T + ): PromisifySuccessResult<T, StopVoiceOption> + /** [wx.stopWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.stopWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 关闭 Wi-Fi 模块。 +* +* **示例代码** +* +* ```js +wx.stopWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopWifi<T extends StopWifiOption = StopWifiOption>( + option?: T + ): PromisifySuccessResult<T, StopWifiOption> + /** [wx.subscribeVoIPVideoMembers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.subscribeVoIPVideoMembers.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 */ + subscribeVoIPVideoMembers< + T extends SubscribeVoIPVideoMembersOption = SubscribeVoIPVideoMembersOption + >( + option: T + ): PromisifySuccessResult<T, SubscribeVoIPVideoMembersOption> + /** [wx.switchTab(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 +* +* **示例代码** +* +* ```json +// app.json +{ + "tabBar": { + "list": [{ + "pagePath": "index", + "text": "首页" + },{ + "pagePath": "other", + "text": "其他" + }] + } +} +``` +* +* ```js +wx.switchTab({ + url: '/index' +}) +``` */ + switchTab<T extends SwitchTabOption = SwitchTabOption>( + option: T + ): PromisifySuccessResult<T, SwitchTabOption> + /** [wx.updateShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 更新转发属性 +* +* **示例代码** +* +* ```js +wx.updateShareMenu({ + withShareTicket: true, + success () { } +}) +``` +* ```js +// 转发私密消息 +wx.updateShareMenu({ + isPrivateMessage: true, + activityId: 'xxx', + templateInfo: {}, + success () { }, + fail () {} +}) +``` */ + updateShareMenu< + T extends UpdateShareMenuOption = UpdateShareMenuOption + >( + option: T + ): PromisifySuccessResult<T, UpdateShareMenuOption> + /** [wx.updateVoIPChatMuteConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.updateVoIPChatMuteConfig.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 更新实时语音静音设置 */ + updateVoIPChatMuteConfig< + T extends UpdateVoIPChatMuteConfigOption = UpdateVoIPChatMuteConfigOption + >( + option: T + ): PromisifySuccessResult<T, UpdateVoIPChatMuteConfigOption> + /** [wx.updateWeChatApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.updateWeChatApp.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。 */ + updateWeChatApp< + T extends UpdateWeChatAppOption = UpdateWeChatAppOption + >( + option?: T + ): PromisifySuccessResult<T, UpdateWeChatAppOption> + /** [wx.vibrateLong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateLong.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较长时间的振动(400 ms) */ + vibrateLong<T extends VibrateLongOption = VibrateLongOption>( + option?: T + ): PromisifySuccessResult<T, VibrateLongOption> + /** [wx.vibrateShort(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较短时间的振动(15 ms)。仅在 iPhone `7 / 7 Plus` 以上及 Android 机型生效 */ + vibrateShort<T extends VibrateShortOption = VibrateShortOption>( + option: T + ): PromisifySuccessResult<T, VibrateShortOption> + /** [wx.writeBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 向蓝牙低功耗设备特征值中写入二进制数据。注意:必须设备的特征支持 write 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在写失败的可能性。 +* - 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。 +* - 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。 +* - 安卓平台上,在调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 成功后立即调用本接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 向蓝牙设备发送一个0x00的16进制数据 +let buffer = new ArrayBuffer(1) +let dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.writeBLECharacteristicValue({ + // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + // 这里的value是ArrayBuffer类型 + value: buffer, + success (res) { + console.log('writeBLECharacteristicValue success', res.errMsg) + } +}) +``` */ + writeBLECharacteristicValue< + T extends WriteBLECharacteristicValueOption = WriteBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, WriteBLECharacteristicValueOption> + /** 小程序云开发 */ + cloud: WxCloud + /** 文件系统中的用户目录路径 */ + env: { USER_DATA_PATH: string } + } + + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AccessCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AccessFailCallback = (result: AccessFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AccessSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCardSuccessCallback = (result: AddCardSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCustomLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddFileToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddFileToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddFileToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddGroundOverlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddGroundOverlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneCalendarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneCalendarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneCalendarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneContactSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneRepeatCalendarCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddPhoneRepeatCalendarFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AddPhoneRepeatCalendarSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVideoToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddVideoToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVideoToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVisualLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AppendFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AppendFileFailCallback = (result: AppendFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AppendFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthPrivateMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthPrivateMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AuthPrivateMessageSuccessCallback = ( + result: AuthPrivateMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AuthorizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeForMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthorizeForMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeForMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 背景音频播放错误事件的监听函数 */ + type BackgroundAudioManagerOnErrorCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchGetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchGetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchGetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchSetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchSetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchSetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BlurCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BlurFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BlurSuccessCallback = (res: GeneralCallbackResult) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type BoundingClientRectCallback = ( + result: BoundingClientRectCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStartRecordSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStopRecordSuccessCallback = ( + result: StopRecordSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasGetImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasGetImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasGetImageDataSuccessCallback = ( + result: CanvasGetImageDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasPutImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasPutImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasPutImageDataSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasToTempFilePathCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasToTempFilePathFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasToTempFilePathSuccessCallback = ( + result: CanvasToTempFilePathSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsOpenAccessibilityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsOpenAccessibilityFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsOpenAccessibilitySuccessCallback = ( + option: CheckIsOpenAccessibilitySuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSoterEnrolledInDeviceCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSoterEnrolledInDeviceFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSoterEnrolledInDeviceSuccessCallback = ( + result: CheckIsSoterEnrolledInDeviceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSupportSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSupportSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSupportSoterAuthenticationSuccessCallback = ( + result: CheckIsSupportSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckSessionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CheckSessionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CheckSessionSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseAddressCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseAddressSuccessCallback = ( + result: ChooseAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseContactSuccessCallback = ( + option: ChooseContactSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseImageSuccessCallback = ( + result: ChooseImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceSuccessCallback = ( + result: ChooseInvoiceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceTitleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceTitleSuccessCallback = ( + result: ChooseInvoiceTitleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLicensePlateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseLicensePlateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLicensePlateSuccessCallback = ( + result: ChooseLicensePlateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLocationSuccessCallback = ( + result: ChooseLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMediaSuccessCallback = ( + result: ChooseMediaSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMessageFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseMessageFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMessageFileSuccessCallback = ( + result: ChooseMessageFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChoosePoiCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChoosePoiFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChoosePoiSuccessCallback = ( + result: ChoosePoiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseVideoSuccessCallback = ( + result: ChooseVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CloseSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CloseSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressImageSuccessCallback = ( + result: CompressImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressVideoSuccessCallback = ( + result: CompressVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type ConnectFailCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ConnectSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type ConnectWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type ConnectWifiSuccessCallback = (res: WifiError) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type ContextCallback = (result: ContextCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CopyFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CopyFileFailCallback = (result: CopyFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CopyFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CreateBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CreateBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEPeripheralServerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CreateBLEPeripheralServerFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CreateBLEPeripheralServerSuccessCallback = ( + result: CreateBLEPeripheralServerSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DisableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type DisableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type DisableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DownloadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type DownloadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type DownloadFileSuccessCallback = ( + result: DownloadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type DownloadTaskOffProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 下载进度变化事件的监听函数 */ + type DownloadTaskOnProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EditImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type EditImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type EditImageSuccessCallback = ( + result: EditImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EnableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type EnableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type EnableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 事件监听函数 */ + type EventCallback = ( + /** 触发事件参数 */ + ...args: any + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitFullScreenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitMiniProgramCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitMiniProgramFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitMiniProgramSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ExitPictureInPictureFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitVoIPChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitVoIPChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitVoIPChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FaceDetectSuccessCallback = ( + result: FaceDetectSuccessCallbackResult + ) => void + /** 回调函数 */ + type FieldsCallback = ( + /** 节点的相关信息 */ + res: IAnyObject + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FileSystemManagerCloseCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerCloseFailCallback = ( + result: CloseFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerCloseSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerGetFileInfoFailCallback = ( + result: GetFileInfoFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetFileInfoSuccessCallback = ( + result: FileSystemManagerGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetSavedFileListSuccessCallback = ( + result: FileSystemManagerGetSavedFileListSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerRemoveSavedFileFailCallback = ( + result: RemoveSavedFileFailCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerSaveFileFailCallback = ( + result: SaveFileFailCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FromScreenLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FromScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FromScreenLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FstatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FstatFailCallback = (result: FstatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FstatSuccessCallback = (result: FstatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FtruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FtruncateFailCallback = (result: FtruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FtruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAtqaCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetAtqaFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetAtqaSuccessCallback = (result: GetAtqaSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAvailableAudioSourcesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetAvailableAudioSourcesFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetAvailableAudioSourcesSuccessCallback = ( + result: GetAvailableAudioSourcesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceCharacteristicsCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceCharacteristicsFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceCharacteristicsSuccessCallback = ( + result: GetBLEDeviceCharacteristicsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceRSSICompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceRSSIFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceRSSISuccessCallback = ( + result: GetBLEDeviceRSSISuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceServicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceServicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceServicesSuccessCallback = ( + result: GetBLEDeviceServicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEMTUCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEMTUFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEMTUSuccessCallback = ( + result: GetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundAudioPlayerStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundAudioPlayerStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundAudioPlayerStateSuccessCallback = ( + result: GetBackgroundAudioPlayerStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchDataFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchDataSuccessCallback = ( + result: GetBackgroundFetchDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchTokenSuccessCallback = ( + result: GetBackgroundFetchTokenSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBatteryInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBatteryInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBatteryInfoSuccessCallback = ( + result: GetBatteryInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBeaconsCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type GetBeaconsFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type GetBeaconsSuccessCallback = ( + result: GetBeaconsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothAdapterStateCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothAdapterStateFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothAdapterStateSuccessCallback = ( + result: GetBluetoothAdapterStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothDevicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothDevicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothDevicesSuccessCallback = ( + result: GetBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetCenterLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetCenterLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetCenterLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveInfoSuccessCallback = ( + result: GetChannelsLiveInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveNoticeInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveNoticeInfoFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveNoticeInfoSuccessCallback = ( + result: GetChannelsLiveNoticeInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsShareKeyCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsShareKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsShareKeySuccessCallback = ( + result: GetChannelsShareKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetClipboardDataSuccessCallback = ( + option: GetClipboardDataSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedBluetoothDevicesCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetConnectedBluetoothDevicesFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type GetConnectedBluetoothDevicesSuccessCallback = ( + result: GetConnectedBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetConnectedWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetConnectedWifiSuccessCallback = ( + result: GetConnectedWifiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetContentsSuccessCallback = ( + result: GetContentsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetExtConfigCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetExtConfigFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetExtConfigSuccessCallback = ( + result: GetExtConfigSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFuzzyLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetFuzzyLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetFuzzyLocationSuccessCallback = ( + result: GetFuzzyLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetGroupEnterInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetGroupEnterInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetGroupEnterInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHCEStateCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type GetHCEStateFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type GetHCEStateSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHistoricalBytesCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetHistoricalBytesFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetHistoricalBytesSuccessCallback = ( + result: GetHistoricalBytesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetImageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetImageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetImageInfoSuccessCallback = ( + result: GetImageInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLatestUserKeyCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLatestUserKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLatestUserKeySuccessCallback = ( + result: GetLatestUserKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocalIPAddressCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetLocalIPAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocalIPAddressSuccessCallback = ( + result: GetLocalIPAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocationSuccessCallback = ( + result: GetLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetMaxTransceiveLengthCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetMaxTransceiveLengthFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetMaxTransceiveLengthSuccessCallback = ( + result: GetMaxTransceiveLengthSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetNetworkTypeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetNetworkTypeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetNetworkTypeSuccessCallback = ( + result: GetNetworkTypeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRandomValuesCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRandomValuesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRandomValuesSuccessCallback = ( + result: GetRandomValuesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRegionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRegionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRegionSuccessCallback = ( + result: GetRegionSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRotateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRotateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRotateSuccessCallback = ( + result: GetRotateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSakCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetSakFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetSakSuccessCallback = (result: GetSakSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSavedFileInfoSuccessCallback = ( + result: GetSavedFileInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileListCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileListFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScaleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetScaleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScaleSuccessCallback = ( + result: GetScaleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScreenBrightnessSuccessCallback = ( + option: GetScreenBrightnessSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenRecordingStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenRecordingStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetScreenRecordingStateSuccessCallback = ( + result: GetScreenRecordingStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectedTextRangeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSelectedTextRangeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectedTextRangeSuccessCallback = ( + result: GetSelectedTextRangeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectionTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSelectionTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectionTextSuccessCallback = ( + result: GetSelectionTextSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSettingSuccessCallback = ( + result: GetSettingSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetShareInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetShareInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetShareInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSkewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSkewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSkewSuccessCallback = (result: GetSkewSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetStorageInfoSuccessCallback = ( + option: GetStorageInfoSuccessCallbackOption + ) => void + /** 接口调用成功的回调函数 */ + type GetStorageSuccessCallback<T = any> = ( + result: GetStorageSuccessCallbackResult<T> + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoAsyncCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoAsyncFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoAsyncSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserInfoSuccessCallback = ( + result: GetUserInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserProfileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserProfileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserProfileSuccessCallback = ( + result: GetUserProfileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetVideoInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetVideoInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetVideoInfoSuccessCallback = ( + result: GetVideoInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWeRunDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetWeRunDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetWeRunDataSuccessCallback = ( + result: GetWeRunDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideHomeButtonCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideHomeButtonFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideHomeButtonSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideKeyboardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideKeyboardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideKeyboardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type HideNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type HideNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IncludePointsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type IncludePointsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type IncludePointsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InitFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitMarkerClusterCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type InitMarkerClusterFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitMarkerClusterSuccessCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InnerAudioContextOffErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + /** 音频播放错误事件的监听函数 */ + type InnerAudioContextOnErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + type InnerAudioContextOnStopCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertDividerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertDividerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertDividerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听相交状态变化的回调函数 */ + type IntersectionObserverObserveCallback = ( + result: IntersectionObserverObserveCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InterstitialAdOffErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 插屏错误事件的监听函数 */ + type InterstitialAdOnErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsBluetoothDevicePairedCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type IsBluetoothDevicePairedFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type IsBluetoothDevicePairedSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsConnectedCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type IsConnectedFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type IsConnectedSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type Join1v1ChatCompleteCallback = (res: Join1v1ChatError) => void + /** 接口调用失败的回调函数 */ + type Join1v1ChatFailCallback = (res: Join1v1ChatError) => void + /** 接口调用成功的回调函数 */ + type Join1v1ChatSuccessCallback = (res: Join1v1ChatError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type JoinVoIPChatCompleteCallback = (res: JoinVoIPChatError) => void + /** 接口调用失败的回调函数 */ + type JoinVoIPChatFailCallback = (res: JoinVoIPChatError) => void + /** 接口调用成功的回调函数 */ + type JoinVoIPChatSuccessCallback = ( + result: JoinVoIPChatSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePlayerContextSnapshotSuccessCallback = ( + result: LivePlayerContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePusherContextSnapshotSuccessCallback = ( + result: LivePusherContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoadFontFaceCompleteCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type LoadFontFaceFailCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LoadFontFaceSuccessCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type LoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type LoginSuccessCallback = (result: LoginSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakeBluetoothPairCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type MakeBluetoothPairFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakeBluetoothPairSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakePhoneCallCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MakePhoneCallFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakePhoneCallSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听 media query 状态变化的回调函数 */ + type MediaQueryObserverObserveCallback = ( + result: MediaQueryObserverObserveCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MkdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MkdirFailCallback = (result: MkdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MkdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveAlongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveAlongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveAlongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveToLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveToLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveToLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MuteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MuteFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MuteSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateBackFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateBackMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateToMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToSuccessCallback = ( + result: NavigateToSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NdefCloseCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type NdefCloseFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type NdefCloseSuccessCallback = (res: Nfcrwerror) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type NodeCallback = (result: NodeCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NotifyBLECharacteristicValueChangeCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type NotifyBLECharacteristicValueChangeFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type NotifyBLECharacteristicValueChangeSuccessCallback = ( + res: BluetoothError + ) => void + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAccelerometerChangeCallback = (res: GeneralCallbackResult) => void + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppHideCallback = (res: GeneralCallbackResult) => void + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppShowCallback = (res: GeneralCallbackResult) => void + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionBeginCallback = ( + res: GeneralCallbackResult + ) => void + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEMTUChangeCallback = ( + result: OnBLEMTUChangeListenerResult + ) => void + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconServiceChangeCallback = (res: GeneralCallbackResult) => void + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconUpdateCallback = (res: GeneralCallbackResult) => void + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBindWifiCallback = (res: GeneralCallbackResult) => void + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothDeviceFoundCallback = (res: GeneralCallbackResult) => void + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCanplayCallback = (res: GeneralCallbackResult) => void + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCompassChangeCallback = (res: GeneralCallbackResult) => void + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffConnectCallback = (res: GeneralCallbackResult) => void + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDeviceMotionChangeCallback = (res: GeneralCallbackResult) => void + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffEndedCallback = (res: GeneralCallbackResult) => void + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffListeningCallback = (res: GeneralCallbackResult) => void + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLoadCallback = (res: GeneralCallbackResult) => void + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkStatusChangeCallback = (res: GeneralCallbackResult) => void + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPageNotFoundCallback = ( + result: OnPageNotFoundListenerResult + ) => void + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPauseCallback = (res: GeneralCallbackResult) => void + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPlayCallback = (res: GeneralCallbackResult) => void + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekedCallback = (res: GeneralCallbackResult) => void + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekingCallback = (res: GeneralCallbackResult) => void + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffStopCallback = (res: GeneralCallbackResult) => void + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWaitingCallback = (res: GeneralCallbackResult) => void + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWindowResizeCallback = ( + result: OnWindowResizeListenerResult + ) => void + /** 加速度数据事件的监听函数 */ + type OnAccelerometerChangeCallback = ( + result: OnAccelerometerChangeListenerResult + ) => void + /** 小程序切后台事件的监听函数 */ + type OnAppHideCallback = (res: GeneralCallbackResult) => void + /** 小程序切前台事件的监听函数 */ + type OnAppShowCallback = ( + /** 启动参数 */ + options: LaunchOptionsApp + ) => void + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + type OnAudioInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 音频中断结束事件的监听函数 */ + type OnAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + type OnBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + type OnBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + type OnBLEMTUChangeCallback = (result: OnBLEMTUChangeListenerResult) => void + /** 当前外围设备被连接或断开连接事件的监听函数 */ + type OnBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** 音乐暂停事件的监听函数 */ + type OnBackgroundAudioPauseCallback = (res: GeneralCallbackResult) => void + /** 音乐播放事件的监听函数 */ + type OnBackgroundAudioPlayCallback = (res: GeneralCallbackResult) => void + /** 音乐停止事件的监听函数 */ + type OnBackgroundAudioStopCallback = (res: GeneralCallbackResult) => void + /** 收到 backgroundFetch 数据事件的监听函数 */ + type OnBackgroundFetchDataCallback = ( + result: OnBackgroundFetchDataListenerResult + ) => void + /** Beacon 服务状态变化事件的监听函数 */ + type OnBeaconServiceChangeCallback = ( + result: OnBeaconServiceChangeListenerResult + ) => void + /** Beacon 设备更新事件的监听函数 */ + type OnBeaconUpdateCallback = (result: OnBeaconUpdateListenerResult) => void + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + type OnBindWifiCallback = (res: GeneralCallbackResult) => void + /** 蓝牙适配器状态变化事件的监听函数 */ + type OnBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** 搜索到新设备的事件的监听函数 */ + type OnBluetoothDeviceFoundCallback = ( + result: OnBluetoothDeviceFoundListenerResult + ) => void + /** 回调函数 */ + type OnCameraFrameCallback = (result: OnCameraFrameCallbackResult) => void + type OnCanplayCallback = (res: GeneralCallbackResult) => void + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** 特征订阅事件的监听函数 */ + type OnCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 取消特征订阅事件的监听函数 */ + type OnCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** 向微信后台请求检查更新结果事件的监听函数 */ + type OnCheckForUpdateCallback = ( + result: OnCheckForUpdateListenerResult + ) => void + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + type OnChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** 罗盘数据变化事件的监听函数 */ + type OnCompassChangeCallback = ( + result: OnCompassChangeListenerResult + ) => void + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + type OnConnectCallback = (res: GeneralCallbackResult) => void + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + type OnCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** 设备方向变化事件的监听函数 */ + type OnDeviceMotionChangeCallback = ( + result: OnDeviceMotionChangeListenerResult + ) => void + /** 的监听函数 */ + type OnDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + type OnEndedCallback = (res: GeneralCallbackResult) => void + /** 已录制完指定帧大小的文件事件的监听函数 */ + type OnFrameRecordedCallback = ( + result: OnFrameRecordedListenerResult + ) => void + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + type OnGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** 陀螺仪数据变化事件的监听函数 */ + type OnGyroscopeChangeCallback = ( + result: OnGyroscopeChangeListenerResult + ) => void + /** 接收 NFC 设备消息事件的监听函数 */ + type OnHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** HTTP Response Header 事件的监听函数 */ + type OnHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + type OnInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 录音中断结束事件的监听函数 */ + type OnInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 键盘高度变化事件的监听函数 */ + type OnKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** 小程序异步组件加载失败事件的监听函数 */ + type OnLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** 开始监听数据包消息的事件的监听函数 */ + type OnListeningCallback = (res: GeneralCallbackResult) => void + type OnLoadCallback = (res: GeneralCallbackResult) => void + /** mDNS 服务停止搜索的事件的监听函数 */ + type OnLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** mDNS 服务发现的事件的监听函数 */ + type OnLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** mDNS 服务离开的事件的监听函数 */ + type OnLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** mDNS 服务解析失败的事件的监听函数 */ + type OnLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** 实时地理位置变化事件的监听函数 */ + type OnLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** 的监听函数 */ + type OnLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** 内存不足告警事件的监听函数 */ + type OnMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** 网络状态变化事件的监听函数 */ + type OnNetworkStatusChangeCallback = ( + result: OnNetworkStatusChangeListenerResult + ) => void + /** 弱网状态变化事件的监听函数 */ + type OnNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + type OnNextCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnOpenCallback = (result: OnOpenListenerResult) => void + /** 小程序要打开的页面不存在事件的监听函数 */ + type OnPageNotFoundCallback = (result: OnPageNotFoundListenerResult) => void + type OnPauseCallback = (res: GeneralCallbackResult) => void + type OnPlayCallback = (res: GeneralCallbackResult) => void + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + type OnPrevCallback = (res: GeneralCallbackResult) => void + /** worker线程被系统回收事件的监听函数 */ + type OnProcessKilledCallback = (res: GeneralCallbackResult) => void + /** 录音继续事件的监听函数 */ + type OnResumeCallback = (res: GeneralCallbackResult) => void + /** 用户录屏事件的监听函数 */ + type OnScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + type OnSeekedCallback = (res: GeneralCallbackResult) => void + type OnSeekingCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type OnSocketCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 错误事件的监听函数 */ + type OnSocketErrorCallback = (result: GeneralCallbackResult) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type OnSocketMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnSocketOpenCallback = (result: OnSocketOpenListenerResult) => void + /** 录音开始事件的监听函数 */ + type OnStartCallback = (res: GeneralCallbackResult) => void + /** 系统主题改变事件的监听函数 */ + type OnThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + type OnTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** 未处理的 Promise 拒绝事件的监听函数 */ + type OnUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** 小程序更新失败事件的监听函数 */ + type OnUpdateFailedCallback = (res: GeneralCallbackResult) => void + /** 小程序有版本更新事件的监听函数 */ + type OnUpdateReadyCallback = (res: GeneralCallbackResult) => void + /** 用户主动截屏事件的监听函数 */ + type OnUserCaptureScreenCallback = (res: GeneralCallbackResult) => void + /** 被动断开实时语音通话事件的监听函数 */ + type OnVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** 实时语音通话成员在线状态变化事件的监听函数 */ + type OnVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** 实时语音通话成员通话状态变化事件的监听函数 */ + type OnVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** 房间状态变化事件的监听函数 */ + type OnVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** 实时语音通话成员视频状态变化事件的监听函数 */ + type OnVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** 音频加载中事件的监听函数 */ + type OnWaitingCallback = (res: GeneralCallbackResult) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** 窗口尺寸变化事件的监听函数 */ + type OnWindowResizeCallback = (result: OnWindowResizeListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenAppAuthorizeSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenAppAuthorizeSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenAppAuthorizeSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type OpenBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type OpenBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenCardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsActivityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsActivityFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsActivitySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsEventCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsEventFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsEventSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsLiveCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsLiveFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsLiveSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsUserProfileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsUserProfileFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsUserProfileSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCustomerServiceChatCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenCustomerServiceChatFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenCustomerServiceChatSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenDocumentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenDocumentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenDocumentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenEmbeddedMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenEmbeddedMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenEmbeddedMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenFailCallback = (result: OpenFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenMapAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenMapAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenMapAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenSettingSuccessCallback = ( + result: OpenSettingSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSuccessCallback = (result: OpenSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSystemBluetoothSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenSystemBluetoothSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSystemBluetoothSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenVideoEditorCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenVideoEditorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenVideoEditorSuccessCallback = ( + result: OpenVideoEditorSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PageScrollToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PageScrollToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PageScrollToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PauseBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PlayBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PluginLoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PluginLoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PluginLoginSuccessCallback = ( + result: PluginLoginSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadAssetsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadAssetsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadAssetsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadSkylineViewCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PreloadSkylineViewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadSkylineViewSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadWebviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadWebviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadWebviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewMediaSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReLaunchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReLaunchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReLaunchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type ReadBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type ReadBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompressedFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadCompressedFileFailCallback = ( + result: ReadCompressedFileFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadCompressedFileSuccessCallback = ( + result: ReadCompressedFileSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadFailCallback = (result: ReadFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadFileFailCallback = (result: ReadFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReadFileSuccessCallback = ( + result: ReadFileSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadSuccessCallback = (result: ReadSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadZipEntryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadZipEntryFailCallback = ( + result: ReadZipEntryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadZipEntrySuccessCallback = ( + result: ReadZipEntrySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReaddirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReaddirFailCallback = (result: ReaddirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReaddirSuccessCallback = (result: ReaddirSuccessCallbackResult) => void + /** 录音结束事件的监听函数 */ + type RecorderManagerOnStopCallback = (result: OnStopListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedirectToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedirectToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedirectToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveCustomLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveFormatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveFormatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveFormatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveSavedFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveSavedFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveTabBarBadgeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveVisualLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RenameCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RenameFailCallback = (result: RenameFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RenameSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestFailCallback = (err: Err) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestFullScreenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestOrderPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestOrderPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestOrderPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPaymentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPaymentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPictureInPictureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPluginPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPluginPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPluginPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeDeviceMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeDeviceMessageFailCallback = ( + result: RequestSubscribeDeviceMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeDeviceMessageSuccessCallback = ( + result: RequestSubscribeDeviceMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeMessageFailCallback = ( + result: RequestSubscribeMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeMessageSuccessCallback = ( + result: RequestSubscribeMessageSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSuccessCallback< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > = (result: RequestSuccessCallbackResult<T>) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + type RewardedVideoAdOnCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** 激励视频错误事件的监听函数 */ + type RewardedVideoAdOnErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RmdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RmdirFailCallback = (result: RmdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RmdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileSuccessCallback = ( + result: SaveFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileToDiskCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SaveFileToDiskFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileToDiskSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveImageToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveImageToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveImageToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveVideoToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveVideoToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveVideoToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ScanCodeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ScanCodeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ScanCodeSuccessCallback = ( + result: ScanCodeSuccessCallbackResult + ) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type ScrollOffsetCallback = (result: ScrollOffsetCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SeekBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SeekBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SeekBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendHCEMessageCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type SendHCEMessageFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type SendHCEMessageSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSmsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendSmsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSmsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSocketMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SendSocketMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSocketMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBGMVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBGMVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBGMVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBLEMTUCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBLEMTUFailCallback = (result: SetBLEMTUFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBLEMTUSuccessCallback = ( + result: SetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundColorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundFetchTokenSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundTextStyleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundTextStyleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundTextStyleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBoundaryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBoundaryFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBoundarySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetCenterOffsetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetCenterOffsetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetCenterOffsetSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetClipboardDataSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetContentsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnable1v1ChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnable1v1ChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnable1v1ChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnableDebugCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnableDebugFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnableDebugSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetInnerAudioOptionCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetInnerAudioOptionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetInnerAudioOptionSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetKeepScreenOnCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetKeepScreenOnFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetKeepScreenOnSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetLocMarkerIconCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetLocMarkerIconFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetLocMarkerIconSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetMICVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetMICVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetMICVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarColorFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarTitleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarTitleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetScreenBrightnessSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarBadgeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarItemCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarItemFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarItemSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarStyleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarStyleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarStyleSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTimeoutCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type SetTimeoutFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type SetTimeoutSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTopBarTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTopBarTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTopBarTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetVisualEffectOnCaptureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetVisualEffectOnCaptureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetVisualEffectOnCaptureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type SetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type SetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWindowSizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetWindowSizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetWindowSizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetZoomCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetZoomFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetZoomSuccessCallback = (result: SetZoomSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareFileMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareFileMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareFileMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareToWeRunCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareToWeRunFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareToWeRunSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareVideoMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShareVideoMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareVideoMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowActionSheetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowActionSheetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowActionSheetSuccessCallback = ( + result: ShowActionSheetSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowModalCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowModalFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowModalSuccessCallback = ( + result: ShowModalSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ShowNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowRedPackageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowRedPackageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowRedPackageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareImageMenuCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowShareImageMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareImageMenuSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SnapshotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SnapshotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SocketTaskCloseFailCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type SocketTaskOnCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type SocketTaskOnMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAccelerometerSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StartBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StartBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StartBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StartBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StartDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StartHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StartHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocalServiceDiscoveryFailCallback = ( + result: StartLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateBackgroundCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateBackgroundFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateBackgroundSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartRecordFailCallback = (res: GeneralCallbackResult) => void + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + type StartRecordTimeoutCallback = ( + result: StartRecordTimeoutCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSoterAuthenticationSuccessCallback = ( + result: StartSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StartWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StartWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StatFailCallback = (result: StatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StatSuccessCallback = (result: StatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAccelerometerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StopBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StopBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StopBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StopBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StopDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StopDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StopHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StopHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocalServiceDiscoveryFailCallback = ( + result: StopLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopRecordFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StopWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StopWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SubscribeVoIPVideoMembersCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SubscribeVoIPVideoMembersFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SubscribeVoIPVideoMembersSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchCameraCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchCameraFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchCameraSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchTabCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchTabFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchTabSuccessCallback = (res: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type TCPSocketOffMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 当接收到数据的时触发该事件的监听函数 */ + type TCPSocketOnMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TakePhotoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TakePhotoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TakePhotoSuccessCallback = ( + result: TakePhotoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToScreenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToScreenLocationSuccessCallback = ( + result: ToScreenLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToggleTorchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToggleTorchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToggleTorchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TransceiveCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type TransceiveFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type TransceiveSuccessCallback = ( + result: TransceiveSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TranslateMarkerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TranslateMarkerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TranslateMarkerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TruncateFailCallback = (result: TruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void + type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void + /** 收到消息的事件的监听函数 */ + type UDPSocketOnMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UndoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UndoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UndoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnlinkCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnlinkFailCallback = (result: UnlinkFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnlinkSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnzipCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnzipFailCallback = (result: UnzipFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnzipSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateVoIPChatMuteConfigCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateVoIPChatMuteConfigFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type UpdateVoIPChatMuteConfigSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateWeChatAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateWeChatAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateWeChatAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UploadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UploadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UploadFileSuccessCallback = ( + result: UploadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UploadTaskOffProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 上传进度变化事件的监听函数 */ + type UploadTaskOnProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 开启会话回调 */ + type VKSessionStartCallback = ( + /** 参数 status 可选值: + * - 0: 成功; + * - 2000001: 参数错误; + * - 2003000: 会话不可用; + * - 2000000: 系统错误; + * - 2000002: 设备不支持; + * - 2000003: 系统不支持; + * - 2000004: 设备不支持; + * - 2003001: 未开启系统相机权限; + * - 2003002: 未开启小程序相机权限; */ + status: + | 0 + | 2000001 + | 2003000 + | 2000000 + | 2000002 + | 2000003 + | 2000004 + | 2003001 + | 2003002 + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateLongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateLongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type VibrateLongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateShortCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateShortFailCallback = ( + result: VibrateShortFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type VibrateShortSuccessCallback = (res: GeneralCallbackResult) => void + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + type WorkerOnMessageCallback = ( + result: WorkerOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type WriteBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type WriteBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCharacteristicValueCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type WriteCharacteristicValueFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WriteCharacteristicValueSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFailCallback = (result: WriteFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFileFailCallback = (result: WriteFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WriteFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteNdefMessageCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type WriteNdefMessageFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteNdefMessageSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteSuccessCallback = (result: WriteSuccessCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxGetFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxGetFileInfoSuccessCallback = ( + result: WxGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxGetSavedFileListSuccessCallback = ( + result: WxGetSavedFileListSuccessCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type WxOffErrorCallback = (res: GeneralCallbackResult) => void + /** 小程序错误事件的监听函数 */ + type WxOnErrorCallback = ( + /** 错误信息,包含堆栈 */ + error: string + ) => void + /** 接口调用失败的回调函数 */ + type WxRemoveSavedFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxSaveFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxStartRecordSuccessCallback = ( + result: StartRecordSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxStopRecordSuccessCallback = (res: GeneralCallbackResult) => void +} diff --git a/登录区分管理员/typings/types/wx/lib.wx.app.d.ts b/登录区分管理员/typings/types/wx/lib.wx.app.d.ts new file mode 100644 index 0000000..ef90d8e --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.app.d.ts @@ -0,0 +1,270 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.App { + interface ReferrerInfo { + /** 来源小程序或公众号或App的 appId + * + * 以下场景支持返回 referrerInfo.appId: + * - 1020(公众号 profile 页相关小程序列表): appId + * - 1035(公众号自定义菜单):来源公众号 appId + * - 1036(App 分享消息卡片):来源应用 appId + * - 1037(小程序打开小程序):来源小程序 appId + * - 1038(从另一个小程序返回):来源小程序 appId + * - 1043(公众号模板消息):来源公众号 appId + */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData?: any + } + + type SceneValues = + | 1001 + | 1005 + | 1006 + | 1007 + | 1008 + | 1011 + | 1012 + | 1013 + | 1014 + | 1017 + | 1019 + | 1020 + | 1023 + | 1024 + | 1025 + | 1026 + | 1027 + | 1028 + | 1029 + | 1030 + | 1031 + | 1032 + | 1034 + | 1035 + | 1036 + | 1037 + | 1038 + | 1039 + | 1042 + | 1043 + | 1044 + | 1045 + | 1046 + | 1047 + | 1048 + | 1049 + | 1052 + | 1053 + | 1056 + | 1057 + | 1058 + | 1059 + | 1064 + | 1067 + | 1069 + | 1071 + | 1072 + | 1073 + | 1074 + | 1077 + | 1078 + | 1079 + | 1081 + | 1082 + | 1084 + | 1089 + | 1090 + | 1091 + | 1092 + | 1095 + | 1096 + | 1097 + | 1099 + | 1102 + | 1124 + | 1125 + | 1126 + | 1129 + + interface LaunchShowOption { + /** 打开小程序的路径 */ + path: string + /** 打开小程序的query */ + query: IAnyObject + /** 打开小程序的场景值 + * - 1001:发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表) + * - 1005:微信首页顶部搜索框的搜索结果页 + * - 1006:发现栏小程序主入口搜索框的搜索结果页 + * - 1007:单人聊天会话中的小程序消息卡片 + * - 1008:群聊会话中的小程序消息卡片 + * - 1011:扫描二维码 + * - 1012:长按图片识别二维码 + * - 1013:扫描手机相册中选取的二维码 + * - 1014:小程序模板消息 + * - 1017:前往小程序体验版的入口页 + * - 1019:微信钱包(微信客户端7.0.0版本改为支付入口) + * - 1020:公众号 profile 页相关小程序列表 + * - 1023:安卓系统桌面图标 + * - 1024:小程序 profile 页 + * - 1025:扫描一维码 + * - 1026:发现栏小程序主入口,「附近的小程序」列表 + * - 1027:微信首页顶部搜索框搜索结果页「使用过的小程序」列表 + * - 1028:我的卡包 + * - 1029:小程序中的卡券详情页 + * - 1030:自动化测试下打开小程序 + * - 1031:长按图片识别一维码 + * - 1032:扫描手机相册中选取的一维码 + * - 1034:微信支付完成页 + * - 1035:公众号自定义菜单 + * - 1036:App 分享消息卡片 + * - 1037:小程序打开小程序 + * - 1038:从另一个小程序返回 + * - 1039:摇电视 + * - 1042:添加好友搜索框的搜索结果页 + * - 1043:公众号模板消息 + * - 1044:带 shareTicket 的小程序消息卡片 [详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) + * - 1045:朋友圈广告 + * - 1046:朋友圈广告详情页 + * - 1047:扫描小程序码 + * - 1048:长按图片识别小程序码 + * - 1049:扫描手机相册中选取的小程序码 + * - 1052:卡券的适用门店列表 + * - 1053:搜一搜的结果页 + * - 1056:聊天顶部音乐播放器右上角菜单 + * - 1057:钱包中的银行卡详情页 + * - 1058:公众号文章 + * - 1059:体验版小程序绑定邀请页 + * - 1064:微信首页连Wi-Fi状态栏 + * - 1067:公众号文章广告 + * - 1069:移动应用 + * - 1071:钱包中的银行卡列表页 + * - 1072:二维码收款页面 + * - 1073:客服消息列表下发的小程序消息卡片 + * - 1074:公众号会话下发的小程序消息卡片 + * - 1077:摇周边 + * - 1078:微信连Wi-Fi成功提示页 + * - 1079:微信游戏中心 + * - 1081:客服消息下发的文字链 + * - 1082:公众号会话下发的文字链 + * - 1084:朋友圈广告原生页 + * - 1089:微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏) + * - 1090:长按小程序右上角菜单唤出最近使用历史 + * - 1091:公众号文章商品卡片 + * - 1092:城市服务入口 + * - 1095:小程序广告组件 + * - 1096:聊天记录 + * - 1097:微信支付签约页 + * - 1099:页面内嵌插件 + * - 1102:公众号 profile 页服务预览 + * - 1124:扫“一物一码”打开小程序 + * - 1125:长按图片识别“一物一码” + * - 1126:扫描手机相册中选取的“一物一码” + * - 1129:微信爬虫访问 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html) + */ + scene: SceneValues + /** shareTicket,详见 [获取更多转发信息]((转发#获取更多转发信息)) */ + shareTicket: string + /** 当场景为由从另一个小程序或公众号或App打开时,返回此字段 */ + referrerInfo?: ReferrerInfo + } + + interface PageNotFoundOption { + /** 不存在页面的路径 */ + path: string + /** 打开不存在页面的 query */ + query: IAnyObject + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + } + + interface Option { + /** 生命周期回调—监听小程序初始化 + * + * 小程序初始化完成时触发,全局只触发一次。 + */ + onLaunch(options: LaunchShowOption): void + /** 生命周期回调—监听小程序显示 + * + * 小程序启动,或从后台进入前台显示时 + */ + onShow(options: LaunchShowOption): void + /** 生命周期回调—监听小程序隐藏 + * + * 小程序从前台进入后台时 + */ + onHide(): void + /** 错误监听函数 + * + * 小程序发生脚本错误,或者 api + */ + onError(/** 错误信息,包含堆栈 */ error: string): void + /** 页面不存在监听函数 + * + * 小程序要打开的页面不存在时触发,会带上页面信息回调该函数 + * + * **注意:** + * 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。 + * + * 最低基础库: 1.9.90 + */ + onPageNotFound(options: PageNotFoundOption): void + /** + * 小程序有未处理的 Promise 拒绝时触发。也可以使用 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 绑定监听。注意事项请参考 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html)。 + * **参数**:与 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 一致 + */ + onUnhandledRejection: OnUnhandledRejectionCallback + /** + * 系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。 + * + * 最低基础库: 2.11.0 + */ + onThemeChange: OnThemeChangeCallback + } + + type Instance<T extends IAnyObject> = Option & T + type Options<T extends IAnyObject> = Partial<Option> & + T & + ThisType<Instance<T>> + type TrivialInstance = Instance<IAnyObject> + + interface Constructor { + <T extends IAnyObject>(options: Options<T>): void + } + + interface GetAppOption { + /** 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包 + * + * 最低基础库: 2.2.4 + */ + allowDefault?: boolean + } + + interface GetApp { + <T extends IAnyObject = IAnyObject>(opts?: GetAppOption): Instance<T> + } +} + +declare let App: WechatMiniprogram.App.Constructor +declare let getApp: WechatMiniprogram.App.GetApp diff --git a/登录区分管理员/typings/types/wx/lib.wx.behavior.d.ts b/登录区分管理员/typings/types/wx/lib.wx.behavior.d.ts new file mode 100644 index 0000000..f33605b --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.behavior.d.ts @@ -0,0 +1,68 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Behavior { + type BehaviorIdentifier = string + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Component.Instance<TData, TProperty, TMethod, TCustomInstanceProperty> + type TrivialInstance = Instance<IAnyObject, IAnyObject, IAnyObject> + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType<Instance<TData, TProperty, TMethod, TCustomInstanceProperty>> + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + >( + options: Options<TData, TProperty, TMethod, TCustomInstanceProperty> + ): BehaviorIdentifier + } + + type DataOption = Component.DataOption + type PropertyOption = Component.PropertyOption + type MethodOption = Component.MethodOption + type Data<D extends DataOption> = Component.Data<D> + type Property<P extends PropertyOption> = Component.Property<P> + type Method<M extends MethodOption> = Component.Method<M> + + type DefinitionFilter = Component.DefinitionFilter + type Lifetimes = Component.Lifetimes + + type OtherOption = Omit<Component.OtherOption, 'options'> +} +/** 注册一个 `behavior`,接受一个 `Object` 类型的参数。*/ +declare let Behavior: WechatMiniprogram.Behavior.Constructor diff --git a/登录区分管理员/typings/types/wx/lib.wx.cloud.d.ts b/登录区分管理员/typings/types/wx/lib.wx.cloud.d.ts new file mode 100644 index 0000000..95c43d3 --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.cloud.d.ts @@ -0,0 +1,979 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +interface IAPIError { + errMsg: string +} + +interface IAPIParam<T = any> { + config?: ICloudConfig + success?: (res: T) => void + fail?: (err: IAPIError) => void + complete?: (val: T | IAPIError) => void +} + +interface IAPISuccessParam { + errMsg: string +} + +type IAPICompleteParam = IAPISuccessParam | IAPIError + +type IAPIFunction<T, P extends IAPIParam<T>> = (param?: P) => Promise<T> + +interface IInitCloudConfig { + env?: + | string + | { + database?: string + functions?: string + storage?: string + } + traceUser?: boolean +} + +interface ICloudConfig { + env?: string + traceUser?: boolean +} + +interface IICloudAPI { + init: (config?: IInitCloudConfig) => void + [api: string]: AnyFunction | IAPIFunction<any, any> +} + +interface ICloudService { + name: string + + getAPIs: () => { [name: string]: IAPIFunction<any, any> } +} + +interface ICloudServices { + [serviceName: string]: ICloudService +} + +interface ICloudMetaData { + session_id: string +} + +declare class InternalSymbol {} + +interface AnyObject { + [x: string]: any +} + +type AnyArray = any[] + +type AnyFunction = (...args: any[]) => any + +/** + * extend wx with cloud + */ +interface WxCloud { + init: (config?: ICloudConfig) => void + + callFunction(param: OQ<ICloud.CallFunctionParam>): void + callFunction( + param: RQ<ICloud.CallFunctionParam> + ): Promise<ICloud.CallFunctionResult> + + uploadFile(param: OQ<ICloud.UploadFileParam>): WechatMiniprogram.UploadTask + uploadFile( + param: RQ<ICloud.UploadFileParam> + ): Promise<ICloud.UploadFileResult> + + downloadFile( + param: OQ<ICloud.DownloadFileParam> + ): WechatMiniprogram.DownloadTask + downloadFile( + param: RQ<ICloud.DownloadFileParam> + ): Promise<ICloud.DownloadFileResult> + + getTempFileURL(param: OQ<ICloud.GetTempFileURLParam>): void + getTempFileURL( + param: RQ<ICloud.GetTempFileURLParam> + ): Promise<ICloud.GetTempFileURLResult> + + deleteFile(param: OQ<ICloud.DeleteFileParam>): void + deleteFile( + param: RQ<ICloud.DeleteFileParam> + ): Promise<ICloud.DeleteFileResult> + + database: (config?: ICloudConfig) => DB.Database + + CloudID: ICloud.ICloudIDConstructor + CDN: ICloud.ICDNConstructor + + callContainer(param: OQ<ICloud.CallContainerParam>): void + callContainer( + param: RQ<ICloud.CallContainerParam> + ): Promise<ICloud.CallContainerResult> + + connectContainer(param: OQ<ICloud.ConnectContainerParam>): void + connectContainer( + param: RQ<ICloud.ConnectContainerParam> + ): Promise<ICloud.ConnectContainerResult> +} + +declare namespace ICloud { + interface ICloudAPIParam<T = any> extends IAPIParam<T> { + config?: ICloudConfig + } + + // === API: callFunction === + type CallFunctionData = AnyObject + + interface CallFunctionResult extends IAPISuccessParam { + result: AnyObject | string | undefined + } + + interface CallFunctionParam extends ICloudAPIParam<CallFunctionResult> { + name: string + data?: CallFunctionData + slow?: boolean + } + // === end === + + // === API: container === + type CallContainerData = AnyObject + + interface CallContainerResult extends IAPISuccessParam { + data: any + statusCode: number + header: Record<string, any> + callID: string + } + + interface CallContainerParam extends ICloudAPIParam<CallContainerResult> { + path: string + service?: string + method?: string + header?: Record<string, any> + data?: any // string, object, ArrayBuffer + dataType?: string + responseType?: string + timeout?: number + verbose?: boolean + followRedirect?: boolean + } + + interface ConnectContainerResult extends IAPISuccessParam { + socketTask: WechatMiniprogram.SocketTask + } + + interface ConnectSocketOptions extends IAPIParam<void> { + header?: Record<string, string> + protocols?: string[] + tcpNoDelay?: boolean + perMessageDeflate?: boolean + timeout?: number + } + + type ConnectContainerParam = Omit< + ConnectSocketOptions, + 'success' | 'fail' | 'complete' + > & + ICloudAPIParam<ConnectContainerResult> & { + service: string + path?: string + } + // === end === + + // === API: uploadFile === + interface UploadFileResult extends IAPISuccessParam { + fileID: string + statusCode: number + } + + interface UploadFileParam extends ICloudAPIParam<UploadFileResult> { + cloudPath: string + filePath: string + header?: AnyObject + } + // === end === + + // === API: downloadFile === + interface DownloadFileResult extends IAPISuccessParam { + tempFilePath: string + statusCode: number + } + + interface DownloadFileParam extends ICloudAPIParam<DownloadFileResult> { + fileID: string + cloudPath?: string + } + // === end === + + // === API: getTempFileURL === + interface GetTempFileURLResult extends IAPISuccessParam { + fileList: GetTempFileURLResultItem[] + } + + interface GetTempFileURLResultItem { + fileID: string + tempFileURL: string + maxAge: number + status: number + errMsg: string + } + + interface GetTempFileURLParam extends ICloudAPIParam<GetTempFileURLResult> { + fileList: string[] + } + // === end === + + // === API: deleteFile === + interface DeleteFileResult extends IAPISuccessParam { + fileList: DeleteFileResultItem[] + } + + interface DeleteFileResultItem { + fileID: string + status: number + errMsg: string + } + + interface DeleteFileParam extends ICloudAPIParam<DeleteFileResult> { + fileList: string[] + } + // === end === + + // === API: CloudID === + abstract class CloudID { + constructor(cloudID: string) + } + + interface ICloudIDConstructor { + new (cloudId: string): CloudID + (cloudId: string): CloudID + } + // === end === + + // === API: CDN === + abstract class CDN { + target: string | ArrayBuffer | ICDNFilePathSpec + constructor(target: string | ArrayBuffer | ICDNFilePathSpec) + } + + interface ICDNFilePathSpec { + type: 'filePath' + filePath: string + } + + interface ICDNConstructor { + new (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + } + // === end === +} + +// === Database === +declare namespace DB { + /** + * The class of all exposed cloud database instances + */ + class Database { + readonly config: ICloudConfig + readonly command: DatabaseCommand + readonly Geo: IGeo + readonly serverDate: () => ServerDate + readonly RegExp: IRegExpConstructor + + private constructor() + + collection(collectionName: string): CollectionReference + } + + class CollectionReference extends Query { + readonly collectionName: string + + private constructor(name: string, database: Database) + + doc(docId: string | number): DocumentReference + + add(options: OQ<IAddDocumentOptions>): void + add(options: RQ<IAddDocumentOptions>): Promise<IAddResult> + } + + class DocumentReference { + private constructor(docId: string | number, database: Database) + + field(object: Record<string, any>): this + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQuerySingleResult> + + set(options: OQ<ISetSingleDocumentOptions>): void + set(options?: RQ<ISetSingleDocumentOptions>): Promise<ISetResult> + + update(options: OQ<IUpdateSingleDocumentOptions>): void + update( + options?: RQ<IUpdateSingleDocumentOptions> + ): Promise<IUpdateResult> + + remove(options: OQ<IRemoveSingleDocumentOptions>): void + remove( + options?: RQ<IRemoveSingleDocumentOptions> + ): Promise<IRemoveResult> + + watch(options: IWatchOptions): RealtimeListener + } + + class RealtimeListener { + // "And Now His Watch Is Ended" + close: () => Promise<void> + } + + class Query { + where(condition: IQueryCondition): Query + + orderBy(fieldPath: string, order: string): Query + + limit(max: number): Query + + skip(offset: number): Query + + field(object: Record<string, any>): Query + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQueryResult> + + count(options: OQ<ICountDocumentOptions>): void + count(options?: RQ<ICountDocumentOptions>): Promise<ICountResult> + + watch(options: IWatchOptions): RealtimeListener + } + + interface DatabaseCommand { + eq(val: any): DatabaseQueryCommand + neq(val: any): DatabaseQueryCommand + gt(val: any): DatabaseQueryCommand + gte(val: any): DatabaseQueryCommand + lt(val: any): DatabaseQueryCommand + lte(val: any): DatabaseQueryCommand + in(val: any[]): DatabaseQueryCommand + nin(val: any[]): DatabaseQueryCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseQueryCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseQueryCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseQueryCommand + + and( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + or( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + nor( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + + exists(val: boolean): DatabaseQueryCommand + + mod(divisor: number, remainder: number): DatabaseQueryCommand + + all(val: any[]): DatabaseQueryCommand + elemMatch(val: any): DatabaseQueryCommand + size(val: number): DatabaseQueryCommand + + set(val: any): DatabaseUpdateCommand + remove(): DatabaseUpdateCommand + inc(val: number): DatabaseUpdateCommand + mul(val: number): DatabaseUpdateCommand + min(val: number): DatabaseUpdateCommand + max(val: number): DatabaseUpdateCommand + rename(val: string): DatabaseUpdateCommand + bit(val: number): DatabaseUpdateCommand + + push(...values: any[]): DatabaseUpdateCommand + pop(): DatabaseUpdateCommand + shift(): DatabaseUpdateCommand + unshift(...values: any[]): DatabaseUpdateCommand + addToSet(val: any): DatabaseUpdateCommand + pull(val: any): DatabaseUpdateCommand + pullAll(val: any): DatabaseUpdateCommand + + project: { + slice(val: number | [number, number]): DatabaseProjectionCommand + } + + aggregate: { + __safe_props__?: Set<string> + + abs(val: any): DatabaseAggregateCommand + add(val: any): DatabaseAggregateCommand + addToSet(val: any): DatabaseAggregateCommand + allElementsTrue(val: any): DatabaseAggregateCommand + and(val: any): DatabaseAggregateCommand + anyElementTrue(val: any): DatabaseAggregateCommand + arrayElemAt(val: any): DatabaseAggregateCommand + arrayToObject(val: any): DatabaseAggregateCommand + avg(val: any): DatabaseAggregateCommand + ceil(val: any): DatabaseAggregateCommand + cmp(val: any): DatabaseAggregateCommand + concat(val: any): DatabaseAggregateCommand + concatArrays(val: any): DatabaseAggregateCommand + cond(val: any): DatabaseAggregateCommand + convert(val: any): DatabaseAggregateCommand + dateFromParts(val: any): DatabaseAggregateCommand + dateToParts(val: any): DatabaseAggregateCommand + dateFromString(val: any): DatabaseAggregateCommand + dateToString(val: any): DatabaseAggregateCommand + dayOfMonth(val: any): DatabaseAggregateCommand + dayOfWeek(val: any): DatabaseAggregateCommand + dayOfYear(val: any): DatabaseAggregateCommand + divide(val: any): DatabaseAggregateCommand + eq(val: any): DatabaseAggregateCommand + exp(val: any): DatabaseAggregateCommand + filter(val: any): DatabaseAggregateCommand + first(val: any): DatabaseAggregateCommand + floor(val: any): DatabaseAggregateCommand + gt(val: any): DatabaseAggregateCommand + gte(val: any): DatabaseAggregateCommand + hour(val: any): DatabaseAggregateCommand + ifNull(val: any): DatabaseAggregateCommand + in(val: any): DatabaseAggregateCommand + indexOfArray(val: any): DatabaseAggregateCommand + indexOfBytes(val: any): DatabaseAggregateCommand + indexOfCP(val: any): DatabaseAggregateCommand + isArray(val: any): DatabaseAggregateCommand + isoDayOfWeek(val: any): DatabaseAggregateCommand + isoWeek(val: any): DatabaseAggregateCommand + isoWeekYear(val: any): DatabaseAggregateCommand + last(val: any): DatabaseAggregateCommand + let(val: any): DatabaseAggregateCommand + literal(val: any): DatabaseAggregateCommand + ln(val: any): DatabaseAggregateCommand + log(val: any): DatabaseAggregateCommand + log10(val: any): DatabaseAggregateCommand + lt(val: any): DatabaseAggregateCommand + lte(val: any): DatabaseAggregateCommand + ltrim(val: any): DatabaseAggregateCommand + map(val: any): DatabaseAggregateCommand + max(val: any): DatabaseAggregateCommand + mergeObjects(val: any): DatabaseAggregateCommand + meta(val: any): DatabaseAggregateCommand + min(val: any): DatabaseAggregateCommand + millisecond(val: any): DatabaseAggregateCommand + minute(val: any): DatabaseAggregateCommand + mod(val: any): DatabaseAggregateCommand + month(val: any): DatabaseAggregateCommand + multiply(val: any): DatabaseAggregateCommand + neq(val: any): DatabaseAggregateCommand + not(val: any): DatabaseAggregateCommand + objectToArray(val: any): DatabaseAggregateCommand + or(val: any): DatabaseAggregateCommand + pow(val: any): DatabaseAggregateCommand + push(val: any): DatabaseAggregateCommand + range(val: any): DatabaseAggregateCommand + reduce(val: any): DatabaseAggregateCommand + reverseArray(val: any): DatabaseAggregateCommand + rtrim(val: any): DatabaseAggregateCommand + second(val: any): DatabaseAggregateCommand + setDifference(val: any): DatabaseAggregateCommand + setEquals(val: any): DatabaseAggregateCommand + setIntersection(val: any): DatabaseAggregateCommand + setIsSubset(val: any): DatabaseAggregateCommand + setUnion(val: any): DatabaseAggregateCommand + size(val: any): DatabaseAggregateCommand + slice(val: any): DatabaseAggregateCommand + split(val: any): DatabaseAggregateCommand + sqrt(val: any): DatabaseAggregateCommand + stdDevPop(val: any): DatabaseAggregateCommand + stdDevSamp(val: any): DatabaseAggregateCommand + strcasecmp(val: any): DatabaseAggregateCommand + strLenBytes(val: any): DatabaseAggregateCommand + strLenCP(val: any): DatabaseAggregateCommand + substr(val: any): DatabaseAggregateCommand + substrBytes(val: any): DatabaseAggregateCommand + substrCP(val: any): DatabaseAggregateCommand + subtract(val: any): DatabaseAggregateCommand + sum(val: any): DatabaseAggregateCommand + switch(val: any): DatabaseAggregateCommand + toBool(val: any): DatabaseAggregateCommand + toDate(val: any): DatabaseAggregateCommand + toDecimal(val: any): DatabaseAggregateCommand + toDouble(val: any): DatabaseAggregateCommand + toInt(val: any): DatabaseAggregateCommand + toLong(val: any): DatabaseAggregateCommand + toObjectId(val: any): DatabaseAggregateCommand + toString(val: any): DatabaseAggregateCommand + toLower(val: any): DatabaseAggregateCommand + toUpper(val: any): DatabaseAggregateCommand + trim(val: any): DatabaseAggregateCommand + trunc(val: any): DatabaseAggregateCommand + type(val: any): DatabaseAggregateCommand + week(val: any): DatabaseAggregateCommand + year(val: any): DatabaseAggregateCommand + zip(val: any): DatabaseAggregateCommand + } + } + + class DatabaseAggregateCommand {} + + enum LOGIC_COMMANDS_LITERAL { + AND = 'and', + OR = 'or', + NOT = 'not', + NOR = 'nor' + } + + class DatabaseLogicCommand { + and(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + or(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + nor(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + } + + enum QUERY_COMMANDS_LITERAL { + // comparison + EQ = 'eq', + NEQ = 'neq', + GT = 'gt', + GTE = 'gte', + LT = 'lt', + LTE = 'lte', + IN = 'in', + NIN = 'nin', + // geo + GEO_NEAR = 'geoNear', + GEO_WITHIN = 'geoWithin', + GEO_INTERSECTS = 'geoIntersects', + // element + EXISTS = 'exists', + // evaluation + MOD = 'mod', + // array + ALL = 'all', + ELEM_MATCH = 'elemMatch', + SIZE = 'size' + } + + class DatabaseQueryCommand extends DatabaseLogicCommand { + eq(val: any): DatabaseLogicCommand + neq(val: any): DatabaseLogicCommand + gt(val: any): DatabaseLogicCommand + gte(val: any): DatabaseLogicCommand + lt(val: any): DatabaseLogicCommand + lte(val: any): DatabaseLogicCommand + in(val: any[]): DatabaseLogicCommand + nin(val: any[]): DatabaseLogicCommand + + exists(val: boolean): DatabaseLogicCommand + + mod(divisor: number, remainder: number): DatabaseLogicCommand + + all(val: any[]): DatabaseLogicCommand + elemMatch(val: any): DatabaseLogicCommand + size(val: number): DatabaseLogicCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseLogicCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseLogicCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseLogicCommand + } + + enum PROJECTION_COMMANDS_LITERAL { + SLICE = 'slice' + } + + class DatabaseProjectionCommand {} + + enum UPDATE_COMMANDS_LITERAL { + // field + SET = 'set', + REMOVE = 'remove', + INC = 'inc', + MUL = 'mul', + MIN = 'min', + MAX = 'max', + RENAME = 'rename', + // bitwise + BIT = 'bit', + // array + PUSH = 'push', + POP = 'pop', + SHIFT = 'shift', + UNSHIFT = 'unshift', + ADD_TO_SET = 'addToSet', + PULL = 'pull', + PULL_ALL = 'pullAll' + } + + class DatabaseUpdateCommand {} + + class Batch {} + + /** + * A contract that all API provider must adhere to + */ + class APIBaseContract< + PromiseReturn, + CallbackReturn, + Param extends IAPIParam, + Context = any + > { + getContext(param: Param): Context + + /** + * In case of callback-style invocation, this function will be called + */ + getCallbackReturn(param: Param, context: Context): CallbackReturn + + getFinalParam<T extends Param>(param: Param, context: Context): T + + run<T extends Param>(param: T): Promise<PromiseReturn> + } + + interface IGeoPointConstructor { + new (longitude: number, latitide: number): GeoPoint + new (geojson: IGeoJSONPoint): GeoPoint + (longitude: number, latitide: number): GeoPoint + (geojson: IGeoJSONPoint): GeoPoint + } + + interface IGeoMultiPointConstructor { + new (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + } + + interface IGeoLineStringConstructor { + new (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + } + + interface IGeoMultiLineStringConstructor { + new ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + } + + interface IGeoPolygonConstructor { + new (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + } + + interface IGeoMultiPolygonConstructor { + new (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + } + + interface IGeo { + Point: IGeoPointConstructor + MultiPoint: IGeoMultiPointConstructor + LineString: IGeoLineStringConstructor + MultiLineString: IGeoMultiLineStringConstructor + Polygon: IGeoPolygonConstructor + MultiPolygon: IGeoMultiPolygonConstructor + } + + interface IGeoJSONPoint { + type: 'Point' + coordinates: [number, number] + } + + interface IGeoJSONMultiPoint { + type: 'MultiPoint' + coordinates: Array<[number, number]> + } + + interface IGeoJSONLineString { + type: 'LineString' + coordinates: Array<[number, number]> + } + + interface IGeoJSONMultiLineString { + type: 'MultiLineString' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONPolygon { + type: 'Polygon' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONMultiPolygon { + type: 'MultiPolygon' + coordinates: Array<Array<Array<[number, number]>>> + } + + type IGeoJSONObject = + | IGeoJSONPoint + | IGeoJSONMultiPoint + | IGeoJSONLineString + | IGeoJSONMultiLineString + | IGeoJSONPolygon + | IGeoJSONMultiPolygon + + abstract class GeoPoint { + longitude: number + latitude: number + + constructor(longitude: number, latitude: number) + + toJSON(): Record<string, any> + toString(): string + } + + abstract class GeoMultiPoint { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONMultiPoint + toString(): string + } + + abstract class GeoLineString { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONLineString + toString(): string + } + + abstract class GeoMultiLineString { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONMultiLineString + toString(): string + } + + abstract class GeoPolygon { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONPolygon + toString(): string + } + + abstract class GeoMultiPolygon { + polygons: GeoPolygon[] + + constructor(polygons: GeoPolygon[]) + + toJSON(): IGeoJSONMultiPolygon + toString(): string + } + + type GeoInstance = + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + + interface IGeoNearCommandOptions { + geometry: GeoPoint + maxDistance?: number + minDistance?: number + } + + interface IGeoWithinCommandOptions { + geometry: GeoPolygon | GeoMultiPolygon + } + + interface IGeoIntersectsCommandOptions { + geometry: + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + } + + interface IServerDateOptions { + offset: number + } + + abstract class ServerDate { + readonly options: IServerDateOptions + constructor(options?: IServerDateOptions) + } + + interface IRegExpOptions { + regexp: string + options?: string + } + + interface IRegExpConstructor { + new (options: IRegExpOptions): RegExp + (options: IRegExpOptions): RegExp + } + + abstract class RegExp { + readonly regexp: string + readonly options: string + constructor(options: IRegExpOptions) + } + + type DocumentId = string | number + + interface IDocumentData { + _id?: DocumentId + [key: string]: any + } + + type IDBAPIParam = IAPIParam + + interface IAddDocumentOptions extends IDBAPIParam { + data: IDocumentData + } + + type IGetDocumentOptions = IDBAPIParam + + type ICountDocumentOptions = IDBAPIParam + + interface IUpdateDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IUpdateSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IRemoveDocumentOptions extends IDBAPIParam { + query: IQueryCondition + } + + type IRemoveSingleDocumentOptions = IDBAPIParam + + interface IWatchOptions { + // server realtime data init & change event + onChange: (snapshot: ISnapshot) => void + // error while connecting / listening + onError: (error: any) => void + } + + interface ISnapshot { + id: number + docChanges: ISingleDBEvent[] + docs: Record<string, any> + type?: SnapshotType + } + + type SnapshotType = 'init' + + interface ISingleDBEvent { + id: number + dataType: DataType + queueType: QueueType + docId: string + doc: Record<string, any> + updatedFields?: Record<string, any> + removedFields?: string[] + } + + type DataType = 'init' | 'update' | 'replace' | 'add' | 'remove' | 'limit' + + type QueueType = 'init' | 'enqueue' | 'dequeue' | 'update' + + interface IQueryCondition { + [key: string]: any + } + + type IStringQueryCondition = string + + interface IQueryResult extends IAPISuccessParam { + data: IDocumentData[] + } + + interface IQuerySingleResult extends IAPISuccessParam { + data: IDocumentData + } + + interface IUpdateCondition { + [key: string]: any + } + + type IStringUpdateCondition = string + + interface IAddResult extends IAPISuccessParam { + _id: DocumentId + } + + interface IUpdateResult extends IAPISuccessParam { + stats: { + updated: number + // created: number, + } + } + + interface ISetResult extends IAPISuccessParam { + _id: DocumentId + stats: { + updated: number + created: number + } + } + + interface IRemoveResult extends IAPISuccessParam { + stats: { + removed: number + } + } + + interface ICountResult extends IAPISuccessParam { + total: number + } +} + +type Optional<T> = { [K in keyof T]+?: T[K] } + +type OQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = + | (RQ<T> & Required<Pick<T, 'success'>>) + | (RQ<T> & Required<Pick<T, 'fail'>>) + | (RQ<T> & Required<Pick<T, 'complete'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'fail'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete' | 'success'>>) + +type RQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = Pick<T, Exclude<keyof T, 'complete' | 'success' | 'fail'>> diff --git a/登录区分管理员/typings/types/wx/lib.wx.component.d.ts b/登录区分管理员/typings/types/wx/lib.wx.component.d.ts new file mode 100644 index 0000000..c744fe1 --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.component.d.ts @@ -0,0 +1,676 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Component { + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends Partial<MethodOption>, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = InstanceProperties & + InstanceMethods<TData> & + TMethod & + (TIsPage extends true ? Page.ILifetime : {}) & + TCustomInstanceProperty & { + /** 组件数据,**包括内部数据和属性值** */ + data: TData & PropertyOptionToData<TProperty> + /** 组件数据,**包括内部数据和属性值**(与 `data` 一致) */ + properties: TData & PropertyOptionToData<TProperty> + } + type TrivialInstance = Instance< + IAnyObject, + IAnyObject, + IAnyObject, + IAnyObject + > + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod, TIsPage>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType< + Instance< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + > + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + >( + options: Options< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + ): string + } + type DataOption = Record<string, any> + type PropertyOption = Record<string, AllProperty> + type MethodOption = Record<string, Function> + + interface Data<D extends DataOption> { + /** 组件的内部数据,和 `properties` 一同用于组件的模板渲染 */ + data?: D + } + interface Property<P extends PropertyOption> { + /** 组件的对外属性,是属性名到属性设置的映射表 */ + properties: P + } + interface Method<M extends MethodOption, TIsPage extends boolean = false> { + /** 组件的方法,包括事件响应函数和任意的自定义方法,关于事件响应函数的使用,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) */ + methods: M & (TIsPage extends true ? Partial<Page.ILifetime> : {}) + } + type PropertyType = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type ValueType<T extends PropertyType> = T extends null + ? any + : T extends StringConstructor + ? string + : T extends NumberConstructor + ? number + : T extends BooleanConstructor + ? boolean + : T extends ArrayConstructor + ? any[] + : T extends ObjectConstructor + ? IAnyObject + : never + type FullProperty<T extends PropertyType> = { + /** 属性类型 */ + type: T + /** 属性初始值 */ + value?: ValueType<T> + /** 属性值被更改时的响应函数 */ + observer?: + | string + | (( + newVal: ValueType<T>, + oldVal: ValueType<T>, + changedPath: Array<string | number> + ) => void) + /** 属性的类型(可以指定多个) */ + optionalTypes?: ShortProperty[] + } + type AllFullProperty = + | FullProperty<StringConstructor> + | FullProperty<NumberConstructor> + | FullProperty<BooleanConstructor> + | FullProperty<ArrayConstructor> + | FullProperty<ObjectConstructor> + | FullProperty<null> + type ShortProperty = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type AllProperty = AllFullProperty | ShortProperty + type PropertyToData<T extends AllProperty> = T extends ShortProperty + ? ValueType<T> + : FullPropertyToData<Exclude<T, ShortProperty>> + type FullPropertyToData<T extends AllFullProperty> = ValueType<T['type']> + // type FullPropertyToData<T extends AllFullProperty> = unknown extends T['value'] ? ValueType<T['type']> : T['value'] + type PropertyOptionToData<P extends PropertyOption> = { + [name in keyof P]: PropertyToData<P[name]> + } + + interface InstanceProperties { + /** 组件的文件路径 */ + is: string + /** 节点id */ + id: string + /** 节点dataset */ + dataset: Record<string, string> + } + + interface InstanceMethods<D extends DataOption> { + /** `setData` 函数用于将数据从逻辑层发送到视图层 + *(异步),同时改变对应的 `this.data` 的值(同步)。 + * + * **注意:** + * + * 1. **直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致**。 + * 1. 仅支持设置可 JSON 化的数据。 + * 1. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。 + * 1. 请不要把 data 中任何一项的 value 设为 `undefined` ,否则这一项将不被设置并可能遗留一些潜在问题。 + */ + setData( + /** 这次要改变的数据 + * + * 以 `key: value` 的形式表示,将 `this.data` 中的 `key` 对应的值改变成 `value`。 + * + * 其中 `key` 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 `array[2].message`,`a.b.c.d`,并且不需要在 this.data 中预先定义。 + */ + data: Partial<D> & IAnyObject, + /** setData引起的界面更新渲染完毕后的回调函数,最低基础库: `1.5.0` */ + callback?: () => void + ): void + + /** 检查组件是否具有 `behavior` (检查时会递归检查被直接或间接引入的所有behavior) */ + hasBehavior(behavior: Behavior.BehaviorIdentifier): void + /** 触发事件,参见组件事件 */ + triggerEvent<DetailType = any>( + name: string, + detail?: DetailType, + options?: TriggerEventOption + ): void + /** 创建一个 SelectorQuery 对象,选择器选取范围为这个组件实例内 */ + createSelectorQuery(): SelectorQuery + /** 创建一个 IntersectionObserver 对象,选择器选取范围为这个组件实例内 */ + createIntersectionObserver( + options: CreateIntersectionObserverOption + ): IntersectionObserver + /** 使用选择器选择组件实例节点,返回匹配到的第一个组件实例对象(会被 `wx://component-export` 影响) */ + selectComponent(selector: string): TrivialInstance + /** 使用选择器选择组件实例节点,返回匹配到的全部组件实例对象组成的数组 */ + selectAllComponents(selector: string): TrivialInstance[] + /** + * 选取当前组件节点所在的组件实例(即组件的引用者),返回它的组件实例对象(会被 `wx://component-export` 影响) + * + * 最低基础库版本:[`2.8.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + selectOwnerComponent(): TrivialInstance + /** 获取这个关系所对应的所有关联节点,参见 组件间关系 */ + getRelationNodes(relationKey: string): TrivialInstance[] + /** + * 立刻执行 callback ,其中的多个 setData 之间不会触发界面绘制(只有某些特殊场景中需要,如用于在不同组件同时 setData 时进行界面绘制同步) + * + * 最低基础库版本:[`2.4.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + groupSetData(callback?: () => void): void + /** + * 返回当前页面的 custom-tab-bar 的组件实例 + * + * 最低基础库版本:[`2.6.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getTabBar(): TrivialInstance + /** + * 返回页面标识符(一个字符串),可以用来判断几个自定义组件实例是不是在同一个页面内 + * + * 最低基础库版本:[`2.7.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getPageId(): string + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: KeyFrame[], + duration: number, + callback?: () => void + ): void + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: ScrollTimelineKeyframe[], + duration: number, + scrollTimeline: ScrollTimelineOption + ): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation(selector: string, callback: () => void): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation( + selector: string, + options?: ClearAnimationOptions, + callback?: () => void + ): void + /** + * 当从另一页面跳转到该页面时,获得与来源页面实例通信当事件通道,详见 [wx.navigateTo]((wx.navigateTo)) + * + * 最低基础库版本:[`2.7.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + getOpenerEventChannel(): EventChannel + /** + * 获取更新性能统计信息,详见 [获取更新性能统计信息]((custom-component/update-perf-stat)) + * + * + * 最低基础库版本:[`2.12.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + setUpdatePerformanceListener<WithDataPath extends boolean = false>( + options: SetUpdatePerformanceListenerOption<WithDataPath>, + callback?: UpdatePerformanceListener<WithDataPath> + ): void + } + + interface ComponentOptions { + /** + * [启用多slot支持](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件wxml的slot) + */ + multipleSlots?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + addGlobalClass?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + styleIsolation?: + | 'isolated' + | 'apply-shared' + | 'shared' + | 'page-isolated' + | 'page-apply-shared' + | 'page-shared' + /** + * [纯数据字段](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/pure-data.html) 是一些不用于界面渲染的 data 字段,可以用于提升页面更新性能。从小程序基础库版本 2.8.2 开始支持。 + */ + pureDataPattern?: RegExp + /** + * [虚拟化组件节点](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E8%99%9A%E6%8B%9F%E5%8C%96%E7%BB%84%E4%BB%B6%E8%8A%82%E7%82%B9) 使自定义组件内部的第一层节点由自定义组件本身完全决定。从小程序基础库版本 [`2.11.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持 */ + virtualHost?: boolean + } + + interface TriggerEventOption { + /** 事件是否冒泡 + * + * 默认值: `false` + */ + bubbles?: boolean + /** 事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部 + * + * 默认值: `false` + */ + composed?: boolean + /** 事件是否拥有捕获阶段 + * + * 默认值: `false` + */ + capturePhase?: boolean + } + + interface RelationOption { + /** 目标组件的相对关系 */ + type: 'parent' | 'child' | 'ancestor' | 'descendant' + /** 关系生命周期函数,当关系被建立在页面节点树中时触发,触发时机在组件attached生命周期之后 */ + linked?(target: TrivialInstance): void + /** 关系生命周期函数,当关系在页面节点树中发生改变时触发,触发时机在组件moved生命周期之后 */ + linkChanged?(target: TrivialInstance): void + /** 关系生命周期函数,当关系脱离页面节点树时触发,触发时机在组件detached生命周期之后 */ + unlinked?(target: TrivialInstance): void + /** 如果这一项被设置,则它表示关联的目标节点所应具有的behavior,所有拥有这一behavior的组件节点都会被关联 */ + target?: string + } + + interface PageLifetimes { + /** 页面生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + show(): void + /** 页面生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + hide(): void + /** 页面生命周期回调—监听页面尺寸变化 + * + * 所在页面尺寸变化时执行 + */ + resize(size: Page.IResizeOption): void + } + + type DefinitionFilter = <T extends TrivialOption>( + /** 使用该 behavior 的 component/behavior 的定义对象 */ + defFields: T, + /** 该 behavior 所使用的 behavior 的 definitionFilter 函数列表 */ + definitionFilterArr?: DefinitionFilter[] + ) => void + + interface Lifetimes { + /** 组件生命周期声明对象,组件的生命周期:`created`、`attached`、`ready`、`moved`、`detached` 将收归到 `lifetimes` 字段内进行声明,原有声明方式仍旧有效,如同时存在两种声明方式,则 `lifetimes` 字段内声明方式优先级最高 + * + * 最低基础库: `2.2.3` */ + lifetimes: Partial<{ + /** + * 在组件实例刚刚被创建时执行,注意此时不能调用 `setData` + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + }> + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例刚刚被创建时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + } + + interface OtherOption { + /** 类似于mixins和traits的组件间代码复用机制,参见 [behaviors](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/behaviors.html) */ + behaviors: Behavior.BehaviorIdentifier[] + /** + * 组件数据字段监听器,用于监听 properties 和 data 的变化,参见 [数据监听器](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html) + * + * 最低基础库版本:[`2.6.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + observers: Record<string, (...args: any[]) => any> + /** 组件间关系定义,参见 [组件间关系](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) */ + relations: { + [componentName: string]: RelationOption + } + /** 组件接受的外部样式类,参见 [外部样式类](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) */ + externalClasses?: string[] + /** 组件所在页面的生命周期声明对象,参见 [组件生命周期](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + pageLifetimes?: Partial<PageLifetimes> + /** 一些选项(文档中介绍相关特性时会涉及具体的选项设置,这里暂不列举) */ + options: ComponentOptions + + /** 定义段过滤器,用于自定义组件扩展,参见 [自定义组件扩展](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/extend.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + definitionFilter?: DefinitionFilter + /** + * 组件自定义导出,当使用 `behavior: wx://component-export` 时,这个定义段可以用于指定组件被 selectComponent 调用时的返回值,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + export: () => IAnyObject + } + + interface KeyFrame { + /** 关键帧的偏移,范围[0-1] */ + offset?: number + /** 动画缓动函数 */ + ease?: string + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: string + /** 背景颜色,即 CSS background-color */ + backgroundColor?: string + /** 底边位置,即 CSS bottom */ + bottom?: number | string + /** 高度,即 CSS height */ + height?: number | string + /** 左边位置,即 CSS left */ + left?: number | string + /** 宽度,即 CSS width */ + width?: number | string + /** 不透明度,即 CSS opacity */ + opacity?: number | string + /** 右边位置,即 CSS right */ + right?: number | string + /** 顶边位置,即 CSS top */ + top?: number | string + /** 变换矩阵,即 CSS transform matrix */ + matrix?: number[] + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: number[] + /** 旋转,即 CSS transform rotate */ + rotate?: number + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: number[] + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: number + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: number + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: number + /** 缩放,即 CSS transform scale */ + scale?: number[] + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: number[] + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: number + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: number + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: number + /** 倾斜,即 CSS transform skew */ + skew?: number[] + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: number + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: number + /** 位移,即 CSS transform translate */ + translate?: Array<number | string> + /** 三维位移,即 CSS transform translate3d */ + translate3d?: Array<number | string> + /** X 方向位移,即 CSS transform translateX */ + translateX?: number | string + /** Y 方向位移,即 CSS transform translateY */ + translateY?: number | string + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: number | string + } + interface ClearAnimationOptions { + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: boolean + /** 背景颜色,即 CSS background-color */ + backgroundColor?: boolean + /** 底边位置,即 CSS bottom */ + bottom?: boolean + /** 高度,即 CSS height */ + height?: boolean + /** 左边位置,即 CSS left */ + left?: boolean + /** 宽度,即 CSS width */ + width?: boolean + /** 不透明度,即 CSS opacity */ + opacity?: boolean + /** 右边位置,即 CSS right */ + right?: boolean + /** 顶边位置,即 CSS top */ + top?: boolean + /** 变换矩阵,即 CSS transform matrix */ + matrix?: boolean + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: boolean + /** 旋转,即 CSS transform rotate */ + rotate?: boolean + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: boolean + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: boolean + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: boolean + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: boolean + /** 缩放,即 CSS transform scale */ + scale?: boolean + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: boolean + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: boolean + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: boolean + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: boolean + /** 倾斜,即 CSS transform skew */ + skew?: boolean + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: boolean + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: boolean + /** 位移,即 CSS transform translate */ + translate?: boolean + /** 三维位移,即 CSS transform translate3d */ + translate3d?: boolean + /** X 方向位移,即 CSS transform translateX */ + translateX?: boolean + /** Y 方向位移,即 CSS transform translateY */ + translateY?: boolean + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: boolean + } + interface ScrollTimelineKeyframe { + composite?: 'replace' | 'add' | 'accumulate' | 'auto' + easing?: string + offset?: number | null + [property: string]: string | number | null | undefined + } + interface ScrollTimelineOption { + /** 指定滚动元素的选择器(只支持 scroll-view),该元素滚动时会驱动动画的进度 */ + scrollSource: string + /** 指定滚动的方向。有效值为 horizontal 或 vertical */ + orientation?: string + /** 指定开始驱动动画进度的滚动偏移量,单位 px */ + startScrollOffset: number + /** 指定停止驱动动画进度的滚动偏移量,单位 px */ + endScrollOffset: number + /** 起始和结束的滚动范围映射的时间长度,该时间可用于与关键帧动画里的时间 (duration) 相匹配,单位 ms */ + timeRange: number + } + + interface SetUpdatePerformanceListenerOption<WithDataPath> { + /** 是否返回变更的 data 字段信息 */ + withDataPaths?: WithDataPath + } + interface UpdatePerformanceListener<WithDataPath> { + (res: UpdatePerformance<WithDataPath>): void + } + interface UpdatePerformance<WithDataPath> { + /** 此次更新过程的 ID */ + updateProcessId: number + /** 对于子更新,返回它所属的更新过程 ID */ + parentUpdateProcessId?: number + /** 是否是被合并更新,如果是,则 updateProcessId 表示被合并到的更新过程 ID */ + isMergedUpdate: boolean + /** 此次更新的 data 字段信息,只有 withDataPaths 设为 true 时才会返回 */ + dataPaths: WithDataPath extends true ? string[] : undefined + /** 此次更新进入等待队列时的时间戳 */ + pendingStartTimestamp: number + /** 更新运算开始时的时间戳 */ + updateStartTimestamp: number + /** 更新运算结束时的时间戳 */ + updateEndTimestamp: number + } +} +/** Component构造器可用于定义组件,调用Component构造器时可以指定组件的属性、数据、方法等。 + * + * * 使用 `this.data` 可以获取内部数据和属性值,但不要直接修改它们,应使用 `setData` 修改。 + * * 生命周期函数无法在组件方法中通过 `this` 访问到。 + * * 属性名应避免以 data 开头,即不要命名成 `dataXyz` 这样的形式,因为在 WXML 中, `data-xyz=""` 会被作为节点 dataset 来处理,而不是组件属性。 + * * 在一个组件的定义和使用时,组件的属性名和 data 字段相互间都不能冲突(尽管它们位于不同的定义段中)。 + * * 从基础库 `2.0.9` 开始,对象类型的属性和 data 字段中可以包含函数类型的子字段,即可以通过对象类型的属性字段来传递函数。低于这一版本的基础库不支持这一特性。 + * * `bug` : 对于 type 为 Object 或 Array 的属性,如果通过该组件自身的 `this.setData` 来改变属性值的一个子字段,则依旧会触发属性 observer ,且 observer 接收到的 `newVal` 是变化的那个子字段的值, `oldVal` 为空, `changedPath` 包含子字段的字段名相关信息。 + */ +declare let Component: WechatMiniprogram.Component.Constructor diff --git a/登录区分管理员/typings/types/wx/lib.wx.event.d.ts b/登录区分管理员/typings/types/wx/lib.wx.event.d.ts new file mode 100644 index 0000000..08edd87 --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.event.d.ts @@ -0,0 +1,1435 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface Target<DataSet extends IAnyObject = IAnyObject> { + /** 事件组件的 id */ + id: string + /** 当前组件的类型 */ + tagName?: string + /** 事件组件上由 `data-` 开头的自定义属性组成的集合 */ + dataset: DataSet + /** 距离页面顶部的偏移量 */ + offsetTop: number + /** 距离页面左边的偏移量 */ + offsetLeft: number + } + + /** 基础事件参数 */ + interface BaseEvent< + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > { + /** 事件类型 */ + type: string + /** 页面打开到触发事件所经过的毫秒数 */ + timeStamp: number + /** 事件冒泡路径上所有由 `mark:` 开头的自定义属性组成的集合 */ + mark?: Mark + /** 触发事件的源组件 */ + target: Target<TargetDataset> + /** 事件绑定的当前组件 */ + currentTarget: Target<CurrentTargetDataset> + } + + /** 自定义事件 */ + interface CustomEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> { + /** 额外的信息 */ + detail: Detail + } + + /** Touch 对象 */ + interface TouchDetail { + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,横向为 X 轴 */ + clientX: number + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,纵向为 Y 轴 */ + clientY: number + /** 触摸点的标识符 */ + identifier: number + /** 距离文档左上角的距离,文档的左上角为原点,横向为 X 轴 */ + pageX: number + /** 距离文档左上角的距离,文档的左上角为原点,纵向为 Y 轴 */ + pageY: number + } + + /** canvas Touch 对象 */ + interface TouchCanvasDetail { + /** 触摸点的标识符 */ + identifier: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴 */ + x: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 纵向为Y轴 */ + y: number + } + + /** 触摸事件 */ + interface Touch< + Detail extends IAnyObject = IAnyObject, + T extends TouchDetail | TouchCanvasDetail = TouchDetail, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset> { + /** 触摸事件,当前停留在屏幕中的触摸点信息的数组 */ + touches: T[] + /** 触摸事件,当前变化的触摸点信息的数组 */ + changedTouches: T[] + } + + /** 触摸事件响应 */ + type TouchEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > = Touch<Detail, TouchDetail, Mark, CurrentTargetDataset, TargetDataset> + + /** canvas 触摸事件响应 */ + interface TouchCanvas< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > extends Touch<never, TouchCanvasDetail, Mark, never, TargetDataset> { + // canvas 中的触摸事件不可冒泡,所以没有 currentTarget。 + currentTarget: never + } + + /** + * 图片加载成功时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageLoad< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 图片宽度 */ + width: number + /** 图片高度 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 图片加载失败时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageError = CustomEvent<GeneralCallbackResult> + + /** + * 拖动过程中触发的事件,event.detail = {x, y, source} + * + * 最低基础库: 1.9.90 + */ + type MovableViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + x: number + y: number + /** + * 产生移动的原因 + * + * - `touch` 拖动 + * - `touch-out-of-bounds` 超出移动范围 + * - `out-of-bounds` 超出移动范围后的回弹 + * - `friction` 惯性 + * - `空字符串` setData + */ + source: + | 'touch' + | 'touch-out-of-bounds' + | 'out-of-bounds' + | 'friction' + | '' + }, + Mark, + TargetDataset + > + + /** + * 缩放过程中触发的事件 + * + * event.detail = {x, y, scale} + * + * x 和 y 字段在 2.1.0 之后支持 + * + * 最低基础库: 1.9.90 + */ + type MovableViewScale< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 最低基础库: 2.1.0 */ + x: number + /** 最低基础库: 2.1.0 */ + y: number + scale: number + }, + Mark, + TargetDataset + > + + /** + * 滑动开始事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动结束事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** 滚动到顶部/左边时触发 */ + type ScrollViewScrollToUpper< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'top' | 'left' + }, + Mark, + TargetDataset + > + + /** 滚动到底部/右边时触发 */ + type ScrollViewScrollToLower< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'bottom' | 'right' + }, + Mark, + TargetDataset + > + + /** + * 滚动时触发 + * + * event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} + */ + type ScrollViewScroll< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollLeft: number + scrollTop: number + scrollHeight: number + scrollWidth: number + deltaX: number + deltaY: number + }, + Mark, + TargetDataset + > + + type ScrollViewRefresherPulling< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRefresh< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRestore< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherAbort< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * current 改变时会触发 change 事件 + * + * event.detail = {current, source} + * + * **Tip**: 如果在 bindchange 的事件回调函数中使用 setData 改变 current 值,则有可能导致 setData 被不停地调用,因而通常情况下请在改变 current 值前检测 source 字段来判断是否是由于用户触摸引起。 + */ + type SwiperChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + current: number + /** + * 表示导致变更的原因 + * + * - `autoplay` 自动播放导致 swiper 变化; + * - `touch` 用户划动引起 swiper 变化; + * - 其它原因将用空字符串表示。 + * + * 最低基础库: 1.4.0 + */ + source: '' | 'autoplay' | 'touch' + /** 该 swiper-item 的标识符 */ + currentItemId: string + }, + Mark, + TargetDataset + > + + /** + * swiper-item 的位置发生改变时会触发 transition 事件 + * + * event.detail = {dx: dx, dy: dy} + * + * 最低基础库: 2.4.3 + */ + type SwiperTransition< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + dx: number + dy: number + }, + Mark, + TargetDataset + > + + /** + * 动画结束时会触发 animationfinish 事件 + * + * 最低基础库: 1.9.0 + */ + type SwiperAnimationFinish< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SwiperChange<Mark, TargetDataset> + + /** + * progress 动画完成事件 + * + * 最低基础库 2.4.1 + */ + type ProgressActiveEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + curPercent: number + }, + Mark, + TargetDataset + > + + /** + * 用户点击该按钮时,会返回获取到的用户信息,回调的 detail 数据与 `wx. getUserInfo` 返回的一致,`open-type="getUserInfo"` 时有效 + * + * 最低基础库: 1.3.0 + */ + type ButtonGetUserInfo = CustomEvent< + GeneralCallbackResult & GetUserInfoSuccessCallbackResult + > + + /** + * 客服消息回调,`open-type="contact"` 时有效 + * + * 最低基础库: 1.5.0 + */ + type ButtonContact = CustomEvent<GeneralCallbackResult> + + /** + * 获取用户手机号回调,`open-type=getPhoneNumber` 时有效 + * + * 最低基础库: 1.2.0 + */ + type ButtonGetPhoneNumber = CustomEvent< + GeneralCallbackResult & Partial<GetWeRunDataSuccessCallbackResult> + > + + /** + * 当使用开放能力时,发生错误的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 1.9.5 + */ + type ButtonError = CustomEvent<GeneralCallbackResult> + + /** + * 在打开授权设置页后回调,`open-type=openSetting` 时有效 + * + * 最低基础库: 2.0.7 + */ + type ButtonOpenSetting = CustomEvent< + GeneralCallbackResult & OpenSettingSuccessCallbackResult + > + + /** + * 打开 APP 成功的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 2.4.4 + */ + type ButtonLaunchApp = CustomEvent<GeneralCallbackResult> + + /** + * checkbox-group 中选中项发生改变时触发 change 事件 + * + * detail = { value: ['选中的checkbox 的 value 的数组'] } + */ + type CheckboxGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 选中的 checkbox 的 value 的数组 */ + value: string[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type EditorReady< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 编辑器聚焦时触发 + * + * event.detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + html: string + text: string + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delta: any[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器失去焦点时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 编辑器内容改变时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 + * + * 最低基础库: 2.7.0 + */ + type EditorStatusChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + Partial<{ + align: 'left' | 'center' | 'right' | 'justify' + bold: 'strong' + italic: 'em' + underline: true + strike: 'del' + lineHeight: string + letterSpacing: string + marginTop: string + marginBottom: string + fontFamily: string + fontSize: string + color: string + backgroundColor: string + list: 'checked' | 'unchecked' | 'ordered' | 'bullet' + indent: number + header: number + script: 'sub' | 'super' + direction: 'rtl' + }>, + Mark, + TargetDataset + > + + /** + * 携带 form 中的数据触发 submit 事件 + * + * event.detail = {value : {'name': 'value'} , formId: ''} + */ + type FormSubmit< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + formId?: unknown + target: Target + /** 表单中的数据,需要在表单组件中加上 name 来作为 key。 */ + value: IAnyObject + }, + Mark, + TargetDataset + > + + /** 表单重置时会触发 reset 事件 */ + type FormReset< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + target: Target + }, + Mark, + TargetDataset + > + + /** 键盘输入时触发 + * + * event.detail = {value, cursor, keyCode} + * + * 处理函数可以直接 return 一个字符串,将替换输入框的内容。 + */ + type Input< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 光标位置 */ + cursor: number + /** keyCode 为键值 (目前工具还不支持返回keyCode参数) `2.1.0` 起支持 */ + keyCode?: number + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height } + */ + type InputFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 键盘高度, 在基础库 `1.9.90` 起支持 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value: value} + */ + type InputBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 点击完成按钮时触发 + * + * event.detail = {value: value} + */ + type InputConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange 事件可能会多次触发,开发者对于相同的 height 值应该忽略掉 + * + * 最低基础库: `2.7.0` + */ + type InputKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 键盘高度 */ + height: number + duration: number + }, + Mark, + TargetDataset + > + + /** + * 取消选择时触发 + * + * 最低基础库: 1.9.90 + */ + type PickerCancel< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * value 改变时触发 change 事件 + * + * event.detail = {value} + * + * 当 mode = region 时 (最低基础库: 1.4.0) + * + * value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码 + */ + type PickerChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** + * 当 mode = selector 时, 返回当前选择的 value + * + * 当 mode = multiSelector 时, 返回一个索引数组 + * + * 当 mode = time | date 时, 返回 `"12:01"` | `"2016-09-01"` + * + * 当 mode = region 时, 返回 `["广东省", "广州市", "海珠区"]` + */ + value: string | number[] | [string, string, string] + /** 统计用区划代码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + code: [string, string, string] + /** 邮政编码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + postcode: string + }, + Mark, + TargetDataset + > + + /** 列改变时触发 当 `mode = multiSelector` 时有效 */ + type PickerColumnChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 修改的列 */ + column: number + value: number + }, + Mark, + TargetDataset + > + + /** + * 滚动选择时触发 change 事件 + * + * event.detail = {value} + */ + type PickerViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** value 为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项 (下标从 0 开始) */ + value: number[] + }, + Mark, + TargetDataset + > + + /** + * 当滚动选择开始时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 当滚动选择结束时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** radio-group 切换事件 */ + type RadioGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + /** radio-group 中选中项的 value */ + { + value: string + }, + Mark, + TargetDataset + > + + /** + * 完成一次拖动后触发的事件 + * + * event.detail = {value} + */ + type SliderChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** slider 的数值 0 - 100 */ + value: number + }, + Mark, + TargetDataset + > + + /** + * 拖动过程中触发的事件 + * + * event.detail = {value} + * + * 最低基础库: 1.7.0 + */ + type SliderChanging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SliderChange<Mark, TargetDataset> + + /** + * checked 改变时触发 change 事件 + * + * event.detail={ value} + */ + type SwitchChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + value: boolean + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height },height 为键盘高度 + * + * 在基础库 1.9.90 起支持 + */ + type TextareaFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputFocus<Mark, TargetDataset> + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value, cursor} + * + * **tip**: textarea 的 blur 事件会晚于页面上的 tap 事件,如果需要在 button 的点击事件获取 textarea,可以使用 form 的 bindsubmit。 + */ + type TextareaBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputBlur<Mark, TargetDataset> + + /** + * 输入框行数变化时调用 + * + * event.detail = {height: 0, heightRpx: 0, lineCount: 0} + */ + type TextareaLineChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框高度(px) */ + height: number + /** 输入框高度(rpx) */ + heightRpx: number + /** 行数 */ + lineCount: number + /** 行高 */ + lineHeight: number + }, + Mark, + TargetDataset + > + + /** + * 当键盘输入时,触发 input 事件 + * + * event.detail = {value, cursor, keyCode} + * + * keyCode 为键值,目前工具还不支持返回 keyCode 参数。 + * + * **tip**: 不建议在多行文本上对用户的输入进行修改,所以 **bindinput 处理函数的返回值并不会反映到 textarea 上** + */ + type TextareaInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = Input<Mark, TargetDataset> + + /** + * 点击完成时, 触发 confirm 事件 + * + * event.detail = {value: value} + */ + type TextareaConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputConfirm<Mark, TargetDataset> + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange事件可能会多次触发,开发者对于相同的height值应该忽略掉 + * + * 最低基础库: 2.7.0 + */ + type TextareaKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputKeyboardHeightChange<Mark, TargetDataset> + + /** + * 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorSuccess< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorFail< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 当 `target="miniProgram"` 时有效,跳转小程序成功 + * + * 最低基础库: 2.0.7 + */ + type NavigatorSuccess = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序失败 + * + * `tips`: 需要用户确认跳转 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。 + * + * 最低基础库: 2.0.7 + */ + type NavigatorFail = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序完成 + * + * 最低基础库: 2.0.7 + */ + type NavigatorComplete = CustomEvent + + /** + * 当发生错误时触发 error 事件 + * + * detail = {errMsg:MediaError.code} + */ + type AudioError = CustomEvent<{ + /** + * MediaError.code + * + * - 1 获取资源被用户禁止 + * - 2 网络错误 + * - 3 解码错误 + * - 4 不合适资源 + */ + errMsg: 1 | 2 | 3 | 4 + }> + + /** 当开始/继续播放时触发play事件 */ + type AudioPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type AudioPause = CustomEvent + + /** + * 当播放进度改变时触发 timeupdate 事件 + * + * detail = {currentTime, duration} + */ + type AudioTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** 当播放到末尾时触发 ended 事件 */ + type AudioEnded = CustomEvent + + /** 摄像头在非正常终止时触发,如退出后台等情况 */ + type CameraStop = CustomEvent + + /** 用户不允许使用摄像头时触发 */ + type CameraError = CustomEvent + + /** + * 相机初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type CameraInitDone = CustomEvent + + /** + * 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 + * + * 最低基础库: 2.1.0 + */ + type CameraScanCode = CustomEvent + + /** 当错误发生时触发,event.detail = {errMsg} */ + type ImageError = CoverImageError + /** 当图片载入完毕时触发,event.detail = {height, width} */ + type ImageLoad = CoverImageLoad + + /** + * 播放状态变化事件,detail = {code} + * + * 最低基础库 1.7.0 + */ + type LivePlayerStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `2001` 已经连接服务器 + * - `2002` 已经连接服务器,开始拉流 + * - `2003` 网络接收到首个视频数据包(IDR) + * - `2004` 视频播放开始 + * - `2005` 视频播放进度 + * - `2006` 视频播放结束 + * - `2007` 视频播放Loading + * - `2008` 解码器启动 + * - `2009` 视频分辨率改变 + * - `-2301` 网络断连,且经多次重连抢救无效,更多重试请自行重启播放 + * - `-2302` 获取加速拉流地址失败 + * - `2101` 当前视频帧解码失败 + * - `2102` 当前音频帧解码失败 + * - `2103` 网络断连, 已启动自动重连 + * - `2104` 网络来包不稳: 可能是下行带宽不足,或由于主播端出流不均匀 + * - `2105` 当前视频播放出现卡顿 + * - `2106` 硬解启动失败,采用软解 + * - `2107` 当前视频帧不连续,可能丢帧 + * - `2108` 当前流硬解第一个I帧失败,SDK自动切软解 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 全屏变化事件,detail = {direction, fullScreen} + * + * 最低基础库 1.7.0 + */ + type LivePlayerFullScreenChange = CustomEvent<{ + direction: 'vertical' | 'horizontal' + fullScreen: boolean + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库 1.9.0 + */ + type LivePlayerNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * + * - `videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * - `audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * - `videoFPS` 当前视频帧率 + * - `videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * - `netSpeed` 当前的发送/接收速度 + * - `netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * - `videoWidth` 视频画面的宽度 + * - `videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 状态变化事件,detail = {code} + * + * 最低基础库: 1.7.0 + */ + type LivePusherStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `1001` 已经连接推流服务器 + * - `1002` 已经与服务器握手完毕,开始推流 + * - `1003` 打开摄像头成功 + * - `1004` 录屏启动成功 + * - `1005` 推流动态调整分辨率 + * - `1006` 推流动态调整码率 + * - `1007` 首帧画面采集完成 + * - `1008` 编码器启动 + * - `-1301` 打开摄像头失败 + * - `-1302` 打开麦克风失败 + * - `-1303` 视频编码失败 + * - `-1304` 音频编码失败 + * - `-1305` 不支持的视频分辨率 + * - `-1306` 不支持的音频采样率 + * - `-1307` 网络断连,且经多次重连抢救无效,更多重试请自行重启推流 + * - `-1308` 开始录屏失败,可能是被用户拒绝 + * - `-1309` 录屏失败,不支持的Android系统版本,需要5.0以上的系统 + * - `-1310` 录屏被其他应用打断了 + * - `-1311` Android Mic打开成功,但是录不到音频数据 + * - `-1312` 录屏动态切横竖屏失败 + * - `1101` 网络状况不佳: 上行带宽太小,上传数据受阻 + * - `1102` 网络断连, 已启动自动重连 + * - `1103` 硬编码启动失败,采用软编码 + * - `1104` 视频编码失败 + * - `1105` 新美颜软编码启动失败,采用老的软编码 + * - `1106` 新美颜软编码启动失败,采用老的软编码 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3004` RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库: 1.9.0 + */ + type LivePusherNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * -`videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * -`audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * -`videoFPS` 当前视频帧率 + * -`videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * -`netSpeed` 当前的发送/接收速度 + * -`netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * -`videoWidth` 视频画面的宽度 + * -`videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 渲染错误事件,detail = {errMsg, errCode} + * + * `tip`: 开发者工具上暂不支持 live-pusher + * + * 最低基础库: 1.7.4 + */ + type LivePusherError = CustomEvent<{ + errMsg: string + /** + * 错误码 + * + * - `10001` 用户禁止使用摄像头 + * - `10002` 用户禁止使用录音 + * - `10003` 背景音资源 (BGM) 加载失败 + * - `10004` 等待画面资源 (waiting-image) 加载失败 + */ + errCode: number + }> + + /** + * 背景音开始播放时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmStart = CustomEvent + + /** + * 背景音进度变化时触发,detail = {progress, duration} + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmProgress = CustomEvent<{ + progress: number + duration: number + }> + + /** + * 背景音播放完成时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmComplete = CustomEvent + + /** 当开始/继续播放时触发play事件 */ + type VideoPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type VideoPause = CustomEvent + + /** 当播放到末尾时触发 ended 事件 */ + type VideoEnded = CustomEvent + + /** 播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次 */ + type VideoTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** + * 视频进入和退出全屏时触发,event.detail = {fullScreen, direction} + * + * 最低基础库: 1.4.0 + */ + type VideoFullScreenChange = CustomEvent<{ + fullScreen: boolean + direction: 'vertical' | 'horizontal' + }> + + /** + * 视频出现缓冲时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoWaiting = CustomEvent + + /** + * 视频播放出错时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoError = CustomEvent + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VideoPregress = CustomEvent<{ + /** 百分比 */ + buffered: number + }> + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VoipRoomError = CustomEvent + + /** + * 点击地图时触发 + * + * 2.9.0 起返回经纬度信息 + */ + type MapTap = CustomEvent<{ + /** 经度,最低基础库 2.9.0 */ + longitude: number + /** 纬度,最低基础库 2.9.0 */ + latitude: number + }> + + /** + * 点击标记点时触发 + * + * e.detail = {markerId} + */ + type MarkerTap = CustomEvent<{ + /** 标记点 ID */ + markerId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 2.9.0 + */ + type LabelTap = MarkerTap + + /** + * 点击控件时触发 + * + * e.detail = {controlId} + */ + type ControlTap = CustomEvent<{ + /** 控件 ID */ + controlId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 1.2.0 + */ + type CalloutTap = MarkerTap + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type MapUpdated = CustomEvent + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type RegionChange = CustomEvent<{ + /** 旋转程度,最低基础库 2.3.0 */ + rotate: number + /** 缩放程度,最低基础库 2.3.0 */ + skew: number + }> & + ( + | { + /** + * 视野变化开始、结束时触发 + * + * 视野变化开始为 `begin` + */ + type: 'begin' + /** + * 导致视野变化的原因 + * + * - gesture: 用户手势 + * - update: 调用接口导致 + */ + causedBy: 'gesture' | 'update' + } + | { + /** + * 视野变化结束时触发 + * + * 视野变化结束为 `end` + */ + type: 'end' + /** + * 导致视野变化的原因 + * + * - drag: 拖动地图导致 + * - scale: 缩放导致 + * - update: 调用接口导致 + */ + causedBy: 'drag' | 'scale' | 'update' + } + ) + + /** + * 广告加载成功的回调 + * + * 最低基础库: 2.2.1 + */ + type AdLoad = CustomEvent + + /** + * 广告加载失败的回调,event.detail = {errCode: 1002} + * + * `tip`: 监听到error回调后,开发者可以针对性的处理,比如隐藏广告组件的父容器,以保证用户体验,但不要移除广告组件,否则将无法收到bindload的回调。 + * + * 最低基础库: 2.2.1 + */ + type AdError = CustomEvent<{ + /** + * 错误码 + * + * - `1000` 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1001` 参数错误 使用方法错误 可以前往developers.weixin.qq.com 确认具体教程 (小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换)。 + * - `1002` 广告单元无效 可能是拼写错误、或者误用了其他APP的广告ID 请重新前往mp.weixin.qq.com确认广告位ID。 + * - `1003` 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1004` 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 + * - `1005` 广告组件审核中 你的广告正在被审核,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1006` 广告组件被驳回 你的广告审核失败,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1007` 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往mp.weixin.qq.com确认小程序广告封禁状态。 + * - `1008` 广告单元已关闭 该广告位的广告能力已经被关闭 请前往mp.weixin.qq.com重新打开对应广告位的展现。 + */ + errCode: number + }> + + /** + * 广告关闭的回调 + * + * 最低基础库: 2.6.5 + */ + type AdClose = CustomEvent + + /** + * 网页向小程序 postMessage 时,会在特定时机 (小程序后退、组件销毁、分享) 触发并收到消息。e.detail = { data } + * + * 最低基础库: 1.6.4 + */ + type WebviewMessage = CustomEvent<{ + /** 多次 postMessage 的参数组成的数组 */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + data: any[] + }> + + /** + * 网页加载成功时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewLoad = CustomEvent<{ + src: string + }> + + /** + * 网页加载失败的时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewError = CustomEvent<{ + src: string + }> +} diff --git a/登录区分管理员/typings/types/wx/lib.wx.page.d.ts b/登录区分管理员/typings/types/wx/lib.wx.page.d.ts new file mode 100644 index 0000000..4e1cb51 --- /dev/null +++ b/登录区分管理员/typings/types/wx/lib.wx.page.d.ts @@ -0,0 +1,263 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Page { + type Instance< + TData extends DataOption, + TCustom extends CustomOption + > = OptionalInterface<ILifetime> & + InstanceProperties & + InstanceMethods<TData> & + Data<TData> & + TCustom + type Options< + TData extends DataOption, + TCustom extends CustomOption + > = (TCustom & + Partial<Data<TData>> & + Partial<ILifetime> & { + options?: Component.ComponentOptions + }) & + ThisType<Instance<TData, TCustom>> + type TrivialInstance = Instance<IAnyObject, IAnyObject> + interface Constructor { + <TData extends DataOption, TCustom extends CustomOption>( + options: Options<TData, TCustom> + ): void + } + interface ILifetime { + /** 生命周期回调—监听页面加载 + * + * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 + */ + onLoad( + /** 打开当前页面路径中的参数 */ + query: Record<string, string | undefined> + ): void | Promise<void> + /** 生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + onShow(): void | Promise<void> + /** 生命周期回调—监听页面初次渲染完成 + * + * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 + * + + * 注意:对界面内容进行设置的 API 如`wx.setNavigationBarTitle`,请在`onReady`之后进行。 + */ + onReady(): void | Promise<void> + /** 生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + onHide(): void | Promise<void> + /** 生命周期回调—监听页面卸载 + * + * 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。 + */ + onUnload(): void | Promise<void> + /** 监听用户下拉动作 + * + * 监听用户下拉刷新事件。 + * - 需要在`app.json`的`window`选项中或页面配置中开启`enablePullDownRefresh`。 + * - 可以通过`wx.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 + * - 当处理完数据刷新后,`wx.stopPullDownRefresh`可以停止当前页面的下拉刷新。 + */ + onPullDownRefresh(): void | Promise<void> + /** 页面上拉触底事件的处理函数 + * + * 监听用户上拉触底事件。 + * - 可以在`app.json`的`window`选项中或页面配置中设置触发距离`onReachBottomDistance`。 + * - 在触发距离内滑动期间,本事件只会被触发一次。 + */ + onReachBottom(): void | Promise<void> + /** 用户点击右上角转发 + * + * 监听用户点击页面内转发按钮(`<button>` 组件 `open-type="share"`)或右上角菜单“转发”按钮的行为,并自定义转发内容。 + * + * **注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮** + * + * 此事件需要 return 一个 Object,用于自定义转发内容 + */ + onShareAppMessage( + /** 分享发起来源参数 */ + options: IShareAppMessageOption + ): ICustomShareContent | void + /** + * 监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容 + * + * 本接口为 Beta 版本,暂只在 Android 平台支持,详见 [分享到朋友圈 (Beta)](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html) + * + * 基础库 2.11.3 开始支持,低版本需做兼容处理。 + */ + onShareTimeline(): ICustomTimelineContent | void + + /** 页面滚动触发事件的处理函数 + * + * 监听用户滑动页面事件。 + */ + onPageScroll( + /** 页面滚动参数 */ + options: IPageScrollOption + ): void | Promise<void> + + /** 当前是 tab 页时,点击 tab 时触发,最低基础库: `1.9.0` */ + onTabItemTap( + /** tab 点击参数 */ + options: ITabItemTapOption + ): void | Promise<void> + + /** 窗口尺寸改变时触发,最低基础库:`2.4.0` */ + onResize( + /** 窗口尺寸参数 */ + options: IResizeOption + ): void | Promise<void> + + /** + * 监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。 + * 基础库 2.10.3,安卓 7.0.15 版本起支持,iOS 暂不支持 + */ + onAddToFavorites(options: IAddToFavoritesOption): IAddToFavoritesContent + } + interface InstanceProperties { + /** 页面的文件路径 */ + is: string + + /** 到当前页面的路径 */ + route: string + + /** 打开当前页面路径中的参数 */ + options: Record<string, string | undefined> + } + + type DataOption = Record<string, any> + type CustomOption = Record<string, any> + + type InstanceMethods<D extends DataOption> = Component.InstanceMethods<D> + + interface Data<D extends DataOption> { + /** 页面的初始数据 + * + * `data` 是页面第一次渲染使用的**初始数据**。 + * + * 页面加载时,`data` 将会以`JSON`字符串的形式由逻辑层传至渲染层,因此`data`中的数据必须是可以转成`JSON`的类型:字符串,数字,布尔值,对象,数组。 + * + * 渲染层可以通过 `WXML` 对数据进行绑定。 + */ + data: D + } + + interface ICustomShareContent { + /** 转发标题。默认值:当前小程序名称 */ + title?: string + /** 转发路径,必须是以 / 开头的完整路径。默认值:当前页面 path */ + path?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4,最低基础库: `1.5.0`。默认值:使用默认截图 */ + imageUrl?: string + } + + interface ICustomTimelineContent { + /** 自定义标题,即朋友圈列表页上显示的标题。默认值:当前小程序名称 */ + title?: string + /** 自定义页面路径中携带的参数,如 `path?a=1&b=2` 的 “?” 后面部分 默认值:当前页面路径携带的参数 */ + query?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持 PNG 及 JPG。显示图片长宽比是 1:1。默认值:默认使用小程序 Logo*/ + imageUrl?: string + } + + interface IPageScrollOption { + /** 页面在垂直方向已滚动的距离(单位px) */ + scrollTop: number + } + + interface IShareAppMessageOption { + /** 转发事件来源。 + * + * 可选值: + * - `button`:页面内转发按钮; + * - `menu`:右上角转发菜单。 + * + * 最低基础库: `1.2.4` + */ + from: 'button' | 'menu' | string + /** 如果 `from` 值是 `button`,则 `target` 是触发这次转发事件的 `button`,否则为 `undefined` + * + * 最低基础库: `1.2.4` */ + target: any + /** 页面中包含`<web-view>`组件时,返回当前`<web-view>`的url + * + * 最低基础库: `1.6.4` + */ + webViewUrl?: string + } + + interface ITabItemTapOption { + /** 被点击tabItem的序号,从0开始,最低基础库: `1.9.0` */ + index: string + /** 被点击tabItem的页面路径,最低基础库: `1.9.0` */ + pagePath: string + /** 被点击tabItem的按钮文字,最低基础库: `1.9.0` */ + text: string + } + + interface IResizeOption { + size: { + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + /** 变化后的窗口高度,单位 px */ + windowHeight: number + } + } + + interface IAddToFavoritesOption { + /** 页面中包含web-view组件时,返回当前web-view的url */ + webviewUrl?: string + } + + interface IAddToFavoritesContent { + /** 自定义标题,默认值:页面标题或账号名称 */ + title?: string + /** 自定义图片,显示图片长宽比为 1:1,默认值:页面截图 */ + imageUrl?: string + /** 自定义query字段,默认值:当前页面的query */ + query?: string + } + + interface GetCurrentPages { + (): Array<Instance<IAnyObject, IAnyObject>> + } +} + +/** + * 注册小程序中的一个页面。接受一个 `Object` 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。 + */ +declare let Page: WechatMiniprogram.Page.Constructor +/** + * 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。 + + * __注意:__ + + * - __不要尝试修改页面栈,会导致路由以及页面状态错误。__ + * - 不要在 `App.onLaunch` 的时候调用 `getCurrentPages()`,此时 `page` 还没有生成。 + */ +declare let getCurrentPages: WechatMiniprogram.Page.GetCurrentPages From 38ed0ba9dcee98b1c52cc94f997464d2753ec6c9 Mon Sep 17 00:00:00 2001 From: Your Name <email@example.com> Date: Wed, 16 Nov 2022 16:35:07 +0800 Subject: [PATCH 20/24] =?UTF-8?q?=E6=97=A0=E9=AA=8C=E8=AF=81=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/软件工程 用例描述(1).docx | Bin 14663 -> 14650 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/软件工程 用例描述(1).docx b/doc/软件工程 用例描述(1).docx index e99aa1b557b354dab7ca5f3d36bfe78380737874..13d86b77470c488b447c8331407496af17737a89 100644 GIT binary patch delta 6206 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 delta 6227 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 From d66f9d5e4242266dd8759704b2ee08bf49e098b1 Mon Sep 17 00:00:00 2001 From: Your Name <email@example.com> Date: Fri, 18 Nov 2022 10:58:18 +0800 Subject: [PATCH 21/24] =?UTF-8?q?=E7=94=A8=E4=BE=8B=E6=8F=8F=E8=BF=B011/18?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/软件工程 用例描述(1)(3).docx | Bin 0 -> 14249 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/软件工程 用例描述(1)(3).docx diff --git a/doc/软件工程 用例描述(1)(3).docx b/doc/软件工程 用例描述(1)(3).docx new file mode 100644 index 0000000000000000000000000000000000000000..d4ccb667d236df9b8fc5ede8bb744bb6754303c2 GIT binary patch literal 14249 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 literal 0 HcmV?d00001 From 50503c0cc76ab36a6433c459b40505eb5a873a84 Mon Sep 17 00:00:00 2001 From: Your Name <email@example.com> Date: Fri, 18 Nov 2022 12:46:38 +0800 Subject: [PATCH 22/24] =?UTF-8?q?=E6=97=B6=E5=BA=8F=E5=9B=BE=E4=B8=8E?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E6=8F=8F=E8=BF=B0=E5=AF=B9=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../timepng(老图)/任务提交.drawio.png | Bin 0 -> 27091 bytes .../timepng(老图)/发布任务.drawio.png | Bin 0 -> 30278 bytes .../timepng(老图)/后台管理.drawio.png | Bin 0 -> 60331 bytes .../timepng(老图)/成员管理.drawio.png | Bin 0 -> 36210 bytes .../timepng(老图)/接龙.drawio.png | Bin 0 -> 49417 bytes .../消息管理.drawio (1).png | Bin 0 -> 50672 bytes .../timepng(老图)/消息管理.drawio.png | Bin 0 -> 50623 bytes .../timepng(老图)/用户绑定.drawio.png | Bin 0 -> 39365 bytes .../timepng(老图)/登录.drawio.png | Bin 0 -> 56028 bytes .../9-26时序图/任务提交.drawio.png | Bin 0 -> 27091 bytes .../9-26时序图/发布任务.drawio.png | Bin 0 -> 30278 bytes .../9-26时序图/后台管理.drawio.png | Bin 0 -> 36996 bytes .../9-26时序图/成员管理.drawio.png | Bin 0 -> 36040 bytes .../9-26时序图/接龙.drawio.png | Bin 0 -> 49417 bytes .../9-26时序图/消息管理.drawio.png | Bin 0 -> 50623 bytes .../9-26时序图/用户绑定.drawio.png | Bin 0 -> 39365 bytes .../9-26时序图/登录.drawio.png | Bin 0 -> 56028 bytes 11.18更新时序图/任务提交.png | Bin 0 -> 23072 bytes 11.18更新时序图/发布任务.png | Bin 0 -> 26316 bytes 11.18更新时序图/发布接龙.png | Bin 0 -> 26568 bytes 11.18更新时序图/完成接龙.png | Bin 0 -> 25133 bytes 11.18更新时序图/成员管理.png | Bin 0 -> 27593 bytes 11.18更新时序图/数据统计.png | Bin 0 -> 30801 bytes 11.18更新时序图/查询任务.png | Bin 0 -> 23688 bytes 11.18更新时序图/用户绑定.png | Bin 0 -> 27862 bytes 11.18更新时序图/登录.png | Bin 0 -> 50573 bytes 26 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/任务提交.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/发布任务.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/后台管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/成员管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/接龙.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio (1).png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/用户绑定.drawio.png create mode 100644 11.18更新时序图/9-26时序图/timepng(老图)/登录.drawio.png create mode 100644 11.18更新时序图/9-26时序图/任务提交.drawio.png create mode 100644 11.18更新时序图/9-26时序图/发布任务.drawio.png create mode 100644 11.18更新时序图/9-26时序图/后台管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/成员管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/接龙.drawio.png create mode 100644 11.18更新时序图/9-26时序图/消息管理.drawio.png create mode 100644 11.18更新时序图/9-26时序图/用户绑定.drawio.png create mode 100644 11.18更新时序图/9-26时序图/登录.drawio.png create mode 100644 11.18更新时序图/任务提交.png create mode 100644 11.18更新时序图/发布任务.png create mode 100644 11.18更新时序图/发布接龙.png create mode 100644 11.18更新时序图/完成接龙.png create mode 100644 11.18更新时序图/成员管理.png create mode 100644 11.18更新时序图/数据统计.png create mode 100644 11.18更新时序图/查询任务.png create mode 100644 11.18更新时序图/用户绑定.png create mode 100644 11.18更新时序图/登录.png diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/任务提交.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/任务提交.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..0846238a9bae8b171ae5732ec7da01fdc65bc64e GIT binary patch literal 27091 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 bEde=IKQ1?Wk7f8@nrQU2jE_Iou)FeKZ@hqG literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/发布任务.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/发布任务.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7a76b1d85c0f4fa27de915ecf369597984a075 GIT binary patch literal 30278 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 C4VXOu literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/后台管理.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/后台管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..d6bcd83a40e8463535288197892201c8d54d8c9b GIT binary patch literal 60331 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/成员管理.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/成员管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..9b06bbd0852bb7ed015ced22e967b0825a7b9c64 GIT binary patch literal 36210 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/接龙.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/接龙.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..3ccc8a7b543c85bcef2c749458e99572c3b7a5ed GIT binary patch literal 49417 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%0DJ);RaA3NbwoqQ|kEQ{!rr{d-Eo~NbkWPx6 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio (1).png b/11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio (1).png new file mode 100644 index 0000000000000000000000000000000000000000..eee8f07825f48d838eac5dbc81206e420cf7f5e4 GIT binary patch literal 50672 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 @ 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/消息管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..544422f1af6bf6f0bbb26f7a8bba6cd435cf4683 GIT binary patch literal 50623 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 T6-M1}DEOzPuBTS2VjJ*({S{3q literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/用户绑定.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/用户绑定.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..d942798000b4f8ac45630ae931fedef402fa1bd5 GIT binary patch literal 39365 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/timepng(老图)/登录.drawio.png b/11.18更新时序图/9-26时序图/timepng(老图)/登录.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..05b3ba197f1651e09b3656f18f028f4784889d8d GIT binary patch literal 56028 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 VA)ogcnsLG3a+}rGrF4(j{{oSWmIMF* literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/任务提交.drawio.png b/11.18更新时序图/9-26时序图/任务提交.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..0846238a9bae8b171ae5732ec7da01fdc65bc64e GIT binary patch literal 27091 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 bEde=IKQ1?Wk7f8@nrQU2jE_Iou)FeKZ@hqG literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/发布任务.drawio.png b/11.18更新时序图/9-26时序图/发布任务.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7a76b1d85c0f4fa27de915ecf369597984a075 GIT binary patch literal 30278 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 C4VXOu literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/后台管理.drawio.png b/11.18更新时序图/9-26时序图/后台管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc4ef4f37a953ecad25267ff6f1fa0b8a9ae62d GIT binary patch literal 36996 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 MmsXZ4l6dU(Uu#|TivR!s literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/成员管理.drawio.png b/11.18更新时序图/9-26时序图/成员管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..23e91136d0760cb9036b5ac1c52d8da1d490725f GIT binary patch literal 36040 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/接龙.drawio.png b/11.18更新时序图/9-26时序图/接龙.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..3ccc8a7b543c85bcef2c749458e99572c3b7a5ed GIT binary patch literal 49417 zcmeFZ2{e@b`#8)*p@l-)DN!oRFouzB1~ax9+bo8V8Dk7HhM6&p-P59?RFbXGQ%R9Z zmPE88YpW1itRX`7<^4=gdY<3&`~AP?J?DMTdCz;!Pt)8ppZmH$_w~6x*M4319Jj|| zR!eP?5)lzuZDnchC?X<mDk1{eDzO}l%-w0e01l#DM+{0NzhO&10J_YxaOSZ>yctZI zh>DKcU!PR8wS3rIo{EmSing|AK!Ao9!;{YOWN|h8X*@6l&a>EF3~vU_>n|8>Ep2Ue zErhx@6c5!=(Lw6`eACm=(uceJ1@B3x`Tv?wS3?U-u$#p2_hJWg!ABe(yg{|Vunr1* z0w>_GzdnY*VQOFm84$pvk!Tbf2Dm#~S4U4n2M&gJ+gReUwkq0Y;4_oqM*{~8jq1l1 zUSj6MVY9#p8ma~EC;SHnojkogIgEc!Vc|vp4FlDI>1e>f;)Ls?@jU5&t<BmK4<}gb zarEu&^-(r{&;Wsc&|ffo8i&hZ`!A6|Lq|jBuM<2$0PU|)wm;2_!{7r%v{iI00D*r| z65N6Di*|tsG?l~khU%&df-Lz?R-Wp7zrUvO_XI2Wxd$p1dMZdW;R_H7{8zC+s34&# zDBZv2)gy-RC~z#y!X5_owh&lgJ@vgEbU8tAlCE<ghvKBeC#h(o{4qYk7EHF2Zm>@P z3#^(Cb%9~6$>uyHf$M8)%Ol!^kg*{lzV`Ms3`L)UBEX#eb@dsPP$<lYuTAjuVF&WT zG(N%RJhT=J#UjxhoSC!`Cx!#Yi)e0Uj|@OS1$2^qurq+NG9waLIu2y;Q9Hl^9^%8W zq*9PUW^gYUk6?=rGQ)?m>B6mG>hW<@v=4xTBLXQ_T9(0f_Czy+cYr?(OS2_n0ysp5 z9)L4<a1M3!c43iiZTTdf02jblXfl%paD;(RG&3^`7{Sg87VOKj<LFYUWFKdI2-lxz z?XL$|3{AD9f_JV1g9l@f?I~y&on{%Lhofkt^_{s|NG*h|o+Hf8*V2iA69~b%bOgyd z(1n55b#i1Af~g@cT5NNE5DiZWwS@*bA}pwQHkAg&d3pzV!O_|%J%%;SC(r>cupz*( zc#1PF1doQ>VCiHZdjy@2bPDmp*m+^lI<{miPn!V`MezXss8AgOlFKG~p>Y&%7jql? zKxe>uD9g|QZ;Z1o3N7Sl6v0jis0TO;4PN>{K+r(}LNNft;N^q^Z#1M8AJ1{{L}Hm{ za59IZ<*$!-&_i1a=ybM)7S{#u#Xz$Kf!a<&HgH5ahPnj%u$?@izId=$l$LPCC=Ql@ zVsM?XJTEr5Oka!O803f*=o7F(RBax~pN*s=xO87F3e3xgrwg|T4fdx%N!HdDws;D~ z!CHrh(&1UKLL38$Fbo2#<LgZ&J8?J+J!*iZy$>&tq6ZDc2Eha@TU(BnB@e@<@o+*m z@wP^4W2t052aYCyeMEVpaF*a;NwT*z=Q#LcLql|!T#OabnP(n?*VW+$_>$Q|$~hoI z%@I^<I-g;Kv%zB+x;U&o%i7#R3#seLB*C3IBo5!jDu5I~2;@4^y}Vd11QyGO$hUED zMsWNw!HfWG0LDg_p<`)*p~G>29lT(=WFp#6-=7$WgJUsteP4ZBRFJQ8prw@;hKu6x zoouZgV1Ug-%mVB!$X>x5j$Z(RL$V77LWvHtvtxq;4G#^a;dOnTbp_s9I)3_E2uJ&1 zJ9C5&&K`^RWYRp*PS{`ze?LdvP!!4E+7e4f_!68DNL!e%cTk``)d3dj?8$PV<7j>s zdW;Y>HJC_YThOU~IzCz<=J-%wJFJT>m2M~8f0PA|ZR5uc!Pz^Lf(SZ9b7z4Q*&G+Z zwlx#VMlhg~z=0TK#X#zCnf^RmvIQ6+IzavP*=QI>3+fm`4DdH21F`b546qJ#up_#V zbl4mR7q*v~EyD}T4J8Dyu%u8f3dX^EW6ao0Fsrs5#UF)X>Hvbl*<`ps)|^EQg>i6v zJ1w+jsHL_p3(%fmuFpmIuxO#?PHcn&EflRCLWE<@5nB3II9xCminoOmf_2TTys!js zXJ?-vf22N)fV80!kr-+K&yVcr5Q_G*reY9iw4M%wj&(A_1=^Uq;CPleE1bU#*#c#a z_hki>sdOR<sC5*K53B(Sj&Z~ZS;NVijS?P(L*{x8UICs^FD}~Iljw+}6N1qsBsE0f zYf1J+ak&IX0nQSo540#6kHmNf2WwfG1z~OM$#_RI9a~EnmVyuDgkrd!zBC`emS`Ld zL)OtHTX}mq;GqnCZ>+7klLHiox74z=5RhDWXe5<LC;3x-pe&{%o&vD;1XvL4seBth zZ#Y4Riwxul^aPgn_G}uSWM{+2L-qLxD;IkJg~C}NX)qK9OVbIpWU*O@05lG2ri}~) z>I=m|5_wE)s1-q*6~w?&IRYKPlB7VizgD0g0Y}x-^?{SwR6i$eD=T1PY;}cHA@Qv3 z@Bvg^CyEwTi)XIu639jQ!S(%|_y}z%5k@4U2wEhzE{{s05*z~H0xlnmaK@WML%Dn; z-^NN;hhoJ-P{<)n6ivqlY3E4}@rL@Dnd5|vg=52bh(H`YL`Y~$n;^WE1&PYh@q=+N zbdCT?bE0veEFWK>@Vo*jOhTv?AfBa{ZKyWViG_r+%q?NQS`4Bk83(s^#_9x6pypN> z0)y?~ZG%FfLXl2r8#G>9mjfp_c>}RRg)muU2d*QYqld?a_|U0HFr95cP!P<F1A}86 zej)+4vET&g(7ahJYfb>#j4sgT15E@j1}|&89|MWCBch!{S$@C>g;M?e>HZGjj1A3> z$J22Ts#cu603E1Hv$C|Y((<;p=3<3bhvG?q+xdA3MVxEr&k73lp%4+Fp0?g3l(Uwl zwF_C`=-`dx>v(d^_&6I~F4xJQ#N?2<fFd>wfws9X4sAzw;E`RZj$jUyzJnQBTVIRC z)8Yn`ba^ywrh_j~`DnBwG7ySEYjMyldn5tv47Cm9hM1Fr18|f;Ta1exkEtDs<XXU> z)(l-f&L0ouW66G&bPU;t=4%#!!I;}=vCPbTtU`S;4n!v+*G0#P>kGUHv`dJN6P{*+ zb@0=*#yFBF1V@}F(+cKG^wf89!BRN(UcnT&87Yv64`x&0JX=RQeInYC<KW~#q{0M@ zkN`4=NZ0qVM3KD$&EPH$FdWAP19f5tT0(tL0(L0T9I(C%($>KX22>D};Ac)}Sa6AE zwzdMepB|b@wa{~PU||H-&h{2TNCzgIZmo|2cm;+s@GdN>HIGONvgG)ASvk|_=1fv3 zaPfixv!GCBTrC~C0|#!QEpQQPSQHHt$R!~VzI1{e!j>-F8!I-C?m&QR69{;1U$8me zI#z5pPn%~?@<w3r2(17l+)2wP5EaUW<Ac3n2q(N93qvRQIB9!<s|7ryu8wyof)HwH zg*4YDps}IaBm|dYV~z5IApiu5g$+Pb;B;MY76nK4#Y161c#=1cg(M^V!Sw`Byk{te z2;hX;o~xzpfX3+wxPe@pH{6B<^=IN-uuKwEKmx!hw4H5$wZ97j?W{+FYC8r};N(zq zGp17z%bzV^I1-T@F7SZR9H$VHl|4#3R1573r8?pRSvXyeIh2DSxR3+2kWfJgg=E3f zB6`{jU_fc1Fg#>{t{#=)7=k94b69rX_5z}SXhB3#tUW^lX)LrCMOP344+N9Z{FoTe zAWuD8gr!+1hr{yZI9vGYI0sl*1`0?_2QO_FlxAg3;5h&n53S8&IS@SkX@LSej*Gv( zFU*%>70C7?@w90iOFE26V)L2Sj?TJVJ!>K!;qOQT_QL|MuZ2VluvXf30dOB1Fbfo? zP11sT2jF2ogdi_-AALqBG1Oc)h~Y`{WD#`{2tuH<P(NbzLoIA9ZD877c(gr}L!(e} zXlF7T>kH25BX9%)JV=jaj%GUBS=wtc@wzVd{s4l+Hlw-_0s>i1+E}zBhHQxp0+XRV z2|654ZI+e;-p@Z+TR`zeqs)EnL+qJoBr4d}j!N*vc)Eb)lPvZ0Nm>j)f>5-<%hJzJ zSC0|Iw08uX>R=DJ0*$pM+Hx5zPZtMUmr#zUR|v-!hUYOU)>v$?tuNBWB|sQE*un8I zTP<t09x_l%53gqx5(EZySZtn!0}D;nv$y5?u}}mQpGDBMVewhs0b1I6x<YTx53L2b z7=;QJy7<DE5R;|w;AgA=zW<8HbS%^(I$A_Tltiq|k@yhz!HZ#oZiJ*MJ%i)tW9KeV zB+atnCv|SF?O*i=bx;9oAo<oef^fZ+xXr?K<@z?Y7q<QB4aayn{H$W-XBgM3=EsgX zsYRVLccGr!?!+sczjoamwqvW@kyELClgU8=9+Q*djitdCd)w*5jaZ4!$l=zoTR+Ht z7t1OKzEv?UgTJE+VoD;S5~d;$nP^kg$HLdRL*^gFQWlnfJ6Lx}Wa*q5<eGzsit2C3 zhnW(VqURvwduwB&p8QZhj}%@mgpM(U$eA8r{nvb8;G;~I>3Y8Y$IjdHaY289fSW1B ziHO^OhWxrlRKi~5r0VkB(daL}tB(A>rxBP*a{2F>OhsX78?r<;oy>*G{o_KF<-d_K zT`wx-<yj@Zu)3|%dBv|aiHK?UP96Be{NT?O{zTDatq>>Jzi^6%?1nB8LPTu&PrQ%) zM;L(c)@5?0m-!~o&3>(4Mom-$dE(9Yl+{Zlg$r@QEdLiy1z^c48ox1*Hj9Rk-+zjZ zdNQH;?l&z(rLvy>riRQ0Qz6XuKmHR8AWzULK+M+p4bn>pToHQ@QM~>Ix_N1bm=L+@ z$EQ}!Z7z<wv*tG?z1C)lSReRJB+*zA@q*h=L>G?^dF1`g2Vif1(^W|;S_oq%_Mc$D zu6-5mTG1?Y+Y$nnlDEZ;9jmDDCGKhw+kN`T){Rqo%tgx9r9qkM9j2n^?)~JdpZ8oN zq-5-}e^GLG^txrg`Rbs^PZ){+1QQMMc>@J#`A$*|m+p0D-NBXNS58$im$<D!(q3uh ze(e$V`-Nu)OM^<MEdY}QivFg+79l0qtoRot!Os58lMh9H!mRyIFs5SSP1LGWsq?dw z>GFGt@pt&Iv$5V^-(2^8^oMw=94^C<QOxf2C*E|SsoJI-G<SFRdzUAv>c2aB`4{U| zF~3>F7s8AoT}H_)(RqW!VS6R+$}GpH2g>-Y?172F7M<)3dxrQ!tu#3E{b@PVZh4or zFtNqwr(@qs{9e`9ou;CNxU_NcUn8cylDr3|J?jnWbt#?`Lv8eJ5#tUzv=?$Z+@89p zCSjA`unU@dk=?yVRw~?>D-Qhfyy4dJq5DyUQz(hw>}7gz6<}vEu_cPj1PGC{VaJ#R zeLdGwK#L<6GgA?v<2i_sk%QjbUl+UH=P~ReKR-Q=e1-x0`C|KqWxp|WQ34o>SFc*y z3DaQVWOt9$A-Fv$(__8q%9vAL1_x`-s(25)yZK<~TdcGqd>8J5*07*4?75ujYx*I6 zRr(j*)sHIOdJ?|<%|08%c1N!{WI#pz66cTVF)~tKjv`5qd&>o5p?i&JxwGHDRL%N( zDr{`o6ZO(U;fGY#=bVB3vW7g5$`0Ffc)e>SLw@C>N*C8Ne@l%_NDR<-J4Am|LtpIv z0j0#7-#BBl4Hx&HywHsBd$&(VTl?&Q$E2+tqs+hE;BLrwijH8k>x#&pAq(%eVir=) zB(Y|gaV_=bO9#r5ECG@z?ErdGnFG&WLRu@uR6<;Pa+Q6_Z3ZdeMR9P;w&DCf9y?mW z+R<|UTX1Fifj@V0$a+tuv->m6B^G`p?Ai3U&Z(5N7x~d<;<KbbO>4zayHA&jH)Sr2 zU+X!#*<UNTGoqyBF5RwRbtK@?n$;r{G}0*zm%?h>OydWW8O-A)$x2r>iM}oBMXMG5 zi1Isx#QdhP(mElsfiUkSWV4iIP%-;*oz)b!v<!{hr8mNh?=j*slifoZoQ2+^W_Q1e zsb`vLx5B&k*6>5htnppl-Rp5d=JRKz9#uxJwb=YyI6s;I23wewSiSw17WX-0+Pu;$ z9nRABYtF|K!(RA(dVHj2v3<<An;5L-_2NWhp8Ta9n&NhC#D$^tSXUlq$SkP6vS`^Q zv)_}-h=NJi>Ti@?nzTta%QTz**1~G8&EnQ2o!{)7g9ds<H?r{PFKJZL0&)-G`n=fk zFUkL3J^TNeo)r;q%ApF?|F^1;r5)a(@^Jl><<^9jB^LDp8@!(H^)JK!Z-+(yr^Q<H zFN*~%=&IiqG)D9%%#QyA1DMO9N{Ci_!uKTv%&nu<N6r{*ySv14)vBg3`v$8YR(j4V z4E%N(gw9UZQ}N#n7$70ESX=&Ov492L@V5nB_7leZKf(Zi=9CbvGQ}@T2pl^n;`&iJ z$k2Pq%Q=k|x*}(Q>-SH0C1#({^;@|_+5dy<_y3lgRs0b1HKgvhxTQzSRfinG9^~<0 z%w_*@YyO+v`I{O)2`;k_EcVg;^-q2i_P06xwITn-3H#rx|Ceh2%PqhCnBU4ysEhtB zIKLIa|H{}ekK|w40|YDoOSS*TOaD)~CB|C3sf}IP9zH+dp_gDZks|0xrPtMZEO5BM zUr!BwFyPj6e;|M5`n1NQL!FhKAA*|QdfGY{il@6Zqx$dOK=w_XAeBEZ@5i#WNgfeJ zsXBC=4EzXFZ2Dz>a7_YVK-zk8F30+|bJ*zR4YxL2O{LHF24y4;%^dFaDl5-Dg^t9l zIOiEnJH$8Nz6#)tPA4l~mCEXz>(Q(K(d@z2DD7Hz_uwPQ*mJ##m$n!5UtTa2ybAB# z-w6egly2wZ!el+&WR^TOQBwK9%|>|}tN+#2o~BD?-rX;fdTz2KauLJjV>_~6p6WMQ zoNlZysraGJZDW<Bo;kDjE{G!e%e~J%7OPHpT)jt6$z+c*^X9VA%erqK#8f9tqz2Q> zds-qxPxN}tMt(xH7>^YwpH-yQB(X7(=jhFRo6*ax&(FKMF`poP8Af4squsUj$ra-& zI>FyQ9I)9I@==ugOrDg&YAa3!v0gDd&`a6caek(`67Dhom85+4gCf^tBt|;rZliJf zjvNz>eg-OXRi|24)kwtYYogQ8@XphUPbOnDH)%CaJd>sV_=rG+SB_lRQX!p!nHpF& z`oyDiL<n_n+95||=8)pt!vi6oj`WOtdQx+v5vfUDZNTlZ9h>@+kltJ|QFQ33pmL`u z88?62F8uM_NUX`emSy!{cLY2VS4gpont9EPy|vP3_55i?UDLelD@QM@p4R1?MZS@^ zOCfb(ETTnW^o*fvvI5-97ln+(g{jBBsK}`=vZGHFJx(hwOh4|yT!Qq4b<TEN8Buf1 zE7EM)wC_mMt%xDNR@G|xol22s#&&gYv37r=qSSlqg?V&{V!q;smo?H+;Ycve%3R6m zPYHI_;45?=Hia%77rq$y`&NGl4o6ienaqtzW-2aBJ?)9TFEaB~)-I)TI=vFQIA*fw z^!|hiIO;9_@K~g&+GQNLr@nf*YzmBV7QyL~phvDjzrA<(f-aQ$eAU<+Cp%r^^~?Gs zPAeMVSe9oLS@s(6<$(Q2iLbgaiM;vYbU|^Y@n=MT0y_jO_8+JLOnX<RD}IIKT(H_1 zThJLX*?#1vU~#rH^T5%k<g6nvuW!1*Z)JG%czBgK`!TT*%vgL}e6-1lCSUjUQLx5) z)e=*eC2sc6zJn7HTVn*pw=$qd%g1Z=rj|ubSv=HaRZGu(QV^{yJTqsnV9KtT_8zNT zoUKGJc#H?V#_FX4=DLbrXv~d-81{XoyIjT0IUI4HXMM-a+vbiRGr7@}TdBT~lgUWh z_8lW1+U{R#*ygc#COL9?dDKVgN{OkftEXd3=5~BchRd1Gk75|CkftPbv!&VGONn={ zE`CmU)whXp%w*Fem-|k04x8MRSAWMSJMVv~CT<_qZtgzQy?O4}<y|WlM&hD9TIKdc z7wA@L_LjDeWR3mzWo$Q@8^xrzYBl;N^6%WKuBDWxoqw)~mDPA>vatJkE`u@m684EQ z|0O|qLIW?-9WasI?obi6F4wS3)#Y=7YR>s#*(e}t<~DOL#omrad`=i0O!GNzl9tta z(imuxfnB4oG&?{3qS|(okysD0xmVftqIi7Na9F2b$JBGZw4}YH8|tM)#cg%L6=Pe+ zif%<<+m}D0h=nxCe|cL7TkuH>xU=vb19ivRd`ZZbR2Wc<lKXYycIUiK<HT!|uB#rA zj})h#XhI?xW|4o<5(}hWI&x$g_tO!Dv?sCByN)y=HPyl!E+AeTE=+yt0rweF3hdCd zieBMn6|h?OiQ?)Q^%nJo-IDp2yr(X2zpYaCOi|^L?weInFtK9gc5QGYhyTNka&k23 za_SxxAHw@>JhZvJ4fRERF)Oxdkq!hNX(?u<lkWvw@;JXDd$qJd<(3n_$Z&M-p<?9P z5u44UPc)-enQiWAd6Lx;WeX^l`QIpp7scC7_2^YH@+%iYxiu=uDdH>F@61JlERYXK zsHHN4JIjJ^O)pGVvW;h38q-QD=Z7N6TeIM4D=y}>wihy-K5zb>RF1o7KqKZkd#+b^ zIhXe)D5?aYy6yVO&3b7?e$A(p^?(50Wp^6uuv!bBPOe+IV$GK7orYl(gHURmF}Rgw zYjvZtvhtVKtp>cDYsuyP#cTI>sSMq9A6>|LT=u@myFTr(&G`uOd@FqZvE`Qpkta>A ziD{!%cc@i$`EF%(M^|sIJ1i+1I#Kq$>-p`jYGA79?{0ZycG*^v5~mG7dT8fx`xXTw z6~*=o<N~kbE%$>4Hne>W;5aShn3Zgp9eJeqZOlOP+vsThjBSSrNUxO+7Sz_AS9h%| zpw-qLk~a3qwoN^IY>Q!tmY}0dlW{j{abc(8OvIWiCUI%;vWjyruSAUBRDNjaT6JCh z`X0gc)P(Hb>USEc*KWC%H0*OP*AMQH84WjRtR&36B-TBJ;hYu@X1HmbNE^i<SU%l{ zOj78JYHMs1Oj!ygosnhJz*zWi3mb%v)#)^*Bv;OL_xu^Bp*<YhTz1xETu@|o(4NvQ zzpGpNnaA8`g`Vm&%0?DLikX}ZmGe*RRY?;G7%QdeLymKUxEEgWZ*xiM_33((QhCL% z^Cn-(7LO}l<8N_INvgQAL5JS3MOpj;QuZ+~EZDHWwn%O0Dl*DPdi1MO)GFV`*&pkC zUMLnzM9ocohl-DvQ>-c>aXqz%?~f8jtJWXus+CFK3(|hc;n$TAWf8OdyS{JtNM-#v zdO7%kZjvJTXpcN(dBmNajb78AO?$RXtSm2I*o95=s+esbPSa^Ld|lnRu92L%>s5z( zbZcYsc(Ux-lDppZo5pAd5^>Deir7|U=MNb`DCw#j5AZd$;|desxR~*?JFd;9UU*07 z$t?>WZkR`DcTMv$I&Vx}_TASMX&93|_sFp9K%s7T0;jd<1~y8oaoZMl(#ouFGAx7O z+l)Y~RTRyrhcz|}$L=QP%zi7=oF<>zeOh_77cJhE$=l^4*bCFO*gPOP3ETylo#M@c zu^yFN{wvLr(_QOTu71oYqTpNGAo=gFxrrM1{O~=$dVUA<w8`fa4WC@w4x5ZF9IV+} zXjx}6-IXXAKb|ZGHyQd`m_3#xpY<fcDih|j!(?=@wl*Qsu;4@{fAaBkZ)T_K+f=>& zL`{atWNG8cmWxW6vW{DdN>wxMMxSMr?P+~`Tt3U#f?0mQFg5qPV?%Md)a;+)P34G^ z+|-K$)}P*dJ17-sd{H5mFo$F|+hs|D6>AJ%Q=M~g-|SM{FWu8}=*vk+-$C@n(;Ln? zr`4R(eY0>WStELli>QknKGdQoYvOEE!7E&`?u!%KT=x~U^}Qa7%M%GAm6h)GxN286 zL!TM%FWr0KHC1}FO377F=?=k8DYGrm?^YztRwbwx+stKf8xY<LbJIPi_J7+D{Km{Z z#sr(4A6{fo(XGyQV87NJxC+oADzt8VooxbhMLyfbx5%kB8Ld`+kYrap(!YMsYgbI= zXwt0>h(mLOcN=l7HOZdE3B8$7k#*bycOivC8yK$@S#8fl-b%=9emg~AxE*=WQ`&1> zwY)yz^?um$8hU*~nRaHjh>MDEo1d$S$!MWhhFeDzcIt9Dyb!QbS|iYd*HT}jF&NB% zL_PeXYiz~#AJAhD_#Ce|J;%Yq&fT?p?9>ci=+*WomqGA}0i4^FMt7Zf_ZJst6Ezg0 z=DvFcow5}fI)R@q8S;>_c!eY80JW#fpf;`<B8jLMK;HOICP8xKu7043Ua2-0EiBup zv)kl^i+7yXD~$+rPZqo5%Ez<v9^bwWWRLxLiBa5o&!APC@p((r{dtEsQPl}5P1z>P zyJK_7?-YW+(N856l`Zox|BfEBTO7BmIR$BfL;;JViYYgo{J`z$HCZg3?%HL-$cUWj zhxShN$eZSFJLIVHymcHSZ^URb7NuN{=;1%zGgzA^QlH*-!k8@HWZ(N*u<h38gijU@ z_mrE50B5|VT=kE_zdrhoHFHQX@iBxd{*zCdb`mRD9fBzQdc-oG{o_)Lt+{bbM0tO9 zdYwYW$dRr*q}u6<>3TL!gLpQ|WW34D>XU;Md=!&6w=0?Op7c(!y8q^hZ$vA#jQhFA znI?H6L*^;TM8`x$3xj0msIS+r)v=>yU4g%RfZLr!I;ECU7E$v|eDrMX*{&plJul(# z?Y*684J5sZ?pm=@2`uq&_1*{v+qLjbE%)ayZIn$7hp=X-O}*ywCZ%-q+Ty0%{QG+l zRW6ja$n%z>Z`Aj_*WB4La#SxR`N1Hq=bbCN9)Ib$CS>YK#fg$H%r@`*=T`Spd%b2# z_4-!X*XOIx+MXp0jc(lbH9W1?OHcdGH@fWDpl{@@HpRDvmx9uPsy5Q^crI_+4X2j+ zWDO<9t0lLN?7^5OI?rq9*4&@lZiKv>)~!OEnH0D-b&h3B?u>m<`*n+&Qq6hSu(0qB zDf`lv$)sE1R|Qj_Vyom$$0}5UORTd=880R%lfiPPwa?s0E{xI3$J8?y=X$H;zP4}v zsH<q0CZB=r$#o6DvK4WQpWd2(y5=7x_kC-@7s<kY>2$@>4-KxDhTV^yE20>%VrH+B zI!@M1yxPy$OZTi*i5#V+F|Q_n?^>xhNiiZupH;)IJ($rh*Wx{UbM(TS!P6X*xYv8p zug|wkKLX{0^evZUN5j(~K6eA%NW+9tWt$a%ISidjOl~mD2H^9L48sD-??8B3mvNRp z>-?H5O!^5~{-TAQUG)p!Q#IzUup8>{A2D((9}JfDCL-atPJ691bnH5p9IoSEvY`z= z(c?e;g;YFsSG+>@lDoAPHd1a#|CVVgL8RWGM9awCU@@(ZR5C^VaoX^Fa@d5A>@&NK zmnEa*ekhJc?P$7SyYazNFF>}*U^1)VhKKuvrCjbwb$lzKTHx`NESTgzS08MfWUZ>L z9Qr0Y`Ch7RG1hqeQWw*{R5TLAgw)5%ezE3>-+=;3D?C&&u*;PBrV-ypm7nOJ9?6o= zO4D?7dvLes@uj+JV{=Z=6kRfvukC6&3=H$Y^fi_A5sZN4(~=FoN}tk`$~v?$2!#UM zPds=044?$R`(*hp*H_)rW&#E=`u?-cu1fWLqpdUN8@?9i#*9j3_1989BwZx)X;?Y3 zXzOt;&6`(LO-}ILy(m2s7mHBp1JX&VW4cBe^^BLVBh{cjbAOf}m<B4-BJ+J)akunw zH8pMjj`9}6sgH*wCk%isV|~At85!z0a&BmNv^zO$(3&X911@L{RQ^`z+uS-o_pvl+ z@>$x@X&-Ix)=^9%yeU{m?AS@~d%mISwZ;Qu4?INi8EyqO))gt4`hkC<b*a5Y+Z(Qp ziJbcpE43SSL=yH1sD~r%O@4p|FZ|4Ei-A>jRq&HD4Z2XC{A%aBtUr#1MW(fHN-?%` zGF>&}-I~9?h&6QMLf*~d{=4tZS0G}CTIiWW^PhY_DUd~d+pe%>&Ug08n-0O}A{%gR z51-b}zOj^h(}i)cd0|^Om@L)r+Sx9>Z+3-U;&fWk4qz@Vl$EwjtBxwioia?Ibw9}a zHdvCI^<w?h_zOnAO>udx0&U%w(bO*)%UC9)F8%dkkKAWgB8bsPWe40!uG~B@WN=M& zTobHSbs$pQ9x-aAu|u7+J~-5U?|iIwrguiWIjp&p-ZIyBO>%5-G}8C6Vt3Icnkx|Y zn{m2QSq8Wc8^*fazVj|6BPkU{t>QaeS1o=UUT8QF@#AgHt=D_CZsu)W{BbKPf)f*e z;eo1x(}%F(2Q`ha67p7^z1hdNx&OhOU8413XmG+&wT<4fK4kLq<?)@ICMo+#Lril+ z-VS+LonfcT-yt~%3OV(<%_+-Ptnqpruu|*W`O)!~qy6O!ZI8w2%tZu3uP$H9Q`|@I z^F1|n-AqM7Rf9{=zKD0F5PStQu~9a->JP)=?#XpuCThi9PlM>!akPU~(tiE|M!h$> z1C$}Dr)<}5C5yVeoh`f-XS%u6B{~1n52y1Hp|fQHcf{?<0{`A-e&lUx)f(l>lCu1n zKwf3tsvzTf!?Mk(c(@5n+`gyf85Q^ya?O9NKX1BONTLKF1ffKCo8mLh?#o7O5p$oC z%|?Djho^r=Og?5Wt135qMD!=y{nry9loEZT8FlX6(G_kC-bvU~#ghls+tn6!pUgjV zbn5cjysP`4DPDc4`${GX_J{5<-0_p2O4m+2p=Ro8FDykizvAZI(KFo%uRsvG_kX&! zh<9!3GVDHj)8_>A?d31k?m!Lo9!G`@szuK{+Xf=zMaikF+d*n!`b*(U@MrMmacPkK zzUCE!wSj&&<QIHSFiRu9V-Wt>qQ{EZGwRKn3%jdsUMEgnRx4;9PJX{3L)z2Ca6<0G z93=sSUW*_CJ>4k1IEMtQ%RKk$=+iw%Zr(vpU4|B3HF&Og^|tOii7437Vtm!qWx3+# zn?5BxZ{k-_Dbx^+!}BBWodU+<jKKO9WJhewj6u?4g}8lXxTE#vb-7E>=f7@<I`{aU zv+~@_4Xut_za%)m-{g1LWRqFj^eG{cWB`%u9@T432-6C74>ea$&y6%H3PXM?HI`-G z613|L>YRg=EA`|EhU#Mz6mMef>6f>5!Dkh#cfTt9XfNu$bb^t%Ugi5QAig#ct%P-r zJu!&_<?h;DR|~h_`3-&j)OU;;^Q7)$#gmuR-$EC5FD>`ta0(#K%Ksk`M->Dmr?wy{ z4f}`79fufr#TcO>_I@6}vFG}=j2pL{LT{Ky&*dDx_3n8W=BB=1fBamII92`PX~m+0 ztBPe8j%~{D6X4b)M1*?%k2x~1my6*}&X*@ECLeeMHQn<y_m;+o^UHs%y9b&g>K5i_ z>xHSh(EZsZuRv1rRi7{0GV;x-LQZTKhIY6p$TafJQSItepzEUXrs1yGDq|z<MysfB zPhF5{`7TVMX;w=whI@`3g5*S1sO6oJ`(XV2xLu0k!bt3qwpUs15QPH)G1KGMOfJe@ z5lkba=SH4L|0yoKE>E>9*2Gvi&5?vOdy%afq>#VY@$Up2SVmO1qgCQno8&Z)#hK=w zT#tF*tC2njG9Iol9uehEw9wPH?&qHyK79V9jFK>+l;bpdStg%&q$YtFNMC~nY0ecD zex{<ld)q!E5C;~t4H|1c%_`X~8>LQFY&SVNEKF`H-kSy@<Y6NJ&ek}5%~k_1V*UX} z$IQDDj;fF6AI~;dlh<{EZ*@S&d85(j-I41t?_EIRaw&V8y!Fi7Zkzn@{iBx+%Qm<= zifpZD7T}79mx1iFj^_Ry(+=kkO!K=i0zRu`r%9`-zpZ=Z8%L4(#>F{1<=&|3(%4&J z?E|ePr`Cpvd8HOzV2=#3quS<1lPeF~J`r>Oeu9*u_n;qJGo8x}V{hQEZchZM(|t|i z(+(o%SNz$9DZ?q5w05_5zf7UeelZfJy#M$=r@V{gOf@T}C}Uqqm92AARVMHR;~Af_ z^H3KpG3R!f_`T38qL41kGW&k*4dAGi|Mc`KNZnn@I0K213weijL>#t`o|AZc_dQ`n z%<0j~98n(V=8=4Taewfp$zB7~*O&uhDC@j?hOtE~upzBkbsOANOe1-3xqU{*M8*b@ zheJGUqI<8Lm*YU!DVb2l4d8x~htDY{No6fA3@`e3nFPPR7H%_tCLw(1bb^A|37Pk| zJr9vf{N2u|R-=?Q0hD0*&zsf(o?X}E^VvwWr=_DT$4P4R!r-|w`(he6U;A)lzLOa0 zMZzm!gcB@JTy&h{HO|+~MqD$DFIXz(3kzf$)`6?dAdR<|2E}Z$c)-K7Zp>rn9a1^w zxil^W&N&0H-{kp9{&!(t>-o7o(Y_5cZ>m3vO577exwxF9Z@1SI9lh-T=eWW;(NX1{ zY)YK>nww{0c8aCYWtYh`tv$Hy(wD>d3qtH3i#P4a-H(ulHHfMC1zE-poTr)Ym*`rn zWO8h^M3*c$oU)hDYFzUyaiQfA_mxRz))^BqVct4Mbz!Z9nu(OWX<WuI8Q)<-y6liH zBs#nlO56enqdym))D5!E-S=L;(1cj@)?0MX7p!Nssy^fvus+8(s{kS;mmkSz$^JD> zZC>BLQ7pghl$T+p#NooiR?Pw*SqQ*iOp{{f1SZU`e#K4)ODM70UvVb{_q><8?;SvJ zJnwXTf~n>7C5>nz!Y{|VZR+vLxTW3%P*S7pu&3o8xXQAPza#&vniO+SGDj*aDDU&W zv77u4`Hw<>*CIt?nk2z$+n>B&YH*5{7F)jFbilwPCqFVg`skW^83_g>Nat{$t~Xdf zT}Raf65s|Hs*?l>s!tgBT1CS35iW`})_h&nzx@D!xmWS5;H!|<G2%@IB>#8cR|f}8 zzC3hG3}tYjne@Exts4Lej)?842dhb=*Gbfa)KB{=Qs`E@=-!<UqA}r+t`#puWAsNa zvqcM!>l{hzOFX#xkcgt8=hWK0Y1>UBVNa6WpD39|9{yDIKF^1O`(U1VXIcdxCcqv2 zN*=s%NMzb!g~g0S5}?u<R}mJc$opa^KX#KBv{nAqtFIg8W9#dI6r^?A47aNSDQSy> z`ZgNwN8gfe_RdIr(%sk>2{4<RkZxU_ES!QY!kXD~DSKAYKSaymHzNX47f8a4r2X$l z%}M?4#k+5*bXTPHxm3Ms<@C2dm76yHUC>hs2NL~c61sk=+3TZXOrUrZym5^$ci&>u zWrs9VOPk#98e(4oQg5*57En9D61(bevl!fOZ9UGOVd|>}LU2bvVe)*AicG%*6kB}= z;0MhXF^DImvcgwxL%%=5wg60hbXa{KGabOd1D_87nYe7zae_qZY56|Wv7#2#T|SEQ zMv_FPKjqS!YF9wEcUPrA`euF%)PE@D)(^N(-hZcGi?EP39Em=2NAL`*bmi%ZwnXPn zF))$jjq#0AfJx=-j<Qya4c?v~C<`*&6)`C@vpP{^8frTeKeQicDCNoZQ-9*#-w(<q z-=SE%^sY9`!YEz2`u3hYBnZ&<tEzR>b|7=8QPpBE5U*kn;8lQ_>_N81+5$b-QudxG z+&l+YQP`Cm0dGYv8U2&&Uw1q-EYmnUzSIF}nkVMFH@X6(m0%{*HFlKlW9|RcAwGwJ z4ng03rM5K3+O;`1MP?pJM>c^rI*;QLTeIJRHC}xiboY`85MWTbAC)|<XpZRv!WaAP zQ_s*BM2jI6-KPQ8Usho@)+1D%Me?TURSgoCWDkas`nEl<*aM_u&$!QK13(;}G*wYd z$vz1P#SJlrqBa=v8m71s0Hs%mH{Ez?I@>C7_?&YQ@{+Q|+!>K+<Ze@?OmN@{RbHP^ z3f4kId)5L(UdTxFk6kW?^tlDM)AB23zG@pXmc<+vGD@J@zZeC}tO0~czn5bj-Rnj8 zqfk0kWO{8u@SU4`gd3t3ona94BG38G;{&1nSB0&#M#jQEP>@=MyO#Lt%BtF0Mru}W z-ng;9rhIXJ*e<dH<V>pq+wTQlCg1hOj?O*^n@j_B&Ypr!(3hBUC)eQk#6QVAlJu}9 zaaUsLaLlq5GdFf~y;98*PMtb+CJ{0H=+KHVF3V%cT=Tc$`M50Ribxva!UZVxC;}w9 z>dmB$VCY7(*fpu3!mMiXQrNo+=1UJ6c$caf(Qng(F_}5jQV~%`F7izh4Bn}FZu`P( zm7r9d*cMnh86JIj%|DUJNsN{=CEapo!Py;5RosOX9;>$*v=Q4Zs9QA1?!u+mg@2aq zso9meMW@{D;ccIne|q^hto(<pW<F$K61Hu1s|YVG?LO~XcWUeYc-ud-?J_gu_H@$) zMj)k0CC1#Bg{eiq`1%sq;ZvKB$Y&jPUkll;ep7>@S0K{_3^DB7>El4o*5>w>v4YP) z`pzh0&R+gwwC96{WSR4&HeOSOKg4j?z(1tn4dBE%{UMMoR(xxlE%y1WicRQ|rg5pJ zXK@PYAp5#2Slp)_msL3;ahP|{KcwT)pPoRTjt+@Fp9I_e>27e7dV=X0^^pQCBr)8- zrQq2<*W$bq3aq_k@J5<8O=>SnvMf+61h-C3rh1oYq|8>CW6CCHA$?gj=dw;)r7_u2 zRr@<U^Y49@QtmXb9S}CSHX6?|J3-<^vSYC2ZXy>ov|b6KWef=)dHPR_1Xh{ZXm<Nv zwUoV7*7lI_dvH+6)`&t+0yXrhB&x|D*y<Mv9qJ?V8fu)90@v|=`K;cH!5Py{vBu|0 zA#c{(bu;b5QqK;c>h)Tm1R*Y$AcZo?8llAB140=%z1c4gXp9rzQLWMt^4OPh9aCXV zBpuZJE;3^#p9Ece1Kh7&?MGj!127jzz1GE@GLDh)YSG@TR0Mx8rKK_|O8XPXqhB%& ze<TxRQ{6!Zk(a$Iq(90@WXNk<7HmmBfG0n!AZc42UllzNckgNGw@G|u1`=9VbbOXC z^?;9v;rE&zL50fas7Jpj%`8yweHgRs%fS{Mv&^W4Y3LCLwHx1Bi}oVw+@!9`nI1~e zS#|jDexLw}E4@!fi5*f+KL(o9ha)G;Qdh2y{@aEqX{9`TD4+Gp;@zGmY&tv@)Yc}X zE-TLWVe0GkI`dpaeM{QfAlKtBA!2#A5th7Ep*koVT)~?JD)`eikER#Wkgiz8NYglq z*cwG+Chmg%nSDEN-ztaXd>E_<`1Ck%^cmXRz#Fh0b;7t<8km_?JD$!$e>x@#rnCaM zwzhT;I%M;zLk%;9t`T0j4{S#=LOx6CL@ms9p;THrzTiZtYi>KUr27Nfog<F5*8`HL zQEeLA0ZZ{ZWABia$}+n`u3N;dKUsRm=$6P##$<U_-d`oM_n<9Y9e&`w>oU=dL|xM> zaR-626*iIiDuMkv*8yQ8T9dK_2Nu7WEIeVh6|1-G=p4=tCd-Eo+$>3pn4N&$$=z;Q z_TIws_*;vGzCqynJz+0qwFiJ{gtq&cq!%kH*_|mmo)PxVitkcmLyUTH#)(WHRZvV_ ze`noC#Kzp-JFaHYb4~UrRU**Im|G$)Z&QVlV12B~+@~AuO~w?V7@vB7GNnTXDE;lX zd7FXpQ<l)9m@5k1@`M{egorAZv!}sLw}&aT-B<^lI$(s3;^p%<DHX>4z1h*GZorH* zTbzwtYN<SyWXk&KBNva2{P7P!5wWkJvRGz(eq3yc%`ONH+l%erfRa9yxP#b?5{g8T z$R$|`ec+Tn7KKcM!=K7LfRou|z}Uq13(O3tGA|ieez(p`f-#}UwMu2xQ|X7BByT_1 z3k;KoJn+8cLkm}51QL5c_Kq}gvi~Q8@nitfcirh)9VnsJeSQ`fruRhAIQ;zu{lLfj zoNqrAHt8@sE86p1ieA{JXnDqa(Dp9~J&2)_PJf}k9pLtx&A8n4KADQ(dfVarubM>8 zg^Y&Hp6ygWaPRiyu!_z3o%gF(Pxd#1&YH84-9?Po*&Wyn@`>u93_i0t8<d2M`<2@l zpP$@Z)z@7t_<Vequml{B?|*IU#r&ilwGhtjsy=f-RoEj>8F+aaQ(s+uY>x*sJu+`a zkenlBbwSePcKdU{6+E|L6bks0G72w-W3x_9mv|fR;os+aHT$Ptdr{j^^xBq^Vb}X? zMPp62PV7P%a6tMBCYv5Ggq*<=Z)yzh(dqf3xHz?8!f`6yAjtPym-(07sY<2dMl8`c z>t|==myMlB)bXy<>dgqt7xZ0<4c+r%SomNF=u}}AGg~O2zI?vCB=m>xUBQ_5*!XL^ z^k0v*?0jYx?5Mg0l)ZJcANuacRVHWLZdqV?I)uCrWGZST3d^;#ytU+oi`!nGO4Qx{ zZpwbI?5kJ4H|wjBrZ#|q&!RNYU_0a86KZ?%1pI9=8g-Sg$HG#nt<yyp$6j3Ezc{Cs zIz~^u<sRG~R6|*TP}H42ApkW*1;brmLcI^Npx|n#yJeLHusXmg`bs>~o^<w`b#;N~ zj(KbvtVWpY^zLoAnA(1YWZ`ltQXHwa<;BiG@cc!MwNt7&kS)uOz^bi1A0Hj6sca`? zeG{u+j~H+f-81uEKG`uqeye$9<X+SEKf4gU7ZOV;`0+yV1Adv_;yJdaD{i_MT^Osl zq&dKC{rh<fiE>lZyEA|89b@0Q<|F#%+xr)3+_nvOxNhWg55v>ymY(iW!e#-dNSKxw z16vbfyBHL{>>^QUd>DHTEH|ghWtY(XRGs+Yt_QISrn-Ag;|{x3vgXP2_gv?@^+g0V zU*AMxmfhQHx#FfsJMdD0&(V;QbnCH0igk?hi6`^Kd+YCPCI9wTL}I>+74)<SE`(=B zwE<(PoNC?>`6xeCu?>-%C-JtrY%awv@z?WwF(Z<1h$2aMp|qlFvoF%4TauE=7FHz> z+}5hmSud`j8w&S1iWIe#(su0JYx%lYjIj&DZ<`tbc@`+0(!p<I)qJf3G}EPTDV;cu zEBU~&`Qwu?!+tX)Nis`rOLM+kdO4l+t`%}iZpU!t;zHM;9b$i>hbXV<@N1*S*T5c4 zL<WoJt4lQ#L{@{)Z7N~SzhePZv$k+K7AvzV>M8*f8)f@8tq-ZcVB{upGUzYvsP)>$ zqJU8A>1W2^KC{2LBTc-(R}?=}D4U^I{%LhjL9IsZ57Ijo!-*Zr<h7~6`B!=G+3CTd zE2Cb@XOZdr`{*mXcz?z*e<Y8gX;-uJD$d<B9G&TytVo`7b>|>oj`zQ=H=6vAIOobN z+<V|IvDka-TBUIQaL2{G&*vt)cSnyStXcUYZ<)h;5^opAm`VT-Tc-TjYOK)M?69eH z+u3wvIyf{k514qjRbOYS{9}?!nRR3R<tg2WmS;?KZ!vHjSZBO1Xb83QQAZK=&*Qw9 zruNYG;kJ+CpZew-AVHN-eh`<G-r7mWHg!EHN6}{{=QXz9AFi0KOQmNpwnfc-@A3{q ztm??0s&f&YNoy`wbr=AxIU7hK^{%3OMknHP#$Pz4I=}E7;}_km2KQKZvl^9!fNYN# zfnknkP(d2z=~uyE!w&nZ^;6lsoxrc4q_;ydjdftP{`=_><1aCnGwhs1x=Tf3K8vMb z<ml+Q5D*;*0}RmFh~t8iLHzMQ?(aJIs`LP{Fy#AZud9?wNKU-EW>}0vWn29UxA8Ce zkf4=W1=>37{iSY!sTv{o#SgsH99Y$m_nFp#O(Bc77;1bw1F=cg(3Lis3*h)Y$c=Sl z_>ta3PS<*TyC@2ZEg{=D&R-Q{P8V;R!YG`)j{{2Z{)(4TGBH4{xTpVAE1!^iO;-%% zSl_KqUs<J<*$}rfBk@o{{3I2Gt4{|bn2P4V*n}XT&s}+{{dr{n)#QnW(LqvQ;?4GN z*66?+w#5aJnI(`n#fZSq=4{*4tQJ(3>xQ@aB1O-LKTB!g@vr6sg6<^M;bOjPmf`&P z>%^o#4;4Qw%Qd<?_=4KfBh`dFUN!sM)mK78EQlUF&xMN`=4<vu_sDCEQ64q;rP@`c zsJ~zJml>^AwRaUAf4oxDw%EV6*8fhi*?s!x`_JjN4a?pB@QOQGIrH{byzRkP$s1^? zUX4X{1Fn&a)yfH8{$sezs8kI(m$HI}*IUNx3){cyush1V2shkLs!`t$8I5x9%c!mL zdYfC`U@(x^wa6#r&K>X)&*@gVzt5v0ye>6UAl`(`rLr>fSMS{X5AQNU>;s_cEw|LD zTH3{Cx8RH9%E*Y}!D(UrYOJD@yg)Wgv1?WcTXF;>jtD)5FmKw$gCBJCUnkxl*Du)N zcp|hDw7)&SIcHm&9hY_JM0kJPY33*B1C<Y3F()cAXWm?^JE_-^lK0v6)<Yg`2>VUw zX`W<alOY3dt~;IlFvW<g;$)n;(5QCn%$YMC!@KM<E|fxG!>gLgA>Tozl>E%oZ&}I1 z=8Zqb#bcO|?JT2*RWdoiop;c4m>D~13To$uo6|F*JR+yNYf#a7n&Y?bf8E0!tJg~h z@z6xieNNZ8vdw;{*&oDLLP5!K3Iqglh;l_8;7NH8Q)iWa8CYafh$7^Wgj`F9ZjNS0 ztf>!>^CrU+MnND)^Yx0A2XM!a0e9<YAAxxz4%}VAYDV%5$POSyVNWH7a<JP~h#0r% z)@>jTGUTthA#`k@JcTUaS$#wR7c*nO#E+vOd%9sy<nqZ2e`OW$#RqCF49k`5&kJ4W zTJ5Z@Vxz*yfBFB-$lvUSl%66g{=f9GZv|;h1Dxe=Q}*vizX5QFZ8RjOssX9HWLON4 zS)emd)w8v^uP=uvS6VFz5`hLB5+%|CVo2Q!xgy|+P0bx^=tgd?qnkE;+nN>#$^u6- zVvLj@>b%p5%{nzHhMJk%?I!Y84nAGnI_o@Pjr{y<Z*W$fjHC}2xmVBJX~QPSO&KKx zmq&F<>T8>x-zDa&6m5LYg*=VxU4we?PC^LQoc4K@Sj={i;8Xy$2eo4x_=Yj3*R5Pc zWl4#$G<>>m^r2iOcrhZSP2!rDE}xHvXB2T-1JA5X7x}&pJT{H9GfiLVf|#$iL}h`T z=nHYFtoHavIN$l}b`dXx?&4gx#{w;T0r=G4t{k#&-3)1!-gxtZ-qA}EVw-k6?8TTJ z?C0+mD{SQ7{9qq{u<0GhNwN@w$Ci2l{I?>O@y|t1v|LXb*uDJC(P)q<8)Hgk`Iaa< zCq1lnpU@sl@0@#nAZ)0}`^VR}J>_E!xveTg+hul&4js1HtFUutywK5>*)2MB*KM!D zZq+(#VbaOc)D&YnJNV{BKiWbHA~Pa<Dpj#u=J=Z64#BnQ_f^K;U32d{!6Tx+xw^ge zH};#!K(;DnT?}A!8ywW$gEGaMes-VzJZ5Gig~*if$sBS)WHQZ?dqDcw|CG8>ti{i{ zk65hmqwJEIF)aHI>5Fq8-$7lJP5D;Y-J93hJzsHi!tLet8yN&d^2VsvLWZykWu38C zQ&3}5HypJX#-0DsylXGYV_`HoA*^HMk?gFpK5n)s@K#bB2nS-VO*c=vl-eUaNx_mn zR6QeUKfesa_~|cMmAlfKuGblo#)411v!gwyXSBDMW5y;V<OI)0EqucwJ$IT&9L`WY zsbG5b;SUh=Y$yNNwHUluJL9&tMYWYQboa&rp^6>HZ3zT16k;rDaWaZp;3{=Vs6pyU zl`{mXtVqMjCQ7v!YVqSnZTF+Y`XEgDvc`NqM(o5>{jouXh2o|Ln^bzjY7<u8>Qydc zN=@4#t@oN=1Xc6!M;@B~{JeV0ZCcFpm096_uL>|m+i+5uy%)Hr1faSktKO*pCEiPX z1Sl{c<Av`DyB2Yk_tTuWm5IJJF#WmeH7W5YWb9>|o<AVsjI{oc@i`t1=NEC*uh(mt zsXjCet6p<(szIj7cz+S+B6N$z_AI5WlVLY6P^yU*yQ7Ow?Em&?0Wjq=W^17uVmXrd z#|u`H<J39%EWxdORpN(?=QB6N3IUySZ%7Yq|0pZU`ry|cUa;CtNlC2mPHxg6-z^}j ztNKLG%ftQLW<v9^ZAu@df5Oe(85GBYl6B7+(;o=%JU3!?@NWHKN!hyABER|@gxs@3 z)`#5Puz5)ScVn>`Ad?S>Yg%O_zyiJ%akk%ibY4rshf3P3uv|W`4-+kbe-{-s0-Wo# z_nP8HD~TyP;rbDs`?5v8reh%QdO<IqR<nE9(8{FA*SO0fn{MBN-rNMXW0Q$XEEZ%_ z!LL75Z8^SSH<*f#@Gm@(AToArD*V*5P{^fTQ0a@<r$kncX_C!F<9YJifo?`!qZXuz zOkYADIf#*z`LZ?W0>)R?Y#U-3p<LNCGNgB%+~_gWK4I<d^1(Q(q$b(DsvZ=-d7!mt zQeRO)V44sReq5zR>{#HA%X>sAIsY}QE4;AK_i$5%obaA<a+{DJ6F?A)`a70=8q&AT zzr&c4BX}O)^mna5!pLNIG+fav{xni){Hbqkf7Pk2I<u3*dV7g^_N&!K%lJduo8e4L zjVsobT{83PuEi;|+ViQ$Wp_<<7>7^YZg~(^0vdw-y!Wp?H`!B{O3lWmdz(iJe_LR< z;{kOhuqqkO-#0A)nNeXt<_$nni-mD+p8JDVW=FZeHZ%WrH3)i*O1%a^e$H;jFyQ0E zlm)o|hm?4#hkyF6jF3My73I4&9j;E;r1Z+-HlV~ow>ZzJou=`!QUpmEGlJxKzs@3o zVE0(hpB+0)POLLCR{gmNO(}o2D7%{3?Td4fI^lQ$q~Yla3zy7dIdS0@ZaZaf{(6W% zo?!r*sRN&3*6wx`F#_$&8#ivO!81T9kb2@0rT15;o(Rb)FF27kS_bl*JC9fezoNz6 zafDq2k?UyWj0#J7o1uPoNa}ejyRKK_uk(&y&rOtLb|>jZI&|XCB&e9&(E5{A4p0w? zP>kz-8nQ3LzX3<tovuDMdM8d6m8z#uzjO5RZfF;EhfHWB_;C%jG@}CD@uvkjuPuz# zirs`dxU(YS0m@UpWYtVISt@j;g2v$fr|}zg)<yhmVia#Q3Y$oY)2s-olX5DF-jl0x z_rxvop_V@eg$>XhdtM^%ugoonFhf`MM@^4*_psPuuA}GQ?<~1wjV$VvvM&h;Ye4jR z<!>mOf7`8dvXWXOy?UjW(rMs^%E(@lReJt26|&Z>B|bH|@}WwhfcrB3e<F6C;T!Gm zn+o5SWu`M{c@B-N#F7~&uM>G9MXn#O9y1XBqC>>Y_y_gAZ||m8D28jDv18L3XWkh# z5?#*)krLOm{-GH`ySZnm$|*$nYX=`9XNPLu2?RA0QDrBM2U4QpuXewi^EsqW<$>J( z%LqjZG79okf30JZ2=t2bhOu(PD}uWXZBb|c54br7Bqp5zf%ZTd;s0Xqy~Co~mVHrZ z8)-l!2SKtZh-3kk)Pm$J0+KNxNE9T;Mg^1%l0j&KfRZHVpaLQ}BUvTq43h7dleOPo zd!KXO{a(25yYKtX`eQ9u+jI69HEPtTs^70_R2$=#Ox%ohHFFt0F2;jckS(Jgo9&NE zSE_EkCyKQBwGMLi^qM%1oo5{nnh!jOceaL-OPLcKwX>SX?OVAOXrLUfn)gj7bZKY4 zVU@6}ns%8Yi=OuD7DdgQ6kEp!t7;vxQAN_67`LrYXev}Xs$qZcHgkhChBoxupo*^I zx%uWM30@M@@tjRzysp&5u+X>Yxn#gOnG9M?(PwabXo_3P#mrl?)x&S5JYz^3+5Zh2 zi0R?t$G7$_d-Ovq4Pvp`KlzZ@`;?c@UPqylhOJ`1Vq|CxVLBd{<Z2e9n7qO+6R(xF z5}<Qob=-YbrF5%xTHT)Wt<`eOAVjB_n%IcgR56uVghR%Wnk`PtDC_;-=@}FpO^4?3 zoJam3qlfwyb3Z}_LwiNwBRR9*S&GL-HW9u!ENuz+?(R9rzfwW4A!(v)XB?t)d-z^s zL}38pX77?G-{!HfC#n|by+;^OD5a(SamKnt&9=yymn0$?u-PM(vw9khER&mIUhe4g zPN7v$rsn=6lPF`uR=0+eOLe(@+s3D#8`U~+0FmCIDv|HpYxZBO4cFsJ5L-g|t||g6 zXGp~O@^D%}924GrKuXK#^Fu<?PcA;(Uj{?VM7{T{iQRAiAi}jmf%?`f0b8E<3c#Fu z*!=Ad^VT8g8>4yM{jufTo9Wa%%LuI|&-sMjUj3iFW=}H8x-xBLoNblM_S0=KWxn^S z+Qp7)v%dn^!YzhXVPfTGvi5E(Z{6q;ID<@Z?`dbwyu*zzvzAzF#-z@^j$UuY3iD5Y zW2UYq@wtw>@iG?m4u_wy(m$arl(xmJt@<z$kOAK5R=X606QPT0w^oO%E6ioXnPlFu zFj4q)0YZwoa`#erZpxKt{fm*@)2>`BGI`C^F8X4JfV>=+==k&s?~Z}`eCNC7djK(U za^Y0ZGpOjfrd!z1mLS5b+s|p{Tp4rb`=$9m>yzJGv~>$Ovw2J#-;1a9atjP|?*vkF zD~>ytmABH)*ES|ObPL<!W$EL9Fe9&GqlK#-;3@)X<6|4VTr&99KApX}A0h+TCF6g~ z)j{aU7f_aeK{|*653<2S$j#E4sviFK*5wIe!(?F2X#R6^w%JkX&>7jMT3o2D*K%V= zAQ_-w>@qUWQ5lC~0s=jQn>Kd5wle8K56Zq)HL7sRN&rY`CL_T{V9?-saQK%DPlW^r zT+M)B%}mwhcRm(G8Jn}6Y8}hP*|LVdMTFQw)7j_A2L`Ecv%LobwD+R*jm+LTYHxUR z_6^f;p~c-eu!P7+<iou~_21}gXheexM%8-g(nAjV8^90~5%th`57!A*3Ih!>`p-0^ zAGxr#^Sq4j&yPo;>}82ccD7wAYk4*{pVjxn9)6&tjNvgH*1sJmv8ovmttPRT9-cdI z|3=-d|H;7A-GGb@a)$Rf7QANmfgd(%-OqohdBxc-V5=Wu&DCfs>Q|F{3~22tHW@K7 zKg_))LD|hz4uGiCJ8-O7U(8b=wn=|(rZI+W{pQ7eIBGoMAR`FQay3U!BOaQh77wvk zuFo}W0Y&^js*YTi#(Os8W4xT4S5Y*3-DH_5GwL8Llm6U+<tArt(tpJ;r{18B4Qb5j z0p3@PtlZaT)T?7C5G=&(G>&#rw9<6UbrT~X6u2$hX#3+7pW9I3Nq4AMUr<QM`FlnQ za%V&V`p&=#`GN-i%5wekr>+)(aGL}8lQb8;0m>l`;Ke-dBx56&u}217EhV`p*mV#V z0f;1+wCi$^b{-k~JSBpgEbPq?9*u#C*TKj{{K@Xgaq?b&zE@PD-BmfVE%$IH?whY4 zRKvfNsMC~k4*3HQeXb9UJ~-@c>Bo{AqD{=fBuI$G&p3x+c0dp|OOGJL*1BFI_betz ziwZ>2KRK&d|1MUS;yvkpL`-!9IAkQsNEN-1bfmFbO23j1nZqhU1W=_{k!O!y-2i@R zN)%T<0XGXDL^SYUJ#&5TJnr)B3+)b(RzQWE376mMz8uti1Zs(7F5Tl3)JD_+ocFC( zavdnsX<~5!rDqmUHSQ*$LAj5*4~qpvaXI-bz}_|==L4-65M$_Y4VqHV8HHekg~0+$ zDrMV1Y;$h!l;vjxlzWF=7l(umESo}Aar;C<@1&}QH$>2XbG^;{7$JEyuhyQUTh#Wv zQ+!ZxQ-;?qJp5$JuLBe<T`_x=VLU8G7{^fBC<p)AAJoHwRoKto95dR=P6oerC&bn1 z=y1N97fkJF1Aq9B3bq+|uU(P6C2NQ0af>ZqfG-u>tIWwKlbQ!&s)XbMlDz+XWoo0+ zF?e88IiJz?C9^;9(7aVTX!1Yt<~?BP1%@(H``-a>vix{MbOwRBBn^1uqJFWrHinwr z&x0EYEljoy=PjT5FjRBHQvS(){@X8^Ie!2US=Y?HCcT08bzcpAP=SrwoOpOWC>Rb& z3f8|G1<V03-vEsL4L)j)z<ib(ik6q<@8Ved3#O%`%qe8K@J)c`)pvUB2yVu8dNg@V zu`wxVdss{w0g(&Ood;$aib0sq;ZDFRJDcD+*DHo=ZDl?kKNw5K+;tJ;AKDAv&#s~1 zao3WiLh%7>w_F0BUWNRp2Tv}+0S%;AvQn^^p%4AxmkqM?YLr|?4FBkA=})H~L)R0* z0h;RrN<}mld=3J){&a2YF?F0=Vs-{97OV<wu0eP~xGx4Q6Nr+aWqOGwgTF|1fnFC? zd>d9wVTUK@>fn7f8{=qx#>e6`rph4BW%)^S8Y>lc(Egj&|7~>t9J14ESe6U|3|f|8 zPZ8%Ds91CpBdbrNIvUv&B+}w^SF2d`4-n&Z4XgKPfC0VgZh;5%NA)ynT9%PSQL@0> z9~wWJ9#%6;X|pC!@Cs>=m#)7sX_hQ3AdBHHI)oP-pmp#r-p5@?kW4+5r+NJYbIMbB zBIsmgrQxqbADW%Y^TJn+V&PMHX3#R+u0L}sPZRR1Xe{^~l4r(!6@~&t@#QcF%^-~M zgJSzeSvl})a75c-YuSAs(TFk!tFL3_kj~NtR(i<-UTF_DX!?n^J1Hc{kEBrWm>0lP z?2EBIU5Sobh~u29_%yh`g^Gb`Zw0*2Pdo46&L<p%H!PuxRxG6Cu<)fGzT|!YUXiEG zbMESWjaRS$WSV5D5w)koaCYw|LCBmA<MER4V^Gs@*0hOM4h?kbCaE;@C3q^n4QKV? zb+~wk<tIHnP>&)K&-g3wI&IPkB9Oyi(7@ul#|x4pq0hmeH|c2TeGujVeHy$2y{{s^ zFO?qU0u%>Cx4c181gO3{uvp>G`@o6-OE*lJmIk7FXhwp5X&lJYHPAfw28Fx@FT%}< zbD96k^}gz=`$8XQ(LdUffofM}!JU;cOKKhia}W-iL#^qcGFhjU(VJaUe{ovqE<9?D z=6(X2yFCGI+-jWujeOI*q&A)adMl(RG}{gre}64uBMAk#|A=b$KRx>1Nkn~(5A?cI z*lKor_pgCz&X(jq5YYs)&ZKv9j$3mYpo5w~STO2`a31$ZKXzYeqjG&X+s^!x9bWzF z>*ViKFJprZa}E0V*o2Je>4BZ#-w_gxbah362zC7fv`pRW;r^J;Q{8IU{@YgFypTYN z0BF>RW;Zo`>)aAGX|l`jH+GG+AiBHcd&l+Z<tMCH8tXYVGlIA<J6xnZpdwe9|GH&P z4r|uoO2Zq9Hz9YsMr%FY?`D<AXgv^eT<A+8=3#s4zV`ETx_taDxdaIA)d=f06hpi7 zUw@p|YO<9Xfj5MM#}vy?L3j=xrBq|TFTrz2q?|0(gXREAVR%n^f4@?nX_uMQgfe8Q zlWZio$pp~DvkAGBXwOagOZ$+`o#iTZz*W6W*BZks0z$1;!^WG<)SUNQ7JmowGHNa< zmGx3@S>fIruHs^S9~;m3NF7&L&AIBu2Gl;oHp<+sC(4EkuQQeFI^dH$-6mAmZI4Sr z&dwXZHy3YC)?KxPwy!MyFuGm`-Y9z(SKJzvU`2LOXtJz;>`hA8W2562SC*^AB0-?~ zrw`iCbAOtp>&;FddBTOKJ|RZ_MglTrj(7>m)n~1@2ZnoWtI8;scq->o$D>{61#21` z^L|$Y)Ji}HGrT-rioW&t(Dl<`vSnbidD&EFEdSS~k+OW9O9NJ)V+sPi-ddL}t0jrK zwheeYmwcd9Fl&#GsuD6@%xATSjMTrG&bmLab)#XreQf}2L7sc5{GF}R@gg+AYS7sf z5E3ee^Z*(K@@%%HcX77c*}~`2prb<Plfr}LVat35ozd1?yn@zm#V2~Hc}$6_tH$)F z#<Y^}_7$1=wYcZyR7D78<GA%}>BJ@2*52Gb>~iqwIg%Y)R%?P{Tk94O+pcVtIy$#{ z>6JELz~21{aIg8_If-dkN0vD;PV7}(g4BrNPP|-$YonivL}BB;7&2|H2TmJsQZDqg zmU%r)j`0VP6`c+|Lk1>S)E{No=uB9>|EKA=IZ;qS5wzvBP)+o*(8``D80wv}2cwr| zUPt@m)6zSM%4M{Apdq0z`etUYk;$b>r4vxp?LN`!Zw10Y^_h3`L$+T`i9$=UqUQbP z<9ITu{syC$WR&Lx7k}VR=wMn*H3}m@FOiBk7Dh#{KS_0Sv;R00&s#H_1VQ;szTi;U zDyNVEHTmL+yOP}sZOx~XNv=*B_RZgbKM8po!598TOZ5A5g>7)}*{H|l4iyR+mi8;L zbaDG-5Mcq7rqr!z6Bgr@exJiEit)xXW(w=dIrC0-D)FgVg}0aE0N_6eF$Cji=-xoi znpubVuEA!9b8V4`Y^BN7ljs)(IX9vd0t}+3sP7l?2r1@AMhQn(8SG4rKVEgm-C|gE z@!td8N0f1kxd=j%a!I?q0Dz#U5r3Om9Rr`?cz&|iN#U~*?}cgN1<;G8{G8Uz$qHVk zVFIK|^t)|Eff3RYXW@lRv~7b^sgU#9#$4gg=+<oDG-UcNbzn7P^S0j)MAlepEhyc7 ztd;RDt1a<nk+YK95Eb_BeZx{K-JX2?ACzOG`lGpd^R3ZKcUs2flf5R!yy`$_nDO`W z^Uo!gZzjeVdsPepj#WJ(tER;0^0U8S(zWuDpA(?C^wN4nZKOg7(V88R7)8<T3!e}8 z$!WJLOybO^A3lEF4jtHe+R%ZWM*t>8dugx{tV~itN9)Os?a6@0+Dj&7!el7W+`b7i zCk<htZ|bp~zImNRoESI>p(j-ESPH=YWpP)MJp?!n3_;x)qwek%t)7^TAKW6&qjqwu zci#!<|1_PRx?q+Vo|6~(VluaEJU)@jty6sWlJaBIwCbe`SdhqUou16ga^Mxb1#r_~ zN)DYogE-}onf8R3oCOCRb;Zn{V-Q`}Yzjaef}G*VhdI?fo&j}GGl%L`qo66T&84f0 z)XIP@QAAiWuP<qRQk#!sY8evqH2ALcW%cdNN6ia@V#u=~6vJngGQsir$ln*`>eP)k zF_LgHvf&j|;e9p-B?c~j!mEWdgy5O4&f37>?y6(=qg1ZNg&i%{9cS+ib$ZP>{_3sd zUYyx1G{X$ndTnPLv+Ji$Y($q`!c*tG+;XzqN_|NuSMPnT<JiI!HP>=_a~@C0$S=bq z(;PWQ*M?DtUX_`6%RB{#0^aPm`t_0h@1a0@o@=5~>GQqPStZ=TJUWJZIO3qQLi?=5 zZpGt3ugYgvC%^A_?zVMSze!~9R*!%0DJ);RaA3NbwoqQ|kEQ{!rr{d-Eo~NbkWPx6 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/消息管理.drawio.png b/11.18更新时序图/9-26时序图/消息管理.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..544422f1af6bf6f0bbb26f7a8bba6cd435cf4683 GIT binary patch literal 50623 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 T6-M1}DEOzPuBTS2VjJ*({S{3q literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/用户绑定.drawio.png b/11.18更新时序图/9-26时序图/用户绑定.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..d942798000b4f8ac45630ae931fedef402fa1bd5 GIT binary patch literal 39365 zcmeFYc|4Tw`v;1&s1Qm?Nw!p$+00Pc&6r_kEMu9GX!aR1W0+xPY*9*NOPj4ylomx2 zX_E@6q?D``rPZz?A<jMZ`F_8@b6&sS>-9T-ob%5)HR<s@_jBL(wY{(FzOHLhJc+KV zi&rmJP*70CVO_ix6qHiIzYU8PfIFiItv%pBMX|T5lR|0pny(59YW@*ua)dy};_{ga z#&GAqSH>_1M<|XkhPxQUVAQZM3kH|U7EuLai%@0+xCNdIgbXf=%Vhi=1B1X|<`5fm z7}N&}H-<aHVe%gc3mXU|;O}@Un;H7ggjN<1FoCH*H<Tfiioqq(2mF9Sz-_n_xB?H5 zh`*OIBw{1D;}{mkXZkZ~?p&}s#tM$IfFr?eQ+KQn0dEX*2G@Kpj|u*BWzu;<`76#G zkx&5cV4x7Np8PMkNusi-BJO{k0?lCmdkhqgfLkB{adP^Y5mfeH+Wb9`kzv8!SZ=Vp zC`^F$!ABzh86#ne#9U$MzgS=aw}AhBIU*{I`S-3cl*tfrC14|fBWS?je>e$N;Qqrq zFEZAZ?&B?rwqpBR!#rFue4@wSX+o)hf<H1aMx%@!o#h|EDDcl1ZDZ^RHFmQ4J1@#l zMq}6r5ok{Yl*RSI+E|N2&_sL$F#;y=@im4yp^yP$C#L`@)f*=jit#q!mYZKBEWlR) zt{k1++yp2o56b8I2hiaW0vj|g+FKaOhy)KwbQdz<kh43T4duyfA|pJ+Bx?x7h2a@( z?PB8$^Yd^I1JA_);1AjtA{05(Sl%pzBZ=WFVt8Xbq@qx7G@3vW`t$wW&?pX_%@%}1 z2sj>_5fL5%7gPM?n?X7Y7>+oi%tH#~$P$7(0;-#pH;X|KA;I!aPE;3~Cma@q@FE9< zqM1|%GJq)t#5<vVX&eEG$Z!`^yl|YTaD;zklq)WZDdHooa5fC6Uvz{OhvFDU6-G%t zX<(xwCJN5<q=Hx3Zt`DU0$2<in@C=Sfa?umSz+iDFv>}crA846u8vU<X@r|=h>b6U z3L!FFBSNSMh$NhX5QKw4LYBV->B!`;XjbmvS7L;}71lkPE58n5%ABwy8!1(Ub|m4w z9G#tM2)Q6IZbXuIgxE@kc8)+sNWC~H28E4vj&R{qWq1xBftC<_IX+x(D|arI&f-ux zFd_uS3KzJ!J4TTL0=!XR3P%je#lsE9@IrV|y@^r?p6km+NyX48=kNeXI1Wc<hKM3@ zVInVNG@H(bv%P#mQ63OB)0Kdu@oan}DXa)bsvFBG6z9d@39({p8Q2M$?uV9$z|Nfl zoP?2HkZ^%mAY*&Wjl<c)O&CG<_i$zg_<;eDVy<<l6M^mJ?}Ftyv!mfsR~$bI9)O5K zK}2DZB4><mgv?q%g+bj2E&))WfCMfzBGT6tgZC3S`ML0I++FZUwj-A0L<r+@2oiTk zDGCF3qT)hH?mldnXj&-G%F$Oqb+ihlJB7N62qa%J(VOMQq0{(OX*3lE3zbF)oI||H z{@gGrR6-`oh@sXrDTF7Lk*Opi5M_w3FkFU=ii(c*N4uj$QWvQ+$I}narQ?WfsFx!> zLL}pP31N5v!V%$3<WT&uFm!->s8ATqKzpGh1vZXRJ`{w+4bP%eX<;}wAr25O<A<?n zTz|U6Q;Kls$@q@akPsU;$56PB3p3oy5#mE+<HNX+Ft;ciMQlZNqlmnTXqmUW*bzfz zLIQkYuI_TRb0fMSS#$`C%JpD*IDv^V^eDMDVIo7&06s7r8@#u(jdK)%<c*_qQEqUQ zpA#92c6LQbU07i2!cbJ06%HX4vHcOmut+xq*@**QV}%Luf(V;%Y)Ayv(a+1#D+J8x z>d$AveA%wxInNpfi2}C*LMZ|6K6sc725RHMM@m=_YgaM~=7x})Aq^G{qf7WgKH0^c z=?Qmsb`Ej(;9~`38Y`TFjA9FrY<EX6nE=UTq9HC&{}4|K!(HOf!i7PlZ~_86LV05% zB))F=C?r{mwDy$SsEfA?oZ}RRp@;iW@OWpaga>Z=1w=ZzL7c)Ro+OBnBt?_xG&Uba z<dIk~KX<GfRV2k&L#cqxC~p}zz*FW8uu$s3z`Nnt6b}i@Q4+;+w?QyOp)!;|n9kSA zSKucFzQ!p4AL8#3AO=|P&Vxz=!~z?#nCa>za)ySX;bGxSdK8Mu4VPJC1l}mF2LWzF zkB*24v9fYvOX+kX(vJw{z%U3j7fgsXLFVt|>naN4OW-tbx$wfQ2?8pa5GBAMWi%v$ zKy{~*BHa9OUj8^#q=%~&PV5><0usSWp>oMu69v{-Dm&CV1m}SvNx=lpUf>7X$r|O$ zwZ?@)qQRgryx58%K(NCC*c@MmpU|5sc9t{QA7g`o2qJl&bpHqrl4*nHLioPGtAPoG zC?~Ne8tI7$V~4nt<%31Qk77dnZ~`};5FLPoyTBc->7Ft-4;oV-B2%L=Opov=G(19X z(0mk|1)K<mX=BYq$kl`x3BkhUIE*2?pb!kGOEk>gpN$R|Vm-+aHz_wtgqI4?D7cdd zjrJB1yjh;^*4|baXHN_sB1E_``4QGQKpq?-L&Mz(czz@a%A)ewPTpv`cZfI5AIA-I zBe>hpfU=0NB)TWh%P~@l6oxU8Y#7xu1OkbmKthB}o_9pJD~*Zfb7e%PtB;e!4;2~h z2*scsecb(6)@U~=mEjp48UhcA61vLRTmhENgJH4O3=~@A6oz!SB3V0!@Hr$YEZW<J z&gA$;y35>sDIlH*z(Y~tp)wn|JK5J$DqshAI`crxfuR7QySiY7Hqil$P-_{F=Z0rX z2m)U?(#D!fr*dT^ARr*K5E5NRqEV<gVi*xhl)?jmu6ug;ve{8sjEfT<D~%8%1N@>P zFi|Lu=1%h>Qla9o5GR5t1V`|)CbHzZgQ3d&J>ec!B3=j@8U;nuWmtyPOKd~(2yo{| z!$6=A72ysTjQ5gSBg4>sRy>g_(hBY8%aoC=xsG&96ptxa7dJ9JlIB8`z^z<q7*trK z6~YIPB|~6x^@Imt1O%i&?CIvm$3&5>C_-0q0LC#=7Q(O+St0Nt0O2uVkSMydI~NV7 zNMJ;wwXaN!b`Jo~66NX<?gK~q__{bD=&k}8!j~5!_KuFiL}8sJ){<zbCsN48AVR`8 zXtKmb#=`JrP-H~7fF3IG#`^jB+1P};`f|L57(6_b=NZai1UREZT%iabSAnCA7)x^! z5QxrH83gK#mQZ|&-riI`!j;V<ITAcQP*5Bdg5VJ&eLTZm9GxPi96s17-v>@*5h7_m zVMs4xB%c`NPxNFEy{sS-K8%76M}<d9u&^j0H3H3uM#6CvCKBdj<Hr)nh!Tkq8A-MB z$IBrv(v5{=bHbgiMd1vF%!=Y0N)aQFNI*0tgyx7NTVn$R<PdjnF3B?#3>P?ui~I!= z5x{K<mS}Ag5=xS@jf_PRkbJHe41<VdggW9FxM*u&MNU4})X0D+xPU|tcM0>L$fXbx z4)KR$Im`eIfzETqdeK51L+PY&7*jxuj*67=Y>3f*LPA8eEQ%LRM|goy79*m_{6Mgc z@pj}={G*xvL^jq{!a=!Fog#U78?1y*bY@2}-2j{dXW|88x<f*&&<GMbfJw#qcuT@C zR#rY%ZmzyzI0zMIEpx$nM1>*5k<t7J8z{;-4C;w?^mF3ld@026NOw5Y6Gh?Sgz|U@ z?u5sQ0>tjJD3J>jCSj36NiuOX5e5nI5Jq@FeI>jwnot7u_al-0cvb+Q!>rgm1}6YQ zu%Y1yVct}LM;ICe%JE=uJn+$EKWe0e$`VAP!u;8!@MuR@JSWWG)fz$e4I@V~J)!gv z4<>;V9%_vgpsd`(Sp<)8geRWNqRI%K-cq;(15gqJ&<a2~h7j!+<;8<jNKP1zwMgvc ziDbfrxDdIJBrFbr?8$Hsk>ehnX5%7(L!(4;%w^$4A~z<RWeu*OWD?Ea%Z=d!hq($! zE^H45&nsFM;Y0;tFNVhtcVlwANYSA#bU)WfDl)_kNDo8w7KQR5d{;>r+?7wHP`QzK z2@*}fFrg@1Bv-B<BorSC=Y_lY!#n}>I#I+>a2{}?Ir}5%gy;}~GhEC9^T<(|NJR@J zSRX4ZcPxX3vyw-aVb*jqPlWODl?q`(7>$p|6L}~rY&bVG%ryXxw;{L@LgWq&8Om^j zTSEz`P(BGFLJ@u3m~>~Mm5}bmk%NiMm%xGwMZS2h1Y+YYqB@}+32>@Z3JDPrX`y%; z*Mk9<fNAhBHc?EWg^+lmbYB}3RpLta^zozGzz7~TBrF!{WhIS_cJ-iA!(=!~v;f8x z1jxYjp)!`h1&Zaexd>+w3v1&|<4ECAa_w`85`~i`QDK4*76J>-GvL<0jx>MHH{kbw z&X92QK!Wmd1qFQtoQtE6ENJk=l1X3R+_~%>^|u^zyf7b@=FCsZ9#i2T%yrmUcx~tV z;sj+y>aw6i)$UvaqfKrHGQx2_Yf_ZL7q8lf(=fke!eK4j*k48sSS>j^_kG9HEu|Il zF$KSe<0js+hbr$*N68Yt$NUT!nYuJSJMr`Oz*Y6F5nrCKuTNFRCMX~A-oI9|%0@;^ zxckj^WG6CHS)?Dfs-C9iLorf0azvrdpxy<y)uR_V?XQqxV&tGCSmbFY@;s=Z(z?hK zKWV$F<L<7XmfKyGqBKsCn^Mi581L59Je6ZgJ!c%2`#WDjn}ADD4stgNTb)<5TNzus z>{QNZjM<g=-^0OG8Oq-bYMW?542p%yk%J2LE-G8icRv~IQNF@)Q!=V;GI*$<a?oMB z(sHd`nTsdNdVW7?%W?=(&Y}EI>*P>AtkPH1+{r2rp(oJFLu{KT4mlv@FC-bduUE7L zJC?PiXQl6)n|gDXzgFb~I)MhYylR%M?1oLC74AK8td=<;R3amc6*YSi2>J2~=T4U( z7no|7wDs{VRT$0*x%GVOtIIV<_bAlwUHPVw%ei|i>$2hQ`zoGh+8M`J97?#QY^wcc zDBo-weU9ar#XRUR4mjpl_N<epx%1P7LixrD*FIw%b~p?M<|{XL<7zhm679xW-BthL zi$i(NO3E>JC1WE8sMmd>doOGnrD&FS=nvn`L=Yf=+Y?LPU3t)Y+Ic^=j-<3a^`yis zAFX7g1>~RuN!_p;rUB$Y5*q(J`aA!)&In+P=K)$)Q34QqZvBBY#RK&RA`tmFB^~)2 zt4vc3cf+*68{(1r>E_vVw#yPt{oPeyk2aftp5#z2HLf~EzJztH$Td0$1uv)VzG|&$ z3RgUk0{a<sdt|UjhPn2K`B`+Z#3@C^11fj-FPv^4nPm=O^(~c}%s!!yeLUo#qEc;Y z;#V4YAxVAR+k>pR+21P$yRHj^**_m|E;~=DU|oRH8_t*RxRrElZ07s35@Yvc=eaM7 zzZN{~?A~{3W+SQiyoMp>e9)a}o1Q+4iL&p{zvu%wNu9+@<xIiUqM?c!$-Is$)Txm- zx1=TG1MR%5q$PU<_x8*WxxZIMP-n2KM$nC{jQu65<g^&P0!ty^q<`Bg9llh5(%b?V z$EktW)!{`o?D_*M`qSXep3X^2y})C>H9z{tm(zY_L2Ea9ZnydrIN0M?zVi++3K5|0 zF{R~@^6d@1g*n(w+UwO~eh$C6Qr3{Jd#>KlViAt9pdj|!qnp#(7J=u3cKu?W2;aME zsQY@^o`k?Eer_I|O*}t}I9fQUIB$WcS@b$6Uth&1QK6n@HI;kWNKr%4zn*r8%So=k z6Z5kTmUS<w`(<;Zw?TI`{h?YV`<b5k(x(W--u1=j7OJf|?{_(1#pY$`gzfwfw7IHP zDkU2fHJ2?rMPBYusG{PtFCmp?Kwx=o($0b&w-FcL&wE&(y0YZa;SKG@CkQN!ID6UX z&J)H*E)^i?^Ix{H`d=R%>!Z!xyq~lS@Ye+>%ZD#O&gV74yzm{o#qT(;^XiRWK5yKF z45&zMdVk)lsP%;O?S+aADo-zQwtCy~z`@|`s1_8^rn>+mK48JiVL@glxk+j)gTyyH z59g8Y>mFr}E|~BKNvhH9kzuP>8)!&wNrt==7pT6d?^HTW%TjbvGV0x`cmUlKlQU$v zTUj}<Y1`9$l!wp)>iV*dshybHh<S>7`8X%(B$S?%XB|!xoP#6pMfA7g*vr>zKUEv- z4c|7pq1w5Ne@f+vi^-RaCc=)vo+jN#N&uf=8-Tglcxz*oJ{tGt<t*B&eJ+c<?R~Q0 zYP}+@cKE#_aj{21sb1U<FLV8;t6ktv??evxneWV{q!m3bIIN&@<OGmZXUxIb!wyNx zfm*3lwh>Y@HD}Y?Yuv-lnr@bcv!9wzl-!K?S|~;L?TWeC#aJ}fc?Ng*$2!Kg@DFOu zLD!ze9ck-cytRGm`iiCG4FL5-z@Q)Hj;U#m9!ucS46Ns?j$+K-uW^R|<`u^Y?~J#( zeAX?D4P3TA=Md6KqhMc3{VDrNdkJa(j%5Wn7oJAq<H}j{!l#!Kfhk6Txt_uqDn`Ak zz$k?`Vb|6V2H%~|2C#J-VAH?M(i4B=%1h1ardfhQYB5l1EAZNyrQo9Mx0CfCBog=x z&9Ng2^@ZowK4E1!Gy`Z5FKBv?JB3#^HF?~+{ZSlq&V=2t6`+O86eS1G1c0yiN8Z)W zj^B#!+@jf-ssK-o%3|Iy@^k`-XFPaK*`gv|tF~|>AUIv2-eBQ8m4mgsyUVIsEdwnM z<zFIyUJW-os0+a6_4BJcHBHw6u=zGl(ah|;i{rE$`{Pc?AIN`Dr`$k}tOjeJvJN>k zfUUt7JbsTo)g<5A>zJ{ciugXAmOX$O=0J%u7HjG&va~nD0I+X<(ZV-TVc>x$pr10! zP<{-q3Y+e%9N9XJI;mm)2m1ba6^_FnV($IlB}Ud<*j}`o)-o{6?8EA#08?+AX5KUM zv;!>oI8b4vR}p{sd7(Mr)_RBX#&QR_=cAz;fJULW<UKXood!G$Yw3~tEQeebAfg*T z-^a1%8sLTV|N6$%H7kIKn#}wdOM#m?Q`CvqY|H^KH#kt%s2s@!UNtwy@~w12xXmyC z*e|4_5ek-go&ele&x6F@1Jb#xkwyns0(N{icp}1`+6y@5*1=T?WX+i*ph>`LR|Afz zEdUqoyVj2$N0+(It1oPS^Q0lmAylpc&QJE>PQ}Xk+|I^r18<#1ZwKskPM~Gcfye)! zeN946??=>b=lyEG-Z+3*0IM$syva3W?gsSy^XXLwYsXI=GGDI<ru_5S-6ZEn#*z8J z6#{zXp9FibkKbS2tM<wxn!lg_nDoDAn*|W~<D6xu=D(&=)NDKsIQ0oj(f`*}3M!Le z<1Ga>4EKLe_5W|||H~Y!cG>xRYP>&V>#(P~{mhlA@v``#L%g7=Z*A9WeB-`2uk$W) z&GehMVCm@9bpCP`AAn=DSJB6ZjCU{ASY^NKcGu0wlDsXE7q`sKe1Da);UxKV+x6lL zcc)&JwI-?Rw%*^j#CPQFomZEyzwKJ>O5O~Nnk7ds=SO>h0tOl=oSy9Nne~hNp5GJk z=(5|dZ(lv)1J=e2mM>2`+8>E*a|JeIH?gVPMQO!`gbSaaSl$i%J^9eS)H<aNH5WG$ zQ!v%<fA{gmuWi!#w)(qU!PKOpzI0#{rJ9o;HrQXNS801X7Gkb=Y2`lI-I1E<fPqCk z5H4T|`sL)?UyJiw=c#Wybu#uFZv6fd%kzDi_Ce!=ous&#zIFbGO$cs7i-dTOge8+N zE8N8!R*s%K?Kfz<cB{k(L`xr5*VD@Pw<TGn*+&2Hd}jOe_`J8z_g&TK{eHPaFEzR* zrT+c(yT1jIU(aS=gg@IxQq@J`<3<zL`GBy<|C#;V?Wx(Hcgy@Pkx%Qz&xA)lP(_{3 z-1VcVzN++oWw>Je*okNJXX@b|0e#f{Ym3#^ZaMM;+4b2a;dho6`C016@0TalGQc8r z277xyJUaYphxE<a1!`+nef@nia-bExa>p5M%b-gj1PzMayxGri<>>XA2R9P#j>j$g zq*$M_{rCOZuoC;ny{ZMm%Ol3qzqB`N$Nwl=cVYO=tr9_Z)mJ|4^?1SDuY!yIWkLNH z&YkogiJzP9Yx?#5h;ns;y>a!L&_1QvHK&jiqk7z71$fPg-&s)4XQ_SPpPo=dKD$mX zPu}-_S&H>JeDu3m^JI(#=a{B@=)?Ilk8(doE?hbK8I6p)v3$eV&X3_6rVZ6E&K`U8 zIe%*$@1#(*{(Vi{bSwAViQ-*ACyXX$%!N^@Q}5K{&l9(NJyZAdTarvEuy)<E^QKEI zdMyuJyRCOX%cjJ@taBaObK;zuUC-;U?%!j1rrPCx8oJwuYo>?mPR>2KJCpkM%l*pK zl$MmxUdv#O;`?bG>-L@2_N|*;M%~nu{M&0)h~=jDvhWh!mUUncul$2A&yMc5H=Q~0 zW9mhA%^5ZOnXr9#qnI8E_m0@UWVtco5zdy=F`er=;euk930L@!i&D#nsoUd-<zM{b zjlLz_JF>`sxM48!wZ?{v3BSisfgL&3(vhIJ*Obkc6Rw-TW|xI#th_#D=4U2a-E~>5 z;tmyZ;}vQ!vwvb?bKZ`tjFdd2ATJ5RYcsQAHLZG8$!jN@mfik#AP>eouo_C+Ylk-I z-}9v#L|}PPI)<QZ5nK~!9&il{29^#ZJ0^f6sc*Jl4;7GuFZHRYu3D$E+xPYHzWU3G z%QkD@xL1E!t%%HsuXe9Be|8|Y<5J)a@5tfTlvK-PdqZvc5dj{piwbQG8~r%_&k3PL zn9YrNm%gFIzpPY+nCxVRxI27vz(5Fw9oNp3-8yD&mWXNsG3)qHcQ&o%@_KinnG(9e z^4>$O<Q1u=dt5))CGz*pPrR_AwP=75?^9u~ua@=BnYGN|Y4ewNi^{WucTw1DR+^Dd z&0nqj;VSb<D~R5^7|Mb@%i?6$t*#!vB^}XzLmy_dS}vDkg@?3yM_ztt`gYsdNIS|@ zdUD6X8vX)Ov?S{FquIv9kSSPdzxo>WByKM-*Ymb96QHKX)`r@qUk|z*P`SxZKdG_} zPbv^M+w|{QV)2~R=ALaKpm*JkkKea+L(sj|$FH(j(BIbYPh4K_=`&MR9Qm=t*GRj? ztY-Mxon|Hw)rP^$kcoxG5$xvU7xddk^GLU~U*WgrHyJc8)!Rm9tE~TW=3&aapB5G! zeLXJ-o0`mST4{eJh?HjH@{UtZN|Wmij@L$|W(P%I*z&yzK5l7#`_=p&T6wjukarL8 zY+Zcdo3IC}Q?clvUz!|~93yqJtt9I8x}d`=DieC%?$#OaU2JjX`pEA1>O#E?&AHDY z07uQs*?;2<s>xQf`xF8GJFD34?aLg8tlur1rv|XpB22os^lj9+<}C|QMW<Heuo?!Q z9<*8-bp4Ga|Gr{<PBV*@RaCP{`9NBaY4L=(;nG622H|T>jhWc?(j6Cr@9v7;_;|01 zR%@cV-T8LwzQx<O^XKe1KV~+G4hI;Na}wT0yd?DRUa0qcKpZ4{H$QS_>|x1C+n9@) z@iToPFV5h6b)J|D+3<VIm(%a<U!i<jr(@D-*=_y7LJ93Y(o{Q9k!l}E=wzj9zn#>& zo{x~lkID{WUWSF=J5fc?|C)I%@>>l@2|d1F$D`3SwBw2+TQTwF^JOU=X36^-PB|uC zdpWTx)JQvV%;>9_rEPqK(+AsK_`bc4My|5Ah)SqFVH;Dm$7FE~adk~{WbC_`A1$u0 zyj<6wolAGYc8DR9A6tTM@qhZa<hOdKpu680Y;FCx`_1B>JZgcDnVX*7r~H*JCdD7a z-c>BIyzLoZvN&ksy219^`6!i+pSfFx@6OG3T-c`dr7^a9t9Q}VrcH-84Ry1ooC6jP zeNaBouYNeLcGA%#=6zjC<%#B1Whb^ozR*D@qYv9IWqpRuCT=}5gird-G~M*_`QYTy z!vr?PC;rU$4CxKbsm3u)<F3_E6|DoTI4JGyn(!4?OOp0>n_qwJz5OcfWcIQ{$>D*? zT!#LGHq*Y(&1~(B+HV$>u=e0!>AHcCo-aFtr;pp5`FdDSd1?F=8-<P0i?(WUydq5= znRV54s`Gyo{*ts^-j1@0n~JcCpPfnSS*AN43;+GDA^F>rRKIc8(JyP#HZzuo`D9R} zoSN9&;0YWom72RCEgZh9C3W&=>jlzy%hu$LeTg;)Hk1u+>3dMNDul^9kQV&t`!X}U zlF~%xwr|*>G?JmFz-#5qw<Oijfws$}hk7xWYSdNKNe%ZB7Y>}XpBPCz-$ZMPdjNja z!7r8N?sPj$!Ee$Ax>vG&x|QVdRp@a~RpHYb8?pA<=JNwD&ZgEZ+*6*_dqnyA2?}DN ziL==PxV3C2$&6(US-bIK?j*KL*>D!}36eBczc5&~C%Dkl!tQ}+?aaOG6>DxJR;(;) zGkdSMRr`INLBp1eFZXhgeQ$%<Oxn6gw~SHTV}r*vjkAr9*~eaPQ9@^A8|Bttp;Yze zo<GH^Ik+S0<I(<$C8aOm{K*#`cVeXDgB8y%_RP)xoO<25xwP78t##Nb3+<vh+UA-M zxf%}T9XH9Go1a*FHm+I|&eJ}OckbJ+S*Q2nv&^!Z(vf-TvHfhHeLsI;@khPrFYA9h zJjgO!v}UG!<>dZXI`~`N-1u#0hJ-N-An;UzdZoAab9}53_ew5ok2OL^bXZ4SEA?I_ zCSChVzU4M<@#zOw*K+(zic3=aGmYY0w@X!)+XNj-u0K;ZSUE{9-1jtel9p_l@=0e= zIcEdC>FSY+XLj4yikqNW3&&gqH*x(%bwR21ofYhL_YIyFTDGR_>%IL#Lk>W>Hq)my zuW#+#w!A!O;8VV^t>@&GnD4j0H<w&qnfBO>)-reN?YKo{)b~$F8gx@W*M8BEAv&%0 zntc%&kE(gR%O5`WE};7`LtEGUnvi)bwm;KPbjj@vI%B1w_So%|Ep3nA4r*34Sa(=T zXomgD8WkE^KWRt>-F;7OE}nm8S7G(^-3%pT1xvf)3?+>6RG9?1rIAg+Pd(ktUworQ zZQzR4cCVMuO|<CEr{HCjdAr2w#fs&R7AWqw+I~FALKe2ga|hT#!t~o4wX>t8?qY#w zR$o114)SE*W*KAqXheFoRl~%0EB>cihO$?7E}^1lEcEd@8_}7dCyP!eTQyFsK#rea z?+5t=9P0DcmkUTa9G;POruF;eq=#SjTD?q0&Rl9ytozg*aD;p<_(amxJqxuKwhQ;E z;91&Yz2pq-0;Js<0rBe_TKtikB})VjUVZg%*Cc&cuh34NDCKT*U#|w8pKdkv>5Q7u zw)=GkK|fO>>o*j{UfnX@N*Z|kG3ZCb$^-RI`{S#Qo>eWr0@u_{LF2XduU*r1-pa8h z=^M1VeD=Nc?(`0GGF}JR=%<st8HlYFoOt+$7MsqDTUU=9L)txlQFHazqgm7KnU!rl zg$=29nyXvBU1AlVPJE_+WFMDp<P6!7{#6)r=T4L!ZDV%l4;}nXNJU5280BIYAi0Bj zk`?woKdsZ8@BQ)m+vt+}pS^^<^3$C>m2#Q%X`a<on(2{!bS`8qzjz;%!0%tA$JH{P z8I9_o_%-aWZlZN`!^6sc55b1=%C7zPy6EU{!0ucZ8mT?~;PPzPn|y-?_poE;A%a~M zFQ3cQ^5`W^6{^put?ZL1lN5S01yQ!R{w8`&1>N$xlMe8xc6-)-D@)!fI)9`2mOP+M z?N~RcetpsNd?V#mAcOKz_=NjqM(4BNyu^*DYZn%?;?LYa)=dC0+4JH}Ilr?OZ)XbS zA>ROi%>GQ5w~!pocaPtI2V38}thi$TuU}|on|i^ht^ZGt+UftU`NUTF87k+C-D<Xn z!boks*E(>p2%Okg;bN&W`t!o}H*Wt;c-ecnVCIb7H|~!wEh)oA;S<Wk)qQHe?Osn0 z-?E&(Pbth+o}6yI9D0@<QDUzd^<byl-px|_gzIp!majs%=-0>Wl67;F5C6XU_Git{ z3uU{;O9F0xH&9ejoV7dZxv4pcR&L#v+g`Wx@ft2^{#E<D``J&P_C3t>zx#Vg_zHFR z*VDkq?9*e)cE7)Rl+ZJ6{oaMe2N~%b*Y=$A_O9>nGShxwlO3=Me`6<Mhv~GT)y+WR z-ko)uD~pLIE;ifG#g<Z=j!yI}ez>|GoRUm$?^7y66nUB{++_R8iC+6JqL)l+y?gvB zXUU|vzB}Sw&Y^~zH}<dFMgBe2emC^yHtpv*wcC59{KikK$6?D>er$!iy02D>tvP%8 z*fZNtza$-?lAw0>@}7Qs^BbQ=!1?8q4$D_*<tQ6{=%cdAsMPGC%L<jzU!RC&`JZ*` z3%AA{YSgmm_1L@FpKj6nY=!Xbl5^xs5kLK_#$s!3yd3}Z3se4uSYR}<7i`P$$;<*U zXwAkY*A_M9!d-zWq~fusM9Pz~ytwS{XQ%`9Z9iQ}dSQz3q)G2LP4j0iTp2TwCu*=R z3D2&(RKuX)G<Q}z)nnV(-upL|)?AC8`g)H2-e?KVRet;ocaK>Kj-SR4r{!rIeH}%+ zo<n0HZCm<(9Sbl!8Q!4Ne}qKzvIp#cm9chf-gxFu|04?R4Bu;goqP>NqH`*wC0Y5n zQSZy|=10kEK*T<rbJjh3({vAULi>a$FTvy92Lxw}znfB8rnf}*goz@d_S_`FO#ANa zc-iKe@`{v3*sf3Tf|ht$mV>5J({ZEI=<bUeqhG0{${KnMuJ+vL?FQw^kq4F~Ejuu= zrT+Xg8=t@Vr59RY(BYFxBSwmv9IM?fv~sTnP_w>{{)X~h|H)J7@BXwXxxSDgD6A{C zkw#q?D(BdYU3Tr%`#WUW=+|E+nyI*}Nr878^>I!KysL+v7Ybf2n*4F)LO@UXoj-*6 znVIa!%xOLO;6j&j?Be2(pGMmY7AiKl>iJMiRF*pfg3?!{a$);$u&nwB9bWiR1^9;2 ziKV|qyAwRrbyvz>EYvhTl;H8~I?(o9tK_Gzw=>vRE#x~0J1QUHuk+FpWC>+TSu|+s z;Lf~DjN4D-6`_BBOb<AmCpU$>q56GXK0k4Mxkp0o;rF=}m_H+S&!|lPh+VQGmBLc4 zX!QKlbN13{U*&3(65kILp^luAjq`+4SS5-kAhr!-_NlxLk_oFA^gQ-zi;~@Z(tznz zR<H`hE_R4gRkBz)_CU{;@*K7{<O!d-VgbdstFZ~^8=W_V2XyWy<V}3nlh>{aP71Bc zbAC?Uzx~AWdqUxeJXg3314gLE<bYi9ZRHSJd2&<m$=oO3B#O2mFY+&1q$-?p@`t?p z1_Pp%TW#S$9Pi|5Xz&@$lC$W+F^e71i*)XS!`1ROe>4NSgtv5a$N`{oR{JthF+{LL z`sW?>pRycumF#SL)bg!(ZKrq7TX^xMhy9%^r43W{kppcPK$x-8Z^LHMVY&X9P@{cW zK>uJr_2SC5C>Fd&O}u%Yz9pum5FPUP$VT6F>il>uuo143o^br6Tp%M`Q&o+2E6AxN zq@ZUF=zMv$)M1x$Y;?y5*A!z=x%fahwXuA%RC>qV7M!x8rW?P3a>&0kp8+o5sddB` z&&rTj7qxFRhs5dEHl?WFX+-|byei8@#&a_haSl3EC|4gjP1$q1hYbkg#}03(N>{!Q z#1>mb{;*28QL$jpg|qsU8`;XM)&)s6>-uUa+0_e4v@v;N4P?+tvDYhdqn7RbWTbx4 z?B&Wob9~jRN>n}rc3V@akt)v!tw!>5x~jwJ&U%~uE_puKukOEJZSBR1?kYik*WZJF z(vb~Af4A=>R~hO;d37cmsNHe9xSM(Q@iiemHFrXFnn`OQI}`f5DobYVmEXO+6Z7h0 zc5vy$NKbJ4lz&hZy5NpAt!~jPaFqXc==A4*XOO|g#f|0F;?Kl=!kT6K<wxRVF^JZe zXRZkoEP{ydJ39W!T=yFO;W@#Xesgth-TWom=T)>!T0z;47<@x?w*U1Fczt1J%X3CP zQ14Vd$%cRR0^kyEzv0PAzddY<%utq-5X;+Cfh}*G<QxM!&}z2it%s7MQkr^(il(Wh zTnBv2EGSo92>D0?NNf;)dbj4)w*ycLd49?fM0F$N&>Nqdj$gaI<V(T>x!A4Ka!a!u zEaW`3vQkZd^BmL*J@2VPk0&)VUzd9V^F8nfwaQEBVqEQJB|+VLkSKWtvJF2Pj#f9l zAMC7nRg`IWaZfI`Y*9J%Kb-NTg0Y1*+6xCXo~{5huWfF$c)x0Gcg_86oj>*hwZtt- z`}BACS$zPrmx*SW6IrW_wJocAm4Ncgvp6|jI%#LWIBxm6RI&7tsCe_2<itOFPR_Q- zawwJW`Bh5&m5rQ(2-?`mm|-tCySX(i%Xjek>BNA$yY9U0y`QT5V%g}%oEO&$ejao% zl=DgbFQ2YokUIBBx&<MF9pxW~aM5o;#rA(-i?Q~vRI}`{dMCLhILP7ofd%LXFtyxW zTxalhMfwF^(0|BwP}-%*aWl(U1$8nHu6gYN<NK}$#BNlEZ~j}dFwK#}L2(`J-fPN< z{lG@<Js>g<!wh?0J}`lsnk6f{Imw*^x6UAATt)9Cy+Gv`D0;i<sbyRct<m50l7PA} zG1Tp<2JcYSfw>I5zESbcvyM0ls^6966rfDAX8ldL?uUsB)kAKj>!R9@!llE3R`iCn zF7|}&^u!QPyz^#UMIETJPj8;Q!E3j8bxSJrYRrvUU9PoaIqd@pa+X;;jnzM((3eP0 zRDSFZ+<?H%Y}XJkm{c$~^BHYxBYeB<6>x^dY9nfTLxw9-!yx_SQ>Qwv_5{t_eRJnM zB`fOvy?Kp$p98%XpC|9Vl8@jX(k>=H)49Ee2A#}vnOwE)Kw~KV_$t-6>y|&CjBhQ` zc~Dn<o}Q1OeLC~ss=S+-+pa9f-d=OdYLNeJIYM^PF)gD%%m@KtL&(<`XHU;V<eY$G zG|P{=m^sDnV=fe&`=>B}x#zS17Bx8t&R>4Zo~Of7s}dgM9`lOK-Qp<>WVJSH7VZ*< zvWl>okI#I&4yug~HF6F6;C|q&91L*)?qrWQo;zPK`{SI!+|@?21)JRtQR?oDD*kjp zBoQvS6^DCeXn3R-*QA$CbPJ6pB)UUi#kb>iS6)5tHS(UAM?ut_h<JgE)bWAH5$UAb z!U~YCO=5YY*LoQK%X{qh)&e?XKu_kM{%}Aub(zT|<wydY`9LlAMtEPtSJdNcz?7HR ze-G-nUe7At3AIgYVszZR-|G|k8W9nAV${}DyX?+Hz?(BYzlWujO{R4l>T(}_%Uya& z<N7iINN>Jkmr^g&4a;+kDmba=+xs3ix8@D<-_o*jwQxV4C;h?qQ~W;|V61&OBCvv{ z5vda{ndoGf?D{>0_FGrAejY92*-6_i@RgOJmN~hHlhI!h2$xN(c22E%`GTBpy|Y%q z);667^lNIa`pT~}AdkAZ%pcL|a#%$*e@ZQ1;u;fvNn@|ct{U0cd*p!Wjz%-LV=yBf z_BCV00y!{`T?p>b);uT=T-rqCri!8bJ-ORrZeH^`W?4OE6f#76!R0(E)-i0940fE( z*wSwb&UhXd<ZU3_;Az|Ldrj{_(*0uoozOQoZ>l20JMk5m*5=yPyHnC_Og8h_w%ct~ zhe!}(ohM*H6~%`Ado=~vTEagr2T0C8J5ZEzKKm-Ug0sZfCuH5(mspq6p@E;UdFOZB ztD4*!7s!J0e~JuOdD&rxuBesRUtAiKw`*o{EadyAr;ABXs`uzn4oCfNK-HYC$X%9t zJV{%XzB<d{v|O8(FU~lcl`u~^HctnL+2j}KdO=*vb+h|?TpYqv*G)0SKkU-6N?V^? z()-!5MSFv`?%E<PBr!d6-a<8>mBF#$AEGiaO>4vJGz1yLD)~uO70JZ{miakz?W~r% z01xpEi0Y8TwwLoY!+=jv*JZDN2?e-KRwAU-1FRn4zQSb3MW_unK`lS6ar(Mo<sua0 zZcywPdVcwe$kEE7RLb?0l~D@{?7uY{24HD@*wM5)3{8W#xTwtzGqz}PfEb}Rm}xh~ ziOY}EmmX>=yr9+DEbk7v?3JeZV%wGtNIMP)lm2{;Zg_r#jNpwNIJIiq@vh@<R{5b| z;$`@rskZA~jOB?F7>JrY*{l1Yu1nq*BCi@qmvnzN>FT^?y#RxtSE#6M*gscnc8OgV z?G)HCCa_a4HLiQ6OStZu(sw>)@I;r_tQZv$`0U%iobYo%GkhKhXVla*Ima9hon890 zt$rF;%T!99|5e_iaABi700?jasH$5}OI@H*@>>@KA1QHeN>7&^Y}nIUsuL`;1eX6D z#E7o|q^s?3U}*&z9Rw3|r>-rPty3}j_5Q=ldC9gON_GJLf3+PUf3P$!*l*K~Q4**a z*(xS1{iuBAuE$x)w>&OR&WUtTk{0bf2s*lqboUKzdXH4?{4B+sP+9#^G^#LVdaL)| zk58(u6ALWG!cmvRow@h4)bi>mo!w^*JVX2`2l>`uJD-&6Xj!RcaP~8$qc28oHN5MO z3jXw5L{fkI@C}GV@E6m!>}kB+x0Q@LPF`B$@p?_mUVrDVky(sx7<FOXYvx_0muntf zi=Ugl`E&QeCy=tNwCFyK!KY&$z!z}8Z+T>0F!?=N$y>v;(l8jPOPi)?|1Uq6%~~nw zM{3(<4K^2c&s-=<9@A`U#yy)j;vIT~vUID9?WI7&rk(L~zkimL(;r^kiBWe&{RU+@ zf0=V;RE&nQQP2vVV;YEY<!1v+Yc80Uo@g>_(0Kgm^9%C9E@s~f&~vAW1s;WbmW<!J zSQc!e9H4>6)H?1w`^cgpWkW*B<4y0`0Ho(;N9IbSCk8KEiCX$O{3OW2S3c-jzqGw9 zxU6~0z$NnTRj+I$-QicZsa@{@;h(N}`m#fl84K1*Uy=nRYEk918U&;t-2SZ86nXy2 zD6jMeX2~IG&G!?hApu#%>NOu5Zm(_J6~`z#$ul|`RuGpEOSbW%wM_0_YEZWtmOQ~* zKlTfx`btvkHY$SxWcz*br>5M(-AP;?V?DKivD%KfM*OsJQT(N>ANLF@Q!gJ}0OWo{ zlT-iQyljEjpB|bJrH5<8Y0;pb*;<#P6`3?xr{%%lm<yriWRqR|Ae+Q17u;hQ>RzU} zu)=E-6t_G`ZVyh{;YC|9R5$%R{6uvBg#)?u$JFYPN8Qn<TAMGowdevtfu20FnRw)A z?ayxE-5qhm;sO$RWa^>)tk+;UBkof5l{q+~@CxZ1QMG-t{-|y?_rY)OxzkUhoo??E zf#h)X_XBtC)hD}jyo0^`QdOJwgl}RyYf^d#2r7M5=QFtmZYVkG2Z*688;#Qnv!IPd zmc^Wa#Vb6YwVz!(L23PreiN)+kT+gIY3BBifRH(Q_{QgmZ8g813jN}L4+OtDn;mo! z{e0}<x`Hha4jI)x4Y&jP^S<zdz5F{u-}NG{nZIqi1}i>od3)69Rax-eyprr4lHBGd zgCfq7`&U%A-CO&DHBWUhe4HvUdVK$fWb|sgnRflf{&6heLTUfD&Rz0jC&J>a1U+SO zVe`uJMbOdylCplj=4{p6-ne6R$js?{^9ssb{^h%-&D?=|YH#i5em#rq(<mI%Dwy0m z^$B%1_ZB%VpOrBk_1w{LV)RC53crkgtv=YheAT5V+Iu>B_w0DyXgv&qtE%B;<DgU= z88Y7gYHD&dm!&}q2YrK;<C(>wm%hqd_3YX>JvDJtJs?-&n~xIu8M<a%N)fcCMjpmV z{oQv#eOoY7%d)zBv(|Uxl`b3Tr@LR+QPQR1E3}|NGdH@l*S4(FQB1A_1?%&2_dS(l zn7PfHeGHT?-Nt`Ciw~N!moeAkm)TGJ+FNW_@yIZRd~KhXXQR&Uec#d-Z3R7P1{G4t zts&J7tge-$&X|e8mRp5cs+H;kRr}t^qjPy%+0Ezq!WzmP2Q(IB>G*7|=)js4W?per zVVk~RynTa?$#JG(q96BRT-(^ali<k8Ir)dZPh*Y<RF<c9eq(SIm4bgg_WzNw10Qer zV9}UjR&o>V11jf%+Di(zy|g!K-{`YsW5(B}&i#i5Prj+@y>_MZX!_N3&%JS;W(z8g zO@#JCB&@Z}JnonC-wkYboOok;)XwFMq%*4F5CG@*i?Ds(AuIiZTkOw~&GKaX`V(a~ z6CHG4(DU~r-27!RK`W*9>H-qwre7YV4uP1;@P{g&=?e<+Piw!lPZ_JAd?tKjr8s?4 zeId{GeXf0ucKr{|ian1iz@Y_Z683w%z2sT!CwTvtqD(b&id-7ZLAz8#K&XSm>TK_= z?Vt*Bv&~R%+E7*V!ik6HI}qwB`tGSu<AW#fuWa@8-|-5AaC>;Cwb^+uUsJ`}{qIYw zL6$8bQ#P21z@Cxl713U9GXe!j)R*)f*0zfDH4n8r3%#}spOxqtFb-pDDM~M@k96H= z^E`lVkFKM~pK&y({Jv^M{-=$KYpj0c_sn3f4-<sZq!XOF?hGT{TdUTcR8vEiwEiVc zb-^Ff%I#n1XLaGcs6`7hvQ>iOrha&Bui|HEJ8#u&+*hmHGl>~5&y2%grc@-+peyg2 z9Z~+aK|d}OH}vhNHANLP5XxF^swm0luzI&xXuSK_vfA7t>!f4=GrjDy^3J-iV)u~j z{GyFZiphADjO)f5^Z`qDh}2~ZRjy?yw3+Q1OAT(#53FXDNB*wO!|AIlz4&~r)k1w; z{>H<!a-HbgC=EsKLF|yGFOjavfhrCsg@!M@60O;omGI++apjYiS3YQxS@Hdb{1?j( zE=Xy$NLRnTUpWAs@Y$^Dz_tNnkoCb9Z1=u3V@vd#S5JclT?^flAZIY4`u=uYt&P%) zaLY<@>F$VR<!vT%TROozZ>qgxKqK>a7MQM??!yn5uYv`_D&4cFlcCAcQRD`?4F$9v zOg^yje=}|wkk51fXY1rdTy#BXK9QRc@!EYTmQ`PsmB9NejncUNMrBJq-PVokLyvad zSg>dIgNMTw<Qd7Yn5Na(Q`Ubrxw%=~2AWj=?$HH=pZ_Oa*@ShF>&6O~Mw7!1PyXnC z`_&{DAN>DCr~dnKo@O_bYNBVci7p}jwtM*H&;D4$XZU82V+l0;v!r;aFAv>*vo83r zre!bR?uY)fuMz|2s$9Tvxf0*<t2DeAM0CFOUzPvbV$FjYF&B2s*SPw~=sE0<-d0{( ze>_Q|8aF;8=W=PZawo0e50{(Setcb(YRn&#_}ul7%lTid3F^?LS!JjGD6{Xf_4$KP z#jn-bT~TQV2!@KE|1jfoz`Pr*mP);`jz5yvhN&<1J@`iwo01O_Om-jBIM{HuwUnuv zaz2OlzZrL$9PzL1H~a7T(->mKJGL6mN&{IR9tZCKw*kFW-k4iV$S*F&=N5vT-Re{Z z$mhtrdb&d8i8bJ-Z>k;HFYhKVXVxlA0KD~rvziuF_S}iNz8c0z?z$mnGopS^|7`y_ z*j4F1KKy38PuY!ganln9(=Z*JTru&2b7e-JlD~k^keK@)KoG0Gx*hes6(q!Yp`G{5 zE|e|X{^XcB34|VA@}s-qZE*Va(voO~bCrWY14AX*<<~%aS-Zi@nWkj)t+jm(>7?M< zZ`rQ^WEpD~HI(iACC`!tfaVzOs-dn*(&XHauP<NC{QB<eIf?5&eB{Ew#2<UQbLU5< za_k@9bb`nKul8i@;|NtQM?`&NRDzRR<KWKYb0*!=1|4>*%B|iw@9=%!(#V0gB$xZ! zF6Z}yyo>e;c^6E*(;5lrv{nVNJ}B)v2)eG}mfWt!Zy0_f&&=JDmRVThfG35TUMuQA z7}oa5u1|fIZ-f^aL$+7(N%`Y`O3RDL5tm)JO}MT$^4^;5<+#lWLCtH!PZy70&l=q$ z>j&9TLeuGt-XE6A`o+gb?#}Hp*Ius)+UjwUFK`>=$<mVi(3?2h$=<{++sUQf;%B!0 zpqJ(1J0Drmgwa#8yp7?L*Z$@!ltKHw!oHpJT^BtD$8+RUxWN8HT!Gy1zfEL+1gU`A ze>J?l!~4H@iYMpwMJB}K=fM{Mc04hA4_~Cmm|T7N27Evxz3~C!nk_R;(%tE@$n5a1 z2haH1W43fBqdRh}_AJX^MrTdEW@vj@zf+F<kmY)yVsEh}zu+uS``&%+)O+LE<ZN7d z&dli#qS)ss&C&Ef&?!z=|1Un^M)Kokr3L5kXK5NkSI<>u&3|1JcWX8gua7*_p@Z6P z?NorgAjt-s~zf*gHbE0?XHJ3hZ|<lDz5mA#3hOY-yBEU%4ntGlsk-H#OISmVDy zb^N~ypXu|I=-f@yC|vroEXS?^0hK6s--nuN_Z6QW;tt3wNjt*s%@-7(Uay%|zPC{q zbXmPULh~?pucJYnLy%RcRCCn!JJhkOO+k~zjtuq`Mk!qR%ro-~I|Ad-bH{1rocAkA zJ>=4D_o6+%0n(@M`#6IWtIDlIT1_LzU-`F7RCP5D44$&7G69iSen8r(*e|E|x8_;# zLbje*?*bZ}O4~OrXjkugIB=@DHzGV!&-TZ)t;mL*dAg(*@^Tvp$V!K9B8Rq24_5fz z-Szw0DEdavWCJQfTPsqu`sP^Ugt1*<X7H4&67CP|WS<!};BVAUJ=L@Y@yCw^-e3Lt zIkmV*So7;sS5g|{<@1Ry$K;CxrMHMnuEq@Ca2@Ko8_fO?hLddWzI8frkiR||R{n0j z(~C=v+hn7swC`ZfxWQ7-KX|)7eQu#NUDrN`@?)!A-~rz$C#9%m2kow(kwi^);B!Gk z{`0;&DU0Ngo_+q?@$?5U0k_>O@2dQuZWY$+5cxLhGxv1T*PYYP`C^D9&-n%+Nt1l= zbX^8#rW}>uv2ahm*+#YZN!a>d$=0Zr!2q=fx{_E=a8zxvS)OXM-xPcSDDbau4Lkw9 zYg<oS%(-p677(dC6cqi{ICA99&x<WZuIEas8Pd+qYHN*s+`u(&<3L1HrzfVvQfsLa zCjD{8ngY6n(+$4p*y$*aP5%|&s_PG;dDvm{$g0=B)@D=EqUq^lxvrlZ(ac9lwr`9< zZVNjdyV<>HqxO>*B)!R8M2^1ZO7NwZ(z~<KcN&JPx<kJwDCIjSy;DBau+RoHaaTLn z{+tB0SN5f-5!|7jPE|{sGz>I!^@uhfmyi6qvip_EK_fd5F8c_`d|MT3%-_-c+Fygj zKu9j$VDI~ma{5NiIK8F(?Yc_gW7N=tT^dkuq6WGL!bISgDTL*zFyghx2@XC7S7jyR z4c_8nr-!a@W)Wcu%?5602YHBi^x{~=F=aR6-(W8cxLmoD)LLP*az{i~^kDhJAJ^c` zU5O`d@LRqNe3q%hC3bV50rHa8BaX1ZF0S>M`S!Yk0!bIQzq&8uC0n;E_xz?YvjJ=9 zn8rtYc&gr<i1E_R!(o%sSxKoP@J@21+n<Zh+?q|`<t6-BZ&1nWTCWYVD*Aupoa*;` zmTuHuqVzQ6edf%ScC#SSBjb?%)(fvY?(Zh)D81O9+*%6j?eNqLOZWqyYKRNX^Zy-e zDs8RMUCmpyakZ`9a(+O%!=cIEydbqTnqjF4BV+F6U)p5fyYkQ6s}pPA(Np6GCOEv9 z)OP^+N$H|Vy}Qd(htsS^Y;n4H-<ZVIpYwLBE;T-gv`an=N@C;6v6;c3Sese?Sk@Z@ z@hvv&d>*(6Vkf%y*a>%PnNrO|%X-@S2gyeh5=QRT1)1z-frojgAI9KLRsQp8Mw#2I zVesljcxOiwsMx_=A1mQbLH@o<bxv9FOAkLt)#M~8^c8^!Gg~>p{g2G~Lz5SMhH4g) z&TcuJ{`9y)pP~4S*+J#ShP^Q}-e%g!BjhZwq~8DQOCDjW3%jcba<BI^2U_GexVh|h zA?s=0*@iToqMMSTfa%zekB^2-j=n2@_47-M^W~sB0X<tmR^19X`lO#}x+tRgKaHu) z!@oWk_`f{o;s5>fGk=hWP&c1vC+|B2$I+7E&zyF7sp<;#fzwDgh(C5&P7+XWmQ$*3 zXjI9+q9%;#?q1%X`fdKiq>V+ZE+cgUpNGJ;^Q!Z%N{3(T^s_+~fIg5mbTC1&&u}BO z>u|!>KO#X(8}fdhoYcch7CNQ9yILP~NDaA%1->d5(93^a4gE2(Vzb|uXAkz~#yNX( z?%xF-v#l=Bv(C}M{BP;$ayl9Do(J;9Swo49ps?mZh}9WOjsg8$#~r#s`};)uq8;03 z?)T_#nEvdwM<e#ZUdvbtDA<5jT{qof&GO@C%F+c#-y5o~d+V%Zp*3o|3%C!xxRbv= z#Xxe0_l)+xxph5nt2Fc_&Fc^aF}`4aK+(IypzH8zHfN;wUSed`GsXw~j@j|xIo~(Y z1DE9$0zu%_`Mq+#k?YY7F?({LpnFL5!1nEHMmow3!#`OOt6>#iIxROK_bcZa^-h0J zr<Ffayx;v%Iab}|AcV4E<`zh(q|_U@s9mLC$c{&1Cn^ej<xL>n303u+(V8nk(ECg6 z-M6T&wYtpjFNcTk4ErZX7UI}`)_vtZGo!8*NL9hrD~&V@@)d{m-R$BcUP7M*@Dy^| zliLgGH^5WBRTnd@cUR}EN8MdCISb09KX|vdyjk6o_$V1-m@yiESO-BHJ}z!f2`pQA zl(0mLOdS}0-=@*^@!TUbq-J1MHEcErxZ{8sxl2k11t^d8?rmnoliMgeVumWW=<0k} zfqauDu^p|QC+|?dNXXxRc_dA<@!r>dzxiG(-WzVNx@YM+F%^)8PCE_00eGF#&1(n? zEMD_uYtzkum^+(igg@q+lm_}Y1o-`~6$Sk@Gtsq`0D*VjcMj>i$_!~fZWCa{+^7w` zy!Q5B6YWUy)sgab3HLS*R9mHnt2?&RXP`PqL5{wX@^jS&?eyM^yhBy++$wzzLRBDK zuz0a3tnvodx{K)|P;%4qsd>2njda3$AM4zYA<In|my_|czxs!7jg)p@TVCndlx7p7 zS~j-gXO87I>J!tn6Sfm$l#T_ZnDKKumbV|8|G|&K?R`&q!dSK9E2>6SWPDe-<df$i zO4??7GUf&M%T5y*xgct1<~sWz50v5I<Rx2gCJwCnKWcmHu&TQDT~v5MNhw*h)DlqX z6p)ZcTBLi?4I<qk-5`y02_h}sC0&vdf`o*CNJ#E6;q^P;{_V4`>-=;4gUf5dnsdxK z>Ur+xzVET)J~-hLYyNxbA97=qH|Agc>y(^&Pt<;MW)JV<-TTp>$bvI(PRSFwlab06 z6!CI8ob%OpDW<XLK}pygn)iYCS4)<dvi?xgMWrp{ob&Lr7hMC0*!#?hAE1?1y>wsQ z!q)R{ejzrVIZxdZbv0NJ909qu7-031r5fRLOc6-_+iGC;e1Uq2GTT7p5p!jd(Lwm< zi2&m}{)fadCjiKJPayx~8Ra^`Q=2=hGwp-t?jS+f{OT~QQmp#nS|`~)vAw`;9pF;C znxG}ZGZlau_nE!hnE1eD<BXh=+cHEk@jRQu5M8;S81uxC(%YynI!zXr4rW~*!a}Q5 zfImI6x)fhMA6d)78p}Q2t#k7>8w`i}hdpre_4C_@80j=Xv4kNl%w?(7m%C>$_p?jV zp{7C4GADl69i01CF5&Xi!d(3A{^L~<`B`MfED^#18{(=M$ucG8oIMBd^gx^6icy%2 zjrUJgLZb9l=N4Sv!sV^X%_0pk`nQt@D)HR&1>G3~BLr3ocJ#hZ>zlAeMz;tZL#x3B zMZ-|_z_EUx2xCf6-V84O@m`Dx^Ui?2x(QHfb`F_nE8Q`_b0@{K><G}W)tznA)U94C zy6k09e8r}49zw7-yv>z6YLdQtR{=jjB{(XRxYH%+i9KScHy4gzBPPRFGBqvqM~sFG zlw@_zuIzfO^Vgq6#{fH+&r+rNHyt@>KOd`lc3;+2xT|BQeyh~d;WE>;P=aEZAPvSt zB6vc41S95`G2|W>4i2O+9WP8bxTDIWNoj7&9AgCAd1&!tl=tX1(Hv1ot*};3g^I!W z>R`C<qi#uj`{`h&?sg5+^t^bkv5dc5fJB;bQm*IouIuS;+dqL&_@~{W1cJ@VUuMj) z*k14FFZJe;fuxnD8NBP|vXbmE<HJB`%S93fvF%rYOl_WSeN_9j=+&?}^)cf;!UKil zhxAFZJK#_{Ho0Kaan~m~mYiG(9Dh|l&Zh~k1GK331sPtNO=t7Fs*qY|C`r;&sXS3= zdOc&-%cPE0Q2NY#3x>3~0*M#)*Q$A%@5D`|_jDV}-y&nTi~N2KM*(`An!x4B3djvb z%MYbi7-}+M#3+j$5#ihcq+%p@5s4<GJFg(6ie?SD?G_tRz!D@`I_`TO_eWHfBvE6F z0WYlWpB4KSPi<I5Qd0AMzSo7bjjj&X&NZLqb3CP|NIzwUsT)7P&ZhHT(|($}kst!1 z2te3q4e%NGeIXu=t@qhnwMm-mTJk0Uizk!23yZh+4On8(<olm@We?I>bST+j@FsPI z&n+Ru?sEqk7^={gyR5!ddk>WkOnL0zG^u?>dvQ)azG}Wmrgy})TYPnm=yiwu2Y+b2 zi!+eTEX_^-SWjKe0shHqCi@g5+}hN4=OaGNEzQq(Umj#w>QcCVk8ykddcNM#%|U#Y zMdvOT2a($LN<>*ROl{(JQSP0OcW{z|)Z^tvB`F#@e{5<8`f|LXb8RO4L*9#l+l5et zYsfSD!rKDWrdA!>qG&$SY(0Kon!Wi<XvXmm(D9J0uz3H$>_Wsmdsx!1TS?4=JzuKB zZ&1W}5F;E5ieSrE7YG(wG|D?4Ev<hEBx$e6d4Hu>>@qhyc7Jm}7ATFIg%*=EWCiJ5 zB%dRL@aj2Z<A-dN_qA<#**b$JY9Nq<=y@1e2(^?Ach<W0WUqMt)~V(ru4=n)?awLG zl_TF}C&F<RT92WM+c|NjxCGco^TS!olS1+JJzhc_JC>WcQWtCd6=(ag{v%125g9cQ z`)TixoQfmw-$aHdY{FsT;16X<3=nLD4_Z$O&3Y<l@*ennV$}g<m053S?3Gt_RCz># zdAPcT=eCUxYP&K`&-A1+*^nBG)`6NyxggysMUbc#RKj#yd_xd1cuK@bf>@ZMgQ39W zVIO!Y<n+I#1H<#q8_{X|=u05na<2wu_dr{{=dr%8u^Io(x;=>9zSdc3jsw1u9IX)& zT#*4uR#eaNi^?VlIqG$TB^uY8Mj!L%+3T8#qP$gN#Go35lU-x2H-#@AG^rlXq<Nsx znE<f-yct?kAvsc`AAzmf`{g%0$4gBsM~8ttjafel-yIF-+W#b#`A_hEgA}ViyTR|M zM7WbtFdhI=Fq+K|7KS37EP=khG%6|zvKRdHq~i2aRJ7NB*x$<p69x3OXFir7{U#yj z1?lGZTqoYzUK;64<7>naK#pYy{K8uRrj6V%y1p1{H-0Md&Bc)EKy4m^QitfdtuWDR zr2t3^!ldO|#wLZaptOn7-@?<k@XN0MB+?GBV?wW?M;-fj{T9o&iAd-*jRC$6f6;)Y zjlhF1VO@iKyyL8VBFKbPH*iDmf5Q#`e_^-UCT~Q;3vTed_wx{$Q?tq}rX8sV;0LO4 z^a`qBL@cU00L0=l1abL$hxH){@58vdFX-W7M4$!)hd`K_?=1-NUOw3_&U)sDFAcV_ zyWdzpd>90oUcTKP@44k#h37L~Kt5AW<+gqSP{G189<SSX^L5V`*No3t0T0Ks#dBu$ z_C<9+wk6J~$z+L!#Xu69<9SD4XYtQgl8<#^4Srs;hf538qJf3!{Lb8rCIEb_r}Veh zY4&inKJWa4lu-bT2iAr&J_3gfN>k>`I;ak|9E!<qWKvEwQX=sX!mWGbAux~P_(enG zG|HQIOao&R==&937j8^}vNP)$-p%!Z>3pbV9<Cpb&-Uz@*_ls;Qa8vPa^LteJ?ZGA z5#*pDSat+Zr$tXB1y@W;zUSKgla{~C9w~D;%$kkYdX}@?$Fh@_L1d+qX7>JrzO&=q zk2a0_67vdsA7i5L5~SE?bM?-m?Ep=a1jc&VrLR;MNN{A8j^BjXevW|FPU%g?F~A*_ znkD=w1C5i=6{7<I+Utft-6Ljm9^ze}5L20T3zrI@@>eGZ(gJ1z4R)g_*~z|h%EP6~ zvt1DAQt;Q5&gysH6~YRgWe}26C0Jdatu&1q60=!s)=77q)ZpVF8A!{+>oxoM`Q0-! z>JD@E;%AF~BvlgD=%K0lYgm^u0kK6K(k7!P)|g&DTzu?!mK#Tjkd$@RDetskb$($g zqAv|E%#Z;ks>I2t#-BOYwl>zH(9q_m`8!9LakyPtMP*S71jZ-cSdD|ctlG?vwS$sB z&MXY&yg@15K!j#M4crA5CVAgA7s6!UMM?x#j$YVfwR?p3Gj_ivIXaL~9x1bpAMI!Y zwjQN~m~3a?;}mM}s!c){j6D61Q7<YINr<U!6&z*6v|myR9e;Ju90-zob7u>?LONyM zYJw7at9d`pp6+I;55zI|m(oJz8;X6v(!HMViFZ=<6CN>;#v0wXE=L;;E<sFdiWxNm z1+1zTnJK&en%7q%I(YkRh8QD)iF&hk$q#b^(%M**o8{;46xqvW^cZUn-un#_so(Wa zgNdtnEj}#1Rnsl<0y^D|jGU%gD?HOrOw)Jl8JAIFnZ82%I=Aw=LHiJJz3A2%xnmBS z9;)TmbVu_pZTMNA(i@~umceQMVxB1W2`sjTm<+1b#7^i0Fm)mD;x&TkuA5)}pXPIs z9SBphA;hfXknZ<QYx}g6)3JuAV_|fZ4Pv%&Pa{|uV1q9o=ev}%p=3X_Na0au-VAi< zcq98ZnY3pSFdIiQ3_obw4I0EAWrycxKa%~*o$?D?zQ5b}-0JR9;Ate#rp%s71$UK2 za6R)S{q(Ij-kLi;(-s(YywK{4rmGBQ2b9o76GKeF9>M`Jva|h_p5ic;<|nT?<VJ?! zY;dTy8(SY%mZ#3>$G!!;O^B&{iLap<X3Hh8hgs<uq`1YDcbp0v9Y{ow=KX9ukZ&?a zfckOuAd7@m^8A1_N0@yxDK*i(u)?X5A}lSIhvv3+Q>^S^O4(hy{$`ytwVayHW<Nu; z==9I<s(-S}nUv%CFLl2w!vcLa>qv};6$z0JhG-;o^!>RCdk1b8<RxpwhcC3uC_;`j z71E$NVCj~2cHu{VB7R+ja^+-B!ozUiliA{0CLn2oI72y_RDDB0NC9}hk1nnN&RO8J z9f21HDY+GdE~?y)8x}uQ`T$NAhrpTM)uEo71@HFsy*YY*t<Z294?w^aP0i8D-Ql`i zu{|MApvLloC1?bcb-%%W=0w)s*|?MXnGf;E36vx@!2nks7Cf^`#Y)4oIpHmpu!NEA zByc+l{Y_JMk^)CC?>hpXVePT0&{^_n7mHU`59%!5(=i6CqFbjd1Md(@f^H9Ct0iVL zaHJoi@)lFM{Eg`-X*WyYQ_`TIL%_e-;`Vq77*5qi!au4?fdBFrb8dcNk0eZyJ&5Yd zpU@@ioZ{$V^1<*cpMbkX#i%9^?Icy_cIAoR_)fQ^xqC#D0JimRWX;*5B#nS4f&knl z<up^=VU!?m@sHp+is4e?_m7Aw{6_?1M$^HIHh_xV<_P~*T(v(XgOJsxz&3ez;r{J~ znvZQP<h2TqVE*UrLoHaL;wx%Nthws(R|%Qw@s-)eaVWVsyhS>3KlhyQ?Lw~$UcW5T zngp3@yB`<1SitZ3X;ka4$+BZxqs$m5>Zm$TL?uUdoys_rA{5241xwUAzYW$h17^jW zR|7+4D-A~eVN9?HwEI9{2cqUmT>>*qQinCTU}YCuKsnPuM*#m%ww<;Xf9?}TS*mBP zZLpv$?=7vxv21+g>QUdhHpeifmBFC|Zv0Ipnqk;ljZ_4_+r6+qVuD==L2V5SwCndR z*$ZDH0J}TRY}4;Cnau_FT@}FKW+uGrexd!f?eozo-)Ak+vO1(}tVCB1Sz>b9Zb)!* zIG%A?_4C66rS+#G!ZS1+=&xz}6j=hyrnO{bO-7C80s)oV1{m9nP)v18mK>jVP+pF# zeRyopEL~}yZ<Xdsaui6+-$7nNUu(Ir&}OrsPS7Y>LDDl+FVXak&LR$Dn+@i5Hn+Ix z-<iXFzmGy5l*FZT$7>!Un^OkLsr02vXTl-KS!@|tE_^wh()%dhWBqAfH8x>vumoKS zRe$o3j)}#lPI&B>c7+0I3-cf5{Wl0Dkr3`=+&zJ$Sm6rqI>UPU+RNT}!US=)MUTqU zuGH@l*s&#%`|~FxPWdUx@)c9X$(38%PU6O7xyt&|r@3Ehq?i8*QWIqmfg?x{fCR<7 z`m7`a<&hkf^f{E-ye?sY$xIoqI@Xr7-K)kGaKRFdeOFH8dWXmdfKgK?)0lfXC?@zq z`j%l`PZv-vKQduX5`m=Mn^lD<ttOT^P@ymD%Mrl5*+XzcUFIpo5ykG|hjFczD9g)J z>d$wy4FT5spF;EpF~XW0h0Q1<>$`pIwxzA5vL!L?Y<TJ|0pk19)Vv-id-adT?=z$V z+UO(MU(D+67x>(0Pk)byX5Cp146!wVy=AAtOYQ`M)MAK>^p=f-Is#`lMwsNf&cHuK z{4Zz@(JFL`6(4xIda^1Ld#uJoJXA=~@Pmg4a%5t8YWv!oJg0FH)sk|26yz#9@_QqT z@E*I)>Vg5GDAMEqK<><{4l@Y6<Nbq{ChA8Ig9JTK3z@WPCPHlE<Gvpp3=8Q&#lCur zqy9y=%usUKbBPF14sIRqX7P)=U`;+4&ogS40Tq_1_iI7Mgw*wWb-cYiA-2+8G`cFN zNcIy-l0Sa*mNDw#dyh4iKRcaeKe1nl;MrV}C>tsRg6<ewt=8cfCh;RY4GD4$zY>dy z$8%#pHD$+m#AhWU+)ZF%+o+S`$Uo4oDGaZ5zdI9kA-t?KUI9cNP#8YkB7dtAAIkCL z9_Q@swtxX@F$VUqxlgtqn<`-+F*>wx_jvD4as?5P(Y^52r@R-Y(SlhsI%8qrN&Mj5 z%8-F&mrHNOP_4b~M~%ksu`&}tNL*L`p#QGE27Cm?xAw%?ge{NCEL*|FQW`y8AZd*J z3FD7PMnASYoOay9M=(Og(fDZJfi*V|Z1?#CHVEnT8o87KL=NA!a~r~KNLMSwG09-J zuG*Q0tUOpWEJl1Dl(Nknn|Ffc@hMGsI44<OaMDriSJC@!qr*cM*-Lp%OxVuYI`C=H z!0lp<wsQSj$shYiJRW{}5bl+yHf_uvd-SdIWSd^-PY8EV5~n3{o+DWU=w-42#z14V zo#A%&u)y&kp>u;bLV~)|EB@<@r%y1Z^DFSBNL!38>4AloTS@0-0&miCMW}fI90gbR zBd9_n(h04q?v4aMJou^IC{DBe*4V@azE8jF+;+PQvA1(~kC(A>8u-V30Vy4!hqE0h zloKvI`Zo6#s5wt>6D^)b?G$nQR_$xSEbfIF|9FUV&gj6(mGVep3XW%5_DS#T3jnk= zceC%8h*$CSp@@GU_P%s@qtgvJt@VtQXjJCcaPSqW2P_t{d~|MWr=*2Z2k&dLS00VM z<Hj+8Q3q0EwEWIvc~~;sF)N2AMmswwZ->*KJsH5>6Qpp_S`#fydQ;j+QEGF40pOY> zxS}j<xbZR9_Wd}v&f#cRkL3{h&4ocyI_(az{7%X_x+v$iY!8P*UMF5rlx|~K8`>6W zj7IpZLFADx;HJ4HI?h(7NdNh6J$%xe%Gyuwdw!E$|B0YTAg2OVneq<lOcEd!GTGSI z#W!QR#%#)~SBhU$gS`3erYtwN1NiMgOocE$L-=(;NPSunA>Mq40LY$Fs9R6W0`KoW z036Y4Y)Om1`H@P)ZrjVEAtOT$`qq<PAmfAk0&x#iDtd$cK=nJgWzhfamIc`Pz^Sbm zRO3IrD4Cw##FHYU{6gCWi}P{6sXiQcr+vEr0Gp0H!|&kO3n1-9kVZV>zQC*&w-qru zJOT$FaJTG&ZYozp>IVyP@HS3BK|gG{I%_#?`jqi!z_ih{<8~}4b1|$m7|(RTmpE>K zs`b$=^|@ug9}SBarJA*NS+ivZ{-;0=S=t>*v89f=aToo&Bo(uu>>!{ZJvIIeXpkW5 zhKO4d|I$n{3aQ#2Z?VpYt4&kK1y41wIV|rB>yL||OHtCi;78B_VMye4{jJNDxi|!& z)E%Nqf*Xtx+kqpbP2qjMzd2)?p#t%tCt7{~sa8Lq?h(wN1iV(e#g>b?mLkZ}W){=q zu5ZXND9A3<54RjQ?fw`BMm#_3hp$$IE=9eY5nZA6!~3%W9$r&A&R;w)FLu54yuErT zoF_a1(iXKf9P_8@!u8i@`or~4Uth`0uPX=~#$TRyli8M>okNrH^4wDIOmlu6(CfxB z^t>+)9W$<mug;?`&u1+^emFb-QIIj2;r*vyuk?(3H>!IbWW?ap#Fq2COAnB=I%fC_ z2=+82?KpiS^f@^PE{)*2T|{~l87qWdH5UNCD>*~UUc4mVeH|#Et7qnYSs-*F?Ja1( z+*v=Y=Xt22Gjy`QvLzVAbh(82=HWWzCzA1vl*{7f&VhpGrt+!7If<Z0?R~XcNFKY@ zvd?>IEf^H>&~$I9t$LWHej{6xx3GUYii9KIM96F;b9P;w+n~=ks@n^csH)wD`F9&< z*E7z(u3H#(hF?j1Q=JTwyWJw9j`Dv{_Y_`6gMyY)SkBe))nx{Z#AQj85ePWFKNu75 zU-2~WN2J_E3H<zY*)~{C8y9}k^2Y(%B8K$<_{4Vx$#%W(wizZKBz$TV_x1uPc>OTH z({`ayP-evr(4~r9@S-H??D8-Ek-y+&&#UnSE79RPuFKK-uIsS-@Aa#T#VeiTI@fhT zX0*P7kkUC(yV*mh-372?fp^Y#hU2mH*NW<wgs&=b(}fJIb43`NV}%9YlO#cC|z zKQ%=}S63rJg1JJA6~;2@0t-9gn8*t?*TrZd$(9v%M`7V_?L;UIy0jQmAGFjSuY)J_ zl)JYa7Etazp1Sbz>>P});u%UHFsL5h7jK_{ygsG`d(QIZc)_UB-Z`-KSRt!^#Rr6c zXXJYD@C$VMG{v)XP`WSnygd5U(sabzES2P@0J6Q=b)NaxaWz5F5@d1!M(b4p@BXFx z2`~D|zf{YlzlC%nIF8^+CM-g|Ay{^?H-=Uqzb!vTSO9EftdlSJe?bbX|8pWm-$viQ z{E=}fZGdqvxf{@mjT9T^#J3lkv_KdjI|zit6i;0g|1Cp83b@iCdsY%|D|M#FL6nI1 zuAl;IvC!y>G4nJIY2bZVjqNjU#XIcvNt4}GC7%PA4}g`^LvnAF#R0-K@A!;-9gXUa z!&kALccy;VFQoqdXmNu}zK_^|)$o|J8t~yKcN6KlJPVU3dFZg}=K~SI-u>!&Qyq<K zZ_a|&#H>@l!A@038q)P+yrB5c!Fn;!ZaqFhlJ9Mon2(#JchJKx2acVQy<VG(EiJkY zA?8c0)K+ICbeyTyL0iZ45jazGqE}Lx&u{MgC}IuviOZVRbDe)tiSkdcq~`X8<(JfL zVs?|>Wz?&T2_>`~06g?81XlY2bXgfUthWZ3nW|y~vcxxR9(6U6d*isK>OpsulE3@e zrSm$NY%}fM*-?nqs6u5B`x*aG8L?Fq`fT>35QDNN4n>>px{zM~^z`Y$V4}WAK6WY| zWRg{&L!Ch72EduL&KYsELFqU;h-)>KZ}%WsT#FH*+zGU0Dh2ZCzvFFl&c?BdB$B%_ zM|A367cEHnx9k*4M%{<l)YaVG=-(lE(@K1Me$#kW7S{0zKBcj~9Hlgs<;?~;NgKE- zjt}&E(VkkB!01M}mg=ai_>0j#RiJ(xU1j1+M!=5g!suzxKjyj1&Z9i;G+9dG9V;tp zn7HeQig_<GgpIMCJ!;9XIJwAuQDm^-WbcFR^nLu`o6==>#I4Jx96&2f&`HFtzx0Hn zL<_4_BR;gU7AqB-a)!Gy1~pln+|_@I2Ej+Pjt3b=DJalZesbPj;G<3m5;934>lsVJ zX2uP}EwWD*5AKq%R2-MjGUZm+QjAvEA4T>kiAB+Te#2GxvG-newHbwg-P(z6v_vC7 zv7biyHuYgIZB&4KM>caM1PtMtCDpuf>8uM^pEKK)mFFMZp6^#mb=e-s;;fwRrHm&U zkk3DCkv;wc-V;JzPnzoS&3jU%eY4t$zxN<1I!_cftg9UK&{X?~jjdc*1ZyCkg}d}A zkn&>K-bQbbl^BEBonYN@T=BEBc52GN>rz(^8RUdaGlp_+&jEPBE3$YrrAwkAPmZ6` zWeMpG&tm6Jl6=S1s=G%BP9n)T4>0Y#-glFxdJXEV(N6GX*QV0|yS&bZrz%||UjA%0 z+K<eX^urd1hFCC*_F6B+IYq)Z+2yF2GXGbD{0)O7(YSuob=FQI9o=YZvi+h<(vytb z7*QoW8}SeBd4@z)?B!>`qaR#v*KGZx?G>cZ2=KGS9xv74Y>iG9O9t}P6QPQvqxENa zA;-ciU;J?GT}-*T7n0IP^F2UdMzJt%wX1y>6mrhHO6?kliL>#8Lhj&TeYzuNC;56p zAAK%U`OV0$hl1}%^sH#nr*EQ;$m4djTx`0=xj%pN*MX_*N9@_-LldZ5+*`Nzc{^ta z6rL*a5R%t)v&kCeTPuIHF;gzxCopBXUGTm`tZ+wR&#Fh_=~zw2;n`Ss(AG}2H(U|* zri%zA%4w}-No8?EFo~EaZ0+0TUf4A3a7${6@JLa)BTKK)y5p$R0FsjC&EL<)w4LD- zNa4#)TVrLR#RR7}7o@#<zI^KP4|;qE#NKJh>Yu3mT@8fo5dG#+I6`ukm`Ii`4p^^r z<UPcv`0=D(2@P6I<)wBo>{H$XJ&f5+Bop}dreFmk8MgmU-~K;FGWd<}f0p;$A0Hoj z@{-hPtwNku=!)zu%@a`QlC++w$dj+iS%7DFFa1NQ2yGr_yxWU47iP<}@4b^X29^?W z!>D}I&>$%XGd+(okxY3KDTS@<bKnY^+i9lv;D*Qae0y3IxF6h5x98vKU)&2TJq+%- z>_iP|GTD!nVO9ckjMZ*fRL?)DstO=p14iG$)JV?gH)N$qf!(Jv__F`zEN(parU4O2 zdfDI7jW<B5^}mS$v9}3^HGaE2DYHicec*o!6fwS1->iBZla0r4Yt}#Kw-XEHKP{&C zO>IE?N{e$HC>1z<O8S%!LWlAr-i6U{p2DRM3}A2m0s!ze_TBackT`W9vKQ*dHYlbT zSWk`;%AP~U&w3BdJ}owOknXl8)UXXDnmplhx1BvPtI-7_ZurR4o3Q*3TRVOL3ScZ` zW?CFMI^rsVm2-4gGmy#(4*M_g|KouBTggar64$7*1`Ct6sf%a1On_J-m&E#PDg=|J z1jG+n+1Qr~fbe5r{tO6z;#5D*RawojbD0j29|F{E(^+4JxiRcC#j;chNZj*63F;XX zPJdcR&zoC$L`HEwb-@8c?Isz>A60*)=ZQ@hH!sSKLsD9MOx5F<<Er;MjRM8|lg<3S zPMQi!u-B^m)xbbFAyDIge4GucZkiJ$zC>!xe_VmOCSeC_(ioGY${A=ntQY7hR9gOg zg-yiPbbg_INUK1mw?eC6!kCJp{cj(zk3Cun`q+kobOhGPiG1n7-y2}p$>H#qE-hnB z`->tJ0k(Cqd^(>w(&UC0$mR>O9vm7xCo#3487HP+_CpW~=G+Z7`Wl6;XpopbFP<@w z!X*;{g2#mU0gDvfc16UBrH9n4JQ*kz-*mw?ZI#&N8L8~E@?d6P+&0wmKukZhjJ(g= z4+z769<#jt*}5c!W4xDjc5+Jh7Qx`#&J51vu0nGMWp72sZaJnqQ;ZTH1UNP1j9jqY zC(zG;o8E+{M7esl-u>5aQON0+whjjM3)EkG+&caK4m=(k*T4Mg`Vtk=a)xw2i5Xl) z6I#q`bYN<x9ypd4@4s^iF!;*_0I>6Ff8y2;^OA!(Am7$W;3!fTOO~+e{-817PC9GE z2hmmQxnd12ZpqgO<Tn7%JrYt?;E^DehCakD=ot~kNK(!S*>qf!|2BIMMp!cZ(UXgp zNZU#}CDqr)uy8mi$nJ&VI?=g*0wVFI8n(eTd@ZXkYkaoxW`ptWwr^=hq_fRavimGL z^)J8SuqP>b8R&e6Ts3X#R$<m;Utf0)WCyhvO~dic@Q^YxY=xhfPiOn8bXj=f(2W-u zY^{tPeZte7uKhK@F<kh}|MnXgzzb@GyG(`td{(Fu=rr1!rYKTq<9cHcti;TBB^<jx z0O5815HQ5hY1(VYbbHS0!l*d$n!n<`!O^|2F+5>@ppJV26|Vt9S>l%WI}#+oo$|pb zRqI@r&i9n#Z39YJQ<N0hc|dLWy#wt`*jdD1&Eh&UmdXM5qkNQ&&%j@r1}1m=3pw6B zy5FQB6Rhr`T>~Pis4>E;=+~UAl5<>^yFSBhMwE;c+!twLX<3qr_kW_>1h-w4!$vQk zGSEOZ{$j8g{5U|P1ny+jfcQ5%WHvtc!n@tclm|a-je(MO6P_az8-j)LJhV#`zp4tT zA{l~xhKG5ma@85lsLDz6#%>d!C;-0lBi|8OdLF)sIV&n8T&ogS01V7-pI1ly^3_S| zjlYH6e@gNnvh>!W&)U~cpc$^3ktI-zYP!qT$L*qD!vx!rd#1D{CRf8_;effhn)TIQ zperK|IJe_L#9U0J(5{N#@pruFu<3$3-(V7La{N<nU<j;{?knmONKvIhOi;=H$ppoh z?S%uOK})XGZ?BhSzJXvzdh$AWe1x1AzJ!01Y3Gfu)v?&O8L@{zihx~Y6S~m@q_(v$ zc)?*&x!JKU*Y)D-r547M@JLVjB`ZnHNtoWbi03y<y%Cz2<hVYZ#6G0G3j^i4yT<;H z#joS2k_kH-Yr`DBAA21*YU}UZOQ8hb3D;>Y1=tmO6|j`@I;=6AQxXX&bQ=KaM2Z%m z;`WY@?)$Svut+Pdq$PJvUS1-0;3L7e01skxp8}<W${RU$U>TrkUy|4i!O;*c{ObOO zC@1`r<#)6A;n9HZu-`v`@M{wuUqkCeC75F5?n!h`OcmDlV69aDd6{?Yb;D4+xZfgQ z%`DA&2wX!9uxZ&NzHThP<QYp&LxYFll>QhjB2Z^U&xKz<ay~h6BNMOhHQ_dnV~t|< zK{Tge-`oo~dF0C*0?!3m<xmZSHLJ=GY~~@S`xO1@!m}s6^K7bs5sZ7oe+{QV=Ijjx z9G`eX`UGV;fZ$jh@oVkexq1Il_L`xpfIE@5fx`EL5zrzkbwqols1mNHJTX6tSu`P- zAJTp1;9P>!v|dOlQEj`Z>z3-^^j9<jIjUMrm8Lsfz8$3QmYi`5zl;S?G8A!$M;-yZ zhgkNpS}C;B+xC|I8`i%E`v6x1FtsZJ+3I`9mZFYGsDsO}8|&gYTRd#S2kD>R7lk-e zfV3)har=5{?89h4&$b0j8H>yFKbnopSHMVk%y06D<apV%knE#Tcs&s1%#{hotPpbk zViSBc9bxrK{AQ~sq?rC-=2Yy5zFZ8{1CGf3FjrtbfK6y^PR!L;L!I-)s28^yY=!mN zP&Dh<&-7^mC20re=f7;z(B>XknAsH2+Z?X{w|FKGQvPh6h7vxucv@pUmp=(i70Y56 zHc}t<qAdXG`2>2uzBq#=*u?IIl?#kaW~%JRw5u$LfUW^>8z3LQ>LrrMBy2N6QBfrS z=79DQ%*sL_nJ<QDm7lY_e0^B~ht)YP`LYgA3qS^npx8gTd{4v<a4739i$6BkC(Kl0 z1_XoZf2yBUC5Ibs5OBbJ0Zct6t$l<$UbE^(1oJGRaQHbT@3{j}XMH1NQu8{hE+bi7 z$+>{tLfj+wRXk73E%d6Jo%GcRXiu-cADRgFT|bP(bd9P4lZbh+m(sqQt@cIb2(iE7 zS+?33$+7@>BXlT6{S$Z6X_$$E;GbNO)yG*_l2dx@J-aYO6OdI{NuLEI!%)ItrF1M9 zFslq^-nu;7jY@mLGc&Xl?^vd70viufj@ge{kXZn7c;KG|@%g{kvV;p4`#pSuO>yKc z%xZ~3?IOFzX7f)dd_0g*pO!5!gLd5X<3D0_zd|3ED&oGarJ9Tus47UO4)`mRvDhc( z8l;$PD?F&oxF`WIP}l?j(>`3pS-ps<O0<NHzj;}_Oq>3x5gcUGdXu}pY6Q=%(q<Ia zQ6`J96P12ZZnldS+0RHieUwkguLZWY(%E}#RzQQz2{O-|nOg+gvQ^GN;LGPva<AEp zKEEu(ZS$ePo52BuK^Cs2Qt@(5^#_w3_|kt*vZ_Z(u_my%)_9{?SrdCu%#9(_=C+#7 zoMN0sjOr?!fTgM!letzHwEzfZ*yNhPIU`)aO(>nB3e|+RJlF{cuqDQH!4<+Yr>wLH zDStGs>Hy#ofaKvwz@$l^QzlczkbwbKsa;8IG$!SdTtX){4}gR(z;^C2m)QtalPfBj z4v?qklu3+Q36>YUEmw90&M3e+6+}jAV4zJ|5>mr<wzHZHXD7^eqidpmm0yU@E0H-> zd}UkMe)8+^Qnf4S<I@>tNLhWo+{NS+Ejv~}O7cUDzB9Qyhn;Rjs`+Y&rk(<UNrRg> zljc`Kl^<QcHd4Z0<@_iJn@9@{K}wn|fhHZ-1nFLwDH}eN--bvPu=h^$N6FD^i?|JY zlno8`L%B27?_N7Qc8O+}{`nA!bA)tby#Qq~YdvT(xcFu&tPccC*+SH10WM)Z=q74} zy0c;f8X|kPtQ#!Uc-YnWr%U(PtdHBe>)BVpI+;?QQ&%RbF~K`V;RvHECZU7vC-aK3 zmDo7k!{uJn2IS`=XEV&8IA;@Zzg=OsNh*(LoITdAlbjz@R-oDH#-%-P6K>lEAAFRp zw(S6m3F+Wu|Jg$-euitQ1#D6?+tg5QqiXF<r%0>|r<{IEoym+dBISF(lU6EE>EGNX z>4x7mPokY~!2a80$99^eq{b!ej6y$Sm(=6zMb4+kK!$&$TDV+To_`~1py}~6fEaP@ z!Y1lUvB2c97@gyF-Y;=BK~fywLg)7~y5<i_wA&&Ko)jDc^B*<mMNjAXViq!{>R`8s z0*$+VR^B;0jLCxr5xQHS^X|tkFfMdMQ;g9|R;5N_(Z8sIqCe17#AhEbV$|x$ZEkKM zpX1jWF+-fMrOBOUybu%YeE_%}*6T5zwGzQA?{%J2>MnDTb8!K46}|#M(;w^D1j!ma z7lWzu`ns>5s5G#H>&`ayPx8os>&oMbSORa})2drWe+E)?&^U}XA-jfmo<}niyR<wq zLS@XjWS{o#$O!s<9Kd?lL%L?2q+ZoUr#o-nQZvrn@ebM4q<qHg(WTclh3|w-Wroxf zC%?~$k?b9?XOVOoACcBwF%J{3Y<tXD8FW}%GtIH(u;bWmfEaDe5d7>0rV9spkqG8K z#0JKskpEH&*ud|db}J6;QKIoWNK%1cu2tc~l^iahG8}+s4=sGhzZbUlHf>rg@Iblc zAbocu5OP>>L~u-Nn!r|QdUrC;pz?)Hl+edUkUajYtuCsj92a?l2qZ#}f7^;DNuC8o zJ%ubD-!Lt}hP7Fk6ZziqITZYCC~C0f9`WyDGuvU&W2FJ!(P@C6QjSCsK%<pgFbHh* z+LH^XfBO~3sBZ)IuI`qZo^(`;feG6otNBdCwMwQxQ1$SUJictEa@QTip@g`jX86D| zDDvko>;>`^s_A*EctYyycD$adrRVsRD&Y~0o!QA1-S?_oAL9pnt6P5umSxSnVaz5F z7{xOoQ?Ky>H2R&_srlhg=N2u%>~(NsLQLES{;}oF_<kH#k^r$Ok$-tI{^FX%n^C^$ zArlKAsxTKy_MfivTe<~THCOWkrW$X@!*PJUAKg{|cT4pQqn#@N0B7z^Qfc=xiu~3A z97s*h`(7vCvRS0Yp1isw5)rurIRvGMTL~ru@27<k1Z8v-4?*$`*J6@Hf_7VO4M%yh zc0f}S*cs>zns2h+nKdN9`7eTRC3{1qoCE=XTinl5`QVhbhd27X_BYzLfZIgKg82zu z%D;2^+p|zCEa3YvI85qb9;omxP3JNHWACwe!=5gnsW&+cQScDi{r%PmE6@J>oNdO_ z&g?;k&GYu9dleUv&ayl`)^=<(I1L|SG(dI@SuQvZa!qYm(J{Mk&Yf7GJiN4}+}PFf zPW&KnT?Cr+`X8K3px!rn1NrW6Og8<HvmIN;wMB1>e+^vd7+_i>yK82tz=P{i+Ej4A z)eH1`!<Lw?W|ltdvuJBtSl;-E(yBv!J*vN$VjiT8CwQq*h~9<Bsx8(@hRVfX@;^@| zMzliggv93G4-SEin@WQha1*hJaRFZ8TURoWnApn0<7n!d<ZGQ@@45EPaPGzn0q?)W zqL8rqApBOsZF0ao=5q)hz!zI)>mgU3dVVdt4vZe8Mk+vuJQ&tB4gZHqJ|zgH`PbWz zg~PyU#5!_-P3|qwhNlOi&49e_A(EAFC||oAq$E$^=FENdKi<y&##nttyVtbqsqih+ zkvut|x)As+N#~h>^L8A_G#Q^r37<yC&Bm~zpNL&kk_5{Qw4_>5kuy#w3MM>{=L@0~ z+cgc1NF&VRf$V$e&C#qN96#*E`hy-Jss8MAp=+}DK@gUf2=dpZc5t9gDZ$BTlvnQ1 z(*xN<$Qz}>BCH!Y*0_15_^LDB=HG{yL~cF&3t4*@kAd+jH5H-n3x4VJDr(;f+~~+N zR(_)=c4e>c6Ky^oSE2Ln|Ngl9)`iL`=Ra2Jl`Q1`hoGPpf+&}5Vb~~cKuK{WuAh74 zCV@PIYsV(o$1U@c+neoG-<reQi}`9xH60VY&+O-Ib!ksnRN5s-*JsXEKbOW&BzJ9V z>r1OpUmGl_)Rw1z0jyg<*|bnJd@Kz-1R&0X*Es&du8kOt{1a9Uwa~8UW_1uxLoS7U zJ5}SMTMs8+THMgNCRjI~qNCg}aeY8$RY9xoBueT0)&BH^oEBdW8ydaF>#p1n@`e~i z;0umZI`2WeKI78<qVd|{A^o^@y7f8UweCM}sk|Jnc*_?u*K&3b(t*B9IFcr&k_!vl zbzeOD?YF7m^(!vqQLeosn1jHAKquC!F6zdDfR?r<1V#H_G4YNp6HMq=OjIF6p>Mjn z*meFO_q#{wniS1DD_bv)Ty))J=C=fmA;6`T@EY)Y!5gz8SJZ`w6f8GWxW2*qLptu_ z?CTq-DTP~cqgMr7mspw1#r&WDkMa8dxIZ*m{Q``Tj|q$#*=4#whkO8RGa<HYX*GMb zdgo)?g|mg@O`%39VUcSl=YKjMSRZK2&OZ|R1Ok7z<DWXkUjI4(oL&L1uW|2Tpy@ku z(5iweP0$%7)<6<B;n^ta0+EM7;&1I0`3gE74D#w7UK6D#<k`Tn2~dCvGRKSFE$w6? zE_MG}h-jv0g6<$~+tAF}h)TU4#155je}|%s-E;*X%hx(g1f-;M^s@$enniCkwFRgm z&W=iCGfK<Am^5>5V-aUY`TLt`HG9+nMSOu9aBbV#>>1{^o_%>tvgxY_vf%MujL81W zreA%J-6VIwkp#arJl7T_)U)S7+EI$G7AzCm1#g-m)w*`d7!TdhR1WKEIcsQ92Ib?h z({=Al)2Uf8Z}JDwP)*Mn%+-QN-%!(D@P2ERa|*NuPC3?{v!L|ksER|x?gL^nHC%Ul z8m1C+33#bq3ou9rh+rYadsV$3kb2=AUk*f1={x>qoNDpvSfO(ajWruwz;sT`m<7<S zl?<1J6Gz`%xf9ahtllNTfY3>(I;_)b*9o~eLIlRhD(I9%$TQ$Ee`?tPqD&4q0XJMp zxjBM335)WbA#`v9AK0EJKsA~?g{$-R{&H6sZH99MIR9k>6uK-*ry*Er6Nrk`xxFI$ z(bg)CD_JfflJ7cc;so$yAQb_si0dalW6BSLQ_(}SlizjFMiXf3)z=grQTZeA#@i(V zW-Re~0JzH$k%R#l<F)KpK_8Mu1c79G1DwF8tH`)4=srt^0L1a;YV&p0a<jx|<r`}* zZ=rRpTJ^u}1c33(U+;|>yzUTjwDPiWaF_yuDN|t3QcOSRhn0Jrj3VQ#<-<WvdvGY8 z?bD9pSA&3~f>!E?7237LCmkxzBU$sGF%H<9Z}~v!hj5bl7i3KhQN!VmV}U4rBG-$o zvAJ`6Mnq>eo&nFIhXWJsl&rhl?J`h~baOzT6i<<(bApw{sAGXT3Z{S&`@Z})a1P@} zbxffp<hs}yjOS>L7TT5hBv;)kzu=%j4cZ0HpUSDdvM5K3sWs@h?Fc9c1;xqEDxi)F z_OrMD^xk%tySZ}^;R9IZy-*X5K`6eF2etC1&!`$Ll|y_oyKeWNy4dNg4F`8YR{JZS zpcs8vx>jgzrZo+?Uq?@B=xcrN7%$(KbzX5>^1U-L@4Way?}H`x1WK3D%-IalRo=B3 zkc>rnF!1<vS&4vTagP7jmFMpKJ;&GbUrh*pa8~Iwf4(JhlFWe%3Di+Z19Eu1M`d+r zx1M-kdU&ck(UzNil;m80yxa^*0AH*Jo*n(NwslV><$G;5Z!c_s<!4Dwv03rFf#%wm zhE*AOEs~KU$^kM_S{-uv<oWeFBboZ6Ny{TgOi+grTJAj>2U;cyJBp~Mw@XrYLOe5T zUNX)e2c>5aa}N!YgyTBbl3LrL-*1kP<LHGWIQjvT6*4lI7?q^_usDGK)N<5_*uUp! z$sx4syhlHU6x#h|Rz%+&gVoxVudCt$em#aW;zMl-7a5eE9+Z*htq7VOkIAqUx$icq zLA08P!1!KFTEX&tlsguNa#_54b2butd%Fyy7C)c4s%hK5aRXiqTamTs7#hm*b`ElO zi99IF05oyjkBxZpU=!I^TaK*77)iKXJ>lK2Rt1nK%rIl5zQXu9J+K);So0A)ZKXis z;Dz+cKQwsCc~g4cO<u*H0ogJkf|e2ZH&L<q=I*D~`oR{XH5m~+ocX8=ho#Qdwdf_y zj8L9bbrJnNg3w^S??F+bZM>97vHBc*-xnJPHxwM1wD$+lC?8I0OiCcb6(s?W^7+E= zWzvNS1TYQQdI%Wk@SDX8(4e@&1b%As#%GuaB<ukCPTSvh{mYjGBR@}S;5NSuwXZB% zXV=FfV8sxkOahCA7HLHKfY5n|kkQ87uwTj7<GHyU91~II{EZGT+9M~RA&1W5D;Z=a z5c#U^;%H8VgoEH`Y=J3M*MUrxrWz$@62Rkuvp!c(f1f)yu29Ulb&fUOEULDdq#@#! zxPn%L2mn#EnETnr+nL@Ik2nisu9p%3R#+G!i`q5not_^~8x=AHHv!w`rO-(mj)h<= zrAM=Ie*&LU>e_*7b=cvfFMakZ5|@xG(@^@NtoH%D8h8s(|L*a;-gfI2myPZNM+)fx z1N9y7{1t)^$5N8JXv`~_@p}_)JenpO)?{+jt=>_CWE}Enl2^AjAAlq98gl66QeGZQ z1i`VtlRbzXc{Isw^L5S=#!~kkpUZLcrH$3YnlN=TbTRzkFg=Hyi6O3uqON7=cr8FE zDqR3fk%mdS(-ns6g^1kR#NtzXCt}(ik;tM~ibD_N8cn5-rE6k956=tKEizCXmvJ;? zl?TRTvmKWjpaRqrbZ&zEpgow_$7YCh3|*zpFcdf>(MI=YO_i`MLA&obK9C~btVCmt zL+GG4cCy49*7Y0Hk{Sse46w%!#~-AEVS%|4GvCUe?Hc0~AiU7l$)myf6E%1Yu={>R z;K#PjBBxgEx7jcH4I$nFG%uRls~;J}3yq-S@CBS9lMPZT^@N(SVHiR0<D?`5bNil( zQ(3g{gp|oodPIPi8K_nZc!8N8Nro@=oN7zIVmM<Zl`;0{_Kps1w4+Duq~NJ2WFraX zt)BOrBCDB-^|Pg3ml*z#r$ea-jgn0>pa$Si2t=j>Zx49&e5tixc?mKKe55=OaB-5! zw()4#5t%vm#6~gMatnGGwR6V^Yux-jjTnuSMal|)-&oe~N=K9wP|yC108z{4y3mzt zDvxNAYBDW)*#VK^Z-2`3%+nRht3t?7RjwI`Jm2GZpLA>jTh%YNlx}-%cMjK0B!59F zR4-uaR}9s#gxhxY|C|VcdN1Lt-a!A5D28_?SkG4q9b<-4q%+<Abz#%DC_g#&zB;x5 zr?+kj?7Bu-T4xJIf{`R0Pr(ru>BKnS7a&}@9}_~r2+n5&LEqvE4<N#AND95Td$I@F z24XPUzQ6BV;un%#?q*nk!8G(p@O^8jH5_T`<|(r+Da66%9PP-e#96<%{##L=YU?C= zN>&CGfJ|<H;lW7U1s1w!HP-z!aeJbX5d&n`uAmM%n~hn>jKTDyL^yF4IE2XS3n<k# z-E{>g`dNJMje&A{3^Jx2$Aenae@_Pn__xk`!1%~=97yL^gZvzhIKJ{2_ubP08nGrs z%*EBwPs+)le9Wbj+xzsFZ{d8X*|>NiVl;Sf0+7EjDdI+mm<5YHv)Q;Of{RazCsO!E z1b*-N#G?@ToLbVDv+vu6#=8si?xsgSGdR{gyg#S%>>dpK9Pk(#;9nmay7YRbtLOD< zAE137hISIYlcl|umI2vjW^FLlbmFmf{j1gIz-g&S<H}~?_6vPGq^*Nbjuj^xqdD7q z-#TW1v(+6O48r_}BgaO|iHu|9L{+EWzRl~BQ$vm|#=50BQo+pHwX7>@{)k!X<LK{- zUgriD7LU$O4=uTQd6Pjf%XGCKyYyD*i&6P$nD`4-T@#=)x2^%POt(?RY<GQt{Ol39 zQKJB;Ef(&m9<K9+i8u<)Y3xYK{vtJeKI4V*BDJL)<3n5*u=F-sZ1En34olXeUronQ z&ybbxc>akWU&`1k-n+lCUQ|snJ}$Q>it^KQSSmhKk+L9I7%u5qK7R$Mc_k1OT%MV} zC<T55`4$b})u%vlcYS&+YyUd%dx`jr&;d3=(dM(O@%2UpDwnCY)IZF|99>dhuG!8p zf0Bn8ziRfn;L~dH@|>%$8%p*${QR9U?e!-^--$KJ@u6%F>o3V1roX=LfGBnbNY=9B z%Gh^6y}g27;hmA~LgQ!3slIg}+?@HK_32knW$eah=B%fJcV{$80_A2OM^&xr{+j>b zn1MqnI3f5hq5grZ&GV%c`~?e&F8LMUFJSUpuJ3ab_>bU9Z2r;fr|>$R0AY&*o@`6k z(aF!*=Zz^=Z6CooYc=wH{DftK$!URaZJgoJv*(2}um}6GI^4WC5K-)$&7Mmm{`>RT zl4y#G?7K6Ean)<UkKoT#wKVd>p3L0HUv<s-M)su#-f|88;(Bm&rVLxgb{%>4RW{f8 zpNM_prqkL+o8EhepXp@(D9<OaG8#$}l&;L>a(f##Eb?iDe+d4C26{$}*!K-uF1OJ8 z&xpf)^Zk}Ny0F-nFw?tv%&u+XP75_wGqD^*EM;Gt+<EvxY~*EAR(JsXmj1{v|9Wib zn6ZqNea=5~0*vv8!qY{ifAuvaIvz8evK&q{S<y~)!ox60__g_)p%<VUZp5Y<{_6v3 zi9-G)t9G!DFOhbNQ#ZWUdYGxN+L7P8t8@YAw|~t`%=~$Le+m}$I!w<rmZGJ8zLuuE z(fi7a?kXnt0Jx(#&?R<}^>^hsxzcK0YK;FhieUtSB&)*nt)F^cGkIV0^QA{$%g0M| zmiinXegKmM5LUJU3>snU8$rfxF~y+o$!^YBAol}$?lpI^dUI1YPMTFB^H9q^+Xpfi zz<f4iznWvUXC(F<jDb>a^!V>8PLGV&UwF+{J~>dI;8={zd@7Nsu<ueYrCY4Gs=OTu zIfxz&{@8R}J(_Cje9`z>=UDye#M@UF;2z$FgqrkWp!0^kF3*zzeUb71=zFtN#=v(P zC4!Tsll16w;7={%x`1AFjb-zNk@>A#7~9ff&tA6nx{6BQ?l-;NANA?M>s2Bnky!CM z-G%4PfLj+n7+deH`&Fx%vf`(ulN5|U<tc_u-0XS81Iu*Ap9@X=-uw|n+KA5=37-U$ z&m|JxIa5dXofppS7rXO2XPLq<m8EM#Keon5*2JRpxr#`m(9_YGq%ko%t%0goLX+F! zBYtoUniD{RHKM%xqq+=ZyZ$scO91}g@$P}xi)PG<lVuxT%g=@z%qAfV?z!yVa~L)9 zFdT3=XOqi5jaL0@^Z$J^BCYkvj?g@0qIX*T^dU@7^WhLqUkZG&l7Xe#YPyVC0luny z@vfuJ3DzHCcbH~89*J-yzK6a7NRAcY$b(gB>v1BN%F5||IO)FA<ht#ak$q>9qGLAl zB)xLBLDtN3lqAaM$j>-%&8YP~FJl>Ni0^5S$+w;wSroLZpq;a{p6kP@q7zyHKfMx+ z-MXX}uyO$}3!_)T!2PbvTs(0ylCBl;gj9f#o~rd+ib{$T&$k8n)%RzS%hrp{0)SAh zNw;oZP*AXbh@QTFuwb@?{2@+U8XwSL(t)Rs*%F<y&U@snICz!z`@2<SzI?tT_LQ1; zjZttn)PxsaB{~#<g6cqie*Uiv;e{6OtF*WIeBN60VX^SbKL_;QuiNkV;`)wA<7+bK z%J)%4hYD}h;xHvXZ!xDwF2d+F+yJSDF~|=38mOdKz$tYH>D~FcY+wG&@oA)`r44w; z#o-`lA+vd_2Ux8KP0H}1yudBg68nB-y1J!yvVl7dxFp~lOn!=pEJARuVMa0|kICoQ z2Y=$G>Z2Nrl*HrB#C{>4kH&bQ{ScN!&I*$<tBXwOvc?t8eCCrb9(WrWjmoDr6FEy- z->mK#nSwFelY2`8*&UhV;Q560Wqn8BtW{r=JhN<2N-+1hs}9k|g;bEA2C5R?CFRH# zHp3^@wCOBW<U(dfIe8~eWRM?6ilTnPDdx*<hP#ByimjB1jaEf~rqeIdUu`Mwtyb+t zR^LKrZ>oS?Bu}oumi=)BomHs2vcLodfg-YQVOEz^AH*P2@g#uVkrQK&IHk>3xKj8% zCMKJBYpU>uHa1hiV3d)PmY5k1X!xF*k5E1_23jsPZVF0Z!uX_RthhB^mH>F9Tj1Bx z@z?E>*IJi`Rf~6OxKH!i!|dwA!0(9fp~)eO_M6kvXiUKHOn0Omm!Dt~%u`5%3rhGE zXrj=dicD3Eyo&j9tea+3?u>YpBt!KjMD!&dv53zfHqbh%GCSXqI#NxWZ%ms<cj004 zZm&K`Avwv@v@!gAPW9zYmrC>oBeF)qo1rfwuVxjY76cqY?ea!FF$~S}0fG|fo%32Z z(Lqg^^@myvel3k2K<AsaTIKi-dd#%ypmYLLq=E+UJD+FQosq^(13jhv<hz&jk(I2Y z^D!tVh8A#__u^D9s9rN+G7)Kb?siGT-0AcE>QG*!KM^DJ1;<%XiZUqQLB=FPOE1n^ zg)L;;><U**f1q~`yQjYn#}8jFMR}p4u8kTpMAJGq5{?8q|CVn#bY(`@O>ruD;mb12 z3t0t)Aef4BWV$$4RwnhoZ`sF35GhvNlg<7Mjg!3go75p1@Dw&Ej2~>_VK#vuh9Y0l z$(U-Jy}gSh6Bcn-Nz=F04mn|xC${TbH#XN7H1!l&6k^{})FeusuvbDTfdplo-qNrj zGM<T-w5>zv9mu{W;EUMy60NB|d4~~3qjMX1Eue41ee$~KNM4hM-a@WKk%E!j``esb z$Pvi!Fsw)=)M;Llw;6qS!ncr6-0;h)nqwG`IHhW>lWv(-w5KtwDz}ayRyh2A&sN@C z_&`c^#91az8i`(xm9F)i6{c9f^1OBI{DH=6uGfc-3F!o$Y+2%ND2z<pZZFNzkvq`T zH5a8|K_na#exUQjFx54!viXNm(Wo*de2kRj7|hUax)gk%06x%@)vgXsCs6yAUkUXl z8IsHv+2`z3gW}4Zw9jKCM4EY`phY>N@v2m;Y1d7%ueBGI<3diLBS4bKv_x8yoXY-+ z<NFPTaZvB?>nn3;FB8tx0ACbM!`q|NH}|B~_|5J1g9RB4POEQTE`2*akjAH#5p>aQ z)W6N~5ze{wna1DnB^a*~s|ByFJNw;DmkD6w+mO+<CYP|%KmT*DtZMosoT}-F@#ex$ zV+nuHj~Tsal_m%W^EMnc{%0-zb%*I->v*OcuZ!u)n#J6QdiuVKre7=TO-~ziV^u?A zdlWeVmbx+IfP{=zh)1RIk^qAgdUMyab%TIPV}gi4jR~>dsZ#rc5q!KP(K>c2QL$k% zy}8X`TJgI3jp`3v(4r08JVG=q`s*f<+k912j_}F*Earo^q3QEyw3^{qRR0N*%t4~j zzprmQjg=AC3<kc4Yl_l{e%)zJ5xS>f9rz5o&?@#>K^7VntBj9P%roD=&7m4$5U%K5 zB3AK9k5l?nL=H`eO#16CLn!zM%mt#`(LEjrc_D}jhJzrj)JFl({a`c*L>Zxae&S5N zXE%moh&+H}h?K`)dfj2-YNBd-rZc>wL<E|-l2A`ezD=NF1>+cuYWpNMQ6}&rgsY%o zU4Nhr-j)Rz)?Whr0<T{W^y3tKaM;zU5(d^WLK{A49jnE=9@q6GHGKSi$&BgtSt@+c z0Ob=iM@8<qdDfe`q;JlSr;kz()AxGK)OUePEPp++Z(iRmetIlSloaSuI!TahuRBfL zHYf3t#z&YP>NBGea|UFz0emVABgOwT2aOXWnvwm91fl-A(MzvKl3<$QZb)Bu+4MNo zw;BWFw9gn0+3^a{a2Q4#vmCy;@Gz~$vqdI3I@C1IwxnAJ9qPhAA|GFO*yxv$FH;&$ z^1r(RU_Zc<O>ZdWJwU?(;~0!;a+3i?OfV{NnZU3P`T3Lx%pp=Rtp8t@qAc-$7lY_p zpFH}1;9(&+5-Cx)ke#3>bjlGM#w{c&d%c!q6r&UgULpe_xD~^Ld=0eUU;=><<A__f zmJQshj1@F}upM4Y>iZjoQGkR>L)P|u6oG<kM+4emkI!Bo;v)^35ND95{O=uogn7W~ zGymij5j3fwQL~hB(*`W7zn^3pBFUIWO2hc?lYhN?z0!go;MHRN_p80$`~EW;mqdJe zMwr`W>91EaXl-@^x7qnxi}CmSOKhBm*Y~^rL8a?Mq`f>?i~RT3cC^A38*~$|@BRHC zm}tp*!-b>trjgK>q!ht-@UckcB>r9}5Og^C^Axv#pQJUSwX;*~==_fZ!Nmg&PCN;| wztbfJ#idPLnbQpFA23kCf+yQLHni;RnYD5oBX#flE$~lTTwbhHMBnd!0otBhqyPW_ literal 0 HcmV?d00001 diff --git a/11.18更新时序图/9-26时序图/登录.drawio.png b/11.18更新时序图/9-26时序图/登录.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..05b3ba197f1651e09b3656f18f028f4784889d8d GIT binary patch literal 56028 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 VA)ogcnsLG3a+}rGrF4(j{{oSWmIMF* literal 0 HcmV?d00001 diff --git a/11.18更新时序图/任务提交.png b/11.18更新时序图/任务提交.png new file mode 100644 index 0000000000000000000000000000000000000000..7523842d6766d9219eb2b6c1f96ee8935d515bda GIT binary patch literal 23072 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/发布任务.png b/11.18更新时序图/发布任务.png new file mode 100644 index 0000000000000000000000000000000000000000..eed2b680188848720b61b20db30a5b0ec4444629 GIT binary patch literal 26316 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 G;{FSoiK6QO literal 0 HcmV?d00001 diff --git a/11.18更新时序图/发布接龙.png b/11.18更新时序图/发布接龙.png new file mode 100644 index 0000000000000000000000000000000000000000..de8ad22b87d02ad0808d7d02d4fccba6dde1632c GIT binary patch literal 26568 zcmeFYcUV(R7cUCPt6-riO+-)x3pEKOfJ!HjK<I>oDx^UQHFRkziV{RYN<hJas8k^W z(y<T=5fr311qCUhD4>GC9rSy@bIyJ4xqqGi?tPv>cJ`iGvu4d&zg1@Tc{>}69b0#A z<>TYqfwDAn;Nue@gFktp&EQVfi;5)h#UJ8eVZv9|zGsS$Z)-2p9LHotkp1W+K4qBc z-z#OPmTy1^QyFHa4260J25J!fyeYxnj1Ucf5)<44&lv$kKe8W*__qyI3kp?-K-3|+ zPFmW^Fk@{U@DBpjfa<|q|F-w0ko^BcP)9=x5IE%G=T8g>4*{1pPT(Iz3*3g8fGh9- z4v1`AM!>ZXgD>O2Ksw2V<YVOrMn~$v5E?KzxP8dV(g|a&3^fJUbUzvid|8kPw1AB+ zroO=e3~&bt(L!hd(tpNu^d@@;`~A-(%!!o$wt;9vbTzcW<TmC<VtP~l&dtFK9%X5d zrsy)loNOJ*RwS~o%ilI(q~H+00RMkQprNAy`}=?y8A$qjmq-fpBLFs_$}n>v-v7uE z(D(a~<bw2&gy0Y|L`OX`)H2Kw<*gn@`%A>%8}R>U1(eMZ%EqP}A0Q_1r);jLYz$F0 z(fLakfemC5;25a6oi=!C;!CkZVVtZTz@;rN6zU)5O0~i<T*92JBeamN=n!*M1lgKE zj3DE*7$_TUBol$L!x7QJm?&qgw=dEctQkWqG~CHJk{rx**2cqv;JR8U3L~6qOR)(z zWrSPX0McNlCU$zJ1PlckX@-poce1h$fJ8W(M@5;FBQSIuw1XB>i%5e)s3<FQ2tLe$ zW@WDv#6Vlv+gK2^BSRUwp)Pu+V5%lWdmCJ!m5a8irMV+E4DJ#U8G&^~K&-7vj^s$6 z2m;+%7m9Pz1<Qm9@J4EfVHwZ}oUN5Lf<d9$8lxj<bZfLO(-Q7OGk3xV2b)-vH<Uy- z(gy1of{&yHV{~nxP-1{xaO8$WEd7w=5Soils2xye41#V8+D7^X+7d|&^KgQ;G0Yf> zF?XeEqg+Ewa0rAA-B%aI039JXOe6+l;S03_KXjnlmKda81d)LDNBe>sP$bqC9u{bY zq4|)!9Zmh=enevkp2#q<h9GeP-nJN`pP!#S0S2SnZ_Fb+*ff|C1_i2Xf-u=&3t>$N z4Mt%sBdJuP2{R}RG@?Qyz<+W8**6e0*toR85ySKX?82C?BnA;`feEm%cLWA%66IhP z9>FjPp#;*bBd8dNt}%>aOF}trERz}DTaRJyplf4cW=Rg#F%Q*6nKKBwbVfJ|>yOcM zbaoBXK?UgIwCJX~I(Yv8TVp&<#~K>~cQUa6-J!a!Ho8F}=5z~tIt=OrY}o`&1iYYZ zLP*{;8x+wTn6imC-Net)5nRwhsm^{hre6>hqGN^#4z;nTI@swtpi#!Yk$To7f~`54 zZm(+>gp2g`!G{Dy>e2}Si%j7NswEIBlImbhh1%-U{QNCYbZjUEMshJWw?#2<RvQDG z+o7nmpm1G#td9?lY8B+@Y8&X_igPfhyTC|RL6IRuIyI1nwT?n)`&d}HVuAvUO({VR z_;4EwOmJwBeV|ilfUh&c-+_eI3$-(501ZY4>mYT)8PsqD#w84m^~d9h{{DD-G#;uG z4)r&U(A6W_S{hqBk}L_<u0;C?9Oz=@ir!EG^9V-^7hk_n7hNI}OdT1jO+lH$T_eNI z{Rs}X7#*lJ1r=e8cc!ASdKi103Dk}fu7%o=oxit^10xt`2KRyM>G)fbaC#V5oNhS8 znL)tm>Ny9Q=s8*V0L?cGvDC5lCtDiZJ87fz=*A3NlrPdGJPH}^=;uhpI~a#+)11SR zp$PjZhhPi5sg60`4})V`TBBU7bkSP=wziHTWNTw{s0$`IjE1DqT&Xky%G$-*+Ki5{ zvqgYO(1Xmw%$;#?x+%?%1owxynA#f$Yx_D|1v_h-k+kSqE;L_ThP7jWi@zxZO^q~m z^b2!Fqg-rg7M20dIz(Fx8togQ#fS`mIygsohw33HL>q4aA21SuXyL*%qx-<4LW6t> zK2RFoR*UKbbRCIChG93<*4s6hVG^}rTfs1AJkBo?5(vXsQcWE6f~+F!?JRK+-v~V? zEv5+*iQLeCnk~d9z$zFLVMj70AVW<<EJ95P+DMuy#vW}JOpPJ}Q#LV&m>{$RQ6!3q znQkD}G9bVV$FMiHL^}c(gN$;b*ka(3;h-J(m?E@D0Sq&QRggVn!xG63HvaZx9R$*p z3~|=RS~-PVX&Z+a1CT{B11wNf6W0)jh)9&bP0+@zU}F?n%g52&5@)Mr8GwbOLL)Xz zJJKvz&nAST=j31qMf(t7T3BBuF)-XV%FoutjtaGQut7z-TA2n%Sa~C;RFX+B7&uVd z%7=(_*)X7RINs7Y*ahLNV`;7D=;Rvit>=nG*jNzBcs(<8un8_ajAX54=ST8kU|h7q zy)i^wcvKJrNA}11YZ+TGg5j<@cECHCn1|yWLcllH8;+n@`sooVI*4#4mg(e+4Yswz z+M1ZyA;QqUL4mr)<Org*owbg4NRW0Yo$*J<$<#1=yMQ3N1;r!`=NA<ip$7>kyO>gS z2y{4+j?oFyLHOCAA=qFt-PFX%#yUJo*C~R6u!^vxTEeXv8w~jQNBM_9g2+@;WGLAV zf(VXaAc#6>KLp&4q=TUadPBnqQISjw(_pksR4C|Rfs7&;TZP+0Er4bs89pxF;SM%T zyC}Ud6H~OSRag`y#1;QXTn<<q0SS6UIiqa7_3#*&gDVzp<BzrtfcsgR;`|U8Yit0~ zo8e$@jv@NMUC}sLAR1T~8XX*f4Rz3Rg$80nZNf~Pg8a<<89GozAcYKzunmnw1_A$x zG)6*oD7r*n?Fd_vuB}c8DU3?NA%d{hE^rJZ$ealei45^(>V%SL5&nK4m;hE3YU>iJ zr|YW43?y26Lv+Y^T^cml0ug}1SOoc)xcUUzM3`HLMN+(RmQ+U<2#8&f#+IQG+Hj(U zon@qhxp%M@9tsbD;dLV&@I*f|BE!x$f{t<^+5)6Di$s{)+o8goyzxxy09Po%$Ii^# z73vUS1r4DveFA-rO>`~DdbWXRe{aBzv$d@bTFV}S((|>W(}_-j+6cG_4(>z_$KxXi z-Vk41JzIzi%$G(D*GAg-`-af8O)bn(+5pIrmM$doU?jo>$}~q1%}L&L{{Sl7*w5J7 zPs=#KmSl&wg$3I~kp6U(t{%)AYp!JyWkL*Ky4Y%=L!nkqA$~4aFkcrdgdfSuHPS9J z*doZn22Ur2=-EaA>Kn#SLO6z-(9N_RDLR2jUpPb$vazHv7&8hF_tUlZwF|O#4Ge-g z*aunK&>fti{ty8DNTd!e475YSwUHR09VW*18-dZr2ZTh(e}k$&5f=FUpBNTqZY9er z<Kt80Lzx*nMR<O0+;QLEIdbyXvw~!I4KJx0?P?FB8{H?|lyq3TRpU{2MGnC%|EX)$ zmTrEXpvXA$=<((9Xw9)tmQS{q9x7GbY1As)X{;|}eU|8?R+w9``RMTkX2GR5<N^(y zm%Z|ZTfe*wiRcX-el_x?-f*<BhZ7r+@$uu;#-6C2FOh4M^$u6s7f$L=BR+w8<9B&2 z26L3>g8TURr3HU_f83v9?W345TpvFEYBSWj`j^29{de{_#iLSozm|}ZqDqUX>NLNA z1eX^id4jj+VAeh3mVNvz_LBnW?RG&e^0mt!yZ8v1wq;4X1jJ56=I@S=7jMbdE8E0k zkAHyb2<aYZx$wVf+{)S=&!<Xmr|}Ucjy<v#6=)Z_?=zux!}^XiKb9Be-F8cytCo69 zTv<@@>wbQgYz7~Hdv<LZ7<^^{swebNDIOA%<)HHRG$3;P`o~T|LZ($=(oVp}2IZDy zz}-bve!_%qt@RE85n(`E>z?&J7(WY7A^y^C$^MwGx<8RmP?vz*VH7V3o74gH@=g?P z;im}VAR(D{g<Z*ja^wAvZ-fY$7I{e$0%8%D`M4}}JRgPU-pj}3g+{UW2o8by)><9j zIc*#-$=Ull*zXjiP1*6OFh7_Lp#08UKnC_K1JJ(eUbvb6+y?Dzr^2^vK5hxD^5pIl zyl*cgFPrcQT!q})tO$hleK(Mwtyb6Rc$h#*ww~3Yt|@as*|YDP?-@v&lC2q_++fKE zV8|#QMlRcso_?dXh`^lC3Et4{E5eI_2wv2;R{K%*$F##^XZXN~fbxb2+2d$H+eX9j zbiC;XZR;bB)7E^19$CD>4lVMp4;L(fR<vi^ZxRcv@LBr$M094Z{!7n4((d<NkmU{E z(DFe~#r41QU^Lk3hjiQN<(cwcb7_wPOfLLISxpBi%VVMtszvs9cwwe!CkWQ?f+Z~7 z-B@u&lGB&XuC4q1t&Mi)<V<PJ9I3NpI0Z3s_w!&)fDCLU0!ER6Er{|9eJ}&M<XD{) zdPD#($LULwk6CzAx4JaA*s@9V6X2(};@RH%N3+#~{)0c`-1Inc0mF4wl5O%w!-&mM zXCbr<s>UfkL5Y3w5UT^?XCSHxB`NI7#r~wZfhsE(ub8U#qhF34UwCa=_hTfQwgc-M zK36+ASG#t}RD`V~OAx&Xk;^@_YRo6#DAAIQL1i_C?0d(}zIO843;l5xY~kH$(Vj}f z$*UpE&sDv1{nZU$npPG*-AbK)&}B2&mhIe;_c85xoi2o|M@jA5XSWw<TBII@tEv3% zaW;G3(ba{nA0@2*%#TW`$10hson;m39fXT|<Wvak*kpcOQ#E6-5IlmeL_NwT<(sJR zCENr{dI60{XDD7Og>clZq9wkcmGi%JZOhU3XLd4&f}ZK9=o`SujPi$LTd&0|_3MMF zAz19H8d_QXoW67+&*%j2^>IPPOFIE8HvRj1?g<fTJb_C;S$O)x#}~2~UITDSgMgIb zWxv(zNA>G#D~P>&@6Sx<^<6!}@3@o<$xYLUG365=>}<(S!CYAjKJe~k_Ub1K!%hps zW&4=VG_Ul=y-%uP#b2P?R2h_Op_v!;r|%vwe|^97Rp8I&sbSw*Wf?-I8#hT>fCOk{ zT#F;G@8@^nsvYPSSvtpfm2RW&H?AW~t~+)3=-SV5M0-}uCsT#aSBTM)@{=D`<py)S zoz-Jok?o1VsPv+riX?mkB6-=S2a7!n))pU;$}YXwf3V?}nt?6Z7C&&5M^7yA|L4_! z^JsunZtd0N&4kR5r6hTQkHAPXvO>tSyzI-bKLTWM68c}o(&z)1+@-nd!)qX>MH*e- zE+E5!e&eZS0j~AR#QqCrz>NPNjaP!pIuaj$`VJK30{}+0oBw~&<&tcSIXod2LKZ%d zAg0Kd&;uAKwGX;M*nox?t^YMi8Q3`#34KlY1W#Y7?G8UzE#F=Iu%Kd#ER4!0fCPsA zPy}FFdfQvYcb5P(iKM^0q7N7hMP}M=V&M&H_d5t}AQ@;3jJq7z`*%UuaUoqLfGV6b z&}*Im31$-2Q;{;9W8ciKi2cP#CjkI~6Lp)l$Yot^9~9qR1i<EjX4{DZB8%~vRy$dE z4fcMUe<^DM)6gpu{I5j*ckup>C9A^+FyQJ2P)43&?-jf%exj9!H(}doZcu)lX`#fz z?~UA#7W#{kNB98*hInj}f%Q(2g2e(Yz<f1sTi@NX;S7x0ZVPkOvaH1q0&!dbloO<Z zl=ip?0KXK>-YvLC0?_t$U^`I2!nHsD<`)lXJLqDzm0u{3`+v&Kw9M^g_@+to$M$^8 z(7c&wQ~}(lGkuz^E2zlFF9e+HJ)mT_GsVXe`2OCxjswj2ICeY*sJii7%rb?Kt5(Gl z6aBYGD-fn+Zj_41-{<j0RG=C6NM|DcLs9HdCU6sdZ(%`y`p5GLIsmU{rLOdJ)4x3` zK#$hKyz{_J#lUmLOS^%sQ)Tz<{kO*j<#>oHe9?N(-{*V@Z-EIpv<b~`aJ13GP7U;^ zxJMcL^9!(A08}m06`8c<-yS|d))z3xcb@yt#1wVF#NI+pj{VzXmlYoY`~Qn#W7YnD zQT)GYg$$L~K3Yj?i_VW-p6Wfm{`>pN=lU;A9rA%K{BfL+$@X037<knSDT$63Zq@YK zcm0(7n6@&H`Xx<bI|mceRfy@Jk2L&RyLL3(Q*~;tU%>lawcu+DHwPv6a|X!xha(!V zpY4uBOx-GntdxuBzKhR|{f>wW85NEFdV0&+a`}3lh~5XW<G((nFOU3ax}zC8pKQC@ z>h-(zyRG5s!iw^0u1-7W(+v@WpYIHHKV3g<(+GkV(UU8Kqh&6Q)6VAKanC*|#QhG6 z`JOxa_M-gJyygCm*sw|4xaF?!a)LYelMP=ClLCM6&$0|UFy`}{XUn*Amva{0Jj-Sb z2Q;rXEmW1qFh(71^lk^Kgb#;ijVzXhA738|>4-7vES<>@#w+FA9a-+F$%~r27QPqP z!|P&yzIP{Y`E5<}DuajDKit1lcsbkf@F&9B9&Ph@gNY7INopB))-Zixb!D#Jwi;bM zO(>>3+Z$ctv9uYr9^1WmvKf((E_!tKe!0Q&r(4;TBSO#oB7VL<XSn!8VeM;pf6tzC zla`IwQ!g8deBK<hU0D|uy#NvJnY*?*h6yE~+Y|h}#$ateb$uyO+Osd}DXpv)ng9F4 z!S#g~2lJ0rgeqywnw@CNRF7Mp0#Z<DUSF*a;ZbY^5W~!Lji#SthJ&>slK~yFTL|l? z_?9j2?0#*bUn_L^dMYzmV&P3|wtU@a?8@qAPKQB#K(8NI-2Q6q^&17x>Z(63cMHN9 z0}Bfqi?^!hSe?`T)}@b~(AzMf(=j_xH4}gD+0FGZu>41DW*%;hDLEZn19@$M@O1Q) z-=NGm{_%>V!H<-HlefNy^&cIXzj$Y^Zl+8$sE1y8Wp1P~`Umk^R}eyAWtOwASYu!s z&gT-Y9B)u3k^41j0kUr>*5g)c?2w8dY57y|_lFDP3hO_Yip%PzNglUqKcrd3uD!60 z{k9dA|7jp|#!cJ^SE^Myx!?cT%=;nlT?=pcd){W<OuZ)@KBo}FM8Z8bvHF?x-eK5d zSH!&Xc+fcNkgVp}Qw9=f;bqH1vY(V{iA)_bourcW_&EQ@Q^Zh&1bQ<f??YOGL7J8D zkJK{`o!!|%KMikua5gc<34c5*XKV7JC0jXb`@&^+^uxFVSJKM3ypg$%8K?yM#ICK6 z(T6nu(BP`o60fIzaCp3`bmIyWPELz>L^lzBnthwS-T&B&kBNZJVPgeh<<nm7X;w%D z0y+JiEmS!RErPgnMZ*8sVG=<}iiQ8%=1BsC(`@!9=;gsWtVQVg@yokma><51Bj<iH z8Q77Cl8B8=VK{7%Ar}`oVo)FUxf3K1*E#L_s=ud7j(gR=KP$InR!?{);t~7nqvrWF z5J2~Qt{E)@p>OcGXkV@th{^K?@OjKmRCJ1b@{6??5a>1*42L(b3?C2bM~uVaqAS|x z-!wIc&h*@V%J9tc2<zXRRrjk~M}(0X%1fctnSAO0j*eNF`tkmpLeGEl3>v_W=(?nt z!)4xG&wowkmoo;d8NTFx3c7J`)TbMAb*Vc3K?ASUdw6=2S8vhE8^g+L7vDQEP8)Eq z>rxd;7a*j@bNOFD;_!vr@!{)e%}}rvV+VW~=5xe2TIz?X=<$M`w#V%M%`#SB<o`Y| zV)*-OO4~TZG@2IjV>mqE6S05wMpWw7&!5-6U;A?MPFCz$8IIQ4F93CsU%CJS)qy-9 zwmIg<@Q>O}0KEdj=7u6U1sxY%^_kVI76)$~wu<W84eN{g`e@6K1^HMR!=*k#^wusj zu?xLh+qW)f6E41ybaB4{%qcn*QV-OW+3oD|84`QLQLcHpu?SLpL5aor=~gV~(T^De zNnGYIZmeRa#c9wbuK2>F6JvB?(_Mye@VK89mC;*OH_uE_`5pZAxl-yZX*M?&r@6vE zI+1m?Vu89Wj5xHStnS;&V#my8$#=~z_Ii~kYt#u5daAU()i-4r6c+u6Z;Ndj%>82c zo!y}=vHi!L=H=q%A|0n2H~c=I*=f`FJ-M-U?Se~#$&b;v=B3fN^^`cbYrVsilGMKJ z#1)&xta}lx>gJ)E)z+rAZDf~>+{UO_-WoRL*^fBm6Zh_y_|6g%cgJq}^~CV^lax3w z0I17f&lxt%yP@f)#vap`KNq}ub>NIld3LKg-DD&GLd53Yiyf15r)OGU300-{7zp)F z^oF(4yQyBodom>zxN3TS)nL-+2e7$>kevhY)$27m>+`8`4MF(DtgP!D_Z_sVJn@j3 zw5k1N9`{lY&m5PzQP(}Gvh0E7<%HR;eM()k%wPXK`D5T?#mYH$^>yR=fPNFRhPpk^ zcFoyWM8dGeQX<%4L$0=i4Cj}2gA<N%LHEpF&Goalhv2GYk2@oa?(yf_uqt%ff!Ho# zL`5OzA3%DnJ0ars>xo^lsvy6*<ykr1t4(3yd#TyKmopG~W#YKi9tP*FEGJ^{_-~05 zi}j>7scS)8+2x^0gCA+?D}`Ria$+Ozt?jR(Ce{zwCe1SfqTOab_muG-FMhhES^Hw3 z^zE}Ni+eA=-4pkFUjOrhF3-wWo<EZ3E9FyvPKGt~ea$F8X};mFMD#yhPZ^e8`FNa; zF!(VP61{pdfa4=Yd9r+TEJ+Ez9pA7?(#!F9J7;z+0g_wN(>pMaCiF}M5+B~{6I~3P zc!_Q0ZSN0|=(cU}>6x(ZEv*@;o3zdro&lNp(5G)Jqw8zj0Cns`?|(YhjxGcsv|t1k zsA}v=Uz{c^oG~Wc_R^U^MzrDF$yf-PRytX+#VvAt3VPz<WnAvGY)PRc=XLXHOL=km z&&{1nS(!~yG4B$#V9Qj_McmP)oQ2FdFle=5_Y4ZlethNVHyM`Xgyy!Mz5iTntmc~R z;LDRw<VNlXotXqt$8ev1<Il0=DiD%1wkN}7IfVp``3v|^xzKL+qEUr$7Jld;STC5? z$f9b%v9{_NpVN|~Ms+3GrFHvS5xHW?>f&BeQ@5ADWi>YhWwxIACD%MJCnvhAFD`Dz zZFE4(EKCU^-oHMpMgIBrJSVE@VA8kl^4P_*_ll2RdU2sYA~D<7R(0`>vVZa7!Mq5Q zj$_|hHhLd-HU4P)!uYM;-+p4?S+(D+BZWCuy81IKvGAN9_cbj$;PuVpd_>jGCE?;X z9@)%VDMC+Tk87DnQR=;!RhPI$7euuv#@4YUyOomu`RAh*5Cf%r@4|k6zn8#O^K1}m zHfsE+9`Gh%%ig|-IrUG!wt4-0%>6}~Iaq@Iar_RR!mCDA8p50AI>JzJcz&!P!23)| z)bM-mPsCZ>0+mhJ)u=A)P2rBG-py6nVvLysL-9FS-t76DCn86!<JKnQ)+7i$4<ux^ zv#;&ATlTgeZvR_{g>SyucDEZH!(_KfH~(yHj7><&f9}4x?LtZy*_@7U<Rb6S`AtR0 zWk_-~GA@6vvRbUT7!`2qe71j<B#hR}oKvNrAJ7TgJh+#-%~owt6IE>_mM`sA<+HR{ z9@jW899IqHbX$CBaT$rg$_JLON$r*6kOohACl*DS7HLfO9GArFIAgY0r=YLd(<MS4 z&S(FsOfBUlmfn1=atuWo<CG4370kH?A*gb~<qHP_ZyVHY9wA<xX5oKZnRMwouVU`? z{+!r329Y16P#wvH`#wEY11in2w>Q-6Cnd6L=S4;eCIjmc_g-409zOf{=`)GPs}sXt zVt;V^VbS})Ki;M}R6KLNf7-GA{Y{7q@2nG_8{72L4%(m_&bx2A2#<SN_2pc6Mt}1l zSUE(-iJ=@8d$D$Q>c#!4E+Vh!TtV^VuA=Wnu#l4M9jZ;+UCZBE^y)Ed?OS7dS0_Aw zY<p3pFm1ZvDzE7~Ft)u}t#o&@YWdG7R=-$O`U8Ms_hyc-)w<W5-q{@dLMR&#y+!<? zveG)RHrSq;8139pNouAK)^9Rg>F=O6gJRsw@U{7h9DM?LFg<Mhdl1l;daf_`ep$R^ zlhoC2G^n|>QM#dZ_&k#x50y=S8&G*|NebJY-J06j+nDOtjm6+RwlSUrsJ3}((IDBE zN?tPz*FlUsFmt=+{mOfuTT*2Ax0+Um<BmN<US{JS1gm!m0SA%F6cI=sIW&osjP1W? zkcj`0*X+zaWPsRN?Kv=A<^NBrB&SUB-Sl$Ca(3NFy$lRyT>aU1GIeI8N;*#~c3f`s z;iOUX@le@y7UDE9rcZO}{l}N{jr-LE`+{=6w%|kg_myP#%lfW3d4)BhpI{`PzK=5; zpemP;CT`6c1!<Xemp01estd0Vl&|KDtgrnDI9WUOBIj%Fi`>!Q6Dg;=!j{@ZJV%0_ z$;+)*$Ih<Ws64n|<!gJkr}1l81|(VZw~HvW+!d1Cv90xcNqwZoPN^>oR%mx%<T?Xi zO?yQo;@)ji@co@EJ-<WIpxik|pHq}u=EmN)R(HpsIBNC7LBrbl3nE?k->2~P7r|6B z-i`g8>I$6%mlwagCcsGE6qbKJJeJ-t?e$o=Tu}H6q<$iY25&bW)PqG=Ax|FQR{A&Z zVb`v35ls~qR^8Fa{48w(&)t_wkWfwhNGY1?I3vmV5Pas}uvGIbwB7)KTB70M>^-fQ z1s-Ro2tpJ5$<kPX?P<aZa<<TWLJ8MFXu1)|BKHILxgWOq3?x^4?YU{lxUB4_OLGtB zx8FdZ+%{5**lRa80&04qfy$Y|DjEy#;xpx$dSBw@4n*FWv_}_=f?pUZytsX4#lqz9 zqip3Xtb`kiB?)}b=<O*K>zrE)i3Z3=x;6(t5%yeES~_KbJfrtOmDO)|YU+UnZtBA+ zX<wBq$>xVXDc!hwf(K$})t4`nHxV-3(NSBTrrbf)&C3Ok%jQqD?0xghD4qbfP#|>f zxvjYX*~$&lf0Ui_1d`|}hTV$CJ#9%jc!PL<|0Q?mYm4B+@7FHdp|!}u%7hb#glLK_ zkX$gc^oc_;H&X4jE_Mko%bXie0{N4;x5($M1o)K``k%$I`nB&s$Xts%0|fIDRIUKM zn^)aIas0*Y0xzRnI3sF#i{Z~lYvobh#mk{a#cza;f%<3EE1Ktb9!PgZWJ(?NcboCW zY=4ZP5*8pw+U@mC6>go_b36TdY7BCU@xJcYO1x6%?Cb7Kb+@&JuKcwHLy@@hN>fJ- zd3Fm1F<g+W+4Qpm#E-uQmBKOM$Azz_=Dkz#J!_y6uYcca0V4J;>D6fiEwYlywTj~Z zksfYom)T@$wRFxufBC&=+|T;7xy_bPkYVk=XQXicfX^2#aOo$!4APFYOE<jtoc#JI z?rTp?)8gBsUmA9Xz;}^5mhR+5O*@XRE!BMay^#^l<$1iO?-%$)*neNX&RjwMMCmVw zg$nXJohPk;%&Yv=H~Y1M<e9IH?|6cIU`x~L=KyI+JJNKp@A5U_pA(4Yd!V|1Y>|_{ zy4?|e{M(4q_0*A1Q3x}I#y6#n`<8J>gLS3|YJ?>(%R1A}skF7=)h@!*q?Z3%`QRMy z!Jk}`H}NX>%P7c5tLR=fZBYdyZ=P8y4l++04A`NkcP~_Mnc9D-#TPVRUeHGcxQ{o; zyp&EDK4vtgdV@!H0`qXX%A8=u%f+y~dH%QqKlY&Jo3DMmI#rSoFXvsFAZdEVf-mL@ zC^Zk|fkxYP$m>-HR=gU}<YLM?b-sDYvQ|Q%6W;jK&;Zn5t%Tk8`5iq0O2V!J{tJ+& z+5NRpm^b<5SO^K@btm)RDj=xRWs1r8@G?tT-K7PWh5jw=fqud)d@hH`DBGtemL&WT ze?g^GEIXcWIh*f@N8P@6NQD?Iudd{5&<GFns+_dnUnHO`QR?&+Bw#T!XksuCun5vl zkB-#P#wII?hdm1Xh{xZuc9XC0@h@C9k`UU52YkKh&R)dx&s09nq;rMo>VgqRLe#Tm z4>$^ZQtEmtzT_(O@QsBu0sev4cd458;?U`T3yXXSwZac{$b^!pMLZ)nS9JW}8YN#s zmAEf~$JIXw#~RX3KQW>md^d3~rz)M$A|Z4=Ricu&XGJ3LRw|rJ=Vg>Zup`SVDPdDP z14ANUF>lSX_W|C#JB1<{f<vDO8IasDdf%>?GWGA<wGRXKbFN5S%R++*=0r{mp9K?C zgOMG}{8MVT_NsWhr*Gj$*mi$N$UOv8iZ_5-$-FPi0By8oIrlnFV}{pVixVFGSL`h^ zf;p^yee8om_seppcf|aUiB(D5g^_2DZK`gs=-Hb2C`vr=yA!6oze`A<P58R#5kY}h zfVW#z-UP1I_1W~E)~jIHbBOOPm@8~?BL%iHE3g;cl44NA<%x6*D^F?m0@s;)ZT}1I zgd-fx;mFYxUhH3^Va}Wa{FOv`AhYNmic<p`J0402NDBDp7475vuS-qX4MX^MW7tsf zfAynszg8h+<wn7i%ADhmz!u}*a&5vHA(kJnY5!EdvNpoxMQVKR9qKnz+o!T(MhdbA z&Wll$fZh;xbNVYEwfGC&m!DI~uqFxs%@?@KoZ1j5*k^oOkbM53cxEzP>-<}=VjH#K z!{T7YASwMT%EMP2GLw{#3ixN<<S5y;=!pe>e~TBne;xvEEr_%F3tNjdnv|xh56M46 z>szHYZYA`N%`8=YLH3?x%zp{*E|?ESxo9-S78bZ=6-3cUv$I8~;{UCo$G3<HJj(87 z7j98rHS0W|!GAHGIr_L{SbYkD8dPqy=rl}Y<`onx%PUQtxd7pm`HV}~RnO-(A&9XL zz;5q<*0x_vix5^&Fmu2|ZOR>0V;SY^eSLOxNw2ArO7`M7KRCggZLOSq%gd4E(9!$O z8}+}m-oHce@*$vkzCJ>#!eAoaTs1n_IxRlJSh+Rs?FNIBt9`<56<o8z^3tB~F+PB4 zdG-EP!Qq|mWex$^vj3h109abaR+<YH1HwAN(@0}B797laeU#{3*R*dcE{(Y`Hqc?I zAJ}?<T~(#dOV3=0OFb~y=`Qs|KdnvXyLg~d$uBWzB|+fR6R__waAHHCh8eZ9fw2wB zvY(t?czd%Jw(L+PKYH8W&-p55eDxo<DjGp#3+19nn#zWa{b5LOh~E7nhi}X#2dt)3 zO8>3o)2on}qo>1yUnv|C<<7ouZJof@m~qwMC!7h`)c_X0bI~U7-(r8sX`?|&Sn};U zsuYWTO_erKxSi6uR4fCBMN_Px=V+Tn2-O$qu+9I<8nx4x<3rwg*G;G1y7S`m`!SxK zx7A&EkE{K({NbD3*r=?RuBSpcyBeijw>#|SU$A%OvIC?yaOYWeqBM_d>$^FkxIHcL z93Q>yEp|vGgSj$hEa0g%cv~>Wb7taeVaI}2F&j8I_Rf~CsGUHt`#{)a>ix0gFk$_6 zfv9HQbN8hWw@YuvICaXVJ+7@PD2{)JJopZYyOn;!RLJtv=_Bz*Fn+|c%=Z9NtX-${ zz1>3F6<ZwHo8G;7dz>HPrZWd?6`WN3V->)}LN8wMvHsV@6oG|tK3hav#{YLyM=ah* zQ~(&`N_`GxF)2YsOh|A@%{<*f$l8c6#+olfV|ZinAt~(KS?J|{U|<GvQJdQVXg^m( zozay8j93n5_a{@HC|HWxQU_-AMZ6l`hV{?r(cQX5((^~h0^$d@1(%on?%ouQUPx-~ zHNEY;PS0qBKJ~e`B6od$#t?hFHp*Q)?AXC*NWgGgbg|}2%3z<W<yh7ath0~%V^ws{ zu3dR~$I+ePZZGMq=Fn**PMsYjD_92*z{59);kN;-)`TT-)Vk?y3Erh+m0Hp<$py<U z0t2AfS3Xd!aaO-;;d(*7r9Omu!i(b)c}%Ktdv8-rMuC-7+{Gimr;fk^mmrQL1-bE& z9K&$uAE5HIZS|btoac|q(QH)ctUf_%{d{SiVV1KzY{8y#Wo4qOOx~7s5tZK50043X z`tl_Az+V{ZE9I(M5gK%RmZMF8gKzhHP8?Qnt+C3Im4s=Nb7qgzs-cwgRjH+iVk|p_ zlh>=eAM{;4)9fI|>&2;(-+yfEDVH@)el%9Rq|l)Qw`yBEhSkdSj<wLVH)~j~qE=}# zca|@w9ELB0lLLP?a7<5tsUy-nUG^ck7w|f=p#D-)+IoV)yPoKL=QZW0m0&2hNZ((} zbbfU40d1fpJM{2f=eXlH23#6Q(IaEIy@=m_YAa!(t&Hvq_@B9V=g~KUv<u1ZuO4W) ziO)jA%l-pHyD(s&u;K%5^2vr6u3CvxH~aR(nBn}mX&)YsnH^O5-LHB~s#=ObAd@Gi zTNNAwj+{L~USoXZbtfiwmylG+jCN*g+{jCxrU>!p32(OED79pZS2o*H^Y2T@vhK(h zI7-LKG%Z_<k4ILWKj;ZbPU)}8kZe1FeFh~1|8aQv&ert&3m{myptc(ISG_rPPepXd zJrvxVTCdKUOefpn_um8KN3oZ3+A;VnQ06FdtMG8)O}C$E?Ydir!>d)3Xp{Z3YJJ1W z-)TJ)uYmaD1|R)Ccc3xk4f_?OM5w1!u!pg@TOqpjJX?RIi7|y;-_xV-!W-H%vhdaM zqTT@zEgi^`5I`pZDB_WLbss9J?qli?NQ1FUjU5{8DeQh+SdUtEYSH2IE|Vs_3P^Gd zGIu*}ai*<W!Zv+@Re(^#&d;j3;r11~K~_YQuiIR9(jm8D1)j*ZOrx)r9y)8N)l7SX z;Fefb1*;1dD!rTF!sPcyX=H-|fgdzboU+QeDFX^R^rn)PpNq0>EOrVbKQPdcP8-;H zrJF-87J2xrm|OuFto+cu6I2bTPkjio<w9pazb({bv!Pu~uf!lwIha-&*}ZnEU^I<5 zm>#spn*=Q}YKpEvQz*Q`k(W#m9y~JK!(L_zzJA7}PwB-0e1jB1ibIMC{-m>?pMNo< zv}VeR4c_E*=iUECAW^slb2AuK@(oNxK+bB7?2Qw4K2LhWTGg^!P7F<pj1E$JJ<|L$ z-!3c=wQM@f%fH~NGi1vzcE2h<{}G7y+xnZ9?f>z0oBp`_=Dt&$z#>hb9p%&{FA3Ua zQuq7y6Q@KxWiqDUuh!i=7vhMC8SG6h&#tcKs_}~F8hVO2#P_dP<&&Koes;@XG_!Ra zWj)V%hs4xXZk1vAM8sIod6^87t6Hyf`xPBoj&t$(eOnqd2=QWmVB38oRMOf&!NCi# z(^?aEmdBi;zj3Ars+MH<h&{&v%W%}86!R>G>-)wsICa@PR;+dB9jRi^Zpq?@n25@6 zURIUrNLcKWk7sUxR#kvIo#c8nS}tyQTfm?UM`gT@+FBB|R<=8?Ya6rv?P(Cg)LG}y z_PtKyTlN*c(01WJ;IUsd0hNm0@Wl4_Udsx49*8%%D=4H5oP;P#mXs#}VlA}rk&1`= z;thrh(#~5OfuM}5O%5x3A@b>af|1uooHeyAK1>W}!WUz=SIk%CUoVjH^55NXK7kN1 zkjWTdgZwu}G1`&P#N}b14a6>Ad{Z4)_T9AQm7`9q!((gm{+5nDb_<MNEjTn}xSUf6 zPTrNT)mC&E$PNFHR~npF{5m4oC-Nob;@Nhgudp6)UZVZO-=-?DzSf=ua}nUU%*m;! zR8)L^1);N`Ttet!ZQKbS`cN-(!dG*ss(IvVoX(jKz}Yh|?L-xV^8sv?i}yiPH?dKZ zEj@c-&(FiCEtbny3yKdM_dM{A%8rC?(5P58=pR9Ma3G=9npT;<9A6Mus~i3>;M}2= z9=~(@9_|uAf#VIz86u}ptd?ohxn?2V`W1`O`1;?kf7TX!H9Rf5Ub9+1N5gn|xvaSR z?A|?T*B-;IX|DaXwTsuZGFL3^8DZSKzS3N7rBQ398TYHr>t@VeMbzxGeeX+>jk5A9 zV&X2A(==F{5-Nlr_E>lshbMfqO7pD7DOaqgu2aTcntMJD93Bw;9OC=i^jSHrxy)dY z#ld%uCOcC%e-4kG3|{~hR7nDSDOGd1E#p5FCtsd@xbK~-Ld-v(cW>1(l;wvJk1EUi zDuIngeD(gNiqsfug<sDt;A{2E-mUaX_t!xKf<I+*!(x;CJq5}Zfxv1WqUBbbGnoB8 zN29;rF<88}!<4K_#wf7xe#(zeN(;J=Mm&cKZk7lv6=n6eOka<r3FIDFweHkF9X;Uj z%Ibm}XZ-Oup@&WLSF&u#$DsVZAni?YS7+8-X*nlV{_=jZ`?h5L_!c7&U@IEs)T;ny z!4a6M+=UPB+f@C&31)2qL8obEQjo@9eu_(EdaLeRYJwq+6gKg94(a?MSz9(-aB$KU zhe|*Aa1RK{_f(p(Ld5?t<xXmSSe97DUD$hgiiqm1-qTfP=+-HjyaiJ9YIa{r@&OOc zsTZGeH-hobe|CJHbyyi0PMcMJ9M*U|A)0(UKjI{9C$}<gaMZrhp)+Pjh#qnNPJ_n1 z1z9iu-m4VREX#p_H<PH0H4QJ;&Za#zddz?FGqbmNoi*63RIurpp!>`waB?YlXMPUN z+kE!br))p{gUbU!Ry>Q|2kbYs9-VJ8&i;6ty}!O78FCcFBys|EH+(wjd4tNs54FfW zCGA)Hdquot3j4(RyXux8upiIIR=RJLeioK=bZ#u9@@4}nxyZ8i=UfQ;@^+O9ng+L_ zX;%#E1*_@h#>&fZg172bvFoI;g7s7bo?xFskf9QINh_E`ZRN4JrK+1F0>wKrFNhBw znM!zh!JR%!553pEt7nHaYpnj3bCq+2T(JrPC;w!**``xLv&lQ8@=pA#PwH-v<Q=yg zfA?WO7xlVjC0s7uTsH1_!Jy|+8szsMxwD&3y&@rj;139s-(ng4>TTY>UX;Bi^@ZKg zmDnsv&ixF(i8*_esCqw|Rbw<-{jjM{8DA6Cr`=m5PUU1!W4cQptB?B~t48U^Rs2Kk z9f14yiR@5~oau4Cw~RwjxNYh2G?0ybQ$vf|*Gu)J39`lSXIv94@B2oZ_UYCuE`<5q zXs+hYwxwy5(jRdl&MA)cB%5Lx&d*u=kVRK-aY%W)o=j^U$2aVAYqH3!ZCs){anPWe zVHaIn5kuE`y}h#ZE_;f@VcgMZAL;McX0gxZLwS!>`Fnqeve><qm^ja}#O`>*5}BAg z!Dox6uAlTkc(B-|?xh3VlCsL<HM%<~lP!-QtwuN>j#X5=s5z3!N^$IBgKe##9?D7G z=2u7D8ccl0uQm1MRGr&D>n%8Vv#KLkdY!Re{XL{w;Aea5kFj&|(^%zV(e2iy_azn~ zI*!XfOk1iz=_+=sP7V8^6cz(L_2}pPg(ow`-*i7>$-1dz<TLC7omB4E_MpyVw?a-$ zoMDBQrSs0+6O`UQuhRAN1xIh8TvD#C)|7_zZ}o^s(}u@Z*y|`QZv+#0FCQE<c(N5g ze4#%M$BIUOJp8t7@J4ZP&*aMOsav8-16Qp6jQ&w-X$TgsUb1zl!Wy4{)j6M7;!nb2 zEJIZvEMM{YEl5bZvusAzitw(#zr3n@Hbk|&FUjkLxX*gjM@cCRa1P&dtev}-D8oIP z+!EW{Z#E0eD7{+-2<_&z57Idz2#i06+O<TozSV{$Yw6^BUcFt}>)6+I=6#h|Pryk7 zY7&IQz`$&JEh~EoLlwAxiksSa)*a%>8AfjJE1ipeW++zt5_Y>?qvk0q5#WsVdL%C6 z{E8??2+JzSrFkkzEN@qhm9kxIWP}!{VJa}UXB-wFl7`ERm_O5NN=AI_uLU;KG^OTz zl6<ceQtZaAyzzM7QnWPrpl3Jr`^)ovOzl#|*7D0qm@Ia|xN?k1XVwAs`>hHzLVh2P zEqr0rQHpi7G3<%wJ_&69*gz?aTuu5Fom|?ZyH+P@6y2N?ljr%nS$;uO0n2k(J8VoB zyL<4D2yV?z?tkZs+i6_tuf#q3G5gcU;^I6W>q&A7Ytj454%n^liN3A(qVjmWx5di+ zQn%#u%FC{Iv+ZFaOBDx|US%hqlPJ<0OzEg~UZ)x*)%&?YALw++afNJCn}X&G?k;+V zZ1;*Q@or_^fgU{KQ<vBx1W?=%6hobaJQg-aZcKW8mnl%~<EwgZ$ynjG%ck#M$UkD) zweAj9hNf|sm8+ic<iP6iSi^NjV{Gh?xnb3VVAEaB@bSvp9<P2wX(L5@fwC`u{0{nN z;wN=A>T@?FyF*NX%v*EqTuX~RGWD(_Ztc7N5BKP$o4-y&<W60!mfaZ`v)+<Ta%Z#8 z&AH;(lV`v7+A6}ya<>#fsdXTHG^Pq1TR@&Z3vr9PDFYGS7(s?}fLiigu})~lP!g4d z$})SG#Y;vF)aXxn{mSrqlRL7Y5(CaJ#R`kE@F?ZS?n(k4;7CeLJH2IP^X%@I^!`J% zcN*Y*D!y+C@f3k|qqN4kr)#?(b0<lf(f!=@YX9M)4Ub(8j{8E$d8+ZXq5EEcTzk_y z$vjVaOZ!9P?wP5Q^L#pH45N3_f@7t;{9MiGj_8qFR+^0udM+iBOS0`v5+(jjP13bn z*m|()zQj8#p-6Ep!cq<Sxs>MiSW#QjM268#kH65;?@BxWXum*NqIu!I*OyyHvlc)q zN}V6rzVJp|F-zL~&svyw2Ro#Ps+Sa4?zFxL>M9rUN)w@fJzm|*q@W_OP{~Zw6N>zx z+O7D?W9No1WX}v>qJqm3GqfX5wIzU*d!N-)UFkm#^p!J~HRFmakQUekY6%H^esej0 z(AB-yzcW1q4D({Ay9gLY1iznKEA+5u3zuG2>Eqt}cz>gqj3p@53tEQs{&jYBVd;5S zY2M11ym!Hh@dm-qB_Qp8c@D{t9Ium-no9gX=I?i29zEb!Um&M^d`OGSPV>)T)`IGn zhw9W-srfwzrwmYVu6bHn)&lYE91cZ6)fsh`on4!a4%hVI%xI<)=bx_bIXp#2xu`7* z5&GjsRHj~<?+G>Cvw!LcD$8k^RbI6gki}d`(;MX^%^X6FG9Ga?gc)PC59k9k(1kbK z<Wjc&b+RT!x{v&TlTECVy(0gn_muE-dS+kW9#?`%wZ`^~i^JUK{h{Q%y`>Ox8>?-H zWI7gsy{5-0mv2gX!|I9Lwn>(kR}pm}$CUScAn(3b0A`le@nV}Pwb$txjyyN;Z92WC zjDha7aDlsv{#h>jcObe^FA<`4%VY;VwCOyTRT5SD^1STfm1B00ecfS<6eI{93_OjY z=`Ql1N=(0SyhOM0sH<~v&Rwb-%*Vs!K{XQx;dGZ5`T1XnOJaLwbkuzTN45;;zMKB% z5tQv--7Oucq~)fQ2E)h)){YD;KQJhEJL%m$^WZFS;tXllps7{0#JKwF8uQiGkP6y> zf2qNtDc19b>V9-pMO|5T;^*FHN8BFHPhVx%L}$?}s$aQe&7iw2q>=7!8h^&haO(@{ z7^=FT*-|C9Hc7R%7>+EVBHsVTX*q$sE?}^KasCLKof4?>s!7^QuKZ-TEJxF-j``x( zgQB1dE}O^K=tID#AG=dn?lS2y9LuWlEba}{BapeEEa}|kJGn5+ljG9o@}*d!35~)J zn?SyB=m*eZDeR87eOgX6tvMnudq1kcjh<OXeIJV(ylML5{T?j6vkq*d9tsmt+cQ+t zSGxY)Wlx<bR}*f7p>Q*0@196H^~SyGWe-zpbnN~XDV{q%KXmXJsyv%9+T`(UPsqlJ zg)6St<~SYP)UQp3&n7z!#!XHf0>MLS)2Xl>B;VH8O_B)?G~Z8HG98=}Ko0tF)RBXG zbx!*r)w3TILENe`{K&k#PY+^wPy6r>(|1?mbxhw6<+ggS$8OYunz{lnjh6MRO&v^| zV{z~9)>{dHRaTo&Y=Z|(1uEu?kMg`c@DJb#^~XPm8RByuK%$==9l5b_oKS{?HFS7* zSMe`^o;speaqpsX$xh`M)r#8Et(5-sbHxLj2~yR&pA;*dn!oSj*|*gm$C$3qkoC+G zm(!Sm#TG%Iy2d<Ll)3fwjPK&gJbbz~!-f8|{DaVBL(|?y9|9Y)&GzyD_KWm^RqU%S z_7BbJ+sj&~7%M6@8RsEx%3GSe4kc8~DWJxlWGk~X_n+E*L=8riMn^4<osDw5`L^iX zn<r8u=Wagv5K|3h+@9)hrCyP}k*d*N+8FZaDfZMXXS$IRhUuDt=A{$4Q@c^*usK}G zDd$lV`EzPgJE6bWc<l4Q&qsVSUE5!)znRfHwXdk@lv05<JeYyyO>ZX-7wgT|6}a&F zURpbKpV2`i-1w1NJMN`#z*U=Ccqmd<exG+~6_K_UJ9bvh6H`?7bm2HbDvx>$*XfbA zM)c<KKJ-cX{1m*U-LsASgzDbc!y2!txR|vdjPi1oDHF3uIt<5FukLQXqt;ONxElZY zFz@GadK;@BmKGaO(e0|k3@tz42PHRXJXuVYRhhhEG`eCTrK?587rY={@<_~R+uDES z#f2Ji7ul_YMI6NJ`r3u&U1H_g{mq{ny}ebxPPED`6i>dO)7|bpP)EAmC<YOL{44@S zQHa)h1nSZxj%|0rS;lKpz<}416Iu7G*J|>nVsJ`pE$vk6b4Ru#Rwu^v`q6~4AE|Rn zygmT}T<Q1Yb94LE>QU>PQ0pdX*Gk7W@oNfts!V;%xZ|<jlBY6U7h3FJ+bU(6Yj`YU z>h|_*3yZ(L)aKbGZhb>QOW6(9xvacQu}==BWbRs3L4evahtUwOw#N7({%%HMkEdFa zyKbLVMDyXPxb%gssP#jg7gpIt9iPEr)Q_TKtbVka`@3|btQ8Bde3)Eq6My|#s2lv{ z?uS-85+z|r&*V+-Td%BqM!%!-+FSvo%eKe2ET3y}0#4^v`E?Idc2U}=a7_UZ+M%o9 zZ6VC|-K`(48M(wnOg{RpDE7zw$+j9uCp0~NeEn4hgzIrIp=lXMVX^*6_#ggk=*Hu* z!x-vwSi+6vue`Ih#(%?}pYDQO3GBsywftng@d?utYB3*Rg#C#|(SLGMnwOBf9ssh( zyQL)?C4n#8mCY<1`s+Sjd-<g=TDMf)N0QCMKZ4pWcrj77=HQ>iY$>rNV_X8Dc#!=Y zw*=r@6Ht_wr6Bv?!Yv7v4}AZ8Bi15fnJ#<5u7GDdJLvyg!|`{kprlcCo}KCTaTIi& zb0-#6)6EJgC}5<ump>@>9C*84k=CBZOepZ!@%{c6um$Fg3R@+msg>#4(5PM<+dY)w z-s!Uykyq8G1~SzKpAJ_RAJ8yWKouk?N+|zX0kh(=`1{AUwOQM0?P}ZJUa76Hf9e>@ zMRR+aY{sB+4B49rj_Xan+#C{CU7(toUEG%~uRK-1<I#{E#IMI6gdNgcUQRcgqd(qD z++4pK25Qw`3Z(RF8xri33pt)+cm>WWQXnXjY}5d5A~{#jxOo5L7<RFs=$>Eh-TOzR zyw=rG<yV-@1#_7E9V>k$DC+%S8@7;V*^1<0NB7<>v15yGpO|}{c$oFfKd0?@+FETv z93Eohy&aYnWa#~|+`qjWQu0Nsyzc?L)#v*$enL<6>_ZWOezC7n>wT8seVbf;ru1DG z?|yWTQZik>*~cmn@9--A>i(&+v+8Zm|9A&wL+%awJg5#Wb_x4@D{XHY6YOG8s}GKc z1-QA#c`0X4Q@ykt%af{&o}dTcC;v*UF!ky#<wdyD<XHWFX$HI5T_^NkeeHJ#CA1@n zUrZGZ1w1#R^54`q&QJFyN(N}=yt%uZLz=7@`>=WEH&($xsbakM?Wsr4&uCwJ0woZ+ zFWcksD<BE?W&xk>lvet+J7#QtcBNtp>PVb8n0+sBiB2KO_2BxB^p9u22;5sQvYlOi z7a==wUy|Af`WM6C8ZvM03xvDx^0E>5b~p9v&z-aZAoA0aoCnDrA<U68B;>m!-$8m3 zWZPg;+`*~-L~wCo61`lLoT2E3St-rg^lhJ1bl{2pms!_N!w9>0*121@_`qb!gA+4M zU<sj=mTBz$9B}5*;Ho%HKVPc)Vq8On-54kNoC5F4#P9jS)T<%Jvr~V9Z+z50E@-on zGm_ZAqF*y1?Ils0c_P2_AL2qQB}+urA!IVuC!}+MSa7`Gk5X-*HdUv*W$H<7+1IC} zq5RcB?1$N_gW)$bY70xPVT}3Oa&XYBm{G0o8}cCI;eClEe$<!ZW4EciV#@3(`{W&z zi#gv4Q}=`z@uvP%;P7>clgFXGk6mRh?4$71)*lJ>Kl)v*O76a+^Q4-**nkWDr-=H_ zr)w9r0;K1Q-SY2O!qr&Bh?@@v!f}3_*zr<px1f^f>_<L&&YfM`2-UNPJB$2_xKL@2 z$X*MLNX2&TKlr5f>Za<xBfXEQT4Y8?cH-|X<2wy6*V0={raU}Dy;4*9L(=HU3puUn z1>_Q*qO;ecctG!2$;UspyL|diOB<1FoW3<B{APOE?WAXEQ36R+)k(qNZuD&n|D11S zsYBn48~pwX)3p`rpk0=z^E$h={Gw1fI|*!@ws{m!HjX{{((PK57g-F`@8)<{Ol|#a zxNpiT&HwynAyMfwoS^mbvE!8aXzsLU5^Z8`#J8<76*z_dI@`q?i9-)QdMMO>JRQ*m zl3k#x4=$7z_yVXcFyp$htD{0M6=b=zCnlOM7LW8OR3jPDi!*6!y{*%I(g%hcbeplm zOR({U>DI+BC3xd)nvE%=R%CL!XN`C>1r!^SJH}eaoxQTe#kiB7izXLy2JZX79r!zU z2m;L6C~#OknBFSXR&{^ta|Ope`7Pk3n~r1-^Aq7@)5527e^RdByQu!KAoY@=G~))& zPF?HHxGM`GsP$`&-v}Ft_UQpieu~2Tje7BH{x-!+|BWb>-<T{&N$Gr0zr~{n@x#b* z>VE63^)v8*!D<XBKi}ARA&3iJ!!-TB+Pm(krm}Ah5fxA=f>I(<Lklfb5d{P(fgmGl z5Re)ODn(Q*GzlUgO{FKGU<p_#0|ZbICDNpXQ9!|911SRvqBIr9;q4n_-g|55dh4w< z>y_V{f4RBmp0oEpXP>jr_kCRG)+a4){gSXc(~n(OVW(dR{W;Iq*z8Z5>Bup72V9rO z4~^%_et6U-^80<An<(G2%vebI40AeluK2gvtjI4}vjqnC@UH<>>vo!(M6~wN>QIf! z_$26ep%AK7qJMBI2l}flOt`o<#38x>oGJpa8_Vsaq8^ztXTL2Y>6=^NhE_l(m3t^O zY7P8usi?ytor~28i{81SG^jW^wQ8R{$5X$HrfEGd3dd%unU|Y9ry|Fe#KvElLkbu} zlBlh`A2tFXeZPYO=b2NA-lax5jFhjQCq)NJ%D{__IJj6+t_dHli>LT`rX1&84L2k! zQ1og)&Xc3Ack%YWRhFhI+6NiJ<*=c5yf{*tftaaoOE~PhDsjf_|K$O@)7aL^rUpvS zsT<RSW9f0&4g-9j##nRqBs+iZ8>b?U$7kXDI)&;Fr@l`MK1+YDaH&G!Nl?H`@hj}V zvTg+X(|fnZz+RVdUk$GS$yawcnO6CEV`q6`tL9PUMqp^Rfoly?iYP)#5t{QibT+w& z#TH<%KBF`ROgecwu!3oZ)jpm#G9_pXjB8n=3_JY2Yp4BaU1)&+pXX9%UdEaR-k?@& z-o<Xds19Urf)DQ`;A4*4^)&W|by}$_Cb1izntw`0zEQjQ4XvYIdAPuFS4T>{>Yhs~ zjHik&`L{|ovm;Gv8c#NnvEuiSW)5vGqS8_llBu-rm8w{0{W_1;g2_Z~#|#Ipf<tM+ z?-CLlDvz^6QcK*t%qAogzn)2%x_xk?>-|X!aK47q?|rR&ch>g|&4@FNU{vDIsWIy9 zK3@b!NQr=|iP+S4Uw3eip618ngSToV{hC-+wi6;r{pP79sloV;Iq%vo@<?IpCZe6s z)0XCMjm_h_c<JOSN_4#L^nQ{ji@2w$<+X2<zxU<f-fT)1+WsBiQCXhNLLaW4e@i4E zLo+%u_c42Xnu-n-mTW%tOflT7%U7WZYh(BOLskp>`T=Zt_DInCiLxfcDkP;kblbSh zUcA_WDGH>;CnP(C&lSP7LEQvty41egu!c#mNf0Oaiw*W&X<X_0)<U{cNQ)eOFuHje z9FTjsG<0Jq!XIv&53(FL?<5ZFhH~vX8aIC-vFCnZ;URW{lmF$n0w3dwA2nQ4-%TpF z>-u6VF!eB2SKoboyL`&WggP;FcaSA~5p_+d_q>>(N%(Q$U9;Q?#)Rt!2X{(`?e%08 zsG{dxp+Zzjw9B0|_gK#T>->%Ec#RmL)d^cKJ*&u<FyVbXvU+cL>AhrJ;$X3)ou710 z_MN(*KidJFzUR4DKxj5&Udz08$_L;N_qs6=*QbOmw8%zc;itI;u%6NvX6}!+?#f9V zZkSKV^Dfr8;5t=t&hOq^QnXaFzZ9lX{1_5F=}7eaIuAfY|6?7*obkuuFT2yqgv)jI z*<rWK>OGB~2uN~zDUv#{;bo!NM>cU#DzUip)<C>_>&}-4S5L2UIltcbSZ(P&@ha)T z$-13g!g`kN^JVw#GiGM$sp?^>70xw<xuH^f-`>j(dkR~8N5jYa)u70yw_aghC6lr; zg4$W8v(tT_cPEj0EAHc6f1lWZ?JmOET~xN8o}1=ahMv7TvBPbzYq`oPuQIt~%zCap zdE1kp8!G{Zi&F=urZ6%J-`-`h&eGWB_v=IM6`Z)H9;PKjt$ilm*PESd<~sZ8c6H3y zHtFQmPPm-AwQW+bD@)t#usYK5@ckzN7@}b6Z9VcwC$+G?Be#lKrOrOjlf`<rU?l3g z>Iv7k4oK7m=^N9fO~#&iC*2ZMX$)uSO4VtFyF1s$si!-hWk^0McZ_&aEYq_!U$S|B zsMDl1#`p$W5bpfesB%l%!*Qy#fXgz^0uDl9*NxoR@g3ITEvKLWQu(^z_Cnls?FK)E zHz(4Ye0$z7oU0r@KTLdDrfFRh@-d75*7Gy^1p)D=T)T|?h>zd8m7`hvy5Bl(aGxEn zETUpQlVa8}c+woKtzVqv$Ln^FTX03p)LULN<J2mPE~xGZ%7((H%ptS3L@0b>-M8Oe zyy0{?gv0e|La48gkNw-ql0UtMv<Q{ey1+Fr&U;~`gtL=k9h*?xYS>$ElfC7^Fd(Fc zE?~SaCUW)xBdXZuW9n*MtD@j=2%v4<6N{G<C4L5Dt#CQfHN>Z}5>TjdYQlq%UEz$O z@92apfkfu^S0Xb)DcQ{TcoC7i+@p?n*@TwL((+bRQ~^Ll>Ddx*vZI-GX)~et*IC|? z=Vx+}>-Z#6UWC5d4);7p`NB<&QM8tcZb6&1;Wr2K;h}8WaV6l0>RgL)N6lHiTp05T zwa0J%kQ?^CGhV4r&UtzziP)g%sC>%L=q3$#oT^ehY2uJ=_nPtg5>Wsm;T-}klPB-o zK5d?OR(7rP^6=YjdvQ6HJqa5xqU}4!e5bIywcDi=b5{4e+4O5Fd?T;YBDwc^S!+nd zGmoau6~221b$OcG$$^+YPc5jdC-07I3XaBM6`v9+R&vjDE|au-0b&S676-pv=|ru~ zQp1?8*(n3S1wcLs@cwZcv}>GqFEi0~Hhr@ek!Xm@h5PR3A{#pPt?j?bT7O_T&T^IY zzSD?g%;PjJ6H?geYcv;B?L&X0!GWr|UVYrb{Q);5l+D5L4RqnDJ|w>EeM*YYiQh1T z@NUun@7_%RPlv?6_}=F401N!%lK-vyoc}Wm=RdRLzl7BMGfVyjXGtiUA)qp8WC@rz zU31u-W_TL&8mdFGD-IX3bLKgIf>+5%P@BkH_@(Q-!q#5y^;wyA6tq42i|^cb?#D|Y zQKH+sgV7;Fg{}lIZ^hu-8&NM#_B7CTPQmediiO_!$f}<o|NM9KsoE4Ad9aLrJ&@<l z$Kb)Hr#`ST^cl`!n|TOEl_jwyQa1txfVm!}&KERzfCFr#7$*>n(qfq>zm}0(UdfMb zyKHtD!yULqecNHD6sV!69PsU0##@@<6!ob$wF*D)zQQ#BfD<&Io^go$Jeg~Lv^lX* zmN~Fsv*wR7`g#2Przb0ToY(d@cdr%AT8D??J?*&SRti_MKi8IQGbV4);1vOx#{_^s zN(qfxQi@rDwRa>@nzGE~xU29hL|utTm8UsWbvn;_-b8F+nKn-!;2|roH0tF8LM@-1 z8zN@!p++JXs8JbjuAnZjgU%Lf9o~5bI(sGFx9=VwbavY(Y0S4=y2-ob^w@mi{^nha zB!JOttJF(kD2>qDb>TK$Sz?;Bd{ddnv0MhZ`ssHHfRA<U2}@`4KHwK4S~~?$tH936 z%K_kND!qFpPmQn#mVwqRiDlX%!%&u?Aln+QDE_E2frSMf{KAgZOL~LLqV(bQ0OiAW zH=##2X}+(TM8w-cu`TQ_y$+kJ%+-e&CsVXH18z3bsmDgPoB@9By3o1X+6&cm6KS)I zDhs5?yK89vR?s1NEe*|FuDAs(#v>Bjoy3-J%3ATGHk$o;xAvJ)>N4<aOg&UUHEcO5 zDv;+{+c@H%4{MQ;@Gp&oAEVVX5E-UAZHzZjOPB9{zXL+<1i3;vj%!|7sh1^+3KQn^ z*~qPn^dZL77T$I~{ia+FpbT=|ztL9;fhACnR<lhqX6ghfHr?f55EbleRuvldjLBk- z=9Gqo49U-v7+0k+tN#=b%s}k`6VgO@h1B_XG8aHa&?&)5wx9?^q{?l?9w?eJJBW5D zHNFQx9h>hrP>*b)wI^wjtGyF8$s)2>9sxYf+T`oj^S1bf0|6;Izq|)ySNmT0y!bR2 zMUr4V#C-cb_0P#pdAj+p@YGGGy|zHEpIk^*HJx$MMVJ}w)UC>61pJ(V&KJ|mYoHHk zn|;fo+=YUU-l5UWJWvRlIum!-ylWC4>V<k1JeCHkW4>;*r@?@oJy~GB{n2uS7*dwx z^q`XYBn(ilvpiM|FTOkMTPpg|gm4>Z0I;6rgwZew@Wd?Ww;>4T8$$49SGlnjcq7@> zQJK&;m}L?ingAS@A*N%;t?~Am(dTFa3KSd~&NNNJL5w}S_Ki?KYzA7~!@bSphcNeC zy99f-<>B_hw5Yb0PunXGWU!pxmZU2HPz0)#1S3*@Obx$aZ>Yy4tc1R;;jx~61E}7Q zqFIKDwE~NSb6FYO{J{c5(Xe?eawsaW>R^FY6Yp~1$pNq@>S<0(I*uH#a9WFl`j(MG z?0UksW>?pvE}CSD!VZx1I(eE`ki!A%LFVIJI^EGWH1yjpk46IMduiKk@O)$m&g}5# zk$A?T!?aV`uiLi7n|Qsi9<j;;{6H{0c=RGAr=jDw>BgCn?|pxcxuiZu3z>RwLjt<) zL)A6Q&7kC<9~Fs8yudE{F2qiEIvaH5{5Mz4jHgj@iY4>LJc&9S6gHccvHQaZamMMi zM^88*aXFU>Ry%?DmO^)>#6l#CGcqsVS<UHqo2*tQ?rS7QN@48Fk;l01DDVhCU~4xa z=16GYAmRo*J0w~n?7QMO{ON8rQ7r)%PY8j{j_1XOKsOQ1Sd~Ns`0v94z7;H33vIWS zk&V8ucI)xXj^yht<G8V#d>rTbAMBr*JP)DdzJu0TfzYN1iSe&iVZdwR3^VMer~@R{ zT5FUnhZtz;j6^!rT72-DbiJ)t@l?2d8W<9i<irc>d%R5I=f7;}_IR=yu{l9f_7R}d zi5>sJSTxzM82s_i=LG*+Muk2vM*;?~%A?3(X-F^vQpY31WgcgmiiwyIFI6Qcb7rQ2 zL9Xb)+Ff(N-ib!L%~g&bL@0Q!J~6FyK(EtN`QBKkz}P|kO-<A5JKM$dvNaeOSt2;b zhnTkpjZ?LzqI7gxPX6eTT`epn$XSYKY<t-pe>p9-D{!c$jXw<^1CmY{k;W7`Fgu9f z?R6V&9<tm!TyTMA4~r#%H>-pJL@O}XxL@Z}ga&o@hi^6VEXmoWfJZF~F5#D`qTd%B z6$3>B+s>c1yWv%E#yZ6`emH2`D4vzK;LK**vf8%f)?_H}$m--l$$=`Q;p%G-0Dmnq zyZ34#!j?V$!?(`zEionK5aBx{+b#*;ftV{pl;IFa0K>NbtX;#}F;y%<aUJX#G6+Ie z3E&Ulp?ig7pwrNv898QTV_>l2WcStlhERlI9sSk9Q6z{VI`PA|ghiH!bQUnb)<JS! zvt+CUFqR5A{{<BcoAtAHkDlz_L!=T^A-Ad0WX_2~WUmAVPpN`Q>s1Y6Sm9;>JvX}( zd<nR2;6xwy#1h4RvP$0%-;z`0ER2xz6JW)|YEKX(my9I}#&TfURO70h5;T6+F3|M~ zi?nFF0inKId)o$;#pNqucn_HL%$`7g+Ltp>>NyiMwmFRB#P<8^U4cpIQ1QdJEC@@a zL{U5_5PJ8~beD{!0>;XxW*i|MVTii^wA}$aM<-A1n{c&p)BE%$2ZS{O4sI_5lkyh6 z5Y?XMg9OSq&~*%%RN%x2^_px-PX7KMzLiM*&bSd$P6gS<mI|E%OU7~lW7*=cFgwU9 zH9u{)A*ZCg-rE7lC=RVWhw0XwSXIe%1d|FAt5v*5L|{WDQlI~Be9?(torCqbVP5?3 zEioJj*>cSDivlD}WLvmoEIP;sXL=D~c62xd|FqpWgC8y(zk*5Si+;K={0$4v;?97V z8xbg}kjjCClS7KWV#2Ydax_>rY0K~0wo9_4Fi7ed$SrG&g8R~7W484{=VG!5hjja; zMV^6ZTp~LWCO0UeMk{D9UvkRg53Xf7m1c}#(pbwl)(Qod%Pf>l<9UNVN6M83ui{L$ z5NK;S<+{VwMruatff0~kh9$oerk|*#4Q$y6D(FTO=Wl*W6r79Ekrg1j{5=?E;a9u= zBEt$<LtoWWwhJ|{;I7hE;aMD1HVkTXM#&&VU_lAUaGbR{>KH_Dahg7<SPq)BI6KK% z5-EP58QVM75qQMkhn%I2;;c+jIGB3PbiDhLgH1iSz<OLKb^o35OoG;ufnK>3q7)_< cYQg0Geyvf(F@;m`uX(ue7CW|=n0cK3H_Kd}?f?J) literal 0 HcmV?d00001 diff --git a/11.18更新时序图/完成接龙.png b/11.18更新时序图/完成接龙.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d7c629b1e160c12433567fea71437448ea53b9 GIT binary patch literal 25133 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 Cj;Tlh literal 0 HcmV?d00001 diff --git a/11.18更新时序图/成员管理.png b/11.18更新时序图/成员管理.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b1e44adbcbbec24a25e0a31a9d45936c86312c GIT binary patch literal 27593 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 BlxqM0 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/数据统计.png b/11.18更新时序图/数据统计.png new file mode 100644 index 0000000000000000000000000000000000000000..859edd4e99278e8f2b6cfd628c23857dc0d3584e GIT binary patch literal 30801 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/查询任务.png b/11.18更新时序图/查询任务.png new file mode 100644 index 0000000000000000000000000000000000000000..c0637bce2535b36056336ea68afec90ecac87dce GIT binary patch literal 23688 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/用户绑定.png b/11.18更新时序图/用户绑定.png new file mode 100644 index 0000000000000000000000000000000000000000..9581a4958b6bc1f03cc6de57cc6b3de82b934e4f GIT binary patch literal 27862 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 literal 0 HcmV?d00001 diff --git a/11.18更新时序图/登录.png b/11.18更新时序图/登录.png new file mode 100644 index 0000000000000000000000000000000000000000..5d39d71d96e882178cc9f87f1d3da5f00c5d45dc GIT binary patch literal 50573 zcmeFY2{hFI|38W*MvF$;gd$6uWf*2mmKY3U%vgspC}Ws0W;JHUjIw1~X#J>=Ek*g1 zhzL=VNF^ziU6LfBQleBo_cfo-=lA`5e)s=7=iYPfIrrRq?mcIi_q^Y)<+;5c&*lAk zrFs!vmoHhrL_tAeInK@5M?pcUNkL&z8&nzGAw_+>0KODsd|WXKWskMTL8Gri7qXBe zp)=VL3Wf-$zpe}|;E}u-p&`QA(87Ys=bMHzsSE*?6JyGa5Q1CaIfoa{q%$MJ|7v3a zx3DlVH#af2_Jdm*A{;Hv!9R0LQ){>t<*)WsMg;fo0j*5oV1O+FOl~+YHU?Z0{lGtS zIJk|#fGh9-2?mj0N|2UY!IvYS&yEO)2*WeM>{u%V$`pYFx3}Qk{0JU~7Ea)r&16M@ zFV_efizn~m6e-|wz#XhP9AyfI{&P-WDxE4|{(A_QaK?Yym|L1#n_2?q<orblsf@pP zlVU~IC?eWQU><JGi|`e>gfYOl@;2fKK@5|}{Vx%iTA3pLdLWeYBmTM@9wBDZ{%nqL z0pk5zj-W5|Z^`W@5qZ9TE+ULn$im?xalEM5za`A20{Z{dfT0V@(9uc$0b&AwhAwDB zM{`4rm3%gY3(8*-Mze~s#ClnpM+kh~JPj={9zGT>s4%KubQmH+3a9#`Etptrj0;C< z<?0kJq04#3<6NzrFdV#dAd1f71qL`f;@#r7;UX?87Go}Ui$l9OM+qc8^cY;EHIF5Z z!J9j>y|Dzcx3d?H&W?~UnE@z#On_rVgsWwYl))B>{lUaICtnf=LFS1pBE4NBBco8f zFq+7T6K*La;p1YQFmVh9U;~TA(a?cFby!Pt0V&Q$O2(jQaS|!oUCfP)5d|{Yq&Sy2 zFq{jS8|OoJ=U9X}Gx6{kt}9In?ovF6v1Bi)uM3jx$HQ4VM-jX%sa`CkPn1=-*wrW8 zQY;do*%G3=gv#&_k77j%KqrwPPR=*@kOee4DICE?TcA7;XmBGSRz9k;l{=fx4YT&3 z3z-Dx01U<3EeyjZgj-;U3}k>Ko<X(1u)JM47@jkW<A$(y7sj$dKdi6R+Ql6%LQptp zFDcgB(Upg0y3^z{`VicCbhaqWgYShTFnsXVRxT7V3S;R@#yd(ZD2_~&XB37+WJkEV zJF~3l)?7G_8Q~$OMe!xBj?zdtHj*1<i3*UKOJgw<g4iuGQck9vR<Y2F1h~PtSpx#Z zWDiTJ7gFft80W&2Mg)qZSVB65gQCXb@fLp82&_BSA{K3l^|p-Q;>lc=wRIrN*M-iK z4?ytdfDt%81QE&Ei6|cq117;nGo(_qGbRlDjApr_oMK{GOiy=b7YZ4TbL2@WflR5l zFM-c@<M_m2d|99w$2-na$d$OG@X?lN1`Q7P62iq`Bnz(4Q7oV_0S;gTsTdzC3f{-p z8y{!shp_OLir`^<iIb0WBs$iY?+F$P28E18Ah-y)KaY)bjPeV^M2f|(bPH#qz>Q6k zaw8(eK155jFO!GFT8a>OAE^ZCZ^6fryvTHZTsTvLLdQlSfGz;0V7+*eQEnClG6L<y zqS1wpEP!WNcRy+jEsjK^1;7b(4&G51PVpqg5$Nt%0>PDq5=Vv8Srh^#HUPARBLm=$ z0YWm|F&g8?wW7HRoxB}|P838WCz8T&Wq9J_SVRHJ72y<3utGYAdAmy_EE>j9WQ~!E z-JGqxI4r3ToXd)i5ei7IND-NYw2VP|d$8Hu0D;tvPZqIBSOFhp$qeAK2v|JVo9Pqf z=tQJ@M@qfi=rO)73@cIu!$}<NF6N7AG)jacI^0vvnwUo?NAS=BxJQgT$`$J+M8?w1 zQJeseC?c231?Y&OWB4(2bCwg|UusSj`Fc`m;RLKTA3==d@S?)dSS*6#;_rl@Akaj2 z??@WgDjdO=L}P?_9G_`z#S8Ze7jxp=oUE8UQj9b_jvDUljPUbw<@w21kt;2N=Yl{o zt>BC(PP7{#%G(ba?h_q>r#W*2FwT)g3d1dy>rO-pEuAnf5gdQ92=B&WJ7IBF5=R$L zs+ex+3Xk;$WJ)=7BG=K&Hv&r*xpRr0Rv2p<p5(^zWmtMjq_I{^bClJehGb>Misd1= zd>;l)>Petb+%aDMWG9zMi6=uGNip{cmv94-mJ)IlA;v2j7mIKPcxWMUCOiAm%(1>K z9yONaM<Ow!L^wwhf)$14#6%)|tpeC2Pf0X0ibL}7l)51q0bC0q)mtjJTwa{N6OAKg zz`aR;P9h%VMa4TsqFj7w&aVFKKnx!5%OyodgC<nGJ0~h2QsNhhvkVYhu&v0^eD9bz ze5_X_F~XYf=)#Y4!ijzGE`eYmSD<I$^)O7LMPLNSDvT$Qa(LcW0c1)*l*p1~;Uw{4 zp$WV=9GQcWuWp2=ze|{ug6Ci(T{*51{=lL<ECU4r0)GNKh7l*gx$sF+Z%=QUw<81Z z;lgvJc(Bo&2p0)53?1u?r?9LXeF<<OmxhtBsT{70yI5+0^T4xl-gpi(3M+K+b_;OB zi8<l1R<0~sgbU79WZ}ZI^otgdL`Xj`0^B8l&yZ5$r2Y{Bv98XfSR$E(1M~;bh~PiX z7tN<i@B~*tsX52l+Z_R58|xd*j`ra(cpem-kAy|_Bp{efZ+}aqI8qSp3wpsLIj$Bs zd|;Hf2Q3`sP9}PSCFR6*Ax8&#@`Wfj9K{k($2j340(nkOuKsWwk84Sdj3Gr>h=egj z7R%g|6N92#VyOfg*GGVja<>eO;G&sQqMsm^?9U8jMoHjNaEXurXz}*o;R0Q_mQEh7 z5mH|!3K4~kMY{)DM+!(@JTyCiLStH?u#q@2Kgt_U!nh+H`8X+xg~kyW2+s(%KQYh) zLB&&ugaD$YADkiZcSpN0;eJ>jE{Ehyl?tda)L0_cnT59I@I7J?0iNU-AAye(iXspY zDSQuP7}+&2z$rj16yve}RtO^B3dju`#YV(Z-MqQD$N;%O{OQqNG;2>hF~EvIU<P{f z;=<?@GSfFw;LhSW`nxz&7+g>1z$oA?nIfdSyM+KlabXHA*-UpyTwF9s;2Rea8EG9s z6frF^SRO(|<xtGSVp#z`bP*=ni-U>rVutY@J&2MxBE?YvA_uHn1mDezM)mcivpLpW zGKv|<_XoicMri5m6Bxl}L?Jw^DG`<wHi|Da=Yt21Je0&&;2DS(Gs0bX)*_0JFOKfy z=xE80^Y+F1d-~E{Vp!%pD`s@Gw}&UmhXM@7+=Uj6rGn1jgP?d@@XbA<yxjx*&^{8T zxw+7X<bgy71WK*QfxJkHlpkgh786AZ<Kx`nd<LI~4(9;Nbw+b7!aUfXOez7*b|xa- z@zGc;BL?lu6Ve?;7Hq%^&yneEMPM@oC>I3YTgr}#G>_pjkU~ay9EHc?!JROSICh}3 zkA#kQi=a7z9&&!1{lXD~D5SZ3RkG2}KHzqYfF6ws^NJIC#hBx<5sq{US^$)8f#Q0x z#jboR%1Y|O!gxCch*)tv65m-I%RrLE3@n}EB|w2;ypiFa+!(S;INb+J3PXqjkj`u@ z%3O?;Lx`Vy7#S}lvE@!y9E}7r!Mcmt<{)UqV32NJ1g^ga)+bUNCx(ZksTlg7em;yu zMB<`Aw2AQ&i_H0i*f=uIC(xb3h(j?2D0W~Z*2SAZ2?s;bB7}i~452iF&E(>R9>VCb z$N(p)n}ADl^TQ+96bT_52`<4%0ns==8YaqzfDp%7AlOta3dGOyXbZS06v-NeBq9SO zLSG-aMIf3?r}@U9#c{mINOwOnmJC{n(B@>Zb!-@t6By}X89){VVsK!+d0R%g`ZEY* z%W!}M5i!0#E?72N7#`>0Z_R`={ag?vGE)*B7UPca4wr<}ot%i=Xfc`L8RZhihWiS* ze2*}S1(Phb=DJh-fCIy#q*fx7g*DHc<j)ZMo10@TWBkdUVSY$dv<DhV0x}m$$PofE z+cT2rMxa@RV^{(o3eF>z>4}W;U~x!pj97}l)LIY-7X>0wLIm1FAmT}_Fwvea)@UxB zLW?se_|mZ?B=`gCKQ7wa0x6LC5~COam<WNJ5W@=N2hz+P#i%d~O9_#N2F%BZ;Qnsl zJDdiv1rvvgB3g&T{la6MS>|4FSAUu>27#7(b5Yh@3C)`zz=RWh0JY@E04|N{Pr?hm zs8nB9Tm*&`M|Gp2m?)M7h0ckix>$$t;yeR*2rS-06z=3i7Mr{Bt=*i%f$}3U(dbBl z2SEhp#WE=2Og|*aJ<JNYC`<sxkrnP0gOVWJVo@OO$GS$F%fDi2^2`AtkF@_Q<@huI z0Kfmv@DMKQjJ3NJ6m%7E&W?VPU6Z$#KG$gxjs0kq-d_nN>o3M+DK55ET%mD)lW|j4 zt6{UE(~;9lQ|}C$BV~8)$d;{Jb0ZY8^0=z`B8?*z=EuV&y%JO7lxq??e3+_{;k3`L zLQfG3)A0EGV6A}+W1IS+ueI2@<i%KSnJ=lhzAlkrvSz;FYFxkz-p7z%J717q1RYud z(N##^3uWIgzEmZ2R|@iw>SQ`9D8W7%H71Q5J+c%$RaRy9lq;GH=>Abe;#IV~%4m+? zx;5g6lY)|q(lYDjMG)N+8j3PL@#Sasc1(}Px)wc!<WME(aHwouk^+S8rl4o*)Kgiu zM9-G>`nifCR9BX&2zAii44UNL9PRa&m2ZZpfzj?jU`=<R<_e0?M<*08k^|+8kkuGT zSM#M6N-zhg#v)jf0}(VqOWP_-p;XV%RR<Ly`&4yhDe7T>;4D2w*{5aHj=F8KPghcX zH$rriU`EP-{9G_$%;yY7ka|;o;}$hVC`7{ns-oYl0MUgz0U9)$@<k-*aG*x9J=8%# z&tsW`f)ZNY0Xp`^q@#M1%r4nmTL}g=N`k3j4*|ME4*(hvGP{Y(u%=2QVmvHK0h1+X zRIn)t_V__iKF0;RN2$;nq6_m-(9=Ew19Ueo17tFwd%8$^G6o@cUROa;2A4DX##uox z_hgN2e;RBSf{g}J$x^^ruhWy$t+~<x+5wxrQi6eYWLtj)N`X@4jNVTLO*ZqS)vNU; zRgb&|Qh@{M!!dHY5e7-He7(uQfc>z1tLXPB3V>EQqyG<AP?bA$=iETdj<;E~nMa5Y zcDQ6v)II)v>}>ag&1bLViTiMCcS(j{4b@Lo_ZK|U@U%U*NX<Ib;LBY#8;_bnan2eO zO3}6Wxf<5hTmA>N1&3yb5)(^z-`>T@mtG`V56kX!v>g9c8l0GucNE60jE&TS)ZrBL z1_-x1w?l=e9ZF<;_0R8Ll!)fXizm(>Htif3$hH4+rsLf)n-5P$j_+(Z<DfIDT^YUb zeQcr=Z#K9^_VL!-%j73k-g{bB2fV9#Mm(v}RR6J|9<;X(;on)TKLH<(Z!@WRce$jj z^XK<3K{{)p!~XRL?>QEn1RBW`ZqM82z)%Hj=iI;f?e$^N-Q}ov>3Gwp$toMHVHaD@ zkaJd>KJM{v-?a7?DPJ9_cXLqOzkFfO=LefnONQ;{27KoRV~4O$C)pm^(ba<D{J5y? z`^_=6l~R1G?h^_y>aMy22Y|(_hENP;rSZg`4>dyxl<QHaH%MM36S8l0@7lAReqgZk zQ1mVxEB#<Y8MwS=r_t1<rtyZfvE(lOREPbK$*y*ozU+Y%*nAhD`Y&U5fF}E^QfusE zTXkZ!jXk#{dKjFIzNc9?|Gq>8(?dU=X%ggL@&}UjBk1<mptx_t2T^C#Uq+Rb3cCUs z96GHfZFLG#SH>E?0FwicB3K8>f3AZ9D@;%7tHR^<l-QTjV)n`47h^rN<2pa%ayZqO zf{($8wb>^&T(@kZ7YzES_LIl#jgQ{nn#<e{(S2eG%>UVjf&{2T<3R_Oteho`)(G-G z(Kl3*q1TfNtCqIsE%Sc)h`zJmxV-(t4!xUgruC6yd9hs&Pj5%{8Z+>^8ODLv9$?Xx ztc@AiZ?e@90Kgi+>YID<WkyR$x-#+tth$|FNSBo$FW$J`_*N;%pW0@~z4g`q7EoT? z=;;7t4!YWKb<0qHM>V#Gcyvp?1$EW~n%NR<T1G$0H_bnv2YaUm$c){K^VEH!qExEU z#C=<1?8ZUP-P7Vd|2*1;>Ob`s*^?LZ7`^D}{BvK=<;Y%=PRd*Qez~TPwifi7M{z5I zqp`hxuaA+pcM!*5+R$O`o6cH#PfUQmx!+H|bSRjBP`1jJ*Qxs3IDN}zm1%x!%-b4l zYtmG@z1nbj%LVn>FW#;?R@U@(`wx$XJ})&NU|%)K>q+=A_4UQo1d-R!ueqVCtsC}u zY+U$sP$g&dGV;SHY~BAjjiD^wGr64hWHL8&&!XVzzSnrv0K0<IRO$IW%X0I@!~1&C zgOC|@S8eZ!->Z?zOE9%Zcby}^-XVbyYJTBA>OQejDqYzWlF~0sgf$WNB+ctR*$Mbq z_@2ALNtXexa&Mu|O+km%Y%<Fn3oZcrGZ8Io-=_fC2B6eN8&LJXJb^XE9|pq@*%A}= zp4ft`FZKnC0X)VlJ%V;KPKV%Re6eZa9oYSR0HAx;b}B+=(iAYYcRygEu{}40%au$F zlVIFSw8%9O-Nw#C4K3gyZ$t5ISS09BE8X}+3F=T_uSl0oR6Z;-z*yU4J`IJ2djbT% zwRBto66XRSg&M0bvzZL8Q%=qR22}Ih+;XWBER^Xy6b2rmjz8NCwFDgoZmx(_gy?#m zRX{X-4U7m_sh6AA772%3+YDUD%l$$HrCY$6d?>G1Z_*K)hNL*)0n<V6*JUqOgqB;L z=b3|tIj!SnkZjO_`%<L}xP{+6lQf6tuUy-n3VZxG!g8HbFK}~=kC+__$-96zi|rZw zA4Eo8|FmWuF!c73nYBvopabgTA_`cK&o?(7;m7;;o_2;Z#w^w^OP&M-RL1J*Bsp9K z?$l<IE8`!`!*}aG@d2vJ*l~akz{dFKyP##dvLA1w=a(kG1s!tc6it9*e6JCTt+g+i zbl)VajL}?vz+o0>v$y_)nnOVVxY7Z|x!SvrFR);dTY=K>I!=|qKW1QOOq78}zgYj; z@9+gQYyXk726(uys&M__vm~*hdQ<O>Bg#&?djJ8GA#N(VPqu?AwR$a}gt1O5Xw@m8 zv<t`11p)_+*Pmar2s+##&0WA0NI|o=@ecCHW*&lkZsz{LLzTb#;qz!qEhY5I(8dQ( zSyh@!pceord7Sbej|_eQIm<mg@UoBp|5pFkB++Pz`8LyXcx|F^s_**8_#aa>YaivH zK9=rZx;BBq<$gGB5TY@#X_<rWhGhLUX1n&jtrJbm2Hj5h<v;x>>{41IaH~TDf;N-0 zxj8xY?wz;1_9Ynz_y?#CYDNbMwwqml5*JsdF*fS`yaPsjDg1OtrNd_Qly7yy(2tkJ zE{E4JzrKGlKi_@3%xv%QQq~6Po8M}>%R=^~7wyc~+kSapBOOu=oNi7{FFof%TZT#h z{HMDsy47qZ6)rSGcEx`s0a%WwRD`u;qh3lzK6LL+{MFn{3TtSA+`rRnb5Pr(HCIAx z6`vXnY>5fc+xv6h;-%bgotX`mAMfiQ*T&ICAD-SZ+d~^lm?*7D@a-(EY{edhonSZa zcvp~;@iKmHFz9ZfrV>8WG~~;>!sD9`<lGsOl)ecaF@>Smb*MDQ*k(MVxNCNZWS=_R z=ih>mNH1q`{>=Bj?uLs1#fQ?SwvGp#eE206>TJYser)scXA7ysUvHm&%2%tJ@CWHu zX18WKUCBnnc+(%B--P0W-PEwrkZJA3wA$bNrft2UW|XRTcfNp*nH@VOuJqli{rqsd zs5c_ht}5>9dneXzXGf^BZn<Ro^+D6yKR?f%6{eRy8GdGvoWrfdjpgt8aQ0Dq`!B)C zse%u^D|J;EZF_<_Z$fL$4vp~-R2Ubfjo~no;>AnX{QL^k`u4jx97Ic1hAVgKk4Fr# zwysEKsy;fqGjVFE+0F9RtbN6X>pt!X8oEAFR^M<V;n)2B=__HErhuepC5N<^%`KkR zehkmp59r20HzvOM%{5^bP%xeF=;yf=@saJo&F{QJ87Au`<z+*VAeT8u_fETDRNk^C zMUUQTeX>ro=d6jMfM0#HwF|4JY?C5U!>;RaNR#9XQ|6yb$MR}^f~YS(lZSe|^N*j2 zHzu#OnVu4+e!PC_po4;<a;bu(!i-=Z*}~PIJ+GmwQmCKzQWtG)S3i8ZIR@S&QTAy@ zV65{K%b%+$Eu&0*x?8Y%t8(cY(eaCZpmoqH%{QUth(lwcvgu_-hk#tNE~rocJb0lO z7WyQ6`55JT(YmTAlE*nC)e|X%PO}$;|3;yKtk-yLM<O|UIUuB$Uq-^GIhOdhtcprk zK=&BL%lPd1<{0*Q#aW*LUn5oOo;}*F#fz<v;u*vwN7mc>t^rwLPoli%BHgVN1?4Wk zIsUi7x5x~qF-Il#%|3B}@^Q`XGQE}pQoUda(j`foownEI)_)^?2c{>kaeKzdcXd2d z6&`tEbRxp8rC{`h!V;7tXuog%(2fUpLK)#Y9kc$gfHjWSjvQO6{8V|-*4H=6VATtW z{NbkkD4o5Z?tCGlM^BYbiP{dYG3f+>dBjyx!@~STx9#Wq`n;<l^<BHhzqWD|uv&4r zP@|Ntm=3#Q+A%b?!}iM~?EUVL*u4D21!>;i&ky>T#d*Tv{cF`0ZuN8Pmp|-D5;iKT z91%XG9@M!A?r=^7%vL0BO#C@b%c~7*St1YK>p)C*o!xtlq88ize493TOH0A(9s^TP zPu(plSL@zy(}`|YPtmS>owi*FhF>md5`1{M=i`erjQkt86~<RLBzzlo+)!&<KbjE~ zE`Hl__IAZ&(a-Jc<9|-KUjJj^$BKlA8>0Jq2iZS+6UO@93HlQPtc;FeLaIJK?D-0? zq%gy5cLT28Y0yROz{=;%k}`yUW@~Ks<*yUnJn_}vqoN0`uf|-hurO6N`H&w!8>kca z?wr<_sf8aOyVDKv%I#a;`kVWQm>#R2^J}?LUt<SACTBEK$MeD=0EUx&lKIyyhj-SA zr~2j^e$DnTecPTh*VVLt>1_lGHRqaMcIlb=LkC^G<kS@Z$-1ewSL4NJ%MP2?xy8i9 z%s*n-7utNNrHwfF7Tf=m4mm^nL*H=kkMd?mlPk!cmvf@>8dkLdv)$Y8@coQN)(({r zkB?x@^l|H_X5O6iRC9jk>uGlZU|j4I^~@Dz0Y>gqM}5yO%oMwdXF%vX_~v5Jnrj(} zAW12G4APKx=igOVYjkbS<u|?JjXccI@`^=1{`}(JaaP$4I&Go#^Lq3;4?&o14y^ik zj>sgDS-Eao!ljb5lb6kSEdu-Kg_&ob0ZYh?t3O8{_kH}#DJiX9|FeHS?6%p<l*=;y zi%iV+fGdR`oC$fj>{ZjYM`5P(_jV1hj?%YwH&;kjl8a&)MVwOkreXMimhgdL=DWs4 zE3}tsxA5kWg%Onj;zieU=87~6PiRu>(Lujf*nVp4`EWG*^r1UN53y;E+etwcT1OlG z(Bz*MkqDm%y`OJ$c-+13hh<Z3X18r$7)R;o1&h8^|E&1qF@Rb^=#AL{QFq9qr<3`U zr}mfkTK=|suSbaCK8|)p1r20f1J=*%N@MTeVLss8<c8V)STelBb9376mwPuO-}l5; zUN59q-u`_0>bsb;KL(8ER<TZwUTCR^H(u+prT^KJ%g0L!vv?v#qpQ@!#r9wtS;prd zqv~47nY=QeTRzCU{Y#lu{&17<>aE%JkCv_7c=p(38zHvV8Xxhx;2X3z9x((IhsqHh zYYEFp@qdq`?aTtaNq{oj!k&M=us5b!t2}-(HMM=9&v+Uv3_IB2S;Lv%3y-b;S^xe( z@Ym6+$6(d-4>4V%Kha~k2v{Yl&1xXir^fH@J!Orh)y9{9{@ybmxYv0S!mrqPZuc%< z=)qUe2W^eblG%{;=HocWXj_zDL$v(|=DFSy%7+*bIIw^-?W5;#ls!Es@p*^aYhK2& zPVR9v|KQpVT^quVm|R+5vewvivvI~Ht+B1IHT7}>Fr9r5AVzAGlLQY_bLPE!%4vwl z)=mMt<G;STw`=a{i5J1SA(!j1wZ^ixiOebGBe49*0C#6SxJWJI%f0LOxRXYwI_&0x z2lswyPqAtq`gRYc%zDSW^|dQiEBP|yZEb#?c9rX+mZMlBNmpr5@l?&wF5t@tJ+@?W zj%nDED#fJT`SFZJZ5%f}?eoq!d#usDFP4a=5oG!5))<W<(a6m#vys_CGJ5X9qtSa$ zT{qg1)2e`9eSf`smsax)6ZEy*O2fpKuM>r`Prs8*(nhzbf6!PW=WTLC@!?yC(ANd4 z`%+&wMuR-}*j{7dWJRmmWx-JSVXfH9^c?K<k}Y*pL82E%i|8_^TMxggt9s<6d@y2i zw!XYinEX)Dx*;W}(!{R(3{?X<o7I)!QIxALp5kv3O}}o@>edL-8d(33*)W;WDm!G~ z6S-|a-|gw+HT}8kI!3Qoo$P{k2iCo6I1)Jd<KB&qBYbJh`&RqeiaQ!EL7j82QdX!L zd3iwB?%y-beAgAkvlGNOOxzvY`N#J=nE{m}$f567uAAM%rb&=`dw(lhss(Kty<4aC zd-gUP4>?mMA4iZ5eug)eXN-PLX<5E<^iGNOVN&i_K}zIwEOeN>tAz+r@*OQWJmGEA zKK1s;s99oQ^_kW@ZS!&U7}D;`U0aUTZC%TlPphQN^7?O%Ip44uzYsiBG)w41dF9^7 z=`!0YyIaM1FjJR0Jy~yg-Zmxpt<SMmT(sZnSP?@u)#p7S9<+P#a8;&$Z>LUw4?PEe zxLBW%tzP|8M^vYd*SBa_%N}%B(oiWSm*&sZUcc!(_+G?Ho*JrFzo)!dqspw|+xcD6 z(bGq5`UfY|f3@3_id}oG#J85aiJMRLf90}df$P=V+Ir6HlP{}ZU%OY(V+o;sS4s|3 zV^f05L+=>nc$S8^B*UYy)q7J)DaUsbq4fjXmkeJvD<tI_sb+b*Hlc&g9sjLe4I@c| zzMM%<oerLTR-`%XU2J|NYTPn<S4}rbI`Sceem8#Hc!TS^`PkQ~o7KA1`aj?Ptn4!f zxv+QHc~(F_$a6nm-quRL0gDUH+1J?YxSf81gnALpnorB&Oe(WlF}+4M{bXPJH4m>> z-qbwz{_Vpfe2=SP+fOt;N52D=S?V6!AJfMZ_wpxCaonyiw?Y1x>Fr3U{_J+=GQp-0 zd9E+ht>#R7yrap+v;Ovq7bQPW=P2e@*=y=)uft8%?q%Bs*lB8SmQ5`ktSx+Q6n`#z z)tLBJs;|by>cD;@+$1CDj|n7i?MH89^y_0EwkP%qwRTSJA{oj!H&RM<5<2$0M3C$J zZXUcLuDjq|UG|a_r!(q*%#-EX_$=+Gsz<y=e)UAl$ni%9Y<z1a6j_d4wa9<8@bthu zw!Zr3%B0U_pFbOur~9p1iwP5sWrsaN-)jpoJ)fKHH-2kWQPvt}FY3s)VufqPZ2%tl zsM+PMOWJWtcQVZUMxSlb3l6^Qx9Yi3*3|gXQeR~9@G)YpLFna$$DN1n|CV`gphr?| zz4ff3EfLz^w*B%hAM>(t`{)luQpNRKBnGWMLi5LDWyihc{8__F$scgXD7@YPZga-* zmRnoP5@#W;v!y-7H!J$vq5T*Af1Da(w;thVhqi2k9BF)xqHf&VphaU>rr4do&U@6t zIy|8_NO;Pft)7i~jy`{qE_3BHUdq<_GXBLfLTYTY{QBh8GdonKj5w^MkD!K0*k$T_ z<ooO8Rg%khi!P{(k<-7|1fJ$SZ0QZHDSO(S{9_g4<lvdhEkid1kD!c=Z5ki9lG*}t zy{a^QYnqF1Mqhbckxh!W-1>Mh?yEO`?je5vqkPW1>4vZ4j~|#dj6YXRh&}e{bigh& z`C<6n<<}RzyXil|qQd4uz~1{!d_T+*R2P2J5}v;Rx!9muQ?)Y?wNx+n`j3m8pN|Aj z7#G>k4^%U4&a{a@<XKE#(@{uq&%Nzr<YF7Mm%=|5S`YzQzp;vPukh(x5Pz(nf}QTx zb5QF#XIW_RCKMj|8oiEc3&KrcVjVllQ7Ry27Js8YNn4fTf4I)o_c92vP12SL;60lE zW8}UFQ|pqD743Wfj^?6`0U=9<pPc{Detv877vnA6SM*(M^<}K4Vloo4u8Q*J^50`- zsdM9(ok+Q3`Z|B*5qN&`s_7%JV`CeQucs)a_}lyhWtPJ~;UgDMq#%?ZAL0AFYL4-_ znQ%|NDdFapK~E5Mn|$5_B6^p>!mW>>HTKH)?}V<6_Eh~VKcQp)l~yc5G?{$9dn5;= z_IRB&q6wF*(Se(u*K~#cm_9Gu3F7hV_doufcfj=r=GW<}q=Yov8U7`ZGn&Jag*!er zP|)n|3NX|C6$tJUv^DM3Bk1PEMBB|R6AW#=$=1W2b_Vdog`d~WZhmU=x0x(=TCr!S z%=9*>{`P^GWhfZr=S|}4N4km(9MmorO)zq_XGTb*Y>66UT^r`I1W=rDu>9E)rNe8@ z65f4oGfVsfw>j^5+U(2?b=08n<YQ3V-gzb`=f|jh%)6kW2Oz=A{da-~WH+ieS+&1W z-R9%XFKYuzDc40o>z{XvK>;_s9S@RPb==(SX-Cf=1hwks={KRPTwxvF@B>=7)g91b z{!r+-h`-YM6(G;P05W(~SgqcWaY&u89h9Eq<|eM*P6%@%6!a+rQ&`@#(Vw7p?~CHJ z_VLlG44-=ljD&KPA5x;)(|Eld*>4<D&F<|wxG|xYjL3Z%Qk^i-@Z-a?wAI_YZcg9R zI`nGheo)9FwDq336Di|a8Xe<3$FA9yNYvDucAAY7ajy9JFTMKbu}}{Kelv*4JA!Mt zg9#JeSBIj)m`fn)SvwOKa)P)wMo)s!JD@^)6Eq^z)JTQ#jv#=e*{{*)*Rk8ONVW%| z!#ub7V?}fBeT)O_-<K%G>y|tExFyUctH;Y6+?C#hy4UsOTPePlLZ+F#s_x}edD||1 z`xt1GF|YfC1Pm<XtMRXg`xVexhl?W_I!etk&U!!38uTW%1cv75EHr((y+iHXGVrP_ zzj1$h#v)ZESmY6qTCR)RMs!G$95aw{LdsKjY20ZM-6>2s+nAXp`@3!?FO@l1D-K;y zAE76d(9`Y)9a{Wf1vGhK%|Q2+zHH*k;xb<&M-*H&`LX&dbN{hm_k$Mt4r=tb@NAn5 zg=t$Q&k(&yM1NZx^_sfUFr=pk_87Jl1_g`yz>|@_YIWWGMY8gb^Sg&WbC#~@Ta=6h zS#wm%+DNCfK!NeI33KyATNUUqlP-y;pQvBUoq>W;Ow+^vm`+xJWP@Rlck?LEV7mFm ztD5v!2~K4M4Q2BFf3eVbqOsPh$($}KK0~;N{!dj9aOXx0Jq0^<{V^&d?~U&73Q8vW zjcP*~XxZDDV?aPQnXz?uo4-Kkj;(AmX9#GIjAM7~7}thugO*n$mnS(?g6akRyYHT0 zrRK_mFk(eDYJYpJ-ab&bJPd%L{-+~r-Ze>k@@z-_0PXdSi!dU3k5){^jkY`PL%N}m zo?*PULqQ<WZspHQcBYE2ZybOTZ{?$||EkqXvHC~M$wZAUW$O7YM>r2P$A~s*kL9m+ z|E_E{8@`f#GVcEL_*z+QRk?C<uX^agkCS9y4ajBaiIirSOem~F|0WYtn;O^`_{ctX zYtlIW4?z97MEl~_sZ9=Q)omNAjE(>$VWIs>?@y;M*dD3qeo?*ao7*nEiIyWxzcw`% zyf90A)<3JRtI|KFL9w(0W(Y#*4JE>hMJ1SJd=pRu$0g}BK$IcbhCml>XZuE0>gH>x zQX8nv%l)qWi`qwr8h=N%y(nEU#MyM4c%c8`Q4w0T-{E&yLr5pD>H?x_k&@0Ppa?be z$+B=<lJ=ucj%6G~ZvI(bdLGSSL?*O+a?A37E0_XPQ1dX|`fwB&G8Q@pE3Q&k(gHxK zz6=(b0aR$57<C+<Bq18eJky1~!Mmx;m0;^Om_*j^{SFGj?Xb|yc*MXZtL2KXd!3+W z>B5|%yGGw$OK>&r+sv-^?C#V{HzkhXuVDTWxr1)5!;AG)jiyZZ9lJXpoZa>7zxD#W zr>++7`gAKjUu%IK7Mof$lvzc)r1|9_W9iVQ@zhU7VT%9J8<=}qRkmdKmO(GkdC#SL zmo&0t6`HIY7FF~FDouWxy22VK8v*O`&~`zvzyfg%U2iCxFg;o>KrY%_UBp_7xIg;- z*vYCTdcoVtTOo@2jrWva1Aai6E@#wpDq0oRk&mhU&<U0C2OL_~L$no@O~Ca3{rNXb zT!0&8=S}YO^}~r7LKI&AHFkTKE<9LJrM(g?d>TY@YT$2>m|fK*%Eb0uQa`*M*?qc% z#&q8I`#pods_SyuG|oUScR@cIjlUT_^1MisYLm&`i5t~?Gal4@`oD}-UU|<_Ox~t9 zc???_NS)IJuL6nt$^)r3?xo}eWkT^1s4!dMc*TyXT{|)r6$S7`o1ZrKK@N?n|Namo zd9K+A@}!V-w$8}W{fGmsJ^S~8Y2B3AY+Y;JC&s`G0vDcd$W)jP_JszR94^P_!4}Gk zRyzeDwQM(!9~!3Ls5QO29x_izax58ID4uHvg**AnjYF<UlCrI`_}|WM8jl+~yk&(V zK=Vf0mDEF96q1X84vHk^_B4R0oAe%`j%d1Cy!e+zH|u#_4}9GEIVPQrUcB+&_8jh_ z>jwpTmtBeTpy{1ZQQSZq9o|go4FT&tHom_#UmYyW4clZt)_KfmDpl$>UMmdrx~K*{ zV&tH<QYU1S1BgWGS9Q!>PywMx+^g`qo+!|>WYB5E7AQAW_9-!AX2>?r5$rbzwNTu{ zD*V-|0&x8Ru=!=NQ3R(yZT|a#-;6>lmi*_Xhwh0ihj;6TKf1;7UL(Uc{M#I#%FQvz zP-o*U(mDYD0GyWnH*k_dI=u9>y9s2lA3<9&Lq~n-e_LQ!XzS4}R~&WCK{(c&WWFL< z6>{GZQ-lZFbH;o_84f<V;C9Xo7OAQz{#M<rZdq6ZB>S?i;iS&yzo0^BvHRVs|Jc(z zd+=tyY3NiHW6u1k(?4=eE>nlDZVGVQQP1*vw*o?O0Kj9yS0cQVmp;2cd<-5-9dpL( z?^wH42vsuC147NP-bbI2BSBDi?6nb4#jQP=Oen6y11qR+xWJIYbXC55(kQ(GtUwMD zCxslljb2NXV4rjw)poBSuiEdR1mv#tdlnm@WUd?Z%ksjCtczj)A_=B+E@u?hq&IV8 z%|8MyFjun2^f>bdj~^ebLvB?`wg<?}JA0F`yWb7eQ40eipH;~%`^{d+#DV2nMyz3z z>UCK&6*i^5H`J6uj2fS1nC{7J0I;V0=nlTB0=NfFy<n987L{awxqIBN73q8&xJNs2 zf=WFR*ow`%F5#s%ptt^rkDWEz0R7RDRAiT-+>R#hEgAjuJ=k9;Ht*2LFfn7ve!$dc zDpZwDt{uAlY}?sf&Uv%vs>#}5P;}f;<Z)nudzue)5Wo%<#f<Yn9u8b-<M}O+l|W(| z4lUs{$RWmx87TEn8EpbVNNQu)8YL^x-OAD1c&Xea=D?aZly6y*><mnJWpax#BnsdY zYu|bD8hKxoo@^*tH1O$c4dGRdTl#7A73Hyr^s*De(?z~ZN3WiosVWjV1&!8CJdaK) z+I#>Rds29?=+?ceaYdYe$A|O{SD%Wvzb*?5skCjmsNYy%rGqNl=U@z!Wt`r_Tm%69 z?$Qug(^|K<=q+39>KX!{o?mB`vwho<)BA@P(lbuIxA*OoWA)Q@-7kL_hHPW*#KnRz zt8kh=GMo;x58G1PenfTr*?~=ae|=(<Ozg!)c-!pm6yQ+Dn3b;2w(M98EPZQ1v?^p1 zU`oHK*>6P7)Y>=3GD7Xk9g`E&ikO~ecJzT6O<e0L=X0tpm4+cfdYdMoR8&0+)9w5v zIo-oJ$H63x_hZh~$&oF}VEop`%@bpLWS_R2+gYY|y!`y{n*naiH%U2!1HQrwvRJ1S zrYDnkGV~_v&V*rW55fJQIVPLg1nAXmCMWr#?}xrW(WIhSzXZ59IpsUUx7=$JNo1>C z?0`p<%J(yE0-&eAs3o{iPV3K*HBCnEJs$OXu=1?R3cH}0`}xsEaVw)x^*4_fX<(~b zQs1;5sO%fnd><{c{^5V|!+I*sdsWlu8AebyyRsWPjC*->E>^izVq5`9W&)FY<~5RC z4V=H7Z3-+wrR(<#YtA8>xDQfFX<|J3p{a%AkAfm6e49n^jnCOb(Wce&9>Sa~umcC% z(zlx~vr7+GcG0Y&E1cP;3kN{vCK09rc8A+dmk!shOGA{C+BEK|4qpy@<DD~l<%-E+ z{${&X{Q(X4@|31isZx!mZntZ(`}>V-f84nFy<Jsm^IKD?qj=(E>8?4OlC@y<?4bJ| zb7UcNFD+Iol!r%Hd3dzpr8AVbL!Z6#^l?wE&9ah=6-P9hM(DD`S~I~Vj~e2|+T1FH zBWttA-a2^9r0k~Zs}B5pOWHI2eC@~9^}c3A?R+*>Uho<I4W6225oxG&I1u_Aq)uHB zmkML~1l;%6V8rX#p5g0(K{@B_ZdEBu2d0@3!?qvZS=5Mo-q$;Kwi=k6suDl)W{vt9 zV@)oFVte#)bgxs6EaelIl$2<ISeffz#6AjyW}-?@AGgDAl@TDj?Wn&vFVIcIftMD+ zpW*MDmv*CKohjZ=HW-fQrd@9)aX{RFwr~IUXkZ6g!DdKpvBY`@u%oB#6)uN)5!>_I zgI4vmh-yZh%SnFu>a%u>Ukh*_H6PEfxhg6~lXY4~damScTo=8qMP7w6`&GWf+G>-( zj8J{I!0L>;q3#LrvMMXxw3<OklFaHJgUu$nctbsKuT~sj)o{KP>YNN%fJYKkGum`v zsS4<Iss?n5BWTHAgy~td#zhZqn7qP$KGE>k$)c+(y7#VKY@X6}D)h!OrQZPWzd3|m zT>U3x=*sLuy;mtILKZNc9m}uQEI;nz_^4pDLIz$BmJEhf++;)nu5Xs_vQ6*iK;iOu zv-cw@rj_q^98BE)0J&p9awpa3&>zH3t`?G=^{yXauI~FC#i`oB)k7dKHPwQ!YvusC zRN~I&TwX!8@jr6hGH`I_pwCd?r0ICKJ4Q12$#DA~us`A?bf)SwWbX%_{am}hI0Gxn zms@JsS()+`6>=J;!1<M#;gr?SJk?h_b;?#(8?Jn_W>_hi4$!gvbMb7goSFQ;u(R<L zB*VSVsq>Gms-X;Ep6=zr%E@lPJG$wbgCrZksMg;wx>Yq;Z#>f=4>@2EfCOSUB%7u< z7yw`}IFZF%EC;;h|JUI7PuZq|`oaHT!x-qEKha-3^ocuUO(pDi5SL$3O$!SId6(UQ z>@R&AfNbG3)R?a4by5LM)>zeYO&55PT2<ge4xfj)IVU-8S0_Kh6c_<-ZL}pV;!g|E z_{#!L90EDhrt+-)4g|mw!E069KDkJZWaTQxX&7B~0JqMe=1Y^afoQS|wq*RtFya3u zhQ+epr3QA!<Ed%4KN>M(aj}^T^xHcFJNKt|WiB9hclM^2=`1XOczRjelo>O%sNcO? z8}+mI*UN;LE}bnG1ma&K7lwXaF1l-&xAW((3wIN*ZdhPfb9GW?cHkIm=Bc9rM_&!U zPsDbbr{|x1Lk>0>SH>MAJtvjXsyEDDJ*qv!xVL%=`0_p9l>d<>E2ca`QPK!KhdheE zr%J6HTSz!mw3@b!&k>v#+u%HL*Cz5$h3~w*b-ednlJH_K|D|{5CEBFfc2$~2!CKso zkWLi?9rUUxVnG+x+wff;tXiB6H(Sy#(7JN${LwrE9li0(n9;)qt8XuR&J1`KasSRm zJBMH9ApG25ss4{=M=oYzE?c)T&-XN6QbnRB0=rk!ON>8UE;CtTU;lOsu6ym0W7+Da z3kxHLdOx3~&zc?z2{`z*wOJsYt+^c1HMYnw#3DETI*V;ofB$}2J$*|$=U#Qxnj4Y* z?Omo@Dk^4gS?B8HZ-11O({sJ|)6Nq@8g5Jf<V^m4O@2vhaiZu~R-HCFD;qw`z=4%t zaP%KjwAye*qml@juRUjcd8+U8kxyHOkwmY$3rZ@uI@Xpa?c8YP@6YZY*kw9CaPE+0 zGP7x5-p6Xu#Jqnn<y9YbR_%0EfNJBS4ZBy~Ylr4Enwowo4;<vJ$)MJn>2>969BA8q zWh*z(Et+``I6C`=oQOaHKcni>c2KD4O@aSo)m@TuqnB*E_nLPNm5sV4y?@eHvv_S8 zdu8RN)1u1O(F^NFx}e9iD|YS3HL<EU+BWzH!MHo*{cr<hz~cPXmb#(!0?nF%^Y>fZ zz3MNh8+CsC9oF|@eK&pcx53Qh_$90(?Wnec=ZEOUG2c(5+>oS+yYw7vyU$q~r~FG4 z>)EH@eO=wufY<j}*Vp%QXnlqHqw8I=B2HRNQwM|^eKK3sH7Fre>4o$3N8J4N;g&=a z4ckLM+TLKY2R<EmeQW!p-pLBi{YuTj%cE;Xkav5(a%1vx?v(Yx$gA4AhB6QCCfXZ5 zaGq~)QqLc`2Bm>LJnIMG{ZJr`MK=Ek!{3U$S+e`mjr{6|X&pz(HGU(`*o92@481S! zrPeq;dYJEP?R{=QdGj*P6lYonJ$qr%2=eUe{@3r3PuW`20}o)M8e0e6HvHI5Z)|I` z$!#Aw7}0+5Ys>s7q%vo*ynYaFt#t%Ov@EAqn=1|Y+CI_$%Vo%6jiV;+Oi!vS11Ur` zq%i7Ia?bMV>(~16^Vf=6_7^@*)9Osq>K#~iMU|@2S2(%08|vBj3H3f)MWb{!5V2~a zy5U<SZq#f|i{^-h*^l1qL-geK1En0(jfRYU0~w?N%}*CDlzIA|(pT~IYN7keG5+(v z@F{0sUeye>bLeoFQL0-&^%kRex@;;=BX>@1f4PZw`5FJ3r;ir6c-1u5+!qzQ4K3Sl zYt<~f!zr&E)$F=xa&S{mX{D*fHnTi_Yt<PAr0FQ@;lzc!os&zQxMM0dYHvc%-&tOH zRF1~w|7LkfSG#G3rz=0_`riHg@B1}Q5|6^EkxftOajtn^gH}BzLK7w5&a2goPu^b9 z{W!az>I`j<;(@#?@S`v!rsdiCNjF67MgFuKdh<`ty&JWbO$p*+zf;{SL9964=9CvB z;~4dHt?lnz!5U$-8n4Ek!rY;Q9U`)Ik?L}fr1>uaq&6Od2aWAtZ<Iu+t$Vg1Ev)jU zX-(AN6;jBmtWi;mC<B|jdHk9x*qbeW+GTxvPc61P!@M?PZA(oP+L6O6vB7nkx%GK= zx*GPP?;}fsY>$;nWVsqGT<o{+!_v0VFL|^pQ~4a{@<49a%}Zt`iXXOa*!wS_TA94u zGRW4qyZud_uipC&iT*ESOonVx{oT=j2UyPk?{IWZN@q{aEXJ{1VR|a6r%geP$nIw9 zKkNNZFAO&*-_?2CZT{-r$}?^Iva}8S>YM>Yelq&ka+G^qP#^v1HgAXfm|jKwc1?Xx zV5&y*o6y^s3qO%9Wnc3_k1hYZ9uCP#w^ohrUY@v6oUXg8lA1C;GJO_AQv(+9A97B5 z-1}C)=j7R2tDo3+uikZ)!&AIT>C{Zm-|pwXYTqnx?tIqeS#7fiFJ+NDedB}#Qs?kp z6uj?a+f|FR;Wa&v1-E9gcbyD+`&YKcUs3zfGjVH*w)3OK>pI-j*4xSE2YA`n?%1`Y z-1NjO>RM#%qW8)%v~qybu=j>(!?&>B_U{ELYMuJWZC_K5od;Dcf)a2U$BPQJRyG;= zeLPVWF#e*;D(7}!#p{xrc@7PpofYY(+YV8G^nV_ns6DLIyNnpO_{IxrH8FEW5$EdO z7t(2NSYcPT;)B)TTK8)a+sj_A);GO|LTAIPk88AkXg@x?LpWzx@Ln(%_32uqX@*WK zjk4QPsuS0q0xAIV*!IMsMtVxuiiA&#ZcT)IOmBDS{bTA`XYcRMZt$ha?;vjtOx9C4 zcaQJ`_nz^xDTn7wENWDJwZ{;+-?ziYms0O-KJcqL(08t~7rDk2SJ&X@eHtd_fTUsh zVjKG1c1X?{){=ewbWvO7{g%t`A46?yM!U1S^Q^=o3;ke$<=m-_N{-MU%dAfAcUZ5q zcaP`Y)g>@Kgnjf=q9!+sHL-s9wMU7`$fxgFTY@cuo64^m{J3hpXp(*A{`HPpLlv-N zK2P^oRgu%d%AOXaJv=zut9WWulUfq<oXtOz(*9{z5Ny6f?T>i!;_~x7bnH64;4{8Z z>e+J#uEE@#z`p7O+x_)kLErGBoTb<v6OQCcxw80_>tRd}q@sPnzdfn%N|d*CU7&yL zt&jll-uG?yg1GHab<bCE-iz;De8lV8(IqVjwHKCxx0QzaXV*QB%=|GWi;-qXf}0Wg zM_^cJjAzn+_Ex{pRN~mX_N02`JT+covr#X2jZ_2)i@qBi2(9l8%o+VPHOwvr4o#6_ z^(87ftn#W+6K5;-#gUl2lk4xbFRSkjDVdN_!xu=np3FrVn#1N>A9Wtu*hIzFB1UX= z9>}*5)5f085Mhx{YC9Z*gIjHu4<HQftOkN-52o82jW5C3Ebm^i+sbkW5xO(jT!S@b z!-;I;@MEU7b30>hBfME!y;tn~8}^=03A)S=pepww)e<h!2SqZ`ZyOO!kDv&B+xA0E zR`NP2azMs-Lb#mdz*4Q!Q;DZ1wdoFCN9zA*A7;X;nIB5h6KLPQ95h_LxJ>o#?aY~H z=?gVQQwQ2MU`y3a9|s4Z1<zNiXf(|R>W}9R&%Z7-yyasaV@te}f$B!<{hY}HQ3vwP zb>upI%PY&Lwa;l)n%_C{iEZt>6mk#5_?zrOO*Pp_@I)3deQN*bGq*+iqn|!*+fREs zyH(ffw|Wv2*_}!Z!csTZR7*fMOKQzOYIEzH<aJ8#Q0KABCDz?NR-)&|yccYtH}tIC zfJ4B*?*Z(R_5){)$HlnYWNXsh_f|IIypLN~wPPp0_2nEILw;G;kCgGN%L<1<^}pbS z9;5TLv8v_il$IFT@_{OrOlQV>Y&c`_MUCF-@9kYP#6IHy;pNlUt?H1^SW3^pDT!6* zxU)UGn!SV9Q+L+4$B|g6#d+!*!0v;i`)=FhuC7Vw@wgGR;r0Az^X*^3V=fywD?VR* zePb$kTmM1WWAKiljs^-<JKlQLozzJlh$*jS-^tk0!+0JYK6}x6&ZrvKrt|1nX<)VH zXkD=b`Fre&{l)EGIq#}iZ9HyFWlPJfhmHQ^`z<QFq|D~u7sMP@mk-mn&lDkgw!Q;? z%E|7aM)seVB#GI5@fp}ts5ye~Zeq8*3i1E#1nd7qMw#TP#yt`K$FItwjm!Sn6O?}I z)}#q;!l3kY6}EFCy}^u0?A+-VN9Zg`Z?O59*#6dgnbI!E-q*dZDsfhuGMnrb6mkv+ zFd1CP{n7zj?4EjTXtwrGb==Nv<E@76CoOk(D&d0M`zW2r^y<?yR}Fs2ilz*H6&0OL zpSfztF=U=DT5Is@XwjHKd{Af20i`<Dk@1d6sE0;JB`c&Y3InZqq-R;2DKFNKi+2oe zQX;&0Rc{D@bIz@g(D@;K;Z~8I;Vpx4t@H(t&Ta#{!A<^_7k)vq4~@<GYCgsMFLqyL zqB3`)>T1y+y5mX1S3du7Y9^^@&q2J&H3*@Qfhpij+nywP2C0I#*@9q|WC@t}bw%?^ z$VI&;v)VsV>1wBivLb!ML9_8hx4QURe`&UT3?Wvv$}T_1WrN<pw%8|G`71-8yuUOu zE@naBoJ!egG~R6(@7(#rV9;QE2d<;$fYEYhwgYi`z;e5uOe<D#c~a84DyS0F60h5> zJwWQbly0v#z6N*OY`lf;?Xzbo^v(K?qXkY-)V@4-y>eAhxKvUCFP!e%sZ5<pi!sPE zV}Ad1o1W^k=OjdMeC*6MCuqki)M>|pbcK{P$%>#fA~aOVbgT2|>~Pyble~7W48L?s zRVgHO>`Xam3PGH92sM@u3IT(@qo^eaYq>qm<)s_nJ~LAaIXqVM(h0h`<#06gIlvCm zQjPt(CyqF*jrlZYFlaQchTES0+g-kvs?a?DWHc7K+37G9`rHUK)LOk*?}W@DAcnsO zx7~2iWW3Yh4ZIJl6moRT;EH+^t~_iNu%dNUH~HS{l%A>z(JE7?A0KzCbM9<^`hZ$~ z6jG<%@l>iWE7Wh%h1`^vS@lPhpw5O*zG_!}IWW~OoSlDrJJnr{#xZ#ERdVd1wx0It z&G&TSt3f&AQhBsG<h=SjC$)v0=?S|!ueuZ-I9I*$os+FA?Kte%ft60MtZappuIKM+ zVM^Z68AFxZcDDXgp69*px&^7u80Hs#a)r9yIiwDS0K{I>)Y<}$xIW3$uBv&Wvu*rc zXxO?)L~=uO%&LvLvck}2C}bbVfff&sgn`qu@9=61Sw-E3y(MREuk~2Ih-3I9Q*x|n zqn`F+eXK4_Ua5g@T<fHp<#1N;>2UgnQ!@weJcmE=SBg&?3kBo-d0zJp5X?UL!Cgnl z{Hc`NRs)uEIgZV>we67kRULN{{yw3*4@hOP{HX3e=*(7?KT?YRFdARG?@)Afj_S<T z{FGmRAIgPj03PJ0b0O;QeAW8;-{$`|bMpUav_!wop!5XWL+jSooN+k&8r`$vuOrLg zIIVK2{Oqy=EV*Iyl`_tL?hoDCVA~j__`_qmjrOSuJ-W|>mnHuOxo@&>k=&xdl<HAD z_v~(CL6oOkf#<aL5%s@L{z8GBtd<`EhHiRNtUW;NtTE`NQ0)f|o)k;eW_ABM>I?G# z5|f|#g*g{^qQ8Af|KHeq@31Dfbzf8>LQqNqBE1t(=^(v>lz<?h^bShzT{;qakJ76W zK}DMM-UL(xBuMX|B27Ul0s?2mIi1tB*Iw(~d!KXeJ^Q))U-B`&@x6V#<u_XSr4)Fe zv{ZFzKlerS&-;@3Fu#QkR>G?M&uDQRhG|RnQi2Kax(J2IbbD4X{V`)5W&u13ZrD1E z84~nb-k2%yIi~pEFQ!iVnFm;eN#W=VRCT#>=8NL7U@>ieD}2C1z|2i|0nqdZB+c3I z1syu=3`Lh5;1ZCu?_do2KS~CZhg<K$<a`L*O6ni7CiBAc$}x1o?xFyG*b~5YjfBK= zEU*YUCXcs?*A81Ta|sH>Y|b2Sqx=$kfTWQiBANMxaf&eH&Vv6C_Q{_Vq^&)WAU{j? z5Z0xdP2?q=SNI&rcz28d^qLZwcDU?hf*)pw-<T8Lr0#Embw@KsD-$b%B|rEj4luCL zGh8BInFkf#J~|pIIp)h@WgiPl&w&`91YMS>Mr;ip9P!iaq-V*&=Tc^w2P^iSql#dG z<pN9bHcdXz5W9iqjngC!2M>1pY4*^u<Ph^jvS?+4)THyx^C&rTh-qI(VN_K+m1-jg zkwAQHrrg+~_$5b_n@%$|z0ie)U%dcPay)=JHT>F8$SWwYY*fUe-3+`dSCC{JY>^8h z6ra?j22lbEejFK3@FCWKR&ZuePnDzc*rY(qAV6!;vYOEtw~m8rvK-ao9h>i9TwPH^ z2}X?!m5-apb)I<icSN8yQ*N<-2MS=09m`TeZtyTCJ4%V(C1sh0`dp4^=KvgqLU9IL ziF8t8CKq9vS>V{lx-u4}@-Rpn-NN0KsJe6-k1d%sPg4B?%e3JbwlW@=h}-YEvnG)c z0ng2FG;i9r8FEndAOia0xD<1ujy*&K$zjda8r883XtOvACW;wWm{4AmQqe<E=)yo# z2C0o4&;(rNUXvm^C7dHvUsZ6ZF%?sX*x*{pW_%xPf*mAQ+6Dtp;>bf{XK9X=5;P-v z+mtN({037P_0}|<19V}wJ}a>{0}wqfS8>>1o|&C6L<Jkd4YeSAgTKa!ILg4>L4Q=A z)WMDdUtO(=y{>wIMD8xe<wnY$;9T@k`Ge?VPh^Sz!WjvgI5}0RUI#@HA26_39~<d| zTNgL?_?#Jr4iAw&U&-M!vrK|?MIHnoWvK@~9WQONM+u|Xzs#j?lXX2J3E^CEMYP;M z!$Uja17X>k-fdNKWl|86&>>c62ZE6%D##lucN6kJ+^(u~_v_j0otmn^jc?A#fUC}k z9%ij1IXkJbl1FThz?7sr`^-yV(e*|@7j7{y!?*|sldGLBMxQ8QUv-Vq`<{ZEzKoW8 z<~Q)TZ&;L)MM_$-3<WBh#732>R)mmYcyw-f8}LvII?)V8j^z6C77mcgr8}#U@7-7w z#0dF@ddh$eU2Tk7F`pvByzW3ac{w(%Nlvuh+?qxjKo>L{Q#EfZ1MUb#4NVV#ejdqX zteI~#sFuk7I;euZ{hykG|Gy9+{y(cZP>=7U)6^Tav7T(#7&uq-kbUf?EGw6h#iNgR zPa&`4!Z!x=ZkAgDmpQM^&eU=(d~B@pB$U0XstMEUSUnS4@2EG%JvV0c-ojjZu0NP! zkTDp*NBmJO`E*!tTVWLSBxvA%b@15%4)*J5UJo$2m#?mEoq-#vh#6B{^D4UxwX~g^ zv=tdh^D1TM6pZ`OXKKK{LW`tIfUS)lvz?`X_QPIr$Yp0@5cC|iY2}v`x`Y(9PiCth z<b}7mdtH}MlL`={{Z$w!7z|IN=n#<%Fb#$IbdDUKB%mL2H<gyT5yLw<Oq_T3Dg*?+ z#bc}^JI8H7v3c(dTJK$SueQ)TVcreh6q#j<a{8Hj1LT8@iOPR{#kYdncRzQtjGaCm zQQ<i#rfuK3xzed~wyCK3eFxFkLN%dI8FjYTLXEl)tgGhsE}$wvYPV_k1NP1KF`6{R zYfFn;Rw`#m^L%5jz|=DRdOXF-OJz{nQsMuzpcez(_I@h}cVeP&7CAJ+m8GA>A30Cc z>en5Q5g8cMYM)QlQ*pmA{-V(MhEoVv8V_&f#dDVVkKn_g2(8dmKU;SZ40+@_Gh9&^ z=QBLa3J<=2G4~uU0SR&ue|9JY(N|w<{w#RjDN-0rJMAbfG}K{&qD~rw8@e;G4=?V* zJC!=5>=P=!V56<<XyPa$ovyvh)2=MbpjoJYHQq}fuMTr`#&t#bo&Jl|N#Uc9h0BJ^ zD0t6WPQ9>EhvYGo4cBDer0CH+4>F{&kKo;zAGEViV%6EE)A1xH9=>cRa+s>tpH_{A zC1%G5z3HgOuN>vTRry4JYnFIwiwbg+WcdMd3c6yZ9Yjb;NPpV7aoa4Kg~j;iRRW*i zMSr~nTRO0+-4MG%(Vm~a9Y<NLB6Vq{qto4vlXQ$~N{|eoAY4`RHuT`nVYx7gtBG!& z`Ay54AHmC!Mxr@HwFrV`;_EiwD=-XERZl<mAeTv-XpDRVjrQ%Tk?L$c439*R=lL$t z?}#{*3J7(&-%Fv7@1t-8on(2^-+xOqM-W;1;!oA0_0$?eF0#8`YH9B*Ro@MI5Xn<{ z@n@5~@xHe0F^C7Um0BCCIsER!K7OyRf2B&=^C70j23J%1@ms34vwac^5si~TGEe$j zN**ovax}-3iLp7I_^6;8(j-{c)2znDUw$^3?~d4gw~;x;tS`f2jg8-YEV^RY(sOrd zc=Zk_Pxi*>fc~C5=^y{!mnVlwjiN{g(=^_3gYu^+eo=qN?5T%^hPbrtbi}W;?YyL2 z<|!FRKi;yIYYRnJH#)iT4;0!(2@g9Xf<NMlTbp#hSQt83aNCvY@X5l|3s`#${oRRK z_~tA5{6m{Ba@YmEpEcR}dv8N`PN{1{{b1DD#$+<z3(A_ms!4B#GK5Krou<ND$4h?* zdn_M%XiTC?LrLR(?4xW7b+`=rOUV9`Z;!Vgknc@%M`bemudc6R?rA<>4e}7t_5^j< z0l1vl_lD{pHr?)g&&B1i6zFR?vm7fG0=f;)%c4zh1gaMvnFRM)SFW=k0*ksnHo~nA zOry)Uh9{6e)3ybIb+bpGeI2Kq>qhok_gcc9@YIfTo5r<`YdubyJAo-@iwEkWTgVTV zFHi1AW5T6_Ptwt5K-eRwnHhtjg}hPnq!&Ej1oMVOhU_)C`V*fPx@3efNaAaWZFW&y zPo3XIttuebR7~D~^XYo}e0TKaBeawG3p2J=H&?Hm>`e#HD&1hkTQjX6^+;PjE(rXp z-nWOhzo1#D8jw)u%y-(O2c0SPI_DwYMB5*ZZLEf6Ds7ZDQs+w|g<5r=#VwB7q&Rz) zw<HF>D+U7kA$`n`vaw3nwg<H1L-t7nD@(HHtovAg9l$D-#r`-~flMN`<)bh#Z%8pg zs3vg(tBrPH7<#dYjaw9q^>DXAsb7V4%HrRJY2N!`5D`j-m!Dm+k#RVNF1t0HLuU0_ z0i1^O>9-qPYe@p`*k8S4h>B6-vS#(#$>^Dy)5w_gyLD1K_;{y*<L1UUKMm^IcMHCV zqdW{}6zHVH#yv#ZpynP7rTdl9=q$zUvtO|&WbTFHi?GdS8|ScHgUK`V;?2>=8wUuD zIwgEzK+9+wOls*vjpO3zCf1jS*-f>L_@rEv{ia`$jwW`acj+f@DUb6hA5aelqs~5p zcit#mQh;7%<KHOg&i?SQ;gq5@C%-f4$HacrYTON%v=TN{T;S`@ra;Km5hA$mqW^hM z8&oDd?=lnkSIZ?<+yQzl+wEpFb+{aWartQBz+zIf(C<7xrHw@|*fdEZf{bvba=L>` zG3(~Nj7O9o*v2581w!e&!g<9W%nE)#4+@V#0Q_+A1vNOBZ?h0;7)+9fuSIz|MeaHv zZO^}0zM{_Nl2RRo+28`1xIsD}P89<R-jr<t<T*rXso1NBpp)y$l*IeR;`;5*qX2Ux zu06j#aiTPQS306oGTO*Xo@r5>7NBTcxlet!{T+B&k#cVYELx#}Ox(ab(D07Ph(1)( z5)8(0BbU=fCMXAKebxfwilyowk?q!ba=d{iQFLCw{~T{2dAk!;k!@Jp*5G5pyJC{W zHt`T&|FrS}Y;dT86;=4)1q{CkoI-_#C3sPC=OOP4WP84z6IO099mu6!Ks}9d_Pu*` z%fy`XoyKP4y^A?oyPz9Mv-;xR<Ll}dqivHwXY_y8yx|bp9hk2Croz6oJQf6j@L#s& zzeW&P%C;$qJ}!87894cW)duoR7vCj)+Yx=NgDqy47IR|wHw`7D5)e=H`kN2l=vL|T zFUSDIfTfjU-MAGqUXa)P)ok$#n|SSVDTPt?o}?gyh(qmZx(1s2pZhk=h#J$nXJXED zxnwcVeg*JPZy!W4O4Kex7nm01p}vyxpG+C?>xq{CX#bTFA2&U_&8-hvLricz6%7vF zRtdQ&`@Mq<)+sC%3oFBmVTGw)YhUJAzgHELop1;0h3o01(cdj&djlnGoL(+^EeD5Y z_p$KbJ=LIO_g9l{kU!)ZJTGr%UJd2OEXNxqhYy)XvB|x_$A^FxD!k45Y5_<NEgVl; zK@4*BnjCZTDbWSFP!rNHInZtc{=qf=)H0Otp$e1`^4<gBLbPlA@mwfqt2&jWZVVb^ zcio8oYstv}Kbn*Nx1Egs7as+iQEseFj5e3fhH2tb&luyCo64Y>D?Uf*1}6w7Ia&RS zLz7^<*)8hWN9g0}LYY`Fc99K^w5*r^p}~K>L+C0rL>Ie*cG-KJ1ZuoL!TaQ<pv?4> zAK{Y}3P4f|s8~@aO&Hna?P`^v^I#b0Cx+gn@~MTlB1v!aV7Ml~78uLAHi;4d3KIaf z8%hQ;C7?AsO}3^N*J-u+?;8Qmv!doW?OQNyn?JYE{t+w@efB>rfje=9g3LOf^lITn z{6D}9--<w>QMGqayC__g_9+6oP_EvnhE4x>k630C9Vemlw*KAMN<V!7UIF@M!!Io0 z(&_))X(;zEy0jHgo1|zF)q}i0C?&$#UZ8aIFS~-9OqvL{jfNc;VV2l~`u<?cPZ&dI zwoo^_Y!$ofxF(-)Gw{gp0$19Xum5hF&K%#_(8uY2yy`M&?z^9yv-3C-WdA7fj6dq{ zDUyyNlp2a~eY5Y8cDSS4slTTJe!;IbD$Oe(`<g}&{-?v90qbVi5Z9v#S`Cv<;n*Ts zz0c4I@Ft@*+ZmlB-rH^ySi&IEU?Oez%>u(0-mM%t=t(NZJbim3k&tXAT#f>;E~`K@ z7v>iQnvSpFnvQXgWMbkFNABsY5v_6s2z<Zz5ptEc@w1@WJ7DcV(+3~}F{7B!UXko+ z%3gxDzt1j+;Egi-Oto#3{yh%B+!4>O1q96ttdp9^lg6S2US$wPe%k}IYH`9k^OLt_ z5z^V}=ih2VZ(R*dAfXYDEAqkNzaZ;&Yj3>pgs?b4{GMQz{ps|)=pid0OZUh+?l$z@ z&&k-UnI?c<M5xVkXw9^3RbFj5NtR?dm^k?}llR_&b7pc%6OMa?N$r3SecV`QsnpAY zgU0$}B;Yxs{Rw=cF)<QAc>WsKK>@(dsJBZ-Pz)Owhw*Z%Bo31R>MC*n;yrM(zJn?T za>J*3(28k$g*a=+i7&|7-V=#aW=YT*x{fgpn7Xtm9tIP^3#`X12mIT8Q=rpG2FV8y zFtCgV3wWD}l#*nV8d&D3?coF;ZkgK5`7U+<pcnYtAOmwUWmvLsr=j=#9$+bc?OUz@ zpp{;ek}Jr?F-^1W?bBm0vT(SxCbNCtk8$AxjOE8YwA0p(V^B2n0W^$;!os>MKI{eq zz8Y?1<soil1z+L260(hbCB*lV&Zl$uMhakB1d&)k(*g$Ec1L$|*TrxW0xE|$(Ca5) zM`88gRg~$Rqs;Tbglr>}_eChc2prTh8!mGd`&1+#ulBd0A-RHBxtFw-(ZBDR*%%<2 zIhm?-Not1n8Zh|s&p1khCfOa{hhdDkIgtuL>|=B**9wA6Me95S_E-f7$&Q%zS;!M0 z|4&|8)e(UaC7hIemqYT2E@-c!<a$9`*?YRft9%ErZL}$xz#mu~3NUM`E`h|}V@xan z_ChNO3|y_cKRl1G0}_HaQo3Cz{`h_gWV-4B=%rW7{fn-E#84L4b7e7%S=nz|87fx@ ztZTwzu?I9B3{G+Xtf%}vhsNd?30<H-NJ~kHvz9eg5CHVM$}muv`E7U-w{Ml=qq`XW z#e=hsu+UI;0-nx)oMr=(Yp!~rfec|B)5nb<v2Rhw@&Dr@tSmpc(8s)G<+ykJDc68C z+xQBj&|+5x;lKU_eg*Bsz!~A1jhTU(oWVsr_&~Ey<9XaE0jk6{4QEA#IMhE_9?@&a z>X9p;15>MSNo28cfxxcrA0(!^YJzzoW|Xt@<}A8Z1vip71gNc~5-Sh&1B7gG)2{#U z2O+N`j%qQkwbT1o$N)4Qn2${~E9?jJU8Fv*vbQ5}i)_#@fD8`p761nPYmZ^mP}DQ{ zKxuh3)!%}B3XC=~qlgHg)%O6`CReD8MwmeG77{oUl}A2El%_oXJi0A)d+*-~_V_5l zNdWTXuW>Ab(*H0ag=0psQlJ60Dwmi>;tcR4o75#>w2l<dBboXWIUY_KTjjA|)Uwue zFmI`T+j20>qRK?}$2Gp+42v2N4HQ29BoavV#`d|=RWcyevaO#Lug5IotFr~0V!P0K zdn|W9vEkcX10pR%py>^}2q;JtgX?JnDr8LeLkQhE_iKFYKilt*`<NtE{|EP26pL|z z0;9Ds7(xY>k^D4njt-dD5FUG38&uPM&h0aQQFA-$RQ891B}f0?#^bbbE}EYCttLdO z$D!EVPB#Q7*U^?YlfRl2rvdHOJ@m0QcJ1Gh_xs7cZIF}X{Xi6Ck84@KARb<{jkDwG zb-uO3I1T;r7`V|RXWOpGMEL@7+=~*Wg%#Vui(bg%Mm&I|3!zET+sZ#Z&);TkI~=#) z1zUfjzr{ogAWU+w|Lgtcvj=HoCuOd}f>7=8L=}~mJ?&3OAqdEOW|kquPkYg<jJ=NZ zuToD@FlT;C4oVF??)d$m0FqioUD=mgy?{vypujZCw^E}SNelpQt8g|I4AtU1CGjs$ z8G|vutz55u2dweSrO1UqD-6qITZ@W+GaqLF`f(>7WCJ%|>2naFw*yugXENV=Q2fI4 z?jyJ)v3b#!9usS{jDkfEP&j_;`J04c<UsC{|CBp3&J|8}7Qo2M+mCpF*PdJ?njF#x zD)49G9ndac?Vt@2)RrxvSkC<RB2E@!^Ix+tdn7aexyCUU@=(?24|)294|xi5#N2Mv z5d1yU>^Gx)AE0Cs5&cVL3)I2dB95&8-F`*zniDW}P3JEGxdYRP1^-D1adHjIw-x(A zlY=<dArEME78ptWBns$1cl^cZ%TM~dvTv}g<Tqa6*#;AyzqVX(h(FFf7Q{6C`*h@4 z9DyPKlE6(!e|hZ5iX#4y3iM6JDLOhE;+$1xEntht$^X<8+2kusEYpvq9`Nztdazh+ z-`+RFg*+>}13p<lL!Nuv!HL(`oUm^z|5M9giX}oHH~f^RU$Srt|3E&p-{WXgsO2|c zfr|jpl!6?1e88icVZQ38vcO9ne{Up{M&wa&Csd@{2dZG(w*Q@JplFw6eKr3Tpa3j_ z14S%IOT#vShdv-L49o@@Wg=9Cd=QmFeZTwlDM1b(bMd(<!;%2TZXHFp@*??XlxNQV z>KN2Of3sriKyZ0~!ovP-jH!VY6S!z~`fu_xO9FqrZlWCio2|0~0aI^5G|4|K#{36f z>fb?Zv^*%KhqH?Or7EZJpR)lh(w}&*f3cUD05~Y(*zsTN26o_OBFGv3_r`wm;Qx4v z`9@RF{OSdu{!MKDo2`GH=Kfm|{x*>R<xNKc$^RS)xbWV1D417N;Wlgj{>FQ4bfXTy zz?QO3ym$kJd|Mt2@dWs>fgS)h_%d=2au$LH5KWPI;u-WJTRHSwl9chW%N!A#gjBpH ze#0GvOj2L&-_V>m2>KF`kGncxq(pyh&HSXXbu)tR82|!SnKf(j*+8O?{UV<MM4fE- zxX+Zc>nuPROyf1Kbz18plQjX@N2l+TQ~2$S=z9Z1M0)^i?+Ac^6Pf@J@D2rqe$4&_ zFfVQUh2Ddo!E;fZVM;qqrQ7p{!uRh0^>%vm5nqt~Y>En_IJyVG(|QAVzSbiEhIdqi zF}6)gpk-m62=#s|Psr19__?VrQbh<qjn}mCBftSvA{GsA+cJ99(PPT&!JkJKz3j(b zTyryind5&w5-^-<P>8A%V6ggcHh&v9`~a$2B|dz(N}#FF#BH)tvzCLmlT_L;2po#z z%L4#s`QwN)_ZF8IfCrf`%67pvEax3^0{o)3>06SI18RYnp7_eBPbW_O`P`y-jwSaw z-aK0#l&=whwKFd_u5-zARjHl!P&a1X5<;8pwxoT9Wu)Pdp2u1@JI@(ca`+kD-72fv zF>U(XxRwpDlFX?GFQ-jvg4A15)XNSxbJ*Ylv9+PwmXsraTn6Obp9uKe(0eHGElOtl zfiRbT*$;fj2<wPbJ`Us{N8c5hrF1DRtNns8apW_@B;zMd5l35Kj~A4n;?(QJf1rh3 z7_4f25V#5mU>v;iD803>j&3<W<hacQkbp|9@x`9eYenWzQ1>|1Jf7}Bk*IOyT)=ya zxaq5ZLFoe5%c#!noerLf3+&UVR~pDL1sGxzm3amf;$rY24CKW(b_Jmy0TejwUm-7k zT_q6jQJ%4;XPZVXxxIOFR(zZ_DkZ#QfH^N5-XruD1+%F#kvg%o$3czRbT#PlOrsnv zSB+QzgfAn4Fg#aYijXbdwt$Gm$u()|d-d-KzG2yJ&NodjtCH5f%>Em__X_JjLH+)V z2f=j`gw0msc}$h})4&HAwVI7K5Ctr(s#$`U=dpvAr+7<E8HWLAu18CWlDyPc>4>jf zLY1B{nbf;2Xb>_5ZZ_Z06u<2lF!S}HQXD{&c9?KXEpIzM5KaQ{zEh54Wi|T#NA7f? zLy>0W8LtX<racE&GOQDaga)Om;9mjCSTUf#8E1arbDv3jPE)^yi13gvwNozPf+EZe zZtZw%xgO(|Q7hmtbnjDx*5`TwysrUgnL(ujm5EyzZqA3txb|6E*Nkw@S;7m89Q08B z!M<>hP261_;KBldmk+qg>J^H?ts~5w+{>R^_RMnce9X+&s%*wxXF+&p{_A?0u}jKC zCIIN_d4BI}x!v|wFVh$R;FbNJ`eBqMivIbQ?P0ECVW0D%=|~3u>ma4WvUt;wr36uj z{jVRgt0k`h8PmF(MLp=<v-<V>XQLWm%lbc4>hhG)Eqi|!*6Zmm=$@$>lqpdpllHQ1 zoe4QPGJ1aNRRK-+^yQwXeckSRc~8ZB_iDja4Ng_`rAtqWA}So0Rsg2j@u$fe$GOAZ zDObJ>QP)}Hb5y)P2BxQ{nUIY|nkpAhhoNwwr<H59eBs6U!Hv9)pIH0*`&WeW_v1eU zH0FfU8o38=dcegi<p4{~i-N@|Jf(>xy=@|$u*XXJiOW;(10C)zjq!8?&ezv-!+DE* zfetu>8(93o%_M}Z+fRz~umA&1GIZ%{M~a}fgKN&gcCoB9`7HRM@s&m$_br~2vX)(= z+@Rfw>=-SI%N)<H<F03!>q+GiE%@w|^PwbxY0Sj4zvo91CDD5e{#P+uP732PE~7O+ z9`##2{{E=!vgXs)X3D<(7yHB4Wlb+x<hFcGmvn6Ft1GRYbl7xVi#uxdBYR5TscU|= z)TA=8kwVy;!+w$#71vs+@7I5TVCv9L0H|0QVs_o1T4v_C8(ixb2uwX*AtW~2PZOS2 z*_vwUx0_f`osrx4C~e<!5!9w#2J}u&lS%Q{1{B&LtoWZi@6ZsVoY0%fy-XNqPT;Kk zlp8e%a9|UzOXpMs?SDuw&QdC6LzTG9rpfNk8QSL7#GEz>00yfp%+BY!&ufKor>vKJ zGDT(N9U_V2<CQ>5Tyj?OMwi~tSHBlA6BWn{ig3#<rs(E#ZKa^|UT>P1)UKK^-+!&Y z-7pyBaxWmZ=G9m1;<!xOIga}q_I4w^Bie838inQyn<HVQiMGVsp*XP43#U1q_NH9h zI%uCght7bTaR`LEx_gTYS4nfhjE_#H*hLuypSd>x18=Y2CfB->TGVdqwz%+z(TV)a zgkM?@T@2%mTJO6K_?)gyk`}1UG|ol<G~X6NtD#mDqxU=Q@DTl(<dW7OBk)c=bHkU7 zIkL++o&;944h@lqI;&|8<Kq@q9cfCbOq9m5aY@m+r+9bSw)?mg#KdGdda6L96!QAn z*rkS=S<!)BX`U+qx_v<|ZAU((CJj1MPF4N$D=|S&JS+EsQ*`$Da<S*=G0g(2H<z{f zDdz?YcX7+gYcpb?-q<Td;QtfsHoOBvLq~UUKx~QFG-zieoGxHSMRBxtab0IdxbrrP ziCLSIs0BC{4O$lxggx=B$Pq2$ZK}-Hk^%P)d4KB{B^!l>EYZzTKYP%&GiuD~g8!5} zW9eYQ<1M2Al_+iIykVV7ZtYxf01v<l6nbD%E3UbDvwu=I=+15~33nYHiwT=mFI6V> z;4rAnPqpjO4{9WjCVaDMjh{-g`Y@d?m`<m{6trz|2@8NOp8#ZQXV`M>`<EUAX+J2( z%9F@D3$1D{rj=Z+Pl|$d%2Z#R(#IjlYVmi6EddOE`h9~>xZ7}UerUC%68(I$UnIdn zU)yV{ZuO}K!5e6lf9e_=Il$ST(ZEjXG^b>b&sZl(6NuUx`&$TgalqCEN_jF>#o5*; z7p|@Xs6o*(&RUUr;rqjZ6Ff;o@SuvJ^9o`at1tX`%OB-dE7uQT&+OfPV>Kr_0LF~_ zvTw-lRwj|;U7SR>0`u+0A7-Uce{nkQx+1_?UQ1c~X38XUvOh@H+MLBuw?AN88Z;FC z1huJz<|QVj3_0D0Fq{cwhTX%-q~7hN|IOgN0P62gSZv;ei-XMR#s>d)uzT+=oj(nG zENj<oCA{M9c&E5=WNj2O)#l6=PjZ&S&OC5SsRdkvK<8WAG=VtG4tlDYRN=VpPnWzN zeW`A3W)xa=g*7d`Qs_)rOy`5wA9u#gWiw`k!|bcdcq3;>JUZ^4$##+vru!Gzy+K** z7Rn4n%T5t8$|91`g-fh{!|EJ8o)gz`psl$*{7)YZzqm7FrvD+K$v2Z^?@^T>{e!i+ z7|uK~14*a8lh<^rGZgo~3PhKgI%mVn`bwVC7b~LxO5%B(%@^P*ZG4hwJgh(MWG!kS zdEvFl#6(Zl*GjFj+z<UwT~U1-l(j#laTtElfIKJc8gy!DA}Qp@Qn+=olj2k7@ydzf z!QkDhRF$)O&XY7XL?f+N8~dF;pL5v%Uj3Dbzk8{Cns^?w^9s7quIkYH!Fs7-_0_x> zi<9{$To>TVxe<(5-I_*D7Jp6uqzKYVcIv>q?oN|m((@P!UoZ3hzM`q`_Ipn+vpDrJ zIBjeO%zn%3z&=`(ep55dgLv+}<1)N<vCbpVND`8#_x`%YYW8NeDIa6VEs^QW&hBB> z>GjIes>@8J??*)^Yd)l(y6>BsZrc$%S0*mwY((Z^dJA%6xqzZGjdORuolu5<9BNDF zH~P$wZR+i}w~A!Wf!Z3{cADhS+Q0{w^OcDf7IhvyED-5%y6)<f`<#f_*K3g-@5YXA zn)21e<|`k2daAmS`^59^3gc#G+B@i2ca6OmPv57pr5mLZbW=Qi<F@%hA}*m-e3{*c zQA9e%XBRXjDg(JcYq%d(af;QtcFTN7m~l}a7pa*n{$V3&gBr%?(qpl}0p1?Yf19DU z&SqGLmj+q$ni-prt+>ScRMpk!7Y@L4udqouoYov!&$ymne5ucR!v68?kp6e#cB1yi zrvrf<cmC>;Y4wK6wV?Y30|!q+MOBPSOaIfr8@vMqP2LF{q|?P>+3N#0d5#BCt(C<N z4f6c1KQU@uL_O@!XheWbS$ijrJc}(vx_=%mNiu5GH@kdm*J;>y>+yA8&EPGKV$IDa zPgHsH*Vi3798LO^q6v*6Q&cx7hJgtk?5R_{P>9De9Wz}(!Gqx6(WrlP^s3Piy6|j9 z)OpD^EnG(EcA-eM#?&j5GB(0+Y2hkA#u1&x9}I#|G!vjP<fFKHArMsn->c(wSwDLk z<+)>`)%2=^InbStgE0IK`Ctchi3ViJtYaR11}Qs-6xRl#x|cLnjsT}ta+Jc6m5`G) z>t?85-c`HE5EXEBo`~+z$wuzEcfPu&%WWA?%Ka?Qq^0X%&(dbQT~g<Xpm~MYZF0p- z=pA|1#fv6>hU1SfGIOxK`jo--wf6OtR-vO|mDb~Cg-kAuD;h#1u9t|4m|HIie|g4~ zM-tU_;xTYCy}SQ;u<AnG-km(p-PyLmFNafudlTT|H14!h_w<yXEJe8~zshjA_-@|o zS>5hc5*MZF4ajzL!dui_FZ4PzyX=B`D3Yu2-Ik(Q;jL?;=N;T6MvVg=64bFy`r!G` zD%*8_u|{#CH1y*T?U+>U)$c4h+JZ%NXNAQW)=H(d!;Rt2O{b(?*{&??33O6)7L|09 zTVP*b^!@=GxJWZh5<#1jxHFpfxT7?>)-*J)4xY7nNWDO0IXq%T#BYE5zC<w8_I~_I zqymX%ufOB<ck_Bzr+DQCr=S|&gW@+)6)O&v_!-rLY7DX{A+;Va#Rmk%)-5%h4sKiz zov8|zolzV=WR(3B#=U9`AlHm&9wjn$(jcrGA83USSI$mS2-i~%)t-C%O+<krn2Ak_ z#i`MVBTPDA*W@sBFz_R(Z`0IF8cpcX<F+3k_||0h8U{u8KF<WG6jnfQpTl$DXNu7Z zKk^LAI~1aS8i83piga)*@bRmfmSeWJp@tALc)iUBp0t5Xb^%2ZX`ig;!?D>o)}jfb z+Jk&k?-AXT+sn%J?(X=HI|6l-Np=U%_<tUBdwc<%C(x+~f5e~<>789O+w<?E)HiYG z96OaxJ_hmvf&I&1C!EMeyGzzKIpMGZ0>X~*Hn>BDtRnK$9a#Jk9n!xCx@U_#_Yt2| zY(7+03|vT(6mU2-mq?R$X$*HcgYcICaKX^=PI<`D6Csi?7h85Yk^yMjY8EX$FX5*< zVrfmaH^+pO{q$p}_0NZ8)PD|KmSpnnp|PD_Nl6OCj0;HxA6TD^O3rSP=6a7Bjs=3C zq#ZvgNotMpamUKAB1vK|y>wEqk7?i9cFsL`a44ou&HovOOd~0pk)<NFy%I+ndvFKJ zOgN67QKkBx@_dkh-Sz#C;DmA#R#Miu8d$5it+3)HBrIkr@}y(PvT%6_KKHIeLVEcY z>cj{;hdgjcMqPgyS;njd!DGD2!_xO6LkRF>d7Zzu4Bu%xCl20P@VXs|UOoAoMO_B2 z;nbt3$gEc7$G@N!N^4@bNWH5D5%C}BfS$x+zL&S2r7!7f(?5zL09_2n_-4#2Z;t!l zLhzX@*zg?ORNSW15O{RbgU%>xbGM9H{*IlXj<wdjN3_&`V>*Vme}%qrMv0dGC^Ncb z#%QTb{CC<t84)I);FjIe?p*eYoICukoDIIyaeOL`e&p$}TEPEWOuY*c*tJwT{PXk4 zzTgGKeSGUTxuN~xBn{y<fiMHbP}-}snz$#T;GY{$>ehBN71%C7iIv)Iu(W5P8*&y_ zkazPh+E-j|g0IT!f_{14Id%KYop*1B#lRQON1zvFWk9v~4pb}rn_KaiJ9PZh9S62) z+d<d-fZi0m(%<Sr+-dFimHnc1XH50(QDxH;fa^$ql?wP7!=A)%Y8?hfIoL`)tR@bV zA{v)k$mTRtJ`+|7zN0j{-a;O?%Tzd{2f{Zx^}`waga-;1Fo+152(d!AGBdw4pr`-G zZ81hb&+C?`-tj3(<?N+b5os*^vUu4@$Kd<%ry!E>0s`O89*s=$ilJ}g%6@M~rdaed zg+^$)?zUUtJLPRM#6wBsEsVf7S2wRXn}Ba-9EK*f<omAg_NKy0e{1u2qh@i9O{zO~ zBZF(8iX(F1w}M6wf<FzO=Rx-6eo#U-iBVL$-_NDV;5>>JH^I`6{p<s+a7%YV2P@Si zyH~%xpe>Yy605a;?1+?q@|GIEh)oVyrmVakPK&~2fp|Bkf@2CK(<BR7lS^yjQD@Re z%IA`><uo1W_%)+P?D1k7fc!p}cqEwVq?0UBhZnmDoS2}~=fdF7^#k>fP{jvG=y_x) zEw|uCt^Cv{8aAgAZ3yTF_*F|8zj}%-9<cE*hQzXm!g&QZ@J*TVvN;3Ky<uPp00u$& ztLphVghiokJU=>8js|}`#9TQqM$jDc&Z4!!^41K|I9PgGdVd-(3_%W*A`O}^peRQ! z98H`9#Da!xon753tlb|Xa{W8{7L@z`DdGCJF9g<8ag4>lXW3Q)kzdlci)d@3RQ+Qy z!|WTSt&HYP)js_vWyeR~xZLttR@PV7de!}x2()DyhC~m3@1|&1gDBE2=yL3MAobNG z8ix)Q5vF>XOL6Q$X4p)09?uFhl2cvcI`#;`Fv8zCbaTe8xTx^Ndyehsui_CX7S+>) zJ&50AL7TCxcp=*^uaKZ+3~5Hc`v%ev8BivccVBiF?5xZR#K!)pV2!t9d7B^FPtkg$ z4K&(@1sJ=#xtc1hfMpNj-6k(ozJ4j<=_cO~8v`mzxsdV|Sp}=$wD@Kb9#jN<n|ez4 zQ`Usw((|Ej$;#gi(PoI1Rgx^Ripky0Ufg7&<wy-*s#h@&SEswHQ;e96;vtoKEDw2h zk5<vGm_{#%$UVK48200C@&W>?YzczayP*krQG%T@Lq$;&tH$)$9aBBjy_m$7u9XK( z{w`L!jR`a=L$He}q5b)lYS$PAi~&P=u&OXhpf5mX${#bLN=gvBFec;N%i1UYf}QzK zTdCVD-!Y|?(9IUXU4j$gMKZq$xe*0*7XW~qeb#U}Cw^0xu2vc&-Cb9n%K;}4f3p)a z;&{C18Sl1M?aA_&n1!}eEBlSax+R;{T>cS=v_+~BH1x%~O-81~du(@%La&g7jo|E; z(p{DcEubd~6ulMtI88NC7HiQe48D6cdG;3S1_xHr)3V-LX+ICm`;4)9DT4MUH_i&* zsR+YYw0Ho_MFdBpWjXsFs*_#{k8v@gF)OZ9K}ys}2v`ljf>o-~^L_Aph^hWUO#)PU z?g-)e$v+BrpK9JI;qg35{g2n%l?NM+EUNLc+ahT!EpfZjHJF8tMFFneQ)f+a+Kz`S z5Bw%MO62WOs!X4|k$-DdJG2lFdSAZ%<DkK9Ox#5hBCYU9B##(7owPOToSwh~Dy7h) zJ*7w47DB*J+GL!MtQG>iutxcgo)T5C(8hP-C{@z7t$@|XoDz<v{YMqzyMO*<3lH2D z4Gefrlw?byBG@qXf;+xK$#0v=q-clQ<}pWti>Lpxw4`|Pn_?#Rl#m8^#hp%3(TaFN z2oKmAkG%T?>rXXphPDW(Lbo}9q$;|SU-?JlPQxaZC};QczcZ^nPWSmSzeNL@k)KcJ z!AYP%XWU!5aFm=YPRVyU<WIvg0LjG2eEk`sz|YGforCwcS&@S&+aAaj(fDF@{}{|N z@?gW=L-qHKBPcSapmW;T5%jSJm>XxfxZ;T3Rc-X%*{?xxMvwm{hCM9&b@0T;!RlBc z_L-s!i@xkF*RZaM6e6Vx1!A~OTu2v(_yFB(yoDCS?GRi`S9$q|F0!uFer*c<nKfp_ z;w&ko3kJl;lA69667~uZ;~raa7aW)~aYD9f6G|IlzpEdxUX?hGSP7}lt8>bc@Jffr zw`t;}gnHrNDSt`Fc{=<^pxmf0n|5|^$UUH4oE_IVDc}`Dp1jIprDuCr;O<8F0pXlF zf-}FEaVkuQ=>08}weELXq_35$+Y=9Vm%lm1fb;F^eD;R|%VJZBDQnEhLO5&e8Tn?M zxgre6gcMFD?r4TLxX!h1nEACGxlk|WEP0XhR^C^~xe|{Xs_)O?_9_)dd;%haZK>jp z7tkBJu#CjeevB}Kp#R<W0-!GP?%44+;OBUFo*~kUEGz~JoUbIDuQ9CsE%^CC40bl> zkDqTSZ<G8cOLRb%oIb5kLki*Jt^3DCWy?9Il~2oc!7?%d(>)=dg0&!{{(0Y`m;+FR zBbO57=anJvE?9-OH-lyG><=GS;6K}mhcoJNR}+NMLk+GQiJ!6|hK(zLsDxGX=Wjmf z%awBTP593^dC<gRX8>8LlG!82vqEcttd)Ad-S1o~k({mmFmM{tE!<oEX@MBIj06Dl z$eK02<ZVmjn69(%q04YD&KuO+iN>5mFw|OJ1Ew?>Kz-Q9RrVrQ@=A=&25&dPEApy+ z6gy2}8Ne}#U2>72%l!G0x|@UF5J9zq_k*f+MZx7NhFr9cv|UlE67@rS_Gn)8_7mZ7 z<Wf*E#*<yz0BelMow3{;>S>}?{yzTNO-0BObG_`^_u18NpVk`CSw%ic7$HQ9PgjN{ zae}%pvxT(%Mtit1Zl2%4&0%p{lmpKZm;hI_CiR%8UcO926r5DZ*qo)s1WVyq#2>#{ z#opo&5#wZy8eVmwp5gCTQ9WBlPf+91x-_>}M(n;lVWQ-6p}&l)(-JjCbEFXzZ&>}P z&RN<%HP2+x93Q*{Zf}*$Lu9Z96uCdvttGuxS!`0RM<jleGQpYrNja}g>z7zJqnhKu zuJ=)uvQGt<`elqpnbJ4p+WoPUVT5&ZV0!x9{JR$`uGau>d!TiqotCSeZ@SeSv!%<{ zcA=sPZb1nD?BwCquM6nB=QiB0*xTBSMqJ9YTvyp@n8vDS*yy=emFpY6(jR77@6fU} z^E7n@&G}<#Nhx^bEv|sY?d<IR2q2@CcWAnQ^#XtwB{`z>oohZdvF6lDy^#6%E?6j* zzdBu2qOp>P&2((~Tho)Whi&{bmNs4Q@*1ta@Nsnty}3r$Se;k>RiWRGxdND}X#N~1 z?#riVp>>qrL1%nMc2OF@C0+j781-Rsa{NMyrvKxl@;lch&Me+vJ>c&wzkmMA*`%n= z#cv<GT<sr8Xkt_Yl82Aqe-aJiIp~Jg>Gob3GrVpz%#5LeZnMgf>~{9{XTmE+!6C<w zEyu{IN%*16UEL`{5t;=JuFf68Z5^he;K1oZ|F^uv&N=*B*vZ%Kf?q8|L-es-dO3_+ zVGiBmx&B-4R&T|Pv%MLO-nZpn1EFg(2wjbVSu%#ZcijE;1xYn3VhPN8&ejpTV{`$@ zq73<?R|c{ZdDR1=3friV{#h7FwML&VZO8r_+@sD<ER@8`Y5M)Kug?h=hJj$|9doA} zt3|18{HBJEvrP4<)UMMtHhPZll*YSrWfCf4nNy-SjTuLC!*Z<DRWKtY8`kX70o`Vc zy4FUv02-O6{L<i`i=9%YCK;!wIL^EaXEbZuse3*$__363<Dhj)gF{St%mn_~|Lltf zbTGzfr*tk`(=%FTwYRccjH&YD%~)ry&NZ_Gc#xaJi%lcrv4=arEGYxCGyn`l?vT56 z<WD0opyf_X1Tls-H%~S(kjeH4-03G<L!R@Nv%mw-onen*spY_Zikl;Y8w>t(mdz^k zaS{e#^Yu9l`p&?NuNzI=3Ja670A~c4x7bhqj3b}E&>;_NOYv&EJnuJO=@MPaS&Bwq zdlrWP22;eFxVgGbkhdF}A9KZ+B15RSlu*1Q;xm2lO&zIEe%Z8r{4Y+}SCWGccb%1* z=YmC<J(jCePgBWR;6tbv;04(CPGI9w%VZtA7E1;KGMJ6eMf7Tqs>E($mw;htTt#s0 zbwkr{K(A&Y!gyupKK>BTK}Zp#G63x#Gz=ZJsJbU`+JkKq4$y4nBk+P<YxKoxRke&= zCOGmQfip~cnm|ue%un+a%>?OVbISpS?Z~+6RI%za&e9K$;^0)OAl&C)>0vPj^6vD^ zM4<}dmWRnt@$%S7HWAWVL-vW3;D5XtO6&ESqY|eR@$D@0DnQ4-s#C#fKu}3?&&W*` zr{Gl2oD}L1z)(%tB(&#%gNEh=`vshlf{Wq*z}f8J6;@V7$h!hdopYqGj6f7}H&x?P zEzV+3J%eXZ;5od#l>NdAu!kQK70QGMUd?BE^%mIQm1_<iEQa9SCKb<#X3|1;Ft@XX zA)Y{wByQg`z<CDcdDtc!c=i6HxM<>E@e}Ud=k!D#OpybN?Np^~p^5)kzSxO84(Ae} z^pIfOtJ}QbDJ<aC{7=qA-NK1R$7>ERW60>eH0M$18xT=_y02kX2^5t&OtC!)y!t~r zFRLI3#ArEc=96*n<~5i=xu^q*yykZtOyA~3rk7Gru>gdq?cJWe#WhYf|1eBT!k3Md zZEj@w)7IeUm~T(l7+F^=kgg8Xo`E}e4*UayU6Hn;WpRgm&Vd`t?9w_|&yw=|8%Kw$ ztKaO_66os9nOCZf=-rPf9sMxJeCgX)k@@KR2F(gsM|Os)hvha*G_U7v6dw|J4#Jk! z6xwmb<<*%tf^vt09oJZ&%_7)*;21y2+wUsaIb?Qltc@O+d@E0TL$GF!ZzUYP*h;1v zI|zV`@1=%a(?Bc*k|8;r?M~t&1xQaHC?MN-SKw$y)6CslT2mDUw?Ey3C%Q)pl+#Up zq<)y>Pq%m9>lx;oV=mLhC&ztq+3x*8B*J381fN1we;R(WOO%s$<ro36OBrBMDNoBi zA}^78(nj)>`qw&(OgdyW>F$k^m`{JBMwXYE*1IUxAMcnuQ!g;3d7WfUXarrAvP{b^ zX)EcW6kuXmQ5sowoTlKK@K$!8<KntU&sAHZm$K$uJTf^YI{xCjjBzQcxvnuDSruK$ z0wC06q;}%SO8&FbP!(CzMaS&k%JM>jUXE*rH^_flU$sj^Q~=Zqhz?08f9Aw3NYj;x zD<kf%o=SeX?o+oe4(o-nAzDfWKMlDAo!NghA~%@o<$s&C%OX-B$w05Py=Z*Z_#9U3 zVM`%`Vf2)ndz3l3NGUX`qs;XiNMIz5)>>lB6|AJLKdIG!p@pqYJ{XPnHs)!3@ABI5 zNyjDo;j!^QA{%3wYO=5uBA_Lw=ZU{vIMlvgT1$;GjFatd3+bMnvhg*IcU#}mDCzAl zrOw`kmK#^flo|0P_;lSYI*BrLX&PZWBHxS@t{go)*6Y4K>=P%EU#*Z^tBgXnxkU_V z?qLKtyYho+#F}e+#XLN1ZXZ~C`(I*uH?JeuEj9(ik)l2Uzn%cn#|lWXbFKUG@YD#@ zcZL?;!@s+GJeft<p`&WazVx8}){jouD3i{)CF&`%&VtBG!7-R#UD1%{?pU{Hv?_;{ z8!T^@pGILHHW)}J5`MK(@*VMs(;(~WK3Z95tiIc_8rI%unCK^Ke&q303TcUDGRWLS zxWqvT-dPMPeAs>V(`n_Tj#3lj6X3YA!+f9kOS;kLV$%`bbjpQWtoK$9H)CZFRhTLz zau{K8j`^mN+7HAdZxLI6aXvyt^BNP1NC)aMsjo_2^OTBC*Nn8wQ%zy~9IzZqx%qK7 z@!iLJC60yt(TGL0Nbyogn<18u+fA67ZMsmkL0BC!Dtm*!)6gMNUcP_|7$8R#!KqsO zYUkQ=cp?vVNi8jAWPY6M@HF~Z3oBn!IIv2F8DYAm&Q)QF>ar_$Y-?5Vn>rn`rs)G6 zrezwtX(PQ$C99|NjVkUS*8QG-U|tVXN&ArUy0Z%-f+|v~R=2sPmygHUQ=-TF-8}V8 zdr#h<3Nwh{I*0(dAe_QfI8Pl^Y#i?J)@8o*a-O;7V+c<?>~b@^NwYBi5XM!yB471A z*a`8N$$hlwNLRUPzeZyUhCS_5Db3bX9di5bu*{l7;m6S!uWQEC^Yhr|;s$ex4{X7f z29x_8F{g#=6(4x00}~9)*npldF)>7v0vFvDp!KM-i`g(yHI1|jAJ1{t=Hdh)-ul^g zndDlX3ofUsu=6l+`|ZRR{Q%o8t)AEJ&8OHj^~SrQggpoLB<>hPi5vC77!$$c%0-ho zT6li(jmud9G1<!X$9;;~o+xXC*e+G?XcG0(7pL*d&%^0C8bB%@Unuw5)t|;I=H^vV zSVl51UcxNBwWc+99w<}K^OvnuM>S43eeN@@aTV#&5zXii>UOSG{^5({oBfJS@PAX; zyYDl?I5XapTx<Gn?rb`-cXR1yd?Xoq+X9RmT^f*2)SWqSciLflkG`bI)p??oTQ@B= zcPF}K#@SQ+9bkeMyFDl2PbMrg3-p`{v&3m+*TbypnuE+ndxU82*`eL<Rl28Vy_Nj1 z^XJy$X}P%<J}wyHd}o<iCl?y*SofAPk-t5NHy+)N-*WjGI`J?5zv|G2AVg9(uwRgk zKK<iQI?iyUvXmomVGsZ7zqe5>2MIs~C1K{u25ekttsLCKkhfn_FFX-$zbYW?e!vxR zszz6>C<ch+_4I9WWF5M?+<!u~`58M6c(&}#+b`5WYTm?dQllSeK;PipUltWliy}C< zZRy<qQX+Gx*#$GNay9?H)X#Ld;oFroFCIebO2;}EB?ki`pr9?DQTQVtW`4FX<9DOr zUhpTNmq*e@hyk<~`s1!8UE2Ia3#r8~OW*EAGseMd``u&03=f6l-D1!jHolO$jOwzs zWB-{|y*iy|a@{Ac29Z|6uT2SGi1LP&urs`j-K<Zxmp%uAtQ4#Ti4VKYm2+Vt_>W6P z?gJy&L=i3B*`_Pa-^;i#Bkr**2sJplW~t;y!+PsJ?2`icmQ~1IM;3l^Jk11ZBJO@0 zWcz{bS!FTxeu0Z1e8-t3)~<dSbtIVRChJPkOOyZk`#=3Z2x;6nHoYXz{yeLx3=t<N zSm=S!V)WUq6?zCR7rP<mJ_6nj#HX1UE~p0e!r44;yp9@J1_(XGDEt~3B7R11g?5q3 zEc{$Jo22*Li!{s!$d^w}PPv2`mJ-b?1jPcEZ+SX`9D+}ai)x;efFrP5Nr&`^Bj)<k zaS%RSLAv|*{LEM0MCL#JP~?KYH0L^<T*s+jw1w>vmgQVYLFX9<9p$XfZRxdrA0KrI z%IW{i#JX}3Y3n+4V;j!o`gG^c7vVi;y1@_Vyz%+!Q{vxj8Y<E6MYQ9)V|-XZqOxWr zm3mCk!T=&ZVnICuPS6}Hi?5|P*c#N|4b4`j3TP7SGvI(2&pC4NwfYue#>)7ELBv!> zQu1g>rFv%#&B(GcgeKjvV=YXeK(rJHuEQO-14gq7n2czazWWIF!n>;2XB2e~5EdgF zwm0{#Xm}n?YDoFK>bk%89<$uBWTWKghPeU_o4~1U)$r|8uyIZ1bXupZa()MucY2<6 zDjvg>uTGf*>nZzK57~94C;w!LC!o?HOD0Kj$uTKqdsSJbB;Jj7DvrISXjHR0MelB5 zrv50g@3U1A{ggG+8dJFD28yQ4^|oD;L(ai1C4;PCeV?Ik31b7|^Cldzx$W*0_<|gA z&bM>uBlYmZOdKm(v6J4qV%HWrMlM7Ws>PnHa<yNowDefA9!?AQ=IVTv+<Fr`G;-O; zl;2dZI-9FATQ5BOVLaum{z&{0XGsWCl|qYmRevnMa{VxV`r6f@OHkfOxkw<&#P>Rr zV_B0ONksHf!=sUVW4rBT>NjVgQ7nlgbGlpwl~0YpT}r9KGfaD>f}QqC`y`G%<a@nA zL(6rv0cmwHT+XJC&C_e+bDrD8DGLtt>n>^pRkFszXN$VCgJj2I9^QZf1V<1}8`E$^ zuuv*7*U?_%5YoG{)>9S-cgboNA*eiVHyMT&w=`D1KBOC&of+SS5qOQfc7$HkGw(w6 z?ndZx4LEB$j8_Zh==m0w7vGFM^6MHGjd&C5rgRHrp~i3VFKdS9a%74V=1g6!q>yvD z`;T8%Hrd;xZngL#noN%@y~PYW%%01+l2=2x@^A)s9PjcFXuVfbyLdJB<5?GfRlXqU zYtB+H(=;ohk5@S*Fr{Z*OG=r0!^2M;yDx7(ZJnZCJD@g%_dtE07MpO!YRbC_;Dbos z`8G(Y-aL=vRo_`RA<LCngOnpXZ`!NW!@lYV5v$)guV{utt-lYVgAK5<Y6r&-Q(cYH zoja*(x_1rhx>@4g0!`RfCPt1Id({rGv8hWMHZ}Whrh=VJvlW!q!>8}?J{;5?4Bx!1 z<Ohqt0s#ZnKsXIkZ1`aY8bCNfFRtwE2X{WY8e5yVE`O`B9wIG|VB**#O&FQJC1Fjc z6o_f*&Q82;?7cowG)%Y3DRcGkQ2i{$wA7dwiTBLqFGZ9K{GIOcMpAP6AulUrMh!@k zmL_MpS1i%kC$vMZ+cbOL(h;ob2d|X|3pd-LNq1BKgC+5J+HoM>DR5xA2Q7X%mK!y7 zCF9kt-Y(b5V&ADQ5AWyh&g(-7sk8hUE7ukpi9igxwOe~I8vR{L`dOU=-xkOrWyf!- zvr88nQ6`CH8H+7CzWUMIHr4#HFc(|YaG6t@j8Q=OpB1ycl3;D>f>oSC;Ija6rRGb# zEiukhK2dg@jDc~KA2j$%AKyq?bJeFAG<YD>)>yayv9{XCglQ1G?n#o(ZniPoXm`_l zp7V+RtpZ8Z3mX))`f?WbxS;6~B7ExtvOt~W^S$#YM@^Wul9N``780IBq9#pj&B*as zNXq#WQv?7;EW5vb8)^RR*qnVG9$xkZK3gmNaNlh%x+|-Bh1WlCSpPG=%>bTp_{=4` zY5XutsFrb;8-^0Pu4a)=`-2f#m*z!>tV=y_e9pyu<4(&xjHJ4R9Ci=cs9tl|Umsjz zvmHKiJUxD4lLnbzX6E>V2+4GBd&l(jf(-NppTps9_ZNq3Suq)Bx(CL=bF@yr^q?Tt z0bUaR0K)=ZziN?48(#`>m*`4TjScFEQad0*%3fOWL?0Vr&5;M^kXxHnOfWlj3sUJi z2IDVl2Jp`b$pp;F48TcnNlp?&A^UvW({=ucuh(_S`nsQf%~y|2H#E8FT*I6MGf?^I zvZxn+Kh!1%kQ{4ykGkZzY}z5e+}~Ci88WZb&m@DsBYI!9Y&Ove-2-_m*h^fLlZtRB zI1`plVW2}2T#f;?HZ&$bZM$(*x93DoheZo+fX<WTBw?GTp%Im14ggM1Z+Dx989(jN zZ7Are^-Il^^UEj4WXOEPgYG|4LcC^kr})`{`=j|7m;3|D-9oT*Kh{ro%d@2JW$sEk zE9<J9#ftwd^=0MyaPs=|kaIX!$-_=aT;&Ae6{ard4z9#7m6#dQb82pCGvZN6m%pJ` zu9uRhsFVc+>5~n*YA4rTN)Ym7QZ&$ECnWqlT!9ec;@@iciF$!lZC(e;jl!Lklj-^2 zJSP$xoj-ay#$jH+F!K7g?To0uiu7CtPkcqWTg)>P+{ZN7Bfg%2yOnk@C2w=0XL(n0 z&U^@eu*)|8beZn41?n&+yon{54aW(U`FJ7-31k3l(JMF!LxnszEeH~<wjenXm&`Ap zrVPT3%RHGcnp7d5g{hZGdb3v+clz_qZbediQGrm@MyWpTeEkJTA1(*X!*(YAxf=xW zZr)YRKNQnTnYTvXS%*8l;S*6<|CD|#8rdAjuBAp2{7^z~WAH*If&ipUa48Sx+wI;k z15#WJA#QJhIYV*r5dpZhwHniVA!m(T;a@FNjwx4<)fWo6oswzw*7=XDqB6wfbl7cN zCOj?mtg`XNFto!a4;p|w9VmF3DvaaOLFvqvR@@1=c-TlV#y16D?P-U331imb2PK<W z`8t-LX*fC}Hxm3bB|rfqz01_j4{#3wJa7Qj@c6AsI;<AAYlLbBwK^`hlbUvI(Ucv$ ziGNnaw*k|{D|myrk>qD+1@3%wWUk=Gg;vjXI_%CNv~);jjX*(Yrs!X;gLQDr{~xt| zc|4Ts`#)pSD9cQaZOA?(VuUQAu^VezBxMO@-=cCvOs0^1B+8PQmXl~hQc9E-B}R)Q zk`$&?l%y&8UiafH{XXaOI)8nB{n=~W&;4BYwO{Y|{pi0f4w2Ge%@gTG9g}$)dB-fv zDIlLJihy=Xa|zmxk>$H$R>Vs6D4u-5TqYKh3bUkzNQ#mbu?rXx=vN;K;aaQn8;ZnS zvEpI(fkUV6si8fWdRF)lkaYN2d(N6zhAVNm6fMTO>V0k^a5>OCBFIp(`KXd*Ihzdk z3)|7-7X?EX4YKuf)e%Bxe37!<_?0sGnz-aQK_6}ILRQBnmw4%5JM2Nb)(I3^L30zl z-n?<RLj-=~pERD%GPmyy$DR^awF#$LgiayKTPV>O@9^7=Z;m__`j?F^A<|q?tnzzq zLF&UX?xURP@WsG5A^~^&k#AVW^nSLU{S^aDz}0n*QTtFEZNUSLEjk%AA%nP_kjQZ{ zI*)UK(;BoAYo;_*k{jf33o$)SUS-9EUrF1YNOb1J*k3ZkmU;KtF?k-g%zbqwot)&| zBIdT7%dFWH_S?cjdE34`Ou~yFH@_x&@F5BFf0t3lmxPY5ro+vg-ke+PMgp!QUedOK zAR->H1-*95c6vj*>I=`5^E%UTW3CEUqTNZP@;M{9sw|SmApP^*vJIr4DMI~TOld08 zm$GSgduXUeRM~v+kWf7l30uin_5N0I$enMyS2aU+dT;B={aqhu&CU-Et&;z-UX&;4 zTH@!`eJYevE$$-DCRP5oM>V7el?|LbhfyN_sgG1PpFfpsYQy=Y+O(d-Wz~GL7jYY- zHCsFkZEYibC?`ZPXy~Wa_kY(jC20L>Go8(vEoM`1ByFk|{4q~sSy}SuhreV-P4EPh zl|Ux#R3GLmJKs!lW@6(P*5n0Jl$ir(s7j^lxw3}$A(9<?0#Fq{{GKk|Ej{R7)Ih*x zC{x?S25tC#&%wB@IoDwNBCF%j<Pb}{aI&1=@0%O_2c6SOF|*{@sWv&o7uRa!$`g-_ zD^uBJ7gbV79oiI#Buz*;nz)^O_%?N_wa9*cbH_DBPgdIV>e=%hctNRy1Gb!;^=iCT z4vk0ItyT3vXzypuuH#6pti5~uHA&j?;qPl&34z6AK|w|-T5ILnLHMe>UAe1>xfe(0 ziEtEohxC&`2c9>?(^@;uEbF~0mybT*p)rGf#o>UIPv1ozeA~=?{kyLs;xkJ04Nj?h z%Y+G&T`^OG{>+Q6BmpKZ5S?BixsQ**6`K6*#`UvKVMYCu6C(5h*5pH0%~|)@A9W^o z2g&q_nX`0WNL}3^(DyAkBPYa4<wb<hQbyF4-%qCTTbApAoU8OiBG6}-c~5-LEV$jS z>G#;M<6~Bit9|2#$zz==c&&khasHmVElW@%nKw(EQn9o~Osv%gai`gOORc{DP%ZUn z8jkA?8m*4SS#gaWv!w^Mx?9Q>J2Su@A7=;~TKST3R!?6<+MAs0T@ZaK*s@%T&}Z)( zWEQwjQl(_Q$)8Oy5z90HE@?B)hm8Bm$I2Q;*Ir{ad&GC(3~h}v^r-}d2!grT!C$g0 zeC1#+24njj@|b^ksIoMEUvm*sFWnnmEAWEQGZ)3Pwp~!f{I4Y0pGcHG2-`7OqCrk+ zHiD`$x`Fe?6!QyZcIze=Fm%yz`R}a^CkVq7K#rjLAix6a(P-(nDJoKzATwRPMqiK- z4fX6$)bYo^Vj;pb=hUbK&L0_j8{Y02Q92FkS)%=syL&Mk-x!o>LGy*FZ~l{Vc91Y` z2nM#d2OX+DVZF#WdABZ2d>hIJvV^khm8e9hq!n}Z^XFl1<YK3EN-|8O;jJv_UDEhA z7~5yJ7PyaKQDxk;qGAIfla53}?31SlI>cAAU8{q?#L*)U#_nf-f^Q{o*^>Tor`YWX zG2qPVs4;iFWP9aH%{A{Io|6UU+PS|(E?T+GCdsv?H!IT2hqF<(?O@xYLOErwB|SB~ zVb+hXdkqG~y~<A-RQqFgw7>1wsTAzj+w7izMLx>5ie;$rzTR<*^zYOY6VXT5O)J@k znS<#p0QQw>I{EcS)$4ZXGO2kR*0t>_pu^O*fR$a7Wq550I{SrlgMwYz>=6eOd(Qdw zS78>&yy0Ry?IluKdL(=H?LbD{+Lh7H(x3A+^A*0o{PZZW`%!&XQmTGW{~8C8UP^Yd zJLZw4AJ3(C>yK+5e&JD?RnYB~6}7x(;>Y!fqMIj{_mXb}F!SkVb)LWO+49);%$+i2 z?x{DQJeIjAblE{6`Fm-ojZx-!{o`T%_q@{=eQb8*oMMv4T=uOz<bbKb@q4UjE0~sn zwJcaE+#3kxYF9TwomE^f!tDAM6|QO1*WKrrEBw{}w8WsRdsTf^W|-dY^PiQ4qq_;0 zHj>`2S?INaIV6>tLDqb{C0AjM%vb4{n8%mf<2IjNc1+MK#%}W^RjhNxn(JIuE%(l= zqi#9R>(y`B!f7eF^<~Aojn3ba@)=pxq|f03U3Q5QM)k`8VKmXitNXl6a)-+1ft}}E zg722>Id@+Di_GJYaj2J8?B4TMb2z-_?1wMavV+63qXEx#TlUG!zpjy=R*%|Kdr7uG zV50QGG}u64`CEUc%BRm}7rqouHov*v(?%5Qe7wQ@?TLmgQZ|f({ky03^5kCyT)i?z zil`Z1@wl%~VDpbX=XN`MUT9O)+tbpO5R@x1*grgfgxr@!*tKj9F5q}b%|Ep{1lN)O z#ANN|x8{S5Zo&d&u|vm~iJV_fZZkUk@&u|!lw}43)QZ*goOYHh$diu`B@gmKrc7F& zedpCzi*?z>P)yBKrH0Z{zrXobt=n?t!SW7+23gX3&*hk<6lyuQi84NB!grq5YqogB z=4Fn*rI?*HIi@5WWHP07KP<i|JX2y&I`mV(fm&rbb(=FQ-)Mz929XDN3#Lv>d@vGS zwkLSni!N4G+L&jQK;uyAhC0hUpP`xa)V&KUMBnK~9T&nL<-E>8ns^GOgyh5WA)(fC zfjhnGOk~5&ub6a<39;V0RkLiLKI>TQqFKY8uANTkKM<90_VUurt3)aza-Y=@PD*?V zIQTR?D`@J<dlPr&u3}HftNIDiPg!&QF;$J_?u1&D2#N$T^SP!p&QbgLz^%-I&Yqgw zDawbBmRZ`i4dvgK^z-paEudRltegFq&C3hvYO8N*<|;K@a@XwH65HKQJz`gUtL|*j zn2<M`Pgi?AFgUyPH^E&hH@zI^=G-jy9S^0>Y~-XxEvl;CR8>3^_8F7PmWnh@Y%d;l zuO>u>UisR*xz^1`##_SaYVwdV%X>`|C8ArNJG#nGq;e+h4gclgbn-KI=F_HMb=ul~ zBVD>rH0U{vzZ|55xmNGA1u|-Q6O{a!L_zIw-v;1W8KyJYbFNia)vB0SREYetj%R!- zO%srlnogT*Awhx6TE}{yusCipY9lN*iqgOjgH!LYDcf@!bL#)uku8_t4>>2HrtL|< zj!CM*a=#Em6u+~yHoK-H_g$w%AwX|631glq%}iQ0w!03u?NGDK5MoPfTliL0n&=pM z9~p1l(;s7qKcL=OCzvr`F!>CYUY68NNz37PDtB(>9JrL$-xS{}Ef}ZX2gULx;^>-` zm{~cs9q=tLa27F=<pw<~?!6=vGOd06!x5V>{`Yq86B#<$mC=z#vQh%3Ym|fPJ#gO> zJ~_-Z#?&`eY*xrZ1;Ft;MMjRw=eBbk1gA56zE_ley&w37Degj0i|OE}yk>g9%qm>Y z)_&_%+VC7a@(pEKU^Q30NkjKOw-^SbTTCBZTH0ndVjmyz*fn9+fv$7#Q9`g&@l<!! zeLEU!eLjXgg8iLQz3=Owa_&NX1VHb($pWIC8?JpUkc}I=G_dU6_1S%i20;lkSE$>E z$0O(yr$@h4OONbUof#4J`H==iQoM(=!06x=YVY=jV}frDB##=dI{o3{*O-P6eGPA_ z)2p5z>^X5X?(?qi``*lBP1RgJ*1k!2gO_ZihpEdNQ>o~lBjzuwvs@3xu5Z;h)XAyO zKJ6X+T<sdg$N$~aVJ%wdIY)O>e;-puwPwr1xHi4mm+2FFsS<;?0*m>!tFFHH@DjCn zB6^BOPuq~>qr|-+X&d(}^iE|u??BY%q-_}+*e7c?lCEh8Aq^5+*Q77N$RwPz16Bp~ zpt6vMY^tYi>WY?UH#vbeMov>CmP`JmG(B>2_r}DxHi@$HG+Q=ZxcKOLlrQsA!Qz2b zfSSjCRg!bPKU2;woapTPxadLJMM~#!!IAIAeNw(Lq1G{*tiu%2LR*+^&j)rWOw3SE z=qlX0KIGp&J3u`>5gptP`E@FsNIF|=oo!tIlZ^QMGlT)_);~1m(7bzFiEumd)83bI zgSr=J#T4;T&lJ%!emNiDvmC#LhX;i+Rc3i9VH02PvN}S?q@LF*U*!g*O5e6%?YR(= zFEJQ#;3BGvi=`XLI7h{EZ`p8D@}XR>wgx=z%99t1{GRCpTkL4Hd(4$KP8;FrvoP|9 zVIg9bOPa^lnx|R$5?kDvS3(*-eLn8;OQ}V)0N!L#dA$j4XgfjJsr(UH?it~1{EKDp z)?Q0xr&OiBd%l!={4rOI>ru-)Ffn5oRvjdNdBr(>$=^%r$~Ka`*=jQS_!TG_x?_fy zq?I$F?I*KI*xT#1ihB^8)}!9TSFeO+#ig*nIq(<~n^caBh@8w<@gwN4CiUsN4#vJa zkgs*b*2pPl%&I2o(Iszo(yG-Q8<yzVDczHaonEfTJd(qniguwgmg1Oy-pbbif^r5M z)rJnIZmhpuXs}`J74l$!Q>)XeO8An;!H>L+t-(hlXAY*;epb5nWeo7c#hFo)g&l<K zwQ4Pdr#=mNZP7LC?v-+P>-o4fauvuF9SbN!`vI8!BwsQ;wHXHqUw{6igkx=|3wKyo zaUZ1xtZNNBDX#h^GTzbFOgPdcU0LR}_9hihy5xg2hhEDq2w(BV@3ko5l?!BN_ZFKE zrO>W2A|4mNIudXw{{0(Ey}lixH!WM`wqh-WoC+E8zUDJ1&)ayHV~p<wM9Z`2m#4SR zC5itzuKE8yZfOXSne*QJ2{IIXBl6yj$$+xB4~cP!kZJ!E414H0k+lfJ5*7IXs-+7k zUTw82=C^op2*4-n&RgRm4^0};74jxc>4obou*r}0Z_Bq4!ce;)FM*(y3~2XcRo$Bf z_!`zPf!aRmT=4>>Ydv2#hh<U=`1n`hz7wa~HAu@c;CE*dbbE^lH=m?QIW{JKK2E*) z4fvP0On9S}hTA>gEcBzc+);q)WLjygaILbZBtski<c@T>5Pr(xz=m}L)6s7?4R}8F zNiwsIdoi}_@RDKuF@aR)7@~A3U!8%8pGk5v;4l?&8<+CCGu7|QiQfXo)9EF+NA7N1 zwH}1CL6d<x<z{)PH1}UlOZSt`24Jijf5<{-ny)uhB3Hk26Aj^7<nywZN<a8j^vEnW zv`k*rUcpZYa7sQJDWjfxEL^qOxJ7&cGu;npQtN-=52-p8D;@>|jvHveu@mrGBgP7r z7X`0e>}w$5W?&pKBg4Vrc~CHX>l}LChh+yP#eLFZcpe&F^M;PiBV@Wjsj^siv6DTP zrwSEVZy*+>p?FHNYGlw9Af773_Z7=xAu%Rjc8EbsLgizUX)Pb43tp^J<wT0m9QyGX zYjgn)@VRBRYJT>H#8E&}k6GpHj#0r%sEF<Uro>TKQ0F%}sgjCR6R1>TZ^lxUu%*@4 zE%LJPRYqlwwJ=u@mk1`4I2s)pF&Af@BLGxAg9@yf37`hp0tPobyGT?G%X!C{4i%aN z7>L7YHBG6XRxSpCT+HnKgDk9qx_mclf>w@tn^mjiJ(HV9L1JB`?i);O>9W=ISfJRV z96?-{ElZe$5^3t#?Ir+ogI6>%ysRrvm{bRq`+VDKAv$jZBRFrExFa(cUz%Q{NF|}l zPI-T<0K*)XHlJ)TG{n-65jDd$0pKWsRnEo*@#8AR%LVQ1oaT$qA!;lsT@rXTG$eJt znH!<l39#;-RQWH%w%AGZy=ns__)(NwDTpnj`No2hjHYpYEwQCtPpLNUZMH^Br%Q80 z{&$D`Fod}>Aig7dr?gt3rQ$+#)RIgYJbnf2-7QTV&T1rpI-tgtqbqD*BX*wV3$W7s zC&H%OMK~|e2Cww!#14=v0zO<~Z*Yu{=?L)+`?*JT%0mAIf-V@#3=R|mW?f<Dzc16V z5uYi7gM<@$x*DWRpa(wkJ^$M!;XX9Sb$qaB-5?S|ON`@myCUEWRa`SKAj}_-&yqYj z-t?qyZJo_<pXC|U1kc;?x7T<ww@Xoh@A`Cw;8L<S+z986bl2V(;tmkcXe?>JP!M*< zUBZv!>`#=LEpHzI7E&>pWGg_tlapK*eMihtg^X&H7@)8$`kukkRxm!MFUG$ML~>~N z$Fzrg`3!>cZ1<i5%QIG2$$Sa4t}RH>S`{lK2${fclatWNa&^MaJN>csE@DwKvONA( zjmb2`0rJ_~cXUqV%nzPhXEcqs9tDXr&<oESPEjhf14N?ENC#;XTK>Bm{k9{o=;Dzy z5u7;kxN0x#q==)AV1$mj-(nzR9|2m)?y3!1*O#3f(~~4<A=F4+a{~3%M=-Y6ultPs zFuD0trs1}tCmWq_3NnNUV{bd{Tw-XcTVgcu7u0}OQ7SL^6ty3}D)peo?BC$^7Z!Xf zV|jKJ$;~TpI=QjK^%>LVa1S&Y>|DQA-&6po80b{4I=mWqkh{8(nY@xQ-R<u3`F%(6 zv|=X!1uKNq5z&u3f9N*F%$uWLa?nzXc!vqd`T`->{rrp?u&$b$4d#L9S8yr??2D9{ zffBukfZkt?Tanb}xg=@72q02L0Fl}i18o3TO6k({YLd%wSm@6S>=f7HK=+(Tx>|n` z1NivuaMD|DpIIc1kDw!ViK-NCAwsR{M+@&pbVAs-Yu@At%RGG)&hQ3M>3XO}GGu16 zK5Qx2sJmSs(EOnDq5=seY**)et9S+tqnlJ*us!!Dm=c&0zyZpOtzdsC*CEh+qtKSg zCBh<>(A|3ULcfH&l|1)m*S$HBbl$h%?e;o<ZJQ5A5x;YnP*^hG4=9p<GRumJ_-y0+ zUc}C4947R9mkCwd6T6Uc4K{TRe|Z%q&AWtE_VAg{M3a+FaOOpbm2pE=feC}3kaJf{ zR@#MCf?7mLzp!)Q%@2G{l*MmT_SFl1a5E=Dsk0C~Qla9P5o=&&fXv!eOWjH-C2KFp zEX2#9$F(cT++3{+3*D)GCK!$_bOx`WqLJ-3^wSN6e7MR*u=5=9lB}QDezbBIpvcK9 zt`_7kUgckqr(L1{Csq^_<+UnyPeS6>8!gJQgiISmzBtd<rH!`*70ebc8de9^9MWgF z_%f57RH9!HE67-m$b0`m41$vzQ0M;2dif&(I3lf!&VAK;a?T@21eXsflDd_%9heGI z6(e_M4lDK+UWmQ$Z?#~wATr59*Lj0KZQO~@r(#M8=k0AyKqMvu1<UyTG##*3orJy; znK@+vG)M-^yl~?M8BruD)1DW(!hTBtFYgi18=g{+Jy3X@#4?Z6l*Of>h19CQ5;=PK zc-YnM!J*;%z(YYcEkswh=h3#^-DX6LQuO^4sFfN(w913?Rql?Et;IA-%051it<!UF zfAgP80h)e6DL0?gA-F&QuB80)zsJ>+NmCDXNtTM}>@s34|6gVo2y-o^smjC{*AJHn zgQS4I<AG=-cfmX4A3ISgG`A-?yOU=2oI*8wMK4;pK4Q%Ur>l6&0$ka7sgN}b+Y@|= zv5=BTNQZ?|#F5Bf1OyRr-H?f#9CXs@Mk0@}opxi*1|N~*Ec|PS$+Wxp?aNyzBaEL3 zNos1zq%vuvehXhUWHCq575Xj9bwKNMEZ#p%M+BthExXRH@JTZMR}~)<xptj>)<`q8 zN0BOy_^bcTR<3X0MB4L$Tn=y3B2tx*!1EJ`w!ebFKW=|7cOH9IboRJ_su%Z+oZnA` z&pRnJP$DtqOx)jhES3`hRi(^v$|dFkMeq*gKM2it3AgLh;NJ2;YhaTJyC4<6ako<u zK(;_tZ9VJ_U|Y<j#zba?=su-tsgpQH1yXUFty#XMa3}~ij`^mc+B8rTRo-4cydW^9 z0?+)nb;d(g&FnbqyI<vc|EUq6C=P0%DB8wiH-B>ER9#>p0Yh07r$<7E=k$G45|;?k zJyB?T5~4Pv=zf*Gi{AL}P6aluOZSO!7d?+1UH*SvXttcKPUkuOtHhIZxHrxaRz4Lu z4+=Hs5g7>tFwIZLTI_#%nK2<>=DW2{$;1W*B4yrD|A)i})^n~q@JuS;<dCF%TmPw; z5H@^NXQ;Mu<aynW(a17iF1KsehN7g<X_4KWx0p_3WfxA)(}(-L(ZN0R00XfgI3eob ze!V6qL>)x_lCoHXEBikZ_^bpyGA}m#FFE<9(9H>zrr>veHQtrogFP@*wcm?lSXy8e z2B<hhNE2VxxbLS-0#g?F3dA6*=DtRE<~*Dl@?cw8Vl7K@z&Ck!l&WC9Y5Jk+jGSgm z#|~KNudu0r!e+uL>Y~5>BmZs)o8NvBSHwqP&gr8NV;^GA9x>YA#QMW9tGrK4Ec<s2 zAKwA2K_L~>tTgU%E#y!(2CI0gfJ1RxE@Xp+dN9kRf=L7Xzsozv(PT5{`Tr_v0xr~^ z_q1gB0}n-COE6Bse|mx~$se@1&pPfYt$@lF`2GLYH6>BFfpNFCyO;!O*<#{8C~m0% zHK~XDwf@RFEKTWVz1QTfeE&wt{BPMZzM|MOa`Fb@Cj~#C1T1p3$9PX86f`Bu>{@)Z zA-%eM+5Z)^|FM9m#4=am4y=}g%nN=rUlxK~3bANElr18G@rU=%oyt?k-V{=q?TyJb za^MN88t#+M!8IA3l>D2dKg|0&J2fVOEFs8n!}5w>O!OBpCcp&@>77XB{t=wE(IF}N z(EU2E?58a{P>@40n1AzUTB86s6yZ*&5%h@2p$LzSF2Y$sG)OJCm%aQ)00uqT#hUfe z-ndPUNL5CpZZ{VK=))u5jbC@>Ji!#4+B~q<EPYg4@ns5p<_b&`E}T&Kc~*xxOj?tK zt<ge;9$^)V7atu(ND{z*)Kcx*#|*|~w2*Qu38e#nDK}JCKNRA5g8LrKziP_||L8U@ K)-{&Cd;br_qbd^s literal 0 HcmV?d00001 From 2162d632bbb2df6b31b05d96d2e0bca8734184ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A3=95?= <1798488403@qq.com> Date: Thu, 24 Nov 2022 23:39:49 +0800 Subject: [PATCH 23/24] wyd --- app.json | 42 - demo.txt | 1 - package.json | 15 - project.config.json | 32 - project.private.config.json | 9 - tsconfig.json | 30 - typings/index.d.ts | 8 - typings/types/index.d.ts | 1 - typings/types/wx/index.d.ts | 134 - typings/types/wx/lib.wx.api.d.ts | 28855 ----------------------- typings/types/wx/lib.wx.app.d.ts | 270 - typings/types/wx/lib.wx.behavior.d.ts | 68 - typings/types/wx/lib.wx.cloud.d.ts | 979 - typings/types/wx/lib.wx.component.d.ts | 676 - typings/types/wx/lib.wx.event.d.ts | 1435 -- typings/types/wx/lib.wx.page.d.ts | 263 - 班级通1重做.zip | Bin 1110192 -> 0 bytes 班级通2.0.zip | Bin 365020 -> 0 bytes 班级通3.0.zip | Bin 1074814 -> 0 bytes 班级通小程序.zip | Bin 367848 -> 0 bytes 20 files changed, 32818 deletions(-) delete mode 100644 app.json delete mode 100644 demo.txt delete mode 100644 package.json delete mode 100644 project.config.json delete mode 100644 project.private.config.json delete mode 100644 tsconfig.json delete mode 100644 typings/index.d.ts delete mode 100644 typings/types/index.d.ts delete mode 100644 typings/types/wx/index.d.ts delete mode 100644 typings/types/wx/lib.wx.api.d.ts delete mode 100644 typings/types/wx/lib.wx.app.d.ts delete mode 100644 typings/types/wx/lib.wx.behavior.d.ts delete mode 100644 typings/types/wx/lib.wx.cloud.d.ts delete mode 100644 typings/types/wx/lib.wx.component.d.ts delete mode 100644 typings/types/wx/lib.wx.event.d.ts delete mode 100644 typings/types/wx/lib.wx.page.d.ts delete mode 100644 班级通1重做.zip delete mode 100644 班级通2.0.zip delete mode 100644 班级通3.0.zip delete mode 100644 班级通小程序.zip diff --git a/app.json b/app.json deleted file mode 100644 index 129e132..0000000 --- a/app.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "pages": [ - "pages/index/index", - "pages/menu/menu", - "pages/my/my", - "pages/bd/bd", - "pages/uploadfile/uploadfile", - "pages/list/list", - "pages/operation/operation" - ], - "window": { - "backgroundTextStyle": "light", - "navigationBarBackgroundColor": "#fff", - "navigationBarTitleText": "班级通", - "navigationBarTextStyle": "black" - }, - "tabBar": { - "selectedColor": "#33a3dc", - "list": [ - { - "pagePath": "pages/index/index", - "text": "首页", - "iconPath": "/static/index/index.png", - "selectedIconPath": "/static/index/index_active.png" - }, - { - "pagePath": "pages/menu/menu", - "text": "菜单", - "iconPath": "/static/menu/menu.png", - "selectedIconPath": "/static/menu/menu_active.png" - }, - { - "pagePath": "pages/my/my", - "text": "我的", - "iconPath": "/static/my/my.png", - "selectedIconPath": "/static/my/my_active.png" - } - ] - }, - "style": "v2", - "sitemapLocation": "sitemap.json" -} \ No newline at end of file diff --git a/demo.txt b/demo.txt deleted file mode 100644 index d72af31..0000000 --- a/demo.txt +++ /dev/null @@ -1 +0,0 @@ -asd diff --git a/package.json b/package.json deleted file mode 100644 index 5f731b7..0000000 --- a/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "miniprogram-ts-less-quickstart", - "version": "1.0.0", - "description": "", - "scripts": { - }, - "keywords": [], - "author": "", - "license": "", - "dependencies": { - }, - "devDependencies": { - "miniprogram-api-typings": "^2.8.3-1" - } -} diff --git a/project.config.json b/project.config.json deleted file mode 100644 index 62d94f3..0000000 --- a/project.config.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "description": "项目配置文件", - "packOptions": { - "ignore": [], - "include": [] - }, - "miniprogramRoot": "miniprogram/", - "compileType": "miniprogram", - "projectname": "ts-demo", - "setting": { - "useCompilerPlugins": [ - "typescript" - ], - "babelSetting": { - "ignore": [], - "disablePlugins": [], - "outputPath": "" - }, - "es6": true, - "enhance": true - }, - "simulatorType": "wechat", - "simulatorPluginLibVersion": {}, - "condition": {}, - "srcMiniprogramRoot": "miniprogram/", - "appid": "wx954296403ec15396", - "libVersion": "2.26.1", - "editorSetting": { - "tabIndent": "insertSpaces", - "tabSize": 2 - } -} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json deleted file mode 100644 index 9cff228..0000000 --- a/project.private.config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", - "projectname": "%E7%8F%AD%E7%BA%A7%E9%80%9A%E5%B0%8F%E7%A8%8B%E5%BA%8F", - "setting": { - "compileHotReLoad": true, - "urlCheck": false - }, - "libVersion": "2.25.4" -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index ade784e..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "strictNullChecks": true, - "noImplicitAny": true, - "module": "CommonJS", - "target": "ES2020", - "allowJs": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "experimentalDecorators": true, - "noImplicitThis": true, - "noImplicitReturns": true, - "alwaysStrict": true, - "noFallthroughCasesInSwitch": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "strict": true, - "strictPropertyInitialization": true, - "lib": ["ES2020"], - "typeRoots": [ - "./typings" - ] - }, - "include": [ - "./**/*.ts" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/typings/index.d.ts b/typings/index.d.ts deleted file mode 100644 index 3ee60c8..0000000 --- a/typings/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/// <reference path="./types/index.d.ts" /> - -interface IAppOption { - globalData: { - userInfo?: WechatMiniprogram.UserInfo, - } - userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback, -} \ No newline at end of file diff --git a/typings/types/index.d.ts b/typings/types/index.d.ts deleted file mode 100644 index a5e8a7c..0000000 --- a/typings/types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// <reference path="./wx/index.d.ts" /> diff --git a/typings/types/wx/index.d.ts b/typings/types/wx/index.d.ts deleted file mode 100644 index 8ecd122..0000000 --- a/typings/types/wx/index.d.ts +++ /dev/null @@ -1,134 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -/// <reference path="./lib.wx.app.d.ts" /> -/// <reference path="./lib.wx.page.d.ts" /> -/// <reference path="./lib.wx.api.d.ts" /> -/// <reference path="./lib.wx.cloud.d.ts" /> -/// <reference path="./lib.wx.component.d.ts" /> -/// <reference path="./lib.wx.behavior.d.ts" /> -/// <reference path="./lib.wx.event.d.ts" /> - -declare namespace WechatMiniprogram { - type IAnyObject = Record<string, any> - type Optional<F> = F extends (arg: infer P) => infer R ? (arg?: P) => R : F - type OptionalInterface<T> = { [K in keyof T]: Optional<T[K]> } - interface AsyncMethodOptionLike { - success?: (...args: any[]) => void - } - type PromisifySuccessResult< - P, - T extends AsyncMethodOptionLike - > = P extends { - success: any - } - ? void - : P extends { fail: any } - ? void - : P extends { complete: any } - ? void - : Promise<Parameters<Exclude<T['success'], undefined>>[0]> - - // TODO: Extract real definition from `lib.dom.d.ts` to replace this - type IIRFilterNode = any - type WaveShaperNode = any - type ConstantSourceNode = any - type OscillatorNode = any - type GainNode = any - type BiquadFilterNode = any - type PeriodicWaveNode = any - type BufferSourceNode = any - type ChannelSplitterNode = any - type ChannelMergerNode = any - type DelayNode = any - type DynamicsCompressorNode = any - type ScriptProcessorNode = any - type PannerNode = any - type AnalyserNode = any - type AudioListener = any - type WebGLTexture = any - type WebGLRenderingContext = any -} - -declare let console: WechatMiniprogram.Console - -declare let wx: WechatMiniprogram.Wx -/** 引入模块。返回模块通过 `module.exports` 或 `exports` 暴露的接口。 */ -declare function require( - /** 需要引入模块文件相对于当前文件的相对路径,或 npm 模块名,或 npm 模块路径。不支持绝对路径 */ - module: string -): any -/** 引入插件。返回插件通过 `main` 暴露的接口。 */ -declare function requirePlugin( - /** 需要引入的插件的 alias */ - module: string -): any -/** 插件引入当前使用者小程序。返回使用者小程序通过 [插件配置中 `export` 暴露的接口](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html#%E5%AF%BC%E5%87%BA%E5%88%B0%E6%8F%92%E4%BB%B6)。 - * - * 该接口只在插件中存在 - * - * 最低基础库: `2.11.1` */ -declare function requireMiniProgram(): any -/** 当前模块对象 */ -declare let module: { - /** 模块向外暴露的对象,使用 `require` 引用该模块时可以获取 */ - exports: any -} -/** `module.exports` 的引用 */ -declare let exports: any - -/** [clearInterval(number intervalID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearInterval.html) - * - * 取消由 setInterval 设置的定时器。 */ -declare function clearInterval( - /** 要取消的定时器的 ID */ - intervalID: number -): void -/** [clearTimeout(number timeoutID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearTimeout.html) - * - * 取消由 setTimeout 设置的定时器。 */ -declare function clearTimeout( - /** 要取消的定时器的 ID */ - timeoutID: number -): void -/** [number setInterval(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setInterval.html) - * - * 设定一个定时器。按照指定的周期(以毫秒计)来执行注册的回调函数 */ -declare function setInterval( - /** 回调函数 */ - callback: (...args: any[]) => any, - /** 执行回调函数之间的时间间隔,单位 ms。 */ - delay?: number, - /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ - rest?: any -): number -/** [number setTimeout(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setTimeout.html) - * - * 设定一个定时器。在定时到期以后执行注册的回调函数 */ -declare function setTimeout( - /** 回调函数 */ - callback: (...args: any[]) => any, - /** 延迟的时间,函数的调用会在该延迟之后发生,单位 ms。 */ - delay?: number, - /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ - rest?: any -): number diff --git a/typings/types/wx/lib.wx.api.d.ts b/typings/types/wx/lib.wx.api.d.ts deleted file mode 100644 index 1c3963c..0000000 --- a/typings/types/wx/lib.wx.api.d.ts +++ /dev/null @@ -1,28855 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram { - interface AccessFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory ${path}': 文件/目录不存在; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface AccessOption { - /** 要判断是否存在的文件/目录路径 (本地路径) */ - path: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AccessCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AccessFailCallback - /** 接口调用成功的回调函数 */ - success?: AccessSuccessCallback - } - /** 帐号信息 */ - interface AccountInfo { - /** 小程序帐号信息 */ - miniProgram: MiniProgram - /** 插件帐号信息(仅在插件中调用时包含这一项) */ - plugin: Plugin - } - interface AddArcOption { - /** 终点 */ - end: MapPostion - /** 圆弧 id */ - id: number - /** 起始点 */ - start: MapPostion - /** 夹角角度 */ - angle?: number - /** 线的颜色 */ - color?: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddArcCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddArcFailCallback - /** 途经点 */ - pass?: MapPostion - /** 接口调用成功的回调函数 */ - success?: AddArcSuccessCallback - /** 线宽 */ - width?: number - } - interface AddCardOption { - /** 需要添加的卡券列表 */ - cardList: AddCardRequestInfo[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddCardCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddCardFailCallback - /** 接口调用成功的回调函数 */ - success?: AddCardSuccessCallback - } - /** 需要添加的卡券列表 */ - interface AddCardRequestInfo { - /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */ - cardExt: string - /** 卡券 ID */ - cardId: string - } - /** 卡券添加结果列表 */ - interface AddCardResponseInfo { - /** 卡券的扩展参数,结构请参考下文 */ - cardExt: string - /** 用户领取到卡券的 ID */ - cardId: string - /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ - code: string - /** 是否成功 */ - isSuccess: boolean - } - interface AddCardSuccessCallbackResult { - /** 卡券添加结果列表 */ - cardList: AddCardResponseInfo[] - errMsg: string - } - interface AddCustomLayerOption { - /** 个性化图层id */ - layerId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddCustomLayerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddCustomLayerFailCallback - /** 接口调用成功的回调函数 */ - success?: AddCustomLayerSuccessCallback - } - interface AddFileToFavoritesOption { - /** 要收藏的文件地址,必须为本地路径或临时路径 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddFileToFavoritesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddFileToFavoritesFailCallback - /** 自定义文件名,若留空则使用filePath中的文件名 */ - fileName?: string - /** 接口调用成功的回调函数 */ - success?: AddFileToFavoritesSuccessCallback - } - interface AddGroundOverlayOption { - /** 图片覆盖的经纬度范围 */ - bounds: MapBounds - /** 图片图层 id */ - id: string - /** 图片路径,支持网络图片、临时路径、代码包路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddGroundOverlayCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddGroundOverlayFailCallback - /** 图层透明度 */ - opacity?: number - /** 接口调用成功的回调函数 */ - success?: AddGroundOverlaySuccessCallback - /** 是否可见 */ - visible?: boolean - /** 图层绘制顺序 */ - zIndex?: number - } - interface AddMarkersOption { - /** 同传入 map 组件的 marker 属性 */ - markers: any[] - /** 是否先清空地图上所有 marker */ - clear?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddMarkersCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddMarkersFailCallback - /** 接口调用成功的回调函数 */ - success?: AddMarkersSuccessCallback - } - interface AddPhoneCalendarOption { - /** 开始时间的 unix 时间戳 */ - startTime: number - /** 日历事件标题 */ - title: string - /** 是否提醒,默认 true */ - alarm?: boolean - /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ - alarmOffset?: number - /** 是否全天事件,默认 false */ - allDay?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddPhoneCalendarCompleteCallback - /** 事件说明 */ - description?: string - /** 结束时间的 unix 时间戳,默认与开始时间相同 */ - endTime?: string - /** 接口调用失败的回调函数 */ - fail?: AddPhoneCalendarFailCallback - /** 事件位置 */ - location?: string - /** 接口调用成功的回调函数 */ - success?: AddPhoneCalendarSuccessCallback - } - interface AddPhoneContactOption { - /** 名字 */ - firstName: string - /** 联系地址城市 */ - addressCity?: string - /** 联系地址国家 */ - addressCountry?: string - /** 联系地址邮政编码 */ - addressPostalCode?: string - /** 联系地址省份 */ - addressState?: string - /** 联系地址街道 */ - addressStreet?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddPhoneContactCompleteCallback - /** 电子邮件 */ - email?: string - /** 接口调用失败的回调函数 */ - fail?: AddPhoneContactFailCallback - /** 住宅地址城市 */ - homeAddressCity?: string - /** 住宅地址国家 */ - homeAddressCountry?: string - /** 住宅地址邮政编码 */ - homeAddressPostalCode?: string - /** 住宅地址省份 */ - homeAddressState?: string - /** 住宅地址街道 */ - homeAddressStreet?: string - /** 住宅传真 */ - homeFaxNumber?: string - /** 住宅电话 */ - homePhoneNumber?: string - /** 公司电话 */ - hostNumber?: string - /** 姓氏 */ - lastName?: string - /** 中间名 */ - middleName?: string - /** 手机号 */ - mobilePhoneNumber?: string - /** 昵称 */ - nickName?: string - /** 公司 */ - organization?: string - /** 头像本地文件路径 */ - photoFilePath?: string - /** 备注 */ - remark?: string - /** 接口调用成功的回调函数 */ - success?: AddPhoneContactSuccessCallback - /** 职位 */ - title?: string - /** 网站 */ - url?: string - /** 微信号 */ - weChatNumber?: string - /** 工作地址城市 */ - workAddressCity?: string - /** 工作地址国家 */ - workAddressCountry?: string - /** 工作地址邮政编码 */ - workAddressPostalCode?: string - /** 工作地址省份 */ - workAddressState?: string - /** 工作地址街道 */ - workAddressStreet?: string - /** 工作传真 */ - workFaxNumber?: string - /** 工作电话 */ - workPhoneNumber?: string - } - interface AddPhoneRepeatCalendarOption { - /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */ - startTime: number - /** 日历事件标题 */ - title: string - /** 是否提醒,默认 true */ - alarm?: boolean - /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ - alarmOffset?: number - /** 是否全天事件,默认 false */ - allDay?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddPhoneRepeatCalendarCompleteCallback - /** 事件说明 */ - description?: string - /** 结束时间的 unix 时间戳,默认与开始时间相同 */ - endTime?: string - /** 接口调用失败的回调函数 */ - fail?: AddPhoneRepeatCalendarFailCallback - /** 事件位置 */ - location?: string - /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */ - repeatEndTime?: number - /** 重复周期,默认 month 每月重复 - * - * 可选值: - * - 'day': 每天重复; - * - 'week': 每周重复; - * - 'month': 每月重复。该模式日期不能大于 28 日; - * - 'year': 每年重复; */ - repeatInterval?: 'day' | 'week' | 'month' | 'year' - /** 接口调用成功的回调函数 */ - success?: AddPhoneRepeatCalendarSuccessCallback - } - interface AddServiceOption { - /** 描述service的Object */ - service: BLEPeripheralService - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddServiceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddServiceFailCallback - /** 接口调用成功的回调函数 */ - success?: AddServiceSuccessCallback - } - interface AddVideoToFavoritesOption { - /** 要收藏的视频地址,必须为本地路径或临时路径 */ - videoPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddVideoToFavoritesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddVideoToFavoritesFailCallback - /** 接口调用成功的回调函数 */ - success?: AddVideoToFavoritesSuccessCallback - /** 缩略图路径,若留空则使用视频首帧 */ - thumbPath?: string - } - interface AddVisualLayerOption { - /** 可视化图层id([创建图层指引](https://lbs.qq.com/dev/console/layers/layerEdit)) */ - layerId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AddVisualLayerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AddVisualLayerFailCallback - /** 刷新周期,单位秒 */ - interval?: number - /** 图层透明度 */ - opacity?: number - /** 接口调用成功的回调函数 */ - success?: AddVisualLayerSuccessCallback - /** 图层绘制顺序 */ - zIndex?: number - } - /** 广播自定义参数 */ - interface AdvertiseReqObj { - /** 需要基础库: `2.20.1` - * - * 以 beacon 设备形式广播的参数。 */ - beacon?: BeaconInfoObj - /** 当前设备是否可连接 */ - connectable?: boolean - /** 广播中 deviceName 字段,默认为空 */ - deviceName?: string - /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ - manufacturerData?: ManufacturerData[] - /** 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 */ - serviceUuids?: string[] - } - /** animationData */ - interface AnimationExportResult { - actions: IAnyObject[] - } - /** 动画效果 */ - interface AnimationOption { - /** 动画变化时间,单位 ms */ - duration?: number - /** 动画变化方式 - * - * 可选值: - * - 'linear': 动画从头到尾的速度是相同的; - * - 'easeIn': 动画以低速开始; - * - 'easeOut': 动画以低速结束; - * - 'easeInOut': 动画以低速开始和结束; */ - timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' - } - interface AppAuthorizeSetting { - /** 允许微信使用相册的开关(仅 iOS 有效) */ - albumAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信使用蓝牙的开关(仅 iOS 有效) */ - bluetoothAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信使用摄像头的开关 */ - cameraAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信使用定位的开关 */ - locationAuthorized: 'authorized' | 'denied' | 'not determined' - /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */ - locationReducedAccuracy: boolean - /** 允许微信使用麦克风的开关 */ - microphoneAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信通知带有提醒的开关(仅 iOS 有效) */ - notificationAlertAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信通知的开关 */ - notificationAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信通知带有标记的开关(仅 iOS 有效) */ - notificationBadgeAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信通知带有声音的开关(仅 iOS 有效) */ - notificationSoundAuthorized: 'authorized' | 'denied' | 'not determined' - /** 允许微信读写日历的开关 */ - phoneCalendarAuthorized: 'authorized' | 'denied' | 'not determined' - } - interface AppBaseInfo { - /** 客户端基础库版本 */ - SDKVersion: string - /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ - enableDebug: boolean - /** 当前小程序运行的宿主环境 */ - host: AppBaseInfoHost - /** 微信设置的语言 */ - language: string - /** 微信版本号 */ - version: string - /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) - * - * 可选值: - * - 'dark': 深色主题; - * - 'light': 浅色主题; */ - theme?: 'dark' | 'light' - } - /** 当前小程序运行的宿主环境 */ - interface AppBaseInfoHost { - /** 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) */ - appId: string - } - interface AppendFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 文件不存在; - * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface AppendFileOption { - /** 要追加的文本或二进制数据 */ - data: string | ArrayBuffer - /** 要追加内容的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AppendFileCompleteCallback - /** 指定写入文件的字符编码 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 接口调用失败的回调函数 */ - fail?: AppendFileFailCallback - /** 接口调用成功的回调函数 */ - success?: AppendFileSuccessCallback - } - interface Asset { - src: string - /** 可选值: - * - 'font': 字体; - * - 'image': 图片; */ - type: 'font' | 'image' - } - /** 需要基础库: `2.19.0` - * - * AudioBuffer接口表示存在内存里的一段短小的音频资源,利用[WebAudioContext.decodeAudioData](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)方法从一个音频文件构建,或者利用 [AudioContext.createBuffer](#)从原始数据构建。把音频放入AudioBuffer后,可以传入到一个 AudioBufferSourceNode进行播放。 */ - interface AudioBuffer { - /** 返回存储在缓存区的PCM数据的时长(单位为秒) */ - duration: number - /** 返回存储在缓存区的PCM数据的采样帧率 */ - length: number - /** 储存在缓存区的PCM数据的通道数 */ - numberOfChannels: number - /** 存储在缓存区的PCM数据的采样率(单位为sample/s) */ - sampleRate: number - } - interface AuthPrivateMessageOption { - /** shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ - shareTicket: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AuthPrivateMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AuthPrivateMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: AuthPrivateMessageSuccessCallback - } - interface AuthPrivateMessageSuccessCallbackResult { - /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - encryptedData: string - /** 错误信息 */ - errMsg: string - /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - iv: string - /** 验证是否通过 */ - valid: boolean - } - /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */ - interface AuthSetting { - /** 是否授权系统日历,对应接口 [wx.addPhoneRepeatCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html)、[wx.addPhoneCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) */ - 'scope.addPhoneCalendar'?: boolean - /** 是否添加通讯录联系人,对应接口 [wx.addPhoneContact](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) */ - 'scope.addPhoneContact'?: boolean - /** 是否授权通讯地址,已取消此项授权,会默认返回true */ - 'scope.address'?: boolean - /** 是否授权蓝牙,对应接口 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html)、[wx.createBLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) */ - 'scope.bluetooth'?: boolean - /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */ - 'scope.camera'?: boolean - /** 是否授权获取发票,已取消此项授权,会默认返回true */ - 'scope.invoice'?: boolean - /** 是否授权发票抬头,已取消此项授权,会默认返回true */ - 'scope.invoiceTitle'?: boolean - /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */ - 'scope.record'?: boolean - /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */ - 'scope.userInfo'?: boolean - /** 是否授权地理位置,对应接口 [wx.getLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html), [wx.chooseLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) */ - 'scope.userLocation'?: boolean - /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */ - 'scope.werun'?: boolean - /** 是否授权保存到相册 [wx.saveImageToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html), [wx.saveVideoToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) */ - 'scope.writePhotosAlbum'?: boolean - } - interface AuthorizeForMiniProgramOption { - /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) - * - * 可选值: - * - 'scope.record': ; - * - 'scope.writePhotosAlbum': ; - * - 'scope.camera': ; */ - scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AuthorizeForMiniProgramCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AuthorizeForMiniProgramFailCallback - /** 接口调用成功的回调函数 */ - success?: AuthorizeForMiniProgramSuccessCallback - } - interface AuthorizeOption { - /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) */ - scope: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: AuthorizeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: AuthorizeFailCallback - /** 接口调用成功的回调函数 */ - success?: AuthorizeSuccessCallback - } - /** 设备特征列表 */ - interface BLECharacteristic { - /** 该特征支持的操作类型 */ - properties: BLECharacteristicProperties - /** 蓝牙设备特征的 UUID */ - uuid: string - } - /** 该特征支持的操作类型 */ - interface BLECharacteristicProperties { - /** 该特征是否支持 indicate 操作 */ - indicate: boolean - /** 该特征是否支持 notify 操作 */ - notify: boolean - /** 该特征是否支持 read 操作 */ - read: boolean - /** 该特征是否支持 write 操作 */ - write: boolean - /** 该特征是否支持有回复写操作 */ - writeDefault: boolean - /** 该特征是否支持无回复写操作 */ - writeNoResponse: boolean - } - interface BLEPeripheralServerCloseOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FileSystemManagerCloseCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SocketTaskCloseFailCallback - /** 接口调用成功的回调函数 */ - success?: FileSystemManagerCloseSuccessCallback - } - /** 描述service的Object */ - interface BLEPeripheralService { - /** characteristics列表 */ - characteristics: Characteristic[] - /** 蓝牙服务的 UUID */ - uuid: string - } - /** 设备服务列表 */ - interface BLEService { - /** 该服务是否为主服务 */ - isPrimary: boolean - /** 蓝牙设备服务的 UUID */ - uuid: string - } - /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。 -* -* **示例代码** -* -* ```js -const backgroundAudioManager = wx.getBackgroundAudioManager() - -backgroundAudioManager.title = '此时此刻' -backgroundAudioManager.epname = '此时此刻' -backgroundAudioManager.singer = '许巍' -backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000' -// 设置了 src 之后会自动播放 -backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' -``` */ - interface BackgroundAudioManager { - /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */ - buffered: number - /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */ - coverImgUrl: string - /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */ - currentTime: number - /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */ - duration: number - /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ - epname: string - /** 当前是否暂停或停止。(只读) */ - paused: boolean - /** 需要基础库: `2.11.0` - * - * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ - playbackRate: number - /** 需要基础库: `1.9.94` - * - * 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。 */ - protocol: string - /** 需要基础库: `2.13.0` - * - * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ - referrerPolicy: string - /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ - singer: string - /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */ - src: string - /** 音频开始播放的位置(单位:s)。 */ - startTime: number - /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */ - title: string - /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ - webUrl: string - } - interface BatchGetStorageOption { - /** 本地缓存中指定的 keyList */ - keyList: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: BatchGetStorageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: BatchGetStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: BatchGetStorageSuccessCallback - } - interface BatchSetStorageOption { - /** { key, value } */ - kvList: IAnyObject - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: BatchSetStorageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: BatchSetStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: BatchSetStorageSuccessCallback - } - /** Beacon 设备 */ - interface BeaconInfo { - /** Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 */ - accuracy: number - /** Beacon 设备的主 ID */ - major: number - /** Beacon 设备的次 ID */ - minor: number - /** 表示设备距离的枚举值(仅iOS) - * - * 可选值: - * - 0: 信号太弱不足以计算距离,或非 iOS 设备; - * - 1: 十分近; - * - 2: 比较近; - * - 3: 远; */ - proximity: 0 | 1 | 2 | 3 - /** 表示设备的信号强度,单位 dBm */ - rssi: number - /** Beacon 设备广播的 UUID */ - uuid: string - } - /** 需要基础库: `2.20.1` - * - * 以 beacon 设备形式广播的参数。 */ - interface BeaconInfoObj { - /** Beacon 设备的主 ID */ - major: number - /** Beacon 设备的次 ID */ - minor: number - /** Beacon 设备广播的 UUID */ - uuid: string - /** 用于判断距离设备 1 米时 RSSI 大小的参考值 */ - measuredPower?: number - } - interface BindWifiOption { - /** 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 */ - BSSID: string - } - interface BlueToothDevice { - /** 当前蓝牙设备的信号强度,单位 dBm */ - RSSI: number - /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */ - advertisData: ArrayBuffer - /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */ - advertisServiceUUIDs: string[] - /** 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) */ - connectable: boolean - /** 蓝牙设备 id */ - deviceId: string - /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */ - localName: string - /** 蓝牙设备名称,某些设备可能没有 */ - name: string - /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */ - serviceData: IAnyObject - } - /** 搜索到的设备列表 */ - interface BluetoothDeviceInfo { - /** 用于区分设备的 id */ - deviceId: string - /** 蓝牙设备名称,某些设备可能没有 */ - name: string - } - interface BlurOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: BlurCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: BlurFailCallback - /** 接口调用成功的回调函数 */ - success?: BlurSuccessCallback - } - interface BoundingClientRectCallbackResult { - /** 节点的下边界坐标 */ - bottom: number - /** 节点的 dataset */ - dataset: IAnyObject - /** 节点的高度 */ - height: number - /** 节点的 ID */ - id: string - /** 节点的左边界坐标 */ - left: number - /** 节点的右边界坐标 */ - right: number - /** 节点的上边界坐标 */ - top: number - /** 节点的宽度 */ - width: number - } - /** 目标边界 */ - interface BoundingClientRectResult { - /** 下边界 */ - bottom: number - /** 高度 */ - height: number - /** 左边界 */ - left: number - /** 右边界 */ - right: number - /** 上边界 */ - top: number - /** 宽度 */ - width: number - } - /** 需要基础库: `2.24.0` - * - * 缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力: - * - * 1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。 - * 2. 在网络通畅时,某些 wx api 调用会被缓存。 - * 3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。 - * 4. 提供进入和退出弱网/离线状态的事件。 - * - * > 1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。 - * > 2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。 */ - interface CacheManager { - /** 全局缓存有效时间 */ - maxAge: string - /** 当前缓存模式 - * - * 可选值: - * - 'weakNetwork': 默认值,弱网/离线使用缓存返回; - * - 'always': 总是使用缓存返回; - * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ - mode: 'weakNetwork' | 'always' | 'none' - /** 全局 origin */ - origin: string - /** 当前缓存管理器状态 - * - * 可选值: - * - 0: 不使用缓存返回; - * - 1: 使用缓存返回; - * - 2: 未知; */ - state: 0 | 1 | 2 - } - interface CameraContextStartRecordOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartRecordCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartRecordFailCallback - /** 需要基础库: `2.22.0` - * - * 是否开启镜像 */ - selfieMirror?: boolean - /** 接口调用成功的回调函数 */ - success?: CameraContextStartRecordSuccessCallback - /** 需要基础库: `2.22.0` - * - * 录制时长上限,单位为秒,最长不能超过 5 分钟 */ - timeout?: number - /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ - timeoutCallback?: StartRecordTimeoutCallback - } - interface CameraContextStopRecordOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopRecordCompleteCallback - /** 启动视频压缩,压缩效果同`chooseVideo` */ - compressed?: boolean - /** 接口调用失败的回调函数 */ - fail?: StopRecordFailCallback - /** 接口调用成功的回调函数 */ - success?: CameraContextStopRecordSuccessCallback - } - interface CameraFrameListenerStartOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartFailCallback - /** 接口调用成功的回调函数 */ - success?: StartSuccessCallback - /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) - * - * 需要基础库: `2.25.1` - * - * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */ - worker?: Worker - } - /** 需要基础库: `2.7.0` - * - * Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。 - * - * **示例代码** - * - * 2D Canvas 示例 - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM) - * - * WebGL 示例 - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z) */ - interface Canvas { - /** 画布高度 */ - height: number - /** 画布宽度 */ - width: number - } - /** @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */ - interface CanvasContext { - /** 需要基础库: `1.9.90` - * - * 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。 */ - fillStyle: string | CanvasGradient - /** 需要基础库: `1.9.90` - * - * 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。 */ - font: string - /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ - globalAlpha: number - /** 需要基础库: `1.9.90` - * - * 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。 - * - * 目前支持的操作有 - * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light - * - iOS:xor, source-over, source-atop, destination-over, destination-out, lighter, multiply, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, saturation, luminosity */ - globalCompositeOperation: string - /** 需要基础库: `1.9.90` - * - * 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。 */ - lineCap: string - /** 需要基础库: `1.9.90` - * - * 虚线偏移量,初始值为0 */ - lineDashOffset: number - /** 需要基础库: `1.9.90` - * - * 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。 - * - * 可选值: - * - 'bevel': 斜角; - * - 'round': 圆角; - * - 'miter': 尖角; */ - lineJoin: 'bevel' | 'round' | 'miter' - /** 需要基础库: `1.9.90` - * - * 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。 */ - lineWidth: number - /** 需要基础库: `1.9.90` - * - * 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。 */ - miterLimit: number - /** 需要基础库: `1.9.90` - * - * 阴影的模糊级别 */ - shadowBlur: number - /** 需要基础库: `1.9.90` - * - * 阴影的颜色 */ - shadowColor: number - /** 需要基础库: `1.9.90` - * - * 阴影相对于形状在水平方向的偏移 */ - shadowOffsetX: number - /** 需要基础库: `1.9.90` - * - * 阴影相对于形状在竖直方向的偏移 */ - shadowOffsetY: number - /** 需要基础库: `1.9.90` - * - * 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。 */ - strokeStyle: string | CanvasGradient - } - interface CanvasGetImageDataOption { - /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */ - canvasId: string - /** 将要被提取的图像数据矩形区域的高度 */ - height: number - /** 将要被提取的图像数据矩形区域的宽度 */ - width: number - /** 将要被提取的图像数据矩形区域的左上角横坐标 */ - x: number - /** 将要被提取的图像数据矩形区域的左上角纵坐标 */ - y: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CanvasGetImageDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CanvasGetImageDataFailCallback - /** 接口调用成功的回调函数 */ - success?: CanvasGetImageDataSuccessCallback - } - interface CanvasGetImageDataSuccessCallbackResult { - /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ - data: Uint8ClampedArray - /** 图像数据矩形的高度 */ - height: number - /** 图像数据矩形的宽度 */ - width: number - errMsg: string - } - interface CanvasPutImageDataOption { - /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */ - canvasId: string - /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ - data: Uint8ClampedArray - /** 源图像数据矩形区域的高度 */ - height: number - /** 源图像数据矩形区域的宽度 */ - width: number - /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */ - x: number - /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */ - y: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CanvasPutImageDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CanvasPutImageDataFailCallback - /** 接口调用成功的回调函数 */ - success?: CanvasPutImageDataSuccessCallback - } - interface CanvasToTempFilePathOption { - /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */ - canvas?: IAnyObject - /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */ - canvasId?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CanvasToTempFilePathCompleteCallback - /** 需要基础库: `1.2.0` - * - * 输出的图片的高度 */ - destHeight?: number - /** 需要基础库: `1.2.0` - * - * 输出的图片的宽度 */ - destWidth?: number - /** 接口调用失败的回调函数 */ - fail?: CanvasToTempFilePathFailCallback - /** 需要基础库: `1.7.0` - * - * 目标文件的类型 - * - * 可选值: - * - 'jpg': jpg 图片; - * - 'png': png 图片; */ - fileType?: 'jpg' | 'png' - /** 需要基础库: `1.2.0` - * - * 指定的画布区域的高度 */ - height?: number - /** 需要基础库: `1.7.0` - * - * 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 */ - quality?: number - /** 接口调用成功的回调函数 */ - success?: CanvasToTempFilePathSuccessCallback - /** 需要基础库: `1.2.0` - * - * 指定的画布区域的宽度 */ - width?: number - /** 需要基础库: `1.2.0` - * - * 指定的画布区域的左上角横坐标 */ - x?: number - /** 需要基础库: `1.2.0` - * - * 指定的画布区域的左上角纵坐标 */ - y?: number - } - interface CanvasToTempFilePathSuccessCallbackResult { - /** 生成文件的临时路径 (本地路径) */ - tempFilePath: string - errMsg: string - } - /** characteristics列表 */ - interface Characteristic { - /** characteristic 的 UUID */ - uuid: string - /** 描述符数据 */ - descriptors?: CharacteristicDescriptor[] - /** 特征权限 */ - permission?: CharacteristicPermission - /** 特征支持的操作 */ - properties?: CharacteristicProperties - /** 特征对应的二进制值 */ - value?: ArrayBuffer - } - /** 描述符数据 */ - interface CharacteristicDescriptor { - /** Descriptor 的 UUID */ - uuid: string - /** 描述符的权限 */ - permission?: DescriptorPermission - /** 描述符数据 */ - value?: ArrayBuffer - } - /** 特征权限 */ - interface CharacteristicPermission { - /** 加密读请求 */ - readEncryptionRequired?: boolean - /** 可读 */ - readable?: boolean - /** 加密写请求 */ - writeEncryptionRequired?: boolean - /** 可写 */ - writeable?: boolean - } - /** 特征支持的操作 */ - interface CharacteristicProperties { - /** 回包 */ - indicate?: boolean - /** 订阅 */ - notify?: boolean - /** 读 */ - read?: boolean - /** 写 */ - write?: boolean - /** 无回复写 */ - writeNoResponse?: boolean - } - interface CheckIsOpenAccessibilityOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CheckIsOpenAccessibilityCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CheckIsOpenAccessibilityFailCallback - /** 接口调用成功的回调函数 */ - success?: CheckIsOpenAccessibilitySuccessCallback - } - interface CheckIsOpenAccessibilitySuccessCallbackOption { - /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */ - open: boolean - } - interface CheckIsSoterEnrolledInDeviceOption { - /** 认证方式 - * - * 可选值: - * - 'fingerPrint': 指纹识别; - * - 'facial': 人脸识别; - * - 'speech': 声纹识别(暂未支持); */ - checkAuthMode: 'fingerPrint' | 'facial' | 'speech' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CheckIsSoterEnrolledInDeviceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CheckIsSoterEnrolledInDeviceFailCallback - /** 接口调用成功的回调函数 */ - success?: CheckIsSoterEnrolledInDeviceSuccessCallback - } - interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult { - /** 错误信息 */ - errMsg: string - /** 是否已录入信息 */ - isEnrolled: boolean - } - interface CheckIsSupportSoterAuthenticationOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CheckIsSupportSoterAuthenticationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CheckIsSupportSoterAuthenticationFailCallback - /** 接口调用成功的回调函数 */ - success?: CheckIsSupportSoterAuthenticationSuccessCallback - } - interface CheckIsSupportSoterAuthenticationSuccessCallbackResult { - /** 该设备支持的可被SOTER识别的生物识别方式 - * - * 可选值: - * - 'fingerPrint': 指纹识别; - * - 'facial': 人脸识别; - * - 'speech': 声纹识别(暂未支持); */ - supportMode: Array<'fingerPrint' | 'facial' | 'speech'> - errMsg: string - } - interface CheckSessionOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CheckSessionCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CheckSessionFailCallback - /** 接口调用成功的回调函数 */ - success?: CheckSessionSuccessCallback - } - interface ChooseAddressOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseAddressCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseAddressFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseAddressSuccessCallback - } - interface ChooseAddressSuccessCallbackResult { - /** 国标收货地址第二级地址 */ - cityName: string - /** 国标收货地址第三级地址 */ - countyName: string - /** 详细收货地址信息(包括街道地址) */ - detailInfo: string - /** 新选择器详细收货地址信息 */ - detailInfoNew: string - /** 错误信息 */ - errMsg: string - /** 收货地址国家码 */ - nationalCode: string - /** 邮编 */ - postalCode: string - /** 国标收货地址第一级地址 */ - provinceName: string - /** 国标收货地址第四级地址 */ - streetName: string - /** 收货人手机号码 */ - telNumber: string - /** 收货人姓名 */ - userName: string - } - interface ChooseContactOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseContactCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseContactFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseContactSuccessCallback - } - interface ChooseContactSuccessCallbackOption { - /** 联系人姓名 */ - displayName: string - /** 手机号 */ - phoneNumber: string - /** 选定联系人的所有手机号(部分 Android 系统只能选联系人而不能选特定手机号) */ - phoneNumberList: string - } - /** 返回选择的文件的本地临时文件对象数组 */ - interface ChooseFile { - /** 选择的文件名称 */ - name: string - /** 本地临时文件路径 (本地路径) */ - path: string - /** 本地临时文件大小,单位 B */ - size: number - /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */ - time: number - /** 选择的文件类型 - * - * 可选值: - * - 'video': 选择了视频文件; - * - 'image': 选择了图片文件; - * - 'file': 选择了除图片和视频的文件; */ - type: 'video' | 'image' | 'file' - } - interface ChooseImageOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseImageCompleteCallback - /** 最多可以选择的图片张数 */ - count?: number - /** 接口调用失败的回调函数 */ - fail?: ChooseImageFailCallback - /** 所选的图片的尺寸 - * - * 可选值: - * - 'original': 原图; - * - 'compressed': 压缩图; */ - sizeType?: Array<'original' | 'compressed'> - /** 选择图片的来源 - * - * 可选值: - * - 'album': 从相册选图; - * - 'camera': 使用相机; */ - sourceType?: Array<'album' | 'camera'> - /** 接口调用成功的回调函数 */ - success?: ChooseImageSuccessCallback - } - interface ChooseImageSuccessCallbackResult { - /** 图片的本地临时文件路径列表 (本地路径) */ - tempFilePaths: string[] - /** 需要基础库: `1.2.0` - * - * 图片的本地临时文件列表 */ - tempFiles: ImageFile[] - errMsg: string - } - interface ChooseInvoiceOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseInvoiceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseInvoiceFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseInvoiceSuccessCallback - } - interface ChooseInvoiceSuccessCallbackResult { - /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */ - invoiceInfo: string - errMsg: string - } - interface ChooseInvoiceTitleOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseInvoiceTitleCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseInvoiceTitleFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseInvoiceTitleSuccessCallback - } - interface ChooseInvoiceTitleSuccessCallbackResult { - /** 银行账号 */ - bankAccount: string - /** 银行名称 */ - bankName: string - /** 单位地址 */ - companyAddress: string - /** 错误信息 */ - errMsg: string - /** 抬头税号 */ - taxNumber: string - /** 手机号码 */ - telephone: string - /** 抬头名称 */ - title: string - /** 抬头类型 - * - * 可选值: - * - 0: 单位; - * - 1: 个人; */ - type: 0 | 1 - } - interface ChooseLicensePlateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseLicensePlateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseLicensePlateFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseLicensePlateSuccessCallback - } - interface ChooseLicensePlateSuccessCallbackResult { - /** 用户选择的车牌号 */ - plateNumber: string - errMsg: string - } - interface ChooseLocationOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChooseLocationFailCallback - /** 需要基础库: `2.9.0` - * - * 目标地纬度 */ - latitude?: number - /** 需要基础库: `2.9.0` - * - * 目标地经度 */ - longitude?: number - /** 接口调用成功的回调函数 */ - success?: ChooseLocationSuccessCallback - } - interface ChooseLocationSuccessCallbackResult { - /** 详细地址 */ - address: string - /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ - latitude: number - /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ - longitude: number - /** 位置名称 */ - name: string - errMsg: string - } - interface ChooseMediaOption { - /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头 - * - * 可选值: - * - 'back': 使用后置摄像头; - * - 'front': 使用前置摄像头; */ - camera?: 'back' | 'front' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseMediaCompleteCallback - /** 最多可以选择的文件个数 */ - count?: number - /** 接口调用失败的回调函数 */ - fail?: ChooseMediaFailCallback - /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 */ - maxDuration?: number - /** 文件类型 - * - * 可选值: - * - 'image': 只能拍摄图片或从相册选择图片; - * - 'video': 只能拍摄视频或从相册选择视频; - * - 'mix': 可同时选择图片和视频; */ - mediaType?: Array<'image' | 'video' | 'mix'> - /** 仅对 mediaType 为 image 时有效,是否压缩所选文件 */ - sizeType?: string[] - /** 图片和视频选择的来源 - * - * 可选值: - * - 'album': 从相册选择; - * - 'camera': 使用相机拍摄; */ - sourceType?: Array<'album' | 'camera'> - /** 接口调用成功的回调函数 */ - success?: ChooseMediaSuccessCallback - } - interface ChooseMediaSuccessCallbackResult { - /** 本地临时文件列表 */ - tempFiles: MediaFile[] - /** 文件类型,有效值有 image 、video、mix */ - type: string - errMsg: string - } - interface ChooseMessageFileOption { - /** 最多可以选择的文件个数,可以 0~100 */ - count: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseMessageFileCompleteCallback - /** 需要基础库: `2.6.0` - * - * 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 */ - extension?: string[] - /** 接口调用失败的回调函数 */ - fail?: ChooseMessageFileFailCallback - /** 接口调用成功的回调函数 */ - success?: ChooseMessageFileSuccessCallback - /** 所选的文件的类型 - * - * 可选值: - * - 'all': 从所有文件选择; - * - 'video': 只能选择视频文件; - * - 'image': 只能选择图片文件; - * - 'file': 可以选择除了图片和视频之外的其它的文件; */ - type?: 'all' | 'video' | 'image' | 'file' - } - interface ChooseMessageFileSuccessCallbackResult { - /** 返回选择的文件的本地临时文件对象数组 */ - tempFiles: ChooseFile[] - errMsg: string - } - interface ChoosePoiOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChoosePoiCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ChoosePoiFailCallback - /** 接口调用成功的回调函数 */ - success?: ChoosePoiSuccessCallback - } - interface ChoosePoiSuccessCallbackResult { - /** 详细地址 */ - address: string - /** 城市名称 */ - city: number - /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系(即将废弃) */ - latitude: number - /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系(即将废弃) */ - longitude: number - /** 位置名称 */ - name: string - /** 选择城市时,值为 1,选择精确位置时,值为 2 */ - type: number - errMsg: string - } - interface ChooseVideoOption { - /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效 - * - * 可选值: - * - 'back': 默认拉起后置摄像头; - * - 'front': 默认拉起前置摄像头; */ - camera?: 'back' | 'front' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ChooseVideoCompleteCallback - /** 需要基础库: `1.6.0` - * - * 是否压缩所选择的视频文件 */ - compressed?: boolean - /** 接口调用失败的回调函数 */ - fail?: ChooseVideoFailCallback - /** 拍摄视频最长拍摄时间,单位秒 */ - maxDuration?: number - /** 视频选择的来源 - * - * 可选值: - * - 'album': 从相册选择视频; - * - 'camera': 使用相机拍摄视频; */ - sourceType?: Array<'album' | 'camera'> - /** 接口调用成功的回调函数 */ - success?: ChooseVideoSuccessCallback - } - interface ChooseVideoSuccessCallbackResult { - /** 选定视频的时间长度 */ - duration: number - /** 返回选定视频的高度 */ - height: number - /** 选定视频的数据量大小 */ - size: number - /** 选定视频的临时文件路径 (本地路径) */ - tempFilePath: string - /** 返回选定视频的宽度 */ - width: number - errMsg: string - } - interface ClearOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ClearCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ClearFailCallback - /** 接口调用成功的回调函数 */ - success?: ClearSuccessCallback - } - interface ClearStorageOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ClearStorageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ClearStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: ClearStorageSuccessCallback - } - /** 菜单按钮的布局位置信息 */ - interface ClientRect { - /** 下边界坐标,单位:px */ - bottom: number - /** 高度,单位:px */ - height: number - /** 左边界坐标,单位:px */ - left: number - /** 右边界坐标,单位:px */ - right: number - /** 上边界坐标,单位:px */ - top: number - /** 宽度,单位:px */ - width: number - } - interface CloseBLEConnectionOption { - /** 蓝牙设备 id */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CloseBLEConnectionCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CloseBLEConnectionFailCallback - /** 接口调用成功的回调函数 */ - success?: CloseBLEConnectionSuccessCallback - } - interface CloseBluetoothAdapterOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CloseBluetoothAdapterCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CloseBluetoothAdapterFailCallback - /** 接口调用成功的回调函数 */ - success?: CloseBluetoothAdapterSuccessCallback - } - interface CloseFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'bad file descriptor': 无效的文件描述符; */ - errMsg: string - } - interface CloseSocketOption { - /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ - code?: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CloseSocketCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CloseSocketFailCallback - /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ - reason?: string - /** 接口调用成功的回调函数 */ - success?: CloseSocketSuccessCallback - } - interface CloseSyncOption { - /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - } - /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色: - * - * - RGB 颜色: 如 `'rgb(255, 0, 0)'` - * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'` - * - 16 进制颜色: 如 `'#FF0000'` - * - 预定义的颜色: 如 `'red'` - * - * 其中预定义颜色有以下148个: - * *注意**: Color Name 大小写不敏感 - * - * | Color Name | HEX | - * | -------------------- | ------- | - * | AliceBlue | #F0F8FF | - * | AntiqueWhite | #FAEBD7 | - * | Aqua | #00FFFF | - * | Aquamarine | #7FFFD4 | - * | Azure | #F0FFFF | - * | Beige | #F5F5DC | - * | Bisque | #FFE4C4 | - * | Black | #000000 | - * | BlanchedAlmond | #FFEBCD | - * | Blue | #0000FF | - * | BlueViolet | #8A2BE2 | - * | Brown | #A52A2A | - * | BurlyWood | #DEB887 | - * | CadetBlue | #5F9EA0 | - * | Chartreuse | #7FFF00 | - * | Chocolate | #D2691E | - * | Coral | #FF7F50 | - * | CornflowerBlue | #6495ED | - * | Cornsilk | #FFF8DC | - * | Crimson | #DC143C | - * | Cyan | #00FFFF | - * | DarkBlue | #00008B | - * | DarkCyan | #008B8B | - * | DarkGoldenRod | #B8860B | - * | DarkGray | #A9A9A9 | - * | DarkGrey | #A9A9A9 | - * | DarkGreen | #006400 | - * | DarkKhaki | #BDB76B | - * | DarkMagenta | #8B008B | - * | DarkOliveGreen | #556B2F | - * | DarkOrange | #FF8C00 | - * | DarkOrchid | #9932CC | - * | DarkRed | #8B0000 | - * | DarkSalmon | #E9967A | - * | DarkSeaGreen | #8FBC8F | - * | DarkSlateBlue | #483D8B | - * | DarkSlateGray | #2F4F4F | - * | DarkSlateGrey | #2F4F4F | - * | DarkTurquoise | #00CED1 | - * | DarkViolet | #9400D3 | - * | DeepPink | #FF1493 | - * | DeepSkyBlue | #00BFFF | - * | DimGray | #696969 | - * | DimGrey | #696969 | - * | DodgerBlue | #1E90FF | - * | FireBrick | #B22222 | - * | FloralWhite | #FFFAF0 | - * | ForestGreen | #228B22 | - * | Fuchsia | #FF00FF | - * | Gainsboro | #DCDCDC | - * | GhostWhite | #F8F8FF | - * | Gold | #FFD700 | - * | GoldenRod | #DAA520 | - * | Gray | #808080 | - * | Grey | #808080 | - * | Green | #008000 | - * | GreenYellow | #ADFF2F | - * | HoneyDew | #F0FFF0 | - * | HotPink | #FF69B4 | - * | IndianRed | #CD5C5C | - * | Indigo | #4B0082 | - * | Ivory | #FFFFF0 | - * | Khaki | #F0E68C | - * | Lavender | #E6E6FA | - * | LavenderBlush | #FFF0F5 | - * | LawnGreen | #7CFC00 | - * | LemonChiffon | #FFFACD | - * | LightBlue | #ADD8E6 | - * | LightCoral | #F08080 | - * | LightCyan | #E0FFFF | - * | LightGoldenRodYellow | #FAFAD2 | - * | LightGray | #D3D3D3 | - * | LightGrey | #D3D3D3 | - * | LightGreen | #90EE90 | - * | LightPink | #FFB6C1 | - * | LightSalmon | #FFA07A | - * | LightSeaGreen | #20B2AA | - * | LightSkyBlue | #87CEFA | - * | LightSlateGray | #778899 | - * | LightSlateGrey | #778899 | - * | LightSteelBlue | #B0C4DE | - * | LightYellow | #FFFFE0 | - * | Lime | #00FF00 | - * | LimeGreen | #32CD32 | - * | Linen | #FAF0E6 | - * | Magenta | #FF00FF | - * | Maroon | #800000 | - * | MediumAquaMarine | #66CDAA | - * | MediumBlue | #0000CD | - * | MediumOrchid | #BA55D3 | - * | MediumPurple | #9370DB | - * | MediumSeaGreen | #3CB371 | - * | MediumSlateBlue | #7B68EE | - * | MediumSpringGreen | #00FA9A | - * | MediumTurquoise | #48D1CC | - * | MediumVioletRed | #C71585 | - * | MidnightBlue | #191970 | - * | MintCream | #F5FFFA | - * | MistyRose | #FFE4E1 | - * | Moccasin | #FFE4B5 | - * | NavajoWhite | #FFDEAD | - * | Navy | #000080 | - * | OldLace | #FDF5E6 | - * | Olive | #808000 | - * | OliveDrab | #6B8E23 | - * | Orange | #FFA500 | - * | OrangeRed | #FF4500 | - * | Orchid | #DA70D6 | - * | PaleGoldenRod | #EEE8AA | - * | PaleGreen | #98FB98 | - * | PaleTurquoise | #AFEEEE | - * | PaleVioletRed | #DB7093 | - * | PapayaWhip | #FFEFD5 | - * | PeachPuff | #FFDAB9 | - * | Peru | #CD853F | - * | Pink | #FFC0CB | - * | Plum | #DDA0DD | - * | PowderBlue | #B0E0E6 | - * | Purple | #800080 | - * | RebeccaPurple | #663399 | - * | Red | #FF0000 | - * | RosyBrown | #BC8F8F | - * | RoyalBlue | #4169E1 | - * | SaddleBrown | #8B4513 | - * | Salmon | #FA8072 | - * | SandyBrown | #F4A460 | - * | SeaGreen | #2E8B57 | - * | SeaShell | #FFF5EE | - * | Sienna | #A0522D | - * | Silver | #C0C0C0 | - * | SkyBlue | #87CEEB | - * | SlateBlue | #6A5ACD | - * | SlateGray | #708090 | - * | SlateGrey | #708090 | - * | Snow | #FFFAFA | - * | SpringGreen | #00FF7F | - * | SteelBlue | #4682B4 | - * | Tan | #D2B48C | - * | Teal | #008080 | - * | Thistle | #D8BFD8 | - * | Tomato | #FF6347 | - * | Turquoise | #40E0D0 | - * | Violet | #EE82EE | - * | Wheat | #F5DEB3 | - * | White | #FFFFFF | - * | WhiteSmoke | #F5F5F5 | - * | Yellow | #FFFF00 | - * | YellowGreen | #9ACD32 | */ - interface Color {} - interface CompressImageOption { - /** 图片路径,图片的路径,支持本地路径、代码包路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CompressImageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CompressImageFailCallback - /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */ - quality?: number - /** 接口调用成功的回调函数 */ - success?: CompressImageSuccessCallback - } - interface CompressImageSuccessCallbackResult { - /** 压缩后图片的临时文件路径 (本地路径) */ - tempFilePath: string - errMsg: string - } - interface CompressVideoOption { - /** 码率,单位 kbps */ - bitrate: number - /** 帧率 */ - fps: number - /** 压缩质量 - * - * 可选值: - * - 'low': 低; - * - 'medium': 中; - * - 'high': 高; */ - quality: 'low' | 'medium' | 'high' - /** 相对于原视频的分辨率比例,取值范围(0, 1] */ - resolution: number - /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CompressVideoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CompressVideoFailCallback - /** 接口调用成功的回调函数 */ - success?: CompressVideoSuccessCallback - } - interface CompressVideoSuccessCallbackResult { - /** 压缩后的大小,单位 kB */ - size: string - /** 压缩后的临时文件地址 */ - tempFilePath: string - errMsg: string - } - interface ConnectSocketOption { - /** 开发者服务器 wss 接口地址 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ConnectSocketCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ConnectSocketFailCallback - /** HTTP Header,Header 中不能设置 Referer */ - header?: IAnyObject - /** 需要基础库: `2.8.0` - * - * 是否开启压缩扩展 */ - perMessageDeflate?: boolean - /** 需要基础库: `1.4.0` - * - * 子协议数组 */ - protocols?: string[] - /** 接口调用成功的回调函数 */ - success?: ConnectSocketSuccessCallback - /** 需要基础库: `2.4.0` - * - * 建立 TCP 连接的时候的 TCP_NODELAY 设置 */ - tcpNoDelay?: boolean - /** 需要基础库: `2.10.0` - * - * 超时时间,单位为毫秒 */ - timeout?: number - } - interface ConnectWifiOption { - /** Wi-Fi 设备 SSID */ - SSID: string - /** Wi-Fi 设备密码 */ - password: string - /** Wi-Fi 设备 BSSID */ - BSSID?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ConnectWifiCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ConnectWifiFailCallback - /** 需要基础库: `2.12.0` - * - * 跳转到系统设置页进行连接 */ - maunal?: boolean - /** 需要基础库: `2.22.0` - * - * 是否需要返回部分 Wi-Fi 信息,仅安卓生效 */ - partialInfo?: boolean - /** 接口调用成功的回调函数 */ - success?: ConnectWifiSuccessCallback - } - /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ - interface Constraints { - /** 如果指定为true则禁用标准化,默认为false */ - disableNormalization?: boolean - } - interface ContextCallbackResult { - /** 节点对应的 Context 对象 */ - context: IAnyObject - } - interface CopyFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail permission denied, copyFile ${srcPath} -> ${destPath}': 指定目标文件路径没有写权限; - * - 'fail no such file or directory, copyFile ${srcPath} -> ${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; - * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface CopyFileOption { - /** 目标文件路径,支持本地路径 */ - destPath: string - /** 源文件路径,支持本地路径 */ - srcPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CopyFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CopyFileFailCallback - /** 接口调用成功的回调函数 */ - success?: CopyFileSuccessCallback - } - interface CreateBLEConnectionOption { - /** 蓝牙设备 id */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CreateBLEConnectionCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CreateBLEConnectionFailCallback - /** 接口调用成功的回调函数 */ - success?: CreateBLEConnectionSuccessCallback - /** 超时时间,单位 ms,不填表示不会超时 */ - timeout?: number - } - interface CreateBLEPeripheralServerOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: CreateBLEPeripheralServerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: CreateBLEPeripheralServerFailCallback - /** 接口调用成功的回调函数 */ - success?: CreateBLEPeripheralServerSuccessCallback - } - interface CreateBLEPeripheralServerSuccessCallbackResult { - /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html) - * - * 外围设备的服务端。 */ - server: BLEPeripheralServer - errMsg: string - } - interface CreateCacheManagerOption { - /** 额外的缓存处理 */ - extra?: ExtraOption - /** 全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天 */ - maxAge?: number - /** 缓存模式 - * - * 可选值: - * - 'weakNetwork': 弱网/离线使用缓存返回; - * - 'always': 总是使用缓存返回; - * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ - mode?: 'weakNetwork' | 'always' | 'none' - /** 全局 origin */ - origin?: string - } - interface CreateInnerAudioContextOption { - /** 需要基础库: `2.19.0` - * - * 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项。 */ - useWebAudioImplement?: boolean - } - /** 选项 */ - interface CreateIntersectionObserverOption { - /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */ - initialRatio?: number - /** 需要基础库: `2.0.0` - * - * 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能) */ - observeAll?: boolean - /** 一个数值数组,包含所有阈值。 */ - thresholds?: number[] - } - interface CreateInterstitialAdOption { - /** 广告单元 id */ - adUnitId: string - } - interface CreateMediaRecorderOption { - /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */ - duration?: number - /** 视频 fps */ - fps?: number - /** 视频关键帧间隔 */ - gop?: number - /** 视频比特率(kbps),最小值 600,最大值 3000 */ - videoBitsPerSecond?: number - } - interface CreateOffscreenCanvasOption { - /** 在自定义组件下,当前组件实例的 this */ - compInst?: Component.TrivialInstance | Page.TrivialInstance - /** 画布高度 */ - height?: number - /** 创建的离屏 canvas 类型 - * - * 可选值: - * - 'webgl': webgl类型上下文; - * - '2d': 2d类型上下文; */ - type?: 'webgl' | '2d' - /** 画布宽度 */ - width?: number - } - interface CreateRewardedVideoAdOption { - /** 广告单元 id */ - adUnitId: string - /** 需要基础库: `2.8.0` - * - * 是否启用多例模式,默认为false */ - multiton?: boolean - } - /** 可选参数 */ - interface CreateWorkerOption { - /** 需要基础库: `2.13.0` - * - * 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 */ - useExperimentalWorker?: boolean - } - interface CurrentState { - /** 当前缓存中的日志条数 */ - logCount: number - /** 当前缓存中最大可存日志条数 */ - maxLogCount: number - /** 当前缓存最大可用空间,以字节为单位 */ - maxSize: number - /** 当前缓存中已使用空间,以字节为单位 */ - size: number - } - /** 弹幕内容 */ - interface Danmu { - /** 弹幕文字 */ - text: string - /** 弹幕颜色 */ - color?: string - } - /** 可选的字体描述符 */ - interface DescOption { - /** 字体样式,可选值为 normal / italic / oblique */ - style?: string - /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */ - variant?: string - /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */ - weight?: string - } - /** 描述符的权限 */ - interface DescriptorPermission { - /** 读 */ - read?: boolean - /** 写 */ - write?: boolean - } - /** 指定 marker 移动到的目标点 */ - interface DestinationOption { - /** 纬度 */ - latitude: number - /** 经度 */ - longitude: number - } - interface DetectFaceOption { - /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */ - frameBuffer: ArrayBuffer - /** 图像高度 */ - height: number - /** 图像宽度 */ - width: number - /** 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。 - * - * 可选值: - * - 0: 小模型; - * - 1: 中模型; - * - 2: 大模型; */ - modelModel?: 0 | 1 | 2 - /** 评分阈值。正常情况传入 0.8 即可。 */ - scoreThreshold?: number - /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果 - * - * 可选值: - * - 1: 表示输入的图片是随机的图片; - * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */ - sourceType?: 1 | 0 - } - interface DeviceInfo { - /** 应用(微信APP)二进制接口类型(仅 Android 支持) */ - abi: string - /** 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ - benchmarkLevel: number - /** 设备品牌 */ - brand: string - /** 需要基础库: `2.25.1` - * - * 设备二进制接口类型(仅 Android 支持) */ - deviceAbi: string - /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ - model: string - /** 客户端平台 */ - platform: string - /** 操作系统及版本 */ - system: string - } - interface DisableAlertBeforeUnloadOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: DisableAlertBeforeUnloadCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: DisableAlertBeforeUnloadFailCallback - /** 接口调用成功的回调函数 */ - success?: DisableAlertBeforeUnloadSuccessCallback - } - interface DownloadFileOption { - /** 下载资源的 url */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: DownloadFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: DownloadFileFailCallback - /** 需要基础库: `1.8.0` - * - * 指定文件下载后存储的路径 (本地路径) */ - filePath?: string - /** HTTP 请求的 Header,Header 中不能设置 Referer */ - header?: IAnyObject - /** 接口调用成功的回调函数 */ - success?: DownloadFileSuccessCallback - /** 需要基础库: `2.10.0` - * - * 超时时间,单位为毫秒 */ - timeout?: number - } - interface DownloadFileSuccessCallbackResult { - /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */ - filePath: string - /** 需要基础库: `2.10.4` - * - * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ - profile: RequestProfile - /** 开发者服务器返回的 HTTP 状态码 */ - statusCode: number - /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */ - tempFilePath: string - errMsg: string - } - interface DownloadTaskOnProgressUpdateListenerResult { - /** 下载进度百分比 */ - progress: number - /** 预期需要下载的数据总长度,单位 Bytes */ - totalBytesExpectedToWrite: number - /** 已经下载的数据长度,单位 Bytes */ - totalBytesWritten: number - } - interface EditImageOption { - /** 图片路径,图片的路径,支持本地路径、代码包路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: EditImageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: EditImageFailCallback - /** 接口调用成功的回调函数 */ - success?: EditImageSuccessCallback - } - interface EditImageSuccessCallbackResult { - /** 编辑后图片的临时文件路径 (本地路径) */ - tempFilePath: string - errMsg: string - } - interface EnableAlertBeforeUnloadOption { - /** 询问对话框内容 */ - message: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: EnableAlertBeforeUnloadCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: EnableAlertBeforeUnloadFailCallback - /** 接口调用成功的回调函数 */ - success?: EnableAlertBeforeUnloadSuccessCallback - } - /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ - interface EntriesResult { - /** 文件路径 */ - [path: string]: ZipFileItem - } - /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ - interface EntryItem { - /** 压缩包内文件路径 */ - path: string - /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ - length?: number - /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ - position?: number - } - interface Err { - /** 错误信息 */ - errMsg: string - /** 需要基础库: `2.24.0` - * - * errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/miniprogram/dev/framework/usability/PublicErrno.html) */ - errno: number - } - interface ExitFullScreenOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ExitFullScreenCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ExitFullScreenFailCallback - /** 接口调用成功的回调函数 */ - success?: ExitFullScreenSuccessCallback - } - interface ExitMiniProgramOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ExitMiniProgramCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ExitMiniProgramFailCallback - /** 接口调用成功的回调函数 */ - success?: ExitMiniProgramSuccessCallback - } - interface ExitPictureInPictureOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ExitPictureInPictureCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ExitPictureInPictureFailCallback - /** 接口调用成功的回调函数 */ - success?: ExitPictureInPictureSuccessCallback - } - interface ExitVoIPChatOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ExitVoIPChatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ExitVoIPChatFailCallback - /** 接口调用成功的回调函数 */ - success?: ExitVoIPChatSuccessCallback - } - /** 客服信息 */ - interface ExtInfoOption { - /** 客服链接 */ - url: string - } - /** 额外的缓存处理 */ - interface ExtraOption { - /** 需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分 - * - * 可选值: - * - 'wx.login': ; - * - 'wx.checkSession': ; - * - 'wx.getSetting': ; */ - apiList?: Array<'wx.login' | 'wx.checkSession' | 'wx.getSetting'> - } - interface ExtractDataSourceOption { - /** 视频源地址,只支持本地文件 */ - source: string - } - /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ - interface FaceAngel { - /** 仰俯角(点头) */ - pitch: number - /** 翻滚角(左右倾) */ - roll: number - /** 偏航角(摇头) */ - yaw: number - } - /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ - interface FaceConf { - /** 整体可信度 */ - global: number - /** 左眼可信度 */ - leftEye: number - /** 嘴巴可信度 */ - mouth: number - /** 鼻子可信度 */ - nose: number - /** 右眼可信度 */ - rightEye: number - } - interface FaceDetectOption { - /** 图像像素点数据,每四项表示一个像素点的 RGBA */ - frameBuffer: ArrayBuffer - /** 图像高度 */ - height: number - /** 图像宽度 */ - width: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FaceDetectCompleteCallback - /** 是否返回当前图像的人脸角度信息 */ - enableAngle?: boolean - /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) */ - enableConf?: boolean - /** 是否返回多张人脸的信息 */ - enableMultiFace?: boolean - /** 是否返回当前图像的人脸(106 个点) */ - enablePoint?: boolean - /** 接口调用失败的回调函数 */ - fail?: FaceDetectFailCallback - /** 接口调用成功的回调函数 */ - success?: FaceDetectSuccessCallback - } - interface FaceDetectSuccessCallbackResult { - /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ - angleArray: FaceAngel - /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ - confArray: FaceConf - /** 脸部方框数值,对象包含 height, weight, originX, originY 四个属性 (origin 为方框左上角坐标) */ - detectRect: IAnyObject - /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */ - faceInfo: IAnyObject[] - /** 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y */ - pointArray: IAnyObject[] - /** 脸部中心点横坐标,检测不到人脸则为 -1 */ - x: number - /** 脸部中心点纵坐标,检测不到人脸则为 -1 */ - y: number - errMsg: string - } - /** 需要基础库: `2.25.0` - * - * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ - interface FaceTrack { - /** 需要基础库: `2.25.0` - * - * 人脸检测模式 - * - * 可选值: - * - 1: 静态图片检测; - * - 2: 通过摄像头实时检测; */ - mode: 1 | 2 - } - interface Fields { - /** 需要基础库: `2.1.0` - * - * 指定样式名列表,返回节点对应样式名的当前值 */ - computedStyle?: string[] - /** 需要基础库: `2.4.2` - * - * 是否返回节点对应的 Context 对象 */ - context?: boolean - /** 是否返回节点 dataset */ - dataset?: boolean - /** 是否返回节点 id */ - id?: boolean - /** 是否返回节点 mark */ - mark?: boolean - /** 需要基础库: `2.7.0` - * - * 是否返回节点对应的 Node 实例 */ - node?: boolean - /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */ - properties?: string[] - /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */ - rect?: boolean - /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */ - scrollOffset?: boolean - /** 是否返回节点尺寸(`width` `height`) */ - size?: boolean - } - interface FileItem { - /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */ - createTime: number - /** 文件路径 (本地路径) */ - filePath: string - /** 本地文件大小,以字节为单位 */ - size: number - } - interface FileSystemManagerCloseOption { - /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FileSystemManagerCloseCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FileSystemManagerCloseFailCallback - /** 接口调用成功的回调函数 */ - success?: FileSystemManagerCloseSuccessCallback - } - interface FileSystemManagerGetFileInfoOption { - /** 要读取的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetFileInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FileSystemManagerGetFileInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: FileSystemManagerGetFileInfoSuccessCallback - } - interface FileSystemManagerGetFileInfoSuccessCallbackResult { - /** 文件大小,以字节为单位 */ - size: number - errMsg: string - } - interface FileSystemManagerGetSavedFileListOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSavedFileListCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSavedFileListFailCallback - /** 接口调用成功的回调函数 */ - success?: FileSystemManagerGetSavedFileListSuccessCallback - } - interface FileSystemManagerGetSavedFileListSuccessCallbackResult { - /** 文件数组 */ - fileList: FileItem[] - errMsg: string - } - interface FileSystemManagerRemoveSavedFileOption { - /** 需要删除的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveSavedFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FileSystemManagerRemoveSavedFileFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveSavedFileSuccessCallback - } - interface FileSystemManagerSaveFileOption { - /** 临时存储文件路径 (本地路径) */ - tempFilePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SaveFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FileSystemManagerSaveFileFailCallback - /** 要存储的文件路径 (本地路径) */ - filePath?: string - /** 接口调用成功的回调函数 */ - success?: SaveFileSuccessCallback - } - /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ - interface ForwardMaterials { - /** 文件名 */ - name: string - /** 文件路径(如果是webview则是url) */ - path: string - /** 文件大小 */ - size: number - /** 文件的mimetype类型 */ - type: string - } - /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */ - interface FrameDataOptions { - /** 帧数据 */ - data: ArrayBuffer - /** 帧数据高度 */ - height: number - /** 帧原始 dts */ - pkDts: number - /** 帧原始 pts */ - pkPts: number - /** 帧数据宽度 */ - width: number - } - interface FromScreenLocationOption { - /** x 坐标值 */ - x: number - /** y 坐标值 */ - y: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FromScreenLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FromScreenLocationFailCallback - /** 接口调用成功的回调函数 */ - success?: FromScreenLocationSuccessCallback - } - interface FstatFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'bad file descriptor': 无效的文件描述符; - * - 'fail permission denied': 指定的 fd 路径没有读权限; */ - errMsg: string - } - interface FstatOption { - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FstatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FstatFailCallback - /** 接口调用成功的回调函数 */ - success?: FstatSuccessCallback - } - interface FstatSuccessCallbackResult { - /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) - * - * Stats 对象,包含了文件的状态信息 */ - stats: Stats - errMsg: string - } - interface FstatSyncOption { - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - } - interface FtruncateFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'bad file descriptor': 无效的文件描述符; - * - 'fail permission denied': 指定的 fd 没有写权限; - * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; - * - 'fail sdcard not mounted': android sdcard 挂载失败; */ - errMsg: string - } - interface FtruncateOption { - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ - length: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FtruncateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: FtruncateFailCallback - /** 接口调用成功的回调函数 */ - success?: FtruncateSuccessCallback - } - interface FtruncateSyncOption { - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ - length: number - } - interface GeneralCallbackResult { - /** 错误信息 */ - errMsg: string - } - interface GetAtqaOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetAtqaCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetAtqaFailCallback - /** 接口调用成功的回调函数 */ - success?: GetAtqaSuccessCallback - } - interface GetAtqaSuccessCallbackResult { - /** 返回 ATQA/SENS_RES 数据 */ - atqa: ArrayBuffer - errMsg: string - } - interface GetAvailableAudioSourcesOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetAvailableAudioSourcesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetAvailableAudioSourcesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetAvailableAudioSourcesSuccessCallback - } - interface GetAvailableAudioSourcesSuccessCallbackResult { - /** 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource - * - * 可选值: - * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; - * - 'buildInMic': 手机麦克风,仅限 iOS; - * - 'headsetMic': 耳机麦克风,仅限 iOS; - * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; - * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; - * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; - * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ - audioSources: Array< - | 'auto' - | 'buildInMic' - | 'headsetMic' - | 'mic' - | 'camcorder' - | 'voice_communication' - | 'voice_recognition' - > - errMsg: string - } - interface GetBLEDeviceCharacteristicsOption { - /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ - deviceId: string - /** 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 */ - serviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBLEDeviceCharacteristicsCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBLEDeviceCharacteristicsFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBLEDeviceCharacteristicsSuccessCallback - } - interface GetBLEDeviceCharacteristicsSuccessCallbackResult { - /** 设备特征列表 */ - characteristics: BLECharacteristic[] - errMsg: string - } - interface GetBLEDeviceRSSIOption { - /** 蓝牙设备 id */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBLEDeviceRSSICompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBLEDeviceRSSIFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBLEDeviceRSSISuccessCallback - } - interface GetBLEDeviceRSSISuccessCallbackResult { - /** 信号强度,单位 dBm */ - RSSI: number - errMsg: string - } - interface GetBLEDeviceServicesOption { - /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBLEDeviceServicesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBLEDeviceServicesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBLEDeviceServicesSuccessCallback - } - interface GetBLEDeviceServicesSuccessCallbackResult { - /** 设备服务列表 */ - services: BLEService[] - errMsg: string - } - interface GetBLEMTUOption { - /** 蓝牙设备 id */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBLEMTUCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBLEMTUFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBLEMTUSuccessCallback - /** 写模式 (iOS 特有参数) - * - * 可选值: - * - 'write': 有回复写; - * - 'writeNoResponse': 无回复写; */ - writeType?: 'write' | 'writeNoResponse' - } - interface GetBLEMTUSuccessCallbackResult { - /** 最大传输单元 */ - mtu: number - errMsg: string - } - interface GetBackgroundAudioPlayerStateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBackgroundAudioPlayerStateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBackgroundAudioPlayerStateFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBackgroundAudioPlayerStateSuccessCallback - } - interface GetBackgroundAudioPlayerStateSuccessCallbackResult { - /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */ - currentPosition: number - /** 歌曲数据链接,只有在音乐播放中时返回 */ - dataUrl: string - /** 音频的下载进度百分比,只有在音乐播放中时返回 */ - downloadPercent: number - /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */ - duration: number - /** 播放状态 - * - * 可选值: - * - 0: 暂停中; - * - 1: 播放中; - * - 2: 没有音乐播放; */ - status: 0 | 1 | 2 - errMsg: string - } - interface GetBackgroundFetchDataOption { - /** 缓存数据类别,取值为 periodic 或 pre */ - fetchType: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBackgroundFetchDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBackgroundFetchDataFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBackgroundFetchDataSuccessCallback - } - interface GetBackgroundFetchDataSuccessCallbackResult { - /** 缓存数据 */ - fetchedData: string - /** 小程序页面路径 */ - path: string - /** 传给页面的 query 参数 */ - query: string - /** 进入小程序的场景值 */ - scene: number - /** 客户端拿到缓存数据的时间戳。(注:安卓 timeStamp 单位是 ms,iOS timeStamp 单位是 s) */ - timeStamp: number - errMsg: string - } - interface GetBackgroundFetchTokenOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBackgroundFetchTokenCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBackgroundFetchTokenFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBackgroundFetchTokenSuccessCallback - } - interface GetBackgroundFetchTokenSuccessCallbackResult { - /** 接口调用结果 */ - errMsg: string - /** 自定义的登录态 */ - token: number - } - interface GetBatteryInfoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBatteryInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBatteryInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBatteryInfoSuccessCallback - } - interface GetBatteryInfoSuccessCallbackResult { - /** 是否正在充电中 */ - isCharging: boolean - /** 设备电量,范围 1 - 100 */ - level: number - errMsg: string - } - interface GetBatteryInfoSyncResult { - /** 是否正在充电中 */ - isCharging: boolean - /** 设备电量,范围 1 - 100 */ - level: number - } - interface GetBeaconsOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBeaconsCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBeaconsFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBeaconsSuccessCallback - } - interface GetBeaconsSuccessCallbackResult { - /** Beacon 设备列表 */ - beacons: BeaconInfo[] - errMsg: string - } - interface GetBluetoothAdapterStateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBluetoothAdapterStateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBluetoothAdapterStateFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBluetoothAdapterStateSuccessCallback - } - interface GetBluetoothAdapterStateSuccessCallbackResult { - /** 蓝牙适配器是否可用 */ - available: boolean - /** 是否正在搜索设备 */ - discovering: boolean - errMsg: string - } - interface GetBluetoothDevicesOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetBluetoothDevicesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetBluetoothDevicesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetBluetoothDevicesSuccessCallback - } - interface GetBluetoothDevicesSuccessCallbackResult { - /** UUID 对应的已连接设备列表 */ - devices: BlueToothDevice[] - errMsg: string - } - interface GetCenterLocationOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetCenterLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetCenterLocationFailCallback - /** 图标路径,支持网络路径、本地路径、代码包路径 */ - iconPath?: string - /** 接口调用成功的回调函数 */ - success?: GetCenterLocationSuccessCallback - } - interface GetCenterLocationSuccessCallbackResult { - /** 纬度 */ - latitude: number - /** 经度 */ - longitude: number - errMsg: string - } - interface GetChannelsLiveInfoOption { - /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetChannelsLiveInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetChannelsLiveInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetChannelsLiveInfoSuccessCallback - } - interface GetChannelsLiveInfoSuccessCallbackResult { - /** 直播主题 */ - description: string - /** 直播 feedId */ - feedId: string - /** 视频号头像 */ - headUrl: string - /** 视频号昵称 */ - nickname: string - /** 直播 nonceId */ - nonceId: string - /** 直播状态,2直播中,3直播结束 */ - status: number - errMsg: string - } - interface GetChannelsLiveNoticeInfoOption { - /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetChannelsLiveNoticeInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetChannelsLiveNoticeInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetChannelsLiveNoticeInfoSuccessCallback - } - interface GetChannelsLiveNoticeInfoSuccessCallbackResult { - /** 直播封面 */ - headUrl: string - /** 视频号昵称 */ - nickname: string - /** 预告 id */ - noticeId: string - /** 需要基础库: `2.24.6` - * - * 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 */ - otherInfos: any[] - /** 是否可预约 */ - reservable: boolean - /** 开始时间 */ - startTime: string - /** 预告状态:0可用 1取消 2已用 */ - status: number - errMsg: string - } - interface GetChannelsShareKeyOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetChannelsShareKeyCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetChannelsShareKeyFailCallback - /** 接口调用成功的回调函数 */ - success?: GetChannelsShareKeySuccessCallback - } - interface GetChannelsShareKeySuccessCallbackResult { - /** 推广员 */ - promoter: PromoterResult - /** 分享者 openid */ - sharerOpenId: string - errMsg: string - } - interface GetClipboardDataOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetClipboardDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetClipboardDataFailCallback - /** 接口调用成功的回调函数 */ - success?: GetClipboardDataSuccessCallback - } - interface GetClipboardDataSuccessCallbackOption { - /** 剪贴板的内容 */ - data: string - } - interface GetConnectedBluetoothDevicesOption { - /** 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) */ - services: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetConnectedBluetoothDevicesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetConnectedBluetoothDevicesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetConnectedBluetoothDevicesSuccessCallback - } - interface GetConnectedBluetoothDevicesSuccessCallbackResult { - /** 搜索到的设备列表 */ - devices: BluetoothDeviceInfo[] - errMsg: string - } - interface GetConnectedWifiOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetConnectedWifiCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetConnectedWifiFailCallback - /** 需要基础库: `2.22.0` - * - * 是否需要返回部分 Wi-Fi 信息 */ - partialInfo?: boolean - /** 接口调用成功的回调函数 */ - success?: GetConnectedWifiSuccessCallback - } - interface GetConnectedWifiSuccessCallbackResult { - /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) - * - * Wi-Fi 信息 */ - wifi: WifiInfo - errMsg: string - } - interface GetContentsOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetContentsCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetContentsFailCallback - /** 接口调用成功的回调函数 */ - success?: GetContentsSuccessCallback - } - interface GetContentsSuccessCallbackResult { - /** 表示内容的delta对象 */ - delta: IAnyObject - /** 带标签的HTML内容 */ - html: string - /** 纯文本内容 */ - text: string - errMsg: string - } - interface GetExtConfigOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetExtConfigCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetExtConfigFailCallback - /** 接口调用成功的回调函数 */ - success?: GetExtConfigSuccessCallback - } - interface GetExtConfigSuccessCallbackResult { - /** 第三方平台自定义的数据 */ - extConfig: IAnyObject - errMsg: string - } - interface GetFileInfoFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail file not exist': 指定的 filePath 找不到文件; */ - errMsg: string - } - interface GetFuzzyLocationOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetFuzzyLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetFuzzyLocationFailCallback - /** 接口调用成功的回调函数 */ - success?: GetFuzzyLocationSuccessCallback - /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ - type?: string - } - interface GetFuzzyLocationSuccessCallbackResult { - /** 纬度,范围为 -90~90,负数表示南纬 */ - latitude: number - /** 经度,范围为 -180~180,负数表示西经 */ - longitude: number - errMsg: string - } - interface GetGroupEnterInfoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetGroupEnterInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetGroupEnterInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetGroupEnterInfoSuccessCallback - } - interface GetGroupEnterInfoSuccessCallbackResult { - /** 需要基础库: `2.7.0` - * - * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ - cloudID: string - /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - encryptedData: string - /** 错误信息 */ - errMsg: string - /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - iv: string - } - interface GetHCEStateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetHCEStateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetHCEStateFailCallback - /** 接口调用成功的回调函数 */ - success?: GetHCEStateSuccessCallback - } - interface GetHistoricalBytesOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetHistoricalBytesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetHistoricalBytesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetHistoricalBytesSuccessCallback - } - interface GetHistoricalBytesSuccessCallbackResult { - /** 返回历史二进制数据 */ - histBytes: ArrayBuffer - errMsg: string - } - interface GetImageInfoOption { - /** 图片的路径,支持网络路径、本地路径、代码包路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetImageInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetImageInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetImageInfoSuccessCallback - } - interface GetImageInfoSuccessCallbackResult { - /** 图片原始高度,单位px。不考虑旋转。 */ - height: number - /** 需要基础库: `1.9.90` - * - * [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html) - * - * 可选值: - * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。; - * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2; - * - 'down': 旋转180度,对应 Exif 中的 3; - * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4; - * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5; - * - 'right': 顺时针旋转90度,对应 Exif 中的 6; - * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7; - * - 'left': 逆时针旋转90度,对应 Exif 中的 8; */ - orientation: - | 'up' - | 'up-mirrored' - | 'down' - | 'down-mirrored' - | 'left-mirrored' - | 'right' - | 'right-mirrored' - | 'left' - /** 图片的本地路径 */ - path: string - /** 需要基础库: `1.9.90` - * - * 图片格式 - * - * 可选值: - * - 'unknown': 未知格式; - * - 'jpeg': jpeg压缩格式; - * - 'png': png压缩格式; - * - 'gif': gif压缩格式; - * - 'tiff': tiff压缩格式; */ - type: 'unknown' | 'jpeg' | 'png' | 'gif' | 'tiff' - /** 图片原始宽度,单位px。不考虑旋转。 */ - width: number - errMsg: string - } - interface GetLatestUserKeyOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetLatestUserKeyCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetLatestUserKeyFailCallback - /** 接口调用成功的回调函数 */ - success?: GetLatestUserKeySuccessCallback - } - interface GetLatestUserKeySuccessCallbackResult { - /** 用户加密密钥 */ - encryptKey: string - /** 密钥过期时间 */ - expireTime: number - /** 密钥初始向量 */ - iv: string - /** 密钥版本 */ - version: number - errMsg: string - } - interface GetLocalIPAddressOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetLocalIPAddressCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetLocalIPAddressFailCallback - /** 接口调用成功的回调函数 */ - success?: GetLocalIPAddressSuccessCallback - } - interface GetLocalIPAddressSuccessCallbackResult { - /** 错误信息 */ - errMsg: string - /** 本机局域网IP地址 */ - localip: string - /** 本机局域网子网掩码,基础库 2.24.0 开始支持 */ - netmask: string - } - interface GetLocationOption { - /** 需要基础库: `1.6.0` - * - * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */ - altitude?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetLocationFailCallback - /** 需要基础库: `2.9.0` - * - * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */ - highAccuracyExpireTime?: number - /** 需要基础库: `2.9.0` - * - * 开启高精度定位 */ - isHighAccuracy?: boolean - /** 接口调用成功的回调函数 */ - success?: GetLocationSuccessCallback - /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ - type?: string - } - interface GetLocationSuccessCallbackResult { - /** 位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确 */ - accuracy: number - /** 需要基础库: `1.2.0` - * - * 高度,单位 m */ - altitude: number - /** 需要基础库: `1.2.0` - * - * 水平精度,单位 m */ - horizontalAccuracy: number - /** 纬度,范围为 -90~90,负数表示南纬 */ - latitude: number - /** 经度,范围为 -180~180,负数表示西经 */ - longitude: number - /** 速度,单位 m/s */ - speed: number - /** 需要基础库: `1.2.0` - * - * 垂直精度,单位 m(Android 无法获取,返回 0) */ - verticalAccuracy: number - errMsg: string - } - interface GetLogManagerOption { - /** 需要基础库: `2.3.2` - * - * 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 */ - level?: number - } - interface GetMaxTransceiveLengthOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetMaxTransceiveLengthCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetMaxTransceiveLengthFailCallback - /** 接口调用成功的回调函数 */ - success?: GetMaxTransceiveLengthSuccessCallback - } - interface GetMaxTransceiveLengthSuccessCallbackResult { - /** 最大传输长度 */ - length: number - errMsg: string - } - interface GetNetworkTypeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetNetworkTypeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetNetworkTypeFailCallback - /** 接口调用成功的回调函数 */ - success?: GetNetworkTypeSuccessCallback - } - interface GetNetworkTypeSuccessCallbackResult { - /** 需要基础库: `2.22.1` - * - * 设备是否使用了网络代理 */ - hasSystemProxy: boolean - /** 网络类型 - * - * 可选值: - * - 'wifi': wifi 网络; - * - '2g': 2g 网络; - * - '3g': 3g 网络; - * - '4g': 4g 网络; - * - '5g': 5g 网络; - * - 'unknown': Android 下不常见的网络类型; - * - 'none': 无网络; */ - networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' - /** 信号强弱,单位 dbm */ - signalStrength: number - errMsg: string - } - interface GetRandomValuesOption { - /** 整数,生成随机数的字节数,最大 1048576 */ - length: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetRandomValuesCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetRandomValuesFailCallback - /** 接口调用成功的回调函数 */ - success?: GetRandomValuesSuccessCallback - } - interface GetRandomValuesSuccessCallbackResult { - /** 随机数内容,长度为传入的字节数 */ - randomValues: ArrayBuffer - errMsg: string - } - interface GetRegionOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetRegionCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetRegionFailCallback - /** 接口调用成功的回调函数 */ - success?: GetRegionSuccessCallback - } - interface GetRegionSuccessCallbackResult { - /** 东北角经纬度 */ - northeast: MapPostion - /** 西南角经纬度 */ - southwest: MapPostion - errMsg: string - } - interface GetRotateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetRotateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetRotateFailCallback - /** 接口调用成功的回调函数 */ - success?: GetRotateSuccessCallback - } - interface GetRotateSuccessCallbackResult { - /** 旋转角 */ - rotate: number - errMsg: string - } - interface GetSakOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSakCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSakFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSakSuccessCallback - } - interface GetSakSuccessCallbackResult { - /** 返回 SAK/SEL_RES 数据 */ - sak: number - errMsg: string - } - interface GetSavedFileInfoOption { - /** 文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSavedFileInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSavedFileInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSavedFileInfoSuccessCallback - } - interface GetSavedFileInfoSuccessCallbackResult { - /** 文件保存时的时间戳,从1970/01/01 08:00:00 到该时刻的秒数 */ - createTime: number - /** 文件大小,单位 B */ - size: number - errMsg: string - } - interface GetScaleOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetScaleCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetScaleFailCallback - /** 接口调用成功的回调函数 */ - success?: GetScaleSuccessCallback - } - interface GetScaleSuccessCallbackResult { - /** 缩放值 */ - scale: number - errMsg: string - } - interface GetScreenBrightnessOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetScreenBrightnessCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetScreenBrightnessFailCallback - /** 接口调用成功的回调函数 */ - success?: GetScreenBrightnessSuccessCallback - } - interface GetScreenBrightnessSuccessCallbackOption { - /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */ - value: number - } - interface GetScreenRecordingStateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetScreenRecordingStateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetScreenRecordingStateFailCallback - /** 接口调用成功的回调函数 */ - success?: GetScreenRecordingStateSuccessCallback - } - interface GetScreenRecordingStateSuccessCallbackResult { - /** 录屏状态 - * - * 可选值: - * - 'on': 开启; - * - 'off': 关闭; */ - state: 'on' | 'off' - errMsg: string - } - interface GetSelectedTextRangeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSelectedTextRangeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSelectedTextRangeFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSelectedTextRangeSuccessCallback - } - interface GetSelectedTextRangeSuccessCallbackResult { - /** 输入框光标结束位置 */ - end: number - /** 输入框光标起始位置 */ - start: number - errMsg: string - } - interface GetSelectionTextOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSelectionTextCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSelectionTextFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSelectionTextSuccessCallback - } - interface GetSelectionTextSuccessCallbackResult { - /** 纯文本内容 */ - text: string - errMsg: string - } - interface GetSettingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSettingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSettingFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSettingSuccessCallback - /** 需要基础库: `2.10.1` - * - * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ - withSubscriptions?: boolean - } - interface GetSettingSuccessCallbackResult { - /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) - * - * 用户授权结果 */ - authSetting: AuthSetting - /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) - * - * 需要基础库: `2.10.1` - * - * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ - subscriptionsSetting: SubscriptionsSetting - /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) - * - * 在插件中调用时,当前宿主小程序的用户授权结果 */ - miniprogramAuthSetting?: AuthSetting - errMsg: string - } - interface GetShareInfoOption { - /** shareTicket */ - shareTicket: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetShareInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetShareInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetShareInfoSuccessCallback - /** 需要基础库: `1.9.90` - * - * 超时时间,单位 ms */ - timeout?: number - } - interface GetSkewOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSkewCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSkewFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSkewSuccessCallback - } - interface GetSkewSuccessCallbackResult { - /** 倾斜角 */ - skew: number - errMsg: string - } - interface GetStorageInfoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetStorageInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetStorageInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetStorageInfoSuccessCallback - } - interface GetStorageInfoSuccessCallbackOption { - /** 当前占用的空间大小, 单位 KB */ - currentSize: number - /** 当前 storage 中所有的 key */ - keys: string[] - /** 限制的空间大小,单位 KB */ - limitSize: number - } - interface GetStorageInfoSyncOption { - /** 当前占用的空间大小, 单位 KB */ - currentSize: number - /** 当前 storage 中所有的 key */ - keys: string[] - /** 限制的空间大小,单位 KB */ - limitSize: number - } - interface GetStorageOption<T = any> { - /** 本地缓存中指定的 key */ - key: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetStorageCompleteCallback - /** 需要基础库: `2.21.3` - * - * 是否开启加密存储。只有异步的 getStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 解密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true */ - encrypt?: boolean - /** 接口调用失败的回调函数 */ - fail?: GetStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: GetStorageSuccessCallback<T> - } - interface GetStorageSuccessCallbackResult<T = any> { - /** key对应的内容 */ - data: T - errMsg: string - } - interface GetSystemInfoAsyncOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSystemInfoAsyncCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSystemInfoAsyncFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSystemInfoAsyncSuccessCallback - } - interface GetSystemInfoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSystemInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSystemInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetSystemInfoSuccessCallback - } - interface GetUserInfoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetUserInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetUserInfoFailCallback - /** 显示用户信息的语言 - * - * 可选值: - * - 'en': 英文; - * - 'zh_CN': 简体中文; - * - 'zh_TW': 繁体中文; */ - lang?: 'en' | 'zh_CN' | 'zh_TW' - /** 接口调用成功的回调函数 */ - success?: GetUserInfoSuccessCallback - /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */ - withCredentials?: boolean - } - interface GetUserInfoSuccessCallbackResult { - /** 需要基础库: `2.7.0` - * - * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ - cloudID: string - /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ - encryptedData: string - /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ - iv: string - /** 不包括敏感信息的原始数据字符串,用于计算签名 */ - rawData: string - /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - signature: string - /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) - * - * 用户信息对象,不包含 openid 等敏感信息 */ - userInfo: UserInfo - errMsg: string - } - interface GetUserProfileOption { - /** 声明获取用户个人信息后的用途,不超过30个字符 */ - desc: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetUserProfileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetUserProfileFailCallback - /** 显示用户信息的语言 - * - * 可选值: - * - 'en': 英文; - * - 'zh_CN': 简体中文; - * - 'zh_TW': 繁体中文; */ - lang?: 'en' | 'zh_CN' | 'zh_TW' - /** 接口调用成功的回调函数 */ - success?: GetUserProfileSuccessCallback - } - interface GetUserProfileSuccessCallbackResult { - userName: {} | undefined - code: any - /** 需要基础库: `2.10.4` - * - * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ - cloudID: string - /** 需要基础库: `2.10.4` - * - * 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ - encryptedData: string - /** 需要基础库: `2.10.4` - * - * 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ - iv: string - /** 需要基础库: `2.10.4` - * - * 不包括敏感信息的原始数据字符串,用于计算签名 */ - rawData: string - /** 需要基础库: `2.10.4` - * - * 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - signature: string - /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) - * - * 需要基础库: `2.10.4` - * - * 用户信息对象 */ - userInfo: UserInfo - errMsg: string - } - interface GetVideoInfoOption { - /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetVideoInfoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetVideoInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: GetVideoInfoSuccessCallback - } - interface GetVideoInfoSuccessCallbackResult { - /** 视频码率,单位 kbps */ - bitrate: number - /** 视频长度 */ - duration: number - /** 视频帧率 */ - fps: number - /** 视频的长,单位 px */ - height: number - /** 画面方向 - * - * 可选值: - * - 'up': 默认; - * - 'down': 180度旋转; - * - 'left': 逆时针旋转90度; - * - 'right': 顺时针旋转90度; - * - 'up-mirrored': 同up,但水平翻转; - * - 'down-mirrored': 同down,但水平翻转; - * - 'left-mirrored': 同left,但垂直翻转; - * - 'right-mirrored': 同right,但垂直翻转; */ - orientation: - | 'up' - | 'down' - | 'left' - | 'right' - | 'up-mirrored' - | 'down-mirrored' - | 'left-mirrored' - | 'right-mirrored' - /** 视频大小,单位 kB */ - size: number - /** 视频格式 */ - type: string - /** 视频的宽,单位 px */ - width: number - errMsg: string - } - interface GetWeRunDataOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetWeRunDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetWeRunDataFailCallback - /** 接口调用成功的回调函数 */ - success?: GetWeRunDataSuccessCallback - } - interface GetWeRunDataSuccessCallbackResult { - /** 需要基础库: `2.7.0` - * - * 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ - cloudID: string - /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */ - encryptedData: string - /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ - iv: string - errMsg: string - } - interface GetWifiListOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetWifiListCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetWifiListFailCallback - /** 接口调用成功的回调函数 */ - success?: GetWifiListSuccessCallback - } - interface HideHomeButtonOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideHomeButtonCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideHomeButtonFailCallback - /** 接口调用成功的回调函数 */ - success?: HideHomeButtonSuccessCallback - } - interface HideKeyboardOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideKeyboardCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideKeyboardFailCallback - /** 接口调用成功的回调函数 */ - success?: HideKeyboardSuccessCallback - } - interface HideLoadingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideLoadingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideLoadingFailCallback - /** 需要基础库: `2.22.1` - * - * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ - noConflict?: boolean - /** 接口调用成功的回调函数 */ - success?: HideLoadingSuccessCallback - } - interface HideNavigationBarLoadingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideNavigationBarLoadingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideNavigationBarLoadingFailCallback - /** 接口调用成功的回调函数 */ - success?: HideNavigationBarLoadingSuccessCallback - } - interface HideShareMenuOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideShareMenuCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideShareMenuFailCallback - /** 需要基础库: `2.11.3` - * - * 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ - menus?: string[] - /** 接口调用成功的回调函数 */ - success?: HideShareMenuSuccessCallback - } - interface HideTabBarOption { - /** 是否需要动画效果 */ - animation?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideTabBarCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideTabBarFailCallback - /** 接口调用成功的回调函数 */ - success?: HideTabBarSuccessCallback - } - interface HideTabBarRedDotOption { - /** tabBar 的哪一项,从左边算起 */ - index: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideTabBarRedDotCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideTabBarRedDotFailCallback - /** 接口调用成功的回调函数 */ - success?: HideTabBarRedDotSuccessCallback - } - interface HideToastOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: HideToastCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: HideToastFailCallback - /** 需要基础库: `2.22.1` - * - * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ - noConflict?: number - /** 接口调用成功的回调函数 */ - success?: HideToastSuccessCallback - } - /** 检测结果 */ - interface HitTestRes { - /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ - transform: Float32Array - } - /** 需要基础库: `2.7.0` - * - * 图片对象 */ - interface Image { - /** 图片的真实高度 */ - height: number - /** 图片加载发生错误后触发的回调函数 */ - onerror: (...args: any[]) => any - /** 图片加载完成后触发的回调函数 */ - onload: (...args: any[]) => any - /** 需要基础库: `2.13.0` - * - * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ - referrerPolicy: string - /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */ - src: string - /** 图片的真实宽度 */ - width: number - } - /** 需要基础库: `2.9.0` - * - * ImageData 对象 */ - interface ImageData { - /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */ - data: Uint8ClampedArray - /** 使用像素描述 ImageData 的实际高度 */ - height: number - /** 使用像素描述 ImageData 的实际宽度 */ - width: number - } - /** 需要基础库: `1.2.0` - * - * 图片的本地临时文件列表 */ - interface ImageFile { - /** 本地临时文件路径 (本地路径) */ - path: string - /** 本地临时文件大小,单位 B */ - size: number - } - interface IncludePointsOption { - /** 要显示在可视区域内的坐标点列表 */ - points: MapPostion[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: IncludePointsCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: IncludePointsFailCallback - /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左],安卓上只能识别数组第一项,上下左右的padding一致。开发者工具暂不支持padding参数。 */ - padding?: number[] - /** 接口调用成功的回调函数 */ - success?: IncludePointsSuccessCallback - } - interface InitFaceDetectOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: InitFaceDetectCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: InitFaceDetectFailCallback - /** 接口调用成功的回调函数 */ - success?: InitFaceDetectSuccessCallback - } - interface InitMarkerClusterOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: InitMarkerClusterCompleteCallback - /** 启用默认的聚合样式 */ - enableDefaultStyle?: boolean - /** 接口调用失败的回调函数 */ - fail?: InitMarkerClusterFailCallback - /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */ - gridSize?: boolean - /** 接口调用成功的回调函数 */ - success?: InitMarkerClusterSuccessCallback - /** 点击已经聚合的标记点时是否实现聚合分离 */ - zoomOnClick?: boolean - } - /** InnerAudioContext 实例,可通过 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 接口获取实例。注意,音频播放过程中,可能被系统中断,可通过 [wx.onAudioInterruptionBegin](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)、[wx.onAudioInterruptionEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件来处理这种情况。 -* -* **支持格式** -* -* | 格式 | iOS | Android | -* | ---- | ---- | ------- | -* | flac | x | √ | -* | m4a | √ | √ | -* | ogg | x | √ | -* | ape | x | √ | -* | amr | x | √ | -* | wma | x | √ | -* | wav | √ | √ | -* | mp3 | √ | √ | -* | mp4 | x | √ | -* | aac | √ | √ | -* | aiff | √ | x | -* | caf | √ | x | -* -* **示例代码** -* -* ```js -const innerAudioContext = wx.createInnerAudioContext() -innerAudioContext.autoplay = true -innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' -innerAudioContext.onPlay(() => { - console.log('开始播放') -}) -innerAudioContext.onError((res) => { - console.log(res.errMsg) - console.log(res.errCode) -}) -``` */ - interface InnerAudioContext { - /** 是否自动开始播放,默认为 `false` */ - autoplay: boolean - /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */ - buffered: number - /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) */ - currentTime: number - /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */ - duration: number - /** 是否循环播放,默认为 `false` */ - loop: boolean - /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */ - obeyMuteSwitch: boolean - /** 当前是是否暂停或停止状态(只读) */ - paused: boolean - /** 需要基础库: `2.11.0` - * - * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ - playbackRate: number - /** 需要基础库: `2.13.0` - * - * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ - referrerPolicy: string - /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */ - src: string - /** 开始播放的位置(单位:s),默认为 0 */ - startTime: number - /** 需要基础库: `1.9.90` - * - * 音量。范围 0~1。默认为 1 */ - volume: number - } - interface InnerAudioContextOnErrorListenerResult { - /** 可选值: - * - 10001: 系统错误; - * - 10002: 网络错误; - * - 10003: 文件错误; - * - 10004: 格式错误; - * - -1: 未知错误; */ - errCode: 10001 | 10002 | 10003 | 10004 | -1 - errMsg: string - } - interface InsertDividerOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: InsertDividerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: InsertDividerFailCallback - /** 接口调用成功的回调函数 */ - success?: InsertDividerSuccessCallback - } - interface InsertImageOption { - /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */ - src: string - /** 图像无法显示时的替代文本 */ - alt?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: InsertImageCompleteCallback - /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */ - data?: IAnyObject - /** 添加到图片 img 标签上的类名 */ - extClass?: string - /** 接口调用失败的回调函数 */ - fail?: InsertImageFailCallback - /** 图片高度 (pixels/百分比) */ - height?: string - /** 插入图片后是否自动换行,默认换行 */ - nowrap?: boolean - /** 接口调用成功的回调函数 */ - success?: InsertImageSuccessCallback - /** 图片宽度(pixels/百分比) */ - width?: string - } - interface InsertTextOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: InsertTextCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: InsertTextFailCallback - /** 接口调用成功的回调函数 */ - success?: InsertTextSuccessCallback - /** 文本内容 */ - text?: string - } - interface IntersectionObserverObserveCallbackResult { - /** 目标边界 */ - boundingClientRect: BoundingClientRectResult - /** 节点自定义数据属性 */ - dataset: Record<string, any> - /** 节点 ID */ - id: string - /** 相交比例 */ - intersectionRatio: number - /** 相交区域的边界 */ - intersectionRect: IntersectionRectResult - /** 参照区域的边界 */ - relativeRect: RelativeRectResult - /** 相交检测时的时间戳 */ - time: number - } - /** 相交区域的边界 */ - interface IntersectionRectResult { - /** 下边界 */ - bottom: number - /** 高度 */ - height: number - /** 左边界 */ - left: number - /** 右边界 */ - right: number - /** 上边界 */ - top: number - /** 宽度 */ - width: number - } - interface InterstitialAdOnErrorListenerResult { - /** 错误码 - * - * 可选值: - * - 1000: 后端接口调用失败; - * - 1001: 参数错误; - * - 1002: 广告单元无效; - * - 1003: 内部错误; - * - 1004: 无合适的广告; - * - 1005: 广告组件审核中; - * - 1006: 广告组件被驳回; - * - 1007: 广告组件被封禁; - * - 1008: 广告单元已关闭; */ - errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 - /** 错误信息 */ - errMsg: string - } - interface IsBluetoothDevicePairedOption { - /** 蓝牙设备 id */ - deviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: IsBluetoothDevicePairedCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: IsBluetoothDevicePairedFailCallback - /** 接口调用成功的回调函数 */ - success?: IsBluetoothDevicePairedSuccessCallback - } - interface IsConnectedOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: IsConnectedCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: IsConnectedFailCallback - /** 接口调用成功的回调函数 */ - success?: IsConnectedSuccessCallback - } - interface Join1v1ChatOption { - /** 呼叫方信息 */ - caller: VoIP1v1ChatUser - /** 接听方信息 */ - listener: VoIP1v1ChatUser - /** 窗口背景色(音频通话背景以及小窗模式背景) - * - * 可选值: - * - 0: #262930; - * - 1: #FA5151; - * - 2: #FA9D3B; - * - 3: #3D7257; - * - 4: #1485EE; - * - 5: #6467F0; */ - backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: Join1v1ChatCompleteCallback - /** 不允许切换到语音通话 */ - disableSwitchVoice?: boolean - /** 接口调用失败的回调函数 */ - fail?: Join1v1ChatFailCallback - /** 小窗样式 */ - minWindowType?: number - /** 通话类型 - * - * 可选值: - * - 'voice': 语音通话; - * - 'video': 视频通话; */ - roomType?: 'voice' | 'video' - /** 接口调用成功的回调函数 */ - success?: Join1v1ChatSuccessCallback - } - interface JoinVoIPChatOption { - /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */ - groupId: string - /** 验证所需的随机字符串 */ - nonceStr: string - /** 签名,用于验证小游戏的身份 */ - signature: string - /** 验证所需的时间戳 */ - timeStamp: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: JoinVoIPChatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: JoinVoIPChatFailCallback - /** 静音设置 */ - muteConfig?: MuteConfig - /** 房间类型 - * - * 可选值: - * - 'voice': 音频房间,用于语音通话; - * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */ - roomType?: 'voice' | 'video' - /** 接口调用成功的回调函数 */ - success?: JoinVoIPChatSuccessCallback - } - interface JoinVoIPChatSuccessCallbackResult { - /** 错误码 */ - errCode: number - /** 调用结果 */ - errMsg: string - /** 在此通话中的成员 openId 名单 */ - openIdList: string[] - } - interface KVArray { - /** key 本地缓存中指定的 key */ - key: string - /** data 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ - value: any - } - /** 启动参数 */ - interface LaunchOptionsApp { - /** 需要基础库: `2.20.0` - * - * API 类别 - * - * 可选值: - * - 'default': 默认类别; - * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序; - * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序; - * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */ - apiCategory: - | 'default' - | 'nativeFunctionalized' - | 'browseOnly' - | 'embedded' - /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ - forwardMaterials: ForwardMaterials[] - /** 启动小程序的路径 (代码包路径) */ - path: string - /** 启动小程序的 query 参数 */ - query: IAnyObject - /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ - referrerInfo: ReferrerInfo - /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */ - scene: number - /** 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 - * - * 可选值: - * - 1: 微信联系人单聊; - * - 2: 企业微信联系人单聊; - * - 3: 普通微信群聊; - * - 4: 企业微信互通群聊; */ - chatType?: 1 | 2 | 3 | 4 - /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ - shareTicket?: string - } - interface LivePlayerContextRequestFullScreenOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestFullScreenCompleteCallback - /** 设置全屏时的方向 - * - * 可选值: - * - 0: 正常竖向; - * - 90: 屏幕逆时针90度; - * - -90: 屏幕顺时针90度; */ - direction?: 0 | 90 | -90 - /** 接口调用失败的回调函数 */ - fail?: RequestFullScreenFailCallback - /** 接口调用成功的回调函数 */ - success?: RequestFullScreenSuccessCallback - } - interface LivePlayerContextSnapshotOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SnapshotCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SnapshotFailCallback - /** 需要基础库: `2.10.0` - * - * 图片的质量,默认原图。有效值为 raw、compressed */ - quality?: string - /** 需要基础库: `2.25.0` - * - * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ - sourceType?: string - /** 接口调用成功的回调函数 */ - success?: LivePlayerContextSnapshotSuccessCallback - } - interface LivePlayerContextSnapshotSuccessCallbackResult { - /** 图片的高度 */ - height: string - /** 图片文件的临时路径 (本地路径) */ - tempImagePath: string - /** 图片的宽度 */ - width: string - errMsg: string - } - interface LivePusherContextSnapshotOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SnapshotCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SnapshotFailCallback - /** 需要基础库: `2.10.0` - * - * 图片的质量,默认原图。有效值为 raw、compressed */ - quality?: string - /** 需要基础库: `2.25.0` - * - * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ - sourceType?: string - /** 接口调用成功的回调函数 */ - success?: LivePusherContextSnapshotSuccessCallback - } - interface LivePusherContextSnapshotSuccessCallbackResult { - /** 图片的高度 */ - height: string - /** 图片文件的临时路径 */ - tempImagePath: string - /** 图片的宽度 */ - width: string - errMsg: string - } - interface LivePusherContextStartOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartFailCallback - /** 接口调用成功的回调函数 */ - success?: StartSuccessCallback - } - interface LoadFontFaceCompleteCallbackResult { - /** 加载字体结果 */ - status: string - } - interface LoadFontFaceOption { - /** 定义的字体名称 */ - family: string - /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */ - source: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: LoadFontFaceCompleteCallback - /** 可选的字体描述符 */ - desc?: DescOption - /** 接口调用失败的回调函数 */ - fail?: LoadFontFaceFailCallback - /** 需要基础库: `2.10.0` - * - * 是否全局生效 */ - global?: boolean - /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */ - scopes?: any[] - /** 接口调用成功的回调函数 */ - success?: LoadFontFaceSuccessCallback - } - interface LocalInfo { - /** 接收消息的 socket 的地址 */ - address: string - /** 使用的协议族,为 IPv4 或者 IPv6 */ - family: string - /** 端口号 */ - port: number - } - interface LoginOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: LoginCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: LoginFailCallback - /** 接口调用成功的回调函数 */ - success?: LoginSuccessCallback - /** 需要基础库: `1.9.90` - * - * 超时时间,单位ms */ - timeout?: number - } - interface LoginSuccessCallbackResult { - /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [auth.code2Session](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html),使用 code 换取 openid、unionid、session_key 等信息 */ - code: string - errMsg: string - } - interface MakeBluetoothPairOption { - /** 蓝牙设备 id */ - deviceId: string - /** pin 码,Base64 格式。 */ - pin: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MakeBluetoothPairCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MakeBluetoothPairFailCallback - /** 接口调用成功的回调函数 */ - success?: MakeBluetoothPairSuccessCallback - /** 超时时间,单位 ms */ - timeout?: number - } - interface MakePhoneCallOption { - /** 需要拨打的电话号码 */ - phoneNumber: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MakePhoneCallCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MakePhoneCallFailCallback - /** 接口调用成功的回调函数 */ - success?: MakePhoneCallSuccessCallback - } - /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ - interface ManufacturerData { - /** 制造商ID,0x 开头的十六进制 */ - manufacturerId: string - /** 制造商信息 */ - manufacturerSpecificData?: ArrayBuffer - } - /** 图片覆盖的经纬度范围 */ - interface MapBounds { - /** 东北角经纬度 */ - northeast: MapPostion - /** 西南角经纬度 */ - southwest: MapPostion - } - interface MapPostion { - /** 纬度 */ - latitude: number - /** 经度 */ - longitude: number - } - /** 用来扩展(或收缩)参照节点布局区域的边界 */ - interface Margins { - /** 节点布局区域的下边界 */ - bottom?: number - /** 节点布局区域的左边界 */ - left?: number - /** 节点布局区域的右边界 */ - right?: number - /** 节点布局区域的上边界 */ - top?: number - } - /** 匹配到的缓存 */ - interface MatchCache { - /** 缓存 id */ - cacheId: string - /** 缓存创建时间 */ - createTime: number - /** 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 */ - data: any - /** 缓存有效时间 */ - maxAge: number - /** 命中的规则 id */ - ruleId: string - } - /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */ - interface MediaAudioPlayer { - /** 音量。范围 0~1。默认为 1 */ - volume: number - } - /** 本地临时文件列表 */ - interface MediaFile { - /** 视频的时间长度 */ - duration: number - /** 文件类型 - * - * 可选值: - * - 'image': 图片; - * - 'video': 视频; */ - fileType: 'image' | 'video' - /** 视频的高度 */ - height: number - /** 本地临时文件大小,单位 B */ - size: number - /** 本地临时文件路径 (本地路径) */ - tempFilePath: string - /** 视频缩略图临时文件路径 */ - thumbTempFilePath: string - /** 视频的宽度 */ - width: number - } - interface MediaQueryObserverObserveCallbackResult { - /** 页面的当前状态是否满足所指定的 media query */ - matches: boolean - } - /** 需要预览的资源列表 */ - interface MediaSource { - /** 图片或视频的地址 */ - url: string - /** 视频的封面图片 */ - poster?: string - /** 资源的类型,默认为图片 - * - * 可选值: - * - 'image': 图片; - * - 'video': 视频; */ - type?: 'image' | 'video' - } - /** 需要基础库: `2.9.0` - * - * 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。 - * - * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作 */ - interface MediaTrack { - /** 轨道长度,只读 */ - duration: number - /** 轨道类型,只读 - * - * 可选值: - * - 'audio': 音频轨道; - * - 'video': 视频轨道; */ - kind: 'audio' | 'video' - /** 音量,音频轨道下有效,可写 */ - volume: number - } - /** 小程序帐号信息 */ - interface MiniProgram { - /** 小程序 appId */ - appId: string - /** 需要基础库: `2.10.0` - * - * 小程序版本 - * - * 可选值: - * - 'develop': 开发版; - * - 'trial': 体验版; - * - 'release': 正式版; */ - envVersion: 'develop' | 'trial' | 'release' - /** 需要基础库: `2.10.2` - * - * 线上小程序版本号 */ - version: string - } - interface MkdirFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory ${dirPath}': 上级目录不存在(该错误仅在 recursive = false 时生效); - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; - * - 'fail file already exists ${dirPath}': 有同名文件或目录(该错误仅在 recursive = false 时生效); - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface MkdirOption { - /** 创建的目录路径 (本地路径) */ - dirPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MkdirCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MkdirFailCallback - /** 需要基础库: `2.3.0` - * - * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ - recursive?: boolean - /** 接口调用成功的回调函数 */ - success?: MkdirSuccessCallback - } - interface MoveAlongOption { - /** 平滑移动的时间 */ - duration: number - /** 指定 marker */ - markerId: number - /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */ - path: any[] - /** 根据路径方向自动改变 marker 的旋转角度 */ - autoRotate?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MoveAlongCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MoveAlongFailCallback - /** 接口调用成功的回调函数 */ - success?: MoveAlongSuccessCallback - } - interface MoveToLocationOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MoveToLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MoveToLocationFailCallback - /** 需要基础库: `2.8.0` - * - * 纬度 */ - latitude?: number - /** 需要基础库: `2.8.0` - * - * 经度 */ - longitude?: number - /** 接口调用成功的回调函数 */ - success?: MoveToLocationSuccessCallback - } - /** 静音设置 */ - interface MuteConfig { - /** 是否静音耳机 */ - muteEarphone?: boolean - /** 是否静音麦克风 */ - muteMicrophone?: boolean - } - interface MuteOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: MuteCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: MuteFailCallback - /** 接口调用成功的回调函数 */ - success?: MuteSuccessCallback - } - /** 需要基础库: `2.11.2` */ - interface NFCAdapter { - /** 标签类型枚举 */ - tech: TechType - } - interface NavigateBackMiniProgramOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NavigateBackMiniProgramCompleteCallback - /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */ - extraData?: IAnyObject - /** 接口调用失败的回调函数 */ - fail?: NavigateBackMiniProgramFailCallback - /** 接口调用成功的回调函数 */ - success?: NavigateBackMiniProgramSuccessCallback - } - interface NavigateBackOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NavigateBackCompleteCallback - /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */ - delta?: number - /** 接口调用失败的回调函数 */ - fail?: NavigateBackFailCallback - /** 接口调用成功的回调函数 */ - success?: NavigateBackSuccessCallback - } - interface NavigateToMiniProgramOption { - /** 要打开的小程序 appId */ - appId?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NavigateToMiniProgramCompleteCallback - /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 - * - * 可选值: - * - 'develop': 开发版; - * - 'trial': 体验版; - * - 'release': 正式版; */ - envVersion?: 'develop' | 'trial' | 'release' - /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ - extraData?: IAnyObject - /** 接口调用失败的回调函数 */ - fail?: NavigateToMiniProgramFailCallback - /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ - path?: string - /** 需要基础库: `2.18.1` - * - * 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ - shortLink?: string - /** 接口调用成功的回调函数 */ - success?: NavigateToMiniProgramSuccessCallback - } - interface NavigateToOption { - /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NavigateToCompleteCallback - /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */ - events?: IAnyObject - /** 接口调用失败的回调函数 */ - fail?: NavigateToFailCallback - /** 接口调用成功的回调函数 */ - success?: NavigateToSuccessCallback - } - interface NavigateToSuccessCallbackResult { - /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html) - * - * 和被打开页面进行通信 */ - eventChannel: EventChannel - errMsg: string - } - interface NdefCloseOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NdefCloseCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: NdefCloseFailCallback - /** 接口调用成功的回调函数 */ - success?: NdefCloseSuccessCallback - } - interface NdefConnectOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ConnectCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ConnectFailCallback - /** 接口调用成功的回调函数 */ - success?: ConnectSuccessCallback - } - interface NodeCallbackResult { - /** 节点对应的 Node 实例 */ - node: IAnyObject - } - interface NotifyBLECharacteristicValueChangeOption { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙设备 id */ - deviceId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** 是否启用 notify */ - state: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: NotifyBLECharacteristicValueChangeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: NotifyBLECharacteristicValueChangeFailCallback - /** 接口调用成功的回调函数 */ - success?: NotifyBLECharacteristicValueChangeSuccessCallback - /** 需要基础库: `2.4.0` - * - * 设置特征订阅类型,有效值有 `notification` 和 `indication` */ - type?: string - } - /** media query 描述符 */ - interface ObserveDescriptor { - /** 页面高度( px 为单位) */ - height: number - /** 页面最大高度( px 为单位) */ - maxHeight: number - /** 页面最大宽度( px 为单位) */ - maxWidth: number - /** 页面最小高度( px 为单位) */ - minHeight: number - /** 页面最小宽度( px 为单位) */ - minWidth: number - /** 屏幕方向( `landscape` 或 `portrait` ) */ - orientation: string - /** 页面宽度( px 为单位) */ - width: number - } - /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ - interface ObserveOption { - /** 指标类型列表。不能和 type 同时使用。 */ - entryTypes?: string[] - /** 指标类型。不能和 entryTypes 同时使用 - * - * 可选值: - * - 'navigation': 路由; - * - 'render': 渲染; - * - 'script': 脚本; */ - type?: 'navigation' | 'render' | 'script' - } - /** 需要基础库: `2.7.0` - * - * 离屏 canvas 实例,可通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建。 */ - interface OffscreenCanvas { - /** 画布高度 */ - height: number - /** 画布宽度 */ - width: number - } - interface OnAccelerometerChangeListenerResult { - /** X 轴 */ - x: number - /** Y 轴 */ - y: number - /** Z 轴 */ - z: number - } - interface OnBLECharacteristicValueChangeListenerResult { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙设备 id */ - deviceId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** 特征最新的值 */ - value: ArrayBuffer - } - interface OnBLEConnectionStateChangeListenerResult { - /** 是否处于已连接状态 */ - connected: boolean - /** 蓝牙设备 id */ - deviceId: string - } - interface OnBLEMTUChangeListenerResult { - /** 蓝牙设备 id */ - deviceId: string - /** 最大传输单元 */ - mtu: number - } - interface OnBLEPeripheralConnectionStateChangedListenerResult { - /** 连接目前状态 */ - connected: boolean - /** 连接状态变化的设备 id */ - deviceId: string - /** server 的 UUID */ - serverId: string - } - interface OnBackgroundFetchDataListenerResult { - /** 缓存数据类别,取值为 periodic 或 pre */ - fetchType: string - /** 缓存数据 */ - fetchedData: string - /** 小程序页面路径 */ - path: string - /** 传给页面的 query 参数 */ - query: string - /** 进入小程序的场景值 */ - scene: number - /** 客户端拿到缓存数据的时间戳 */ - timeStamp: number - } - interface OnBeaconServiceChangeListenerResult { - /** 服务目前是否可用 */ - available: boolean - /** 目前是否处于搜索状态 */ - discovering: boolean - } - interface OnBeaconUpdateListenerResult { - /** 当前搜寻到的所有 Beacon 设备列表 */ - beacons: BeaconInfo[] - } - interface OnBluetoothAdapterStateChangeListenerResult { - /** 蓝牙适配器是否可用 */ - available: boolean - /** 蓝牙适配器是否处于搜索状态 */ - discovering: boolean - } - interface OnBluetoothDeviceFoundListenerResult { - /** 新搜索到的设备列表 */ - devices: BlueToothDevice[] - } - interface OnCameraFrameCallbackResult { - /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ - data: ArrayBuffer - /** 图像数据矩形的高度 */ - height: number - /** 图像数据矩形的宽度 */ - width: number - } - interface OnCharacteristicReadRequestListenerResult { - /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ - callbackId: number - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - } - interface OnCharacteristicSubscribedListenerResult { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - } - interface OnCharacteristicWriteRequestListenerResult { - /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ - callbackId: number - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** 请求写入特征的二进制数据值 */ - value: ArrayBuffer - } - interface OnCheckForUpdateListenerResult { - /** 是否有新版本 */ - hasUpdate: boolean - } - interface OnChunkReceivedListenerResult { - /** 开发者服务器每次返回新chunk时的Response */ - res: Result - } - interface OnCompassChangeListenerResult { - /** 需要基础库: `2.4.0` - * - * 精度 */ - accuracy: number | string - /** 面对的方向度数 */ - direction: number - } - interface OnCopyUrlListenerResult { - /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */ - query: string - } - interface OnDeviceMotionChangeListenerResult { - /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */ - alpha: number - /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */ - beta: number - /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */ - gamma: number - } - interface OnDiscoveredListenerResult { - /** NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */ - messages: any[] - /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */ - techs: any[] - } - interface OnFrameRecordedListenerResult { - /** 录音分片数据 */ - frameBuffer: ArrayBuffer - /** 当前帧是否正常录音结束前的最后一帧 */ - isLastFrame: boolean - } - interface OnGetWifiListListenerResult { - /** Wi-Fi 列表数据 */ - wifiList: WifiInfo[] - } - interface OnGyroscopeChangeListenerResult { - /** x 轴的角速度 */ - x: number - /** y 轴的角速度 */ - y: number - /** z 轴的角速度 */ - z: number - } - interface OnHCEMessageListenerResult { - /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */ - data: ArrayBuffer - /** 消息类型 - * - * 可选值: - * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令; - * - 2: 设备离场事件类型; */ - messageType: 1 | 2 - /** `messageType=2` 时,原因 */ - reason: number - } - interface OnHeadersReceivedListenerResult { - /** 开发者服务器返回的 HTTP Response Header */ - header: IAnyObject - } - interface OnKeyboardHeightChangeListenerResult { - /** 键盘高度 */ - height: number - } - interface OnLazyLoadErrorListenerResult { - /** 详细信息 */ - errMsg: string - /** 异步组件所属的分包 */ - subpackage: any[] - /** 'subpackage' 失败类型 */ - type: string - } - interface OnLocalServiceFoundListenerResult { - /** 服务的 ip 地址 */ - ip: string - /** 服务的端口 */ - port: number - /** 服务的名称 */ - serviceName: string - /** 服务的类型 */ - serviceType: string - } - interface OnLocalServiceLostListenerResult { - /** 服务的名称 */ - serviceName: string - /** 服务的类型 */ - serviceType: string - } - interface OnLocationChangeErrorListenerResult { - /** 错误码 */ - errCode: number - } - interface OnLocationChangeListenerResult { - /** 位置的精确度 */ - accuracy: number - /** 需要基础库: `1.2.0` - * - * 高度,单位 m */ - altitude: number - /** 需要基础库: `1.2.0` - * - * 水平精度,单位 m */ - horizontalAccuracy: number - /** 纬度,范围为 -90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ - latitude: number - /** 经度,范围为 -180~180,负数表示西经。使用 gcj02 国测局坐标系 */ - longitude: number - /** 速度,单位 m/s */ - speed: number - /** 需要基础库: `1.2.0` - * - * 垂直精度,单位 m(Android 无法获取,返回 0) */ - verticalAccuracy: number - } - interface OnMemoryWarningListenerResult { - /** 内存告警等级,只有 Android 才有,对应系统宏定义 - * - * 可选值: - * - 5: TRIM_MEMORY_RUNNING_MODERATE; - * - 10: TRIM_MEMORY_RUNNING_LOW; - * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */ - level: 5 | 10 | 15 - } - interface OnNetworkStatusChangeListenerResult { - /** 当前是否有网络连接 */ - isConnected: boolean - /** 网络类型 - * - * 可选值: - * - 'wifi': wifi 网络; - * - '2g': 2g 网络; - * - '3g': 3g 网络; - * - '4g': 4g 网络; - * - '5g': 5g 网络; - * - 'unknown': Android 下不常见的网络类型; - * - 'none': 无网络; */ - networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' - } - interface OnNetworkWeakChangeListenerResult { - /** 当前网络类型 */ - networkType: string - /** 当前是否处于弱网状态 */ - weakNet: boolean - } - interface OnOpenListenerResult { - /** 需要基础库: `2.0.0` - * - * 连接成功的 HTTP 响应 Header */ - header: IAnyObject - /** 需要基础库: `2.10.4` - * - * 网络请求过程中一些调试信息 */ - profile: SocketProfile - } - interface OnPageNotFoundListenerResult { - /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ - isEntryPage: boolean - /** 不存在页面的路径 (代码包路径) */ - path: string - /** 打开不存在页面的 query 参数 */ - query: IAnyObject - } - interface OnScreenRecordingStateChangedListenerResult { - /** 录屏状态 - * - * 可选值: - * - 'start': 开始录屏; - * - 'stop': 结束录屏; */ - state: 'start' | 'stop' - } - interface OnSocketOpenListenerResult { - /** 需要基础库: `2.0.0` - * - * 连接成功的 HTTP 响应 Header */ - header: IAnyObject - } - interface OnStopListenerResult { - /** 录音总时长,单位:ms */ - duration: number - /** 录音文件大小,单位:Byte */ - fileSize: number - /** 录音文件的临时路径 (本地路径) */ - tempFilePath: string - } - interface OnThemeChangeListenerResult { - /** 系统当前的主题,取值为`light`或`dark` - * - * 可选值: - * - 'dark': 深色主题; - * - 'light': 浅色主题; */ - theme: 'dark' | 'light' - } - interface OnUnhandledRejectionListenerResult { - /** 被拒绝的 Promise 对象 */ - promise: Promise<any> - /** 拒绝原因,一般是一个 Error 对象 */ - reason: string - } - interface OnVoIPChatInterruptedListenerResult { - /** 错误码 */ - errCode: number - /** 调用结果(错误原因) */ - errMsg: string - } - interface OnVoIPChatMembersChangedListenerResult { - /** 错误码 */ - errCode: number - /** 调用结果 */ - errMsg: string - /** 还在实时语音通话中的成员 openId 名单 */ - openIdList: string[] - } - interface OnVoIPChatSpeakersChangedListenerResult { - /** 错误码 */ - errCode: number - /** 调用结果(错误原因) */ - errMsg: string - /** 还在实时语音通话中的成员 openId 名单 */ - openIdList: string[] - } - interface OnVoIPChatStateChangedListenerResult { - /** 事件码 */ - code: number - /** 附加信息 */ - data: IAnyObject - /** 错误码 */ - errCode: number - /** 调用结果 */ - errMsg: string - } - interface OnVoIPVideoMembersChangedListenerResult { - /** 错误码 */ - errCode: number - /** 调用结果 */ - errMsg: string - /** 开启视频的成员名单 */ - openIdList: string[] - } - interface OnWifiConnectedListenerResult { - /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) - * - * Wi-Fi 信息 */ - wifi: WifiInfo - } - interface OnWifiConnectedWithPartialInfoListenerResult { - /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) - * - * 只包含 SSID 属性的 WifiInfo 对象 */ - wifi: WifiInfo - } - interface OnWindowResizeListenerResult { - size: Size - } - interface OpenAppAuthorizeSettingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenAppAuthorizeSettingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenAppAuthorizeSettingFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenAppAuthorizeSettingSuccessCallback - } - interface OpenBluetoothAdapterOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenBluetoothAdapterCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenBluetoothAdapterFailCallback - /** 需要基础库: `2.10.0` - * - * 蓝牙模式,可作为主/从设备,仅 iOS 需要。 - * - * 可选值: - * - 'central': 主机模式; - * - 'peripheral': 从机(外围设备)模式; */ - mode?: 'central' | 'peripheral' - /** 接口调用成功的回调函数 */ - success?: OpenBluetoothAdapterSuccessCallback - } - interface OpenCardOption { - /** 需要打开的卡券列表 */ - cardList: OpenCardRequestInfo[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenCardCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenCardFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenCardSuccessCallback - } - /** 需要打开的卡券列表 */ - interface OpenCardRequestInfo { - /** 卡券 ID */ - cardId: string - /** 由 [wx.addCard](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) 的返回对象中的加密 code 通过解密后得到,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ - code: string - } - interface OpenChannelsActivityOption { - /** 视频 feedId */ - feedId: string - /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenChannelsActivityCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenChannelsActivityFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenChannelsActivitySuccessCallback - } - interface OpenChannelsEventOption { - /** 活动 id */ - eventId: string - /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenChannelsEventCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenChannelsEventFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenChannelsEventSuccessCallback - } - interface OpenChannelsLiveOption { - /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenChannelsLiveCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenChannelsLiveFailCallback - /** 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ - feedId?: string - /** 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ - nonceId?: string - /** 接口调用成功的回调函数 */ - success?: OpenChannelsLiveSuccessCallback - } - interface OpenChannelsUserProfileOption { - /** 视频号 id */ - finderUserName: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenChannelsUserProfileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenChannelsUserProfileFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenChannelsUserProfileSuccessCallback - } - interface OpenCustomerServiceChatOption { - /** 企业ID */ - corpId: string - /** 客服信息 */ - extInfo: ExtInfoOption - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenCustomerServiceChatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenCustomerServiceChatFailCallback - /** 气泡消息图片 */ - sendMessageImg?: string - /** 气泡消息小程序路径 */ - sendMessagePath?: string - /** 气泡消息标题 */ - sendMessageTitle?: string - /** 是否发送小程序气泡消息 */ - showMessageCard?: boolean - /** 接口调用成功的回调函数 */ - success?: OpenCustomerServiceChatSuccessCallback - } - interface OpenDocumentOption { - /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenDocumentCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenDocumentFailCallback - /** 需要基础库: `1.4.0` - * - * 文件类型,指定文件类型打开文件 - * - * 可选值: - * - 'doc': doc 格式; - * - 'docx': docx 格式; - * - 'xls': xls 格式; - * - 'xlsx': xlsx 格式; - * - 'ppt': ppt 格式; - * - 'pptx': pptx 格式; - * - 'pdf': pdf 格式; */ - fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf' - /** 需要基础库: `2.11.0` - * - * 是否显示右上角菜单 */ - showMenu?: boolean - /** 接口调用成功的回调函数 */ - success?: OpenDocumentSuccessCallback - } - interface OpenEmbeddedMiniProgramOption { - /** 要打开的小程序 appId */ - appId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenEmbeddedMiniProgramCompleteCallback - /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 - * - * 可选值: - * - 'develop': 开发版; - * - 'trial': 体验版; - * - 'release': 正式版; */ - envVersion?: 'develop' | 'trial' | 'release' - /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ - extraData?: IAnyObject - /** 接口调用失败的回调函数 */ - fail?: OpenEmbeddedMiniProgramFailCallback - /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ - path?: string - /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 */ - shortLink?: string - /** 接口调用成功的回调函数 */ - success?: OpenEmbeddedMiniProgramSuccessCallback - /** 需要基础库: `2.24.3` - * - * 校验方式。 - * - * 可选值: - * - 'binding': 校验小程序管理后台的绑定关系。; - * - 'unionProduct': 校验目标打开链接是否为[小程序联盟](https://developers.weixin.qq.com/doc/ministore/union/brief-introduction.html)商品。; */ - verify?: 'binding' | 'unionProduct' - } - interface OpenFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory "${filePath}"': 上级目录不存在; */ - errMsg: string - } - interface OpenLocationOption { - /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ - latitude: number - /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ - longitude: number - /** 地址的详细说明 */ - address?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenLocationFailCallback - /** 位置名 */ - name?: string - /** 缩放比例,范围5~18 */ - scale?: number - /** 接口调用成功的回调函数 */ - success?: OpenLocationSuccessCallback - } - interface OpenMapAppOption { - /** 目的地名称 */ - destination: string - /** 目的地纬度 */ - latitude: number - /** 目的地经度 */ - longitude: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenMapAppCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenMapAppFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenMapAppSuccessCallback - } - interface OpenOption { - /** 文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenFailCallback - /** 文件系统标志,默认值: 'r' - * - * 可选值: - * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; - * - 'ax': 类似于 'a',但如果路径存在,则失败; - * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; - * - 'ax+': 类似于 'a+',但如果路径存在,则失败; - * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; - * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; - * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; - * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; - * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - * - 'wx': 类似于 'w',但如果路径存在,则失败; - * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ - flag?: - | 'a' - | 'ax' - | 'a+' - | 'ax+' - | 'as' - | 'as+' - | 'r' - | 'r+' - | 'w' - | 'wx' - | 'w+' - | 'wx+' - /** 接口调用成功的回调函数 */ - success?: OpenSuccessCallback - } - interface OpenSettingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenSettingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenSettingFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenSettingSuccessCallback - /** 需要基础库: `2.10.3` - * - * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ - withSubscriptions?: boolean - } - interface OpenSettingSuccessCallbackResult { - /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) - * - * 用户授权结果 */ - authSetting: AuthSetting - /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) - * - * 需要基础库: `2.10.3` - * - * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ - subscriptionsSetting: SubscriptionsSetting - errMsg: string - } - interface OpenSuccessCallbackResult { - /** 文件描述符 */ - fd: string - errMsg: string - } - interface OpenSyncOption { - /** 文件路径 (本地路径) */ - filePath: string - /** 文件系统标志,默认值: 'r' - * - * 可选值: - * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; - * - 'ax': 类似于 'a',但如果路径存在,则失败; - * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; - * - 'ax+': 类似于 'a+',但如果路径存在,则失败; - * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; - * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; - * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; - * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; - * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - * - 'wx': 类似于 'w',但如果路径存在,则失败; - * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; - * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ - flag?: - | 'a' - | 'ax' - | 'a+' - | 'ax+' - | 'as' - | 'as+' - | 'r' - | 'r+' - | 'w' - | 'wx' - | 'w+' - | 'wx+' - } - interface OpenSystemBluetoothSettingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenSystemBluetoothSettingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenSystemBluetoothSettingFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenSystemBluetoothSettingSuccessCallback - } - interface OpenVideoEditorOption { - /** 视频源的路径,只支持本地路径 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: OpenVideoEditorCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: OpenVideoEditorFailCallback - /** 接口调用成功的回调函数 */ - success?: OpenVideoEditorSuccessCallback - } - interface OpenVideoEditorSuccessCallbackResult { - /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */ - duration: number - /** 剪辑后生成的视频文件大小,单位字节数(byte) */ - size: number - /** 编辑后生成的视频文件的临时路径 */ - tempFilePath: string - /** 编辑后生成的缩略图文件的临时路径 */ - tempThumbPath: string - errMsg: string - } - interface PageScrollToOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PageScrollToCompleteCallback - /** 滚动动画的时长,单位 ms */ - duration?: number - /** 接口调用失败的回调函数 */ - fail?: PageScrollToFailCallback - /** 需要基础库: `2.23.1` - * - * 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px */ - offsetTop?: number - /** 滚动到页面的目标位置,单位 px */ - scrollTop?: number - /** 需要基础库: `2.7.3` - * - * 选择器 */ - selector?: string - /** 接口调用成功的回调函数 */ - success?: PageScrollToSuccessCallback - } - /** 需要基础库: `2.11.0` - * - * Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。 */ - interface Path2D {} - interface PauseBGMOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PauseBGMCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PauseBGMFailCallback - /** 接口调用成功的回调函数 */ - success?: PauseBGMSuccessCallback - } - interface PauseBackgroundAudioOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PauseBackgroundAudioCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PauseBackgroundAudioFailCallback - /** 接口调用成功的回调函数 */ - success?: PauseBackgroundAudioSuccessCallback - } - interface PauseOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PauseCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PauseFailCallback - /** 接口调用成功的回调函数 */ - success?: PauseSuccessCallback - } - interface PauseVoiceOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PauseVoiceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PauseVoiceFailCallback - /** 接口调用成功的回调函数 */ - success?: PauseVoiceSuccessCallback - } - /** 单条性能数据。具体数据口径请参考[性能数据文档]((performance/perf_data##_1-4-%E9%80%9A%E8%BF%87-wx-getPerformance-%E5%9C%A8%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%86%85%E8%8E%B7%E5%8F%96)) */ - interface PerformanceEntry { - /** 需要基础库: `2.24.0` - * - * 解析域名结束时间。仅 resourceTiming 指标有效。 */ - domainLookupEnd: number - /** 需要基础库: `2.24.0` - * - * 解析域名开始时间。仅 resourceTiming 指标有效。 */ - domainLookupStart: number - /** 耗时 ms。仅对于表示阶段的指标有效。 */ - duration: number - /** 指标类型 - * - * 可选值: - * - 'navigation': 路由; - * - 'render': 渲染; - * - 'script': 脚本; */ - entryType: 'navigation' | 'render' | 'script' - /** 需要基础库: `2.21.2` - * - * 注入文件列表。仅 evaluateScript 指标有效。 */ - fileList: string[] - /** 需要基础库: `2.21.2` - * - * 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 */ - initDataRecvTime: number - /** 需要基础库: `2.21.2` - * - * 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 */ - initDataSendTime: number - /** 需要基础库: `2.24.0` - * - * 初始化性能条目的资源类型。仅 resourceTiming 指标有效。 - * - * 可选值: - * - 'audio': 音频; - * - 'cover-image': cover-image 组件的图片; - * - 'image': 组件的图片; - * - 'open-data': 组件的图片; */ - initiatorType: 'audio' | 'cover-image' | 'image' | 'open-data' - /** 分包名,主包表示为 __APP__ (2.21.2 开始)。仅 evaluateScript 指标有效。 */ - moduleName: string - /** 指标名称 - * - * 可选值: - * - 'appLaunch': 小程序启动耗时。(entryType: navigation); - * - 'route': 路由处理耗时。(entryType: navigation); - * - 'firstRender': 页面首次渲染耗时。(entryType: render); - * - 'firstPaint': 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render); - * - 'firstContentfulPaint': 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render); - * - 'largestContentfulPaint': 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render); - * - 'evaluateScript': 逻辑层 JS 代码注入耗时。(entryType: script); - * - 'downloadPackage': 代码包下载耗时。(entryType: loadPackage); - * - 'resourceTiming': 视图层资源加载耗时。(entryType: resource); */ - name: - | 'appLaunch' - | 'route' - | 'firstRender' - | 'firstPaint' - | 'firstContentfulPaint' - | 'largestContentfulPaint' - | 'evaluateScript' - | 'downloadPackage' - | 'resourceTiming' - /** 路由真正响应开始时间。仅 navigation 类型指标有效。 */ - navigationStart: number - /** 路由详细类型,与小程序路由方法对应。仅 navigation 类型指标有效。 */ - navigationType: string - /** 需要基础库: `2.24.0` - * - * 代码包名称。仅 downloadPackage 指标有效。 */ - packageName: string - /** 需要基础库: `2.24.0` - * - * 代码包大小。仅 downloadPackage 指标有效。 */ - packageSize: number - /** 需要基础库: `2.23.1` - * - * path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 */ - pageId: number - /** 页面路径。仅 render 和 navigation 类型指标有效。 */ - path: string - /** 需要基础库: `2.23.1` - * - * referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 */ - referrerPageId: number - /** 需要基础库: `2.23.1` - * - * 页面跳转来源页面路径。仅 route 指标有效。 */ - referrerPath: number - /** 开始时间,不同指标的具体含义会有差异。 */ - startTime: number - /** 需要基础库: `2.24.0` - * - * 表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持) */ - transferSize: number - /** 需要基础库: `2.24.0` - * - * 资源路径。仅 resourceTiming 指标有效。 */ - uri: string - /** 需要基础库: `2.21.2` - * - * 渲染层代码注入完成时间。仅 firstRender 指标有效。 */ - viewLayerReadyTime: number - /** 需要基础库: `2.21.2` - * - * 渲染层执行渲染结束时间。仅 firstRender 指标有效。 */ - viewLayerRenderEndTime: number - /** 需要基础库: `2.21.2` - * - * 渲染层执行渲染开始时间。仅 firstRender 指标有效。 */ - viewLayerRenderStartTime: number - } - /** 需要基础库: `2.11.0` - * - * PerformanceObserver 对象,用于监听性能相关事件 */ - interface PerformanceObserver { - /** 获取当前支持的所有性能指标类型 */ - supportedEntryTypes: any[] - } - /** 平面跟踪配置 */ - interface PlaneTrack { - /** 平面跟踪配置模式 - * - * 可选值: - * - 1: 检测横向平面; - * - 2: 检测纵向平面,只有 v2 版本支持; - * - 3: 检测横向和纵向平面,只有 v2 版本支持; */ - mode: 1 | 2 | 3 - } - interface PlayBGMOption { - /** 加入背景混音的资源地址 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PlayBGMCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PlayBGMFailCallback - /** 接口调用成功的回调函数 */ - success?: PlayBGMSuccessCallback - } - interface PlayBackgroundAudioOption { - /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */ - dataUrl: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PlayBackgroundAudioCompleteCallback - /** 封面URL */ - coverImgUrl?: string - /** 接口调用失败的回调函数 */ - fail?: PlayBackgroundAudioFailCallback - /** 接口调用成功的回调函数 */ - success?: PlayBackgroundAudioSuccessCallback - /** 音乐标题 */ - title?: string - } - interface PlayOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PlayCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PlayFailCallback - /** 接口调用成功的回调函数 */ - success?: PlaySuccessCallback - } - interface PlayVoiceOption { - /** 需要播放的语音文件的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PlayVoiceCompleteCallback - /** 需要基础库: `1.6.0` - * - * 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 */ - duration?: number - /** 接口调用失败的回调函数 */ - fail?: PlayVoiceFailCallback - /** 接口调用成功的回调函数 */ - success?: PlayVoiceSuccessCallback - } - /** 插件帐号信息(仅在插件中调用时包含这一项) */ - interface Plugin { - /** 插件 appId */ - appId: string - /** 插件版本号 */ - version: string - } - interface PluginLoginOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PluginLoginCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PluginLoginFailCallback - /** 接口调用成功的回调函数 */ - success?: PluginLoginSuccessCallback - } - interface PluginLoginSuccessCallbackResult { - /** 用于换取 openpid 的凭证(有效期五分钟)。插件开发者可以用此 code 在开发者服务器后台调用 [auth.getPluginOpenPId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.getPluginOpenPId.html) 换取 openpid。 */ - code: string - errMsg: string - } - interface PreloadAssetsOption { - data: Asset[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PreloadAssetsCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PreloadAssetsFailCallback - /** 接口调用成功的回调函数 */ - success?: PreloadAssetsSuccessCallback - } - interface PreloadSkylineViewOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PreloadSkylineViewCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PreloadSkylineViewFailCallback - /** 接口调用成功的回调函数 */ - success?: PreloadSkylineViewSuccessCallback - } - interface PreloadWebviewOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PreloadWebviewCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: PreloadWebviewFailCallback - /** 接口调用成功的回调函数 */ - success?: PreloadWebviewSuccessCallback - } - interface PreviewImageOption { - /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */ - urls: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PreviewImageCompleteCallback - /** 当前显示图片的链接 */ - current?: string - /** 接口调用失败的回调函数 */ - fail?: PreviewImageFailCallback - /** 需要基础库: `2.13.0` - * - * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ - referrerPolicy?: string - /** 需要基础库: `2.13.0` - * - * 是否显示长按菜单。 */ - showmenu?: boolean - /** 接口调用成功的回调函数 */ - success?: PreviewImageSuccessCallback - } - interface PreviewMediaOption { - /** 需要预览的资源列表 */ - sources: MediaSource[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: PreviewMediaCompleteCallback - /** 当前显示的资源序号 */ - current?: number - /** 接口调用失败的回调函数 */ - fail?: PreviewMediaFailCallback - /** 需要基础库: `2.13.0` - * - * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ - referrerPolicy?: string - /** 需要基础库: `2.13.0` - * - * 是否显示长按菜单。 */ - showmenu?: boolean - /** 接口调用成功的回调函数 */ - success?: PreviewMediaSuccessCallback - } - /** 推广员 */ - interface PromoterResult { - /** 推广员昵称 */ - finderNickname: string - /** 推广员 id */ - promoterId: string - /** 推广员 openid */ - promoterOpenId: string - } - interface ReLaunchOption { - /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReLaunchCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ReLaunchFailCallback - /** 接口调用成功的回调函数 */ - success?: ReLaunchSuccessCallback - } - interface ReadBLECharacteristicValueOption { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙设备 id */ - deviceId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReadBLECharacteristicValueCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ReadBLECharacteristicValueFailCallback - /** 接口调用成功的回调函数 */ - success?: ReadBLECharacteristicValueSuccessCallback - } - interface ReadCompressedFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail decompress fail': 指定的 compressionAlgorithm 与文件实际压缩格式不符; - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; */ - errMsg: string - } - interface ReadCompressedFileOption { - /** 文件压缩类型,目前仅支持 'br'。 - * - * 可选值: - * - 'br': brotli压缩文件; */ - compressionAlgorithm: 'br' - /** 要读取的文件的路径 (本地用户文件或代码包文件) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReadCompressedFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ReadCompressedFileFailCallback - /** 接口调用成功的回调函数 */ - success?: ReadCompressedFileSuccessCallback - } - interface ReadCompressedFileSuccessCallbackResult { - /** 文件内容 */ - data: ArrayBuffer - errMsg: string - } - interface ReadCompressedFileSyncOption { - /** 文件压缩类型,目前仅支持 'br'。 - * - * 可选值: - * - 'br': brotli压缩文件; */ - compressionAlgorithm: 'br' - /** 要读取的文件的路径 (本地用户文件或代码包文件) */ - filePath: string - } - interface ReadFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'bad file descriptor': 无效的文件描述符; - * - 'fail permission denied': 指定的 fd 路径没有读权限; - * - 'fail the value of "offset" is out of range': 传入的 offset 不合法; - * - 'fail the value of "length" is out of range': 传入的 length 不合法; - * - 'fail sdcard not mounted': android sdcard 挂载失败; - * - 'bad file descriptor': 无效的文件描述符; */ - errMsg: string - } - interface ReadFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; - * - 'native buffer exceed size limit': 文件大小超出上限(100M); */ - errMsg: string - } - interface ReadFileOption { - /** 要读取的文件的路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReadFileCompleteCallback - /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 接口调用失败的回调函数 */ - fail?: ReadFileFailCallback - /** 需要基础库: `2.10.0` - * - * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ - length?: number - /** 需要基础库: `2.10.0` - * - * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ - position?: number - /** 接口调用成功的回调函数 */ - success?: ReadFileSuccessCallback - } - interface ReadFileSuccessCallbackResult { - /** 文件内容 */ - data: string | ArrayBuffer - errMsg: string - } - interface ReadOption { - /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ - arrayBuffer: ArrayBuffer - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReadCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ReadFailCallback - /** 要从文件中读取的字节数,默认0 */ - length?: number - /** 缓冲区中的写入偏移量,默认0 */ - offset?: number - /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ - position?: number - /** 接口调用成功的回调函数 */ - success?: ReadSuccessCallback - } - /** 文件读取结果。 通过 [FileSystemManager.readSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) 接口返回 */ - interface ReadResult { - /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ - arrayBuffer: ArrayBuffer - /** 实际读取的字节数 */ - bytesRead: number - } - interface ReadSuccessCallbackResult { - /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ - arrayBuffer: ArrayBuffer - /** 实际读取的字节数 */ - bytesRead: number - errMsg: string - } - interface ReadSyncOption { - /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ - arrayBuffer: ArrayBuffer - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 要从文件中读取的字节数,默认0 */ - length?: number - /** 缓冲区中的写入偏移量,默认0 */ - offset?: number - /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ - position?: number - } - interface ReadZipEntryFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface ReadZipEntryOption { - /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ - entries: EntryItem[] | 'all' - /** 要读取的压缩包的路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReadZipEntryCompleteCallback - /** 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 接口调用失败的回调函数 */ - fail?: ReadZipEntryFailCallback - /** 接口调用成功的回调函数 */ - success?: ReadZipEntrySuccessCallback - } - interface ReadZipEntrySuccessCallbackResult { - /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ - entries: EntriesResult - errMsg: string - } - interface ReaddirFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory ${dirPath}': 目录不存在; - * - 'fail not a directory ${dirPath}': dirPath 不是目录; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface ReaddirOption { - /** 要读取的目录路径 (本地路径) */ - dirPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ReaddirCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ReaddirFailCallback - /** 接口调用成功的回调函数 */ - success?: ReaddirSuccessCallback - } - interface ReaddirSuccessCallbackResult { - /** 指定目录下的文件名数组。 */ - files: string[] - errMsg: string - } - interface RecorderManagerStartOption { - /** 需要基础库: `2.1.0` - * - * 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源 - * - * 可选值: - * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; - * - 'buildInMic': 手机麦克风,仅限 iOS; - * - 'headsetMic': 有线耳机麦克风,仅限 iOS; - * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; - * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; - * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; - * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ - audioSource?: - | 'auto' - | 'buildInMic' - | 'headsetMic' - | 'mic' - | 'camcorder' - | 'voice_communication' - | 'voice_recognition' - /** 录音的时长,单位 ms,最大值 600000(10 分钟) */ - duration?: number - /** 编码码率,有效值见下表格 */ - encodeBitRate?: number - /** 音频格式 - * - * 可选值: - * - 'mp3': mp3 格式; - * - 'aac': aac 格式; - * - 'wav': wav 格式; - * - 'PCM': pcm 格式; */ - format?: 'mp3' | 'aac' | 'wav' | 'PCM' - /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 */ - frameSize?: number - /** 录音通道数 - * - * 可选值: - * - 1: 1 个通道; - * - 2: 2 个通道; */ - numberOfChannels?: 1 | 2 - /** 采样率(pc不支持) - * - * 可选值: - * - 8000: 8000 采样率; - * - 11025: 11025 采样率; - * - 12000: 12000 采样率; - * - 16000: 16000 采样率; - * - 22050: 22050 采样率; - * - 24000: 24000 采样率; - * - 32000: 32000 采样率; - * - 44100: 44100 采样率; - * - 48000: 48000 采样率; */ - sampleRate?: - | 8000 - | 11025 - | 12000 - | 16000 - | 22050 - | 24000 - | 32000 - | 44100 - | 48000 - } - interface RedirectToOption { - /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RedirectToCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RedirectToFailCallback - /** 接口调用成功的回调函数 */ - success?: RedirectToSuccessCallback - } - interface RedoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RedoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RedoFailCallback - /** 接口调用成功的回调函数 */ - success?: RedoSuccessCallback - } - /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ - interface ReferrerInfo { - /** 来源小程序、公众号或 App 的 appId */ - appId: string - /** 来源小程序传过来的数据,scene=1037或1038时支持 */ - extraData: IAnyObject - } - /** 参照区域的边界 */ - interface RelativeRectResult { - /** 下边界 */ - bottom: number - /** 左边界 */ - left: number - /** 右边界 */ - right: number - /** 上边界 */ - top: number - } - /** 发送端地址信息 */ - interface RemoteInfo { - /** 发送消息的 socket 的地址 */ - address: string - /** 使用的协议族,为 IPv4 或者 IPv6 */ - family: string - /** 端口号 */ - port: number - /** message 的大小,单位:字节 */ - size: number - } - interface RemoveArcOption { - /** 圆弧 id */ - id: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveArcCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveArcFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveArcSuccessCallback - } - interface RemoveCustomLayerOption { - /** 个性化图层id */ - layerId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveCustomLayerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveCustomLayerFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveCustomLayerSuccessCallback - } - interface RemoveFormatOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveFormatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveFormatFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveFormatSuccessCallback - } - interface RemoveGroundOverlayOption { - /** 图片图层 id */ - id: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveGroundOverlayCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveGroundOverlayFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveGroundOverlaySuccessCallback - } - interface RemoveMarkersOption { - /** marker 的 id 集合。 */ - markerIds: any[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveMarkersCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveMarkersFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveMarkersSuccessCallback - } - interface RemoveSavedFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail file not exist': 指定的 tempFilePath 找不到文件; */ - errMsg: string - } - interface RemoveServiceOption { - /** service 的 UUID */ - serviceId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveServiceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveServiceFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveServiceSuccessCallback - } - interface RemoveStorageOption { - /** 本地缓存中指定的 key */ - key: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveStorageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveStorageSuccessCallback - } - interface RemoveTabBarBadgeOption { - /** tabBar 的哪一项,从左边算起 */ - index: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveTabBarBadgeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveTabBarBadgeFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveTabBarBadgeSuccessCallback - } - interface RemoveVisualLayerOption { - /** 可视化图层id */ - layerId: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveVisualLayerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RemoveVisualLayerFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveVisualLayerSuccessCallback - } - interface RenameFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail permission denied, rename ${oldPath} -> ${newPath}': 指定源文件或目标文件没有写权限; - * - 'fail no such file or directory, rename ${oldPath} -> ${newPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ - errMsg: string - } - interface RenameOption { - /** 新文件路径,支持本地路径 */ - newPath: string - /** 源文件路径,支持本地路径 */ - oldPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RenameCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RenameFailCallback - /** 接口调用成功的回调函数 */ - success?: RenameSuccessCallback - } - /** Canvas 绘图上下文。 - * - * **** - * - * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。 - * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。 - * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象 - * - * **示例代码** - * - * video 画到 2D Canvas 示例 - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */ - interface RenderingContext {} - interface RequestOption< - T extends string | IAnyObject | ArrayBuffer = - | string - | IAnyObject - | ArrayBuffer - > { - /** 开发者服务器接口地址 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestCompleteCallback - /** 请求的参数 */ - data?: string | IAnyObject | ArrayBuffer - /** 返回的数据格式 - * - * 可选值: - * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse; - * - '其他': 不对返回的内容进行 JSON.parse; */ - dataType?: 'json' | '其他' - /** 需要基础库: `2.10.4` - * - * 开启 cache */ - enableCache?: boolean - /** 需要基础库: `2.20.2` - * - * 开启 transfer-encoding chunked。 */ - enableChunked?: boolean - /** 需要基础库: `2.10.4` - * - * 开启 http2 */ - enableHttp2?: boolean - /** 需要基础库: `2.19.1` - * - * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ - enableHttpDNS?: boolean - /** 需要基础库: `2.10.4` - * - * 开启 quic */ - enableQuic?: boolean - /** 接口调用失败的回调函数 */ - fail?: RequestFailCallback - /** 需要基础库: `2.21.0` - * - * wifi下使用移动网络发送请求 */ - forceCellularNetwork?: boolean - /** 设置请求的 header,header 中不能设置 Referer。 - * - * `content-type` 默认为 `application/json` */ - header?: IAnyObject - /** 需要基础库: `2.19.1` - * - * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ - httpDNSServiceId?: string - /** HTTP 请求方法 - * - * 可选值: - * - 'OPTIONS': HTTP 请求 OPTIONS; - * - 'GET': HTTP 请求 GET; - * - 'HEAD': HTTP 请求 HEAD; - * - 'POST': HTTP 请求 POST; - * - 'PUT': HTTP 请求 PUT; - * - 'DELETE': HTTP 请求 DELETE; - * - 'TRACE': HTTP 请求 TRACE; - * - 'CONNECT': HTTP 请求 CONNECT; */ - method?: - | 'OPTIONS' - | 'GET' - | 'HEAD' - | 'POST' - | 'PUT' - | 'DELETE' - | 'TRACE' - | 'CONNECT' - /** 需要基础库: `1.7.0` - * - * 响应的数据类型 - * - * 可选值: - * - 'text': 响应的数据为文本; - * - 'arraybuffer': 响应的数据为 ArrayBuffer; */ - responseType?: 'text' | 'arraybuffer' - /** 接口调用成功的回调函数 */ - success?: RequestSuccessCallback<T> - /** 需要基础库: `2.10.0` - * - * 超时时间,单位为毫秒。默认值为 60000 */ - timeout?: number - } - interface RequestOrderPaymentOption { - /** 随机字符串,长度为32个字符以下 */ - nonceStr: string - /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ - package: string - /** 签名,具体见微信支付文档 */ - paySign: string - /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ - timeStamp: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestOrderPaymentCompleteCallback - /** 外部APP用户ID */ - extUserUin?: string - /** 接口调用失败的回调函数 */ - fail?: RequestOrderPaymentFailCallback - /** 订单信息,仅在需要校验的场景下需要传递,具体见[接口说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/requestOrderPayment) */ - orderInfo?: IAnyObject - /** 签名算法,应与后台下单时的值一致 - * - * 可选值: - * - 'MD5': 仅在 v2 版本接口适用; - * - 'HMAC-SHA256': 仅在 v2 版本接口适用; - * - 'RSA': 仅在 v3 版本接口适用; */ - signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' - /** 接口调用成功的回调函数 */ - success?: RequestOrderPaymentSuccessCallback - } - interface RequestPaymentOption { - /** 随机字符串,长度为32个字符以下 */ - nonceStr: string - /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ - package: string - /** 签名,具体见微信支付文档 */ - paySign: string - /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ - timeStamp: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestPaymentCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RequestPaymentFailCallback - /** 签名算法,应与后台下单时的值一致 - * - * 可选值: - * - 'MD5': 仅在 v2 版本接口适用; - * - 'HMAC-SHA256': 仅在 v2 版本接口适用; - * - 'RSA': 仅在 v3 版本接口适用; */ - signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' - /** 接口调用成功的回调函数 */ - success?: RequestPaymentSuccessCallback - } - interface RequestPictureInPictureOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestPictureInPictureCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RequestPictureInPictureFailCallback - /** 接口调用成功的回调函数 */ - success?: RequestPictureInPictureSuccessCallback - } - interface RequestPluginPaymentOption { - /** 需要显示在页面中的金额,单位为分 */ - fee: number - /** 任意数据,传递给功能页中的响应函数 */ - paymentArgs: IAnyObject - /** 插件版本 - * - * 可选值: - * - 'develop': 开发版; - * - 'trial': 体验版; - * - 'release': 正式版; */ - version: 'develop' | 'trial' | 'release' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestPluginPaymentCompleteCallback - /** 需要显示在页面中的货币符号的代码 */ - currencyType?: string - /** 接口调用失败的回调函数 */ - fail?: RequestPluginPaymentFailCallback - /** 接口调用成功的回调函数 */ - success?: RequestPluginPaymentSuccessCallback - } - /** 需要基础库: `2.10.4` - * - * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ - interface RequestProfile { - /** SSL建立完成的时间,如果不是安全连接,则值为 0 */ - SSLconnectionEnd: number - /** SSL建立连接的时间,如果不是安全连接,则值为 0 */ - SSLconnectionStart: number - /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ - connectEnd: number - /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ - connectStart: number - /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ - domainLookupEnd: number - /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ - domainLookupStart: number - /** 评估当前网络下载的kbps */ - downstreamThroughputKbpsEstimate: number - /** 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 */ - estimate_nettype: number - /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */ - fetchStart: number - /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */ - httpRttEstimate: number - /** 当前请求的IP */ - peerIP: string - /** 当前请求的端口 */ - port: number - /** 使用协议类型,有效值:http1.1, h2, quic, unknown */ - protocol: string - /** 收到字节数 */ - receivedBytedCount: number - /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */ - redirectEnd: number - /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */ - redirectStart: number - /** HTTP请求读取真实文档结束的时间 */ - requestEnd: number - /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */ - requestStart: number - /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */ - responseEnd: number - /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */ - responseStart: number - /** 当次请求连接过程中实时 rtt */ - rtt: number - /** 发送的字节数 */ - sendBytesCount: number - /** 是否复用连接 */ - socketReused: boolean - /** 当前网络的实际下载kbps */ - throughputKbps: number - /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */ - transportRttEstimate: number - } - interface RequestSubscribeDeviceMessageFailCallbackResult { - /** 接口调用失败错误码,有可能为空 */ - errCode: number - /** 接口调用失败错误信息 */ - errMsg: string - } - interface RequestSubscribeDeviceMessageOption { - /** 设备型号 id 。通过微信公众平台注册设备获得。 */ - modelId: string - /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */ - sn: string - /** 设备票据,5分钟内有效。 */ - snTicket: string - /** 需要订阅的消息模板的 id 的集合,一次调用最多可订阅3条消息 */ - tmplIds: any[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestSubscribeDeviceMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RequestSubscribeDeviceMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: RequestSubscribeDeviceMessageSuccessCallback - } - interface RequestSubscribeDeviceMessageSuccessCallbackResult { - /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'、'acceptWithAudio'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'acceptWithAudio' 表示用户接收订阅消息并开启了语音提醒,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeDeviceMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ - [TEMPLATE_ID: string]: string - /** 接口调用成功时errMsg值为'requestSubscribeDeviceMessage:ok' */ - errMsg: string - } - interface RequestSubscribeMessageFailCallbackResult { - /** 接口调用失败错误码 */ - errCode: number - /** 接口调用失败错误信息 */ - errMsg: string - } - interface RequestSubscribeMessageOption { - /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */ - tmplIds: any[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RequestSubscribeMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RequestSubscribeMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: RequestSubscribeMessageSuccessCallback - } - interface RequestSubscribeMessageSuccessCallbackResult { - /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ - [TEMPLATE_ID: string]: string - /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */ - errMsg: string - } - interface RequestSuccessCallbackResult< - T extends string | IAnyObject | ArrayBuffer = - | string - | IAnyObject - | ArrayBuffer - > { - /** 需要基础库: `2.10.0` - * - * 开发者服务器返回的 cookies,格式为字符串数组 */ - cookies: string[] - /** 开发者服务器返回的数据 */ - data: T - /** 需要基础库: `1.2.0` - * - * 开发者服务器返回的 HTTP Response Header */ - header: IAnyObject - /** 需要基础库: `2.10.4` - * - * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ - profile: RequestProfile - /** 开发者服务器返回的 HTTP 状态码 */ - statusCode: number - errMsg: string - } - interface ReserveChannelsLiveOption { - /** 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 */ - noticeId: string - } - /** 开发者服务器每次返回新chunk时的Response */ - interface Result { - /** 返回的chunk buffer */ - data: ArrayBuffer - } - interface ResumeBGMOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ResumeBGMCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ResumeBGMFailCallback - /** 接口调用成功的回调函数 */ - success?: ResumeBGMSuccessCallback - } - interface ResumeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ResumeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ResumeFailCallback - /** 接口调用成功的回调函数 */ - success?: ResumeSuccessCallback - } - interface RewardedVideoAdOnCloseListenerResult { - /** 需要基础库: `2.1.0` - * - * 视频是否是在用户完整观看的情况下被关闭的 */ - isEnded: boolean - } - interface RewardedVideoAdOnErrorListenerResult { - /** 需要基础库: `2.2.2` - * - * 错误码 - * - * 可选值: - * - 1000: 后端接口调用失败; - * - 1001: 参数错误; - * - 1002: 广告单元无效; - * - 1003: 内部错误; - * - 1004: 无合适的广告; - * - 1005: 广告组件审核中; - * - 1006: 广告组件被驳回; - * - 1007: 广告组件被封禁; - * - 1008: 广告单元已关闭; */ - errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 - /** 错误信息 */ - errMsg: string - } - interface RmdirFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory ${dirPath}': 目录不存在; - * - 'fail directory not empty': 目录不为空; - * - 'fail permission denied, open ${dirPath}': 指定的 dirPath 路径没有写权限; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface RmdirOption { - /** 要删除的目录路径 (本地路径) */ - dirPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RmdirCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: RmdirFailCallback - /** 需要基础库: `2.3.0` - * - * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ - recursive?: boolean - /** 接口调用成功的回调函数 */ - success?: RmdirSuccessCallback - } - interface SafeArea { - /** 安全区域右下角纵坐标 */ - bottom: number - /** 安全区域的高度,单位逻辑像素 */ - height: number - /** 安全区域左上角横坐标 */ - left: number - /** 安全区域右下角横坐标 */ - right: number - /** 安全区域左上角纵坐标 */ - top: number - /** 安全区域的宽度,单位逻辑像素 */ - width: number - } - interface SaveFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail tempFilePath file not exist': 指定的 tempFilePath 找不到文件; - * - 'fail permission denied, open "${filePath}"': 指定的 filePath 路径没有写权限; - * - 'fail no such file or directory "${dirPath}"': 上级目录不存在; - * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface SaveFileSuccessCallbackResult { - /** 存储后的文件路径 (本地路径) */ - savedFilePath: string - errMsg: string - } - interface SaveFileToDiskOption { - /** 待保存文件路径 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SaveFileToDiskCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SaveFileToDiskFailCallback - /** 接口调用成功的回调函数 */ - success?: SaveFileToDiskSuccessCallback - } - interface SaveImageToPhotosAlbumOption { - /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SaveImageToPhotosAlbumCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SaveImageToPhotosAlbumFailCallback - /** 接口调用成功的回调函数 */ - success?: SaveImageToPhotosAlbumSuccessCallback - } - interface SaveVideoToPhotosAlbumOption { - /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SaveVideoToPhotosAlbumCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SaveVideoToPhotosAlbumFailCallback - /** 接口调用成功的回调函数 */ - success?: SaveVideoToPhotosAlbumSuccessCallback - } - interface ScanCodeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ScanCodeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ScanCodeFailCallback - /** 需要基础库: `1.2.0` - * - * 是否只能从相机扫码,不允许从相册选择图片 */ - onlyFromCamera?: boolean - /** 需要基础库: `1.7.0` - * - * 扫码类型 - * - * 可选值: - * - 'barCode': 一维码; - * - 'qrCode': 二维码; - * - 'datamatrix': Data Matrix 码; - * - 'pdf417': PDF417 条码; */ - scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'> - /** 接口调用成功的回调函数 */ - success?: ScanCodeSuccessCallback - } - interface ScanCodeSuccessCallbackResult { - /** 所扫码的字符集 */ - charSet: string - /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */ - path: string - /** 原始数据,base64编码 */ - rawData: string - /** 所扫码的内容 */ - result: string - /** 所扫码的类型 - * - * 可选值: - * - 'QR_CODE': 二维码; - * - 'AZTEC': 一维码; - * - 'CODABAR': 一维码; - * - 'CODE_39': 一维码; - * - 'CODE_93': 一维码; - * - 'CODE_128': 一维码; - * - 'DATA_MATRIX': 二维码; - * - 'EAN_8': 一维码; - * - 'EAN_13': 一维码; - * - 'ITF': 一维码; - * - 'MAXICODE': 一维码; - * - 'PDF_417': 二维码; - * - 'RSS_14': 一维码; - * - 'RSS_EXPANDED': 一维码; - * - 'UPC_A': 一维码; - * - 'UPC_E': 一维码; - * - 'UPC_EAN_EXTENSION': 一维码; - * - 'WX_CODE': 二维码; - * - 'CODE_25': 一维码; */ - scanType: - | 'QR_CODE' - | 'AZTEC' - | 'CODABAR' - | 'CODE_39' - | 'CODE_93' - | 'CODE_128' - | 'DATA_MATRIX' - | 'EAN_8' - | 'EAN_13' - | 'ITF' - | 'MAXICODE' - | 'PDF_417' - | 'RSS_14' - | 'RSS_EXPANDED' - | 'UPC_A' - | 'UPC_E' - | 'UPC_EAN_EXTENSION' - | 'WX_CODE' - | 'CODE_25' - errMsg: string - } - interface ScrollOffsetCallbackResult { - /** 节点的 dataset */ - dataset: IAnyObject - /** 节点的 ID */ - id: string - /** 节点的水平滚动位置 */ - scrollLeft: number - /** 节点的竖直滚动位置 */ - scrollTop: number - } - interface ScrollToOption { - /** 是否启用滚动动画 */ - animated?: boolean - /** 滚动动画时长 */ - duration?: number - /** 左边界距离 */ - left?: number - /** 顶部距离 */ - top?: number - /** 初始速度 */ - velocity?: number - } - /** 需要基础库: `2.14.4` -* -* 增强 ScrollView 实例,可通过 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 的 [NodesRef.node](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) 方法获取。 仅在 scroll-view 组件开启 enhanced 属性后生效。 -* -* **示例代码** -* -* ```js -wx.createSelectorQuery() - .select('#scrollview') - .node() - .exec((res) => { - const scrollView = res[0].node; - scrollView.scrollEnabled = false; - }) -``` */ - interface ScrollViewContext { - /** 设置滚动边界弹性 (仅在 iOS 下生效) */ - bounces: boolean - /** 取消滚动惯性 (仅在 iOS 下生效) */ - decelerationDisabled: boolean - /** 设置滚动减速速率 */ - fastDeceleration: boolean - /** 分页滑动开关 */ - pagingEnabled: boolean - /** 滚动开关 */ - scrollEnabled: boolean - /** 设置是否显示滚动条 */ - showScrollbar: boolean - } - interface SeekBackgroundAudioOption { - /** 音乐位置,单位:秒 */ - position: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SeekBackgroundAudioCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SeekBackgroundAudioFailCallback - /** 接口调用成功的回调函数 */ - success?: SeekBackgroundAudioSuccessCallback - } - interface SendHCEMessageOption { - /** 二进制数据 */ - data: ArrayBuffer - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SendHCEMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SendHCEMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: SendHCEMessageSuccessCallback - } - interface SendMessageOption { - /** SEI消息 */ - msg: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SendMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SendMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: SendMessageSuccessCallback - } - interface SendSmsOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SendSmsCompleteCallback - /** 预填到发送短信面板的内容 */ - content?: string - /** 接口调用失败的回调函数 */ - fail?: SendSmsFailCallback - /** 预填到发送短信面板的手机号 */ - phoneNumber?: string - /** 接口调用成功的回调函数 */ - success?: SendSmsSuccessCallback - } - interface SendSocketMessageOption { - /** 需要发送的内容 */ - data: string | ArrayBuffer - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SendSocketMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SendSocketMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: SendSocketMessageSuccessCallback - } - interface SetBGMVolumeOption { - /** 音量大小,范围是 0-1 */ - volume: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBGMVolumeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBGMVolumeFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBGMVolumeSuccessCallback - } - interface SetBLEMTUFailCallbackResult { - /** 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 */ - mtu: number - } - interface SetBLEMTUOption { - /** 蓝牙设备 id */ - deviceId: string - /** 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes */ - mtu: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBLEMTUCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBLEMTUFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBLEMTUSuccessCallback - } - interface SetBLEMTUSuccessCallbackResult { - /** 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 */ - mtu: number - errMsg: string - } - interface SetBackgroundColorOption { - /** 窗口的背景色,必须为十六进制颜色值 */ - backgroundColor?: string - /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ - backgroundColorBottom?: string - /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ - backgroundColorTop?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBackgroundColorCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBackgroundColorFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBackgroundColorSuccessCallback - } - interface SetBackgroundFetchTokenOption { - /** 自定义的登录态 */ - token: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBackgroundFetchTokenCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBackgroundFetchTokenFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBackgroundFetchTokenSuccessCallback - } - interface SetBackgroundTextStyleOption { - /** 下拉背景字体、loading 图的样式。 - * - * 可选值: - * - 'dark': dark 样式; - * - 'light': light 样式; */ - textStyle: 'dark' | 'light' - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBackgroundTextStyleCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBackgroundTextStyleFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBackgroundTextStyleSuccessCallback - } - interface SetBoundaryOption { - /** 东北角经纬度 */ - northeast: MapPostion - /** 西南角经纬度 */ - southwest: MapPostion - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetBoundaryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetBoundaryFailCallback - /** 接口调用成功的回调函数 */ - success?: SetBoundarySuccessCallback - } - interface SetCenterOffsetOption { - /** 偏移量,两位数组 */ - offset: number[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetCenterOffsetCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetCenterOffsetFailCallback - /** 接口调用成功的回调函数 */ - success?: SetCenterOffsetSuccessCallback - } - interface SetClipboardDataOption { - /** 剪贴板的内容 */ - data: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetClipboardDataCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetClipboardDataFailCallback - /** 接口调用成功的回调函数 */ - success?: SetClipboardDataSuccessCallback - } - interface SetContentsOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetContentsCompleteCallback - /** 表示内容的delta对象 */ - delta?: IAnyObject - /** 接口调用失败的回调函数 */ - fail?: SetContentsFailCallback - /** 带标签的HTML内容 */ - html?: string - /** 接口调用成功的回调函数 */ - success?: SetContentsSuccessCallback - } - interface SetEnable1v1ChatOption { - /** 是否开启 */ - enable: boolean - /** 窗口背景色(音频通话背景以及小窗模式背景) - * - * 可选值: - * - 0: #262930; - * - 1: #FA5151; - * - 2: #FA9D3B; - * - 3: #3D7257; - * - 4: #1485EE; - * - 5: #6467F0; */ - backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetEnable1v1ChatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetEnable1v1ChatFailCallback - /** 小窗样式 */ - minWindowType?: number - /** 接口调用成功的回调函数 */ - success?: SetEnable1v1ChatSuccessCallback - } - interface SetEnableDebugOption { - /** 是否打开调试 */ - enableDebug: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetEnableDebugCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetEnableDebugFailCallback - /** 接口调用成功的回调函数 */ - success?: SetEnableDebugSuccessCallback - } - interface SetInnerAudioOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetInnerAudioOptionCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetInnerAudioOptionFailCallback - /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */ - mixWithOther?: boolean - /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */ - obeyMuteSwitch?: boolean - /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */ - speakerOn?: boolean - /** 接口调用成功的回调函数 */ - success?: SetInnerAudioOptionSuccessCallback - } - interface SetKeepScreenOnOption { - /** 是否保持屏幕常亮 */ - keepScreenOn: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetKeepScreenOnCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetKeepScreenOnFailCallback - /** 接口调用成功的回调函数 */ - success?: SetKeepScreenOnSuccessCallback - } - interface SetLocMarkerIconOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetLocMarkerIconCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetLocMarkerIconFailCallback - /** 图标路径,支持网络路径、本地路径、代码包路径 */ - iconPath?: string - /** 接口调用成功的回调函数 */ - success?: SetLocMarkerIconSuccessCallback - } - interface SetMICVolumeOption { - /** 音量大小,范围是 0.0-1.0 */ - volume: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetMICVolumeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetMICVolumeFailCallback - /** 接口调用成功的回调函数 */ - success?: SetMICVolumeSuccessCallback - } - interface SetNavigationBarColorOption { - /** 背景颜色值,有效值为十六进制颜色 */ - backgroundColor: string - /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */ - frontColor: string - /** 动画效果 */ - animation?: AnimationOption - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetNavigationBarColorCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetNavigationBarColorFailCallback - /** 接口调用成功的回调函数 */ - success?: SetNavigationBarColorSuccessCallback - } - interface SetNavigationBarTitleOption { - /** 页面标题 */ - title: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetNavigationBarTitleCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetNavigationBarTitleFailCallback - /** 接口调用成功的回调函数 */ - success?: SetNavigationBarTitleSuccessCallback - } - interface SetScreenBrightnessOption { - /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 */ - value: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetScreenBrightnessCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetScreenBrightnessFailCallback - /** 接口调用成功的回调函数 */ - success?: SetScreenBrightnessSuccessCallback - } - interface SetStorageOption<T = any> { - /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ - data: T - /** 本地缓存中指定的 key */ - key: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetStorageCompleteCallback - /** 需要基础库: `2.21.3` - * - * 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB */ - encrypt?: boolean - /** 接口调用失败的回调函数 */ - fail?: SetStorageFailCallback - /** 接口调用成功的回调函数 */ - success?: SetStorageSuccessCallback - } - interface SetTabBarBadgeOption { - /** tabBar 的哪一项,从左边算起 */ - index: number - /** 显示的文本,超过 4 个字符则显示成 ... */ - text: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetTabBarBadgeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetTabBarBadgeFailCallback - /** 接口调用成功的回调函数 */ - success?: SetTabBarBadgeSuccessCallback - } - interface SetTabBarItemOption { - /** tabBar 的哪一项,从左边算起 */ - index: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetTabBarItemCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetTabBarItemFailCallback - /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */ - iconPath?: string - /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */ - selectedIconPath?: string - /** 接口调用成功的回调函数 */ - success?: SetTabBarItemSuccessCallback - /** tab 上的按钮文字 */ - text?: string - } - interface SetTabBarStyleOption { - /** tab 的背景色,HexColor */ - backgroundColor?: string - /** tabBar上边框的颜色, 仅支持 black/white */ - borderStyle?: string - /** tab 上的文字默认颜色,HexColor */ - color?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetTabBarStyleCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetTabBarStyleFailCallback - /** tab 上的文字选中时的颜色,HexColor */ - selectedColor?: string - /** 接口调用成功的回调函数 */ - success?: SetTabBarStyleSuccessCallback - } - interface SetTimeoutOption { - /** 设置超时时间 (ms) */ - timeout: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetTimeoutCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetTimeoutFailCallback - /** 接口调用成功的回调函数 */ - success?: SetTimeoutSuccessCallback - } - interface SetTopBarTextOption { - /** 置顶栏文字 */ - text: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetTopBarTextCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetTopBarTextFailCallback - /** 接口调用成功的回调函数 */ - success?: SetTopBarTextSuccessCallback - } - interface SetVisualEffectOnCaptureOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetVisualEffectOnCaptureCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetVisualEffectOnCaptureFailCallback - /** 接口调用成功的回调函数 */ - success?: SetVisualEffectOnCaptureSuccessCallback - /** 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 */ - visualEffect?: string - } - interface SetWifiListOption { - /** 提供预设的 Wi-Fi 信息列表 */ - wifiList: WifiData[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetWifiListCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetWifiListFailCallback - /** 接口调用成功的回调函数 */ - success?: SetWifiListSuccessCallback - } - interface SetWindowSizeOption { - /** 窗口高度,以像素为单位 */ - height: number - /** 窗口宽度,以像素为单位 */ - width: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetWindowSizeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetWindowSizeFailCallback - /** 接口调用成功的回调函数 */ - success?: SetWindowSizeSuccessCallback - } - interface SetZoomOption { - /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */ - zoom: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SetZoomCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SetZoomFailCallback - /** 接口调用成功的回调函数 */ - success?: SetZoomSuccessCallback - } - interface SetZoomSuccessCallbackResult { - /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */ - zoom: number - errMsg: string - } - interface ShareFileMessageOption { - /** 要分享的文件地址,必须为本地路径或临时路径 */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShareFileMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShareFileMessageFailCallback - /** 自定义文件名,若留空则使用filePath中的文件名 */ - fileName?: string - /** 接口调用成功的回调函数 */ - success?: ShareFileMessageSuccessCallback - } - interface ShareToWeRunOption { - /** 运动数据列表 */ - recordList: WxaSportRecord[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShareToWeRunCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShareToWeRunFailCallback - /** 接口调用成功的回调函数 */ - success?: ShareToWeRunSuccessCallback - } - interface ShareVideoMessageOption { - /** 要分享的视频地址,必须为本地路径或临时路径 */ - videoPath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShareVideoMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShareVideoMessageFailCallback - /** 接口调用成功的回调函数 */ - success?: ShareVideoMessageSuccessCallback - /** 缩略图路径,若留空则使用视频首帧 */ - thumbPath?: string - } - interface ShowActionSheetOption { - /** 按钮的文字数组,数组长度最大为 6 */ - itemList: string[] - /** 需要基础库: `2.14.0` - * - * 警示文案 */ - alertText?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowActionSheetCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowActionSheetFailCallback - /** 按钮的文字颜色 */ - itemColor?: string - /** 接口调用成功的回调函数 */ - success?: ShowActionSheetSuccessCallback - } - interface ShowActionSheetSuccessCallbackResult { - /** 用户点击的按钮序号,从上到下的顺序,从0开始 */ - tapIndex: number - errMsg: string - } - interface ShowLoadingOption { - /** 提示的内容 */ - title: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowLoadingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowLoadingFailCallback - /** 是否显示透明蒙层,防止触摸穿透 */ - mask?: boolean - /** 接口调用成功的回调函数 */ - success?: ShowLoadingSuccessCallback - } - interface ShowModalOption { - /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ - cancelColor?: string - /** 取消按钮的文字,最多 4 个字符 */ - cancelText?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowModalCompleteCallback - /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ - confirmColor?: string - /** 确认按钮的文字,最多 4 个字符 */ - confirmText?: string - /** 提示的内容 */ - content?: string - /** 需要基础库: `2.17.1` - * - * 是否显示输入框 */ - editable?: boolean - /** 接口调用失败的回调函数 */ - fail?: ShowModalFailCallback - /** 需要基础库: `2.17.1` - * - * 显示输入框时的提示文本 */ - placeholderText?: string - /** 是否显示取消按钮 */ - showCancel?: boolean - /** 接口调用成功的回调函数 */ - success?: ShowModalSuccessCallback - /** 提示的标题 */ - title?: string - } - interface ShowModalSuccessCallbackResult { - /** 需要基础库: `1.1.0` - * - * 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */ - cancel: boolean - /** 为 true 时,表示用户点击了确定按钮 */ - confirm: boolean - /** editable 为 true 时,用户输入的文本 */ - content: string - errMsg: string - } - interface ShowNavigationBarLoadingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowNavigationBarLoadingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowNavigationBarLoadingFailCallback - /** 接口调用成功的回调函数 */ - success?: ShowNavigationBarLoadingSuccessCallback - } - interface ShowRedPackageOption { - /** 封面地址 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowRedPackageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowRedPackageFailCallback - /** 接口调用成功的回调函数 */ - success?: ShowRedPackageSuccessCallback - } - interface ShowShareImageMenuOption { - /** 要分享的图片地址,必须为本地路径或临时路径 */ - path: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowShareImageMenuCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowShareImageMenuFailCallback - /** 接口调用成功的回调函数 */ - success?: ShowShareImageMenuSuccessCallback - } - interface ShowShareMenuOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowShareMenuCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowShareMenuFailCallback - /** 需要基础库: `2.11.3` - * - * 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ - menus?: string[] - /** 接口调用成功的回调函数 */ - success?: ShowShareMenuSuccessCallback - /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ - withShareTicket?: boolean - } - interface ShowTabBarOption { - /** 是否需要动画效果 */ - animation?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowTabBarCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowTabBarFailCallback - /** 接口调用成功的回调函数 */ - success?: ShowTabBarSuccessCallback - } - interface ShowTabBarRedDotOption { - /** tabBar 的哪一项,从左边算起 */ - index: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowTabBarRedDotCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ShowTabBarRedDotFailCallback - /** 接口调用成功的回调函数 */ - success?: ShowTabBarRedDotSuccessCallback - } - interface ShowToastOption { - /** 提示的内容 */ - title: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ShowToastCompleteCallback - /** 提示的延迟时间 */ - duration?: number - /** 接口调用失败的回调函数 */ - fail?: ShowToastFailCallback - /** 图标 - * - * 可选值: - * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度; - * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度; - * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度; - * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */ - icon?: 'success' | 'error' | 'loading' | 'none' - /** 需要基础库: `1.1.0` - * - * 自定义图标的本地路径,image 的优先级高于 icon */ - image?: string - /** 是否显示透明蒙层,防止触摸穿透 */ - mask?: boolean - /** 接口调用成功的回调函数 */ - success?: ShowToastSuccessCallback - } - interface Size { - /** 变化后的窗口高度,单位 px */ - windowHeight: number - /** 变化后的窗口宽度,单位 px */ - windowWidth: number - } - /** 需要基础库: `2.10.4` - * - * 网络请求过程中一些调试信息 */ - interface SocketProfile { - /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ - connectEnd: number - /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ - connectStart: number - /** 上层请求到返回的耗时 */ - cost: number - /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ - domainLookupEnd: number - /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ - domainLookupStart: number - /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */ - fetchStart: number - /** 握手耗时 */ - handshakeCost: number - /** 单次连接的耗时,包括 connect ,tls */ - rtt: number - } - interface SocketTaskCloseOption { - /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ - code?: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: FileSystemManagerCloseCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SocketTaskCloseFailCallback - /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ - reason?: string - /** 接口调用成功的回调函数 */ - success?: FileSystemManagerCloseSuccessCallback - } - interface SocketTaskOnCloseListenerResult { - /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ - code: number - /** 一个可读的字符串,表示连接被关闭的原因。 */ - reason: string - } - interface SocketTaskOnMessageListenerResult { - /** 服务器返回的消息 */ - data: string | ArrayBuffer - } - interface SocketTaskSendOption { - /** 需要发送的内容 */ - data: string | ArrayBuffer - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SendCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SendFailCallback - /** 接口调用成功的回调函数 */ - success?: SendSuccessCallback - } - interface StartAccelerometerOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartAccelerometerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartAccelerometerFailCallback - /** 需要基础库: `2.1.0` - * - * 监听加速度数据回调函数的执行频率 - * - * 可选值: - * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - * - 'normal': 普通的回调频率,在 200ms/次 左右; */ - interval?: 'game' | 'ui' | 'normal' - /** 接口调用成功的回调函数 */ - success?: StartAccelerometerSuccessCallback - } - interface StartAdvertisingObject { - /** 广播自定义参数 */ - advertiseRequest: AdvertiseReqObj - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartAdvertisingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartAdvertisingFailCallback - /** 广播功率 - * - * 可选值: - * - 'low': 功率低; - * - 'medium': 功率适中; - * - 'high': 功率高; */ - powerLevel?: 'low' | 'medium' | 'high' - /** 接口调用成功的回调函数 */ - success?: StartAdvertisingSuccessCallback - } - interface StartBeaconDiscoveryOption { - /** Beacon 设备广播的 UUID 列表 */ - uuids: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartBeaconDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartBeaconDiscoveryFailCallback - /** 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 */ - ignoreBluetoothAvailable?: boolean - /** 接口调用成功的回调函数 */ - success?: StartBeaconDiscoverySuccessCallback - } - interface StartBluetoothDevicesDiscoveryOption { - /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */ - allowDuplicatesKey?: boolean - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartBluetoothDevicesDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartBluetoothDevicesDiscoveryFailCallback - /** 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */ - interval?: number - /** 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。 - * - * 可选值: - * - 'low': 低; - * - 'medium': 中; - * - 'high': 高; */ - powerLevel?: 'low' | 'medium' | 'high' - /** 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */ - services?: string[] - /** 接口调用成功的回调函数 */ - success?: StartBluetoothDevicesDiscoverySuccessCallback - } - interface StartCompassOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartCompassCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartCompassFailCallback - /** 接口调用成功的回调函数 */ - success?: StartCompassSuccessCallback - } - interface StartDeviceMotionListeningOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartDeviceMotionListeningCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartDeviceMotionListeningFailCallback - /** 监听设备方向的变化回调函数的执行频率 - * - * 可选值: - * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - * - 'normal': 普通的回调频率,在 200ms/次 左右; */ - interval?: 'game' | 'ui' | 'normal' - /** 接口调用成功的回调函数 */ - success?: StartDeviceMotionListeningSuccessCallback - } - interface StartDiscoveryOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StartDiscoverySuccessCallback - } - interface StartGyroscopeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartGyroscopeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartGyroscopeFailCallback - /** 监听陀螺仪数据回调函数的执行频率 - * - * 可选值: - * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; - * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; - * - 'normal': 普通的回调频率,在 200ms/次 左右; */ - interval?: 'game' | 'ui' | 'normal' - /** 接口调用成功的回调函数 */ - success?: StartGyroscopeSuccessCallback - } - interface StartHCEOption { - /** 需要注册到系统的 AID 列表 */ - aid_list: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartHCECompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartHCEFailCallback - /** 接口调用成功的回调函数 */ - success?: StartHCESuccessCallback - } - interface StartLocalServiceDiscoveryFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'invalid param': serviceType 为空; - * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */ - errMsg: string - } - interface StartLocalServiceDiscoveryOption { - /** 要搜索的服务类型 */ - serviceType: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartLocalServiceDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartLocalServiceDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StartLocalServiceDiscoverySuccessCallback - } - interface StartLocationUpdateBackgroundOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartLocationUpdateBackgroundCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartLocationUpdateBackgroundFailCallback - /** 接口调用成功的回调函数 */ - success?: StartLocationUpdateBackgroundSuccessCallback - /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ - type?: string - } - interface StartLocationUpdateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartLocationUpdateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartLocationUpdateFailCallback - /** 接口调用成功的回调函数 */ - success?: StartLocationUpdateSuccessCallback - /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ - type?: string - } - interface StartPreviewOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartPreviewCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartPreviewFailCallback - /** 接口调用成功的回调函数 */ - success?: StartPreviewSuccessCallback - } - interface StartPullDownRefreshOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartPullDownRefreshCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartPullDownRefreshFailCallback - /** 接口调用成功的回调函数 */ - success?: StartPullDownRefreshSuccessCallback - } - interface StartRecordSuccessCallbackResult { - /** 录音文件的临时路径 (本地路径) */ - tempFilePath: string - errMsg: string - } - interface StartRecordTimeoutCallbackResult { - /** 封面图片文件的临时路径 (本地路径) */ - tempThumbPath: string - /** 视频的文件的临时路径 (本地路径) */ - tempVideoPath: string - } - interface StartSoterAuthenticationOption { - /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */ - challenge: string - /** 请求使用的可接受的生物认证方式 - * - * 可选值: - * - 'fingerPrint': 指纹识别; - * - 'facial': 人脸识别; - * - 'speech': 声纹识别(暂未支持); */ - requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'> - /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */ - authContent?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartSoterAuthenticationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartSoterAuthenticationFailCallback - /** 接口调用成功的回调函数 */ - success?: StartSoterAuthenticationSuccessCallback - } - interface StartSoterAuthenticationSuccessCallbackResult { - /** 生物认证方式 */ - authMode: string - /** 错误码 */ - errCode: number - /** 错误信息 */ - errMsg: string - /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */ - resultJSON: string - /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */ - resultJSONSignature: string - } - interface StartWifiOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartWifiCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartWifiFailCallback - /** 接口调用成功的回调函数 */ - success?: StartWifiSuccessCallback - } - interface StatFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; - * - 'fail no such file or directory ${path}': 文件不存在; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface StatOption { - /** 文件/目录路径 (本地路径) */ - path: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StatCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StatFailCallback - /** 需要基础库: `2.3.0` - * - * 是否递归获取目录下的每个文件的 Stats 信息 */ - recursive?: boolean - /** 接口调用成功的回调函数 */ - success?: StatSuccessCallback - } - interface StatSuccessCallbackResult { - /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> - * - * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 */ - stats: Stats | Stats[] - errMsg: string - } - /** 描述文件状态的对象 */ - interface Stats { - /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */ - lastAccessedTime: number - /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */ - lastModifiedTime: number - /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */ - mode: string - /** 文件大小,单位:B,对应 POSIX stat.st_size */ - size: number - } - interface StepOption { - /** 动画延迟时间,单位 ms */ - delay?: number - /** 动画持续时间,单位 ms */ - duration?: number - /** 动画的效果 - * - * 可选值: - * - 'linear': 动画从头到尾的速度是相同的; - * - 'ease': 动画以低速开始,然后加快,在结束前变慢; - * - 'ease-in': 动画以低速开始; - * - 'ease-in-out': 动画以低速开始和结束; - * - 'ease-out': 动画以低速结束; - * - 'step-start': 动画第一帧就跳至结束状态直到结束; - * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */ - timingFunction?: - | 'linear' - | 'ease' - | 'ease-in' - | 'ease-in-out' - | 'ease-out' - | 'step-start' - | 'step-end' - transformOrigin?: string - } - interface StopAccelerometerOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopAccelerometerCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopAccelerometerFailCallback - /** 接口调用成功的回调函数 */ - success?: StopAccelerometerSuccessCallback - } - interface StopAdvertisingOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopAdvertisingCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopAdvertisingFailCallback - /** 接口调用成功的回调函数 */ - success?: StopAdvertisingSuccessCallback - } - interface StopBGMOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopBGMCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopBGMFailCallback - /** 接口调用成功的回调函数 */ - success?: StopBGMSuccessCallback - } - interface StopBackgroundAudioOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopBackgroundAudioCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopBackgroundAudioFailCallback - /** 接口调用成功的回调函数 */ - success?: StopBackgroundAudioSuccessCallback - } - interface StopBeaconDiscoveryOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopBeaconDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopBeaconDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StopBeaconDiscoverySuccessCallback - } - interface StopBluetoothDevicesDiscoveryOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopBluetoothDevicesDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopBluetoothDevicesDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StopBluetoothDevicesDiscoverySuccessCallback - } - interface StopCompassOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopCompassCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopCompassFailCallback - /** 接口调用成功的回调函数 */ - success?: StopCompassSuccessCallback - } - interface StopDeviceMotionListeningOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopDeviceMotionListeningCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopDeviceMotionListeningFailCallback - /** 接口调用成功的回调函数 */ - success?: StopDeviceMotionListeningSuccessCallback - } - interface StopDiscoveryOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StopDiscoverySuccessCallback - } - interface StopFaceDetectOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopFaceDetectCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopFaceDetectFailCallback - /** 接口调用成功的回调函数 */ - success?: StopFaceDetectSuccessCallback - } - interface StopGyroscopeOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopGyroscopeCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopGyroscopeFailCallback - /** 接口调用成功的回调函数 */ - success?: StopGyroscopeSuccessCallback - } - interface StopHCEOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopHCECompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopHCEFailCallback - /** 接口调用成功的回调函数 */ - success?: StopHCESuccessCallback - } - interface StopLocalServiceDiscoveryFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */ - errMsg: string - } - interface StopLocalServiceDiscoveryOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopLocalServiceDiscoveryCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopLocalServiceDiscoveryFailCallback - /** 接口调用成功的回调函数 */ - success?: StopLocalServiceDiscoverySuccessCallback - } - interface StopLocationUpdateOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopLocationUpdateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopLocationUpdateFailCallback - /** 接口调用成功的回调函数 */ - success?: StopLocationUpdateSuccessCallback - } - interface StopOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopFailCallback - /** 接口调用成功的回调函数 */ - success?: StopSuccessCallback - } - interface StopPreviewOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopPreviewCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopPreviewFailCallback - /** 接口调用成功的回调函数 */ - success?: StopPreviewSuccessCallback - } - interface StopPullDownRefreshOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopPullDownRefreshCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopPullDownRefreshFailCallback - /** 接口调用成功的回调函数 */ - success?: StopPullDownRefreshSuccessCallback - } - interface StopRecordSuccessCallbackResult { - /** 封面图片文件的临时路径 (本地路径) */ - tempThumbPath: string - /** 视频的文件的临时路径 (本地路径) */ - tempVideoPath: string - errMsg: string - } - interface StopVoiceOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopVoiceCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopVoiceFailCallback - /** 接口调用成功的回调函数 */ - success?: StopVoiceSuccessCallback - } - interface StopWifiOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopWifiCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopWifiFailCallback - /** 接口调用成功的回调函数 */ - success?: StopWifiSuccessCallback - } - interface SubscribeVoIPVideoMembersOption { - /** 订阅的成员列表 */ - openIdList: string[] - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SubscribeVoIPVideoMembersCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SubscribeVoIPVideoMembersFailCallback - /** 接口调用成功的回调函数 */ - success?: SubscribeVoIPVideoMembersSuccessCallback - } - /** 订阅消息设置 -* -* **示例代码** -* -* ```javascript -wx.getSetting({ - withSubscriptions: true, - success (res) { - console.log(res.authSetting) - // res.authSetting = { - // "scope.userInfo": true, - // "scope.userLocation": true - // } - console.log(res.subscriptionsSetting) - // res.subscriptionsSetting = { - // mainSwitch: true, // 订阅消息总开关 - // itemSettings: { // 每一项开关 - // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 - // SYS_MSG_TYPE_RANK: 'accept' - // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 - // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', - // } - // } - } -}) -``` */ - interface SubscriptionsSetting { - /** 订阅消息总开关,true为开启,false为关闭 */ - mainSwitch: boolean - /** 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html) - * ## 注意事项 - * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ - itemSettings?: IAnyObject - } - interface SwitchCameraOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SwitchCameraCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SwitchCameraFailCallback - /** 接口调用成功的回调函数 */ - success?: SwitchCameraSuccessCallback - } - interface SwitchTabOption { - /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SwitchTabCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: SwitchTabFailCallback - /** 接口调用成功的回调函数 */ - success?: SwitchTabSuccessCallback - } - interface SystemInfo { - /** 需要基础库: `1.1.0` - * - * 客户端基础库版本 */ - SDKVersion: string - /** 需要基础库: `2.6.0` - * - * 允许微信使用相册的开关(仅 iOS 有效) */ - albumAuthorized: boolean - /** 需要基础库: `1.8.0` - * - * 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ - benchmarkLevel: number - /** 需要基础库: `2.6.0` - * - * 蓝牙的系统开关 */ - bluetoothEnabled: boolean - /** 需要基础库: `1.5.0` - * - * 设备品牌 */ - brand: string - /** 需要基础库: `2.6.0` - * - * 允许微信使用摄像头的开关 */ - cameraAuthorized: boolean - /** 设备方向 - * - * 可选值: - * - 'portrait': 竖屏; - * - 'landscape': 横屏; */ - deviceOrientation: 'portrait' | 'landscape' - /** 需要基础库: `2.15.0` - * - * 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ - enableDebug: boolean - /** 需要基础库: `1.5.0` - * - * 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */ - fontSizeSetting: number - /** 需要基础库: `2.12.3` - * - * 当前小程序运行的宿主环境 */ - host: SystemInfoHost - /** 微信设置的语言 */ - language: string - /** 需要基础库: `2.6.0` - * - * 允许微信使用定位的开关 */ - locationAuthorized: boolean - /** 需要基础库: `2.6.0` - * - * 地理位置的系统开关 */ - locationEnabled: boolean - /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */ - locationReducedAccuracy: boolean - /** 需要基础库: `2.6.0` - * - * 允许微信使用麦克风的开关 */ - microphoneAuthorized: boolean - /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ - model: string - /** 需要基础库: `2.6.0` - * - * 允许微信通知带有提醒的开关(仅 iOS 有效) */ - notificationAlertAuthorized: boolean - /** 需要基础库: `2.6.0` - * - * 允许微信通知的开关 */ - notificationAuthorized: boolean - /** 需要基础库: `2.6.0` - * - * 允许微信通知带有标记的开关(仅 iOS 有效) */ - notificationBadgeAuthorized: boolean - /** 需要基础库: `2.6.0` - * - * 允许微信通知带有声音的开关(仅 iOS 有效) */ - notificationSoundAuthorized: boolean - /** 需要基础库: `2.19.3` - * - * 允许微信使用日历的开关 */ - phoneCalendarAuthorized: boolean - /** 设备像素比 */ - pixelRatio: number - /** 客户端平台 - * - * 可选值: - * - 'ios': iOS微信(包含 iPhone、iPad); - * - 'android': Android微信; - * - 'windows': Windows微信; - * - 'mac': macOS微信; - * - 'devtools': 微信开发者工具; */ - platform: 'ios' | 'android' | 'windows' | 'mac' | 'devtools' - /** 需要基础库: `2.7.0` - * - * 在竖屏正方向下的安全区域 */ - safeArea: SafeArea - /** 需要基础库: `1.1.0` - * - * 屏幕高度,单位px */ - screenHeight: number - /** 需要基础库: `1.1.0` - * - * 屏幕宽度,单位px */ - screenWidth: number - /** 需要基础库: `1.9.0` - * - * 状态栏的高度,单位px */ - statusBarHeight: number - /** 操作系统及版本 */ - system: string - /** 微信版本号 */ - version: string - /** 需要基础库: `2.6.0` - * - * Wi-Fi 的系统开关 */ - wifiEnabled: boolean - /** 可使用窗口高度,单位px */ - windowHeight: number - /** 可使用窗口宽度,单位px */ - windowWidth: number - /** 需要基础库: `2.11.0` - * - * 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) - * - * 可选值: - * - 'dark': 深色主题; - * - 'light': 浅色主题; */ - theme?: 'dark' | 'light' - } - /** 需要基础库: `2.12.3` - * - * 当前小程序运行的宿主环境 */ - interface SystemInfoHost { - /** 宿主 app 对应的 appId */ - appId: string - } - interface SystemSetting { - /** 蓝牙的系统开关 */ - bluetoothEnabled: boolean - /** 设备方向 - * - * 可选值: - * - 'portrait': 竖屏; - * - 'landscape': 横屏; */ - deviceOrientation: 'portrait' | 'landscape' - /** 地理位置的系统开关 */ - locationEnabled: boolean - /** Wi-Fi 的系统开关 */ - wifiEnabled: boolean - } - interface TCPSocketConnectOption { - /** 套接字要连接的地址 */ - address: string - /** 套接字要连接的端口 */ - port: number - /** 套接字要连接的超时时间,默认为 2s */ - timeout?: number - } - interface TCPSocketOnMessageListenerResult { - /** 接收端地址信息 */ - localInfo: LocalInfo - /** 收到的消息 */ - message: ArrayBuffer - /** 发送端地址信息 */ - remoteInfo: RemoteInfo - } - interface TakePhotoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: TakePhotoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: TakePhotoFailCallback - /** 成像质量 - * - * 可选值: - * - 'high': 高质量; - * - 'normal': 普通质量; - * - 'low': 低质量; */ - quality?: 'high' | 'normal' | 'low' - /** 需要基础库: `2.22.0` - * - * 是否开启镜像 */ - selfieMirror?: boolean - /** 接口调用成功的回调函数 */ - success?: TakePhotoSuccessCallback - } - interface TakePhotoSuccessCallbackResult { - /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */ - tempImagePath: string - errMsg: string - } - /** 标签类型枚举 */ - interface TechType { - /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ - isoDep: string - /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */ - mifareClassic: string - /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ - mifareUltralight: string - /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ - ndef: string - /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ - nfcA: string - /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ - nfcB: string - /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ - nfcF: string - /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ - nfcV: string - } - interface TextMetrics { - /** 文本的宽度 */ - width: number - } - interface ToScreenLocationOption { - /** 纬度 */ - latitude: number - /** 经度 */ - longitude: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ToScreenLocationCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ToScreenLocationFailCallback - /** 接口调用成功的回调函数 */ - success?: ToScreenLocationSuccessCallback - } - interface ToScreenLocationSuccessCallbackResult { - /** x 坐标值 */ - x: number - /** y 坐标值 */ - y: number - errMsg: string - } - interface ToggleTorchOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: ToggleTorchCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: ToggleTorchFailCallback - /** 接口调用成功的回调函数 */ - success?: ToggleTorchSuccessCallback - } - /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ - interface Track { - /** 平面跟踪配置 */ - plane: PlaneTrack - /** 需要基础库: `2.24.5` - * - * OSD 跟踪配置 */ - OSD?: boolean - /** 需要基础库: `2.25.0` - * - * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ - face?: FaceTrack - /** 需要基础库: `2.24.5` - * - * marker 跟踪配置 */ - marker?: boolean - } - interface TransceiveOption { - /** 需要传递的二进制数据 */ - data: ArrayBuffer - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: TransceiveCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: TransceiveFailCallback - /** 接口调用成功的回调函数 */ - success?: TransceiveSuccessCallback - } - interface TransceiveSuccessCallbackResult { - data: ArrayBuffer - errMsg: string - } - interface TranslateMarkerOption { - /** 移动过程中是否自动旋转 marker */ - autoRotate: boolean - /** 指定 marker 移动到的目标点 */ - destination: DestinationOption - /** 指定 marker */ - markerId: number - /** marker 的旋转角度 */ - rotate: number - /** 动画结束回调函数 */ - animationEnd?: (...args: any[]) => any - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: TranslateMarkerCompleteCallback - /** 动画持续时长,平移与旋转分别计算 */ - duration?: number - /** 接口调用失败的回调函数 */ - fail?: TranslateMarkerFailCallback - /** 需要基础库: `2.13.0` - * - * 平移和旋转同时进行 */ - moveWithRotate?: boolean - /** 接口调用成功的回调函数 */ - success?: TranslateMarkerSuccessCallback - } - interface TruncateFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; - * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; - * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; - * - 'fail sdcard not mounted': android sdcard 挂载失败; */ - errMsg: string - } - interface TruncateOption { - /** 要截断的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: TruncateCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: TruncateFailCallback - /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ - length?: number - /** 接口调用成功的回调函数 */ - success?: TruncateSuccessCallback - } - interface TruncateSyncOption { - /** 要截断的文件路径 (本地路径) */ - filePath: string - /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ - length?: number - } - interface UDPSocketConnectOption { - /** 要发消息的地址 */ - address: string - /** 要发送消息的端口号 */ - port: number - } - interface UDPSocketOnMessageListenerResult { - /** 接收端地址信息,2.18.0 起支持 */ - localInfo: LocalInfo - /** 收到的消息。消息长度需要小于4096。 */ - message: ArrayBuffer - /** 发送端地址信息 */ - remoteInfo: RemoteInfo - } - interface UDPSocketSendOption { - /** 要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名 */ - address: string - /** 要发送的数据 */ - message: string | ArrayBuffer - /** 要发送消息的端口号 */ - port: number - /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */ - length?: number - /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */ - offset?: number - /** 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 */ - setBroadcast?: boolean - } - interface UndoOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UndoCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UndoFailCallback - /** 接口调用成功的回调函数 */ - success?: UndoSuccessCallback - } - interface UnlinkFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; - * - 'fail no such file or directory ${path}': 文件不存在; - * - 'fail operation not permitted, unlink ${filePath}': 传入的 filePath 是一个目录; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface UnlinkOption { - /** 要删除的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UnlinkCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UnlinkFailCallback - /** 接口调用成功的回调函数 */ - success?: UnlinkSuccessCallback - } - interface UnzipFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail permission denied, unzip ${zipFilePath} -> ${destPath}': 指定目标文件路径没有写权限; - * - 'fail no such file or directory, unzip ${zipFilePath} -> "${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ - errMsg: string - } - interface UnzipOption { - /** 目标目录路径, 支持本地路径 */ - targetPath: string - /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */ - zipFilePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UnzipCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UnzipFailCallback - /** 接口调用成功的回调函数 */ - success?: UnzipSuccessCallback - } - /** 参数列表 */ - interface UpdatableMessageFrontEndParameter { - /** 参数名 */ - name: string - /** 参数值 */ - value: string - } - /** 需要基础库: `2.4.0` - * - * 动态消息的模板信息 */ - interface UpdatableMessageFrontEndTemplateInfo { - /** 参数列表 */ - parameterList: UpdatableMessageFrontEndParameter[] - } - interface UpdateGroundOverlayOption { - /** 图片覆盖的经纬度范围 */ - bounds: MapBounds - /** 图片图层 id */ - id: string - /** 图片路径,支持网络图片、临时路径、代码包路径 */ - src: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UpdateGroundOverlayCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UpdateGroundOverlayFailCallback - /** 图层透明度 */ - opacity?: number - /** 接口调用成功的回调函数 */ - success?: UpdateGroundOverlaySuccessCallback - /** 是否可见 */ - visible?: boolean - /** 图层绘制顺序 */ - zIndex?: number - } - interface UpdateShareMenuOption { - /** 需要基础库: `2.4.0` - * - * 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取 */ - activityId?: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UpdateShareMenuCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UpdateShareMenuFailCallback - /** 需要基础库: `2.13.0` - * - * 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) */ - isPrivateMessage?: boolean - /** 需要基础库: `2.4.0` - * - * 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html) */ - isUpdatableMessage?: boolean - /** 接口调用成功的回调函数 */ - success?: UpdateShareMenuSuccessCallback - /** 需要基础库: `2.4.0` - * - * 动态消息的模板信息 */ - templateInfo?: UpdatableMessageFrontEndTemplateInfo - /** 需要基础库: `2.11.0` - * - * 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ - toDoActivityId?: string - /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ - withShareTicket?: boolean - } - interface UpdateVoIPChatMuteConfigOption { - /** 静音设置 */ - muteConfig: MuteConfig - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UpdateVoIPChatMuteConfigCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UpdateVoIPChatMuteConfigFailCallback - /** 接口调用成功的回调函数 */ - success?: UpdateVoIPChatMuteConfigSuccessCallback - } - interface UpdateWeChatAppOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UpdateWeChatAppCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UpdateWeChatAppFailCallback - /** 接口调用成功的回调函数 */ - success?: UpdateWeChatAppSuccessCallback - } - interface UploadFileOption { - /** 要上传文件资源的路径 (本地路径) */ - filePath: string - /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */ - name: string - /** 开发者服务器地址 */ - url: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: UploadFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: UploadFileFailCallback - /** HTTP 请求中其他额外的 form data */ - formData?: IAnyObject - /** HTTP 请求 Header,Header 中不能设置 Referer */ - header?: IAnyObject - /** 接口调用成功的回调函数 */ - success?: UploadFileSuccessCallback - /** 需要基础库: `2.10.0` - * - * 超时时间,单位为毫秒 */ - timeout?: number - } - interface UploadFileSuccessCallbackResult { - /** 开发者服务器返回的数据 */ - data: string - /** 开发者服务器返回的 HTTP 状态码 */ - statusCode: number - errMsg: string - } - interface UploadTaskOnProgressUpdateListenerResult { - /** 上传进度百分比 */ - progress: number - /** 预期需要上传的数据总长度,单位 Bytes */ - totalBytesExpectedToSend: number - /** 已经上传的数据长度,单位 Bytes */ - totalBytesSent: number - } - /** @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** - * - * 用户信息 */ - interface UserInfo { - /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */ - avatarUrl: string - /** 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ - city: string - /** 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ - country: string - /** 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - * - * 可选值: - * - 0: 未知; - * - 1: 男性; - * - 2: 女性; */ - gender: 0 | 1 | 2 - /** 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) - * - * 可选值: - * - 'en': 英文; - * - 'zh_CN': 简体中文; - * - 'zh_TW': 繁体中文; */ - language: 'en' | 'zh_CN' | 'zh_TW' - /** 用户昵称 */ - nickName: string - /** 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ - province: string - } - /** 需要基础库: `2.20.0` - * - * 相机对象 */ - interface VKCamera { - /** 需要基础库: `2.22.0` - * - * 相机内参,只有 v2 版本支持 */ - intrinsics: Float32Array - /** 视图矩阵 */ - viewMatrix: Float32Array - } - interface VKConfig { - /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ - track: Track - /** 需要基础库: `2.23.0` - * - * 绑定的 WebGLRenderingContext 对象 */ - gl?: WebGLRenderingContext - /** 需要基础库: `2.22.0` - * - * vision kit 版本。 - * - * 可选值: - * - 'v1': v1适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户放置物体时,手机相机倾斜向下对着目标平面点击即可,具有广泛的机型支持; - * - 'v2': v2提供真实物理距离的 ar 定位功能,提供平面识别功能,用户在平面范围点击放置虚拟物体的功能,具有[有限的机型支持](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html#%E9%99%84%E5%BD%95)。iOS 设备在基础库 2.22.0 开始支持v2。安卓设备在基础库 2.25.1 开始支持v2,另外,安卓v2不支持竖直平面。; */ - version?: 'v1' | 'v2' - } - /** 需要基础库: `2.25.0` - * - * 人脸 anchor - * - * **示例代码** - * - * [静态图像人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-face-detect) - * - * [实时摄像头人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect) */ - interface VKFaceAnchor { - /** 人脸角度信息 */ - angle: number[] - /** 关键点的置信度 */ - confidence: number[] - /** 识别序号 */ - detectId: number - /** 唯一标识 */ - id: number - /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ - origin: VKOrigin - /** 人脸 106 个关键点的坐标 */ - points: VKPoint[] - /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ - size: VKSize - /** 类型 - * - * 可选值: - * - 3: 人脸; */ - type: 3 - } - /** 需要基础库: `2.20.0` - * - * vision kit 会话对象。 */ - interface VKFrame { - /** [VKCamera](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.html) - * - * 相机对象 */ - camera: VKCamera - /** 生成时间 */ - timestamp: number - } - interface VKMarker { - /** marker id */ - markerId: number - /** 图片路径 */ - path: string - } - /** 需要基础库: `2.24.5` - * - * marker anchor - * - * **示例代码** - * - * [2D Marker能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/2dmarker-ar) */ - interface VKMarkerAnchor { - /** 唯一标识 */ - id: number - /** marker id */ - markerId: number - /** 图片路径 */ - path: string - /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ - transform: Float32Array - /** 类型 - * - * 可选值: - * - 1: marker; */ - type: 1 - } - /** 需要基础库: `2.24.5` - * - * OSD anchor - * - * **示例代码** - * - * [单样本检测(OSD)能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/osd-ar) */ - interface VKOSDAnchor { - /** 唯一标识 */ - id: number - /** marker id */ - markerId: number - /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ - origin: VKOrigin - /** 图片路径 */ - path: string - /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ - size: VKSize - /** 类型 - * - * 可选值: - * - 2: OSD; */ - type: 2 - } - /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ - interface VKOrigin { - /** 横坐标 */ - x: number - /** 纵坐标 */ - y: number - } - /** 需要基础库: `2.22.0` - * - * 平面 anchor,只有 v2 版本支持 - * - * **示例代码** - * - * v1 版本:[水平面AR能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar) - * v2 版本:[水平面AR能力v2使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar-v2) */ - interface VKPlaneAnchor { - /** 方向 */ - alignment: number - /** 唯一标识 */ - id: number - /** 尺寸 */ - size: VKSize - /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ - transform: Float32Array - /** 类型 - * - * 可选值: - * - 0: 平面; */ - type: 0 - } - /** 人脸 106 个关键点的坐标 */ - interface VKPoint { - /** 横坐标 */ - x: number - /** 纵坐标 */ - y: number - } - /** 需要基础库: `2.20.0` - * - * vision kit 会话对象。 */ - interface VKSession { - /** 相机尺寸 */ - cameraSize: VKSize - /** 会话配置 */ - config: VKConfig - /** 会话状态 - * - * 可选值: - * - 0: 不可用; - * - 1: 运行中; - * - 2: 暂停中; */ - state: 0 | 1 | 2 - } - interface VKSize { - /** 高度 */ - height: number - /** 宽度 */ - width: number - } - interface VibrateLongOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: VibrateLongCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: VibrateLongFailCallback - /** 接口调用成功的回调函数 */ - success?: VibrateLongSuccessCallback - } - interface VibrateShortFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'style is not support': 当前设备不支持设置震动等级; */ - errMsg: string - } - interface VibrateShortOption { - /** 需要基础库: `2.13.0` - * - * 震动强度类型,有效值为:heavy、medium、light */ - type: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: VibrateShortCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: VibrateShortFailCallback - /** 接口调用成功的回调函数 */ - success?: VibrateShortSuccessCallback - } - interface VideoContextRequestFullScreenOption { - /** 需要基础库: `1.7.0` - * - * 设置全屏时视频的方向,不指定则根据宽高比自动判断。 - * - * 可选值: - * - 0: 正常竖向; - * - 90: 屏幕逆时针90度; - * - -90: 屏幕顺时针90度; */ - direction?: 0 | 90 | -90 - } - interface VideoDecoderStartOption { - /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */ - source: string - /** 需要基础库: `2.15.0` - * - * 是否不需要音频轨道 */ - abortAudio?: boolean - /** 需要基础库: `2.15.0` - * - * 是否不需要视频轨道 */ - abortVideo?: boolean - /** 解码模式。0:按 pts 解码;1:以最快速度解码 */ - mode?: number - } - interface VoIP1v1ChatUser { - /** 昵称 */ - nickname: string - /** 小程序内 openid */ - openid: string - /** 头像 */ - headImage?: string - } - /** 需要基础库: `2.19.0` -* -* WebAudioContext 实例,通过[wx.createWebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) 接口获取该实例。 -* -* **示例代码** -* -* ```js -// 监听状态 -const audioCtx = wx.createWebAudioContext() -audioCtx.onstatechange = () => { - console.log(ctx.state) -} -setTimeout(audioCtx.suspend, 1000) -setTimeout(audioCtx.resume, 2000) -``` */ - interface WebAudioContext { - /** 获取当前上下文的时间戳。 */ - currentTime: number - /** [WebAudioContextNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContextNode.html) - * - * 当前上下文的最终目标节点,一般是音频渲染设备。 */ - destination: WebAudioContextNode - /** 空间音频监听器。 */ - listener: AudioListener - /** 可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。 */ - onstatechange: (...args: any[]) => any - /** 采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。 */ - sampleRate: number - /** 当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性 */ - state: string - } - /** 需要基础库: `2.19.0` - * - * 一类音频处理模块,不同的Node具备不同的功能,如GainNode(音量调整)等。一个WebAudioContextNode可以通过上下文来创建。 - * 目前已经支持以下Node: - * IIRFilterNode - * WaveShaperNode - * ConstantSourceNode - * ChannelMergerNode - * OscillatorNode - * GainNode - * BiquadFilterNode - * PeriodicWaveNode - * BufferSourceNode - * ChannelSplitterNode - * ChannelMergerNode - * DelayNode - * DynamicsCompressorNode - * ScriptProcessorNode - * PannerNode - * AnalyserNode */ - interface WebAudioContextNode { - /** 表示监听器的前向系统在同一笛卡尔坐标系中的水平位置,作为位置(位置x,位置和位置和位置)值。 */ - forwardX: number - /** 表示听众的前向方向在同一笛卡尔坐标系中作为位置(位置x,位置和位置和位置)值的垂直位置。 */ - forwardY: number - /** 表示与position (positionX、positionY和positionZ)值在同一笛卡尔坐标系下的听者前进方向的纵向(前后)位置。 */ - forwardZ: number - /** 右手笛卡尔坐标系中X轴的位置。 */ - positionX: number - /** 右手笛卡尔坐标系中Y轴的位置。 */ - positionY: number - /** 右手笛卡尔坐标系中Z轴的位置。 */ - positionZ: number - /** 设置监听器的方向 */ - setOrientation: (...args: any[]) => any - /** 设置监听器的位置 - * - * /** */ - setPosition: (...args: any[]) => any - /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向前方向的水平位置。 */ - upX: number - /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向上方向的水平位置。 */ - upY: number - /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向后方向的水平位置。 */ - upZ: number - } - /** 提供预设的 Wi-Fi 信息列表 */ - interface WifiData { - /** Wi-Fi 的 BSSID */ - BSSID?: string - /** Wi-Fi 的 SSID */ - SSID?: string - /** Wi-Fi 设备密码 */ - password?: string - } - /** Wifi 信息 - * - * **注意** - * - * - 安卓 wx.connectWifi / wx.getConnectedWifi 若设置了 partialInfo:true ,或者调用了 wx.onWifiConnectedWithPartialInfo 事件。将会返回只包含 SSID 属性的 WifiInfo 对象。 - * - iOS wx.getConnectedWifi 若设置了 partialInfo:true ,将会返回只包含 SSID、BSSID 属性的 WifiInfo 对象,且需要用户开启微信定位权限才能正确返回结果。 - * - 在某些情况下,可能 Wi-Fi 已经连接成功,但会因为获取不到完整的 WifiInfo 对象报错。具体错误信息为 errCode: 12010, errMsg: can't gain current wifi 或 no wifi is connected 。如果开发者不需要完整的 WifiInfo 对象,则可以通过采取上述策略解决报错问题。 */ - interface WifiInfo { - /** Wi-Fi 的 BSSID */ - BSSID: string - /** Wi-Fi 的 SSID */ - SSID: string - /** 需要基础库: `2.12.0` - * - * Wi-Fi 频段单位 MHz */ - frequency: number - /** Wi-Fi 是否安全 */ - secure: boolean - /** Wi-Fi 信号强度, 安卓取值 0 ~ 100 ,iOS 取值 0 ~ 1 ,值越大强度越大 */ - signalStrength: number - } - interface WindowInfo { - /** 设备像素比 */ - pixelRatio: number - /** 在竖屏正方向下的安全区域 */ - safeArea: SafeArea - /** 屏幕高度,单位px */ - screenHeight: number - /** 窗口上边缘的y值 */ - screenTop: number - /** 屏幕宽度,单位px */ - screenWidth: number - /** 状态栏的高度,单位px */ - statusBarHeight: number - /** 可使用窗口高度,单位px */ - windowHeight: number - /** 可使用窗口宽度,单位px */ - windowWidth: number - } - /** Worker 实例,主线程中可通过 [wx.createWorker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) 接口获取,worker 线程中可通过全局变量 `worker` 获取。 -* -* **示例代码** -* -* 运行以下代码需先进行基础配置,详细请查阅 [小程序多线程](https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html) | [小游戏多线程](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/worker.html) 文档了解基础知识和配置方法。 -* -* ```js -const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径 - -worker.onMessage(function (res) { - console.log(res) -}) -// 监听worker被系统回收事件 -worker.onProcessKilled(function () { - console.log('worker has been killed') - // 重新创建一个worker - // wx.createWorker() -}) - -worker.postMessage({ - msg: 'hello worker' -}) - -worker.terminate() -``` */ - interface Worker { - /** worker内的环境变量 */ - env: WorkerEnv - } - /** worker内的环境变量 */ - interface WorkerEnv { - /** 文件系统中的用户目录路径 (本地路径) */ - USER_DATA_PATH: string - } - interface WorkerOnMessageListenerResult { - /** 主线程/Worker 线程向当前线程发送的消息 */ - message: IAnyObject - } - interface WriteBLECharacteristicValueOption { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 蓝牙设备 id */ - deviceId: string - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** 蓝牙设备特征对应的二进制值 */ - value: ArrayBuffer - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: WriteBLECharacteristicValueCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: WriteBLECharacteristicValueFailCallback - /** 接口调用成功的回调函数 */ - success?: WriteBLECharacteristicValueSuccessCallback - /** 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持) - * - * 可选值: - * - 'write': 强制回复写,不支持时报错; - * - 'writeNoResponse': 强制无回复写,不支持时报错; */ - writeType?: 'write' | 'writeNoResponse' - } - interface WriteCharacteristicValueObject { - /** 蓝牙特征的 UUID */ - characteristicId: string - /** 是否需要通知主机 value 已更新 */ - needNotify: boolean - /** 蓝牙特征对应服务的 UUID */ - serviceId: string - /** characteristic 对应的二进制值 */ - value: ArrayBuffer - /** 可选,处理回包时使用 */ - callbackId?: number - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: WriteCharacteristicValueCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: WriteCharacteristicValueFailCallback - /** 接口调用成功的回调函数 */ - success?: WriteCharacteristicValueSuccessCallback - } - interface WriteFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'bad file descriptor': 无效的文件描述符; - * - 'fail permission denied': 指定的 fd 路径没有写权限; - * - 'fail sdcard not mounted': android sdcard 挂载失败; */ - errMsg: string - } - interface WriteFileFailCallbackResult { - /** 错误信息 - * - * 可选值: - * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; - * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; - * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; - * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ - errMsg: string - } - interface WriteFileOption { - /** 要写入的文本或二进制数据 */ - data: string | ArrayBuffer - /** 要写入的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: WriteFileCompleteCallback - /** 指定写入文件的字符编码 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 接口调用失败的回调函数 */ - fail?: WriteFileFailCallback - /** 接口调用成功的回调函数 */ - success?: WriteFileSuccessCallback - } - interface WriteNdefMessageOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: WriteNdefMessageCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: WriteNdefMessageFailCallback - /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */ - records?: any[] - /** 接口调用成功的回调函数 */ - success?: WriteNdefMessageSuccessCallback - /** text 数组 */ - texts?: any[] - /** uri 数组 */ - uris?: any[] - } - interface WriteOption { - /** 写入的内容,类型为 String 或 ArrayBuffer */ - data: string | ArrayBuffer - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: WriteCompleteCallback - /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 接口调用失败的回调函数 */ - fail?: WriteFailCallback - /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ - length?: number - /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ - offset?: number - /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ - position?: number - /** 接口调用成功的回调函数 */ - success?: WriteSuccessCallback - } - /** 文件写入结果。 通过 [FileSystemManager.writeSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) 接口返回 */ - interface WriteResult { - /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ - bytesWritten: number - } - interface WriteSuccessCallbackResult { - /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ - bytesWritten: number - errMsg: string - } - interface WriteSyncOption { - /** 写入的内容,类型为 String 或 ArrayBuffer */ - data: string | ArrayBuffer - /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ - fd: string - /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 - * - * 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ - length?: number - /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ - offset?: number - /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ - position?: number - } - interface WxGetFileInfoOption { - /** 本地文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetFileInfoCompleteCallback - /** 计算文件摘要的算法 - * - * 可选值: - * - 'md5': md5 算法; - * - 'sha1': sha1 算法; */ - digestAlgorithm?: 'md5' | 'sha1' - /** 接口调用失败的回调函数 */ - fail?: WxGetFileInfoFailCallback - /** 接口调用成功的回调函数 */ - success?: WxGetFileInfoSuccessCallback - } - interface WxGetFileInfoSuccessCallbackResult { - /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */ - digest: string - /** 文件大小,以字节为单位 */ - size: number - errMsg: string - } - interface WxGetSavedFileListOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: GetSavedFileListCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: GetSavedFileListFailCallback - /** 接口调用成功的回调函数 */ - success?: WxGetSavedFileListSuccessCallback - } - interface WxGetSavedFileListSuccessCallbackResult { - /** 文件数组,每一项是一个 FileItem */ - fileList: FileItem[] - errMsg: string - } - interface WxRemoveSavedFileOption { - /** 需要删除的文件路径 (本地路径) */ - filePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: RemoveSavedFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: WxRemoveSavedFileFailCallback - /** 接口调用成功的回调函数 */ - success?: RemoveSavedFileSuccessCallback - } - interface WxSaveFileOption { - /** 需要保存的文件的临时路径 (本地路径) */ - tempFilePath: string - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: SaveFileCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: WxSaveFileFailCallback - /** 接口调用成功的回调函数 */ - success?: SaveFileSuccessCallback - } - interface WxStartRecordOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StartRecordCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StartRecordFailCallback - /** 接口调用成功的回调函数 */ - success?: WxStartRecordSuccessCallback - } - interface WxStopRecordOption { - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - complete?: StopRecordCompleteCallback - /** 接口调用失败的回调函数 */ - fail?: StopRecordFailCallback - /** 接口调用成功的回调函数 */ - success?: WxStopRecordSuccessCallback - } - /** 运动数据列表 */ - interface WxaSportRecord { - /** 消耗卡路里 */ - calorie: number - /** 运动距离 */ - distance: number - /** 运动时长 */ - time: number - /** 运动项目id */ - typeId: number - } - /** 帧纹理对象 */ - interface YUVTextureRes { - /** UV 分量纹理 */ - uvTexture: WebGLTexture - /** Y 分量纹理 */ - yTexture: WebGLTexture - } - /** 文件路径 */ - interface ZipFileItem { - /** 文件内容 */ - data: string | ArrayBuffer - /** 错误信息 */ - errMsg: string - } - interface Animation { - /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html) - * - * 在插件中使用:支持 - * - * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */ - export(): AnimationExportResult - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.backgroundColor(string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.backgroundColor.html) - * - * 在插件中使用:支持 - * - * 设置背景色 */ - backgroundColor( - /** 颜色值 */ - value: string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.bottom(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.bottom.html) - * - * 在插件中使用:支持 - * - * 设置 bottom 值 */ - bottom( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.height(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.height.html) - * - * 在插件中使用:支持 - * - * 设置高度 */ - height( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.left(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.left.html) - * - * 在插件中使用:支持 - * - * 设置 left 值 */ - left( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix.html) - * - * 在插件中使用:支持 - * - * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */ - matrix(): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix3d()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix3d.html) - * - * 在插件中使用:支持 - * - * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */ - matrix3d(): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.opacity(number value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.opacity.html) - * - * 在插件中使用:支持 - * - * 设置透明度 */ - opacity( - /** 透明度,范围 0-1 */ - value: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.right(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.right.html) - * - * 在插件中使用:支持 - * - * 设置 right 值 */ - right( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate.html) - * - * 在插件中使用:支持 - * - * 从原点顺时针旋转一个角度 */ - rotate( - /** 旋转的角度。范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate3d(number x, number y, number z, number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate3d.html) - * - * 在插件中使用:支持 - * - * 从 固定 轴顺时针旋转一个角度 */ - rotate3d( - /** 旋转轴的 x 坐标 */ - x: number, - /** 旋转轴的 y 坐标 */ - y: number, - /** 旋转轴的 z 坐标 */ - z: number, - /** 旋转的角度。范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateX.html) - * - * 在插件中使用:支持 - * - * 从 X 轴顺时针旋转一个角度 */ - rotateX( - /** 旋转的角度。范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateY.html) - * - * 在插件中使用:支持 - * - * 从 Y 轴顺时针旋转一个角度 */ - rotateY( - /** 旋转的角度。范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateZ(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateZ.html) - * - * 在插件中使用:支持 - * - * 从 Z 轴顺时针旋转一个角度 */ - rotateZ( - /** 旋转的角度。范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale(number sx, number sy)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale.html) - * - * 在插件中使用:支持 - * - * 缩放 */ - scale( - /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */ - sx: number, - /** 在 Y 轴缩放 sy 倍数 */ - sy?: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale3d(number sx, number sy, number sz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale3d.html) - * - * 在插件中使用:支持 - * - * 缩放 */ - scale3d( - /** x 轴的缩放倍数 */ - sx: number, - /** y 轴的缩放倍数 */ - sy: number, - /** z 轴的缩放倍数 */ - sz: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleX(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleX.html) - * - * 在插件中使用:支持 - * - * 缩放 X 轴 */ - scaleX( - /** X 轴的缩放倍数 */ - scale: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleY(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleY.html) - * - * 在插件中使用:支持 - * - * 缩放 Y 轴 */ - scaleY( - /** Y 轴的缩放倍数 */ - scale: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleZ(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleZ.html) - * - * 在插件中使用:支持 - * - * 缩放 Z 轴 */ - scaleZ( - /** Z 轴的缩放倍数 */ - scale: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skew(number ax, number ay)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skew.html) - * - * 在插件中使用:支持 - * - * 对 X、Y 轴坐标进行倾斜 */ - skew( - /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */ - ax: number, - /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */ - ay: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewX.html) - * - * 在插件中使用:支持 - * - * 对 X 轴坐标进行倾斜 */ - skewX( - /** 倾斜的角度,范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewY.html) - * - * 在插件中使用:支持 - * - * 对 Y 轴坐标进行倾斜 */ - skewY( - /** 倾斜的角度,范围 [-180, 180] */ - angle: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.step(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.step.html) - * - * 在插件中使用:支持 - * - * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */ - step(option?: StepOption): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.top(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.top.html) - * - * 在插件中使用:支持 - * - * 设置 top 值 */ - top( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate(number tx, number ty)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate.html) - * - * 在插件中使用:支持 - * - * 平移变换 */ - translate( - /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */ - tx?: number, - /** 在 Y 轴平移的距离,单位为 px */ - ty?: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate3d(number tx, number ty, number tz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate3d.html) - * - * 在插件中使用:支持 - * - * 对 xyz 坐标进行平移变换 */ - translate3d( - /** 在 X 轴平移的距离,单位为 px */ - tx?: number, - /** 在 Y 轴平移的距离,单位为 px */ - ty?: number, - /** 在 Z 轴平移的距离,单位为 px */ - tz?: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateX(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateX.html) - * - * 在插件中使用:支持 - * - * 对 X 轴平移 */ - translateX( - /** 在 X 轴平移的距离,单位为 px */ - translation: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateY(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateY.html) - * - * 在插件中使用:支持 - * - * 对 Y 轴平移 */ - translateY( - /** 在 Y 轴平移的距离,单位为 px */ - translation: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateZ(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateZ.html) - * - * 在插件中使用:支持 - * - * 对 Z 轴平移 */ - translateZ( - /** 在 Z 轴平移的距离,单位为 px */ - translation: number - ): Animation - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.width(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.width.html) - * - * 在插件中使用:支持 - * - * 设置宽度 */ - width( - /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ - value: number | string - ): Animation - } - interface AudioBuffer { - /** [AudioBuffer.copyFromChannel()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyFromChannel.html) - * - * 在插件中使用:不支持 - * - * 从AudioBuffer的指定频道复制到数组终端。 */ - copyFromChannel(): void - /** [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyToChannel.html) - * - * 在插件中使用:不支持 - * - * 从指定数组复制样本到audioBuffer的特定通道 - * - * **示例代码** - * - * 示例代码参考AudioBuffer.copyFromChannel */ - copyToChannel( - /** 需要复制的源数组 */ - source: Float32Array, - /** 需要复制到的目的通道号 */ - channelNumber: number, - /** 复制偏移数据量 */ - startInChannel: number - ): void - /** [Float32Array AudioBuffer.getChannelData(number channel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.getChannelData.html) - * - * 在插件中使用:不支持 - * - * 返回一个 Float32Array,包含了带有频道的PCM数据,由频道参数定义(有0代表第一个频道) */ - getChannelData( - /** 要获取特定通道数据的索引 */ - channel: number - ): Float32Array - } - interface AudioContext { - /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html) - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 - * - * 暂停音频。 */ - pause(): void - /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html) - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 - * - * 播放音频。 */ - play(): void - /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html) - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 - * - * 跳转到指定位置。 */ - seek( - /** 跳转位置,单位 s */ - position: number - ): void - /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html) - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 - * - * 设置音频地址 */ - setSrc( - /** 音频地址 */ - src: string - ): void - } - interface BLEPeripheralServer { - /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 添加服务。 */ - addService(option: AddServiceOption): void - /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 关闭当前服务端。 */ - close(option?: BLEPeripheralServerCloseOption): void - /** [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html) -* -* 需要基础库: `2.10.3` -* -* 在插件中使用:不支持 -* -* 移除已连接的设备请求读当前外围设备的特征值事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -BLEPeripheralServer.onCharacteristicReadRequest(listener) -BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCharacteristicReadRequest( - /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCharacteristicReadRequestCallback - ): void - /** [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html) -* -* 需要基础库: `2.13.0` -* -* 在插件中使用:不支持 -* -* 移除特征订阅事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -BLEPeripheralServer.onCharacteristicSubscribed(listener) -BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCharacteristicSubscribed( - /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCharacteristicSubscribedCallback - ): void - /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html) -* -* 需要基础库: `2.13.0` -* -* 在插件中使用:不支持 -* -* 移除取消特征订阅事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -BLEPeripheralServer.onCharacteristicUnsubscribed(listener) -BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCharacteristicUnsubscribed( - /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCharacteristicUnsubscribedCallback - ): void - /** [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html) -* -* 需要基础库: `2.10.3` -* -* 在插件中使用:不支持 -* -* 移除已连接的设备请求写当前外围设备的特征值事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -BLEPeripheralServer.onCharacteristicWriteRequest(listener) -BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCharacteristicWriteRequest( - /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCharacteristicWriteRequestCallback - ): void - /** [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ - onCharacteristicReadRequest( - /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ - listener: OnCharacteristicReadRequestCallback - ): void - /** [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:不支持 - * - * 监听特征订阅事件,仅 iOS 支持。 */ - onCharacteristicSubscribed( - /** 特征订阅事件的监听函数 */ - listener: OnCharacteristicSubscribedCallback - ): void - /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:不支持 - * - * 监听取消特征订阅事件,仅 iOS 支持。 */ - onCharacteristicUnsubscribed( - /** 取消特征订阅事件的监听函数 */ - listener: OnCharacteristicUnsubscribedCallback - ): void - /** [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ - onCharacteristicWriteRequest( - /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ - listener: OnCharacteristicWriteRequestCallback - ): void - /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 移除服务。 */ - removeService(option: RemoveServiceOption): void - /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 开始广播本地创建的外围设备。 - * - * **注意** - * - * - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID; - * - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](https://developers.weixin.qq.com/miniprogram/dev/framework/device/ble.html); - * - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。 - * - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。 - * - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 */ - startAdvertising(Object: StartAdvertisingObject): void - /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 停止广播。 */ - stopAdvertising(option?: StopAdvertisingOption): void - /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:不支持 - * - * 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 */ - writeCharacteristicValue(Object: WriteCharacteristicValueObject): void - } - interface BackgroundAudioError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 10001 | | 系统错误 | - * | 10002 | | 网络错误 | - * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | - * | 10004 | | 格式错误 | - * | -1 | | 未知错误 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 10001 | | 系统错误 | - * | 10002 | | 网络错误 | - * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | - * | 10004 | | 格式错误 | - * | -1 | | 未知错误 | */ errCode: number - } - interface BackgroundAudioManager { - /** [BackgroundAudioManager.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html) - * - * 在插件中使用:支持 - * - * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */ - onCanplay( - /** 背景音频进入可播放状态事件的监听函数 */ - listener: OnCanplayCallback - ): void - /** [BackgroundAudioManager.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html) - * - * 在插件中使用:支持 - * - * 监听背景音频自然播放结束事件 */ - onEnded( - /** 背景音频自然播放结束事件的监听函数 */ - listener: OnEndedCallback - ): void - /** [BackgroundAudioManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html) - * - * 在插件中使用:支持 - * - * 监听背景音频播放错误事件 */ - onError( - /** 背景音频播放错误事件的监听函数 */ - listener: BackgroundAudioManagerOnErrorCallback - ): void - /** [BackgroundAudioManager.onNext(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html) - * - * 在插件中使用:支持 - * - * 监听用户在系统音乐播放面板点击下一曲事件(仅iOS) */ - onNext( - /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ - listener: OnNextCallback - ): void - /** [BackgroundAudioManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html) - * - * 在插件中使用:支持 - * - * 监听背景音频暂停事件 */ - onPause( - /** 背景音频暂停事件的监听函数 */ - listener: OnPauseCallback - ): void - /** [BackgroundAudioManager.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html) - * - * 在插件中使用:支持 - * - * 监听背景音频播放事件 */ - onPlay( - /** 背景音频播放事件的监听函数 */ - listener: OnPlayCallback - ): void - /** [BackgroundAudioManager.onPrev(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html) - * - * 在插件中使用:支持 - * - * 监听用户在系统音乐播放面板点击上一曲事件(仅iOS) */ - onPrev( - /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ - listener: OnPrevCallback - ): void - /** [BackgroundAudioManager.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html) - * - * 在插件中使用:支持 - * - * 监听背景音频完成跳转操作事件 */ - onSeeked( - /** 背景音频完成跳转操作事件的监听函数 */ - listener: OnSeekedCallback - ): void - /** [BackgroundAudioManager.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html) - * - * 在插件中使用:支持 - * - * 监听背景音频开始跳转操作事件 */ - onSeeking( - /** 背景音频开始跳转操作事件的监听函数 */ - listener: OnSeekingCallback - ): void - /** [BackgroundAudioManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html) - * - * 在插件中使用:支持 - * - * 监听背景音频停止事件 */ - onStop( - /** 背景音频停止事件的监听函数 */ - listener: InnerAudioContextOnStopCallback - ): void - /** [BackgroundAudioManager.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html) - * - * 在插件中使用:支持 - * - * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */ - onTimeUpdate( - /** 背景音频播放进度更新事件的监听函数 */ - listener: OnTimeUpdateCallback - ): void - /** [BackgroundAudioManager.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html) - * - * 在插件中使用:支持 - * - * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ - onWaiting( - /** 音频加载中事件的监听函数 */ - listener: OnWaitingCallback - ): void - /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html) - * - * 在插件中使用:支持 - * - * 暂停音乐 */ - pause(): void - /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html) - * - * 在插件中使用:支持 - * - * 播放音乐 */ - play(): void - /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html) - * - * 在插件中使用:支持 - * - * 跳转到指定位置 */ - seek( - /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ - currentTime: number - ): void - /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html) - * - * 在插件中使用:支持 - * - * 停止音乐 */ - stop(): void - } - interface BeaconError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 11000 | unsupport | 系统或设备不支持 | - * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | - * | 11002 | location service unavailable | 位置服务不可用 | - * | 11003 | already start | 已经开始搜索 | - * | 11004 | not startBeaconDiscovery | 还未开始搜索 | - * | 11005 | system error | 系统错误 | - * | 11006 | invalid data | 参数不正确 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 11000 | unsupport | 系统或设备不支持 | - * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | - * | 11002 | location service unavailable | 位置服务不可用 | - * | 11003 | already start | 已经开始搜索 | - * | 11004 | not startBeaconDiscovery | 还未开始搜索 | - * | 11005 | system error | 系统错误 | - * | 11006 | invalid data | 参数不正确 | */ errCode: number - } - interface BluetoothError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | -1 | already connect | 已连接 | - * | 10000 | not init | 未初始化蓝牙适配器 | - * | 10001 | not available | 当前蓝牙适配器不可用 | - * | 10002 | no device | 没有找到指定设备 | - * | 10003 | connection fail | 连接失败 | - * | 10004 | no service | 没有找到指定服务 | - * | 10005 | no characteristic | 没有找到指定特征 | - * | 10006 | no connection | 当前连接已断开 | - * | 10007 | property not support | 当前特征不支持此操作 | - * | 10008 | system error | 其余所有系统上报的异常 | - * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | - * | 10012 | operate time out | 连接超时 | - * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | -1 | already connect | 已连接 | - * | 10000 | not init | 未初始化蓝牙适配器 | - * | 10001 | not available | 当前蓝牙适配器不可用 | - * | 10002 | no device | 没有找到指定设备 | - * | 10003 | connection fail | 连接失败 | - * | 10004 | no service | 没有找到指定服务 | - * | 10005 | no characteristic | 没有找到指定特征 | - * | 10006 | no connection | 当前连接已断开 | - * | 10007 | property not support | 当前特征不支持此操作 | - * | 10008 | system error | 其余所有系统上报的异常 | - * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | - * | 10012 | operate time out | 连接超时 | - * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number - } - interface CacheManager { - /** [Array.<string> CacheManager.addRules(Object rules)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRules.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 批量添加规则,规则写法可参考 [CacheManager.addRule](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)。 */ - addRules( - /** 规则列表 */ - rules: IAnyObject - ): string[] - /** [CacheManager.clearCaches()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearCaches.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 清空所有缓存。 */ - clearCaches(): void - /** [CacheManager.clearRules()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearRules.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 清空所有规则,同时会删除对应规则下所有缓存。 */ - clearRules(): void - /** [CacheManager.deleteCache(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCache.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 删除缓存。 */ - deleteCache( - /** 缓存 id */ - id: string - ): void - /** [CacheManager.deleteCaches(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCaches.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 批量删除缓存。 */ - deleteCaches( - /** 缓存 id 列表 */ - ids: string[] - ): void - /** [CacheManager.deleteRule(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRule.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 删除规则,同时会删除对应规则下所有缓存。 */ - deleteRule( - /** 规则 id */ - id: string - ): void - /** [CacheManager.deleteRules(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRules.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 批量删除规则,同时会删除对应规则下所有缓存。 */ - deleteRules( - /** 规则 id 列表 */ - ids: string[] - ): void - /** [CacheManager.off(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.off.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 取消事件监听。 */ - off( - /** 事件名 */ - eventName: string, - /** 事件句柄 */ - handler: (...args: any[]) => any - ): void - /** [CacheManager.on(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.on.html) -* -* 需要基础库: `2.24.0` -* -* 在插件中使用:不支持 -* -* 监听事件。 -* -* **** -* -* 这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。 -* -* #### 示例代码 -* -* ```js -async function handler(evt) { - // evt.url - 请求 url - // evt.data - 请求参数 - // evt.method - 请求方法 - // evt.request - 原始 request 方法,返回一个 promise - - // if (evt.url === '/xxx') { - // // 如果有些请求仍然希望走到网络,则可以如下处理 - // const res = await evt.request() - // // res 即为网络请求返回 - // } - - return new Promsie((resolve, reject) => { - // do sth - if (data) { - // 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回 - resolve(data) - } else { - // 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回 - reject('no data') - } - }) -} -cacheManager.on('request', handler) -``` */ - on( - /** 事件名 - * - * 参数 eventName 可选值: - * - 'request': 发生 wx.request 请求,只在缓存管理器开启阶段会触发; - * - 'enterWeakNetwork': 进入弱网/离线状态; - * - 'exitWeakNetwork': 离开弱网/离线状态; */ - eventName: 'request' | 'enterWeakNetwork' | 'exitWeakNetwork', - /** 事件句柄 */ - handler: (...args: any[]) => any - ): void - /** [CacheManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.start.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。 */ - start(): void - /** [CacheManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.stop.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。 */ - stop(): void - /** [Object CacheManager.match(Object evt)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.match.html) -* -* 需要基础库: `2.24.0` -* -* 在插件中使用:不支持 -* -* 匹配命中的缓存规则,一般需要和 request 事件搭配使用。 -* -* **示例代码** -* -* ```js -function handler(evt) { - const cache = cacheManager.match(evt) - // 若有重复监听,则取第一个 handler 返回的 promise - return new Promise((resolve, reject) => { - if (cache.data) { - resolve(cache.data) - } else { - reject('no cache') - } - }) -} -cacheManager.on('request', handler) -``` */ - match( - /** request 事件对象 */ - evt: IAnyObject - ): MatchCache - /** [string CacheManager.addRule(Object rule)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html) -* -* 需要基础库: `2.24.0` -* -* 在插件中使用:不支持 -* -* 添加规则。 -* -* **规则说明** -* -* 支持的规则写法有字符串、正则和对象三种: -* -* ### 字符串写法 -* -* 1. `addRule('/abc')`:纯 uri 串。 -* 2. `addRule('GET /abc'):带方法的 uri 串,除了匹配 uri 外,还会匹配请求方法。如例子中必须是 GET 方法请求才会被匹配。 -* 3. `addRule('/abc/:id'):带可变部分的 uri 串,id 可以是任意符合标准的字符串,表示这一段可以动态变化。比如 `/abc/123` 和 `/abc/321` 都会被匹配,而 `/abc/123/xxx` 因为多了一段,就不会被匹配。 -* 4. `addRule('/abc?aa'):带 query 参数的 uri 串,包含 aa 参数,值可以为任意值。比如 `/abc?aa=haha` 会被匹配,但是 `/abc` 就不会被匹配,因为缺少规则中声明的 aa 参数;不过如果请求是 `/abc?aa=haha&bb=123`,虽然多带了 bb 参数,但是因为包含了 aa 参数,所以也可以被匹配。 -* 5. `addRule('/abc?dd=haha'):带 query 参数的 uri 串,包含 dd 参数且值为 haha。比如 `/abc?dd=haha` 和 `/abc?dd=haha&bb=123` 会被匹配,而 `/abc?dd=123` 就不会被匹配,因为规则要求了 dd 参数的值。 -* -* > 以上写法中的 uri 串如果只有 path 部分,则会取全局 origin 进行补全。比如全局 origin 是 `https://weixin.qq.com`,而规则是 `/abc`,则会补全为 `https://weixin.qq.com/abc`。因此在前面例子中 `addRule('/abc')` 和 `addRule('https://weixin.qq.com/abc')` 的写法效果一致。所以一般情况下如果需要匹配的请求 origin 和全局 origin 一致,则规则中可忽略不写 orign。 -* -* ### 正则写法 -* -* 1. `addRule(/\/(abc|cba)$/ig)`:直接正则匹配请求的 uri,同时会比对请求 origin 和全局 origin 是否一致。 -* 2. `addRule(/^https:\/\/weixin.qq.com\/(abc|cba)$/ig)`:带有 orign 部分的正则表达式,则只匹配 uri,不再比对 origin。 -* -* ### 对象写法 -* -* 使用规则对象,可以更为详细的描述规则内容。(一般使用规则对象,是为了匹配请求参数) -* -* #### 规则对象: -* -* | 属性名 | 类型 | 默认值 | 备注 | -* |---|---|---|---| -* | id | string | | 规则 id,如果不填则会由基础库生成 | -* | method | string | | 请求方法,可选值 GET/POST/PATCH/PUT/DELETE,如果为空则表示前面提到的所有方法都能被匹配到 | -* | url | any | 必填 | uri 匹配规则,可参考规则字符串写法和正则写法 | -* | maxAge | number | 7 * 24 * 60 * 60 * 1000 | 缓存有效时间,单位为 ms,不填则默认取缓存管理器全局的缓存有效时间 | -* | dataSchema | Array\<DataRule\> | | 匹配请求参数 | -* -* 其中,dataSchema 用来匹配对象类型的请求参数(比如 wx.request 的 data),默认可以不填,即不做参数匹配。 -* -* dataSchema 的类型是一个 DataRule 对象数组,一个 DataRule 对象描述一个参数,比如一个 wx.request 请求的 data 是 `{a: 123, b: 'haha', c: true}`,你想要用一条规则来匹配其中的 a 和 b 参数,如果 a 是数字且 b 是字符串就能命中该规则,那么就需要在 dataSchema 中补充两个 DataRule 对象,即 `[{name: 'a', schema: {type: 'number'}}, {name: 'b', schema: {type: 'string'}}]`。 -* -* #### DataRule 对象: -* -* | 属性名 | 类型 | 默认值 | 备注 | -* |---|---|---|---| -* | name | string | | 需要匹配的参数名 | -* | schema | DataSchema/Array\<DataSchema\> | 需要匹配的参数模式,支持数组,表示该参数值有多种模式 | -* -* name 表示要匹配的参数名,schema 为 DataSchema 对象,用来描述该参数的类型和值。 -* -* 一个 DataRule 对象也可以匹配可能拥有多种类型的参数,所以 schema 也支持为 DataSchema 对象数组。比如上述例子中,希望匹配的 a 参数必须是数值或者字符串,那么可以这么写:`{name: 'a', schema: [{type: 'number'}, {type: 'string'}]}`。 -* -* #### DataSchema 对象: -* -* | 属性名 | 类型 | 默认值 | 备注 | -* |---|---|---|---| -* | type | string | | 需要匹配的 data 对象的参数类型,string、number、boolean、null、object、any(表示任意类型),同时支持数组模式(数组模式则在类型后面加 [],如 string[] 表示字符串数组) | -* | value | string/regexp/function/Array\<DataRule\> | | 需要匹配的 data 对象的参数值,当 type 为基本类型时,可以用 string/regexp 来匹配固定的值,也可以通过 function 来确定值是否匹配,如果传入的 type 是 object,那么表示需要嵌套匹配值是否正确,可以传入 Array<DataRule> | -* -* type 参数表示要匹配的参数类型,value 表示要匹配的参数值。其中 value 支持多种写法,不同写法有如下匹配方式: -* -* 1. 字符串写法:直接判值的字符串形式是否和给定字符串一样,比如 value 值为 `123`,就要求参数值必须为 123 才能与之匹配。 -* 2. 正则写法:直接判值的字符串形式是否能被正则匹配,比如 value 值为 `/\d+/ig`,就要求参数值必须为数字,如果参数值为 `abc` 则不会被匹配。 -* 3. 函数写法:在匹配时会调用用户传入的函数,交由用户判断是否匹配。 -* 4. DataRule 数组写法:当参数类型为对象时,那么字符串写法和正则写法就无法使用,需要传入 DataRule 数组来进行匹配,即通过嵌套 DataRule 数组的方式来匹配嵌套的对象。 -* -* ### 示例代码 -* -* ```js -const ruleId = cacheManager.addRule({ - id: 'haha-rule', - method: 'GET', - url: '/haha', - maxAge: 123455, - dataSchema: [ - // data 字段的匹配,默认为空,表示不匹配 - // 类型可以是:string、number、boolean、null、object、any(表示任意类型均可),以及这些类型的数组表示方式 - {name: 'aaa', schema: {type: 'string'}}, // 类型为 string - {name: 'bbb', schema: [{type: 'number'}, {type: 'string'}]}, // 类型为 number, string - {name: 'ccc', schema: {type: 'string', value: 'abc'}}, // 值为 abc - {name: 'ddd', schema: {type: 'string', value: /(abc|cba)/ig}}, // 值符合该正则匹配,如果该值不是字符串类型,则会被尝试转成字符串后再进行比较 - {name: 'ddd', schema: {type: 'string', value: val => val === '123'}}, // 传入函数来校验值 - {name: 'eee', schema: {type: 'object', value: [{ // 类型为对象,则通过嵌套的方式来逐层校验 - name: 'aaa', schema: {type: 'string'}, - // ... - // 嵌套 dataSchema,同上面的方式一样来匹配嵌套的对象 - }]}}, - {name: 'fff', schema: {type: 'string[]'}}, // 类型为 string 数组 - {name: 'ggg', schema: {type: 'any'}}, // 类型为任意类型 - {name: 'hhh', schema: {type: 'any[]'}}, // 类型为任意类型的数组 - }], -}) -``` -* -* ### 补充说明 -* -* 用户可以添加多条规则,每条规则都会去解析网络请求,然后判断是否命中规则。假设有多条规则命中,则取第一条命中的规则。 -* -* ### 缓存覆盖 -* -* 不同的网络请求也可能命中同一条规则,所以每条规则可能对应多个缓存。每条规则会有一个规则 id,每个缓存会有一个缓存 id,一个规则 id 可能对应多个缓存 id,而缓存管理器的缓存存储是基于缓存 id 标识的,如果两个不同的请求生成了同样的缓存 id,那么后发生的请求结果缓存会覆盖前者。因此使用时需要思考缓存的覆盖情况,目前缓存 id 生成方式如下: -* -* 1. 规则使用字符串写法:那么按 method + url + 规则中声明的 query 参数来生成缓存 id。 -* -* > 需要注意的是这里不使用真实请求中的 query 参数来生成缓存 id,而是使用规则中匹配到的 query 来生成缓存 id。比如规则是 `/abc?aa=123`,请求是 GET 方法的 `/abc?aa=123&bb=123`,那么就会基于 `GET /abc?aa=123` 来生成缓存 id。而规则里没有声明 `bb=123`,所以 bb 参数不会被纳入缓存 id 的生成基准。 -* -* 2. 规则使用正则写法:那么只按 method + url 生成缓存 id,不考虑 query 参数。 -* 3. 规则使用对象写法:如果规则对象中的 url 是字符串写法,那么按 method + url + 规则中声明的 query 参数 + 规则中 dataSchema 声明的请求参数来生成缓存 id;如果规则对象中的 url 是正则写法,那么按 method + url + 规则中 dataSchema 声明的请求参数来生成缓存 id。 -* -* > 生成缓存 id 时没有使用请求中完整的 query 参数或者请求参数来作为基准,是考虑到很多请求可能会带上 token 或时间戳等参数。因为此参数存在不确定性,会导致每次请求生成的缓存 id 都不同,进而导致缓存命中率下降,故采取规则中声明的 query 参数和 dataSchema 声明的请求参数来作为生成缓存 id 的基准。 */ - addRule( - /** 规则 */ - rule: IAnyObject - ): string - } - interface CameraContext { - /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:支持 - * - * 设置缩放级别 */ - setZoom(option: SetZoomOption): void - /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html) - * - * 在插件中使用:支持 - * - * 开始录像 */ - startRecord(option: CameraContextStartRecordOption): void - /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html) - * - * 在插件中使用:支持 - * - * 结束录像 */ - stopRecord(option: CameraContextStopRecordOption): void - /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html) - * - * 在插件中使用:支持 - * - * 拍摄照片 */ - takePhoto(option: TakePhotoOption): void - /** [[CameraFrameListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.html) CameraContext.onCameraFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.onCameraFrame.html) -* -* 需要基础库: `2.7.0` -* -* 在插件中使用:不支持 -* -* 获取 Camera 实时帧数据 -* -* **** -* -* 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。 -* -* **示例代码** -* -* ```js -const context = wx.createCameraContext() -const listener = context.onCameraFrame((frame) => { - console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height) -}) -listener.start() -``` */ - onCameraFrame( - /** 回调函数 */ - callback: OnCameraFrameCallback - ): CameraFrameListener - } - interface CameraFrameListener { - /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html) - * - * 在插件中使用:不支持 - * - * 开始监听帧数据 */ - start(option?: CameraFrameListenerStartOption): void - /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html) - * - * 在插件中使用:不支持 - * - * 停止监听帧数据 */ - stop(option?: StopOption): void - } - interface Canvas { - /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ - cancelAnimationFrame(requestID: number): void - /** [[ImageData](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html) Canvas.createImageData()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。 */ - createImageData(): ImageData - /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) Canvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ - createImage(): Image - /** [[Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) Canvas.createPath2D([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createPath2D.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 创建 Path2D 对象 */ - createPath2D( - /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) */ - path: Path2D - ): Path2D - /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) Canvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 该方法返回 Canvas 的绘图上下文 - * - * **** - * - * 支持获取 2D 和 WebGL 绘图上下文 */ - getContext(contextType: string): any - /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ - requestAnimationFrame( - /** 执行的 callback */ - callback: (...args: any[]) => any - ): number - /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 */ - toDataURL( - /** 图片格式,默认为 image/png */ - type: string, - /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */ - encoderOptions: number - ): string - } - interface CanvasContext { - /** [CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建一条弧线。 -* -* - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。 -* - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// Draw coordinates -ctx.arc(100, 75, 50, 0, 2 * Math.PI) -ctx.setFillStyle('#EEEEEE') -ctx.fill() - -ctx.beginPath() -ctx.moveTo(40, 75) -ctx.lineTo(160, 75) -ctx.moveTo(100, 15) -ctx.lineTo(100, 135) -ctx.setStrokeStyle('#AAAAAA') -ctx.stroke() - -ctx.setFontSize(12) -ctx.setFillStyle('black') -ctx.fillText('0', 165, 78) -ctx.fillText('0.5*PI', 83, 145) -ctx.fillText('1*PI', 15, 78) -ctx.fillText('1.5*PI', 83, 10) - -// Draw points -ctx.beginPath() -ctx.arc(100, 75, 2, 0, 2 * Math.PI) -ctx.setFillStyle('lightgreen') -ctx.fill() - -ctx.beginPath() -ctx.arc(100, 25, 2, 0, 2 * Math.PI) -ctx.setFillStyle('blue') -ctx.fill() - -ctx.beginPath() -ctx.arc(150, 75, 2, 0, 2 * Math.PI) -ctx.setFillStyle('red') -ctx.fill() - -// Draw arc -ctx.beginPath() -ctx.arc(100, 75, 50, 0, 1.5 * Math.PI) -ctx.setStrokeStyle('#333333') -ctx.stroke() - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/arc.png) -* -* 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下: -* -* - 绿色: 圆心 (100, 75) -* - 红色: 起始弧度 (0) -* - 蓝色: 终止弧度 (1.5 * Math.PI) */ - arc( - /** 圆心的 x 坐标 */ - x: number, - /** 圆心的 y 坐标 */ - y: number, - /** 圆的半径 */ - r: number, - /** 起始弧度,单位弧度(在3点钟方向) */ - sAngle: number, - /** 终止弧度 */ - eAngle: number, - /** 弧度的方向是否是逆时针 */ - counterclockwise?: boolean - ): void - /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 根据控制点和半径绘制圆弧路径。 */ - arcTo( - /** 第一个控制点的 x 轴坐标 */ - x1: number, - /** 第一个控制点的 y 轴坐标 */ - y1: number, - /** 第二个控制点的 x 轴坐标 */ - x2: number, - /** 第二个控制点的 y 轴坐标 */ - y2: number, - /** 圆弧的半径 */ - radius: number - ): void - /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边 -* -* - 在最开始的时候相当于调用了一次 `beginPath`。 -* - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -// begin path -ctx.rect(10, 10, 100, 30) -ctx.setFillStyle('yellow') -ctx.fill() - -// begin another path -ctx.beginPath() -ctx.rect(10, 40, 100, 30) - -// only fill this rect, not in current path -ctx.setFillStyle('blue') -ctx.fillRect(10, 70, 100, 30) - -ctx.rect(10, 100, 100, 30) - -// it will fill current path -ctx.setFillStyle('red') -ctx.fill() -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/fill-path.png) */ - beginPath(): void - /** [CanvasContext.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// Draw points -ctx.beginPath() -ctx.arc(20, 20, 2, 0, 2 * Math.PI) -ctx.setFillStyle('red') -ctx.fill() - -ctx.beginPath() -ctx.arc(200, 20, 2, 0, 2 * Math.PI) -ctx.setFillStyle('lightgreen') -ctx.fill() - -ctx.beginPath() -ctx.arc(20, 100, 2, 0, 2 * Math.PI) -ctx.arc(200, 100, 2, 0, 2 * Math.PI) -ctx.setFillStyle('blue') -ctx.fill() - -ctx.setFillStyle('black') -ctx.setFontSize(12) - -// Draw guides -ctx.beginPath() -ctx.moveTo(20, 20) -ctx.lineTo(20, 100) -ctx.lineTo(150, 75) - -ctx.moveTo(200, 20) -ctx.lineTo(200, 100) -ctx.lineTo(70, 75) -ctx.setStrokeStyle('#AAAAAA') -ctx.stroke() - -// Draw quadratic curve -ctx.beginPath() -ctx.moveTo(20, 20) -ctx.bezierCurveTo(20, 100, 200, 100, 200, 20) -ctx.setStrokeStyle('black') -ctx.stroke() - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/bezier-curve.png) -* -* 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下: -* -* - 红色:起始点(20, 20) -* - 蓝色:两个控制点(20, 100) (200, 100) -* - 绿色:终止点(200, 20) */ - bezierCurveTo( - /** 第一个贝塞尔控制点的 x 坐标 */ - cp1x: number, - /** 第一个贝塞尔控制点的 y 坐标 */ - cp1y: number, - /** 第二个贝塞尔控制点的 x 坐标 */ - cp2x: number, - /** 第二个贝塞尔控制点的 y 坐标 */ - cp2y: number, - /** 结束点的 x 坐标 */ - x: number, - /** 结束点的 y 坐标 */ - y: number - ): void - /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 清除画布上在该矩形区域内的内容 -* -* **示例代码** -* -* clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。 -* ```html -* <canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/> -* ``` -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.setFillStyle('red') -ctx.fillRect(0, 0, 150, 200) -ctx.setFillStyle('blue') -ctx.fillRect(150, 0, 150, 200) -ctx.clearRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/clear-rect.png) */ - clearRect( - /** 矩形路径左上角的横坐标 */ - x: number, - /** 矩形路径左上角的纵坐标 */ - y: number, - /** 矩形路径的宽度 */ - width: number, - /** 矩形路径的高度 */ - height: number - ): void - /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -wx.downloadFile({ - url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg', - success: function(res) { - ctx.save() - ctx.beginPath() - ctx.arc(50, 50, 25, 0, 2*Math.PI) - ctx.clip() - ctx.drawImage(res.tempFilePath, 25, 25) - ctx.restore() - ctx.draw() - } -}) -``` -* ![](@program/dev/image/canvas/clip.png) */ - clip(): void - /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.moveTo(10, 10) -ctx.lineTo(100, 10) -ctx.lineTo(100, 100) -ctx.closePath() -ctx.stroke() -ctx.draw() -``` -* ![](@program/dev/image/canvas/close-line.png) -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -// begin path -ctx.rect(10, 10, 100, 30) -ctx.closePath() - -// begin another path -ctx.beginPath() -ctx.rect(10, 40, 100, 30) - -// only fill this rect, not in current path -ctx.setFillStyle('blue') -ctx.fillRect(10, 70, 100, 30) - -ctx.rect(10, 100, 100, 30) - -// it will fill current path -ctx.setFillStyle('red') -ctx.fill() -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/close-path.png) */ - closePath(): void - /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 对指定的图像创建模式的方法,可在指定的方向上重复元图像 */ - createPattern( - /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */ - image: string, - /** 如何重复图像 - * - * 参数 repetition 可选值: - * - 'repeat': 水平竖直方向都重复; - * - 'repeat-x': 水平方向重复; - * - 'repeat-y': 竖直方向重复; - * - 'no-repeat': 不重复; */ - repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' - ): void - /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 -* -* **示例代码** -* -* 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 100) -ctx.draw() -ctx.fillRect(50, 50, 150, 100) -ctx.draw(true) -``` -* ![](@program/dev/image/canvas/reserve.png) -* -* **示例代码** -* -* 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 100) -ctx.draw() -ctx.fillRect(50, 50, 150, 100) -ctx.draw() -``` -* ![](@program/dev/image/canvas/un-reserve.png) */ - draw( - /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */ - reserve?: boolean, - /** 绘制完成后执行的回调函数 */ - callback?: (...args: any[]) => any - ): void - /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 绘制图像到画布 -* -* **示例代码** -* -* 有三个版本的写法: -* -* - drawImage(imageResource, dx, dy) -* - drawImage(imageResource, dx, dy, dWidth, dHeight) -* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -wx.chooseImage({ - success: function(res){ - ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) - ctx.draw() - } -}) - -``` -* ![](@program/dev/image/canvas/draw-image.png) */ - drawImage( - /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ - imageResource: string, - /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ - dx: number, - /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ - dy: number - ): void - /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 绘制图像到画布 -* -* **示例代码** -* -* 有三个版本的写法: -* -* - drawImage(imageResource, dx, dy) -* - drawImage(imageResource, dx, dy, dWidth, dHeight) -* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -wx.chooseImage({ - success: function(res){ - ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) - ctx.draw() - } -}) - -``` -* ![](@program/dev/image/canvas/draw-image.png) */ - drawImage( - /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ - imageResource: string, - /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ - dx: number, - /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ - dy: number, - /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ - dWidth: number, - /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ - dHeight: number - ): void - /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 绘制图像到画布 -* -* **示例代码** -* -* 有三个版本的写法: -* -* - drawImage(imageResource, dx, dy) -* - drawImage(imageResource, dx, dy, dWidth, dHeight) -* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -wx.chooseImage({ - success: function(res){ - ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) - ctx.draw() - } -}) - -``` -* ![](@program/dev/image/canvas/draw-image.png) */ - drawImage( - /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ - imageResource: string, - /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */ - sx: number, - /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */ - sy: number, - /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */ - sWidth: number, - /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */ - sHeight: number, - /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ - dx: number, - /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ - dy: number, - /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ - dWidth: number, - /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ - dHeight: number - ): void - /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 对当前路径中的内容进行填充。默认的填充色为黑色。 -* -* **示例代码** -* -* 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.moveTo(10, 10) -ctx.lineTo(100, 10) -ctx.lineTo(100, 100) -ctx.fill() -ctx.draw() -``` -* -* fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。 -* -* ![](@program/dev/image/canvas/fill-line.png) -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -// begin path -ctx.rect(10, 10, 100, 30) -ctx.setFillStyle('yellow') -ctx.fill() - -// begin another path -ctx.beginPath() -ctx.rect(10, 40, 100, 30) - -// only fill this rect, not in current path -ctx.setFillStyle('blue') -ctx.fillRect(10, 70, 100, 30) - -ctx.rect(10, 100, 100, 30) - -// it will fill current path -ctx.setFillStyle('red') -ctx.fill() -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/fill-path.png) */ - fill(): void - /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/fill-rect.png) */ - fillRect( - /** 矩形路径左上角的横坐标 */ - x: number, - /** 矩形路径左上角的纵坐标 */ - y: number, - /** 矩形路径的宽度 */ - width: number, - /** 矩形路径的高度 */ - height: number - ): void - /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 在画布上绘制被填充的文本 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setFontSize(20) -ctx.fillText('Hello', 20, 20) -ctx.fillText('MINA', 100, 100) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/text.png) */ - fillText( - /** 在画布上输出的文本 */ - text: string, - /** 绘制文本的左上角 x 坐标位置 */ - x: number, - /** 绘制文本的左上角 y 坐标位置 */ - y: number, - /** 需要绘制的最大宽度,可选 */ - maxWidth?: number - ): void - /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.moveTo(10, 10) -ctx.rect(10, 10, 100, 50) -ctx.lineTo(110, 60) -ctx.stroke() -ctx.draw() -``` -* ![](@program/dev/image/canvas/line-to.png) */ - lineTo( - /** 目标位置的 x 坐标 */ - x: number, - /** 目标位置的 y 坐标 */ - y: number - ): void - /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.moveTo(10, 10) -ctx.lineTo(100, 10) - -ctx.moveTo(10, 50) -ctx.lineTo(100, 50) -ctx.stroke() -ctx.draw() -``` -* ![](@program/dev/image/canvas/move-to.png) */ - moveTo( - /** 目标位置的 x 坐标 */ - x: number, - /** 目标位置的 y 坐标 */ - y: number - ): void - /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// Draw points -ctx.beginPath() -ctx.arc(20, 20, 2, 0, 2 * Math.PI) -ctx.setFillStyle('red') -ctx.fill() - -ctx.beginPath() -ctx.arc(200, 20, 2, 0, 2 * Math.PI) -ctx.setFillStyle('lightgreen') -ctx.fill() - -ctx.beginPath() -ctx.arc(20, 100, 2, 0, 2 * Math.PI) -ctx.setFillStyle('blue') -ctx.fill() - -ctx.setFillStyle('black') -ctx.setFontSize(12) - -// Draw guides -ctx.beginPath() -ctx.moveTo(20, 20) -ctx.lineTo(20, 100) -ctx.lineTo(200, 20) -ctx.setStrokeStyle('#AAAAAA') -ctx.stroke() - -// Draw quadratic curve -ctx.beginPath() -ctx.moveTo(20, 20) -ctx.quadraticCurveTo(20, 100, 200, 20) -ctx.setStrokeStyle('black') -ctx.stroke() - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/quadratic-curve-to.png) -* -* 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下: -* -* - 红色:起始点(20, 20) -* - 蓝色:控制点(20, 100) -* - 绿色:终止点(200, 20) */ - quadraticCurveTo( - /** 贝塞尔控制点的 x 坐标 */ - cpx: number, - /** 贝塞尔控制点的 y 坐标 */ - cpy: number, - /** 结束点的 x 坐标 */ - x: number, - /** 结束点的 y 坐标 */ - y: number - ): void - /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建一个矩形路径。需要用 [`fill`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) 或者 [`stroke`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) 方法将矩形真正的画到 `canvas` 中 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.rect(10, 10, 150, 75) -ctx.setFillStyle('red') -ctx.fill() -ctx.draw() -``` -* ![](@program/dev/image/canvas/fill-rect.png) */ - rect( - /** 矩形路径左上角的横坐标 */ - x: number, - /** 矩形路径左上角的纵坐标 */ - y: number, - /** 矩形路径的宽度 */ - width: number, - /** 矩形路径的高度 */ - height: number - ): void - /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 恢复之前保存的绘图上下文。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// save the default fill style -ctx.save() -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 100) - -// restore to the previous saved state -ctx.restore() -ctx.fillRect(50, 50, 150, 100) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/save-restore.png) */ - restore(): void - /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.strokeRect(100, 10, 150, 100) -ctx.rotate(20 * Math.PI / 180) -ctx.strokeRect(100, 10, 150, 100) -ctx.rotate(20 * Math.PI / 180) -ctx.strokeRect(100, 10, 150, 100) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/rotate.png) */ - rotate( - /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */ - rotate: number - ): void - /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 保存绘图上下文。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// save the default fill style -ctx.save() -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 100) - -// restore to the previous saved state -ctx.restore() -ctx.fillRect(50, 50, 150, 100) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/save-restore.png) */ - save(): void - /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.strokeRect(10, 10, 25, 15) -ctx.scale(2, 2) -ctx.strokeRect(10, 10, 25, 15) -ctx.scale(2, 2) -ctx.strokeRect(10, 10, 25, 15) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/scale.png) */ - scale( - /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ - scaleWidth: number, - /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ - scaleHeight: number - ): void - /** [CanvasContext.setFillStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.fillStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置填充色。 -* -* **代码示例** -* -* ```js -const ctx = wx.createCanvasContext('myCanvas') -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/fill-rect.png) */ - setFillStyle( - /** 填充的颜色,默认颜色为 black。 */ - color: string | CanvasGradient - ): void - /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.font](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置字体的字号 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setFontSize(20) -ctx.fillText('20', 20, 20) -ctx.setFontSize(30) -ctx.fillText('30', 40, 40) -ctx.setFontSize(40) -ctx.fillText('40', 60, 60) -ctx.setFontSize(50) -ctx.fillText('50', 90, 90) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/font-size.png) */ - setFontSize( - /** 字体的字号 */ - fontSize: number - ): void - /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.globalAlpha](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置全局画笔透明度。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setFillStyle('red') -ctx.fillRect(10, 10, 150, 100) -ctx.setGlobalAlpha(0.2) -ctx.setFillStyle('blue') -ctx.fillRect(50, 50, 150, 100) -ctx.setFillStyle('yellow') -ctx.fillRect(100, 100, 150, 100) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/global-alpha.png) */ - setGlobalAlpha( - /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ - alpha: number - ): void - /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineCap](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置线条的端点样式 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.beginPath() -ctx.moveTo(10, 10) -ctx.lineTo(150, 10) -ctx.stroke() - -ctx.beginPath() -ctx.setLineCap('butt') -ctx.setLineWidth(10) -ctx.moveTo(10, 30) -ctx.lineTo(150, 30) -ctx.stroke() - -ctx.beginPath() -ctx.setLineCap('round') -ctx.setLineWidth(10) -ctx.moveTo(10, 50) -ctx.lineTo(150, 50) -ctx.stroke() - -ctx.beginPath() -ctx.setLineCap('square') -ctx.setLineWidth(10) -ctx.moveTo(10, 70) -ctx.lineTo(150, 70) -ctx.stroke() - -ctx.draw() -``` -* ![](@program/dev/image/canvas/line-cap.png) */ - setLineCap( - /** 线条的结束端点样式 - * - * 参数 lineCap 可选值: - * - 'butt': 向线条的每个末端添加平直的边缘。; - * - 'round': 向线条的每个末端添加圆形线帽。; - * - 'square': 向线条的每个末端添加正方形线帽。; */ - lineCap: 'butt' | 'round' | 'square' - ): void - /** [CanvasContext.setLineDash(Array.<number> pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineDashOffset](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置虚线样式。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setLineDash([10, 20], 5); - -ctx.beginPath(); -ctx.moveTo(0,100); -ctx.lineTo(400, 100); -ctx.stroke(); - -ctx.draw() -``` -* ![](@program/dev/image/canvas/set-line-dash.png) */ - setLineDash( - /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */ - pattern: number[], - /** 虚线偏移量 */ - offset: number - ): void - /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineJoin](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置线条的交点样式 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.beginPath() -ctx.moveTo(10, 10) -ctx.lineTo(100, 50) -ctx.lineTo(10, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineJoin('bevel') -ctx.setLineWidth(10) -ctx.moveTo(50, 10) -ctx.lineTo(140, 50) -ctx.lineTo(50, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineJoin('round') -ctx.setLineWidth(10) -ctx.moveTo(90, 10) -ctx.lineTo(180, 50) -ctx.lineTo(90, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineJoin('miter') -ctx.setLineWidth(10) -ctx.moveTo(130, 10) -ctx.lineTo(220, 50) -ctx.lineTo(130, 90) -ctx.stroke() - -ctx.draw() -``` -* ![](@program/dev/image/canvas/line-join.png) */ - setLineJoin( - /** 线条的结束交点样式 - * - * 参数 lineJoin 可选值: - * - 'bevel': 斜角; - * - 'round': 圆角; - * - 'miter': 尖角; */ - lineJoin: 'bevel' | 'round' | 'miter' - ): void - /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineWidth](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置线条的宽度 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.beginPath() -ctx.moveTo(10, 10) -ctx.lineTo(150, 10) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(5) -ctx.moveTo(10, 30) -ctx.lineTo(150, 30) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(10) -ctx.moveTo(10, 50) -ctx.lineTo(150, 50) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(15) -ctx.moveTo(10, 70) -ctx.lineTo(150, 70) -ctx.stroke() - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/line-width.png) */ - setLineWidth( - /** 线条的宽度,单位px */ - lineWidth: number - ): void - /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.miterLimit](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.beginPath() -ctx.setLineWidth(10) -ctx.setLineJoin('miter') -ctx.setMiterLimit(1) -ctx.moveTo(10, 10) -ctx.lineTo(100, 50) -ctx.lineTo(10, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(10) -ctx.setLineJoin('miter') -ctx.setMiterLimit(2) -ctx.moveTo(50, 10) -ctx.lineTo(140, 50) -ctx.lineTo(50, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(10) -ctx.setLineJoin('miter') -ctx.setMiterLimit(3) -ctx.moveTo(90, 10) -ctx.lineTo(180, 50) -ctx.lineTo(90, 90) -ctx.stroke() - -ctx.beginPath() -ctx.setLineWidth(10) -ctx.setLineJoin('miter') -ctx.setMiterLimit(4) -ctx.moveTo(130, 10) -ctx.lineTo(220, 50) -ctx.lineTo(130, 90) -ctx.stroke() - -ctx.draw() -``` -* ![](@program/dev/image/canvas/miter-limit.png) */ - setMiterLimit( - /** 最大斜接长度 */ - miterLimit: number - ): void - /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.shadowOffsetX|CanvasContext.shadowOffsetY|CanvasContext.shadowColor|CanvasContext.shadowBlur](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设定阴影样式。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.setFillStyle('red') -ctx.setShadow(10, 50, 50, 'blue') -ctx.fillRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/shadow.png) */ - setShadow( - /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */ - offsetX: number, - /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */ - offsetY: number, - /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */ - blur: number, - /** 阴影的颜色。默认值为 black。 */ - color: string - ): void - /** [CanvasContext.setStrokeStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.strokeStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置描边颜色。 -* -* **代码示例** -* -* ```js -const ctx = wx.createCanvasContext('myCanvas') -ctx.setStrokeStyle('red') -ctx.strokeRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/stroke-rect.png) */ - setStrokeStyle( - /** 描边的颜色,默认颜色为 black。 */ - color: string | CanvasGradient - ): void - /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置文字的对齐 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setStrokeStyle('red') -ctx.moveTo(150, 20) -ctx.lineTo(150, 170) -ctx.stroke() - -ctx.setFontSize(15) -ctx.setTextAlign('left') -ctx.fillText('textAlign=left', 150, 60) - -ctx.setTextAlign('center') -ctx.fillText('textAlign=center', 150, 80) - -ctx.setTextAlign('right') -ctx.fillText('textAlign=right', 150, 100) - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/set-text-align.png) */ - setTextAlign( - /** 文字的对齐方式 - * - * 参数 align 可选值: - * - 'left': 左对齐; - * - 'center': 居中对齐; - * - 'right': 右对齐; */ - align: 'left' | 'center' | 'right' - ): void - /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 设置文字的竖直对齐 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.setStrokeStyle('red') -ctx.moveTo(5, 75) -ctx.lineTo(295, 75) -ctx.stroke() - -ctx.setFontSize(20) - -ctx.setTextBaseline('top') -ctx.fillText('top', 5, 75) - -ctx.setTextBaseline('middle') -ctx.fillText('middle', 50, 75) - -ctx.setTextBaseline('bottom') -ctx.fillText('bottom', 120, 75) - -ctx.setTextBaseline('normal') -ctx.fillText('normal', 200, 75) - -ctx.draw() -``` -* ![](@program/dev/image/canvas/set-text-baseline.png) */ - setTextBaseline( - /** 文字的竖直对齐方式 - * - * 参数 textBaseline 可选值: - * - 'top': 顶部对齐; - * - 'bottom': 底部对齐; - * - 'middle': 居中对齐; - * - 'normal': ; */ - textBaseline: 'top' | 'bottom' | 'middle' | 'normal' - ): void - /** [CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 使用矩阵重新设置(覆盖)当前变换的方法 */ - setTransform( - /** 水平缩放 */ - scaleX: number, - /** 水平倾斜 */ - skewX: number, - /** 垂直倾斜 */ - skewY: number, - /** 垂直缩放 */ - scaleY: number, - /** 水平移动 */ - translateX: number, - /** 垂直移动 */ - translateY: number - ): void - /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 画出当前路径的边框。默认颜色色为黑色。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.moveTo(10, 10) -ctx.lineTo(100, 10) -ctx.lineTo(100, 100) -ctx.stroke() -ctx.draw() -``` -* ![](@program/dev/image/canvas/stroke-line.png) -* -* stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。 -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -// begin path -ctx.rect(10, 10, 100, 30) -ctx.setStrokeStyle('yellow') -ctx.stroke() - -// begin another path -ctx.beginPath() -ctx.rect(10, 40, 100, 30) - -// only stoke this rect, not in current path -ctx.setStrokeStyle('blue') -ctx.strokeRect(10, 70, 100, 30) - -ctx.rect(10, 100, 100, 30) - -// it will stroke current path -ctx.setStrokeStyle('red') -ctx.stroke() -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/stroke-path.png) */ - stroke(): void - /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') -ctx.setStrokeStyle('red') -ctx.strokeRect(10, 10, 150, 75) -ctx.draw() -``` -* ![](@program/dev/image/canvas/stroke-rect.png) */ - strokeRect( - /** 矩形路径左上角的横坐标 */ - x: number, - /** 矩形路径左上角的纵坐标 */ - y: number, - /** 矩形路径的宽度 */ - width: number, - /** 矩形路径的高度 */ - height: number - ): void - /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 给定的 (x, y) 位置绘制文本描边的方法 */ - strokeText( - /** 要绘制的文本 */ - text: string, - /** 文本起始点的 x 轴坐标 */ - x: number, - /** 文本起始点的 y 轴坐标 */ - y: number, - /** 需要绘制的最大宽度,可选 */ - maxWidth?: number - ): void - /** [CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 使用矩阵多次叠加当前变换的方法 */ - transform( - /** 水平缩放 */ - scaleX: number, - /** 水平倾斜 */ - skewX: number, - /** 垂直倾斜 */ - skewY: number, - /** 垂直缩放 */ - scaleY: number, - /** 水平移动 */ - translateX: number, - /** 垂直移动 */ - translateY: number - ): void - /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -ctx.strokeRect(10, 10, 150, 100) -ctx.translate(20, 20) -ctx.strokeRect(10, 10, 150, 100) -ctx.translate(20, 20) -ctx.strokeRect(10, 10, 150, 100) - -ctx.draw() -``` -* -* ![](@program/dev/image/canvas/translate.png) */ - translate( - /** 水平坐标平移量 */ - x: number, - /** 竖直坐标平移量 */ - y: number - ): void - /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 - * - * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** - * - * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。 */ - measureText( - /** 要测量的文本 */ - text: string - ): TextMetrics - /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createCircularGradient(number x, number y, number r)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// Create circular gradient -const grd = ctx.createCircularGradient(75, 50, 50) -grd.addColorStop(0, 'red') -grd.addColorStop(1, 'white') - -// Fill with gradient -ctx.setFillStyle(grd) -ctx.fillRect(10, 10, 150, 80) -ctx.draw() -``` -* ![](@program/dev/image/canvas/circular-gradient.png) */ - createCircularGradient( - /** 圆心的 x 坐标 */ - x: number, - /** 圆心的 y 坐标 */ - y: number, - /** 圆的半径 */ - r: number - ): CanvasGradient - /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createLinearGradient(number x0, number y0, number x1, number y1)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html) -* -* 在插件中使用:支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 -* -* **示例代码** -* -* ```javascript -const ctx = wx.createCanvasContext('myCanvas') - -// Create linear gradient -const grd = ctx.createLinearGradient(0, 0, 200, 0) -grd.addColorStop(0, 'red') -grd.addColorStop(1, 'white') - -// Fill with gradient -ctx.setFillStyle(grd) -ctx.fillRect(10, 10, 150, 80) -ctx.draw() -``` -* ![](@program/dev/image/canvas/linear-gradient.png) */ - createLinearGradient( - /** 起点的 x 坐标 */ - x0: number, - /** 起点的 y 坐标 */ - y0: number, - /** 终点的 x 坐标 */ - x1: number, - /** 终点的 y 坐标 */ - y1: number - ): CanvasGradient - } - interface CanvasGradient { - /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) -* -* 在插件中使用:不支持 -* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 -* -* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** -* -* 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染 -* -* **示例代码** -* -* ```js -const ctx = wx.createCanvasContext('myCanvas') - -// Create circular gradient -const grd = ctx.createLinearGradient(30, 10, 120, 10) -grd.addColorStop(0, 'red') -grd.addColorStop(0.16, 'orange') -grd.addColorStop(0.33, 'yellow') -grd.addColorStop(0.5, 'green') -grd.addColorStop(0.66, 'cyan') -grd.addColorStop(0.83, 'blue') -grd.addColorStop(1, 'purple') - -// Fill with gradient -ctx.setFillStyle(grd) -ctx.fillRect(10, 10, 150, 80) -ctx.draw() -``` -* ![](@program/dev/image/canvas/color-stop.png) */ - addColorStop( - /** 表示渐变中开始与结束之间的位置,范围 0-1。 */ - stop: number, - /** 渐变点的颜色。 */ - color: string - ): void - } - interface CloseSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | */ errCode: number - } - interface Console { - /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html) - * - * 在插件中使用:不支持 - * - * 向调试面板中打印 debug 日志 */ - debug( - /** 日志内容,可以有任意多个。 */ - ...args: any[] - ): void - /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html) - * - * 在插件中使用:不支持 - * - * 向调试面板中打印 error 日志 */ - error( - /** 日志内容,可以有任意多个。 */ - ...args: any[] - ): void - /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) - * - * 在插件中使用:不支持 - * - * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。 - * - * **注意** - * - * 仅在工具中有效,在 vConsole 中为空函数实现。 */ - group( - /** 分组标记,可选。 */ - label?: string - ): void - /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html) - * - * 在插件中使用:不支持 - * - * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组 - * - * **注意** - * - * 仅在工具中有效,在 vConsole 中为空函数实现。 */ - groupEnd(): void - /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html) - * - * 在插件中使用:不支持 - * - * 向调试面板中打印 info 日志 */ - info( - /** 日志内容,可以有任意多个。 */ - ...args: any[] - ): void - /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html) - * - * 在插件中使用:不支持 - * - * 向调试面板中打印 log 日志 */ - log( - /** 日志内容,可以有任意多个。 */ - ...args: any[] - ): void - /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html) - * - * 在插件中使用:不支持 - * - * 向调试面板中打印 warn 日志 */ - warn( - /** 日志内容,可以有任意多个。 */ - ...args: any[] - ): void - } - interface DownloadTask { - /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 中断下载任务 */ - abort(): void - /** [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:支持 -* -* 移除 HTTP Response Header 事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -DownloadTask.onHeadersReceived(listener) -DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 -``` */ - offHeadersReceived( - /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffHeadersReceivedCallback - ): void - /** [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:支持 -* -* 移除下载进度变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -DownloadTask.onProgressUpdate(listener) -DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 -``` */ - offProgressUpdate( - /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: DownloadTaskOffProgressUpdateCallback - ): void - /** [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ - onHeadersReceived( - /** HTTP Response Header 事件的监听函数 */ - listener: OnHeadersReceivedCallback - ): void - /** [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 监听下载进度变化事件 */ - onProgressUpdate( - /** 下载进度变化事件的监听函数 */ - listener: DownloadTaskOnProgressUpdateCallback - ): void - } - interface EditorContext { - /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html) - * - * 需要基础库: `2.8.3` - * - * 在插件中使用:支持 - * - * 编辑器失焦,同时收起键盘。 */ - blur(option?: BlurOption): void - /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 清空编辑器内容 */ - clear(option?: ClearOption): void - /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 修改样式 - * - * **** - * - * ## 支持设置的样式列表 - * | name | value | verson | - * | --------------------------------------------------------- | ------------------------------- | ------ | - * | bold | | 2.7.0 | - * | italic | | 2.7.0 | - * | underline | | 2.7.0 | - * | strike | | 2.7.0 | - * | ins | | 2.7.0 | - * | script | sub / super | 2.7.0 | - * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 | - * | align | left / center / right / justify | 2.7.0 | - * | direction | rtl | 2.7.0 | - * | indent | -1 / +1 | 2.7.0 | - * | list | ordered / bullet / check | 2.7.0 | - * | color | hex color | 2.7.0 | - * | backgroundColor | hex color | 2.7.0 | - * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 | - * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 | - * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 | - * | lineHeight | css style | 2.7.0 | - * | letterSpacing | css style | 2.7.0 | - * | textDecoration | css style | 2.7.0 | - * | textIndent | css style | 2.8.0 | - * | wordWrap | css style | 2.10.2 | - * | wordBreak | css style | 2.10.2 | - * | whiteSpace | css style | 2.10.2 | - * - * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。 */ - format( - /** 属性 */ - name: string, - /** 值 */ - value?: string - ): void - /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 获取编辑器内容 */ - getContents(option?: GetContentsOption): void - /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html) - * - * 需要基础库: `2.10.2` - * - * 在插件中使用:支持 - * - * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。 */ - getSelectionText(option?: GetSelectionTextOption): void - /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 插入分割线 */ - insertDivider(option?: InsertDividerOption): void - /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html) -* -* 需要基础库: `2.7.0` -* -* 在插件中使用:支持 -* -* 插入图片。 -* -* 地址为临时文件时,获取的编辑器html格式内容中 <img> 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。 -* -* 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 <img> 的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。 -* -* **示例代码** -* -* ```javascript -this.editorCtx.insertImage({ - src: 'xx', - width: '100px', - height: '50px', - extClass: className -}) -``` */ - insertImage(option: InsertImageOption): void - /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 覆盖当前选区,设置一段文本 */ - insertText(option: InsertTextOption): void - /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 恢复 */ - redo(option?: RedoOption): void - /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 清除当前选区的样式 */ - removeFormat(option?: RemoveFormatOption): void - /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html) - * - * 需要基础库: `2.8.3` - * - * 在插件中使用:支持 - * - * 使得编辑器光标处滚动到窗口可视区域内。 */ - scrollIntoView(): void - /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 初始化编辑器内容,html和delta同时存在时仅delta生效 */ - setContents(option: SetContentsOption): void - /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 撤销 */ - undo(option?: UndoOption): void - } - interface EntryList { - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntries.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 该方法返回当前列表中的所有性能数据 */ - getEntries(): PerformanceEntry[] - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByName.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ - getEntriesByName( - name: string, - entryType?: string - ): PerformanceEntry[] - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByType.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 获取当前列表中所有类型为 [entryType] 的性能数据 */ - getEntriesByType(entryType: string): PerformanceEntry[] - } - interface EventChannel { - /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:支持 - * - * 触发一个事件 */ - emit( - /** 事件名称 */ - eventName: string, - /** 事件参数 */ - ...args: any - ): void - /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:支持 - * - * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数 */ - off( - /** 事件名称 */ - eventName: string, - /** 事件监听函数 */ - fn: EventCallback - ): void - /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:支持 - * - * 持续监听一个事件 */ - on( - /** 事件名称 */ - eventName: string, - /** 事件监听函数 */ - fn: EventCallback - ): void - /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:支持 - * - * 监听一个事件一次,触发后失效 */ - once( - /** 事件名称 */ - eventName: string, - /** 事件监听函数 */ - fn: EventCallback - ): void - } - interface FileSystemManager { - /** [Array.<string> FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本 -* -* **注意事项 -* - readdir接口无法访问文件系统根路径(wxfile://)。 -* 示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.readdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - success(res) { - console.log(res.files) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - readdirSync( - /** 要读取的目录路径 (本地路径) */ - dirPath: string - ): string[] - /** [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFileSync.html) -* -* 需要基础库: `2.21.1` -* -* 在插件中使用:不支持 -* -* 同步读取指定压缩类型的本地文件内容 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() - -// 异步接口 -fs.readCompressedFile({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', - success(res) { - console.log(res.data) - }, - fail(res) { - console.log('readCompressedFile fail', res) - } -}) - -// 同步接口 -try { - const data = fs.readCompressedFileSync({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', - }) - console.log(data) -} catch (err) { - console.log(err) -} -``` */ - readCompressedFileSync( - option: ReadCompressedFileSyncOption - ): ArrayBuffer - /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 判断文件/目录是否存在 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 判断文件/目录是否存在 -fs.access({ - path: `${wx.env.USER_DATA_PATH}/hello.txt`, - success(res) { - // 文件存在 - console.log(res) - }, - fail(res) { - // 文件不存在或其他错误 - console.error(res) - } -}) - -// 同步接口 -try { - fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) -} catch(e) { - console.error(e) -} -``` */ - access(option: AccessOption): void - /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 判断文件/目录是否存在 -fs.access({ - path: `${wx.env.USER_DATA_PATH}/hello.txt`, - success(res) { - // 文件存在 - console.log(res) - }, - fail(res) { - // 文件不存在或其他错误 - console.error(res) - } -}) - -// 同步接口 -try { - fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) -} catch(e) { - console.error(e) -} -``` */ - accessSync( - /** 要判断是否存在的文件/目录路径 (本地路径) */ - path: string - ): void - /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 在文件结尾追加内容 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() - -fs.appendFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - data: 'some text', - encoding: 'utf8', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') -} catch(e) { - console.error(e) -} -``` */ - appendFile(option: AppendFileOption): void - /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() - -fs.appendFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - data: 'some text', - encoding: 'utf8', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') -} catch(e) { - console.error(e) -} -``` */ - appendFileSync( - /** 要追加内容的文件路径 (本地路径) */ - filePath: string, - /** 要追加的文本或二进制数据 */ - data: string | ArrayBuffer, - /** 指定写入文件的字符编码 - * - * 参数 encoding 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - ): void - /** [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.close.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 关闭文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 打开文件 -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 关闭文件 - fs.close({ - fd: res.fd - }) - } -}) -``` */ - close(option: FileSystemManagerCloseOption): void - /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 复制文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.copyFile({ - srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.copyFileSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_copy.txt` - ) -} catch(e) { - console.error(e) -} -``` */ - copyFile(option: CopyFileOption): void - /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.copyFile({ - srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.copyFileSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_copy.txt` - ) -} catch(e) { - console.error(e) -} -``` */ - copyFileSync( - /** 源文件路径,支持本地路径 */ - srcPath: string, - /** 目标文件路径,支持本地路径 */ - destPath: string - ): void - /** [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstat.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 获取文件的状态信息 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 打开文件 -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 获取文件的状态信息 - fs.fstat({ - fd: res.fd, - success(res) { - console.log(res.stats) - } - }) - } -}) -``` */ - fstat(option: FstatOption): void - /** [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncate.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 对文件内容进行截断操作 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 打开文件 -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 对文件内容进行截断操作 - fs.ftruncate({ - fd: res.fd, - length: 10, // 从第10个字节开始截断文件 - success(res) { - console.log(res) - } - }) - } -}) -``` */ - ftruncate(option: FtruncateOption): void - /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html) - * - * 在插件中使用:不支持 - * - * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */ - getFileInfo(option: FileSystemManagerGetFileInfoOption): void - /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html) - * - * 在插件中使用:不支持 - * - * 获取该小程序下已保存的本地缓存文件列表 */ - getSavedFileList(option?: FileSystemManagerGetSavedFileListOption): void - /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 创建目录 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.mkdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - recursive: false - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) -} catch(e) { - console.error(e) -} -``` */ - mkdir(option: MkdirOption): void - /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.mkdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - recursive: false - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) -} catch(e) { - console.error(e) -} -``` */ - mkdirSync( - /** 创建的目录路径 (本地路径) */ - dirPath: string, - /** 需要基础库: `2.3.0` - * - * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ - recursive?: boolean - ): void - /** [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 打开文件,返回文件描述符 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - console.log(res.fd) - } -}) -``` */ - open(option: OpenOption): void - /** [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.read.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 读文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const ab = new ArrayBuffer(1024) -// 打开文件 -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 读取文件到 ArrayBuffer 中 - fs.read({ - fd: res.fd, - arrayBuffer: ab, - length: 10, - success(res) { - console.log(res) - } - }) - } -}) -``` */ - read(option: ReadOption): void - /** [FileSystemManager.readCompressedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFile.html) -* -* 需要基础库: `2.21.1` -* -* 在插件中使用:不支持 -* -* 读取指定压缩类型的本地文件内容 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() - -// 异步接口 -fs.readCompressedFile({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', - success(res) { - console.log(res.data) - }, - fail(res) { - console.log('readCompressedFile fail', res) - } -}) - -// 同步接口 -const data = fs.readCompressedFileSync({ - filePath: '${wx.env.USER_DATA_PATH}/hello.br', - compressionAlgorithm: 'br', -}) -console.log(data) -``` */ - readCompressedFile(option: ReadCompressedFileOption): void - /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 读取本地文件内容。单个文件大小上限为100M。 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.readFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - encoding: 'utf8', - position: 0, - success(res) { - console.log(res.data) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - readFile(option: ReadFileOption): void - /** [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readZipEntry.html) -* -* 需要基础库: `2.17.3` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 读取压缩包内的文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 读取zip内某个或多个文件 -fs.readZipEntry({ - filePath: 'wxfile://from/to.zip', - entries: [{ - path: 'some_folder/my_file.txt', // zip内文件路径 - encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte - length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte - }, { - path: 'other_folder/orther_file.txt', // zip内文件路径 - }], - success(res) { - console.log(res.entries) - // res.entries === { - // 'some_folder/my_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // }, - // 'other_folder/orther_file.txt': { - // data: (ArrayBuffer) - // } - // } - }, - fail(res) { - console.log(res.errMsg) - }, -}) - -// 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度 -fs.readZipEntry({ - filePath: 'wxfile://from/to.zip', - entries: 'all' - encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - success(res) { - console.log(res.entries) - // res.entries === { - // 'some_folder/my_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // }, - // 'other_folder/orther_file.txt': { - // errMsg: 'readZipEntry:ok', - // data: 'xxxxxx' - // } - // } - }, - fail(res) { - console.log(res.errMsg) - }, -}) -``` */ - readZipEntry(option: ReadZipEntryOption): void - /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 读取目录内文件列表 -* -* **注意事项 -* - readdir接口无法访问文件系统根路径(wxfile://)。 -* 示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.readdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - success(res) { - console.log(res.files) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - readdir(option: ReaddirOption): void - /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html) - * - * 在插件中使用:不支持 - * - * 删除该小程序下已保存的本地缓存文件 */ - removeSavedFile(option: FileSystemManagerRemoveSavedFileOption): void - /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 重命名文件。可以把文件从 oldPath 移动到 newPath -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.rename({ - oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.renameSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_new.txt` - ) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - rename(option: RenameOption): void - /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.rename({ - oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, - newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.renameSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - `${wx.env.USER_DATA_PATH}/hello_new.txt` - ) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - renameSync( - /** 源文件路径,支持本地路径 */ - oldPath: string, - /** 新文件路径,支持本地路径 */ - newPath: string - ): void - /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 删除目录 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.rmdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - recursive: false, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - rmdir(option: RmdirOption): void - /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.rmdir({ - dirPath: `${wx.env.USER_DATA_PATH}/example`, - recursive: false, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - rmdirSync( - /** 要删除的目录路径 (本地路径) */ - dirPath: string, - /** 需要基础库: `2.3.0` - * - * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ - recursive?: boolean - ): void - /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) - * - * 在插件中使用:不支持 - * - * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */ - saveFile(option: FileSystemManagerSaveFileOption): void - /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) - * - * 在插件中使用:需要基础库 `2.19.2` - * - * 获取文件 Stats 对象 */ - stat(option: StatOption): void - /** [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncate.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 对文件内容进行截断操作 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.truncate({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - length: 10, // 从第10个字节开始截断 - success(res) { - console.log(res) - } -}) -``` */ - truncate(option: TruncateOption): void - /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 删除文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.unlink({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - unlink(option: UnlinkOption): void - /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.unlink({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - unlinkSync( - /** 要删除的文件路径 (本地路径) */ - filePath: string - ): void - /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 解压文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.unzip({ - zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`, - targetPath: '${wx.env.USER_DATA_PATH}/example', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) -``` */ - unzip(option: UnzipOption): void - /** [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.write.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 写入文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -// 打开文件 -fs.open({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+', - success(res) { - // 写入文件 - fs.write({ - fd: res.fd, - data: 'some text', - success(res) { - console.log(res.bytesWritten) - } - }) - } -}) -``` */ - write(option: WriteOption): void - /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 写文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.writeFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - data: 'some text or arrayBuffer', - encoding: 'utf8', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.writeFileSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - 'some text or arrayBuffer', - 'utf8' - ) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - writeFile(option: WriteFileOption): void - /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.writeFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - data: 'some text or arrayBuffer', - encoding: 'utf8', - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.writeFileSync( - `${wx.env.USER_DATA_PATH}/hello.txt`, - 'some text or arrayBuffer', - 'utf8' - ) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - writeFileSync( - /** 要写入的文件路径 (本地路径) */ - filePath: string, - /** 要写入的文本或二进制数据 */ - data: string | ArrayBuffer, - /** 指定写入文件的字符编码 - * - * 参数 encoding 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1' - ): void - /** [[ReadResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/ReadResult.html) FileSystemManager.readSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 读文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const ab = new ArrayBuffer(1024) -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) -const res = fs.readSync({ - fd: fd, - arrayBuffer: ab, - length: 10 -}) -console.log(res) -``` */ - readSync(option: ReadSyncOption): ReadResult - /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) FileSystemManager.fstatSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstatSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 同步获取文件的状态信息 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) -const stats = fs.fstatSync({fd: fd}) -console.log(stats) -``` */ - fstatSync(option: FstatSyncOption): Stats - /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html) - * - * 在插件中使用:需要基础库 `2.19.2` - * - * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */ - statSync( - /** 文件/目录路径 (本地路径) */ - path: string, - /** 需要基础库: `2.3.0` - * - * 是否递归获取目录下的每个文件的 Stats 信息 */ - recursive?: boolean - ): Stats | Stats[] - /** [[WriteResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/WriteResult.html) FileSystemManager.writeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 同步写入文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) -const res = fs.writeSync({ - fd: fd, - data: 'some text' -}) -console.log(res.bytesWritten) -``` */ - writeSync(option: WriteSyncOption): WriteResult - /** [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 同步打开文件,返回文件描述符 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) -console.log(fd) -``` */ - openSync(option: OpenSyncOption): string - /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html) - * - * 在插件中使用:不支持 - * - * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */ - saveFileSync( - /** 临时存储文件路径 (本地路径) */ - tempFilePath: string, - /** 要存储的文件路径 (本地路径) */ - filePath?: string - ): string - /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html) -* -* 在插件中使用:需要基础库 `2.19.2` -* -* [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.readFile({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - encoding: 'utf8', - position: 0, - success(res) { - console.log(res.data) - }, - fail(res) { - console.error(res) - } -}) - -// 同步接口 -try { - const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) - console.log(res) -} catch(e) { - console.error(e) -} -``` */ - readFileSync( - /** 要读取的文件的路径 (本地路径) */ - filePath: string, - /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 - * - * 参数 encoding 可选值: - * - 'ascii': ; - * - 'base64': ; - * - 'binary': ; - * - 'hex': ; - * - 'ucs2': 以小端序读取; - * - 'ucs-2': 以小端序读取; - * - 'utf16le': 以小端序读取; - * - 'utf-16le': 以小端序读取; - * - 'utf-8': ; - * - 'utf8': ; - * - 'latin1': ; */ - encoding?: - | 'ascii' - | 'base64' - | 'binary' - | 'hex' - | 'ucs2' - | 'ucs-2' - | 'utf16le' - | 'utf-16le' - | 'utf-8' - | 'utf8' - | 'latin1', - /** 需要基础库: `2.10.0` - * - * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ - position?: number, - /** 需要基础库: `2.10.0` - * - * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ - length?: number - ): string | ArrayBuffer - /** [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.closeSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 同步关闭文件 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) - -// 关闭文件 -fs.closeSync({fd: fd}) -``` */ - closeSync(option: CloseSyncOption): undefined - /** [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncateSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 对文件内容进行截断操作 -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -const fd = fs.openSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - flag: 'a+' -}) -fs.ftruncateSync({ - fd: fd, - length: 10 // 从第10个字节开始截断文件 -}) -``` */ - ftruncateSync(option: FtruncateSyncOption): undefined - /** [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncateSync.html) -* -* 需要基础库: `2.16.1` -* -* 在插件中使用:需要基础库 `2.19.2` -* -* 对文件内容进行截断操作 (truncate 的同步版本) -* -* **示例代码** -* -* ```js -const fs = wx.getFileSystemManager() -fs.truncateSync({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - length: 10, // 从第10个字节开始截断 -}) -``` */ - truncateSync(option: TruncateSyncOption): undefined - } - interface FstatSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有读权限 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有读权限 | */ errCode: number - } - interface FtruncateSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 没有写权限 | - * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 没有写权限 | - * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number - } - interface InnerAudioContext { - /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html) - * - * 在插件中使用:支持 - * - * 销毁当前实例 */ - destroy(): void - /** [InnerAudioContext.offCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频进入可以播放状态的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onCanplay(listener) -InnerAudioContext.offCanplay(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCanplay( - /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCanplayCallback - ): void - /** [InnerAudioContext.offEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频自然播放至结束的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onEnded(listener) -InnerAudioContext.offEnded(listener) // 需传入与监听时同一个的函数对象 -``` */ - offEnded( - /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffEndedCallback - ): void - /** [InnerAudioContext.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频播放错误事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onError(listener) -InnerAudioContext.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: InnerAudioContextOffErrorCallback - ): void - /** [InnerAudioContext.offPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频暂停事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onPause(listener) -InnerAudioContext.offPause(listener) // 需传入与监听时同一个的函数对象 -``` */ - offPause( - /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffPauseCallback - ): void - /** [InnerAudioContext.offPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频播放事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onPlay(listener) -InnerAudioContext.offPlay(listener) // 需传入与监听时同一个的函数对象 -``` */ - offPlay( - /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffPlayCallback - ): void - /** [InnerAudioContext.offSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频完成跳转操作的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onSeeked(listener) -InnerAudioContext.offSeeked(listener) // 需传入与监听时同一个的函数对象 -``` */ - offSeeked( - /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffSeekedCallback - ): void - /** [InnerAudioContext.offSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频进行跳转操作的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onSeeking(listener) -InnerAudioContext.offSeeking(listener) // 需传入与监听时同一个的函数对象 -``` */ - offSeeking( - /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffSeekingCallback - ): void - /** [InnerAudioContext.offStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频停止事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onStop(listener) -InnerAudioContext.offStop(listener) // 需传入与监听时同一个的函数对象 -``` */ - offStop( - /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffStopCallback - ): void - /** [InnerAudioContext.offTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频播放进度更新事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onTimeUpdate(listener) -InnerAudioContext.offTimeUpdate(listener) // 需传入与监听时同一个的函数对象 -``` */ - offTimeUpdate( - /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffTimeUpdateCallback - ): void - /** [InnerAudioContext.offWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:支持 -* -* 移除音频加载中事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InnerAudioContext.onWaiting(listener) -InnerAudioContext.offWaiting(listener) // 需传入与监听时同一个的函数对象 -``` */ - offWaiting( - /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffWaitingCallback - ): void - /** [InnerAudioContext.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html) - * - * 在插件中使用:支持 - * - * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */ - onCanplay( - /** 音频进入可以播放状态的事件的监听函数 */ - listener: OnCanplayCallback - ): void - /** [InnerAudioContext.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html) - * - * 在插件中使用:支持 - * - * 监听音频自然播放至结束的事件 */ - onEnded( - /** 音频自然播放至结束的事件的监听函数 */ - listener: OnEndedCallback - ): void - /** [InnerAudioContext.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html) - * - * 在插件中使用:支持 - * - * 监听音频播放错误事件 - * - * **Tips** - * - * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length - * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */ - onError( - /** 音频播放错误事件的监听函数 */ - listener: InnerAudioContextOnErrorCallback - ): void - /** [InnerAudioContext.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html) - * - * 在插件中使用:支持 - * - * 监听音频暂停事件 */ - onPause( - /** 音频暂停事件的监听函数 */ - listener: OnPauseCallback - ): void - /** [InnerAudioContext.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html) - * - * 在插件中使用:支持 - * - * 监听音频播放事件 */ - onPlay( - /** 音频播放事件的监听函数 */ - listener: OnPlayCallback - ): void - /** [InnerAudioContext.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html) - * - * 在插件中使用:支持 - * - * 监听音频完成跳转操作的事件 */ - onSeeked( - /** 音频完成跳转操作的事件的监听函数 */ - listener: OnSeekedCallback - ): void - /** [InnerAudioContext.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html) - * - * 在插件中使用:支持 - * - * 监听音频进行跳转操作的事件 */ - onSeeking( - /** 音频进行跳转操作的事件的监听函数 */ - listener: OnSeekingCallback - ): void - /** [InnerAudioContext.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html) - * - * 在插件中使用:支持 - * - * 监听音频停止事件 */ - onStop( - /** 音频停止事件的监听函数 */ - listener: InnerAudioContextOnStopCallback - ): void - /** [InnerAudioContext.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html) - * - * 在插件中使用:支持 - * - * 监听音频播放进度更新事件 */ - onTimeUpdate( - /** 音频播放进度更新事件的监听函数 */ - listener: OnTimeUpdateCallback - ): void - /** [InnerAudioContext.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html) - * - * 在插件中使用:支持 - * - * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ - onWaiting( - /** 音频加载中事件的监听函数 */ - listener: OnWaitingCallback - ): void - /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html) - * - * 在插件中使用:支持 - * - * 暂停。暂停后的音频再播放会从暂停处开始播放 */ - pause(): void - /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html) - * - * 在插件中使用:支持 - * - * 播放 */ - play(): void - /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html) - * - * 在插件中使用:支持 - * - * 跳转到指定位置 */ - seek( - /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ - position: number - ): void - /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html) - * - * 在插件中使用:支持 - * - * 停止。停止后的音频再播放会从头开始播放。 */ - stop(): void - } - interface IntersectionObserver { - /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html) - * - * 在插件中使用:支持 - * - * 停止监听。回调函数将不再触发 */ - disconnect(): void - /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html) - * - * 在插件中使用:支持 - * - * 指定目标节点并开始监听相交状态变化情况 */ - observe( - /** 选择器 */ - targetSelector: string, - /** 监听相交状态变化的回调函数 */ - callback: IntersectionObserverObserveCallback - ): void - /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeTo(string selector, Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeTo.html) - * - * 在插件中使用:支持 - * - * 使用选择器指定一个节点,作为参照区域之一。 */ - relativeTo( - /** 选择器 */ - selector: string, - /** 用来扩展(或收缩)参照节点布局区域的边界 */ - margins?: Margins - ): IntersectionObserver - /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeToViewport(Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeToViewport.html) -* -* 在插件中使用:支持 -* -* 指定页面显示区域作为参照区域之一 -* -* **示例代码** -* -* 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。 -* ```javascript -Page({ - onLoad: function(){ - wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => { - res.intersectionRatio // 相交区域占目标节点的布局区域的比例 - res.intersectionRect // 相交区域 - res.intersectionRect.left // 相交区域的左边界坐标 - res.intersectionRect.top // 相交区域的上边界坐标 - res.intersectionRect.width // 相交区域的宽度 - res.intersectionRect.height // 相交区域的高度 - }) - } -}) -``` */ - relativeToViewport( - /** 用来扩展(或收缩)参照节点布局区域的边界 */ - margins?: Margins - ): IntersectionObserver - } - interface InterstitialAd { - /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 销毁插屏广告实例。 */ - destroy(): void - /** [InterstitialAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html) -* -* 在插件中使用:不支持 -* -* 移除插屏广告关闭事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InterstitialAd.onClose(listener) -InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对象 -``` */ - offClose( - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffCloseCallback - ): void - /** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html) -* -* 在插件中使用:不支持 -* -* 移除插屏错误事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InterstitialAd.onError(listener) -InterstitialAd.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: InterstitialAdOffErrorCallback - ): void - /** [InterstitialAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html) -* -* 在插件中使用:不支持 -* -* 移除插屏广告加载事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -InterstitialAd.onLoad(listener) -InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLoad( - /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLoadCallback - ): void - /** [InterstitialAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html) - * - * 在插件中使用:不支持 - * - * 监听插屏广告关闭事件。 */ - onClose( - /** 插屏广告关闭事件的监听函数 */ - listener: UDPSocketOnCloseCallback - ): void - /** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html) - * - * 在插件中使用:不支持 - * - * 监听插屏错误事件。 - * - * **错误码信息与解决方案表** - * - * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 - * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 - * - * | 代码 | 异常情况 | 理由 | 解决方案 | - * | ------ | -------------- | --------------- | -------------------------- | - * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | - * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| - * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | - * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| - * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | - * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| - * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| - * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | - * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ - onError( - /** 插屏错误事件的监听函数 */ - listener: InterstitialAdOnErrorCallback - ): void - /** [InterstitialAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html) - * - * 在插件中使用:不支持 - * - * 监听插屏广告加载事件。 */ - onLoad( - /** 插屏广告加载事件的监听函数 */ - listener: OnLoadCallback - ): void - /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 加载插屏广告。 */ - load(): Promise<any> - /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html) - * - * 在插件中使用:不支持 - * - * 显示插屏广告。 - * - * **错误码信息表** - * - * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。 - * - * | 代码 | 异常情况 | 理由 | - * | ------ | -------------- | -------------------------- | - * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 | - * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 | - * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 | - * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 | - * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */ - show(): Promise<any> - } - interface IsoDep { - /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取复位信息 */ - getHistoricalBytes(option?: GetHistoricalBytesOption): void - /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface Join1v1ChatError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | -20000 | not open 1v1 Chat | 未开通双人通话 | - * | -20001 | device not support | 当前设备不支持 | - * | -20002 | on call | 正在通话中 | - * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | - * | -30000 | system error | 内部系统错误 | - * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | - * | -30002 | wechat has no record authorization | 微信缺失录音权限 | - * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | - * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | - * | -1 | | 当前已在房间内 | - * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | - * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | - * | -1000 | | 系统错误 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | -20000 | not open 1v1 Chat | 未开通双人通话 | - * | -20001 | device not support | 当前设备不支持 | - * | -20002 | on call | 正在通话中 | - * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | - * | -30000 | system error | 内部系统错误 | - * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | - * | -30002 | wechat has no record authorization | 微信缺失录音权限 | - * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | - * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | - * | -1 | | 当前已在房间内 | - * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | - * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | - * | -1000 | | 系统错误 | */ errCode: number - } - interface JoinVoIPChatError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | -1 | 当前已在房间内 | | - * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | - * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | - * | -1000 | 系统错误 | | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | -1 | 当前已在房间内 | | - * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | - * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | - * | -1000 | 系统错误 | | */ errCode: number - } - interface LivePlayerContext { - /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html) - * - * 在插件中使用:支持 - * - * 退出全屏 */ - exitFullScreen(option?: ExitFullScreenOption): void - /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html) - * - * 在插件中使用:支持 - * - * 退出小窗,该方法可在任意页面调用 */ - exitPictureInPicture(option?: ExitPictureInPictureOption): void - /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html) - * - * 在插件中使用:支持 - * - * 静音 */ - mute(option?: MuteOption): void - /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * - * 暂停 */ - pause(option?: PauseOption): void - /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html) - * - * 在插件中使用:支持 - * - * 播放 */ - play(option?: PlayOption): void - /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html) - * - * 在插件中使用:支持 - * - * 进入全屏 */ - requestFullScreen( - option: LivePlayerContextRequestFullScreenOption - ): void - /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:支持 - * - * 进入小窗 */ - requestPictureInPicture(option?: RequestPictureInPictureOption): void - /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * - * 恢复 */ - resume(option?: ResumeOption): void - /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html) - * - * 需要基础库: `2.7.1` - * - * 在插件中使用:支持 - * - * 截图 */ - snapshot(option: LivePlayerContextSnapshotOption): void - /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html) - * - * 在插件中使用:支持 - * - * 停止 */ - stop(option?: StopOption): void - } - interface LivePusherContext { - /** [LivePusherContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.exitPictureInPicture.html) - * - * 需要基础库: `2.25.0` - * - * 在插件中使用:支持 - * - * 退出小窗,该方法可在任意页面调用 */ - exitPictureInPicture(option?: ExitPictureInPictureOption): void - /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html) - * - * 在插件中使用:支持 - * - * 暂停推流 */ - pause(option?: PauseOption): void - /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:支持 - * - * 暂停背景音 */ - pauseBGM(option?: PauseBGMOption): void - /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:支持 - * - * 播放背景音 */ - playBGM(option: PlayBGMOption): void - /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html) - * - * 在插件中使用:支持 - * - * 恢复推流 */ - resume(option?: ResumeOption): void - /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:支持 - * - * 恢复背景音 */ - resumeBGM(option?: ResumeBGMOption): void - /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:支持 - * - * 发送SEI消息 */ - sendMessage(option: SendMessageOption): void - /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:支持 - * - * 设置背景音音量 */ - setBGMVolume(option: SetBGMVolumeOption): void - /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:支持 - * - * 设置麦克风音量 */ - setMICVolume(option: SetMICVolumeOption): void - /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:支持 - * - * 快照 */ - snapshot(option: LivePusherContextSnapshotOption): void - /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html) - * - * 在插件中使用:支持 - * - * 开始推流,同时开启摄像头预览 */ - start(option?: LivePusherContextStartOption): void - /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 开启摄像头预览 */ - startPreview(option?: StartPreviewOption): void - /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html) - * - * 在插件中使用:支持 - * - * 停止推流,同时停止摄像头预览 */ - stop(option?: StopOption): void - /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:支持 - * - * 停止背景音 */ - stopBGM(option?: StopBGMOption): void - /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:支持 - * - * 关闭摄像头预览 */ - stopPreview(option?: StopPreviewOption): void - /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html) - * - * 在插件中使用:支持 - * - * 切换前后摄像头 */ - switchCamera(option?: SwitchCameraOption): void - /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 切换手电筒 */ - toggleTorch(option?: ToggleTorchOption): void - } - interface LogManager { - /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html) - * - * 在插件中使用:不支持 - * - * 写 debug 日志 */ - debug( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ - ...args: any[] - ): void - /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html) - * - * 在插件中使用:不支持 - * - * 写 info 日志 */ - info( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ - ...args: any[] - ): void - /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html) - * - * 在插件中使用:不支持 - * - * 写 log 日志 */ - log( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ - ...args: any[] - ): void - /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html) - * - * 在插件中使用:不支持 - * - * 写 warn 日志 */ - warn( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ - ...args: any[] - ): void - } - interface MapContext { - /** [MapContext.addArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addArc.html) - * - * 需要基础库: `2.22.0` - * - * 在插件中使用:支持 - * - * 添加弧线,途经点与夹角必须设置一个。途经点必须在起终点有效坐标范围内,否则不能生成正确的弧线,同时设置夹角角度时,以夹角角度为准。夹角定义为起点到终点,与起点外切线逆时针旋转的角度。工具侧暂未支持。 */ - addArc(option: AddArcOption): void - /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:支持 - * - * 添加个性化图层。图层创建[参考文档](https://lbs.qq.com/dev/console/customLayer/create) */ - addCustomLayer(option: AddCustomLayerOption): void - /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 创建自定义图片图层,图片会随着地图缩放而缩放。 */ - addGroundOverlay(option: AddGroundOverlayOption): void - /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:支持 - * - * 添加 marker。 */ - addMarkers(option: AddMarkersOption): void - /** [MapContext.addVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addVisualLayer.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:支持 - * - * 添加可视化图层。需要刷新时,interval 可设置的最小值为 15 s。 */ - addVisualLayer(option: AddVisualLayerOption): void - /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。 */ - fromScreenLocation(option: FromScreenLocationOption): void - /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html) - * - * 在插件中使用:支持 - * - * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */ - getCenterLocation(option: GetCenterLocationOption): void - /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 获取当前地图的视野范围 */ - getRegion(option?: GetRegionOption): void - /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:支持 - * - * 获取当前地图的旋转角 */ - getRotate(option?: GetRotateOption): void - /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 获取当前地图的缩放级别 */ - getScale(option?: GetScaleOption): void - /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:支持 - * - * 获取当前地图的倾斜角 */ - getSkew(option?: GetSkewOption): void - /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:支持 - * - * 缩放视野展示所有经纬度 */ - includePoints(option: IncludePointsOption): void - /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:支持 - * - * 初始化点聚合的配置,未调用时采用默认配置。 */ - initMarkerCluster(option: InitMarkerClusterOption): void - /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:支持 - * - * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。 */ - moveAlong(option: MoveAlongOption): void - /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:支持 - * - * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。 */ - moveToLocation(option?: MoveToLocationOption): void - /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html) -* -* 需要基础库: `2.13.0` -* -* 在插件中使用:支持 -* -* 监听地图事件。 -* -* ### markerClusterCreate -* -* 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。 -* -* #### 返回参数 -* -* | 参数 | 类型 | 说明 | -* | --------- | ------ | --------- | -* | clusters | `Array<ClusterInfo>` | 聚合簇数据 | -* -* ### markerClusterClick -* -* 聚合簇的点击事件。 -* -* #### 返回参数 -* -* | 参数 | 类型 | 说明 | -* | --------- | ------------- | --------- | -* | cluster | ClusterInfo | 聚合簇 | -* -* #### ClusterInfo 结构 -* -* | 参数 | 类型 | 说明 | -* | ---------- | -------------------- | -------------------------- | -* | clusterId | Number | 聚合簇的 id | -* | center | LatLng | 聚合簇的坐标 | -* | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 | -* -* **示例代码** -* -* ```js - MapContext.on('markerClusterCreate', (res) => {}) - MapContext.on('markerClusterClick', (res) => {}) -``` */ - on( - /** 事件名 - * - * 参数 event 可选值: - * - 'markerClusterCreate': ; - * - 'markerClusterClick': ; */ - event: 'markerClusterCreate' | 'markerClusterClick', - /** 事件的回调函数 */ - callback: (...args: any[]) => any - ): void - /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 拉起地图APP选择导航。 */ - openMapApp(option: OpenMapAppOption): void - /** [MapContext.removeArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeArc.html) - * - * 需要基础库: `2.22.0` - * - * 在插件中使用:支持 - * - * 删除弧线。工具侧暂未支持。 */ - removeArc(option: RemoveArcOption): void - /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:支持 - * - * 移除个性化图层。 */ - removeCustomLayer(option: RemoveCustomLayerOption): void - /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 移除自定义图片图层。 */ - removeGroundOverlay(option: RemoveGroundOverlayOption): void - /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:支持 - * - * 移除 marker。 */ - removeMarkers(option: RemoveMarkersOption): void - /** [MapContext.removeVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeVisualLayer.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:支持 - * - * 移除可视化图层。 */ - removeVisualLayer(option: RemoveVisualLayerOption): void - /** [MapContext.setBoundary(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setBoundary.html) - * - * 需要基础库: `2.22.0` - * - * 在插件中使用:支持 - * - * 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */ - setBoundary(option: SetBoundaryOption): void - /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:支持 - * - * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5] */ - setCenterOffset(option: SetCenterOffsetOption): void - /** [MapContext.setLocMarkerIcon(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setLocMarkerIcon.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:支持 - * - * 设置定位点图标,支持网络路径、本地路径、代码包路径 */ - setLocMarkerIcon(option: SetLocMarkerIconOption): void - /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。 */ - toScreenLocation(option: ToScreenLocationOption): void - /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:支持 - * - * 平移marker,带动画。 */ - translateMarker(option: TranslateMarkerOption): void - /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:支持 - * - * 更新自定义图片图层。 */ - updateGroundOverlay(option: UpdateGroundOverlayOption): void - } - interface MediaAudioPlayer { - /** [Promise MediaAudioPlayer.addAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.addAudioSource.html) - * - * 在插件中使用:支持 - * - * 添加音频源 */ - addAudioSource( - /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) - * - * 视频解码器实例。作为音频源添加到音频播放器中 */ - source: VideoDecoder - ): Promise<any> - /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html) - * - * 在插件中使用:支持 - * - * 销毁播放器 */ - destroy(): Promise<any> - /** [Promise MediaAudioPlayer.removeAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.removeAudioSource.html) - * - * 在插件中使用:支持 - * - * 移除音频源 */ - removeAudioSource( - /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) - * - * 视频解码器实例 */ - source: VideoDecoder - ): Promise<any> - /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html) - * - * 在插件中使用:支持 - * - * 启动播放器 */ - start(): Promise<any> - /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html) - * - * 在插件中使用:支持 - * - * 停止播放器 */ - stop(): Promise<any> - } - interface MediaContainer { - /** [MediaContainer.addTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.addTrack.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 将音频或视频轨道添加到容器 */ - addTrack( - /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) - * - * 要添加的音频或视频轨道 */ - track: MediaTrack - ): void - /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 将容器销毁,释放资源 */ - destroy(): void - /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 将容器内的轨道合并并导出视频文件 */ - export(): void - /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。 */ - extractDataSource(option: ExtractDataSourceOption): void - /** [MediaContainer.removeTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.removeTrack.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:支持 - * - * 将音频或视频轨道从容器中移除 */ - removeTrack( - /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) - * - * 要移除的音频或视频轨道 */ - track: MediaTrack - ): void - } - interface MediaQueryObserver { - /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html) - * - * 在插件中使用:支持 - * - * 停止监听。回调函数将不再触发 */ - disconnect(): void - /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html) - * - * 在插件中使用:支持 - * - * 开始监听页面 media query 变化情况 */ - observe( - /** media query 描述符 */ - descriptor: ObserveDescriptor, - /** 监听 media query 状态变化的回调函数 */ - callback: MediaQueryObserverObserveCallback - ): void - } - interface MediaRecorder { - /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。 */ - off( - /** 事件名 */ - eventName: string, - /** 事件触发时执行的回调函数 */ - callback: (...args: any[]) => any - ): void - /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。 */ - on( - /** 事件名 - * - * 参数 eventName 可选值: - * - 'start': 录制开始事件。; - * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize}; - * - 'pause': 录制暂停事件。; - * - 'resume': 录制继续事件。; - * - 'timeupdate': 录制时间更新事件。; */ - eventName: 'start' | 'stop' | 'pause' | 'resume' | 'timeupdate', - /** 事件触发时执行的回调函数 */ - callback: (...args: any[]) => any - ): void - /** [Promise MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 销毁录制器 */ - destroy(): Promise<any> - /** [Promise MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 暂停录制 */ - pause(): Promise<any> - /** [Promise MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧 */ - requestFrame(callback: (...args: any[]) => any): Promise<any> - /** [Promise MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 恢复录制 */ - resume(): Promise<any> - /** [Promise MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 开始录制 */ - start(): Promise<any> - /** [Promise MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 结束录制 */ - stop(): Promise<any> - } - interface MifareClassic { - /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface MifareUltralight { - /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface NFCAdapter { - /** [NFCAdapter.offDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html) -* -* 需要基础库: `2.11.2` -* -* 在插件中使用:支持 -* -* 移除 NFC Tag的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -NFCAdapter.onDiscovered(listener) -NFCAdapter.offDiscovered(listener) // 需传入与监听时同一个的函数对象 -``` */ - offDiscovered( - /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffDiscoveredCallback - ): void - /** [NFCAdapter.onDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 监听 NFC Tag */ - onDiscovered( - /** 的监听函数 */ - listener: OnDiscoveredCallback - ): void - /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 */ - startDiscovery(option?: StartDiscoveryOption): void - /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 */ - stopDiscovery(option?: StopDiscoveryOption): void - /** [[IsoDep](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.html) NFCAdapter.getIsoDep()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getIsoDep.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ - getIsoDep(): IsoDep - /** [[MifareClassic](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html) NFCAdapter.getMifareClassic()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareClassic.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */ - getMifareClassic(): MifareClassic - /** [[MifareUltralight](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.html) NFCAdapter.getMifareUltralight()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareUltralight.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ - getMifareUltralight(): MifareUltralight - /** [[Ndef](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.html) NFCAdapter.getNdef()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNdef.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ - getNdef(): Ndef - /** [[NfcA](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.html) NFCAdapter.getNfcA()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcA.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ - getNfcA(): NfcA - /** [[NfcB](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.html) NFCAdapter.getNfcB()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcB.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ - getNfcB(): NfcB - /** [[NfcF](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.html) NFCAdapter.getNfcF()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcF.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ - getNfcF(): NfcF - /** [[NfcV](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.html) NFCAdapter.getNfcV()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcV.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ - getNfcV(): NfcV - } - interface NFCError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 13000 | | 当前设备不支持NFC | - * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | - * | 13002 | | 当前设备支持NFC,但不支持HCE | - * | 13003 | | AID列表参数格式错误 | - * | 13004 | | 未设置微信为默认NFC支付应用 | - * | 13005 | | 返回的指令不合法 | - * | 13006 | | 注册AID失败 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 13000 | | 当前设备不支持NFC | - * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | - * | 13002 | | 当前设备支持NFC,但不支持HCE | - * | 13003 | | AID列表参数格式错误 | - * | 13004 | | 未设置微信为默认NFC支付应用 | - * | 13005 | | 返回的指令不合法 | - * | 13006 | | 注册AID失败 | */ errCode: number - } - interface Ndef { - /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 取消监听 Ndef 消息 */ - offNdefMessage(callback: (...args: any[]) => any): void - /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 监听 Ndef 消息 */ - onNdefMessage(callback: (...args: any[]) => any): void - /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 重写 Ndef 标签内容 */ - writeNdefMessage(option: WriteNdefMessageOption): void - } - interface NfcA { - /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取ATQA信息 */ - getAtqa(option?: GetAtqaOption): void - /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取SAK信息 */ - getSak(option?: GetSakOption): void - /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface NfcB { - /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface NfcF { - /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface NfcV { - /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 断开连接 */ - close(option?: NdefCloseOption): void - /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 连接 NFC 标签 */ - connect(option?: NdefConnectOption): void - /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 获取最大传输长度 */ - getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void - /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 检查是否已连接 */ - isConnected(option?: IsConnectedOption): void - /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 设置超时时间 */ - setTimeout(option: SetTimeoutOption): void - /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:支持 - * - * 发送数据 */ - transceive(option: TransceiveOption): void - } - interface Nfcrwerror { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 13000 | 设备不支持NFC | | - * | 13001 | 系统NFC开关未打开 | | - * | 13010 | 未知错误 | | - * | 13019 | user is not authorized | 用户未授权 | - * | 13011 | invalid parameter | 参数无效 | - * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | - * | 13021 | NFC discovery already started | 已经开始NFC扫描 | - * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | - * | 13022 | Tech already connected | 标签已经连接 | - * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | - * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | - * | 13014 | invalid tech | 无效的标签技术 | - * | 13015 | unavailable tech | 从标签上获取对应技术失败 | - * | 13024 | function not support | 当前标签技术不支持该功能 | - * | 13017 | system internal error | 相关读写操作失败 | - * | 13016 | connect fail | 连接失败 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 13000 | 设备不支持NFC | | - * | 13001 | 系统NFC开关未打开 | | - * | 13010 | 未知错误 | | - * | 13019 | user is not authorized | 用户未授权 | - * | 13011 | invalid parameter | 参数无效 | - * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | - * | 13021 | NFC discovery already started | 已经开始NFC扫描 | - * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | - * | 13022 | Tech already connected | 标签已经连接 | - * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | - * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | - * | 13014 | invalid tech | 无效的标签技术 | - * | 13015 | unavailable tech | 从标签上获取对应技术失败 | - * | 13024 | function not support | 当前标签技术不支持该功能 | - * | 13017 | system internal error | 相关读写操作失败 | - * | 13016 | connect fail | 连接失败 | */ errCode: number - } - interface NodesRef { - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.boundingClientRect(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.boundingClientRect.html) -* -* 在插件中使用:支持 -* -* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。 -* -* **示例代码** -* -* ```js -Page({ - getRect () { - wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ - rect.id // 节点的ID - rect.dataset // 节点的dataset - rect.left // 节点的左边界坐标 - rect.right // 节点的右边界坐标 - rect.top // 节点的上边界坐标 - rect.bottom // 节点的下边界坐标 - rect.width // 节点的宽度 - rect.height // 节点的高度 - }).exec() - }, - getAllRects () { - wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){ - rects.forEach(function(rect){ - rect.id // 节点的ID - rect.dataset // 节点的dataset - rect.left // 节点的左边界坐标 - rect.right // 节点的右边界坐标 - rect.top // 节点的上边界坐标 - rect.bottom // 节点的下边界坐标 - rect.width // 节点的宽度 - rect.height // 节点的高度 - }) - }).exec() - } -}) -``` */ - boundingClientRect( - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ - callback?: BoundingClientRectCallback - ): SelectorQuery - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.context(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.context.html) -* -* 需要基础库: `2.4.2` -* -* 在插件中使用:支持 -* -* 添加节点的 Context 对象查询请求。目前支持 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html)、[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html)、[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html)、[EditorContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html)和 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 的获取。 -* -* **示例代码** -* -* ```js -Page({ - getContext () { - wx.createSelectorQuery().select('.the-video-class').context(function(res){ - console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象 - }).exec() - } -}) -``` */ - context( - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ - callback?: ContextCallback - ): SelectorQuery - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.fields(Object fields, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.fields.html) -* -* 在插件中使用:支持 -* -* 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 `nodesRef` 对应的 `selectorQuery` -* -* **注意** -* -* computedStyle 的优先级高于 size,当同时在 computedStyle 里指定了 width/height 和传入了 size: true,则优先返回 computedStyle 获取到的 width/height。 -* -* **示例代码** -* -* ```js -Page({ - getFields () { - wx.createSelectorQuery().select('#the-id').fields({ - dataset: true, - size: true, - scrollOffset: true, - properties: ['scrollX', 'scrollY'], - computedStyle: ['margin', 'backgroundColor'], - context: true, - }, function (res) { - res.dataset // 节点的dataset - res.width // 节点的宽度 - res.height // 节点的高度 - res.scrollLeft // 节点的水平滚动位置 - res.scrollTop // 节点的竖直滚动位置 - res.scrollX // 节点 scroll-x 属性的当前值 - res.scrollY // 节点 scroll-y 属性的当前值 - // 此处返回指定要返回的样式名 - res.margin - res.backgroundColor - res.context // 节点对应的 Context 对象 - }).exec() - } -}) -``` */ - fields( - fields: Fields, - /** 回调函数 */ - callback?: FieldsCallback - ): SelectorQuery - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.node(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) -* -* 需要基础库: `2.7.0` -* -* 在插件中使用:支持 -* -* 获取 Node 节点实例。目前支持 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 和 [ScrollViewContext](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html) 的获取。 -* -* **示例代码** -* -* ```js -Page({ - getNode() { - wx.createSelectorQuery().select('.canvas').node(function(res){ - console.log(res.node) // 节点对应的 Canvas 实例。 - }).exec() - } -}) -``` */ - node( - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ - callback?: NodeCallback - ): SelectorQuery - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.scrollOffset(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.scrollOffset.html) -* -* 在插件中使用:支持 -* -* 添加节点的滚动位置查询请求。以像素为单位。节点必须是 `scroll-view` 或者 `viewport`,返回 `NodesRef` 对应的 `SelectorQuery`。 -* -* **示例代码** -* -* ```js -Page({ - getScrollOffset () { - wx.createSelectorQuery().selectViewport().scrollOffset(function(res){ - res.id // 节点的ID - res.dataset // 节点的dataset - res.scrollLeft // 节点的水平滚动位置 - res.scrollTop // 节点的竖直滚动位置 - }).exec() - } -}) -``` */ - scrollOffset( - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ - callback?: ScrollOffsetCallback - ): SelectorQuery - } - interface OffscreenCanvas { - /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) OffscreenCanvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.createImage.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:需要基础库 `2.16.1` - * - * 创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 - * - * **** - * - * 注意不允许混用 webgl 和 2d 画布创建的图片对象,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 */ - createImage(): Image - /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) OffscreenCanvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.16.1` - * - * 该方法返回 OffscreenCanvas 的绘图上下文 - * - * **** - * - * 注意不允许混用 webgl 和 2d 绘图上下文,传入的 contextType 必须要与 `wx.createOffscreenCanvas` 传入的 type 类型一致。 */ - getContext( - /** 绘图上下文类型,需要与 createOffscreenCanvas 时传入的 type 一致 - * - * 参数 contextType 可选值: - * - 'webgl': webgl类型上下文; - * - '2d': 2d类型上下文; */ - contextType: 'webgl' | '2d' - ): any - } - interface OpenSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errCode: number - } - interface Performance { - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntries.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 该方法返回当前缓冲区中的所有性能数据 */ - getEntries(): PerformanceEntry[] - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByName.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ - getEntriesByName( - /** 名称 */ - name: string, - /** 类型 */ - entryType?: string - ): PerformanceEntry[] - /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByType.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 获取当前缓冲区中所有类型为 [entryType] 的性能数据 */ - getEntriesByType( - /** 类型 */ - entryType: string - ): PerformanceEntry[] - /** [Performance.setBufferSize(number size)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.setBufferSize.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 设置缓冲区大小,默认缓冲 30 条性能数据 */ - setBufferSize(size: number): void - /** [[PerformanceObserver](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.html) Performance.createObserver(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.createObserver.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 创建全局性能事件监听器 */ - createObserver( - /** 回调函数 */ - callback: (...args: any[]) => any - ): PerformanceObserver - } - interface PerformanceObserver { - /** [PerformanceObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.disconnect.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 停止监听 */ - disconnect(): void - /** [PerformanceObserver.observe(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.observe.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 开始监听 */ - observe( - /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ - options: ObserveOption - ): void - } - interface ReadCompressedFileSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | - * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | - * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | - * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | - * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errCode: number - } - interface ReadSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有读权限 | - * | fail the value of "offset" is out of range | 传入的 offset 不合法 | - * | fail the value of "length" is out of range | 传入的 length 不合法 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有读权限 | - * | fail the value of "offset" is out of range | 传入的 offset 不合法 | - * | fail the value of "length" is out of range | 传入的 length 不合法 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number - } - interface RealtimeLogManager { - /** [Object RealtimeLogManager.getCurrentState()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.getCurrentState.html) - * - * 需要基础库: `2.19.4` - * - * 在插件中使用:不支持 - * - * 实时日志会将一定时间间隔内缓存的日志聚合上报,如果该时间内缓存的内容超出限制,则会被丢弃。此方法可以获取当前缓存剩余空间。 - * - * > 注意:基础库内部在对日志进行上报时会补充一些结构化数据,如果遇到上报溢出的情况也会补充警告日志,所以此方法获取到的当前占用信息会比预期的大一些。 */ - getCurrentState(): CurrentState - /** [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html) - * - * 需要基础库: `2.8.1` - * - * 在插件中使用:不支持 - * - * 添加过滤关键字,暂不支持在插件使用 */ - addFilterMsg( - /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ - msg: string - ): void - /** [RealtimeLogManager.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.error.html) - * - * 需要基础库: `2.7.1` - * - * 在插件中使用:不支持 - * - * 写 error 日志,暂不支持在插件使用 */ - error( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ - ...args: any[] - ): void - /** [RealtimeLogManager.in(Page pageInstance)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.in.html) - * - * 需要基础库: `2.9.1` - * - * 在插件中使用:不支持 - * - * 设置实时日志page参数所在的页面,暂不支持在插件使用 */ - in( - /** page实例 */ - pageInstance: Page.TrivialInstance - ): void - /** [RealtimeLogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.info.html) - * - * 需要基础库: `2.7.1` - * - * 在插件中使用:不支持 - * - * 写 info 日志,暂不支持在插件使用 */ - info( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ - ...args: any[] - ): void - /** [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html) - * - * 需要基础库: `2.7.3` - * - * 在插件中使用:不支持 - * - * 设置过滤关键字,暂不支持在插件使用 */ - setFilterMsg( - /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ - msg: string - ): void - /** [RealtimeLogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.warn.html) - * - * 需要基础库: `2.7.1` - * - * 在插件中使用:不支持 - * - * 写 warn 日志,暂不支持在插件使用 */ - warn( - /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ - ...args: any[] - ): void - /** [[RealtimeTagLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.html) RealtimeLogManager.tag(string tagName)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.tag.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 获取给定标签的日志管理器实例,目前只支持在插件使用 */ - tag( - /** 标签名 */ - tagName: string - ): RealtimeTagLogManager - } - interface RealtimeTagLogManager { - /** [RealtimeTagLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.addFilterMsg.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 添加过滤关键字 */ - addFilterMsg( - /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ - msg: string - ): void - /** [RealtimeTagLogManager.error(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.error.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 写 error 日志 */ - error( - /** 日志的 key */ - key: string, - /** 日志的值,每次调用的参数的总大小不超过5Kb */ - value: IAnyObject | any[] | number | string - ): void - /** [RealtimeTagLogManager.info(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.info.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 写 info 日志 */ - info( - /** 日志的 key */ - key: string, - /** 日志的值,每次调用的参数的总大小不超过5Kb */ - value: IAnyObject | any[] | number | string - ): void - /** [RealtimeTagLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.setFilterMsg.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 设置过滤关键字 */ - setFilterMsg( - /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ - msg: string - ): void - /** [RealtimeTagLogManager.warn(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.warn.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 写 warn 日志 */ - warn( - /** 日志的 key */ - key: string, - /** 日志的值,每次调用的参数的总大小不超过5Kb */ - value: IAnyObject | any[] | number | string - ): void - } - interface RecorderManager { - /** [RecorderManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onError.html) - * - * 在插件中使用:支持 - * - * 监听录音错误事件 */ - onError( - /** 录音错误事件的监听函数 */ - listener: UDPSocketOnErrorCallback - ): void - /** [RecorderManager.onFrameRecorded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onFrameRecorded.html) - * - * 在插件中使用:支持 - * - * 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。 */ - onFrameRecorded( - /** 已录制完指定帧大小的文件事件的监听函数 */ - listener: OnFrameRecordedCallback - ): void - /** [RecorderManager.onInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionBegin.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:支持 - * - * 监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发 */ - onInterruptionBegin( - /** 录音因为受到系统占用而被中断开始事件的监听函数 */ - listener: OnInterruptionBeginCallback - ): void - /** [RecorderManager.onInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionEnd.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:支持 - * - * 监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。 */ - onInterruptionEnd( - /** 录音中断结束事件的监听函数 */ - listener: OnInterruptionEndCallback - ): void - /** [RecorderManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onPause.html) - * - * 在插件中使用:支持 - * - * 监听录音暂停事件 */ - onPause( - /** 录音暂停事件的监听函数 */ - listener: OnPauseCallback - ): void - /** [RecorderManager.onResume(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onResume.html) - * - * 在插件中使用:支持 - * - * 监听录音继续事件 */ - onResume( - /** 录音继续事件的监听函数 */ - listener: OnResumeCallback - ): void - /** [RecorderManager.onStart(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStart.html) - * - * 在插件中使用:支持 - * - * 监听录音开始事件 */ - onStart( - /** 录音开始事件的监听函数 */ - listener: OnStartCallback - ): void - /** [RecorderManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStop.html) - * - * 在插件中使用:支持 - * - * 监听录音结束事件 */ - onStop( - /** 录音结束事件的监听函数 */ - listener: RecorderManagerOnStopCallback - ): void - /** [RecorderManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.pause.html) - * - * 在插件中使用:支持 - * - * 暂停录音 */ - pause(): void - /** [RecorderManager.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.resume.html) - * - * 在插件中使用:支持 - * - * 继续录音 */ - resume(): void - /** [RecorderManager.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) - * - * 在插件中使用:支持 - * - * 开始录音 - * - * **采样率与编码码率限制** - * - * 每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。 - * - * | 采样率 | 编码码率 | - * | ------ | -------------- | - * | 8000 | 16000 ~ 48000 | - * | 11025 | 16000 ~ 48000 | - * | 12000 | 24000 ~ 64000 | - * | 16000 | 24000 ~ 96000 | - * | 22050 | 32000 ~ 128000 | - * | 24000 | 32000 ~ 128000 | - * | 32000 | 48000 ~ 192000 | - * | 44100 | 64000 ~ 320000 | - * | 48000 | 64000 ~ 320000 | */ - start(option: RecorderManagerStartOption): void - /** [RecorderManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.stop.html) - * - * 在插件中使用:支持 - * - * 停止录音 */ - stop(): void - } - interface RequestTask { - /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 中断请求任务 */ - abort(): void - /** [RequestTask.offChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offChunkReceived.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:支持 -* -* 移除 Transfer-Encoding Chunk Received 事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -RequestTask.onChunkReceived(listener) -RequestTask.offChunkReceived(listener) // 需传入与监听时同一个的函数对象 -``` */ - offChunkReceived( - /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffChunkReceivedCallback - ): void - /** [RequestTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:支持 -* -* 移除 HTTP Response Header 事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -RequestTask.onHeadersReceived(listener) -RequestTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 -``` */ - offHeadersReceived( - /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffHeadersReceivedCallback - ): void - /** [RequestTask.onChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:支持 - * - * 监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。 */ - onChunkReceived( - /** Transfer-Encoding Chunk Received 事件的监听函数 */ - listener: OnChunkReceivedCallback - ): void - /** [RequestTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ - onHeadersReceived( - /** HTTP Response Header 事件的监听函数 */ - listener: OnHeadersReceivedCallback - ): void - } - interface RewardedVideoAd { - /** [Promise RewardedVideoAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html) - * - * 在插件中使用:不支持 - * - * 加载激励视频广告。 */ - load(): Promise<any> - /** [Promise RewardedVideoAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html) - * - * 在插件中使用:不支持 - * - * 显示激励视频广告。激励视频广告将从屏幕下方推入。 */ - show(): Promise<any> - /** [RewardedVideoAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 销毁激励视频广告实例。 */ - destroy(): void - /** [RewardedVideoAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html) -* -* 在插件中使用:不支持 -* -* 移除用户点击 `关闭广告` 按钮的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -RewardedVideoAd.onClose(listener) -RewardedVideoAd.offClose(listener) // 需传入与监听时同一个的函数对象 -``` */ - offClose( - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: RewardedVideoAdOffCloseCallback - ): void - /** [RewardedVideoAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html) -* -* 在插件中使用:不支持 -* -* 移除激励视频错误事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -RewardedVideoAd.onError(listener) -RewardedVideoAd.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: RewardedVideoAdOffErrorCallback - ): void - /** [RewardedVideoAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html) -* -* 在插件中使用:不支持 -* -* 移除激励视频广告加载事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -RewardedVideoAd.onLoad(listener) -RewardedVideoAd.offLoad(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLoad( - /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLoadCallback - ): void - /** [RewardedVideoAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html) - * - * 在插件中使用:不支持 - * - * 监听用户点击 `关闭广告` 按钮的事件。 */ - onClose( - /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ - listener: RewardedVideoAdOnCloseCallback - ): void - /** [RewardedVideoAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html) - * - * 在插件中使用:不支持 - * - * 监听激励视频错误事件。 - * - * **错误码信息与解决方案表** - * - * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 - * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 - * - * | 代码 | 异常情况 | 理由 | 解决方案 | - * | ------ | -------------- | --------------- | -------------------------- | - * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | - * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| - * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | - * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| - * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | - * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| - * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| - * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | - * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ - onError( - /** 激励视频错误事件的监听函数 */ - listener: RewardedVideoAdOnErrorCallback - ): void - /** [RewardedVideoAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html) - * - * 在插件中使用:不支持 - * - * 监听激励视频广告加载事件。 */ - onLoad( - /** 激励视频广告加载事件的监听函数 */ - listener: OnLoadCallback - ): void - } - interface ScrollViewContext { - /** [ScrollViewContext.scrollIntoView(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html) - * - * 需要基础库: `2.14.4` - * - * 在插件中使用:支持 - * - * 滚动至指定位置 */ - scrollIntoView( - /** 元素选择器 */ - selector: string - ): void - /** [ScrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollTo.html) - * - * 需要基础库: `2.14.4` - * - * 在插件中使用:支持 - * - * 滚动至指定位置 */ - scrollTo(option: ScrollToOption): void - } - interface SelectorQuery { - /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.exec(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.exec.html) - * - * 在插件中使用:支持 - * - * 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 */ - exec( - /** 回调函数 */ - callback?: (...args: any[]) => any - ): NodesRef - /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.select(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.select.html) - * - * 在插件中使用:支持 - * - * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。 - * - * **selector 语法** - * - * selector类似于 CSS 的选择器,但仅支持下列语法。 - * - * - ID选择器:#the-id - * - class选择器(可以连续指定多个):.a-class.another-class - * - 子元素选择器:.the-parent > .the-child - * - 后代选择器:.the-ancestor .the-descendant - * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant - * - 多选择器的并集:#a-node, .some-other-nodes */ - select( - /** 选择器 */ - selector: string - ): NodesRef - /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectAll(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectAll.html) - * - * 在插件中使用:支持 - * - * 在当前页面下选择匹配选择器 selector 的所有节点。 - * - * **selector 语法** - * - * selector类似于 CSS 的选择器,但仅支持下列语法。 - * - * - ID选择器:#the-id - * - class选择器(可以连续指定多个):.a-class.another-class - * - 子元素选择器:.the-parent > .the-child - * - 后代选择器:.the-ancestor .the-descendant - * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant - * - 多选择器的并集:#a-node, .some-other-nodes */ - selectAll( - /** 选择器 */ - selector: string - ): NodesRef - /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectViewport()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html) - * - * 在插件中使用:支持 - * - * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 */ - selectViewport(): NodesRef - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) SelectorQuery.in(Component component)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.in.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:支持 -* -* 将选择器的选取范围更改为自定义组件 `component` 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 -* -* **示例代码** -* -* ```js -Component({ - queryMultipleNodes (){ - const query = wx.createSelectorQuery().in(this) - query.select('#the-id').boundingClientRect(function(res){ - res.top // 这个组件内 #the-id 节点的上边界坐标 - }).exec() - } -}) -``` */ - in( - /** 自定义组件实例 */ - component: Component.TrivialInstance | Page.TrivialInstance - ): SelectorQuery - } - interface SocketTask { - /** [SocketTask.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.close.html) - * - * 在插件中使用:支持 - * - * 关闭 WebSocket 连接 */ - close(option: SocketTaskCloseOption): void - /** [SocketTask.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onClose.html) - * - * 在插件中使用:支持 - * - * 监听 WebSocket 连接关闭事件 */ - onClose( - /** WebSocket 连接关闭事件的监听函数 */ - listener: SocketTaskOnCloseCallback - ): void - /** [SocketTask.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onError.html) - * - * 在插件中使用:支持 - * - * 监听 WebSocket 错误事件 */ - onError( - /** WebSocket 错误事件的监听函数 */ - listener: UDPSocketOnErrorCallback - ): void - /** [SocketTask.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onMessage.html) - * - * 在插件中使用:支持 - * - * 监听 WebSocket 接受到服务器的消息事件 */ - onMessage( - /** WebSocket 接受到服务器的消息事件的监听函数 */ - listener: SocketTaskOnMessageCallback - ): void - /** [SocketTask.onOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onOpen.html) - * - * 在插件中使用:支持 - * - * 监听 WebSocket 连接打开事件 */ - onOpen( - /** WebSocket 连接打开事件的监听函数 */ - listener: OnOpenCallback - ): void - /** [SocketTask.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.send.html) - * - * 在插件中使用:支持 - * - * 通过 WebSocket 连接发送数据 */ - send(option: SocketTaskSendOption): void - } - interface Stats { - /** [boolean Stats.isDirectory()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isDirectory.html) - * - * 在插件中使用:需要基础库 `2.19.2` - * - * 判断当前文件是否一个目录 */ - isDirectory(): boolean - /** [boolean Stats.isFile()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isFile.html) - * - * 在插件中使用:需要基础库 `2.19.2` - * - * 判断当前文件是否一个普通文件 */ - isFile(): boolean - } - interface TCPSocket { - /** [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.bindWifi.html) - * - * 需要基础库: `2.25.0` - * - * 在插件中使用:不支持 - * - * 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) */ - bindWifi(options: BindWifiOption): void - /** [TCPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.close.html) - * - * 在插件中使用:不支持 - * - * 关闭连接 */ - close(): void - /** [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.connect.html) - * - * 在插件中使用:不支持 - * - * 在给定的套接字上启动连接 */ - connect(options: TCPSocketConnectOption): void - /** [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offBindWifi.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:不支持 -* -* 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -TCPSocket.onBindWifi(listener) -TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBindWifi( - /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBindWifiCallback - ): void - /** [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offClose.html) -* -* 在插件中使用:不支持 -* -* 移除一旦 socket 完全关闭就发出该事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -TCPSocket.onClose(listener) -TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 -``` */ - offClose( - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffCloseCallback - ): void - /** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offConnect.html) -* -* 在插件中使用:不支持 -* -* 移除当一个 socket 连接成功建立的时候触发该事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -TCPSocket.onConnect(listener) -TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象 -``` */ - offConnect( - /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffConnectCallback - ): void - /** [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offError.html) -* -* 在插件中使用:不支持 -* -* 移除当错误发生时触发的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -TCPSocket.onError(listener) -TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffErrorCallback - ): void - /** [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offMessage.html) -* -* 在插件中使用:不支持 -* -* 移除当接收到数据的时触发该事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -TCPSocket.onMessage(listener) -TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 -``` */ - offMessage( - /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: TCPSocketOffMessageCallback - ): void - /** [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onBindWifi.html) - * - * 需要基础库: `2.25.0` - * - * 在插件中使用:不支持 - * - * 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 */ - onBindWifi( - /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ - listener: OnBindWifiCallback - ): void - /** [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onClose.html) - * - * 在插件中使用:不支持 - * - * 监听一旦 socket 完全关闭就发出该事件 */ - onClose( - /** 一旦 socket 完全关闭就发出该事件的监听函数 */ - listener: UDPSocketOnCloseCallback - ): void - /** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onConnect.html) - * - * 在插件中使用:不支持 - * - * 监听当一个 socket 连接成功建立的时候触发该事件 */ - onConnect( - /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ - listener: OnConnectCallback - ): void - /** [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onError.html) - * - * 在插件中使用:不支持 - * - * 监听当错误发生时触发 */ - onError( - /** 的监听函数 */ - listener: UDPSocketOnErrorCallback - ): void - /** [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onMessage.html) - * - * 在插件中使用:不支持 - * - * 监听当接收到数据的时触发该事件 */ - onMessage( - /** 当接收到数据的时触发该事件的监听函数 */ - listener: TCPSocketOnMessageCallback - ): void - /** [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.write.html) - * - * 在插件中使用:不支持 - * - * 在 socket 上发送数据 */ - write( - /** 要发送的数据 */ - data: string | ArrayBuffer - ): void - } - interface TruncateSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | - * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | - * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | - * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | - * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | - * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | - * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number - } - interface UDPSocket { - /** [UDPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.close.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 */ - close(): void - /** [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.connect.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 */ - connect(option: UDPSocketConnectOption): void - /** [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offClose.html) -* -* 在插件中使用:需要基础库 `2.11.1` -* -* 移除关闭事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UDPSocket.onClose(listener) -UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 -``` */ - offClose( - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffCloseCallback - ): void - /** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offError.html) -* -* 在插件中使用:需要基础库 `2.11.1` -* -* 移除错误事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UDPSocket.onError(listener) -UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffErrorCallback - ): void - /** [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offListening.html) -* -* 在插件中使用:需要基础库 `2.11.1` -* -* 移除开始监听数据包消息的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UDPSocket.onListening(listener) -UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象 -``` */ - offListening( - /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffListeningCallback - ): void - /** [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offMessage.html) -* -* 在插件中使用:需要基础库 `2.11.1` -* -* 移除收到消息的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UDPSocket.onMessage(listener) -UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 -``` */ - offMessage( - /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UDPSocketOffMessageCallback - ): void - /** [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onClose.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 监听关闭事件 */ - onClose( - /** 关闭事件的监听函数 */ - listener: UDPSocketOnCloseCallback - ): void - /** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onError.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 监听错误事件 */ - onError( - /** 错误事件的监听函数 */ - listener: UDPSocketOnErrorCallback - ): void - /** [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 监听开始监听数据包消息的事件 */ - onListening( - /** 开始监听数据包消息的事件的监听函数 */ - listener: OnListeningCallback - ): void - /** [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 监听收到消息的事件 */ - onMessage( - /** 收到消息的事件的监听函数 */ - listener: UDPSocketOnMessageCallback - ): void - /** [UDPSocket.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.send.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 */ - send(option: UDPSocketSendOption): void - /** [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.setTTL.html) - * - * 需要基础库: `2.18.0` - * - * 在插件中使用:支持 - * - * 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 */ - setTTL( - /** ttl 参数可以是 0 到 255 之间 */ - ttl: number - ): void - /** [UDPSocket.write()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.write.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) */ - write(): void - /** [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.bind.html) - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 */ - bind( - /** 需要基础库: `2.9.0` - * - * 指定要绑定的端口号,不传则返回系统随机分配的可用端口 */ - port?: number - ): number - } - interface UpdateManager { - /** [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.applyUpdate.html) - * - * 在插件中使用:不支持 - * - * 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。 - * - * **示例代码** - * - * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ - applyUpdate(): void - /** [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html) - * - * 在插件中使用:不支持 - * - * 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。 - * - * **示例代码** - * - * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ - onCheckForUpdate( - /** 向微信后台请求检查更新结果事件的监听函数 */ - listener: OnCheckForUpdateCallback - ): void - /** [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateFailed.html) - * - * 在插件中使用:不支持 - * - * 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调 - * - * **示例代码** - * - * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ - onUpdateFailed( - /** 小程序更新失败事件的监听函数 */ - listener: OnUpdateFailedCallback - ): void - /** [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateReady.html) - * - * 在插件中使用:不支持 - * - * 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 - * - * **示例代码** - * - * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ - onUpdateReady( - /** 小程序有版本更新事件的监听函数 */ - listener: OnUpdateReadyCallback - ): void - } - interface UploadTask { - /** [UploadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 中断上传任务 */ - abort(): void - /** [UploadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offHeadersReceived.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:支持 -* -* 移除 HTTP Response Header 事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UploadTask.onHeadersReceived(listener) -UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 -``` */ - offHeadersReceived( - /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffHeadersReceivedCallback - ): void - /** [UploadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offProgressUpdate.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:支持 -* -* 移除上传进度变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -UploadTask.onProgressUpdate(listener) -UploadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 -``` */ - offProgressUpdate( - /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: UploadTaskOffProgressUpdateCallback - ): void - /** [UploadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onHeadersReceived.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ - onHeadersReceived( - /** HTTP Response Header 事件的监听函数 */ - listener: OnHeadersReceivedCallback - ): void - /** [UploadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onProgressUpdate.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 监听上传进度变化事件 */ - onProgressUpdate( - /** 上传进度变化事件的监听函数 */ - listener: UploadTaskOnProgressUpdateCallback - ): void - } - interface UserCryptoManager { - /** [UserCryptoManager.getLatestUserKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getLatestUserKey.html) -* -* 需要基础库: `2.17.3` -* -* 在插件中使用:不支持 -* -* 获取最新的用户加密密钥 -* -* **示例代码** -* -* ```js -const userCryptoManager = wx.getUserCryptoManager() -userCryptoManager.getLatestUserKey({ - success: res => { - const {encryptKey, iv, version, expireTime} = res - console.log(encryptKey, iv, version, expireTime) - } -}) -``` */ - getLatestUserKey(option?: GetLatestUserKeyOption): void - /** [UserCryptoManager.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getRandomValues.html) -* -* 需要基础库: `2.17.3` -* -* 在插件中使用:不支持 -* -* 获取密码学安全随机数 -* -* **示例代码** -* -* ```js -wx.getRandomValues({ - length: 6 // 生成 6 个字节长度的随机数, - success: res => { - console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 - } -}) -``` */ - getRandomValues(option: GetRandomValuesOption): void - } - interface VKCamera { - /** [Float32Array VKCamera.getProjectionMatrix(number near, number far)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.getProjectionMatrix.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 获取投影矩阵 */ - getProjectionMatrix( - /** 近视点 */ - near: number, - /** 远视点 */ - far: number - ): Float32Array - } - interface VKFrame { - /** [ArrayBuffer VKFrame.getCameraBuffer(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 获取当前帧 rgba buffer。目前仅iOS端支持。按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。 */ - getCameraBuffer( - /** 宽度,受系统限制,必须是 16 的整数倍 */ - width: number, - /** 高度 */ - height: number - ): ArrayBuffer - /** [Float32Array VKFrame.getDisplayTransform()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪。 */ - getDisplayTransform(): Float32Array - /** [Object VKFrame.getCameraTexture(WebGLRenderingContext gl)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 获取当前帧纹理,目前只支持 YUV 纹理。 */ - getCameraTexture( - /** 画布 */ - gl: WebGLRenderingContext - ): YUVTextureRes - } - interface VKSession { - /** [Array.<Object> VKSession.getAllMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 获取所有 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ - getAllMarker(): VKMarker[] - /** [Array.<Object> VKSession.getAllOSDMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 获取所有 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ - getAllOSDMarker(): VKMarker[] - /** [Array.<Object> VKSession.hitTest(number x, number y, Object reset)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。 */ - hitTest( - /** 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 */ - x: number, - /** 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 */ - y: number, - /** 是否需要重新识别其他平面,v2 版本不再需要此参数 */ - reset: IAnyObject - ): HitTestRes[] - /** [VKSession.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.cancelAnimationFrame.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。 */ - cancelAnimationFrame(requestID: number): void - /** [VKSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.destroy.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 销毁会话。 */ - destroy(): void - /** [VKSession.detectFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html) - * - * 需要基础库: `2.25.0` - * - * 在插件中使用:需要基础库 `2.25.0` - * - * 静态图像人脸关键点检测。当 wx.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ - detectFace(option: DetectFaceOption): void - /** [VKSession.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 取消监听会话事件。 */ - off( - /** 事件名称 */ - eventName: string, - /** 事件监听函数 */ - fn: (...args: any[]) => any - ): void - /** [VKSession.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 监听会话事件。 */ - on( - /** 事件名称 - * - * 参数 eventName 可选值: - * - 'resize': 相机尺寸变化事件,回调参数为相机尺寸; - * - 'addAnchors': 增加 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持); - * - 'updateAnchors': 更新 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); - * - 'removeAnchors': 删除 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); */ - eventName: - | 'resize' - | 'addAnchors' - | 'updateAnchors' - | 'removeAnchors', - /** 事件监听函数 */ - fn: (...args: any[]) => any - ): void - /** [VKSession.removeMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 删除一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ - removeMarker( - /** marker id */ - markerId: number - ): void - /** [VKSession.removeOSDMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 删除一个 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ - removeOSDMarker( - /** marker id */ - markerId: number - ): void - /** [VKSession.start(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 开启会话。 */ - start( - /** 开启会话回调 */ - callback: VKSessionStartCallback - ): void - /** [VKSession.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.stop.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 停止会话。 */ - stop(): void - /** [VKSession.updateOSDThreshold(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 更新 OSD 识别精确度,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ - updateOSDThreshold( - /** 阈值 */ - threshold: number - ): void - /** [[VKFrame](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.html) VKSession.getVKFrame(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getVKFrame.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 获取帧对象,每调用一次都会触发一次帧分析过程。 */ - getVKFrame( - /** 宽度 */ - width: number, - /** 高度 */ - height: number - ): VKFrame - /** [number VKSession.addMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 添加一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true - * - * **使用提示** - * - * 注意事项: - * 1. 使用 addMarker 接口之前,需要在 createVKSession 的时候声明开启 marker 跟踪。即 wx.createVKSession({ track: { marker: true } }) - * 2. 可以添加多个 marker 图片,但不能重复添加相同的 marker 图片。 - * - * 对传入的图片有如下要求: - * 1. 格式:jpg/png 格式三通道彩图或者 1 通道灰度图 - * 2. 分辨率:尺寸在 480x480 ~ 1920x1920 之间,建议为 1080 分辨率 - * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 - * 4. 质量:目标图像为平面模型,需要占画面主体,避免大面积留白,建议用扫描件 - * - * 示例: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrtaOpjb6Yc6mDhJKdUmrIpmtbWBMfAUAFavtKT6-tEZIh-8zT8tfBJBtvH048ge5Vw" alt="image.png" /> - * - * 建议: - * - * 1. 图片具有丰富的细节 - * 2. 避免重复单一的纹理,例如: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq3iLsNXMvLiM6Wb5ZHOrVVGR2u5ixbQlbiSSuNHzVcMQQY5V0dvnlyOGihUIbyTvA" alt="image.png" /> - * <br> - * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq-_lR2j4eOi23IOJ2LHFQY_PWufbx3s3uROgLi_flJMHQA8DNvlebs9UwumozPlXg" alt="image.png" /> - * <br> - * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dr9IaSPF18UPnz4KrbAhGW9pIb8oWxzHgmClGIRZK59N4gUnJh69yoQW1TFGqce8ew" alt="image.png" /> - * <br> - * - * 3. 避免使用柔和平滑边缘的纹理及大量渐变图像,例如: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq6DPj88qSVwHFZiumbE0IMq9ibzbnhjewzUSa-n5_VgF_lF9g07FFHHYyrY14KTSfA" alt="image.png" /> - * - * 4. 避免模糊,建议采用高清、高对比度图像作为识别对象 - * 5. 建议图像有均匀的特征(角点)分布,正确示例: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrrBRWB_Cw2aFXAn1KY0YtfjnQ7WNt854gA8H2zfmZUztlFcJbdEHouBGs63hUO4Mxg" alt="image.png" /> - * - * 避免角点较少、中间大量空白、没有特征及角点的图像,错误示例: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqzjY2LY-ylRjFS7TVD-cZsEE8TTB-xzR2YiWKhWyWg1bgpbRqQq-4l6OWPDii4S3Xg" alt="image.png" /> */ - addMarker( - /** 图片路径,目前只支持本地用户图片 */ - path: string - ): number - /** [number VKSession.addOSDMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html) - * - * 需要基础库: `2.24.5` - * - * 在插件中使用:需要基础库 `2.24.5` - * - * 添加一个 OSD marker(one-shot detection marker),要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true - * - * **使用提示** - * - * 注意事项: - * 1. 使用 addOSDMarker 接口之前,需要在 createVKSession 的时候声明开启 OSD 跟踪。即 wx.createVKSession({ track: { OSD: true } }) - * 2. 可以添加多个 OSDMarker 图片,但不能重复添加相同的 OSDMarker 图片。 - * - * 对传入的图片有如下要求: - * 1. 格式:jpg 格式彩色图片 - * 2. 分辨率:尺寸不低于 240x240 - * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 - * 4. 质量:目标物体需要占画面主体,避免大面积留白,避免大面积文字,不能含其他物体。 - * - * 示例: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq_Mq0ReXEA5nOzDIvnYYPttmwxn0V1e_yI6UUgkNT6K6aOQj2QRba5IHQglHULkrKg" alt="image.png" /> - * <br> - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqwiRcyGk9oenkCpd3vAHWSTSZPPJcgIrPzcpwnSpmk_9bMiCqUdS8Ds789Rjhy0CtA" alt="image.png" /> - * <br> - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqx8fYUYypBmFmB1_zX-APH06j1oMZDz7K0CE2To_982NDOB5fmM4Y2Rrr1uQF6J4gg" alt="image.png" /> - * <br> - * - * 建议: - * - * 1. 具有丰富的细节,避免纯色且形状特点不鲜明的物体,例如: - * - * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq-6WwSZKlNbN-if0NCag-Dm6AmNJeBFi5dvR-bRZINlZmuA9G1e4wpngvhlr2z6CXQ" alt="image.png" /> - * - * 2. 避免模糊,最好采用高清图片 */ - addOSDMarker( - /** 图片路径,目前只支持本地用户图片 */ - path: string - ): number - /** [number VKSession.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html) - * - * 需要基础库: `2.20.0` - * - * 在插件中使用:需要基础库 `2.20.0` - * - * 在下次进行重绘时执行。 */ - requestAnimationFrame( - /** 执行的 callback */ - callback: (...args: any[]) => any - ): number - } - interface VideoContext { - /** [VideoContext.exitBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitBackgroundPlayback.html) - * - * 需要基础库: `2.14.3` - * - * 在插件中使用:支持 - * - * 退出后台音频播放模式。 */ - exitBackgroundPlayback(): void - /** [VideoContext.exitFullScreen()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitFullScreen.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 退出全屏 */ - exitFullScreen(): void - /** [VideoContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitPictureInPicture.html) - * - * 在插件中使用:支持 - * - * 退出小窗,该方法可在任意页面调用 */ - exitPictureInPicture(option?: ExitPictureInPictureOption): void - /** [VideoContext.hideStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.hideStatusBar.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 隐藏状态栏,仅在iOS全屏下有效 */ - hideStatusBar(): void - /** [VideoContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.pause.html) - * - * 在插件中使用:支持 - * - * 暂停视频 */ - pause(): void - /** [VideoContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.play.html) - * - * 在插件中使用:支持 - * - * 播放视频 */ - play(): void - /** [VideoContext.playbackRate(number rate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.playbackRate.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 设置倍速播放 */ - playbackRate( - /** 倍率,支持 0.5/0.8/1.0/1.25/1.5,2.6.3 起支持 2.0 倍速 */ - rate: number - ): void - /** [VideoContext.requestBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestBackgroundPlayback.html) - * - * 需要基础库: `2.14.3` - * - * 在插件中使用:支持 - * - * 进入后台音频播放模式。 */ - requestBackgroundPlayback(): void - /** [VideoContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestFullScreen.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:支持 - * - * 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */ - requestFullScreen(option: VideoContextRequestFullScreenOption): void - /** [VideoContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.seek.html) - * - * 在插件中使用:支持 - * - * 跳转到指定位置 */ - seek( - /** 跳转到的位置,单位 s */ - position: number - ): void - /** [VideoContext.sendDanmu(Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.sendDanmu.html) - * - * 在插件中使用:支持 - * - * 发送弹幕 */ - sendDanmu( - /** 弹幕内容 */ - data: Danmu - ): void - /** [VideoContext.showStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.showStatusBar.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:支持 - * - * 显示状态栏,仅在iOS全屏下有效 */ - showStatusBar(): void - /** [VideoContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.stop.html) - * - * 需要基础库: `1.7.0` - * - * 在插件中使用:支持 - * - * 停止视频 */ - stop(): void - } - interface VideoDecoder { - /** [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 获取下一帧的解码数据 */ - getFrameData(): FrameDataOptions - /** [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 移除解码器 */ - remove(): Promise<any> - /** [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 跳到某个时间点解码 */ - seek( - /** 跳转的解码位置,单位 ms */ - position: number - ): Promise<any> - /** [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 开始解码 */ - start(option: VideoDecoderStartOption): Promise<any> - /** [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 停止解码 */ - stop(): Promise<any> - /** [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 取消监听录制事件。当对应事件触发时,该回调函数不再执行 */ - off( - /** 事件名 */ - eventName: string, - /** 事件触发时执行的回调函数 */ - callback: (...args: any[]) => any - ): void - /** [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 */ - on( - /** 事件名 - * - * 参数 eventName 可选值: - * - 'start': 开始事件。返回 {width, height}; - * - 'stop': 结束事件。; - * - 'seek': seek 完成事件。; - * - 'bufferchange': 缓冲区变化事件。; - * - 'ended': 解码结束事件。; */ - eventName: 'start' | 'stop' | 'seek' | 'bufferchange' | 'ended', - /** 事件触发时执行的回调函数 */ - callback: (...args: any[]) => any - ): void - } - interface WebAudioContext { - /** [AnalyserNode WebAudioContext.createAnalyser()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createAnalyser.html) - * - * 需要基础库: `2.22.0` - * - * 在插件中使用:不支持 - * - * 创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。 */ - createAnalyser(): AnalyserNode - /** [BiquadFilterNode WebAudioContext.createBiquadFilter()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBiquadFilter.html) - * - * 在插件中使用:不支持 - * - * 创建一个BiquadFilterNode */ - createBiquadFilter(): BiquadFilterNode - /** [BufferSourceNode WebAudioContext.createBufferSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html) - * - * 在插件中使用:不支持 - * - * 创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。 */ - createBufferSource(): BufferSourceNode - /** [ChannelMergerNode WebAudioContext.createChannelMerger(number numberOfInputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelMerger.html) - * - * 在插件中使用:不支持 - * - * 创建一个ChannelMergerNode */ - createChannelMerger( - /** 输出流中需要保持的输入流的个数 */ - numberOfInputs: number - ): ChannelMergerNode - /** [ChannelSplitterNode WebAudioContext.createChannelSplitter(number numberOfOutputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelSplitter.html) - * - * 在插件中使用:不支持 - * - * 创建一个ChannelSplitterNode */ - createChannelSplitter( - /** 要分别输出的输入音频流中的通道数 */ - numberOfOutputs: number - ): ChannelSplitterNode - /** [ConstantSourceNode WebAudioContext.createConstantSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createConstantSource.html) - * - * 在插件中使用:不支持 - * - * 创建一个ConstantSourceNode */ - createConstantSource(): ConstantSourceNode - /** [DelayNode WebAudioContext.createDelay(number maxDelayTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDelay.html) - * - * 在插件中使用:不支持 - * - * 创建一个DelayNode */ - createDelay( - /** 最大延迟时间 */ - maxDelayTime: number - ): DelayNode - /** [DynamicsCompressorNode WebAudioContext.createDynamicsCompressor()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDynamicsCompressor.html) - * - * 在插件中使用:不支持 - * - * 创建一个DynamicsCompressorNode */ - createDynamicsCompressor(): DynamicsCompressorNode - /** [GainNode WebAudioContext.createGain()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createGain.html) - * - * 在插件中使用:不支持 - * - * 创建一个GainNode */ - createGain(): GainNode - /** [IIRFilterNode WebAudioContext.createIIRFilter(Array.<number> feedforward, Array.<number> feedback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createIIRFilter.html) - * - * 在插件中使用:不支持 - * - * 创建一个IIRFilterNode */ - createIIRFilter( - /** 一个浮点值数组,指定IIR滤波器传递函数的前馈(分子)系数。 */ - feedforward: number[], - /** 一个浮点值数组,指定IIR滤波器传递函数的反馈(分母)系数。 */ - feedback: number[] - ): IIRFilterNode - /** [OscillatorNode WebAudioContext.createOscillator()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createOscillator.html) - * - * 在插件中使用:不支持 - * - * 创建一个OscillatorNode */ - createOscillator(): OscillatorNode - /** [PannerNode WebAudioContext.createPanner()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPanner.html) - * - * 在插件中使用:不支持 - * - * 创建一个PannerNode */ - createPanner(): PannerNode - /** [PeriodicWaveNode WebAudioContext.createPeriodicWave(Float32Array real, Float32Array imag, object constraints)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPeriodicWave.html) -* -* 在插件中使用:不支持 -* -* 创建一个PeriodicWaveNode -* -* **注意** -* -* `real`和`imag`数组必须拥有一样的长度,否则抛出错误 -* ```js -const real = new Float32Array(2) -const imag = new Float32Array(2) -real[0] = 0 -imag[0] = 0 -real[1] = 1 -imag[1] = 0 - -const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true}) -``` */ - createPeriodicWave( - /** 一组余弦项(传统上是A项) */ - real: Float32Array, - /** 一组余弦项(传统上是A项) */ - imag: Float32Array, - /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ - constraints: Constraints - ): PeriodicWaveNode - /** [Promise WebAudioContext.close()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.close.html) -* -* 在插件中使用:不支持 -* -* 关闭WebAudioContext -* -* **注意事项** -* -* 同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,<b>不要在close后再次访问state属性。</b> -* ```js -const audioCtx = wx.createWebAudioContext() -audioCtx.close().then(() => { - console.log(audioCtx.state) // bad case:不应该在close后再访问state -}) -``` */ - close(): Promise<any> - /** [Promise WebAudioContext.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.resume.html) - * - * 在插件中使用:不支持 - * - * 同步恢复已经被暂停的WebAudioContext上下文 */ - resume(): Promise<any> - /** [Promise WebAudioContext.suspend()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.suspend.html) - * - * 在插件中使用:不支持 - * - * 同步暂停WebAudioContext上下文 */ - suspend(): Promise<any> - /** [ScriptProcessorNode WebAudioContext.createScriptProcessor(number bufferSize, number numberOfInputChannels, number numberOfOutputChannels)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createScriptProcessor.html) - * - * 在插件中使用:不支持 - * - * 创建一个ScriptProcessorNode */ - createScriptProcessor( - /** 缓冲区大小,以样本帧为单位 */ - bufferSize: number, - /** 用于指定输入node的声道的数量 */ - numberOfInputChannels: number, - /** 用于指定输出node的声道的数量 */ - numberOfOutputChannels: number - ): ScriptProcessorNode - /** [WaveShaperNode WebAudioContext.createWaveShaper()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createWaveShaper.html) - * - * 在插件中使用:不支持 - * - * 创建一个WaveShaperNode */ - createWaveShaper(): WaveShaperNode - /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.createBuffer(number numOfChannels, number length, number sampleRate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBuffer.html) - * - * 在插件中使用:不支持 - * - * 创建一个AudioBuffer,代表着一段驻留在内存中的短音频 */ - createBuffer( - /** 定义了 buffer 中包含的声频通道数量的整数 */ - numOfChannels: number, - /** 代表 buffer 中的样本帧数的整数 */ - length: number, - /** 线性音频样本的采样率,即每一秒包含的关键帧的个数 */ - sampleRate: number - ): AudioBuffer - /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.decodeAudioData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html) - * - * 在插件中使用:不支持 - * - * 异步解码一段资源为AudioBuffer。 */ - decodeAudioData(): AudioBuffer - } - interface WifiError { - /** 错误信息 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 12000 | not init | 未先调用 `startWifi` 接口 | - * | 12001 | system not support | 当前系统不支持相关能力 | - * | 12002 | password error Wi-Fi | 密码错误 | - * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | - * | 12004 | duplicate request | 重复连接 Wi-Fi | - * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | - * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | - * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | - * | 12008 | invalid SSID | 无效 SSID | - * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | - * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | - * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | - * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | - * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errMsg: string - /** 错误码 - * - * | 错误码 | 错误信息 | 说明 | - * | - | - | - | - * | 0 | ok | 正常 | - * | 12000 | not init | 未先调用 `startWifi` 接口 | - * | 12001 | system not support | 当前系统不支持相关能力 | - * | 12002 | password error Wi-Fi | 密码错误 | - * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | - * | 12004 | duplicate request | 重复连接 Wi-Fi | - * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | - * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | - * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | - * | 12008 | invalid SSID | 无效 SSID | - * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | - * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | - * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | - * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | - * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errCode: number - } - interface Worker { - /** [ArrayBuffer Worker.getCameraFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) -* -* 需要基础库: `2.25.1` -* -* 在插件中使用:不支持 -* -* 获取摄像头当前帧图像,返回ArrayBuffer数据。仅限在 worker 线程中使用。 -* -* **示例代码** -* -* ```js -// app.js -const worker = wx.createWorker('workers/index.js', { - useExperimentalWorker: true -}) - -const cameraContext = wx.createCameraContext() -const cameraFrameListener = cameraContext.onCameraFrame(function() {}) -cameraFrameListener.start({ - worker: worker -}) -``` -* -* ```js -// workers/index.js -const data = worker.getCameraFrameData() -console.log(data) -``` */ - getCameraFrameData(): ArrayBuffer - /** [Worker.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onMessage.html) - * - * 在插件中使用:不支持 - * - * 监听主线程/Worker 线程向当前线程发送的消息的事件。 */ - onMessage( - /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ - listener: WorkerOnMessageCallback - ): void - /** [Worker.onProcessKilled(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html) - * - * 在插件中使用:不支持 - * - * 监听 worker线程被系统回收事件(当iOS系统资源紧张时,worker线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker)。仅限在主线程 worker 对象上调用。 */ - onProcessKilled( - /** worker线程被系统回收事件的监听函数 */ - listener: OnProcessKilledCallback - ): void - /** [Worker.postMessage(Object message)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.postMessage.html) -* -* 在插件中使用:不支持 -* -* 向主线程/Worker 线程发送的消息。 -* -* **示例代码** -* -* worker 线程中 -* ```js -worker.postMessage({ - msg: 'hello from worker' -}) -``` -* -* 主线程中 -* ```js -const worker = wx.createWorker('workers/request/index.js') - -worker.postMessage({ - msg: 'hello from main' -}) -``` -* -* **提醒** -* -* 在基础库版本2.20.2之前,postMessage仅支持传递可序列化的key-value对象。 -* 在基础库2.20.2之后,postMessage支持传递任意类型的数据。 */ - postMessage( - /** 需要发送的消息。 */ - message: IAnyObject - ): void - /** [Worker.terminate()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.terminate.html) - * - * 在插件中使用:不支持 - * - * 结束当前 Worker 线程。仅限在主线程 worker 对象上调用。 */ - terminate(): void - } - interface WriteSyncError { - /** 错误信息 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有写权限 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string - /** 错误码 - * - * | 错误信息 | 说明 | - * | - | - | - * | bad file descriptor | 无效的文件描述符 | - * | fail permission denied | 指定的 fd 路径没有写权限 | - * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number - } - interface Wx { - bindLocalAccount(arg0: { desc: string; success: (res: any) => void }) - /** [Array.<any> wx.batchGetStorageSync(Array.<string> keyList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:不支持 -* -* 从本地缓存中同步批量获取指定 key 的内容。 -* -* **示例代码** -* -* ```js -try { - var valueList = wx.batchGetStorageSync(['key']) - if (valueList) { - // Do something with return value - } -} catch (e) { - // Do something when catch error -} -``` -* -* **** -* -* 对于多个key的读取, 批量读取在性能上优于多次getStorageSync读取 */ - batchGetStorageSync( - /** 本地缓存中指定的 key 数组 */ - keyList: string[] - ): any[] - /** [ArrayBuffer wx.base64ToArrayBuffer(string base64)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.base64ToArrayBuffer.html) - * - * 需要基础库: `1.1.0` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 将 Base64 字符串转成 ArrayBuffer 对象 */ - base64ToArrayBuffer( - /** 要转化成 ArrayBuffer 对象的 Base64 字符串 */ - base64: string - ): ArrayBuffer - /** [Object wx.getAccountInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html) -* -* 需要基础库: `2.2.2` -* -* 在插件中使用:需要基础库 `2.2.2` -* -* 获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。 -* -* **示例代码** -* -* ```js -const accountInfo = wx.getAccountInfoSync(); -console.log(accountInfo.miniProgram.appId) // 小程序 appId -console.log(accountInfo.plugin.appId) // 插件 appId -console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式 -``` */ - getAccountInfoSync(): AccountInfo - /** [Object wx.getAppAuthorizeSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取微信APP授权设置 -* -* **示例代码** -* -* ```js -const appAuthorizeSetting = wx.getAppAuthorizeSetting() - -console.log(appAuthorizeSetting.albumAuthorized) -console.log(appAuthorizeSetting.bluetoothAuthorized) -console.log(appAuthorizeSetting.cameraAuthorized) -console.log(appAuthorizeSetting.locationAuthorized) -console.log(appAuthorizeSetting.locationReducedAccuracy) -console.log(appAuthorizeSetting.microphoneAuthorized) -console.log(appAuthorizeSetting.notificationAlertAuthorized) -console.log(appAuthorizeSetting.notificationAuthorized) -console.log(appAuthorizeSetting.notificationBadgeAuthorized) -console.log(appAuthorizeSetting.notificationSoundAuthorized) -console.log(appAuthorizeSetting.phoneCalendarAuthorized) -``` -* -* **返回值说明** -* -* `'authorized'` 表示已经获得授权,无需再次请求授权; -* `'denied'` 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户[打开系统设置](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html),在设置页中打开权限) -* `'non determined'` 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) */ - getAppAuthorizeSetting(): AppAuthorizeSetting - /** [Object wx.getAppBaseInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取微信APP基础信息 -* -* **示例代码** -* -* ```js -const appBaseInfo = wx.getAppBaseInfo() - -console.log(appBaseInfo.SDKVersion) -console.log(appBaseInfo.enableDebug) -console.log(appBaseInfo.host) -console.log(appBaseInfo.language) -console.log(appBaseInfo.version) -console.log(appBaseInfo.theme) -``` */ - getAppBaseInfo(): AppBaseInfo - /** [Object wx.getBatteryInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) - * - * 在插件中使用:需要基础库 `2.15.0` - * - * [wx.getBatteryInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) 的同步版本 */ - getBatteryInfoSync(): GetBatteryInfoSyncResult - /** [Object wx.getDeviceInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取设备基础信息 -* -* **示例代码** -* -* ```js -const deviceInfo = wx.getDeviceInfo() - -console.log(deviceInfo.abi) -console.log(deviceInfo.benchmarkLevel) -console.log(deviceInfo.brand) -console.log(deviceInfo.model) -console.log(deviceInfo.platform) -console.log(deviceInfo.system) -``` */ - getDeviceInfo(): DeviceInfo - /** [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html) - * - * 需要基础库: `2.9.4` - * - * 在插件中使用:需要基础库 `2.9.4` - * - * 获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onLaunch-Object-object) 的回调参数一致;如果当前是热启动,则返回值与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onShow-Object-object) 一致。 - * - * **返回有效 referrerInfo 的场景** - * - * | 场景值 | 场景 | appId含义 | - * | ------ | ------------------------------- | ---------- | - * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | - * | 1035 | 公众号自定义菜单 | 来源公众号 | - * | 1036 | App 分享消息卡片 | 来源App | - * | 1037 | 小程序打开小程序 | 来源小程序 | - * | 1038 | 从另一个小程序返回 | 来源小程序 | - * | 1043 | 公众号模板消息 | 来源公众号 | - * - * **不同 apiCategory 场景下的 API 限制** - * - * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 - * - * | | default | nativeFunctionalized | browseOnly | embedded | - * |-|-|-|-|-| - * |navigateToMiniProgram | | `X` | `X` | | - * |openSetting | | | `X` | | - * |<button open-type="share"> | | `X` | `X` | `X` | - * |<button open-type="feedback"> | | | `X` | | - * |<button open-type="open-setting">| | | `X` | | - * |openEmbeddedMiniProgram | | `X` | `X` | `X` | - * - * **注意** - * - * 部分版本在无 `referrerInfo` 的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ - getEnterOptionsSync(): LaunchOptionsApp - /** [Object wx.getExptInfoSync(Array.<string> keys)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html) - * - * 需要基础库: `2.17.0` - * - * 在插件中使用:不支持 - * - * 给定实验参数数组,获取对应的实验参数值 - * - * **提示** - * - * 假设实验参数有 `color`, `size` - * 调用 wx.getExptInfoSync() 会返回 `{color:'#fff',size:20}` 类似的结果 - * 而 wx.getExptInfoSync(['color']) 则只会返回 `{color:'#fff'}` */ - getExptInfoSync( - /** 实验参数数组,不填则获取所有实验参数 */ - keys?: string[] - ): IAnyObject - /** [Object wx.getExtConfigSync()](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:不支持 -* -* [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 的同步版本。 -* -* **Tips** -* -* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfigSync](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) 是否存在来兼容 -* -* **** -* -* ```js -let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {} -console.log(extConfig) -``` */ - getExtConfigSync(): IAnyObject - /** [Object wx.getLaunchOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) - * - * 需要基础库: `2.1.2` - * - * 在插件中使用:需要基础库 `2.9.4` - * - * 获取小程序启动时的参数。与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onlaunchobject-object) 的回调参数一致。 - * - * **返回有效 referrerInfo 的场景** - * - * | 场景值 | 场景 | appId含义 | - * | ------ | ------------------------------- | ---------- | - * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | - * | 1035 | 公众号自定义菜单 | 来源公众号 | - * | 1036 | App 分享消息卡片 | 来源App | - * | 1037 | 小程序打开小程序 | 来源小程序 | - * | 1038 | 从另一个小程序返回 | 来源小程序 | - * | 1043 | 公众号模板消息 | 来源公众号 | - * | 1069 | 移动应用 | 来源App | - * - * **不同 apiCategory 场景下的 API 限制** - * - * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 - * - * | | default | nativeFunctionalized | browseOnly | embedded | - * |-|-|-|-|-| - * |navigateToMiniProgram | | `X` | `X` | | - * |openSetting | | | `X` | | - * |<button open-type="share"> | | `X` | `X` | `X` | - * |<button open-type="feedback"> | | | `X` | | - * |<button open-type="open-setting">| | | `X` | | - * |openEmbeddedMiniProgram | | `X` | `X` | `X` | - * - * **注意** - * - * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ - getLaunchOptionsSync(): LaunchOptionsApp - /** [Object wx.getMenuButtonBoundingClientRect()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.getMenuButtonBoundingClientRect.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。 -* -* **示例代码** -* -* ```js -const res = wx.getMenuButtonBoundingClientRect() - -console.log(res.width) -console.log(res.height) -console.log(res.top) -console.log(res.right) -console.log(res.bottom) -console.log(res.left) -``` */ - getMenuButtonBoundingClientRect(): ClientRect - /** [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html) -* -* 在插件中使用:不支持 -* -* [wx.getStorageInfo](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) 的同步版本 -* -* **示例代码** -* -* ```js -wx.getStorageInfo({ - success (res) { - console.log(res.keys) - console.log(res.currentSize) - console.log(res.limitSize) - } -}) -``` -* -* ```js -try { - const res = wx.getStorageInfoSync() - console.log(res.keys) - console.log(res.currentSize) - console.log(res.limitSize) -} catch (e) { - // Do something when catch error -} -``` */ - getStorageInfoSync(): GetStorageInfoSyncOption - /** [Object wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* [wx.getSystemInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) 的同步版本 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) -* -* ```js -wx.getSystemInfo({ - success (res) { - console.log(res.model) - console.log(res.pixelRatio) - console.log(res.windowWidth) - console.log(res.windowHeight) - console.log(res.language) - console.log(res.version) - console.log(res.platform) - } -}) -``` -* -* ```js -try { - const res = wx.getSystemInfoSync() - console.log(res.model) - console.log(res.pixelRatio) - console.log(res.windowWidth) - console.log(res.windowHeight) - console.log(res.language) - console.log(res.version) - console.log(res.platform) -} catch (e) { - // Do something when catch error -} -``` */ - getSystemInfoSync(): SystemInfo - /** [Object wx.getSystemSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取设备设置 -* -* **示例代码** -* -* ```js -const systemSetting = wx.getSystemSetting() - -console.log(systemSetting.bluetoothEnabled) -console.log(systemSetting.deviceOrientation) -console.log(systemSetting.locationEnabled) -console.log(systemSetting.wifiEnabled) -``` */ - getSystemSetting(): SystemSetting - /** [Object wx.getWindowInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取窗口信息 -* -* **示例代码** -* -* ```js -const windowInfo = wx.getWindowInfo() - -console.log(windowInfo.pixelRatio) -console.log(windowInfo.screenWidth) -console.log(windowInfo.screenHeight) -console.log(windowInfo.windowWidth) -console.log(windowInfo.windowHeight) -console.log(windowInfo.statusBarHeight) -console.log(windowInfo.safeArea) -console.log(windowInfo.screenTop) -``` */ - getWindowInfo(): WindowInfo - /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) wx.createAnimation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/wx.createAnimation.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建一个动画实例 [animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html)。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。 */ - createAnimation(option: StepOption): Animation - /** [[AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) wx.createAudioContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createAudioContext.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 - * - * 创建 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) 对象。 */ - createAudioContext( - /** [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件的 id */ - id: string, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): AudioContext - /** [[BackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html) wx.getBackgroundAudioManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 获取**全局唯一**的背景音频管理器。 - * 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 - * - * 从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 [app.json](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html) 中配置 `requiredBackgroundModes` 属性。开发版和体验版上可以直接生效,正式版还需通过审核。 */ - getBackgroundAudioManager(): BackgroundAudioManager - /** [[CacheManager](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.html) wx.createCacheManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/wx.createCacheManager.html) -* -* 需要基础库: `2.24.0` -* -* 在插件中使用:不支持 -* -* 创建缓存管理器 -* -* **示例代码** -* -* <a href="https://github.com/wechat-miniprogram/miniprogram-offline-demo" target="_blank">查看完整示例代码</a> -* -* ```js -const cacheManager = createCacheManager() -cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配 - -cacheManager.on('request', evt => { - // 在弱网时接收到 wx.request 请求 - return new Promise((resolve, reject) => { - const matchRes = cm.match(evt) - if (matchRes && matchRes.data) { - // 有缓存,返回 - resolve(matchRes.data) - } else { - // 没缓存,抛错 - reject({ errMsg: 'no cache' }) - } - }) -}) -``` */ - createCacheManager(option: CreateCacheManagerOption): CacheManager - /** [[CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) wx.createCameraContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/wx.createCameraContext.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 上下文 [CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) 对象。 */ - createCameraContext(): CameraContext - /** [[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) wx.createCanvasContext(string canvasId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 替换 - * - * 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 */ - createCanvasContext( - /** 要获取上下文的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 canvas-id 属性 */ - canvasId: string, - /** 在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) ,如果省略则不在任何自定义组件内查找 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): CanvasContext - /** [[DownloadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.html) wx.downloadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 -* -* 注意:请在服务端响应的 header 中指定合理的 `Content-Type` 字段,以保证客户端正确处理文件类型。 -* -* **示例代码** -* -* ```js -wx.downloadFile({ - url: 'https://example.com/audio/123', //仅为示例,并非真实的资源 - success (res) { - // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容 - if (res.statusCode === 200) { - wx.playVoice({ - filePath: res.tempFilePath - }) - } - } -}) -``` */ - downloadFile(option: DownloadFileOption): DownloadTask - /** [[FileSystemManager](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html) wx.getFileSystemManager()](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileSystemManager.html) - * - * 需要基础库: `1.9.9` - * - * 在插件中使用:需要基础库 `2.19.2` - * - * 获取全局唯一的文件管理器 */ - getFileSystemManager(): FileSystemManager - /** [[InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) wx.createInnerAudioContext(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 创建内部 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 对象。 -* -* **示例代码** -* -* ```js -const innerAudioContext = wx.createInnerAudioContext({ - useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项 -}) -innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' - -innerAudioContext.play() // 播放 - -innerAudioContext.pause() // 暂停 - -innerAudioContext.stop() // 停止 -``` */ - createInnerAudioContext( - option?: CreateInnerAudioContextOption - ): InnerAudioContext - /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) wx.createIntersectionObserver(Object component, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createIntersectionObserver.html) - * - * 需要基础库: `1.9.3` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createIntersectionObserver([options])` 来代替。 - * - * **示例代码** - * - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/LAbMxkmI7F2A) */ - createIntersectionObserver( - /** 自定义组件实例 */ - component: IAnyObject, - /** 选项 */ - options?: CreateIntersectionObserverOption - ): IntersectionObserver - /** [[InterstitialAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html) wx.createInterstitialAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html) - * - * 需要基础库: `2.6.0` - * - * 在插件中使用:需要基础库 `2.8.1` - * - * 创建插屏广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。 */ - createInterstitialAd(option: CreateInterstitialAdOption): InterstitialAd - /** [[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) wx.createLivePlayerContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePlayerContext.html) - * - * 需要基础库: `1.7.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 上下文 [LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ - createLivePlayerContext( - /** [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件的 id */ - id: string, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): LivePlayerContext - /** [[LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) wx.createLivePusherContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePusherContext.html) - * - * 需要基础库: `1.7.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建 [live-pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html) 上下文 [LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) 对象。 */ - createLivePusherContext(): LivePusherContext - /** [[LogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.html) wx.getLogManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getLogManager.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:不支持 -* -* 获取日志管理器对象。 -* -* **示例代码** -* -* ```js -const logger = wx.getLogManager({level: 1}) -logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3]) -logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) -logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3]) -logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) -``` */ - getLogManager(option: GetLogManagerOption): LogManager - /** [[MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) wx.createMapContext(string mapId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/wx.createMapContext.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 上下文 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ - createMapContext( - /** [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件的 id */ - mapId: string, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): MapContext - /** [[MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) wx.createMediaAudioPlayer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) -* -* 需要基础库: `2.13.0` -* -* 在插件中使用:支持 -* -* 创建媒体音频播放器对象 [MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) 对象,可用于播放视频解码器 [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) 输出的音频。 -* -* **示例代码** -* -* ```js - // 创建视频解码器,具体参数见 createVideoDecoder 文档 - const videoDecoder = wx.createVideoDecoder() - // 创建媒体音频播放器 - const mediaAudioPlayer = wx.createMediaAudioPlayer() - // 启动视频解码器 - videoDecoder.start() - // 启动播放器 - mediaAudioPlayer.start().then(() => { - // 添加播放器音频来源 - mediaAudioPlayer.addAudioSource(videoDecoder).then(res => { - videoDecoder.getFrameData() // 建议在 requestAnimationFrame 里获取每一帧视频数据 - console.log(res) - }) - - // 移除播放器音频来源 - mediaAudioPlayer.removeAudioSource(videoDecoder).then() - // 停止播放器 - mediaAudioPlayer.stop().then() - // 销毁播放器 - mediaAudioPlayer.destroy().then() - // 设置播放器音量 - mediaAudioPlayer.volume = 0.5 - }) -``` -* -* **完整demo(小游戏)** -* -* - https://developers.weixin.qq.com/s/SF2duHmb7MjI */ - createMediaAudioPlayer(): MediaAudioPlayer - /** [[MediaContainer](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.html) wx.createMediaContainer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/wx.createMediaContainer.html) - * - * 需要基础库: `2.9.0` - * - * 在插件中使用:需要基础库 `2.10.0` - * - * 创建音视频处理容器,最终可将容器中的轨道合成一个视频 */ - createMediaContainer(): MediaContainer - /** [[MediaRecorder](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.html) wx.createMediaRecorder(Object canvas, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html) -* -* 需要基础库: `2.11.0` -* -* 在插件中使用:需要基础库 `2.11.0` -* -* 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MCz3kPmC7zpa) -* -* **低版本异步接口兼容** -* -* 对基础库 2.16.1 版本前的 mediaRecorder,所有的接口都没有返回 Promise 对象,若需要兼容低版本,则可采用如下方式的写法: -* ```javascript -// 启动 mediaRecorder -await new Promise(resolve => { - recorder.on('start', resolve) - recorder.start() -}) - -// 逐帧绘制 -while (frames--) { - await new Promise(resolve => recorder.requestFrame(resolve)) - render() -} - -// 绘制完成,生成视频 -const {tempFilePath} = await new Promise(resolve => { - recorder.on('stop', resolve) - recorder.stop() -}) -``` */ - createMediaRecorder( - /** WebGL 对象,通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取到的 node 对象或通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建的离屏 WebGL Canvas 对象 */ - canvas: IAnyObject, - options: CreateMediaRecorderOption - ): MediaRecorder - /** [[NFCAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.html) wx.getNFCAdapter()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/wx.getNFCAdapter.html) - * - * 需要基础库: `2.11.2` - * - * 在插件中使用:需要基础库 `2.11.2` - * - * 获取 NFC 实例 - * - * **示例代码** - * - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/1WsbDwmb75ig) */ - getNFCAdapter(): NFCAdapter - /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:需要基础库 `2.16.1` - * - * 创建离屏 canvas 实例 - * - * **离屏 Canvas 类型不可混用** - * - * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 - * - * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 - * - * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 - * - * **与 MediaRecorder 结合** - * - * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 - * - * **旧版 createOffscreenCanvas** - * - * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 - * - * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 - * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ - createOffscreenCanvas( - /** 画布宽度 */ - width: number, - /** 画布高度 */ - height: number, - /** 在自定义组件下,当前组件实例的 this */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): OffscreenCanvas - /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:需要基础库 `2.16.1` - * - * 创建离屏 canvas 实例 - * - * **离屏 Canvas 类型不可混用** - * - * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 - * - * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 - * - * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 - * - * **与 MediaRecorder 结合** - * - * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 - * - * **旧版 createOffscreenCanvas** - * - * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 - * - * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 - * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ - createOffscreenCanvas( - option: CreateOffscreenCanvasOption - ): OffscreenCanvas - /** [[Performance](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.html) wx.getPerformance()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.getPerformance.html) -* -* 需要基础库: `2.11.0` -* -* 在插件中使用:支持 -* -* 获取当前小程序性能相关的信息。关于小程序启动性能优化的更多内容,请参考[启动性能指南](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/start.html)。 -* -* **** -* -* 目前支持获取以下几类性能指标,具体内容请参考 [PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html): -* -* | 指标类型(entryType) | 指标名称 | 最低版本 | -* | ------------------- | ---------------- | ------ | -* | 路由(navigation) | route: 路由性能 | | -* | 路由(navigation) | appLaunch: 小程序启动耗时 | | -* | 渲染(render) | firstRender: 页面首次渲染耗时 | | -* | 渲染(render) | firstPaint: 页面首次绘制 | <2.21.2> | -* | 渲染(render) | firstContentfulPaint: 页面首次内容绘制 | <2.21.2> | -* | 渲染(render) | largestContentfulPaint: 页面最大内容绘制 | <2.23.1> | -* | 脚本(script) | evaluateScript: 注入脚本耗时 | | -* | 包加载(loadPackage)| downloadPackage: 代码包下载耗时 | <2.24.0> | -* | 资源(resource) | resourceTiming: 视图层资源加载耗时 | <2.24.0> | -* -* **示例代码** -* -* ```js -const performance = wx.getPerformance() -const observer = performance.createObserver((entryList) => { - console.log(entryList.getEntries()) -}) -observer.observe({ entryTypes: ['render', 'script', 'navigation'] }) -``` -* -* **注意** -* -* - 目前,当开启代码 [按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html) 时,`evaluateScript` 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 `firstRender` 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(`appLaunch`)来评估。 -* - firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。 */ - getPerformance(): Performance - /** [[RealtimeLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getRealtimeLogManager.html) -* -* 需要基础库: `2.7.1` -* -* 在插件中使用:需要基础库 `2.16.0` -* -* 获取实时日志管理器对象。 -* -* **示例代码** -* -* ```js -// 小程序端 -const logger = wx.getRealtimeLogManager() -logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) -logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3]) -logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) - -// 插件端,基础库 2.16.0 版本后支持,只允许采用 key-value 的新格式上报 -const logManager = wx.getRealtimeLogManager() -const logger = logManager.tag('plugin-log1') -logger.info('key1', 'value1') -logger.error('key2', {str: 'value2'}) -logger.warn('key3', 'value3') -``` */ - getRealtimeLogManager(): RealtimeLogManager - /** [[RecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.html) wx.getRecorderManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `1.9.94` - * - * 获取**全局唯一**的录音管理器 RecorderManager */ - getRecorderManager(): RecorderManager - /** [[RequestTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.html) wx.request(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 -* -* **data 参数说明** -* -* 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: -* - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`) -* - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化 -* - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)` -* -* **示例代码** -* -* ```js -wx.request({ - url: 'example.php', //仅为示例,并非真实的接口地址 - data: { - x: '', - y: '' - }, - header: { - 'content-type': 'application/json' // 默认值 - }, - success (res) { - console.log(res.data) - } -}) -``` */ - request< - T extends string | IAnyObject | ArrayBuffer = - | string - | IAnyObject - | ArrayBuffer - >( - option: RequestOption<T> - ): RequestTask - /** [[RewardedVideoAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html) wx.createRewardedVideoAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html) - * - * 需要基础库: `2.0.4` - * - * 在插件中使用:需要基础库 `2.8.1` - * - * 创建激励视频广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API(小游戏端要求 >= 2.0.4, 小程序端要求 >= 2.6.0)。调用该方法创建的激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。 */ - createRewardedVideoAd( - option: CreateRewardedVideoAdOption - ): RewardedVideoAd - /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) wx.createSelectorQuery()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createSelectorQuery()` 来代替。 -* -* **示例代码** -* -* ```js -const query = wx.createSelectorQuery() -query.select('#the-id').boundingClientRect() -query.selectViewport().scrollOffset() -query.exec(function(res){ - res[0].top // #the-id节点的上边界坐标 - res[1].scrollTop // 显示区域的竖直滚动位置 -}) -``` */ - createSelectorQuery(): SelectorQuery - /** [[SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) wx.connectSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.connectSocket.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** -* -* 创建一个 WebSocket 连接。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 -* -* **并发数** -* -* - 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。 -* - 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。 -* -* **示例代码** -* -* ```js -wx.connectSocket({ - url: 'wss://example.qq.com', - header:{ - 'content-type': 'application/json' - }, - protocols: ['protocol1'] -}) -``` */ - connectSocket(option: ConnectSocketOption): SocketTask - /** [[TCPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.html) wx.createTCPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/wx.createTCPSocket.html) - * - * 需要基础库: `2.18.0` - * - * 在插件中使用:支持 - * - * 创建一个 TCP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 - * - * **连接限制** - * - * - 允许与局域网内的非本机 IP 通信 - * - 允许与配置过的服务器域名通信,详见[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html) - * - 禁止与以下端口号连接:`1024 以下` `1099` `1433` `1521` `1719` `1720` `1723` `2049` `2375` `3128` `3306` `3389` `3659` `4045` `5060` `5061` `5432` `5984` `6379` `6000` `6566` `7001` `7002` `8000-8100` `8443` `8888` `9200` `9300` `10051` `10080` `11211` `27017` `27018` `27019` - * - 每 5 分钟内最多创建 20 个 TCPSocket */ - createTCPSocket(): TCPSocket - /** [[UDPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.html) wx.createUDPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/wx.createUDPSocket.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 创建一个 UDP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 */ - createUDPSocket(): UDPSocket - /** [[UpdateManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html) wx.getUpdateManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html) - * - * 需要基础库: `1.9.90` - * - * 在插件中使用:不支持 - * - * 获取**全局唯一**的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看[运行机制](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html)文档。 - * - * **示例代码** - * - * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ - getUpdateManager(): UpdateManager - /** [[UploadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.html) wx.uploadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 `content-type` 为 `multipart/form-data`。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 -* -* **示例代码** -* -* ```js -wx.chooseImage({ - success (res) { - const tempFilePaths = res.tempFilePaths - wx.uploadFile({ - url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 - filePath: tempFilePaths[0], - name: 'file', - formData: { - 'user': 'test' - }, - success (res){ - const data = res.data - //do something - } - }) - } -}) -``` */ - uploadFile(option: UploadFileOption): UploadTask - /** [[UserCryptoManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.html) wx.getUserCryptoManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/wx.getUserCryptoManager.html) - * - * 需要基础库: `2.17.3` - * - * 在插件中使用:不支持 - * - * 获取用户加密模块 */ - getUserCryptoManager(): UserCryptoManager - /** [[VKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.html) wx.createVKSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) -* -* 需要基础库: `2.20.0` -* -* 在插件中使用:需要基础库 `2.20.0` -* -* 创建 vision kit 会话对象。 -* -* **示例代码** -* -* v1 版本:[VisionKit基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic) -* v2 版本:[VisionKit-v2基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic-v2) -* ```js -// 以下 demo 以 v2 为例 -// 创建 session 对象 -const ssession = wx.createVKSession({ - track: { - plane: {mode: 3}, - }, - version: 'v2', - gl, // WebGLRenderingContext -}) - -// 逐帧分析 -const onFrame = timestamp => { - // 开发者可以自己控制帧率 - const frame = session.getVKFrame(canvasWidth, canvasHeight) - if (frame) { - // 分析完毕,可以拿到帧对象 - doRender(frame) - } - - session.requestAnimationFrame(onFrame) -} -session.start(err => { - if (!err) session.requestAnimationFrame(onFrame) -}) - -// 渲染函数 -const doRender = frame => { - // ... -} -``` */ - createVKSession(option: VKConfig): VKSession - /** [[VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) wx.createVideoContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.createVideoContext.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 创建 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 上下文 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ - createVideoContext( - /** [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件的 id */ - id: string, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): VideoContext - /** [[VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) wx.createVideoDecoder()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:需要基础库 `2.11.0` - * - * 创建视频解码器,可逐帧获取解码后的数据 */ - createVideoDecoder(): VideoDecoder - /** [[WebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.html) wx.createWebAudioContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) - * - * 需要基础库: `2.19.0` - * - * 在插件中使用:不支持 - * - * 创建 WebAudio 上下文。 */ - createWebAudioContext(): WebAudioContext - /** [[Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) wx.createWorker(string scriptPath, object options)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) -* -* 需要基础库: `1.9.90` -* -* 在插件中使用:需要基础库 `2.18.1` -* -* 创建一个 Worker 线程 -* -* **示例代码** -* -* ```js -// 创建普通worker -wx.createWorker('workers/index.js') -``` -* ```js -function createNewWorker() { - const worker = wx.createWorker('workers/index.js', { - useExperimentalWorker: true - }) - // 监听worker被系统回收事件 - worker.onProcessKilled(() => { - // 重新创建一个worker - createNewWorker() - }) -} -// 创建实验worker -createNewWorker() -``` */ - createWorker( - /** worker 入口文件的**绝对路径** */ - scriptPath: string, - /** 可选参数 */ - options?: CreateWorkerOption - ): Worker - /** [any wx.getStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 从本地缓存中同步获取指定 key 的内容。 -* -* **注意** -* -* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 -* -* **示例代码** -* -* ```js -try { - var value = wx.getStorageSync('key') - if (value) { - // Do something with return value - } -} catch (e) { - // Do something when catch error -} -``` */ - getStorageSync<T = any>( - /** 本地缓存中指定的 key */ - key: string - ): T - /** [boolean wx.canIUse(string schema)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) -* -* 需要基础库: `1.1.1` -* -* 在插件中使用:不支持 -* -* 判断小程序的API,回调,参数,组件等是否在当前版本可用。 -* -* **参数说明** -* -* - `${API}` 代表 API 名字 -* - `${method}` 代表调用方式,有效值为return, success, object, callback -* - `${param}` 代表参数或者返回值 -* - `${option}` 代表参数的可选值或者返回值的属性 -* - `${component}` 代表组件名字 -* - `${attribute}` 代表组件属性 -* - `${option}` 代表组件属性的可选值 -* -* **示例代码** -* -* ```js -// 对象的属性或方法 -wx.canIUse('console.log') -wx.canIUse('CameraContext.onCameraFrame') -wx.canIUse('CameraFrameListener.start') -wx.canIUse('Image.src') - -// wx接口参数、回调或者返回值 -wx.canIUse('openBluetoothAdapter') -wx.canIUse('getSystemInfoSync.return.safeArea.left') -wx.canIUse('getSystemInfo.success.screenWidth') -wx.canIUse('showToast.object.image') -wx.canIUse('onCompassChange.callback.direction') -wx.canIUse('request.object.method.GET') - -// 组件的属性 -wx.canIUse('live-player') -wx.canIUse('text.selectable') -wx.canIUse('button.open-type.contact') -``` */ - canIUse( - /** 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 */ - schema: string - ): boolean - /** [boolean wx.isVKSupport(string version)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.isVKSupport.html) -* -* 需要基础库: `2.22.0` -* -* 在插件中使用:需要基础库 `2.22.0` -* -* 判断支持版本 -* -* **示例代码** -* -* ```js -const isSupportV2 = wx.isVKSupport('v2') -``` */ - isVKSupport( - /** 参数 version 可选值: - * - 'v1': 旧版本; - * - 'v2': v2 版本,目前只有 iOS 基础库 2.22.0 以上支持; */ - version: 'v1' | 'v2' - ): boolean - /** [string wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html) - * - * 需要基础库: `1.1.0` - * - * 在插件中使用:支持 - * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 将 ArrayBuffer 对象转成 Base64 字符串 */ - arrayBufferToBase64( - /** 要转换成 Base64 字符串的 ArrayBuffer 对象 */ - arrayBuffer: ArrayBuffer - ): string - /** [wx.addCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:不支持 -* -* 批量添加卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 -* -* **cardExt 说明** -* -* cardExt 是卡券的扩展参数,其值是一个 JSON 字符串。 -* -* **示例代码** -* -* ```js -wx.addCard({ - cardList: [ - { - cardId: '', - cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' - }, { - cardId: '', - cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' - } - ], - success (res) { - console.log(res.cardList) // 卡券添加结果 - } -}) -``` */ - addCard<T extends AddCardOption = AddCardOption>( - option: T - ): PromisifySuccessResult<T, AddCardOption> - /** [wx.addFileToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addFileToFavorites.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:不支持 - * - * 收藏文件 */ - addFileToFavorites< - T extends AddFileToFavoritesOption = AddFileToFavoritesOption - >( - option: T - ): PromisifySuccessResult<T, AddFileToFavoritesOption> - /** [wx.addPhoneCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:不支持 - * - * 向系统日历添加事件 */ - addPhoneCalendar< - T extends AddPhoneCalendarOption = AddPhoneCalendarOption - >( - option: T - ): PromisifySuccessResult<T, AddPhoneCalendarOption> - /** [wx.addPhoneContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 添加手机通讯录联系人。用户可以选择将该表单以「新增联系人」或「添加到已有联系人」的方式,写入手机系统通讯录。 */ - addPhoneContact< - T extends AddPhoneContactOption = AddPhoneContactOption - >( - option: T - ): PromisifySuccessResult<T, AddPhoneContactOption> - /** [wx.addPhoneRepeatCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:不支持 - * - * 向系统日历添加重复事件 */ - addPhoneRepeatCalendar< - T extends AddPhoneRepeatCalendarOption = AddPhoneRepeatCalendarOption - >( - option: T - ): PromisifySuccessResult<T, AddPhoneRepeatCalendarOption> - /** [wx.addVideoToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addVideoToFavorites.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:不支持 - * - * 收藏视频 */ - addVideoToFavorites< - T extends AddVideoToFavoritesOption = AddVideoToFavoritesOption - >( - option: T - ): PromisifySuccessResult<T, AddVideoToFavoritesOption> - /** [wx.authPrivateMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.authPrivateMessage.html) -* -* 需要基础库: `2.13.0` -* -* 在插件中使用:不支持 -* -* 验证私密消息。用法详情见 [小程序私密消息使用指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) -* -* **示例代码** -* -* ```js -wx.authPrivateMessage({ - shareTicket: 'xxxxxx', - success(res) { - console.log('authPrivateMessage success', res) - // res - // { - // errMsg: 'authPrivateMessage:ok' - // valid: true - // iv: 'xxxx', - // encryptedData: 'xxxxxx' - // } - }, - fail(res) { - console.log('authPrivateMessage fail', res) - } -}) -``` */ - authPrivateMessage(option?: AuthPrivateMessageOption): void - /** [wx.authorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:不支持 -* -* 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)。 -* > 小程序插件可以使用 [wx.authorizeForMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) -* -* **示例代码** -* -* ```js -// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope -wx.getSetting({ - success(res) { - if (!res.authSetting['scope.record']) { - wx.authorize({ - scope: 'scope.record', - success () { - // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 - wx.startRecord() - } - }) - } - } -}) -``` */ - authorize<T extends AuthorizeOption = AuthorizeOption>( - option: T - ): PromisifySuccessResult<T, AuthorizeOption> - /** [wx.authorizeForMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) -* -* 需要基础库: `2.14.4` -* -* 在插件中使用:需要基础库 `2.14.4` -* -* **仅小程序插件中能调用该接口**,用法同 [wx.authorize](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)。目前仅支持三种 scope(见下) -* -* **示例代码** -* -* ```js -wx.authorizeForMiniProgram({ - scope: 'scope.record', - success () { - // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 - wx.startRecord() - } -}) -``` */ - authorizeForMiniProgram(option: AuthorizeForMiniProgramOption): void - /** [wx.batchGetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:不支持 -* -* 从本地缓存中异步批量获取指定 key 的内容。 -* -* **示例代码** -* -* ```js -wx.batchGetStorage({ - keyList: ['key'], - success (res) { - console.log(res) - } -}) -``` */ - batchGetStorage< - T extends BatchGetStorageOption = BatchGetStorageOption - >( - option: T - ): PromisifySuccessResult<T, BatchGetStorageOption> - /** [wx.batchSetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorage.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 -* -* **示例代码** -* -* ```js -wx.setStorage({ - key:"key", - data:"value" -}) -``` -* -* ```js -// 开启加密存储 -wx.batchSetStorage({ - kvList: { - key: 'key', - value: 'value', - } -}) -``` */ - batchSetStorage< - T extends BatchSetStorageOption = BatchSetStorageOption - >( - option: T - ): PromisifySuccessResult<T, BatchSetStorageOption> - /** [wx.batchSetStorageSync(KVArray kvList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorageSync.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 -* -* **示例代码** -* -* ```js -try { - wx.batchSetStorageSync([{key: 'key', value: 'value'}]) -} catch (e) { } -``` */ - batchSetStorageSync(kvList: KVArray): void - /** [wx.canvasGetImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取 canvas 区域隐含的像素数据。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/yufmRjmZ7W8f) -* -* ```js -wx.canvasGetImageData({ - canvasId: 'myCanvas', - x: 0, - y: 0, - width: 100, - height: 100, - success(res) { - console.log(res.width) // 100 - console.log(res.height) // 100 - console.log(res.data instanceof Uint8ClampedArray) // true - console.log(res.data.length) // 100 * 100 * 4 - } -}) -``` */ - canvasGetImageData< - T extends CanvasGetImageDataOption = CanvasGetImageDataOption - >( - option: T, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): PromisifySuccessResult<T, CanvasGetImageDataOption> - /** [wx.canvasPutImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件 */ - canvasPutImageData< - T extends CanvasPutImageDataOption = CanvasPutImageDataOption - >( - option: T, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): PromisifySuccessResult<T, CanvasPutImageDataOption> - /** [wx.canvasToTempFilePath(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 */ - canvasToTempFilePath< - T extends CanvasToTempFilePathOption = CanvasToTempFilePathOption - >( - option: T, - /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ - component?: Component.TrivialInstance | Page.TrivialInstance - ): PromisifySuccessResult<T, CanvasToTempFilePathOption> - /** [wx.checkIsOpenAccessibility(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accessibility/wx.checkIsOpenAccessibility.html) - * - * 需要基础库: `2.13.0` - * - * 在插件中使用:不支持 - * - * 检测是否开启视觉无障碍功能。 */ - checkIsOpenAccessibility< - T extends CheckIsOpenAccessibilityOption = CheckIsOpenAccessibilityOption - >( - option?: T - ): PromisifySuccessResult<T, CheckIsOpenAccessibilityOption> - /** [wx.checkIsSoterEnrolledInDevice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSoterEnrolledInDevice.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:不支持 -* -* 获取设备内是否录入如指纹等生物信息的接口 -* -* **示例代码** -* -* ```js -wx.checkIsSoterEnrolledInDevice({ - checkAuthMode: 'fingerPrint', - success(res) { - console.log(res.isEnrolled) - } -}) -``` */ - checkIsSoterEnrolledInDevice< - T extends CheckIsSoterEnrolledInDeviceOption = CheckIsSoterEnrolledInDeviceOption - >( - option: T - ): PromisifySuccessResult<T, CheckIsSoterEnrolledInDeviceOption> - /** [wx.checkIsSupportSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSupportSoterAuthentication.html) -* -* 需要基础库: `1.5.0` -* -* 在插件中使用:不支持 -* -* 获取本机支持的 SOTER 生物认证方式 -* -* **示例代码** -* -* ```js -wx.checkIsSupportSoterAuthentication({ - success(res) { - // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式 - // res.supportMode = ['fingerPrint'] 只支持指纹识别 - // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别 - } -}) -``` */ - checkIsSupportSoterAuthentication< - T extends CheckIsSupportSoterAuthenticationOption = CheckIsSupportSoterAuthenticationOption - >( - option?: T - ): PromisifySuccessResult<T, CheckIsSupportSoterAuthenticationOption> - /** [wx.checkSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html) -* -* 在插件中使用:不支持 -* -* 检查登录态是否过期。 -* 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。 -* -* 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。 -* -* **示例代码** -* -* ```js -wx.checkSession({ - success () { - //session_key 未过期,并且在本生命周期一直有效 - }, - fail () { - // session_key 已经失效,需要重新执行登录流程 - wx.login() //重新登录 - } -}) -``` */ - checkSession<T extends CheckSessionOption = CheckSessionOption>( - option?: T - ): PromisifySuccessResult<T, CheckSessionOption> - /** [wx.chooseAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.16.1` -* -* 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。 -* ## 使用方法 -* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) -* ## 申请开通 -* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 -* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/024hHnmd772y) -* ```js -wx.chooseAddress({ - success (res) { - console.log(res.userName) - console.log(res.postalCode) - console.log(res.provinceName) - console.log(res.cityName) - console.log(res.countyName) - console.log(res.detailInfo) - console.log(res.nationalCode) - console.log(res.telNumber) - } -}) -``` */ - chooseAddress<T extends ChooseAddressOption = ChooseAddressOption>( - option?: T - ): PromisifySuccessResult<T, ChooseAddressOption> - /** [wx.chooseContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.chooseContact.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 拉起手机通讯录,选择联系人。 */ - chooseContact(option?: ChooseContactOption): void - /** [wx.chooseImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 -* -* 从本地相册选择图片或使用相机拍照。 -* -* **** -* -* ```js -wx.chooseImage({ - count: 1, - sizeType: ['original', 'compressed'], - sourceType: ['album', 'camera'], - success (res) { - // tempFilePath可以作为img标签的src属性显示图片 - const tempFilePaths = res.tempFilePaths - } -}) -``` */ - chooseImage<T extends ChooseImageOption = ChooseImageOption>( - option?: T - ): PromisifySuccessResult<T, ChooseImageOption> - /** [wx.chooseInvoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.16.1` - * - * 选择用户已有的发票。 - * - * **通过 cardId 和 encryptCode 获得报销发票的信息** - * - * 请参考[微信电子发票文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21517918939oae3U)中,「查询报销发票信息」部分。 - * 其中 `access_token` 的获取请参考[auth.getAccessToken](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html)文档 */ - chooseInvoice<T extends ChooseInvoiceOption = ChooseInvoiceOption>( - option?: T - ): PromisifySuccessResult<T, ChooseInvoiceOption> - /** [wx.chooseInvoiceTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html) -* -* 需要基础库: `1.5.0` -* -* 在插件中使用:需要基础库 `2.16.1` -* -* 选择用户的发票抬头。当前小程序必须关联一个公众号,且这个公众号是完成了[微信认证](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496554031_RD4xe)的,才能调用 chooseInvoiceTitle。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/GJ4S9nmQ7x2E) -* -* ```js -wx.chooseInvoiceTitle({ - success(res) {} -}) -``` */ - chooseInvoiceTitle< - T extends ChooseInvoiceTitleOption = ChooseInvoiceTitleOption - >( - option?: T - ): PromisifySuccessResult<T, ChooseInvoiceTitleOption> - /** [wx.chooseLicensePlate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/license-plate/wx.chooseLicensePlate.html) - * - * 需要基础库: `2.19.0` - * - * 在插件中使用:不支持 - * - * 选择车牌号 */ - chooseLicensePlate< - T extends ChooseLicensePlateOption = ChooseLicensePlateOption - >( - option?: T - ): PromisifySuccessResult<T, ChooseLicensePlateOption> - /** [wx.chooseLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** - * - * 打开地图选择位置。 - * ## 使用方法 - * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) - * ## 申请开通 - * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 - * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 - * - * **示例** - * - * ![](https://res.wx.qq.com/op_res/WDFC8aB4FI8rJ9oEmbYfbH_Fl3EIv91471YVxezVfLRESkUuCgfODZcbOoyteKU4j-OLZa2EFKY9BDPd3g-tfg) */ - chooseLocation<T extends ChooseLocationOption = ChooseLocationOption>( - option: T - ): PromisifySuccessResult<T, ChooseLocationOption> - /** [wx.chooseMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) -* -* 需要基础库: `2.10.0` -* -* 在插件中使用:需要基础库 `2.11.1` -* -* 拍摄或从手机相册中选择图片或视频。 -* -* **示例代码** -* -* ```js -wx.chooseMedia({ - count: 9, - mediaType: ['image','video'], - sourceType: ['album', 'camera'], - maxDuration: 30, - camera: 'back', - success(res) { - console.log(res.tempFiles.tempFilePath) - console.log(res.tempFiles.size) - } -}) -``` */ - chooseMedia<T extends ChooseMediaOption = ChooseMediaOption>( - option: T - ): PromisifySuccessResult<T, ChooseMediaOption> - /** [wx.chooseMessageFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html) -* -* 需要基础库: `2.5.0` -* -* 在插件中使用:不支持 -* -* 从客户端会话选择文件。 -* -* **** -* -* ```js -wx.chooseMessageFile({ - count: 10, - type: 'image', - success (res) { - // tempFilePath可以作为img标签的src属性显示图片 - const tempFilePaths = res.tempFiles - } -}) -``` */ - chooseMessageFile< - T extends ChooseMessageFileOption = ChooseMessageFileOption - >( - option: T - ): PromisifySuccessResult<T, ChooseMessageFileOption> - /** [wx.choosePoi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.choosePoi.html) - * - * 在插件中使用:不支持 - * - * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** - * - * 打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选。 - * ## 使用方法 - * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) - * ## 申请开通 - * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 - * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 - * - * **示例** - * - * ![](https://res.wx.qq.com/op_res/lzDsNyBNifLczyLX0ms7ZpPQysgAgdhrQTGzzTQPiXkAB2HJIf1Slvl4rnN9I1q0AT3xqoGTg98jMsNexDLbbA) */ - choosePoi<T extends ChoosePoiOption = ChoosePoiOption>( - option: T - ): PromisifySuccessResult<T, ChoosePoiOption> - /** [wx.chooseVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 -* -* 拍摄视频或从手机相册中选视频。 -* -* **示例代码** -* -* ```js -wx.chooseVideo({ - sourceType: ['album','camera'], - maxDuration: 60, - camera: 'back', - success(res) { - console.log(res.tempFilePath) - } -}) -``` */ - chooseVideo<T extends ChooseVideoOption = ChooseVideoOption>( - option: T - ): PromisifySuccessResult<T, ChooseVideoOption> - /** [wx.clearStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) -* -* 在插件中使用:不支持 -* -* 清理本地数据缓存。 -* -* **示例代码** -* -* ```js -wx.clearStorage() -``` -* -* ```js -try { - wx.clearStorageSync() -} catch(e) { - // Do something when catch error -} -``` */ - clearStorage<T extends ClearStorageOption = ClearStorageOption>( - option?: T - ): PromisifySuccessResult<T, ClearStorageOption> - /** [wx.clearStorageSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html) -* -* 在插件中使用:不支持 -* -* [wx.clearStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) 的同步版本 -* -* **示例代码** -* -* ```js -wx.clearStorage() -``` -* -* ```js -try { - wx.clearStorageSync() -} catch(e) { - // Do something when catch error -} -``` */ - clearStorageSync(): void - /** [wx.closeBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 断开与蓝牙低功耗设备的连接。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.closeBLEConnection({ - deviceId, - success (res) { - console.log(res) - } -}) -``` */ - closeBLEConnection< - T extends CloseBLEConnectionOption = CloseBLEConnectionOption - >( - option: T - ): PromisifySuccessResult<T, CloseBLEConnectionOption> - /** [wx.closeBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 成对调用。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.closeBluetoothAdapter({ - success (res) { - console.log(res) - } -}) -``` */ - closeBluetoothAdapter< - T extends CloseBluetoothAdapterOption = CloseBluetoothAdapterOption - >( - option?: T - ): PromisifySuccessResult<T, CloseBluetoothAdapterOption> - /** [wx.closeSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.closeSocket.html) -* -* 在插件中使用:不支持 -* -* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** -* -* 关闭 WebSocket 连接。 -* -* **示例代码** -* -* ```js -wx.connectSocket({ - url: 'test.php' -}) - -//注意这里有时序问题, -//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。 -//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。 -wx.onSocketOpen(function() { - wx.closeSocket() -}) - -wx.onSocketClose(function(res) { - console.log('WebSocket 已关闭!') -}) -``` */ - closeSocket<T extends CloseSocketOption = CloseSocketOption>( - option?: T - ): PromisifySuccessResult<T, CloseSocketOption> - /** [wx.compressImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.compressImage.html) -* -* 需要基础库: `2.4.0` -* -* 在插件中使用:需要基础库 `2.12.0` -* -* 压缩图片接口,可选压缩质量 -* -* **示例代码** -* -* ```js -wx.compressImage({ - src: '', // 图片路径 - quality: 80 // 压缩质量 -}) -``` */ - compressImage<T extends CompressImageOption = CompressImageOption>( - option: T - ): PromisifySuccessResult<T, CompressImageOption> - /** [wx.compressVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.compressVideo.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:需要基础库 `2.11.1` - * - * 压缩视频接口。开发者可指定压缩质量 `quality` 进行压缩。当需要更精细的控制时,可指定 `bitrate`、`fps`、和 `resolution`,当 `quality` 传入时,这三个参数将被忽略。原视频的相关信息可通过 [getVideoInfo](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) 获取。 */ - compressVideo<T extends CompressVideoOption = CompressVideoOption>( - option: T - ): PromisifySuccessResult<T, CompressVideoOption> - /** [wx.connectWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.connectWifi.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。 -* -* **示例代码** -* -* ```js -wx.connectWifi({ - SSID: '', - password: '', - success (res) { - console.log(res.errMsg) - } -}) -``` -* -* **注意** -* -* - Android 微信客户端 7.0.22 以上版本,connectWifi 的实现在 Android 10 及以上的手机无法生效,对于 Android 10 及以上版本,设备连接 wifi 之后,(受系统能力限制)其他进程无法使用当前连接的 wifi ;即连接上的 wifi 只对当前小程序有效,如果想要对整个系统生效,需要配置 maunal 来连接 wifi。 -* - iOS 系统底层没有给开发者提供因 wifi 密码错误而连接失败的事件,但用户可以收到密码错误的系统弹窗。建议开发者通过 onWifiConnected 事件来判断 wifi 是否连接成功;即设置定时器,若超时后仍没有 onWifiConnected 事件,则认定此次 wifi 连接无效。 -* - Android / iOS 在系统已经连上目标 wifi 的情况下,小程序再次连接目标 wifi,此时无论输入的密码是否正确,系统都会默认此次连接成功,且没有 onWifiConnected 事件。 -* - onWifiConnected 事件可能会返回空对象,此时代表 wifi 断开连接,开发者可忽略这种情况。 */ - connectWifi<T extends ConnectWifiOption = ConnectWifiOption>( - option: T - ): PromisifySuccessResult<T, ConnectWifiOption> - /** [wx.createBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 连接蓝牙低功耗设备。 -* -* 若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需再次进行搜索操作。 -* -* **注意** -* -* - 请保证尽量成对的调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 和 [wx.closeBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) 接口。安卓如果重复调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用 `closeBLEConnection` 的时候并不能真正的断开与设备的连接。 -* - 蓝牙连接随时可能断开,建议监听 [wx.onBLEConnectionStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) 回调事件,当蓝牙设备断开时按需执行重连操作 -* - 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.createBLEConnection({ - deviceId, - success (res) { - console.log(res) - } -}) -``` */ - createBLEConnection< - T extends CreateBLEConnectionOption = CreateBLEConnectionOption - >( - option: T - ): PromisifySuccessResult<T, CreateBLEConnectionOption> - /** [wx.createBLEPeripheralServer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:需要基础库 `2.22.1` - * - * 建立本地作为蓝牙低功耗外围设备的服务端,可创建多个。 */ - createBLEPeripheralServer< - T extends CreateBLEPeripheralServerOption = CreateBLEPeripheralServerOption - >( - option?: T - ): PromisifySuccessResult<T, CreateBLEPeripheralServerOption> - /** [wx.createBufferURL(ArrayBuffer|TypedArray buffer)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:不支持 - * - * 根据传入的 buffer 创建一个唯一的 URL 存在内存中 */ - createBufferURL( - /** 需要存入内存的二进制数据 */ - buffer: - | ArrayBuffer - | Int8Array - | Uint8Array - | Uint8ClampedArray - | Int16Array - | Uint16Array - | Int32Array - | Uint32Array - | Float32Array - | Float64Array - ): void - /** [wx.disableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.disableAlertBeforeUnload.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:不支持 - * - * 关闭小程序页面返回询问对话框。 */ - disableAlertBeforeUnload(option?: DisableAlertBeforeUnloadOption): void - /** [wx.editImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.editImage.html) -* -* 需要基础库: `2.22.0` -* -* 在插件中使用:不支持 -* -* 编辑图片接口 -* -* **示例代码** -* -* ```js -wx.editImage({ - src: '', // 图片路径 -}) -``` */ - editImage(option: EditImageOption): void - /** [wx.enableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:不支持 - * - * 开启小程序页面返回询问对话框。 - * - * ## 弹窗条件 - * * 当用户在小程序内非首页页面/最底层页 - * * 官方导航栏上的的返回 - * * 全屏模式下自绘返回键 - * * android 系统 back 键时 - * - * ## 注意事项 - * * 手势滑动返回时不做拦截 - * * 在任何场景下,此功能都不应拦住用户退出小程序的行为 - * - * **示例代码** - * - * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MTPm9Cmh7VfT) */ - enableAlertBeforeUnload(option: EnableAlertBeforeUnloadOption): void - /** [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html) - * - * 需要基础库: `2.17.3` - * - * 在插件中使用:不支持 - * - * 退出当前小程序。必须有点击行为才能调用成功。 */ - exitMiniProgram< - T extends ExitMiniProgramOption = ExitMiniProgramOption - >( - option?: T - ): PromisifySuccessResult<T, ExitMiniProgramOption> - /** [wx.exitVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.exitVoIPChat.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.0` - * - * 退出(销毁)实时语音通话 */ - exitVoIPChat<T extends ExitVoIPChatOption = ExitVoIPChatOption>( - option?: T - ): PromisifySuccessResult<T, ExitVoIPChatOption> - /** [wx.faceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html) - * - * 需要基础库: `2.18.0` - * - * 在插件中使用:需要基础库 `2.21.3` - * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 人脸检测,使用前需要通过 wx.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ - faceDetect(option: FaceDetectOption): void - /** [wx.getAvailableAudioSources(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) - * - * 需要基础库: `2.1.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 获取当前支持的音频输入源 */ - getAvailableAudioSources< - T extends GetAvailableAudioSourcesOption = GetAvailableAudioSourcesOption - >( - option?: T - ): PromisifySuccessResult<T, GetAvailableAudioSourcesOption> - /** [wx.getBLEDeviceCharacteristics(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取蓝牙低功耗设备某个服务中所有特征 (characteristic)。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.getBLEDeviceCharacteristics({ - // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接 - deviceId, - // 这里的 serviceId 需要在 wx.getBLEDeviceServices 接口中获取 - serviceId, - success (res) { - console.log('device getBLEDeviceCharacteristics:', res.characteristics) - } -}) -``` */ - getBLEDeviceCharacteristics< - T extends GetBLEDeviceCharacteristicsOption = GetBLEDeviceCharacteristicsOption - >( - option: T - ): PromisifySuccessResult<T, GetBLEDeviceCharacteristicsOption> - /** [wx.getBLEDeviceRSSI(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:需要基础库 `2.11.0` - * - * 获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。 */ - getBLEDeviceRSSI< - T extends GetBLEDeviceRSSIOption = GetBLEDeviceRSSIOption - >( - option: T - ): PromisifySuccessResult<T, GetBLEDeviceRSSIOption> - /** [wx.getBLEDeviceServices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取蓝牙低功耗设备所有服务 (service)。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.getBLEDeviceServices({ - // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立连接 - deviceId, - success (res) { - console.log('device services:', res.services) - } -}) -``` */ - getBLEDeviceServices< - T extends GetBLEDeviceServicesOption = GetBLEDeviceServicesOption - >( - option: T - ): PromisifySuccessResult<T, GetBLEDeviceServicesOption> - /** [wx.getBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEMTU.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.20.1` -* -* 获取蓝牙低功耗的最大传输单元。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。 -* -* **注意** -* -* - 小程序中 MTU 为 ATT_MTU,包含 Op-Code 和 Attribute Handle 的长度,实际可以传输的数据长度为 `ATT_MTU - 3` -* - iOS 系统中 MTU 为固定值;安卓系统中,MTU 会在系统协商成功之后发生改变,建议使用 [wx.onBLEMTUChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) 监听。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.getBLEMTU({ - deviceId: '', - writeType: 'write', - success (res) { - console.log(res) - } -}) -``` */ - getBLEMTU<T extends GetBLEMTUOption = GetBLEMTUOption>( - option: T - ): PromisifySuccessResult<T, GetBLEMTUOption> - /** [wx.getBackgroundAudioPlayerState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioPlayerState.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 -* -* 获取后台音乐播放状态。 -* -* **示例代码** -* -* ```js -wx.getBackgroundAudioPlayerState({ - success (res) { - const status = res.status - const dataUrl = res.dataUrl - const currentPosition = res.currentPosition - const duration = res.duration - const downloadPercent = res.downloadPercent - } -}) -``` */ - getBackgroundAudioPlayerState< - T extends GetBackgroundAudioPlayerStateOption = GetBackgroundAudioPlayerStateOption - >( - option?: T - ): PromisifySuccessResult<T, GetBackgroundAudioPlayerStateOption> - /** [wx.getBackgroundFetchData(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 拉取 backgroundFetch 客户端缓存数据。 - * 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据会返回失败,而不会等待请求完成。 */ - getBackgroundFetchData< - T extends GetBackgroundFetchDataOption = GetBackgroundFetchDataOption - >( - option: T - ): PromisifySuccessResult<T, GetBackgroundFetchDataOption> - /** [wx.getBackgroundFetchToken(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchToken.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 获取设置过的自定义登录态。若无,则返回 fail。 */ - getBackgroundFetchToken< - T extends GetBackgroundFetchTokenOption = GetBackgroundFetchTokenOption - >( - option?: T - ): PromisifySuccessResult<T, GetBackgroundFetchTokenOption> - /** [wx.getBatteryInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 获取设备电量。同步 API [wx.getBatteryInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) 在 iOS 上不可用。 */ - getBatteryInfo<T extends GetBatteryInfoOption = GetBatteryInfoOption>( - option?: T - ): PromisifySuccessResult<T, GetBatteryInfoOption> - /** [wx.getBeacons(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.getBeacons.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 获取所有已搜索到的 Beacon 设备 */ - getBeacons<T extends GetBeaconsOption = GetBeaconsOption>( - option?: T - ): PromisifySuccessResult<T, GetBeaconsOption> - /** [wx.getBluetoothAdapterState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothAdapterState.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取本机蓝牙适配器状态。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.getBluetoothAdapterState({ - success (res) { - console.log(res) - } -}) -``` */ - getBluetoothAdapterState< - T extends GetBluetoothAdapterStateOption = GetBluetoothAdapterStateOption - >( - option?: T - ): PromisifySuccessResult<T, GetBluetoothAdapterStateOption> - /** [wx.getBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* -* ```js -// ArrayBuffer转16进度字符串示例 -function ab2hex(buffer) { - var hexArr = Array.prototype.map.call( - new Uint8Array(buffer), - function(bit) { - return ('00' + bit.toString(16)).slice(-2) - } - ) - return hexArr.join(''); -} -wx.getBluetoothDevices({ - success: function (res) { - console.log(res) - if (res.devices[0]) { - console.log(ab2hex(res.devices[0].advertisData)) - } - } -}) -``` -* -* **注意** -* -* - 该接口获取到的设备列表为**蓝牙模块生效期间所有搜索到的蓝牙设备**,若在蓝牙模块使用流程结束后未及时调用 [wx.closeBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) 释放资源,会存在调用该接口会返回之前的蓝牙使用流程中搜索到的蓝牙设备,可能设备已经不在用户身边,无法连接。 */ - getBluetoothDevices< - T extends GetBluetoothDevicesOption = GetBluetoothDevicesOption - >( - option?: T - ): PromisifySuccessResult<T, GetBluetoothDevicesOption> - /** [wx.getChannelsLiveInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveInfo.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:不支持 - * - * 获取视频号直播信息 */ - getChannelsLiveInfo(option: GetChannelsLiveInfoOption): void - /** [wx.getChannelsLiveNoticeInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveNoticeInfo.html) - * - * 需要基础库: `2.19.0` - * - * 在插件中使用:不支持 - * - * 获取视频号直播预告信息 */ - getChannelsLiveNoticeInfo(option: GetChannelsLiveNoticeInfoOption): void - /** [wx.getChannelsShareKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsShareKey.html) - * - * 需要基础库: `2.22.1` - * - * 在插件中使用:不支持 - * - * 获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用。 */ - getChannelsShareKey(option?: GetChannelsShareKeyOption): void - /** [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.getClipboardData.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取系统剪贴板的内容 -* -* **示例代码** -* -* ```js -wx.getClipboardData({ - success (res){ - console.log(res.data) - } -}) -``` */ - getClipboardData< - T extends GetClipboardDataOption = GetClipboardDataOption - >( - option?: T - ): PromisifySuccessResult<T, GetClipboardDataOption> - /** [wx.getConnectedBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getConnectedBluetoothDevices.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 根据主服务 UUID 获取已连接的蓝牙设备。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.getConnectedBluetoothDevices({ - services: ['FEE7'], - success (res) { - console.log(res) - } -}) -``` */ - getConnectedBluetoothDevices< - T extends GetConnectedBluetoothDevicesOption = GetConnectedBluetoothDevicesOption - >( - option: T - ): PromisifySuccessResult<T, GetConnectedBluetoothDevicesOption> - /** [wx.getConnectedWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getConnectedWifi.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 获取已连接中的 Wi-Fi 信息。 */ - getConnectedWifi< - T extends GetConnectedWifiOption = GetConnectedWifiOption - >( - option: T - ): PromisifySuccessResult<T, GetConnectedWifiOption> - /** [wx.getExtConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:不支持 -* -* 获取[第三方平台](https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html)自定义的数据字段。 -* -* **Tips** -* -* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 是否存在来兼容 -* -* **** -* -* ```js -if (wx.getExtConfig) { - wx.getExtConfig({ - success (res) { - console.log(res.extConfig) - } - }) -} -``` */ - getExtConfig<T extends GetExtConfigOption = GetExtConfigOption>( - option?: T - ): PromisifySuccessResult<T, GetExtConfigOption> - /** [wx.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileInfo.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:不支持 -* -* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** -* -* 获取文件信息。 -* -* **示例代码** -* -* ```js -wx.getFileInfo({ - success (res) { - console.log(res.size) - console.log(res.digest) - } -}) -``` */ - getFileInfo<T extends WxGetFileInfoOption = WxGetFileInfoOption>( - option: T - ): PromisifySuccessResult<T, WxGetFileInfoOption> - /** [wx.getFuzzyLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html) -* -* 需要基础库: `2.25.0` -* -* 在插件中使用:支持 -* -* 获取当前的模糊地理位置。 -* ## 使用方法 -* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) -* ## 申请开通 -* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 从2022年7月14日开始在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 -* -* **示例代码** -* -* ```js - wx.getFuzzyLocation({ - type: 'wgs84', - success (res) { - const latitude = res.latitude - const longitude = res.longitude - } -}) - ``` */ - getFuzzyLocation(option: GetFuzzyLocationOption): void - /** [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html) -* -* 需要基础库: `2.10.4` -* -* 在插件中使用:不支持 -* -* 获取微信群聊场景下的小程序启动信息。群聊场景包括群聊小程序消息卡片、群待办、群工具。可用于获取当前群的 opengid。 -* ## 注意事项 -* - 基础库 v2.10.4 开始支持获取群工具小程序启动信息 -* - 基础库 v2.17.3 开始支持获取群聊小程序消息卡片、群待办小程序启动信息 -* -* **示例代码** -* -* ```js -wx.getGroupEnterInfo({ - success(res) { - // res - { - errMsg: 'getGroupEnterInfo:ok', - encryptedData: '', - iv: '' - } - }, - fail() { - - } -}) -``` -* -* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 -* 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识): -* -* ```json -{ - "opengid": "OPENGID" -} -``` -* -* **Tips** -* -* - 如需要展示群名称,小程序可以使用[开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) -* - 小游戏可以通过 `wx.getGroupInfo` 接口获取群名称 */ - getGroupEnterInfo(option: GetGroupEnterInfoOption): void - /** [wx.getHCEState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.getHCEState.html) -* -* 需要基础库: `1.7.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 判断当前设备是否支持 HCE 能力。 -* -* **示例代码** -* -* ```js -wx.getHCEState({ - success (res) { - console.log(res.errCode) - } -}) -``` */ - getHCEState<T extends GetHCEStateOption = GetHCEStateOption>( - option?: T - ): PromisifySuccessResult<T, GetHCEStateOption> - /** [wx.getImageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.getImageInfo.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取图片信息。网络图片需先配置download域名才能生效。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/Kd47Sbmr6yYu) -* -* ```js -wx.getImageInfo({ - src: 'images/a.jpg', - success (res) { - console.log(res.width) - console.log(res.height) - } -}) - -wx.chooseImage({ - success (res) { - wx.getImageInfo({ - src: res.tempFilePaths[0], - success (res) { - console.log(res.width) - console.log(res.height) - } - }) - } -}) -``` */ - getImageInfo<T extends GetImageInfoOption = GetImageInfoOption>( - option: T - ): PromisifySuccessResult<T, GetImageInfoOption> - /** [wx.getLocalIPAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 获取局域网IP地址 -* -* **示例代码** -* -* ```js -wx.getLocalIPAddress({ - success (res) { - const localip = res.localip - } -}) -``` */ - getLocalIPAddress(option: GetLocalIPAddressOption): void - /** [wx.getLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。 -* 高频率调用会导致耗电,如有需要可使用持续定位接口 `wx.onLocationChange`。 -* 基础库 `2.17.0` 版本起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)。 -* -* ## 使用方法 -* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) -* -* ## 申请开通 -* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 -* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 -* -* ### 国内主体开放类目 -* -* | 一级类目/主体类型 | 二级类目 | 应用场景 | -* | -------------- | -------| -------- | -* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | -* | 商家自营 | / | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | -* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | -* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | -* | 生活服务 | / | 上门服务作业等线下场景 | -* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | -* | 餐饮服务 | 点餐平台、外卖平台、餐饮服务场所/餐饮服务管理企业 | 线下送餐服务 | -* | 工具 | 天气、信息查询、办公、设备管理 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询、智能穿戴、智能门禁、与地理位置相关的打卡服务等 | -* | 金融 | 银行、非金融机构自营小额贷款/融资担保/商业保理、保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | -* | 旅游 | 景区服务、住宿服务 | 提供景区导航、导览服务、酒店导航服务 | -* | 汽车服务 | 维修保养、汽车用品、汽车经销商/4S店、汽车厂商、汽车预售、二手车 | 提供汽车售卖、维保洗美服务、查找附近的维修点/洗车网点等导航服务 | -* | IT科技 | 基础电信运营商、电信业务代理商 | 提供运营商线下网点的预约、基于地理位置取号并现场报到、网点导航等服务 | -* | 房地产服务 | 物业管理、房屋中介、房屋装修 | 提供房地产开发商及物业公司门店导览导航服务 | -* | 政务民生 | / | 提供政务单位相关业务 | -* | 政府主体帐号 | / | 提供政务单位相关业务 | -* -* ### 海外主体开放类目 -* -* | 一级类目/主体类型 | 二级类目 | 应用场景 | -* | -------------- | -------| -------- | -* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | -* | 快递业与邮政 | / | 快递/货物收发服务 | -* | 餐饮 | / | 线下送餐服务 | -* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | -* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | -* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | -* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货、超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | -* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | -* -* **示例代码** -* -* ```js - wx.getLocation({ - type: 'wgs84', - success (res) { - const latitude = res.latitude - const longitude = res.longitude - const speed = res.speed - const accuracy = res.accuracy - } -}) - ``` -* -* **注意** -* -* - `2.17.0 起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801) -* - 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。 -* - 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。 */ - getLocation<T extends GetLocationOption = GetLocationOption>( - option: T - ): PromisifySuccessResult<T, GetLocationOption> - /** [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取网络类型 -* -* **示例代码** -* -* ```js -wx.getNetworkType({ - success (res) { - const networkType = res.networkType - } -}) -``` */ - getNetworkType<T extends GetNetworkTypeOption = GetNetworkTypeOption>( - option?: T - ): PromisifySuccessResult<T, GetNetworkTypeOption> - /** [wx.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html) -* -* 需要基础库: `2.15.0` -* -* 在插件中使用:不支持 -* -* 获取密码学安全随机数 -* -* **示例代码** -* -* ```js -wx.getRandomValues({ - length: 6 // 生成 6 个字节长度的随机数, - success: res => { - console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 - } -}) -``` */ - getRandomValues< - T extends GetRandomValuesOption = GetRandomValuesOption - >( - option: T - ): PromisifySuccessResult<T, GetRandomValuesOption> - /** [wx.getSavedFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileInfo.html) -* -* 在插件中使用:不支持 -* -* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** -* -* 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件。 -* -* **示例代码** -* -* ```js -wx.getSavedFileList({ - success (res) { - console.log(res.fileList) - } -}) -``` */ - getSavedFileInfo< - T extends GetSavedFileInfoOption = GetSavedFileInfoOption - >( - option: T - ): PromisifySuccessResult<T, GetSavedFileInfoOption> - /** [wx.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileList.html) -* -* 在插件中使用:不支持 -* -* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getSavedFileList](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)** -* -* 获取该小程序下已保存的本地缓存文件列表。 -* -* **示例代码** -* -* ```js -wx.getSavedFileList({ - success (res) { - console.log(res.fileList) - } -}) -``` */ - getSavedFileList< - T extends WxGetSavedFileListOption = WxGetSavedFileListOption - >( - option?: T - ): PromisifySuccessResult<T, WxGetSavedFileListOption> - /** [wx.getScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenBrightness.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 获取屏幕亮度 - * - * **说明** - * - * - 若安卓系统设置中开启了自动调节亮度功能,则屏幕亮度会根据光线自动调整,该接口仅能获取自动调节亮度之前的值,而非实时的亮度值。 */ - getScreenBrightness< - T extends GetScreenBrightnessOption = GetScreenBrightnessOption - >( - option?: T - ): PromisifySuccessResult<T, GetScreenBrightnessOption> - /** [wx.getScreenRecordingState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenRecordingState.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 查询用户是否在录屏。 - * - * **示例代码** - * - * ```js - * wx.getScreenRecordingState({ - * success: function (res) { - * console.log(res.state) - * }, - * }) */ - getScreenRecordingState(option?: GetScreenRecordingStateOption): void - /** [wx.getSelectedTextRange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.getSelectedTextRange.html) -* -* 需要基础库: `2.7.0` -* -* 在插件中使用:不支持 -* -* 在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。 -* -* **示例代码** -* -* ```js -wx.getSelectedTextRange({ - complete: res => { - console.log('getSelectedTextRange res', res.start, res.end) - } -}) -``` */ - getSelectedTextRange< - T extends GetSelectedTextRangeOption = GetSelectedTextRangeOption - >( - option?: T - ): PromisifySuccessResult<T, GetSelectedTextRangeOption> - /** [wx.getSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:需要基础库 `2.6.3` -* -* 在插件中使用时,接口有以下不同: -* - `withSubscriptions` 无效(插件暂无订阅消息) -* - 返回值中的 `authSetting` 字段中是插件的权限(如用户信息功能页授权) -* - [2.14.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起返回值中有 `miniprogramAuthSetting` 字段,内容等于当前小程序 `getSetting` 的结果(不含订阅状态) -* -* 获取用户的当前设置。**返回值中只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 -* -* **示例代码** -* -* ```js -wx.getSetting({ - success (res) { - console.log(res.authSetting) - // res.authSetting = { - // "scope.userInfo": true, - // "scope.userLocation": true - // } - } -}) -``` -* -* ```js -wx.getSetting({ - withSubscriptions: true, - success (res) { - console.log(res.authSetting) - // res.authSetting = { - // "scope.userInfo": true, - // "scope.userLocation": true - // } - console.log(res.subscriptionsSetting) - // res.subscriptionsSetting = { - // mainSwitch: true, // 订阅消息总开关 - // itemSettings: { // 每一项开关 - // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 - // SYS_MSG_TYPE_RANK: 'accept' - // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 - // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', - // } - // } - } -}) -``` */ - getSetting<T extends GetSettingOption = GetSettingOption>( - option?: T - ): PromisifySuccessResult<T, GetSettingOption> - /** [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 获取转发详细信息 -* -* **示例代码** -* -* 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 -* 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识): -* -* ```json -{ - "openGId": "OPENGID" -} -``` -* -* **Tips** -* -* - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) -* - 小游戏可以通过 [`wx.getGroupInfo`](#) 接口获取群名称 */ - getShareInfo<T extends GetShareInfoOption = GetShareInfoOption>( - option: T - ): PromisifySuccessResult<T, GetShareInfoOption> - /** [wx.getStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 从本地缓存中异步获取指定 key 的内容。 -* -* **示例代码** -* -* ```js -wx.getStorage({ - key: 'key', - success (res) { - console.log(res.data) - } -}) -``` -* -* ```js -// 开启加密存储 -wx.setStorage({ - key: "key", - data: "value", - encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true - success() { - wx.getStorage({ - key: "key", - encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true - success(res) { - console.log(res.data) - } - }) - } -}) -``` */ - getStorage< - T = any, - U extends GetStorageOption<T> = GetStorageOption<T> - >( - option: U - ): PromisifySuccessResult<U, GetStorageOption<T>> - /** [wx.getStorageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) -* -* 在插件中使用:不支持 -* -* 异步获取当前storage的相关信息。 -* -* **示例代码** -* -* ```js -wx.getStorageInfo({ - success (res) { - console.log(res.keys) - console.log(res.currentSize) - console.log(res.limitSize) - } -}) -``` -* -* ```js -try { - const res = wx.getStorageInfoSync() - console.log(res.keys) - console.log(res.currentSize) - console.log(res.limitSize) -} catch (e) { - // Do something when catch error -} -``` */ - getStorageInfo<T extends GetStorageInfoOption = GetStorageInfoOption>( - option?: T - ): PromisifySuccessResult<T, GetStorageInfoOption> - /** [wx.getSystemInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 获取系统信息。**由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 [wx.getSystemInfoAsync](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)。** -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) -* -* ```js -wx.getSystemInfo({ - success (res) { - console.log(res.model) - console.log(res.pixelRatio) - console.log(res.windowWidth) - console.log(res.windowHeight) - console.log(res.language) - console.log(res.version) - console.log(res.platform) - } -}) -``` -* -* ```js -try { - const res = wx.getSystemInfoSync() - console.log(res.model) - console.log(res.pixelRatio) - console.log(res.windowWidth) - console.log(res.windowHeight) - console.log(res.language) - console.log(res.version) - console.log(res.platform) -} catch (e) { - // Do something when catch error -} -``` */ - getSystemInfo<T extends GetSystemInfoOption = GetSystemInfoOption>( - option?: T - ): PromisifySuccessResult<T, GetSystemInfoOption> - /** [wx.getSystemInfoAsync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html) -* -* 需要基础库: `2.14.1` -* -* 在插件中使用:不支持 -* -* 异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) -* -* ```js -wx.getSystemInfoAsync({ - success (res) { - console.log(res.model) - console.log(res.pixelRatio) - console.log(res.windowWidth) - console.log(res.windowHeight) - console.log(res.language) - console.log(res.version) - console.log(res.platform) - } -}) -``` */ - getSystemInfoAsync(option?: GetSystemInfoAsyncOption): void - /** [wx.getUserInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) -* -* 在插件中使用:需要基础库 `2.3.1` -* -* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) -* -* @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** -* -* 获取用户信息。 -* -* **示例代码** -* -* ```js -// 必须是在用户已经授权的情况下调用 -wx.getUserInfo({ - success: function(res) { - var userInfo = res.userInfo - var nickName = userInfo.nickName - var avatarUrl = userInfo.avatarUrl - var gender = userInfo.gender //性别 0:未知、1:男、2:女 - var province = userInfo.province - var city = userInfo.city - var country = userInfo.country - } -}) -``` -* -* 敏感数据有两种获取方式: -* 1. 使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) -* 2. 使用 [云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#云调用直接获取开放数据) -* 获取得到的开放数据为以下 json 结构: -* -* ```json -{ - "openId": "OPENID", - "nickName": "NICKNAME", - "gender": GENDER, - "city": "CITY", - "province": "PROVINCE", - "country": "COUNTRY", - "avatarUrl": "AVATARURL", - "unionId": "UNIONID", - "watermark": { - "appid":"APPID", - "timestamp":TIMESTAMP - } -} -``` -* -* **小程序用户信息组件示例代码** -* -* ```html -* <!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 --> -* <open-data type="userAvatarUrl"></open-data> -* <open-data type="userNickName"></open-data> -* <!-- 需要使用 button 来授权登录 --> -* <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button> -* <view wx:else>请升级微信版本</view> -* ``` -* -* ```js -Page({ - data: { - canIUse: wx.canIUse('button.open-type.getUserInfo') - }, - onLoad: function() { - // 查看是否授权 - wx.getSetting({ - success (res){ - if (res.authSetting['scope.userInfo']) { - // 已经授权,可以直接调用 getUserInfo 获取头像昵称 - wx.getUserInfo({ - success: function(res) { - console.log(res.userInfo) - } - }) - } - } - }) - }, - bindGetUserInfo (e) { - console.log(e.detail.userInfo) - } -}) -``` */ - getUserInfo<T extends GetUserInfoOption = GetUserInfoOption>( - option: T - ): PromisifySuccessResult<T, GetUserInfoOption> - /** [wx.getUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html) -* -* 需要基础库: `2.10.4` -* -* 在插件中使用:不支持 -* -* @warning **用户头像昵称获取规则已调整,参考 [小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** -* -* 获取用户信息。页面产生点击事件(例如 `button` 上 `bindtap` 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 `userInfo`。该接口用于替换 `wx.getUserInfo`,详见 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login)。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tsJaq2mP7Mp4) -* -* **Bug & Tip** -* -* 1. `tip`:仅小程序中 `wx.getUserInfo` 接口进行调整,小游戏中不受影响; -* 2. `tip`:开发者工具中仅 2.10.4 及以上版本可访问 `wx.getUserProfile` 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 `canIUse` 进行条件。 -* 3. `tip`:`wx.getUserProfile` 返回的加密数据中不包含 `openId` 和 `unionId` 字段。 -* 4. `bug`:开发者工具中 `2.10.4`~`2.16.1` 基础库版本通过 `<button open-type="getUserInfo">` 会返回真实数据,真机上此区间会按照公告返回匿名数据。 -* -* ```html -* <view class="container"> -* <view class="userinfo"> -* <block wx:if="{{!hasUserInfo}}"> -* <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button> -* <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button> -* </block> -* <block wx:else> -* <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> -* <text class="userinfo-nickname">{{userInfo.nickName}}</text> -* </block> -* </view> -* </view> -* ``` -* -* ```js -Page({ - data: { - userInfo: {}, - hasUserInfo: false, - canIUseGetUserProfile: false, - }, - onLoad() { - if (wx.getUserProfile) { - this.setData({ - canIUseGetUserProfile: true - }) - } - }, - getUserProfile(e) { - // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 - // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 - wx.getUserProfile({ - desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 - success: (res) => { - this.setData({ - userInfo: res.userInfo, - hasUserInfo: true - }) - } - }) - }, - getUserInfo(e) { - // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 - this.setData({ - userInfo: e.detail.userInfo, - hasUserInfo: true - }) - }, -}) -``` */ - getUserProfile<T extends GetUserProfileOption = GetUserProfileOption>( - option: T - ): PromisifySuccessResult<T, GetUserProfileOption> - /** [wx.getVideoInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:支持 - * - * 获取视频详细信息。 */ - getVideoInfo<T extends GetVideoInfoOption = GetVideoInfoOption>( - option: T - ): PromisifySuccessResult<T, GetVideoInfoOption> - /** [wx.getWeRunData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:不支持 -* -* 获取用户过去三十天微信运动步数。需要先调用 [wx.login](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) 接口。步数信息会在用户主动进入小程序时更新。 -* -* **示例代码** -* -* ```js -wx.getWeRunData({ - success (res) { - // 拿 encryptedData 到开发者后台解密开放数据 - const encryptedData = res.encryptedData - // 或拿 cloudID 通过云调用直接获取开放数据 - const cloudID = res.cloudID - } -}) -``` -* -* **开放数据 JSON 结构** -* -* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 -* 获取得到的开放数据为以下 json 结构: -* -* ```json -{ - "stepInfoList": [ - { - "timestamp": 1445866601, - "step": 100 - }, - { - "timestamp": 1445876601, - "step": 120 - } - ] -} -``` -* -* stepInfoList 中,每一项结构如下: -* -* | 属性 | 类型 | 说明 | -* | --- | ---- | --- | -* | timestamp | number | 时间戳,表示数据对应的时间 | -* | step | number | 微信运动步数 | */ - getWeRunData<T extends GetWeRunDataOption = GetWeRunDataOption>( - option?: T - ): PromisifySuccessResult<T, GetWeRunDataOption> - /** [wx.getWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getWifiList.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 请求获取 Wi-Fi 列表。`wifiList` 数据会在 [`onGetWifiList`](#) 注册的回调中返回。 **Android 调用前需要 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) scope.userLocation。** - * - * iOS 上将跳转到系统设置中的微信设置页,需要用户手动进入「无线局域网」设置页,并在系统扫描到设备后,小程序才能收到 onGetWifiList 回调。Android 不会跳转。 - * - * **注意** - * - * 因系统问题,本方法在 iOS 11.0 及 11.1 两个版本失效。但在 iOS 11.2 中已修复。 */ - getWifiList<T extends GetWifiListOption = GetWifiListOption>( - option?: T - ): PromisifySuccessResult<T, GetWifiListOption> - /** [wx.hideHomeButton(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideHomeButton.html) - * - * 需要基础库: `2.8.3` - * - * 在插件中使用:不支持 - * - * 隐藏返回首页按钮。微信7.0.7版本起,当用户打开的小程序最底层页面是非首页时,默认展示“返回首页”按钮,开发者可在页面 onShow 中调用 hideHomeButton 进行隐藏。 */ - hideHomeButton<T extends HideHomeButtonOption = HideHomeButtonOption>( - option?: T - ): PromisifySuccessResult<T, HideHomeButtonOption> - /** [wx.hideKeyboard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.hideKeyboard.html) -* -* 需要基础库: `2.8.2` -* -* 在插件中使用:不支持 -* -* 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘 -* -* **示例代码** -* -* ```js -wx.hideKeyboard({ - complete: res => { - console.log('hideKeyboard res', res) - } -}) -``` */ - hideKeyboard<T extends HideKeyboardOption = HideKeyboardOption>( - option?: T - ): PromisifySuccessResult<T, HideKeyboardOption> - /** [wx.hideLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) - * - * 需要基础库: `1.1.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 隐藏 loading 提示框 */ - hideLoading<T extends HideLoadingOption = HideLoadingOption>( - option?: T - ): PromisifySuccessResult<T, HideLoadingOption> - /** [wx.hideNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideNavigationBarLoading.html) - * - * 在插件中使用:需要基础库 `2.1.0` - * - * 在插件中使用时,只能在当前插件的页面中调用 - * - * 在当前页面隐藏导航条加载动画 */ - hideNavigationBarLoading< - T extends HideNavigationBarLoadingOption = HideNavigationBarLoadingOption - >( - option?: T - ): PromisifySuccessResult<T, HideNavigationBarLoadingOption> - /** [wx.hideShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.hideShareMenu.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 隐藏当前页面的转发按钮 -* -* **** -* -* ## 注意事项 -* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 -* - 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮 -* -* **示例代码** -* -* ```js -wx.hideShareMenu({ - menus: ['shareAppMessage', 'shareTimeline'] -}) -``` */ - hideShareMenu<T extends HideShareMenuOption = HideShareMenuOption>( - option?: T - ): PromisifySuccessResult<T, HideShareMenuOption> - /** [wx.hideTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBar.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:不支持 - * - * 隐藏 tabBar */ - hideTabBar<T extends HideTabBarOption = HideTabBarOption>( - option: T - ): PromisifySuccessResult<T, HideTabBarOption> - /** [wx.hideTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBarRedDot.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:不支持 - * - * 隐藏 tabBar 某一项的右上角的红点 */ - hideTabBarRedDot< - T extends HideTabBarRedDotOption = HideTabBarRedDotOption - >( - option: T - ): PromisifySuccessResult<T, HideTabBarRedDotOption> - /** [wx.hideToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 隐藏消息提示框 */ - hideToast<T extends HideToastOption = HideToastOption>( - option?: T - ): PromisifySuccessResult<T, HideToastOption> - /** [wx.initFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html) - * - * 需要基础库: `2.18.0` - * - * 在插件中使用:需要基础库 `2.21.3` - * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 初始化人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ - initFaceDetect(option?: InitFaceDetectOption): void - /** [wx.isBluetoothDevicePaired(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.isBluetoothDevicePaired.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:需要基础库 `2.19.1` - * - * 查询蓝牙设备是否配对,仅安卓支持。 */ - isBluetoothDevicePaired< - T extends IsBluetoothDevicePairedOption = IsBluetoothDevicePairedOption - >( - option: T - ): PromisifySuccessResult<T, IsBluetoothDevicePairedOption> - /** [wx.join1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.join1v1Chat.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:不支持 - * - * 加入(创建)双人通话。 */ - join1v1Chat(option: Join1v1ChatOption): void - /** [wx.joinVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.joinVoIPChat.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.0` - * - * 加入 (创建) 实时语音通话,更多信息可见 [实时语音指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/voip-chat.html)。调用前需要用户授权 `scope.record`,若房间类型为视频房间需要用户授权 `scope.camera`。 */ - joinVoIPChat<T extends JoinVoIPChatOption = JoinVoIPChatOption>( - option: T - ): PromisifySuccessResult<T, JoinVoIPChatOption> - /** [wx.loadFontFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 动态加载网络字体,文件地址需为下载类型。[2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)起支持全局生效,需在 `app.js` 中调用。 -* -* 注意: -* 1. 字体文件返回的 contet-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。 -* 2. 字体链接必须是https(ios不支持http) -* 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com` -* 4. 工具里提示 Faild to load font可以忽略 -* 5. [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 以前仅在调用页面生效。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/b6Zrajm67R2x) -* ```js -wx.loadFontFace({ - family: 'Bitstream Vera Serif Bold', - source: 'url("https://sungd.github.io/Pacifico.ttf")', - success: console.log -}) -``` */ - loadFontFace<T extends LoadFontFaceOption = LoadFontFaceOption>( - option: T - ): PromisifySuccessResult<T, LoadFontFaceOption> - /** [wx.login(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) -* -* 在插件中使用:需要基础库 `2.3.1` -* -* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) -* -* 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 -* -* **示例代码** -* -* ```js -wx.login({ - success (res) { - if (res.code) { - //发起网络请求 - wx.request({ - url: 'https://example.com/onLogin', - data: { - code: res.code - } - }) - } else { - console.log('登录失败!' + res.errMsg) - } - } -}) -``` */ - login<T extends LoginOption = LoginOption>( - option?: T - ): PromisifySuccessResult<T, LoginOption> - /** [wx.makeBluetoothPair(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.makeBluetoothPair.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:需要基础库 `2.12.0` - * - * 蓝牙配对接口,仅安卓支持。 - * - * 通常情况下(需要指定 `pin` 码或者密码时)系统会接管配对流程,直接调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 即可。该接口只应当在开发者不想让用户手动输入 `pin` 码且真机验证确认可以正常生效情况下用。 */ - makeBluetoothPair< - T extends MakeBluetoothPairOption = MakeBluetoothPairOption - >( - option: T - ): PromisifySuccessResult<T, MakeBluetoothPairOption> - /** [wx.makePhoneCall(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/phone/wx.makePhoneCall.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 拨打电话 -* -* **示例代码** -* -* ```js -wx.makePhoneCall({ - phoneNumber: '1340000' //仅为示例,并非真实的电话号码 -}) -``` */ - makePhoneCall<T extends MakePhoneCallOption = MakePhoneCallOption>( - option: T - ): PromisifySuccessResult<T, MakePhoneCallOption> - /** [wx.navigateBack(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) - * - * 在插件中使用:需要基础库 `2.1.0` - * - * 在插件中使用时,只能在当前插件的页面中调用 - * - * 关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages](https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html) 获取当前的页面栈,决定需要返回几层。 */ - navigateBack<T extends NavigateBackOption = NavigateBackOption>( - option?: T - ): PromisifySuccessResult<T, NavigateBackOption> - /** [wx.navigateBackMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html) -* -* 需要基础库: `1.3.0` -* -* 在插件中使用:不支持 -* -* 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 -* -* 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持** -* -* **示例代码** -* -* ```js -wx.navigateBackMiniProgram({ - extraData: { - foo: 'bar' - }, - success(res) { - // 返回成功 - } -}) -``` */ - navigateBackMiniProgram< - T extends NavigateBackMiniProgramOption = NavigateBackMiniProgramOption - >( - option: T - ): PromisifySuccessResult<T, NavigateBackMiniProgramOption> - /** [wx.navigateTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html) -* -* 在插件中使用:需要基础库 `2.2.2` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) 可以返回到原页面。小程序中页面栈最多十层。 -* -* **示例代码** -* -* ```js -wx.navigateTo({ - url: 'test?id=1', - events: { - // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 - acceptDataFromOpenedPage: function(data) { - console.log(data) - }, - someEvent: function(data) { - console.log(data) - } - ... - }, - success: function(res) { - // 通过eventChannel向被打开页面传送数据 - res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) - } -}) -``` -* -* ```javascript -//test.js -Page({ - onLoad: function(option){ - console.log(option.query) - const eventChannel = this.getOpenerEventChannel() - eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); - eventChannel.emit('someEvent', {data: 'test'}); - // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 - eventChannel.on('acceptDataFromOpenerPage', function(data) { - console.log(data) - }) - } -}) -``` */ - navigateTo<T extends NavigateToOption = NavigateToOption>( - option: T - ): PromisifySuccessResult<T, NavigateToOption> - /** [wx.navigateToMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html) -* -* 需要基础库: `1.3.0` -* -* 在插件中使用:需要基础库 `2.18.1` -* -* 打开另一个小程序 -* -* **使用限制** -* -* ##### 需要用户触发跳转 -* 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。 -* ##### 需要用户确认跳转 -* 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。 -* ##### 无需声明跳转名单,不限跳转数量(众测中) -* 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。 -* 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。 -* -* **运营规范** -* -* 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。 -* -* **关于调试** -* -* - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) -* - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) -* -* **示例代码** -* -* ```js -wx.navigateToMiniProgram({ - appId: '', - path: 'page/index/index?id=123', - extraData: { - foo: 'bar' - }, - envVersion: 'develop', - success(res) { - // 打开成功 - } -}) -``` */ - navigateToMiniProgram< - T extends NavigateToMiniProgramOption = NavigateToMiniProgramOption - >( - option: T - ): PromisifySuccessResult<T, NavigateToMiniProgramOption> - /** [wx.nextTick(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html) -* -* 需要基础库: `2.2.3` -* -* 在插件中使用:需要基础库 `2.7.1` -* -* 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout) -* -* **说明** -* -* 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。 -* -* 一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。 -* -* **示例代码** -* -* ```js -Component({ - doSth() { - this.setData({ number: 1 }) // 直接在当前同步流程中执行 - - wx.nextTick(() => { - this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行 - }) - - this.setData({ number: 2 }) // 直接在当前同步流程中执行 - } -}) -``` */ - nextTick(callback: (...args: any[]) => any): void - /** [wx.notifyBLECharacteristicValueChange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征。注意:必须设备的特征支持 notify 或者 indicate 才可以成功调用。 -* -* 另外,必须先启用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 才能监听到设备 `characteristicValueChange` 事件 -* -* **注意** -* -* - 订阅操作成功后需要设备主动更新特征的 value,才会触发 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 回调。 -* - 安卓平台上,在本接口调用成功后立即调用 [wx.writeBLECharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) 接口,在部分机型上会发生 10008 系统错误 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.notifyBLECharacteristicValueChange({ - state: true, // 启用 notify 功能 - // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 - deviceId, - // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 - serviceId, - // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 - characteristicId, - success (res) { - console.log('notifyBLECharacteristicValueChange success', res.errMsg) - } -}) -``` */ - notifyBLECharacteristicValueChange< - T extends NotifyBLECharacteristicValueChangeOption = NotifyBLECharacteristicValueChangeOption - >( - option: T - ): PromisifySuccessResult<T, NotifyBLECharacteristicValueChangeOption> - /** [wx.offAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.offAccelerometerChange.html) -* -* 需要基础库: `2.9.3` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除加速度数据事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onAccelerometerChange(listener) -wx.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offAccelerometerChange( - /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffAccelerometerChangeCallback - ): void - /** [wx.offAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppHide.html) -* -* 需要基础库: `2.1.2` -* -* 在插件中使用:不支持 -* -* 移除小程序切后台事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onAppHide(listener) -wx.offAppHide(listener) // 需传入与监听时同一个的函数对象 -``` */ - offAppHide( - /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffAppHideCallback - ): void - /** [wx.offAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppShow.html) -* -* 需要基础库: `2.1.2` -* -* 在插件中使用:不支持 -* -* 移除小程序切前台事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onAppShow(listener) -wx.offAppShow(listener) // 需传入与监听时同一个的函数对象 -``` */ - offAppShow( - /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffAppShowCallback - ): void - /** [wx.offAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionBegin.html) -* -* 需要基础库: `2.6.2` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除音频因为受到系统占用而被中断开始事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onAudioInterruptionBegin(listener) -wx.offAudioInterruptionBegin(listener) // 需传入与监听时同一个的函数对象 -``` */ - offAudioInterruptionBegin( - /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffAudioInterruptionBeginCallback - ): void - /** [wx.offAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionEnd.html) -* -* 需要基础库: `2.6.2` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除音频中断结束事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onAudioInterruptionEnd(listener) -wx.offAudioInterruptionEnd(listener) // 需传入与监听时同一个的函数对象 -``` */ - offAudioInterruptionEnd( - /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffAudioInterruptionEndCallback - ): void - /** [wx.offBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLECharacteristicValueChange.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除蓝牙低功耗设备的特征值变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBLECharacteristicValueChange(listener) -wx.offBLECharacteristicValueChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBLECharacteristicValueChange( - /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBLECharacteristicValueChangeCallback - ): void - /** [wx.offBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除蓝牙低功耗连接状态改变事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBLEConnectionStateChange(listener) -wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBLEConnectionStateChange( - /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBLEConnectionStateChangeCallback - ): void - /** [wx.offBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEMTUChange.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.20.1` -* -* 移除蓝牙低功耗的最大传输单元变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBLEMTUChange(listener) -wx.offBLEMTUChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBLEMTUChange( - /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBLEMTUChangeCallback - ): void - /** [wx.offBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.offBLEPeripheralConnectionStateChanged.html) -* -* 需要基础库: `2.10.3` -* -* 在插件中使用:需要基础库 `2.22.1` -* -* 移除当前外围设备被连接或断开连接事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBLEPeripheralConnectionStateChanged(listener) -wx.offBLEPeripheralConnectionStateChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBLEPeripheralConnectionStateChanged( - /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBLEPeripheralConnectionStateChangedCallback - ): void - /** [wx.offBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconServiceChange.html) -* -* 需要基础库: `2.8.1` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除 Beacon 服务状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBeaconServiceChange(listener) -wx.offBeaconServiceChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBeaconServiceChange( - /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBeaconServiceChangeCallback - ): void - /** [wx.offBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconUpdate.html) -* -* 需要基础库: `2.8.1` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除 Beacon 设备更新事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBeaconUpdate(listener) -wx.offBeaconUpdate(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBeaconUpdate( - /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBeaconUpdateCallback - ): void - /** [wx.offBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothAdapterStateChange.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除蓝牙适配器状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBluetoothAdapterStateChange(listener) -wx.offBluetoothAdapterStateChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBluetoothAdapterStateChange( - /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBluetoothAdapterStateChangeCallback - ): void - /** [wx.offBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothDeviceFound.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除搜索到新设备的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onBluetoothDeviceFound(listener) -wx.offBluetoothDeviceFound(listener) // 需传入与监听时同一个的函数对象 -``` */ - offBluetoothDeviceFound( - /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffBluetoothDeviceFoundCallback - ): void - /** [wx.offCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.offCompassChange.html) -* -* 需要基础库: `2.9.3` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除罗盘数据变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onCompassChange(listener) -wx.offCompassChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCompassChange( - /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCompassChangeCallback - ): void - /** [wx.offCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.offCopyUrl.html) -* -* 需要基础库: `2.14.3` -* -* 在插件中使用:不支持 -* -* 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onCopyUrl(listener) -wx.offCopyUrl(listener) // 需传入与监听时同一个的函数对象 -``` */ - offCopyUrl( - /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffCopyUrlCallback - ): void - /** [wx.offDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.offDeviceMotionChange.html) -* -* 需要基础库: `2.9.3` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除设备方向变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onDeviceMotionChange(listener) -wx.offDeviceMotionChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offDeviceMotionChange( - /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffDeviceMotionChangeCallback - ): void - /** [wx.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offError.html) -* -* 需要基础库: `2.1.2` -* -* 在插件中使用:不支持 -* -* 移除小程序错误事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onError(listener) -wx.offError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offError( - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: WxOffErrorCallback - ): void - /** [wx.offGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offGetWifiList.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除获取到 Wi-Fi 列表数据事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onGetWifiList(listener) -wx.offGetWifiList(listener) // 需传入与监听时同一个的函数对象 -``` */ - offGetWifiList( - /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffGetWifiListCallback - ): void - /** [wx.offHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.offHCEMessage.html) -* -* 需要基础库: `2.8.1` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除接收 NFC 设备消息事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onHCEMessage(listener) -wx.offHCEMessage(listener) // 需传入与监听时同一个的函数对象 -``` */ - offHCEMessage( - /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffHCEMessageCallback - ): void - /** [wx.offKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.offKeyboardHeightChange.html) -* -* 需要基础库: `2.9.2` -* -* 在插件中使用:不支持 -* -* 移除键盘高度变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onKeyboardHeightChange(listener) -wx.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offKeyboardHeightChange( - /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffKeyboardHeightChangeCallback - ): void - /** [wx.offLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offLazyLoadError.html) -* -* 需要基础库: `2.24.3` -* -* 在插件中使用:不支持 -* -* 移除小程序异步组件加载失败事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLazyLoadError(listener) -wx.offLazyLoadError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLazyLoadError( - /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLazyLoadErrorCallback - ): void - /** [wx.offLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceDiscoveryStop.html) -* -* 需要基础库: `2.4.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除 mDNS 服务停止搜索的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocalServiceDiscoveryStop(listener) -wx.offLocalServiceDiscoveryStop(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocalServiceDiscoveryStop( - /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocalServiceDiscoveryStopCallback - ): void - /** [wx.offLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceFound.html) -* -* 需要基础库: `2.4.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除 mDNS 服务发现的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocalServiceFound(listener) -wx.offLocalServiceFound(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocalServiceFound( - /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocalServiceFoundCallback - ): void - /** [wx.offLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceLost.html) -* -* 需要基础库: `2.4.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除 mDNS 服务离开的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocalServiceLost(listener) -wx.offLocalServiceLost(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocalServiceLost( - /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocalServiceLostCallback - ): void - /** [wx.offLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceResolveFail.html) -* -* 需要基础库: `2.4.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 移除 mDNS 服务解析失败的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocalServiceResolveFail(listener) -wx.offLocalServiceResolveFail(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocalServiceResolveFail( - /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocalServiceResolveFailCallback - ): void - /** [wx.offLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html) -* -* 需要基础库: `2.8.1` -* -* 在插件中使用:不支持 -* -* 移除实时地理位置变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocationChange(listener) -wx.offLocationChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocationChange( - /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocationChangeCallback - ): void - /** [wx.offLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChangeError.html) -* -* 需要基础库: `2.19.5` -* -* 在插件中使用:不支持 -* -* 移除持续定位接口返回失败时触发。的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onLocationChangeError(listener) -wx.offLocationChangeError(listener) // 需传入与监听时同一个的函数对象 -``` */ - offLocationChangeError( - /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffLocationChangeErrorCallback - ): void - /** [wx.offMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.offMemoryWarning.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:不支持 -* -* 移除内存不足告警事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onMemoryWarning(listener) -wx.offMemoryWarning(listener) // 需传入与监听时同一个的函数对象 -``` */ - offMemoryWarning( - /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffMemoryWarningCallback - ): void - /** [wx.offNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html) -* -* 需要基础库: `2.9.3` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除网络状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onNetworkStatusChange(listener) -wx.offNetworkStatusChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offNetworkStatusChange( - /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffNetworkStatusChangeCallback - ): void - /** [wx.offNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html) -* -* 需要基础库: `2.21.0` -* -* 在插件中使用:不支持 -* -* 移除弱网状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onNetworkWeakChange(listener) -wx.offNetworkWeakChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offNetworkWeakChange( - /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffNetworkWeakChangeCallback - ): void - /** [wx.offPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offPageNotFound.html) -* -* 需要基础库: `2.1.2` -* -* 在插件中使用:不支持 -* -* 移除小程序要打开的页面不存在事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onPageNotFound(listener) -wx.offPageNotFound(listener) // 需传入与监听时同一个的函数对象 -``` */ - offPageNotFound( - /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffPageNotFoundCallback - ): void - /** [wx.offScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offScreenRecordingStateChanged.html) -* -* 需要基础库: `2.24.0` -* -* 在插件中使用:不支持 -* -* 移除用户录屏事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onScreenRecordingStateChanged(listener) -wx.offScreenRecordingStateChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offScreenRecordingStateChanged( - /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffScreenRecordingStateChangedCallback - ): void - /** [wx.offThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offThemeChange.html) -* -* 需要基础库: `2.11.0` -* -* 在插件中使用:不支持 -* -* 移除系统主题改变事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onThemeChange(listener) -wx.offThemeChange(listener) // 需传入与监听时同一个的函数对象 -``` */ - offThemeChange( - /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffThemeChangeCallback - ): void - /** [wx.offUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offUnhandledRejection.html) -* -* 需要基础库: `2.10.0` -* -* 在插件中使用:不支持 -* -* 移除未处理的 Promise 拒绝事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onUnhandledRejection(listener) -wx.offUnhandledRejection(listener) // 需传入与监听时同一个的函数对象 -``` */ - offUnhandledRejection( - /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffUnhandledRejectionCallback - ): void - /** [wx.offUserCaptureScreen(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offUserCaptureScreen.html) - * - * 需要基础库: `2.9.3` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 在插件中使用时,只能在当前插件的页面中调用 - * - * 用户主动截屏事件。取消事件监听。 */ - offUserCaptureScreen( - /** 用户主动截屏事件的回调函数 */ - callback?: (...args: any[]) => any - ): void - /** [wx.offVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatInterrupted.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除被动断开实时语音通话事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onVoIPChatInterrupted(listener) -wx.offVoIPChatInterrupted(listener) // 需传入与监听时同一个的函数对象 -``` */ - offVoIPChatInterrupted( - /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffVoIPChatInterruptedCallback - ): void - /** [wx.offVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatMembersChanged.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除实时语音通话成员在线状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onVoIPChatMembersChanged(listener) -wx.offVoIPChatMembersChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offVoIPChatMembersChanged( - /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffVoIPChatMembersChangedCallback - ): void - /** [wx.offVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatSpeakersChanged.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除实时语音通话成员通话状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onVoIPChatSpeakersChanged(listener) -wx.offVoIPChatSpeakersChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offVoIPChatSpeakersChanged( - /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffVoIPChatSpeakersChangedCallback - ): void - /** [wx.offVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatStateChanged.html) -* -* 需要基础库: `2.16.0` -* -* 在插件中使用:不支持 -* -* 移除房间状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onVoIPChatStateChanged(listener) -wx.offVoIPChatStateChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offVoIPChatStateChanged( - /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffVoIPChatStateChangedCallback - ): void - /** [wx.offVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPVideoMembersChanged.html) -* -* 需要基础库: `2.11.0` -* -* 在插件中使用:不支持 -* -* 移除实时语音通话成员视频状态变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onVoIPVideoMembersChanged(listener) -wx.offVoIPVideoMembersChanged(listener) // 需传入与监听时同一个的函数对象 -``` */ - offVoIPVideoMembersChanged( - /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffVoIPVideoMembersChangedCallback - ): void - /** [wx.offWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnected.html) -* -* 需要基础库: `2.9.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 移除连接上 Wi-Fi 的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onWifiConnected(listener) -wx.offWifiConnected(listener) // 需传入与监听时同一个的函数对象 -``` */ - offWifiConnected( - /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffWifiConnectedCallback - ): void - /** [wx.offWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnectedWithPartialInfo.html) -* -* 需要基础库: `2.22.0` -* -* 在插件中使用:需要基础库 `2.22.1` -* -* 移除连接上 Wi-Fi 的事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onWifiConnectedWithPartialInfo(listener) -wx.offWifiConnectedWithPartialInfo(listener) // 需传入与监听时同一个的函数对象 -``` */ - offWifiConnectedWithPartialInfo( - /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffWifiConnectedWithPartialInfoCallback - ): void - /** [wx.offWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.offWindowResize.html) -* -* 需要基础库: `2.3.0` -* -* 在插件中使用:不支持 -* -* 移除窗口尺寸变化事件的监听函数 -* -* **示例代码** -* -* ```js -const listener = function (res) { console.log(res) } - -wx.onWindowResize(listener) -wx.offWindowResize(listener) // 需传入与监听时同一个的函数对象 -``` */ - offWindowResize( - /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ - listener?: OffWindowResizeCallback - ): void - /** [wx.onAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.onAccelerometerChange.html) -* -* 在插件中使用:不支持 -* -* 监听加速度数据事件。频率根据 [wx.startAccelerometer()](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) 的 interval 参数, 接口调用后会自动开始监听。 -* -* **示例代码** -* -* ```js -wx.onAccelerometerChange(callback) -``` */ - onAccelerometerChange( - /** 加速度数据事件的监听函数 */ - listener: OnAccelerometerChangeCallback - ): void - /** [wx.onAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppHide.html) - * - * 需要基础库: `2.1.2` - * - * 在插件中使用:不支持 - * - * 监听小程序切后台事件。该事件与 [`App.onHide`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onhide) 的回调时机一致。 */ - onAppHide( - /** 小程序切后台事件的监听函数 */ - listener: OnAppHideCallback - ): void - /** [wx.onAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html) - * - * 需要基础库: `2.1.2` - * - * 在插件中使用:不支持 - * - * 监听小程序切前台事件。该事件与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onshowobject-object) 的回调参数一致。 - * - * **返回有效 referrerInfo 的场景** - * - * | 场景值 | 场景 | appId含义 | - * | ------ | ------------------------------- | ---------- | - * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | - * | 1035 | 公众号自定义菜单 | 来源公众号 | - * | 1036 | App 分享消息卡片 | 来源App | - * | 1037 | 小程序打开小程序 | 来源小程序 | - * | 1038 | 从另一个小程序返回 | 来源小程序 | - * | 1043 | 公众号模板消息 | 来源公众号 | - * - * **不同 apiCategory 场景下的 API 限制** - * - * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 - * - * | | default | nativeFunctionalized | browseOnly | embedded | - * |-|-|-|-|-| - * |navigateToMiniProgram | | `X` | `X` | | - * |openSetting | | | `X` | | - * |<button open-type="share"> | | `X` | `X` | `X` | - * |<button open-type="feedback"> | | | `X` | | - * |<button open-type="open-setting">| | | `X` | | - * |openEmbeddedMiniProgram | | `X` | `X` | `X` | - * - * **注意** - * - * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ - onAppShow( - /** 小程序切前台事件的监听函数 */ - listener: OnAppShowCallback - ): void - /** [wx.onAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html) - * - * 需要基础库: `2.6.2` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听音频因为受到系统占用而被中断开始事件。以下场景会触发此事件:闹钟、电话、FaceTime 通话、微信语音聊天、微信视频聊天。此事件触发后,小程序内所有音频会暂停。 */ - onAudioInterruptionBegin( - /** 音频因为受到系统占用而被中断开始事件的监听函数 */ - listener: OnAudioInterruptionBeginCallback - ): void - /** [wx.onAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html) - * - * 需要基础库: `2.6.2` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听音频中断结束事件。在收到 onAudioInterruptionBegin 事件之后,小程序内所有音频会暂停,收到此事件之后才可再次播放成功 */ - onAudioInterruptionEnd( - /** 音频中断结束事件的监听函数 */ - listener: OnAudioInterruptionEndCallback - ): void - /** [wx.onBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 监听蓝牙低功耗设备的特征值变化事件。必须先调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 接口才能接收到设备推送的 notification。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* -* ```js -// ArrayBuffer转16进制字符串示例 -function ab2hex(buffer) { - let hexArr = Array.prototype.map.call( - new Uint8Array(buffer), - function(bit) { - return ('00' + bit.toString(16)).slice(-2) - } - ) - return hexArr.join(''); -} -wx.onBLECharacteristicValueChange(function(res) { - console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`) - console.log(ab2hex(res.value)) -}) -``` */ - onBLECharacteristicValueChange( - /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ - listener: OnBLECharacteristicValueChangeCallback - ): void - /** [wx.onBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 监听蓝牙低功耗连接状态改变事件。包括开发者主动连接或断开连接,设备丢失,连接异常断开等等 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.onBLEConnectionStateChange(function(res) { - // 该方法回调中可以用于处理连接意外断开等异常情况 - console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) -}) -``` */ - onBLEConnectionStateChange( - /** 蓝牙低功耗连接状态改变事件的监听函数 */ - listener: OnBLEConnectionStateChangeCallback - ): void - /** [wx.onBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.20.1` -* -* 监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.onBLEMTUChange(function (res) { - console.log('bluetooth mtu is', res.mtu) -}) -``` */ - onBLEMTUChange( - /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ - listener: OnBLEMTUChangeCallback - ): void - /** [wx.onBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.onBLEPeripheralConnectionStateChanged.html) - * - * 需要基础库: `2.10.3` - * - * 在插件中使用:需要基础库 `2.22.1` - * - * 监听当前外围设备被连接或断开连接事件 */ - onBLEPeripheralConnectionStateChanged( - /** 当前外围设备被连接或断开连接事件的监听函数 */ - listener: OnBLEPeripheralConnectionStateChangedCallback - ): void - /** [wx.onBackgroundAudioPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPause.html) - * - * 在插件中使用:不支持 - * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 - * - * 监听音乐暂停事件。 */ - onBackgroundAudioPause( - /** 音乐暂停事件的监听函数 */ - listener: OnBackgroundAudioPauseCallback - ): void - /** [wx.onBackgroundAudioPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPlay.html) - * - * 在插件中使用:不支持 - * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 - * - * 监听音乐播放事件。 */ - onBackgroundAudioPlay( - /** 音乐播放事件的监听函数 */ - listener: OnBackgroundAudioPlayCallback - ): void - /** [wx.onBackgroundAudioStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioStop.html) - * - * 在插件中使用:不支持 - * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 - * - * 监听音乐停止事件。 */ - onBackgroundAudioStop( - /** 音乐停止事件的监听函数 */ - listener: OnBackgroundAudioStopCallback - ): void - /** [wx.onBackgroundFetchData(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和 [wx.getBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) 配合使用 */ - onBackgroundFetchData( - /** 收到 backgroundFetch 数据事件的监听函数 */ - listener: OnBackgroundFetchDataCallback - ): void - /** [wx.onBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconServiceChange.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 监听 Beacon 服务状态变化事件,仅能注册一个监听 */ - onBeaconServiceChange( - /** Beacon 服务状态变化事件的监听函数 */ - listener: OnBeaconServiceChangeCallback - ): void - /** [wx.onBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconUpdate.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 监听 Beacon 设备更新事件,仅能注册一个监听 */ - onBeaconUpdate( - /** Beacon 设备更新事件的监听函数 */ - listener: OnBeaconUpdateCallback - ): void - /** [wx.onBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 监听蓝牙适配器状态变化事件 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.onBluetoothAdapterStateChange(function (res) { - console.log('adapterState changed, now is', res) -}) -``` */ - onBluetoothAdapterStateChange( - /** 蓝牙适配器状态变化事件的监听函数 */ - listener: OnBluetoothAdapterStateChangeCallback - ): void - /** [wx.onBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 监听搜索到新设备的事件 -* -* **注意** -* -* - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* -* ```js -// ArrayBuffer转16进度字符串示例 -function ab2hex(buffer) { - var hexArr = Array.prototype.map.call( - new Uint8Array(buffer), - function(bit) { - return ('00' + bit.toString(16)).slice(-2) - } - ) - return hexArr.join(''); -} -wx.onBluetoothDeviceFound(function(res) { - var devices = res.devices; - console.log('new device list has founded') - console.dir(devices) - console.log(ab2hex(devices[0].advertisData)) -}) -``` -* -* **注意** -* -* - 蓝牙设备在被搜索到时,系统返回的 `name` 字段一般为广播包中的 `LocalName` 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 `name` 字段会改为从蓝牙设备上获取到的 `GattName`。若需要动态改变设备名称并展示,建议使用 `localName` 字段。 -* - 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限 */ - onBluetoothDeviceFound( - /** 搜索到新设备的事件的监听函数 */ - listener: OnBluetoothDeviceFoundCallback - ): void - /** [wx.onCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.onCompassChange.html) - * - * 在插件中使用:不支持 - * - * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。 - * - * **accuracy 在 iOS/Android 的差异** - * - * 由于平台差异,accuracy 在 iOS/Android 的值不同。 - * - * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。 - * - Android:accuracy 是一个 string 类型的枚举值。 - * - * | 值 | 说明 | - * | --------------- | -------------------------------------------------------------------------------------- | - * | high | 高精度 | - * | medium | 中等精度 | - * | low | 低精度 | - * | no-contact | 不可信,传感器失去连接 | - * | unreliable | 不可信,原因未知 | - * | unknow ${value} | 未知的精度枚举值,即该 Android 系统此时返回的表示精度的 value 不是一个标准的精度枚举值 | */ - onCompassChange( - /** 罗盘数据变化事件的监听函数 */ - listener: OnCompassChangeCallback - ): void - /** [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.onCopyUrl.html) - * - * 需要基础库: `2.14.3` - * - * 在插件中使用:不支持 - * - * 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。 */ - onCopyUrl( - /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ - listener: OnCopyUrlCallback - ): void - /** [wx.onDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.onDeviceMotionChange.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:不支持 - * - * 监听设备方向变化事件。频率根据 [wx.startDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) 的 interval 参数。可以使用 [wx.stopDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) 停止监听。 */ - onDeviceMotionChange( - /** 设备方向变化事件的监听函数 */ - listener: OnDeviceMotionChangeCallback - ): void - /** [wx.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html) - * - * 需要基础库: `2.1.2` - * - * 在插件中使用:不支持 - * - * 监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 [`App.onError`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onerrorstring-error) 的回调时机与参数一致。 */ - onError( - /** 小程序错误事件的监听函数 */ - listener: WxOnErrorCallback - ): void - /** [wx.onGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听获取到 Wi-Fi 列表数据事件 */ - onGetWifiList( - /** 获取到 Wi-Fi 列表数据事件的监听函数 */ - listener: OnGetWifiListCallback - ): void - /** [wx.onGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.onGyroscopeChange.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听陀螺仪数据变化事件。频率根据 [wx.startGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) 的 interval 参数。可以使用 [wx.stopGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) 停止监听。 */ - onGyroscopeChange( - /** 陀螺仪数据变化事件的监听函数 */ - listener: OnGyroscopeChangeCallback - ): void - /** [wx.onHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.onHCEMessage.html) - * - * 需要基础库: `1.7.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听接收 NFC 设备消息事件。仅能注册一个监听 */ - onHCEMessage( - /** 接收 NFC 设备消息事件的监听函数 */ - listener: OnHCEMessageCallback - ): void - /** [wx.onKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.onKeyboardHeightChange.html) -* -* 需要基础库: `2.7.0` -* -* 在插件中使用:不支持 -* -* 监听键盘高度变化事件 -* -* **示例代码** -* -* ```js -wx.onKeyboardHeightChange(res => { - console.log(res.height) -}) -``` */ - onKeyboardHeightChange( - /** 键盘高度变化事件的监听函数 */ - listener: OnKeyboardHeightChangeCallback - ): void - /** [wx.onLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onLazyLoadError.html) - * - * 需要基础库: `2.24.3` - * - * 在插件中使用:不支持 - * - * 监听小程序异步组件加载失败事件。 - * - * **注意** - * - * - 加载异步组件通常需要下载分包,若分包下载超时,则会触发 errMsg 为 "loadSubpackage: timeout" 的回调,默认超时等待时间为 5 秒。 - * - 可以通过第二个参数指定超时时间(单位:ms),该设置全局有效,多次指定超时时间则覆盖前面。 - * - 分包确认下载失败时,会再次触发 errMsg 为 "loadSubpackage: fail" 的回调。 - * - 若在页面中使用该接口进行监听,请确保在必要时手动调用 offLazyLoadError 取消监听,以避免非预期的内存泄漏。 */ - onLazyLoadError( - /** 小程序异步组件加载失败事件的监听函数 */ - listener: OnLazyLoadErrorCallback - ): void - /** [wx.onLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceDiscoveryStop.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听 mDNS 服务停止搜索的事件 */ - onLocalServiceDiscoveryStop( - /** mDNS 服务停止搜索的事件的监听函数 */ - listener: OnLocalServiceDiscoveryStopCallback - ): void - /** [wx.onLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceFound.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听 mDNS 服务发现的事件 */ - onLocalServiceFound( - /** mDNS 服务发现的事件的监听函数 */ - listener: OnLocalServiceFoundCallback - ): void - /** [wx.onLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceLost.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听 mDNS 服务离开的事件 */ - onLocalServiceLost( - /** mDNS 服务离开的事件的监听函数 */ - listener: OnLocalServiceLostCallback - ): void - /** [wx.onLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceResolveFail.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 监听 mDNS 服务解析失败的事件 */ - onLocalServiceResolveFail( - /** mDNS 服务解析失败的事件的监听函数 */ - listener: OnLocalServiceResolveFailCallback - ): void - /** [wx.onLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html) -* -* 需要基础库: `2.8.1` -* -* 在插件中使用:不支持 -* -* 监听实时地理位置变化事件,需结合 [wx.startLocationUpdateBackground](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html)、[wx.startLocationUpdate](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html)使用。 -* -* ## 使用方法 -* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) -* -* ## 申请开通 -* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 -* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 -* -* ### 国内主体开放类目 -* -* | 一级类目/主体类型 | 二级类目 | 应用场景 | -* | -------------- | -------| -------- | -* | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | -* | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | -* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | -* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | -* | 生活服务 | / | 上门服务作业等线下场景 | -* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | -* | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | -* | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | -* | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | -* | 旅游 | 景区服务 | 提供景区导航、导览服务 | -* | 政务民生 | / | 提供政务单位相关业务 | -* | 政府主体帐号 | / | 提供政务单位相关业务 | -* -* ### 海外主体开放类目 -* | 一级类目/主体类型 | 二级类目 | 应用场景 | -* | -------------- | -------| -------- | -* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | -* | 快递业与邮政 | / | 快递/货物收发服务 | -* | 餐饮 | / | 线下送餐服务 | -* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | -* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | -* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | -* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | -* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | -* -* **示例代码** -* -* ```js - const _locationChangeFn = function(res) { - console.log('location change', res) - } - wx.onLocationChange(_locationChangeFn) - wx.offLocationChange(_locationChangeFn) -``` */ - onLocationChange( - /** 实时地理位置变化事件的监听函数 */ - listener: OnLocationChangeCallback - ): void - /** [wx.onLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChangeError.html) - * - * 需要基础库: `2.19.5` - * - * 在插件中使用:不支持 - * - * 监听持续定位接口返回失败时触发。 */ - onLocationChangeError( - /** 的监听函数 */ - listener: OnLocationChangeErrorCallback - ): void - /** [wx.onMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.onMemoryWarning.html) - * - * 需要基础库: `2.0.2` - * - * 在插件中使用:不支持 - * - * 监听内存不足告警事件。 - * - * 当 iOS/Android 向小程序进程发出内存警告时,触发该事件。触发该事件不意味小程序被杀,大部分情况下仅仅是告警,开发者可在收到通知后回收一些不必要资源避免进一步加剧内存紧张。 - * - * **示例代码** - * - * ```js - * wx.onMemoryWarning(function () { - * console.log('onMemoryWarningReceive') - * }) - * `` */ - onMemoryWarning( - /** 内存不足告警事件的监听函数 */ - listener: OnMemoryWarningCallback - ): void - /** [wx.onNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:支持 -* -* 监听网络状态变化事件 -* -* **示例代码** -* -* ```js -wx.onNetworkStatusChange(function (res) { - console.log(res.isConnected) - console.log(res.networkType) -}) -``` */ - onNetworkStatusChange( - /** 网络状态变化事件的监听函数 */ - listener: OnNetworkStatusChangeCallback - ): void - /** [wx.onNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html) -* -* 需要基础库: `2.21.0` -* -* 在插件中使用:不支持 -* -* 监听弱网状态变化事件 -* -* **示例代码** -* -* ```js -wx.onNetworkWeakChange(function (res) { - console.log(res.weakNet) - console.log(res.networkType) -}) -// 取消监听 -wx.offNetworkWeakChange() -``` */ - onNetworkWeakChange( - /** 弱网状态变化事件的监听函数 */ - listener: OnNetworkWeakChangeCallback - ): void - /** [wx.onPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) - * - * 需要基础库: `2.1.2` - * - * 在插件中使用:不支持 - * - * 监听小程序要打开的页面不存在事件。该事件与 [`App.onPageNotFound`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onpagenotfoundobject-object) 的回调时机一致。 - * - * **注意** - * - * - 开发者可以在回调中进行页面重定向,但必须在回调中**同步**处理,异步处理(例如 `setTimeout` 异步执行)无效。 - * - 若开发者没有调用 [wx.onPageNotFound](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) 绑定监听,也没有声明 `App.onPageNotFound`,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 - * - 如果回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再第二次回调。 */ - onPageNotFound( - /** 小程序要打开的页面不存在事件的监听函数 */ - listener: OnPageNotFoundCallback - ): void - /** [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onScreenRecordingStateChanged.html) - * - * 需要基础库: `2.24.0` - * - * 在插件中使用:不支持 - * - * 监听用户录屏事件。 */ - onScreenRecordingStateChanged( - /** 用户录屏事件的监听函数 */ - listener: OnScreenRecordingStateChangedCallback - ): void - /** [wx.onSocketClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketClose.html) - * - * 在插件中使用:不支持 - * - * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** - * - * 监听 WebSocket 连接关闭事件。 */ - onSocketClose( - /** WebSocket 连接关闭事件的监听函数 */ - listener: OnSocketCloseCallback - ): void - /** [wx.onSocketError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketError.html) - * - * 在插件中使用:不支持 - * - * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** - * - * 监听 WebSocket 错误事件。 */ - onSocketError( - /** WebSocket 错误事件的监听函数 */ - listener: OnSocketErrorCallback - ): void - /** [wx.onSocketMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketMessage.html) - * - * 在插件中使用:不支持 - * - * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** - * - * 监听 WebSocket 接受到服务器的消息事件。 */ - onSocketMessage( - /** WebSocket 接受到服务器的消息事件的监听函数 */ - listener: OnSocketMessageCallback - ): void - /** [wx.onSocketOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketOpen.html) - * - * 在插件中使用:不支持 - * - * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** - * - * 监听 WebSocket 连接打开事件。 */ - onSocketOpen( - /** WebSocket 连接打开事件的监听函数 */ - listener: OnSocketOpenCallback - ): void - /** [wx.onThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onThemeChange.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 监听系统主题改变事件。该事件与 [`App.onThemeChange`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onThemeChange-Object-object) 的回调时机一致。 - * - * **注意** - * - * - 只有在全局配置"darkmode": true时才会触发此事件。 */ - onThemeChange( - /** 系统主题改变事件的监听函数 */ - listener: OnThemeChangeCallback - ): void - /** [wx.onUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:不支持 - * - * 监听未处理的 Promise 拒绝事件。该事件与 [`App.onUnhandledRejection`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onUnhandledRejection-Object-object) 的回调时机与参数一致。 - * - * **注意** - * - * - 所有的 unhandledRejection 都可以被这一监听捕获,但只有 Error 类型的才会在小程序后台触发报警。 */ - onUnhandledRejection( - /** 未处理的 Promise 拒绝事件的监听函数 */ - listener: OnUnhandledRejectionCallback - ): void - /** [wx.onUserCaptureScreen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onUserCaptureScreen.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:不支持 -* -* 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听 -* -* **示例代码** -* -* ```js -wx.onUserCaptureScreen(function (res) { - console.log('用户截屏了') -}) -``` */ - onUserCaptureScreen( - /** 用户主动截屏事件的监听函数 */ - listener: OnUserCaptureScreenCallback - ): void - /** [wx.onVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatInterrupted.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听被动断开实时语音通话事件。包括小游戏切入后端时断开 */ - onVoIPChatInterrupted( - /** 被动断开实时语音通话事件的监听函数 */ - listener: OnVoIPChatInterruptedCallback - ): void - /** [wx.onVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatMembersChanged.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 */ - onVoIPChatMembersChanged( - /** 实时语音通话成员在线状态变化事件的监听函数 */ - listener: OnVoIPChatMembersChangedCallback - ): void - /** [wx.onVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatSpeakersChanged.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听实时语音通话成员通话状态变化事件。有成员开始/停止说话时触发回调 */ - onVoIPChatSpeakersChanged( - /** 实时语音通话成员通话状态变化事件的监听函数 */ - listener: OnVoIPChatSpeakersChangedCallback - ): void - /** [wx.onVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatStateChanged.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:不支持 - * - * 监听房间状态变化事件。 */ - onVoIPChatStateChanged( - /** 房间状态变化事件的监听函数 */ - listener: OnVoIPChatStateChangedCallback - ): void - /** [wx.onVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPVideoMembersChanged.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:不支持 - * - * 监听实时语音通话成员视频状态变化事件。 */ - onVoIPVideoMembersChanged( - /** 实时语音通话成员视频状态变化事件的监听函数 */ - listener: OnVoIPVideoMembersChangedCallback - ): void - /** [wx.onWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnected.html) - * - * 需要基础库: `1.6.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 监听连接上 Wi-Fi 的事件 */ - onWifiConnected( - /** 连接上 Wi-Fi 的事件的监听函数 */ - listener: OnWifiConnectedCallback - ): void - /** [wx.onWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnectedWithPartialInfo.html) - * - * 需要基础库: `2.22.0` - * - * 在插件中使用:需要基础库 `2.22.1` - * - * 监听连接上 Wi-Fi 的事件 */ - onWifiConnectedWithPartialInfo( - /** 连接上 Wi-Fi 的事件的监听函数 */ - listener: OnWifiConnectedWithPartialInfoCallback - ): void - /** [wx.onWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.onWindowResize.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:不支持 - * - * 监听窗口尺寸变化事件 */ - onWindowResize( - /** 窗口尺寸变化事件的监听函数 */ - listener: OnWindowResizeCallback - ): void - /** [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 跳转系统微信授权管理页 -* -* **示例代码** -* -* ```js -wx.openAppAuthorizeSetting({ - success (res) { - console.log(res) - } -}) -``` */ - openAppAuthorizeSetting< - T extends OpenAppAuthorizeSettingOption = OpenAppAuthorizeSettingOption - >( - option?: T - ): PromisifySuccessResult<T, OpenAppAuthorizeSettingOption> - /** [wx.openBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 初始化蓝牙模块。iOS 上开启主机/从机(外围设备)模式时需分别调用一次,并指定对应的 `mode`。 -* -* **object.fail 回调函数返回的 state 参数(仅 iOS)** -* -* | 状态码 | 说明 | -* | ------ | ------ | -* | 0 | 未知 | -* | 1 | 重置中 | -* | 2 | 不支持 | -* | 3 | 未授权 | -* | 4 | 未开启 | -* -* **注意** -* -* - 其他蓝牙相关 API 必须在 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 调用之后使用。否则 API 会返回错误(errCode=10000)。 -* - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过 [wx.onBluetoothAdapterStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) 监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.openBluetoothAdapter({ - success (res) { - console.log(res) - } -}) -``` */ - openBluetoothAdapter< - T extends OpenBluetoothAdapterOption = OpenBluetoothAdapterOption - >( - option?: T - ): PromisifySuccessResult<T, OpenBluetoothAdapterOption> - /** [wx.openCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.openCard.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:不支持 -* -* 查看微信卡包中的卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 -* -* **示例代码** -* -* ```js -wx.openCard({ - cardList: [{ - cardId: '', - code: '' - }, { - cardId: '', - code: '' - }], - success (res) { } -}) -``` */ - openCard<T extends OpenCardOption = OpenCardOption>( - option: T - ): PromisifySuccessResult<T, OpenCardOption> - /** [wx.openChannelsActivity(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsActivity.html) - * - * 需要基础库: `2.19.2` - * - * 在插件中使用:不支持 - * - * 打开视频号视频 */ - openChannelsActivity(option: OpenChannelsActivityOption): void - /** [wx.openChannelsEvent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsEvent.html) - * - * 需要基础库: `2.21.0` - * - * 在插件中使用:不支持 - * - * 打开视频号活动页 */ - openChannelsEvent(option: OpenChannelsEventOption): void - /** [wx.openChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsLive.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:不支持 - * - * 打开视频号直播 */ - openChannelsLive(option: OpenChannelsLiveOption): void - /** [wx.openChannelsUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsUserProfile.html) - * - * 需要基础库: `2.21.2` - * - * 在插件中使用:不支持 - * - * 打开视频号主页 */ - openChannelsUserProfile(option: OpenChannelsUserProfileOption): void - /** [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html) -* -* 需要基础库: `2.19.0` -* -* 在插件中使用:不支持 -* -* 打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用。了解更多信息,可以参考[微信客服介绍](https://work.weixin.qq.com/kf/)。 -* -* **示例代码** -* -* ```js -wx.openCustomerServiceChat({ - extInfo: {url: ''}, - corpId: '', - success(res) {} -}) -``` */ - openCustomerServiceChat(option: OpenCustomerServiceChatOption): void - /** [wx.openDocument(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html) - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 新开页面打开文档。微信客户端 `7.0.12` 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 `showMenu`。 */ - openDocument<T extends OpenDocumentOption = OpenDocumentOption>( - option: T - ): PromisifySuccessResult<T, OpenDocumentOption> - /** [wx.openEmbeddedMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:不支持 - * - * 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 */ - openEmbeddedMiniProgram< - T extends OpenEmbeddedMiniProgramOption = OpenEmbeddedMiniProgramOption - >( - option: T - ): PromisifySuccessResult<T, OpenEmbeddedMiniProgramOption> - /** [wx.openLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 使用微信内置地图查看位置 -* -* **示例代码** -* -* ```js - wx.getLocation({ - type: 'gcj02', //返回可以用于wx.openLocation的经纬度 - success (res) { - const latitude = res.latitude - const longitude = res.longitude - wx.openLocation({ - latitude, - longitude, - scale: 18 - }) - } -}) - ``` */ - openLocation<T extends OpenLocationOption = OpenLocationOption>( - option: T - ): PromisifySuccessResult<T, OpenLocationOption> - /** [wx.openSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.openSetting.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.10.3` -* -* 调起客户端小程序设置界面,返回用户设置的操作结果。**设置界面只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 -* -* **** -* -* - 注意:[2.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。[详情](https://developers.weixin.qq.com/community/develop/doc/000cea2305cc5047af5733de751008) -* -* **示例代码** -* -* ```js -wx.openSetting({ - success (res) { - console.log(res.authSetting) - // res.authSetting = { - // "scope.userInfo": true, - // "scope.userLocation": true - // } - } -}) -``` */ - openSetting<T extends OpenSettingOption = OpenSettingOption>( - option?: T - ): PromisifySuccessResult<T, OpenSettingOption> - /** [wx.openSystemBluetoothSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openSystemBluetoothSetting.html) -* -* 需要基础库: `2.20.1` -* -* 在插件中使用:需要基础库 `2.21.3` -* -* 跳转系统蓝牙设置页。仅支持安卓。 -* -* **示例代码** -* -* ```js -wx.openSystemBluetoothSetting({ - success (res) { - console.log(res) - } -}) -``` */ - openSystemBluetoothSetting< - T extends OpenSystemBluetoothSettingOption = OpenSystemBluetoothSettingOption - >( - option?: T - ): PromisifySuccessResult<T, OpenSystemBluetoothSettingOption> - /** [wx.openVideoEditor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.openVideoEditor.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 打开视频编辑器 */ - openVideoEditor(option: OpenVideoEditorOption): void - /** [wx.pageScrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 将页面滚动到目标位置,支持选择器和滚动距离两种方式定位 -* -* **selector 语法** -* -* selector类似于 CSS 的选择器,但仅支持下列语法。 -* -* + ID选择器:#the-id -* + class选择器(可以连续指定多个):.a-class.another-class -* + 子元素选择器:.the-parent > .the-child -* + 后代选择器:.the-ancestor .the-descendant -* + 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant -* + 多选择器的并集:#a-node, .some-other-nodes -* -* **示例代码** -* -* ```js -wx.pageScrollTo({ - scrollTop: 0, - duration: 300 -}) -``` */ - pageScrollTo<T extends PageScrollToOption = PageScrollToOption>( - option: T - ): PromisifySuccessResult<T, PageScrollToOption> - /** [wx.pauseBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.pauseBackgroundAudio.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 -* -* 暂停播放音乐。 -* -* **示例代码** -* -* ```js -wx.pauseBackgroundAudio() -``` */ - pauseBackgroundAudio< - T extends PauseBackgroundAudioOption = PauseBackgroundAudioOption - >( - option?: T - ): PromisifySuccessResult<T, PauseBackgroundAudioOption> - /** [wx.pauseVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.pauseVoice.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 -* -* 暂停正在播放的语音。再次调用 [wx.playVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) 播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 [wx.stopVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html)。 -* -* **示例代码** -* -* ```js -wx.startRecord({ - success (res) { - const tempFilePath = res.tempFilePath - wx.playVoice({ - filePath: tempFilePath - }) - - setTimeout(() => { wx.pauseVoice() }, 5000) - } -}) -``` */ - pauseVoice<T extends PauseVoiceOption = PauseVoiceOption>( - option?: T - ): PromisifySuccessResult<T, PauseVoiceOption> - /** [wx.playBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.playBackgroundAudio.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 -* -* 使用后台播放器播放音乐。对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。 -* -* **示例代码** -* -* ```js -wx.playBackgroundAudio({ - dataUrl: '', - title: '', - coverImgUrl: '' -}) -``` */ - playBackgroundAudio< - T extends PlayBackgroundAudioOption = PlayBackgroundAudioOption - >( - option: T - ): PromisifySuccessResult<T, PlayBackgroundAudioOption> - /** [wx.playVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 -* -* 开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 -* -* **示例代码** -* -* ```js -wx.startRecord({ - success (res) { - const tempFilePath = res.tempFilePath - wx.playVoice({ - filePath: tempFilePath, - complete () { } - }) - } -}) -``` */ - playVoice<T extends PlayVoiceOption = PlayVoiceOption>( - option: T - ): PromisifySuccessResult<T, PlayVoiceOption> - /** [wx.pluginLogin(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:需要基础库 `2.20.1` - * - * __该接口仅在小程序插件中可调用__,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。 */ - pluginLogin(args?: PluginLoginOption): void - /** [wx.preloadAssets(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadAssets.html) -* -* 需要基础库: `2.22.1` -* -* 在插件中使用:不支持 -* -* 为视图层预加载媒体资源文件, 目前支持:font,image -* -* **示例代码** -* -* ```js -wx.preloadAssets({ - data: [ - { - type: 'image', - src: imgUrl, - }, - ], - success(resp) { - console.log('preloadAssets success', resp) - }, - fail(err) { - console.log('preloadAssets fail', err) - }, -}) -``` -* -* **** -* -* - 开发过程中,可在开发者工具network面板查看预加载情况。 */ - preloadAssets(option: PreloadAssetsOption): void - /** [wx.preloadSkylineView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadSkylineView.html) - * - * 需要基础库: `2.24.7` - * - * 在插件中使用:需要基础库 `2.24.7` - * - * 预加载下个页面所需要的 [Skyline](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 运行环境。 */ - preloadSkylineView(option?: PreloadSkylineViewOption): void - /** [wx.preloadWebview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadWebview.html) - * - * 需要基础库: `2.15.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 预加载下个页面的 WebView。参见[预加载下个页面的时机](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_nav.html#_2-4-控制预加载下个页面的时机) */ - preloadWebview(option?: PreloadWebviewOption): void - /** [wx.previewImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。 -* -* **支持长按识别的码** -* -* | 类型 | 说明 | 最低版本 | -* |------|------| -------| -* | 小程序码 | | -* | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | -* | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | -* | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | -* | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | -* | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | -* -* **示例代码** -* -* ```js -wx.previewImage({ - current: '', // 当前显示图片的http链接 - urls: [] // 需要预览的图片http链接列表 -}) -``` */ - previewImage<T extends PreviewImageOption = PreviewImageOption>( - option: T - ): PromisifySuccessResult<T, PreviewImageOption> - /** [wx.previewMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 预览图片和视频。 - * - * **支持长按识别的码** - * - * | 类型 | 说明 | 最低版本 | - * |------|------| -------| - * | 小程序码 | | - * | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | - * | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | - * | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | - * | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | - * | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | */ - previewMedia<T extends PreviewMediaOption = PreviewMediaOption>( - option: T - ): PromisifySuccessResult<T, PreviewMediaOption> - /** [wx.reLaunch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.3.1` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 关闭所有页面,打开到应用内的某个页面 -* -* **示例代码** -* -* ```js -wx.reLaunch({ - url: 'test?id=1' -}) -``` -* -* ```html -* // test -* Page({ -* onLoad (option) { -* console.log(option.query) -* } -* }) -* ``` */ - reLaunch<T extends ReLaunchOption = ReLaunchOption>( - option: T - ): PromisifySuccessResult<T, ReLaunchOption> - /** [wx.readBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.readBLECharacteristicValue.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 读取蓝牙低功耗设备特征值的二进制数据。注意:必须设备的特征支持 read 才可以成功调用。 -* -* **注意** -* -* - 并行调用多次会存在读失败的可能性。 -* - 接口读取到的信息需要在 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 方法注册的回调中获取。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -// 必须在这里的回调才能获取 -wx.onBLECharacteristicValueChange(function(characteristic) { - console.log('characteristic value comed:', characteristic) -}) - -wx.readBLECharacteristicValue({ - // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 - deviceId, - // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 - serviceId, - // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 - characteristicId, - success (res) { - console.log('readBLECharacteristicValue:', res.errCode) - } -}) -``` */ - readBLECharacteristicValue< - T extends ReadBLECharacteristicValueOption = ReadBLECharacteristicValueOption - >( - option: T - ): PromisifySuccessResult<T, ReadBLECharacteristicValueOption> - /** [wx.redirectTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html) -* -* 在插件中使用:需要基础库 `2.2.2` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 -* -* **示例代码** -* -* ```js -wx.redirectTo({ - url: 'test?id=1' -}) -``` */ - redirectTo<T extends RedirectToOption = RedirectToOption>( - option: T - ): PromisifySuccessResult<T, RedirectToOption> - /** [wx.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.removeSavedFile.html) -* -* 在插件中使用:不支持 -* -* @warning **该接口已停止维护,推荐使用 [FileSystemManager.removeSavedFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)** -* -* 删除本地缓存文件。 -* -* **示例代码** -* -* ```js -wx.getSavedFileList({ - success (res) { - if (res.fileList.length > 0){ - wx.removeSavedFile({ - filePath: res.fileList[0].filePath, - complete (res) { - console.log(res) - } - }) - } - } -}) -``` */ - removeSavedFile< - T extends WxRemoveSavedFileOption = WxRemoveSavedFileOption - >( - option: T - ): PromisifySuccessResult<T, WxRemoveSavedFileOption> - /** [wx.removeStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 从本地缓存中移除指定 key。 -* -* **示例代码** -* -* ```js -wx.removeStorage({ - key: 'key', - success (res) { - console.log(res) - } -}) -``` -* -* ```js -try { - wx.removeStorageSync('key') -} catch (e) { - // Do something when catch error -} -``` */ - removeStorage<T extends RemoveStorageOption = RemoveStorageOption>( - option: T - ): PromisifySuccessResult<T, RemoveStorageOption> - /** [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* [wx.removeStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) 的同步版本 -* -* **示例代码** -* -* ```js -wx.removeStorage({ - key: 'key', - success (res) { - console.log(res) - } -}) -``` -* -* ```js -try { - wx.removeStorageSync('key') -} catch (e) { - // Do something when catch error -} -``` */ - removeStorageSync( - /** 本地缓存中指定的 key */ - key: string - ): void - /** [wx.removeTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.removeTabBarBadge.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:不支持 - * - * 移除 tabBar 某一项右上角的文本 */ - removeTabBarBadge< - T extends RemoveTabBarBadgeOption = RemoveTabBarBadgeOption - >( - option: T - ): PromisifySuccessResult<T, RemoveTabBarBadgeOption> - /** [wx.reportAnalytics(string eventName, Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 在插件中使用时,可以被正常调用,但目前不会进行统计展示 -* -* 自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段。 -* -* **示例代码** -* -* ```js -wx.reportAnalytics('purchase', { - price: 120, - color: 'red' -}) -``` */ - reportAnalytics( - /** 事件名 */ - eventName: string, - /** 上报的自定义数据,key 为配置中的字段名,value 为上报的数据。 */ - data: IAnyObject - ): void - /** [wx.reportEvent(string eventId, object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) - * - * 需要基础库: `2.14.4` - * - * 在插件中使用:不支持 - * - * 事件上报 */ - reportEvent( - /** 在 mp 实验系统中设置的事件英文名 */ - eventId: string, - /** 可被 JSON.stringify 的对象,将一起上报至系统 */ - data?: IAnyObject - ): void - /** [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportMonitor.html) -* -* 需要基础库: `2.0.1` -* -* 在插件中使用:不支持 -* -* 自定义业务数据监控上报接口。 -* -* **使用说明** -* -* 使用前,需要在「小程序管理后台-运维中心-性能监控-业务数据监控」中新建监控事件,配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。 -* -* **示例代码** -* -* ```js -wx.reportMonitor('1', 1) -``` */ - reportMonitor( - /** 监控ID,在「小程序管理后台」新建数据指标后获得 */ - name: string, - /** 上报数值,经处理后会在「小程序管理后台」上展示每分钟的上报总量 */ - value: number - ): void - /** [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.reportPerformance.html) -* -* 需要基础库: `2.9.2` -* -* 在插件中使用:需要基础库 `2.9.3` -* -* 小程序测速上报。使用前,需要在小程序管理后台配置。 -* -* **示例代码** -* -* ```js -wx.reportPerformance(1101, 680) -wx.reportPerformance(1101, 680, 'custom') -``` */ - reportPerformance( - /** 指标 id */ - id: number, - /** 需要上报的数值 */ - value: number, - /** 自定义维度 (选填) */ - dimensions?: string | any[] - ): void - /** [wx.requestOrderPayment(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestOrderPayment.html) - * - * 需要基础库: `2.16.0` - * - * 在插件中使用:不支持 - * - * 仅接入了[自定义版交易组件](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/Introduction2)的小程序需要使用,普通小程序可直接使用 [`wx.requestPayment`](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html)。 - * - * **前置检查** - * - * 接入自定义版交易组件之后,若要发起微信支付,请先查询[需要校验的场景](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。 - * 在需要校验的场景中,发起微信支付时,必须使用该接口,需要按照要求传入相关的[订单信息](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验,校验通过后用户才可以完成当前订单的支付,非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。 */ - requestOrderPayment< - T extends RequestOrderPaymentOption = RequestOrderPaymentOption - >( - args: T - ): PromisifySuccessResult<T, RequestOrderPaymentOption> - /** [wx.requestPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html) -* -* 在插件中使用:不支持 -* -* 发起微信支付。调用前需在[小程序微信公众平台](https://mp.weixin.qq.com/) -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml): -* - [开发指引](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter2_3.shtml) -* - [下单接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_2.shtml) -* - [支付接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_12.shtml) -* - 旧版本 (v2) -* - [开发指引](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1) -* - [支付接口](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3) -* -* 如果使用[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html),则 `wx.requestPayment` 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见[云开发微信支付](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/wechatpay/wechatpay.html)。 -* -* **示例代码** -* -* ```js -wx.requestPayment({ - timeStamp: '', - nonceStr: '', - package: '', - signType: 'MD5', - paySign: '', - success (res) { }, - fail (res) { } -}) -``` -* -* 注:如果服务端有使用云开发,可以通过云开发微信支付[统一下单](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html)接口免鉴权获取以上所需所有参数,示例: -* -* ```js -// 云函数代码 -const cloud = require('wx-server-sdk') -cloud.init({ - env: cloud.DYNAMIC_CURRENT_ENV -}) - -exports.main = async (event, context) => { - const res = await cloud.cloudPay.unifiedOrder({ - "body" : "小秋TIT店-超市", - "outTradeNo" : "1217752501201407033233368018", - "spbillCreateIp" : "127.0.0.1", - "subMchId" : "1900009231", - "totalFee" : 1, - "envId": "test-f0b102", - "functionName": "pay_cb" - }) - return res -} - -// 小程序代码 -wx.cloud.callFunction({ - name: '函数名', - data: { - // ... - }, - success: res => { - const payment = res.result.payment - wx.requestPayment({ - ...payment, - success (res) { - console.log('pay success', res) - }, - fail (err) { - console.error('pay fail', err) - } - }) - }, - fail: console.error, -}) -``` */ - requestPayment<T extends RequestPaymentOption = RequestPaymentOption>( - option: T - ): PromisifySuccessResult<T, RequestPaymentOption> - /** [wx.requestPluginPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPluginPayment.html) -* -* 需要基础库: `2.22.1` -* -* 在插件中使用:需要基础库 `2.22.1` -* -* 插件中发起支付。 -* -* **Tip** -* -* 1. `tip`: 小程序与插件绑定在同一个open平台账号上且小程序与插件均为open账号的同主体/关联主体时,调用此接口将直接拉起支付收银台。 -* 1. `tip`: 这个接口本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。 -* 1. `tip`: 跳转支付功能页需要在 `app.json` 中配置 `"functionalPages": true` -* -* **示例代码** -* -* 具体用法及参数说明可参考 [插件支付文档](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/request-payment.html) -* ```js -wx.requestPluginPayment({ - version: 'release', - fee: 1, - paymentArgs: {}, - currencyType: 'CNY', - success (res) { }, - fail (res) { } -}) -``` */ - requestPluginPayment(option: RequestPluginPaymentOption): void - /** [wx.requestSubscribeDeviceMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeDeviceMessage.html) -* -* 需要基础库: `2.20.0` -* -* 在插件中使用:不支持 -* -* 订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。 -* -* **错误码** -* -* | errCode | errMsg | 说明 | -* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | -* | 10001 | TmplIds can't be empty | tmplIds 为空 | -* | 10004 | Invalid template id | tmplId 参数类型错误 | -* | 20001 | No template data return, verify the template id exist | tmplId 为空 | -* | 20003 | Templates count out of max bounds | tmplId 数量超过上限 | -* | 19720726 | check sn_ticket fail | snTicket 不合法 | -* | 19720727 | sn_ticket expire | snTicket 过期 | -* | 19720728 | err_not_found_tid | tmplId 不存在 | -* | 19720736 | template_id do not match model_id | modelId 类型与 tmplId 类型不符 | -* -* **示例代码** -* -* ```js -wx.requestSubscribeDeviceMessage({ - tmplIds: ['xxxxx'], - sn: 'xxxx', - snTicket: 'xxxxx', - modelId: 'xxx', - success(res) { - console.log(res) - }, - fail(res) { - console.log(res) - } -}) -``` */ - requestSubscribeDeviceMessage< - T extends RequestSubscribeDeviceMessageOption = RequestSubscribeDeviceMessageOption - >( - option: T - ): PromisifySuccessResult<T, RequestSubscribeDeviceMessageOption> - /** [wx.requestSubscribeMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html) -* -* 需要基础库: `2.4.4` -* -* 在插件中使用:不支持 -* -* 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 [wx.getSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) 接口可获取用户对相关模板消息的订阅状态。 -* -* ## 注意事项 -* - 一次性模板 id 和永久模板 id 不可同时使用。 -* - 低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。 -* - [2.8.2](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。 -* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。 -* - 一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。 -* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,支持订阅语音消息提醒,[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html) -* -* **错误码** -* -* | errCode | errMsg | 说明 | -* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | -* | 10001 | TmplIds can't be empty | 参数传空了 | -* | 10002 | Request list fail | 网络问题,请求消息列表失败 | -* | 10003 | Request subscribe fail | 网络问题,订阅请求发送失败 | -* | 10004 | Invalid template id | 参数类型错误 | -* | 10005 | Cannot show subscribe message UI | 无法展示 UI,一般是小程序这个时候退后台了导致的 | -* | 20001 | No template data return, verify the template id exist | 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 | -* | 20002 | Templates type must be same | 模板消息类型 既有一次性的又有永久的 | -* | 20003 | Templates count out of max bounds | 模板消息数量超过上限 | -* | 20004 | The main switch is switched off | 用户关闭了主开关,无法进行订阅 | -* | 20005 | This mini program was banned from subscribing messages | 小程序被禁封 | -* | 20013 | Reject DeviceMsg Template | 不允许通过该接口订阅设备消息 | -* -* **示例代码** -* -* ```js -wx.requestSubscribeMessage({ - tmplIds: [''], - success (res) { } -}) -``` */ - requestSubscribeMessage< - T extends RequestSubscribeMessageOption = RequestSubscribeMessageOption - >( - option: T - ): PromisifySuccessResult<T, RequestSubscribeMessageOption> - /** [wx.reserveChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.reserveChannelsLive.html) - * - * 需要基础库: `2.19.0` - * - * 在插件中使用:不支持 - * - * 预约视频号直播 */ - reserveChannelsLive(option: ReserveChannelsLiveOption): void - /** [wx.revokeBufferURL(string url)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html) - * - * 需要基础库: `2.14.0` - * - * 在插件中使用:不支持 - * - * 根据 URL 销毁存在内存中的数据 */ - revokeBufferURL( - /** 需要销毁的二进制数据 URL */ - url: string - ): void - /** [wx.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFile.html) -* -* 在插件中使用:不支持 -* -* @warning **该接口已停止维护,推荐使用 [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)** -* -* 保存文件到本地。注意:**saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用**。 -* -* **示例代码** -* -* ```js -wx.chooseImage({ - success: function(res) { - const tempFilePaths = res.tempFilePaths - wx.saveFile({ - tempFilePath: tempFilePaths[0], - success (res) { - const savedFilePath = res.savedFilePath - } - }) - } -}) -``` */ - saveFile<T extends WxSaveFileOption = WxSaveFileOption>( - option: T - ): PromisifySuccessResult<T, WxSaveFileOption> - /** [wx.saveFileToDisk(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html) -* -* 需要基础库: `2.11.0` -* -* 在插件中使用:需要基础库 `2.15.0` -* -* 保存文件系统的文件到用户磁盘,仅在 PC 端支持 -* -* **示例代码** -* -* ```js -wx.saveFileToDisk({ - filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, - success(res) { - console.log(res) - }, - fail(res) { - console.error(res) - } -}) -``` */ - saveFileToDisk(option: SaveFileToDiskOption): void - /** [wx.saveImageToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 保存图片到系统相册。 -* -* **示例代码** -* -* ```js -wx.saveImageToPhotosAlbum({ - success(res) { } -}) -``` */ - saveImageToPhotosAlbum< - T extends SaveImageToPhotosAlbumOption = SaveImageToPhotosAlbumOption - >( - option: T - ): PromisifySuccessResult<T, SaveImageToPhotosAlbumOption> - /** [wx.saveVideoToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 保存视频到系统相册。支持mp4视频格式。 -* -* **示例代码** -* -* ```js -wx.saveVideoToPhotosAlbum({ - filePath: 'wxfile://xxx', - success (res) { - console.log(res.errMsg) - } -}) -``` */ - saveVideoToPhotosAlbum< - T extends SaveVideoToPhotosAlbumOption = SaveVideoToPhotosAlbumOption - >( - option: T - ): PromisifySuccessResult<T, SaveVideoToPhotosAlbumOption> - /** [wx.scanCode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/scan/wx.scanCode.html) -* -* 需要基础库: `1.0.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 调起客户端扫码界面进行扫码 -* -* **示例代码** -* -* ```js -// 允许从相机和相册扫码 -wx.scanCode({ - success (res) { - console.log(res) - } -}) - -// 只允许从相机扫码 -wx.scanCode({ - onlyFromCamera: true, - success (res) { - console.log(res) - } -}) -``` */ - scanCode<T extends ScanCodeOption = ScanCodeOption>( - option: T - ): PromisifySuccessResult<T, ScanCodeOption> - /** [wx.seekBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.seekBackgroundAudio.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 -* -* 控制音乐播放进度。 -* -* **示例代码** -* -* ```js -wx.seekBackgroundAudio({ - position: 30 -}) -``` */ - seekBackgroundAudio< - T extends SeekBackgroundAudioOption = SeekBackgroundAudioOption - >( - option: T - ): PromisifySuccessResult<T, SeekBackgroundAudioOption> - /** [wx.sendHCEMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.sendHCEMessage.html) -* -* 需要基础库: `1.7.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 发送 NFC 消息。仅在安卓系统下有效。 -* -* **示例代码** -* -* ```js -const buffer = new ArrayBuffer(1) -const dataView = new DataView(buffer) -dataView.setUint8(0, 0) - -wx.startHCE({ - success (res) { - wx.onHCEMessage(function(res) { - if (res.messageType === 1) { - wx.sendHCEMessage({data: buffer}) - } - }) - } -}) -``` */ - sendHCEMessage<T extends SendHCEMessageOption = SendHCEMessageOption>( - option: T - ): PromisifySuccessResult<T, SendHCEMessageOption> - /** [wx.sendSms(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/sms/wx.sendSms.html) - * - * 需要基础库: `2.25.0` - * - * 在插件中使用:不支持 - * - * 拉起手机发送短信界面。 */ - sendSms(option: SendSmsOption): void - /** [wx.sendSocketMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html) -* -* 在插件中使用:不支持 -* -* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** -* -* 通过 WebSocket 连接发送数据。需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。 -* -* **示例代码** -* -* ```js -let socketOpen = false -let socketMsgQueue = [] -wx.connectSocket({ - url: 'test.php' -}) - -wx.onSocketOpen(function(res) { - socketOpen = true - for (let i = 0; i < socketMsgQueue.length; i++){ - sendSocketMessage(socketMsgQueue[i]) - } - socketMsgQueue = [] -}) - -function sendSocketMessage(msg) { - if (socketOpen) { - wx.sendSocketMessage({ - data:msg - }) - } else { - socketMsgQueue.push(msg) - } -} -``` */ - sendSocketMessage< - T extends SendSocketMessageOption = SendSocketMessageOption - >( - option: T - ): PromisifySuccessResult<T, SendSocketMessageOption> - /** [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:需要基础库 `2.11.0` - * - * 协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。仅安卓系统 5.1 以上版本有效,iOS 因系统限制不支持。 */ - setBLEMTU<T extends SetBLEMTUOption = SetBLEMTUOption>( - option: T - ): PromisifySuccessResult<T, SetBLEMTUOption> - /** [wx.setBackgroundColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundColor.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.4.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 动态设置窗口的背景色 -* -* **示例代码** -* -* ```js -wx.setBackgroundColor({ - backgroundColor: '#ffffff', // 窗口的背景色为白色 -}) - -wx.setBackgroundColor({ - backgroundColorTop: '#ffffff', // 顶部窗口的背景色为白色 - backgroundColorBottom: '#ffffff', // 底部窗口的背景色为白色 -}) -``` */ - setBackgroundColor< - T extends SetBackgroundColorOption = SetBackgroundColorOption - >( - option: T - ): PromisifySuccessResult<T, SetBackgroundColorOption> - /** [wx.setBackgroundFetchToken(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.setBackgroundFetchToken.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性 */ - setBackgroundFetchToken< - T extends SetBackgroundFetchTokenOption = SetBackgroundFetchTokenOption - >( - option: T - ): PromisifySuccessResult<T, SetBackgroundFetchTokenOption> - /** [wx.setBackgroundTextStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.html) -* -* 需要基础库: `2.1.0` -* -* 在插件中使用:需要基础库 `2.4.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 动态设置下拉背景字体、loading 图的样式 -* -* **示例代码** -* -* ```js -wx.setBackgroundTextStyle({ - textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark -}) -``` */ - setBackgroundTextStyle< - T extends SetBackgroundTextStyleOption = SetBackgroundTextStyleOption - >( - option: T - ): PromisifySuccessResult<T, SetBackgroundTextStyleOption> - /** [wx.setClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.setClipboardData.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s -* -* **示例代码** -* -* ```js -wx.setClipboardData({ - data: 'data', - success (res) { - wx.getClipboardData({ - success (res) { - console.log(res.data) // data - } - }) - } -}) -``` */ - setClipboardData< - T extends SetClipboardDataOption = SetClipboardDataOption - >( - option: T - ): PromisifySuccessResult<T, SetClipboardDataOption> - /** [wx.setEnable1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.setEnable1v1Chat.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:不支持 - * - * 开启双人通话。设置 `enable` 为 `false` 时,无法接听呼叫。 */ - setEnable1v1Chat(option: SetEnable1v1ChatOption): void - /** [wx.setEnableDebug(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:不支持 -* -* 设置是否打开调试开关。此开关对正式版也能生效。 -* -* **示例代码** -* -* ```javascript -// 打开调试 -wx.setEnableDebug({ - enableDebug: true -}) - -// 关闭调试 -wx.setEnableDebug({ - enableDebug: false -}) -``` -* -* **Tips** -* -* - 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。 */ - setEnableDebug<T extends SetEnableDebugOption = SetEnableDebugOption>( - option: T - ): PromisifySuccessResult<T, SetEnableDebugOption> - /** [wx.setInnerAudioOption(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.10.0` - * - * 设置 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 的播放选项。设置之后对当前小程序全局生效。 - * - * **** - * - * ## 注意事项 - * - 为保证微信整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOthers 参数的内容,强制与其它音频互斥 - * - 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频 - * - 目前 wx.setInnerAudioOption 接口不兼容 wx.createWebAudioContext 接口,也不兼容 wx.createInnerAudioContext 开启 useWebAudioImplement 的情况,将在后续版本中支持 */ - setInnerAudioOption< - T extends SetInnerAudioOption = SetInnerAudioOption - >( - option: T - ): PromisifySuccessResult<T, SetInnerAudioOption> - /** [wx.setKeepScreenOn(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setKeepScreenOn.html) -* -* 需要基础库: `1.4.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。 -* -* **示例代码** -* -* ```js -wx.setKeepScreenOn({ - keepScreenOn: true -}) -``` */ - setKeepScreenOn< - T extends SetKeepScreenOnOption = SetKeepScreenOnOption - >( - option: T - ): PromisifySuccessResult<T, SetKeepScreenOnOption> - /** [wx.setNavigationBarColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarColor.html) - * - * 需要基础库: `1.4.0` - * - * 在插件中使用:需要基础库 `2.1.0` - * - * 在插件中使用时,只能在当前插件的页面中调用 - * - * 设置页面导航条颜色 */ - setNavigationBarColor< - T extends SetNavigationBarColorOption = SetNavigationBarColorOption - >( - option: T - ): PromisifySuccessResult<T, SetNavigationBarColorOption> - /** [wx.setNavigationBarTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarTitle.html) -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 动态设置当前页面的标题 -* -* **示例代码** -* -* ```js -wx.setNavigationBarTitle({ - title: '当前页面' -}) -``` */ - setNavigationBarTitle< - T extends SetNavigationBarTitleOption = SetNavigationBarTitleOption - >( - option: T - ): PromisifySuccessResult<T, SetNavigationBarTitleOption> - /** [wx.setScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setScreenBrightness.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 设置屏幕亮度 */ - setScreenBrightness< - T extends SetScreenBrightnessOption = SetScreenBrightnessOption - >( - option: T - ): PromisifySuccessResult<T, SetScreenBrightnessOption> - /** [wx.setStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 -* -* **示例代码** -* -* ```js -wx.setStorage({ - key:"key", - data:"value" -}) -``` -* -* ```js -// 开启加密存储 -wx.setStorage({ - key: "key", - data: "value", - encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true - success() { - wx.getStorage({ - key: "key", - encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true - success(res) { - console.log(res.data) - } - }) - } -}) -``` */ - setStorage< - T = any, - U extends SetStorageOption<T> = SetStorageOption<T> - >( - option: U - ): PromisifySuccessResult<U, SetStorageOption<T>> - /** [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 -* -* **注意** -* -* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 -* -* **示例代码** -* -* ```js -try { - wx.setStorageSync('key', 'value') -} catch (e) { } -``` */ - setStorageSync<T = any>( - /** 本地缓存中指定的 key */ - key: string, - /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ - data: T - ): void - /** [wx.setTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarBadge.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:不支持 -* -* 为 tabBar 某一项的右上角添加文本 -* -* **示例代码** -* -* ```js -wx.setTabBarBadge({ - index: 0, - text: '1' -}) -``` */ - setTabBarBadge<T extends SetTabBarBadgeOption = SetTabBarBadgeOption>( - option: T - ): PromisifySuccessResult<T, SetTabBarBadgeOption> - /** [wx.setTabBarItem(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarItem.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:不支持 -* -* 动态设置 tabBar 某一项的内容,`2.7.0` 起图片支持临时文件和网络文件。 -* -* **示例代码** -* -* ```js -wx.setTabBarItem({ - index: 0, - text: 'text', - iconPath: '/path/to/iconPath', - selectedIconPath: '/path/to/selectedIconPath' -}) -``` */ - setTabBarItem<T extends SetTabBarItemOption = SetTabBarItemOption>( - option: T - ): PromisifySuccessResult<T, SetTabBarItemOption> - /** [wx.setTabBarStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarStyle.html) -* -* 需要基础库: `1.9.0` -* -* 在插件中使用:不支持 -* -* 动态设置 tabBar 的整体样式 -* -* **示例代码** -* -* ```js -wx.setTabBarStyle({ - color: '#FF0000', - selectedColor: '#00FF00', - backgroundColor: '#0000FF', - borderStyle: 'white' -}) -``` */ - setTabBarStyle<T extends SetTabBarStyleOption = SetTabBarStyleOption>( - option?: T - ): PromisifySuccessResult<T, SetTabBarStyleOption> - /** [wx.setTopBarText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/sticky/wx.setTopBarText.html) -* -* 需要基础库: `1.4.3` -* -* 在插件中使用:不支持 -* @deprecated 基础库版本 [1.9.9](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 -* -* 动态设置置顶栏文字内容。只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容. -* -* **示例代码** -* -* ```js -wx.setTopBarText({ - text: 'hello, world!' -}) -``` -* -* **注意** -* -* - 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:"setTopBarText: fail invoke too frequently" */ - setTopBarText<T extends SetTopBarTextOption = SetTopBarTextOption>( - option: T - ): PromisifySuccessResult<T, SetTopBarTextOption> - /** [wx.setVisualEffectOnCapture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setVisualEffectOnCapture.html) - * - * 需要基础库: `2.20.1` - * - * 在插件中使用:需要基础库 `2.21.3` - * - * 设置截屏/录屏时屏幕表现,仅支持在 Android 端调用 */ - setVisualEffectOnCapture(option: SetVisualEffectOnCaptureOption): void - /** [wx.setWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.setWifiList.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 设置 `wifiList` 中 AP 的相关信息。在 `onGetWifiList` 回调后调用,**iOS特有接口**。 -* -* **注意** -* -* - 该接口只能在 `onGetWifiList` 回调之后才能调用。 -* - 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。 -* - 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。 -* -* **示例代码** -* -* ```js -wx.onGetWifiList(function(res) { - if (res.wifiList.length) { - wx.setWifiList({ - wifiList: [{ - SSID: res.wifiList[0].SSID, - BSSID: res.wifiList[0].BSSID, - password: '123456' - }] - }) - } else { - wx.setWifiList({ - wifiList: [] - }) - } -}) -wx.getWifiList() -``` */ - setWifiList<T extends SetWifiListOption = SetWifiListOption>( - option: T - ): PromisifySuccessResult<T, SetWifiListOption> - /** [wx.setWindowSize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.setWindowSize.html) - * - * 需要基础库: `2.10.1` - * - * 在插件中使用:不支持 - * @deprecated 基础库版本 [2.11.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南 */ - setWindowSize(option: SetWindowSizeOption): void - /** [wx.shareFileMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareFileMessage.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:不支持 - * - * 转发文件到聊天 */ - shareFileMessage< - T extends ShareFileMessageOption = ShareFileMessageOption - >( - option: T - ): PromisifySuccessResult<T, ShareFileMessageOption> - /** [wx.shareToWeRun(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.shareToWeRun.html) - * - * 在插件中使用:不支持 - * - * 分享数据到微信运动。 */ - shareToWeRun<T extends ShareToWeRunOption = ShareToWeRunOption>( - option: T - ): PromisifySuccessResult<T, ShareToWeRunOption> - /** [wx.shareVideoMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareVideoMessage.html) - * - * 需要基础库: `2.16.1` - * - * 在插件中使用:不支持 - * - * 转发视频到聊天 */ - shareVideoMessage< - T extends ShareVideoMessageOption = ShareVideoMessageOption - >( - option: T - ): PromisifySuccessResult<T, ShareVideoMessageOption> - /** [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showActionSheet.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 显示操作菜单 -* -* **示例代码** -* -* ```js -wx.showActionSheet({ - itemList: ['A', 'B', 'C'], - success (res) { - console.log(res.tapIndex) - }, - fail (res) { - console.log(res.errMsg) - } -}) -``` -* -* **注意** -* -* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; -* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 */ - showActionSheet< - T extends ShowActionSheetOption = ShowActionSheetOption - >( - option: T - ): PromisifySuccessResult<T, ShowActionSheetOption> - /** [wx.showLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框 -* -* **示例代码** -* -* ```js -wx.showLoading({ - title: '加载中', -}) - -setTimeout(function () { - wx.hideLoading() -}, 2000) -``` -* -* **注意** -* -* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 -* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 应与 [wx.hideLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) 配对使用 */ - showLoading<T extends ShowLoadingOption = ShowLoadingOption>( - option: T - ): PromisifySuccessResult<T, ShowLoadingOption> - /** [wx.showModal(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 显示模态对话框 -* -* **示例代码** -* -* ```js -wx.showModal({ - title: '提示', - content: '这是一个模态弹窗', - success (res) { - if (res.confirm) { - console.log('用户点击确定') - } else if (res.cancel) { - console.log('用户点击取消') - } - } -}) -``` -* -* **注意** -* -* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; -* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 -* - 自基础库 2.17.1 版本起,支持传入 editable 参数,显示带输入框的弹窗 */ - showModal<T extends ShowModalOption = ShowModalOption>( - option: T - ): PromisifySuccessResult<T, ShowModalOption> - /** [wx.showNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.html) - * - * 在插件中使用:需要基础库 `2.1.0` - * - * 在插件中使用时,只能在当前插件的页面中调用 - * - * 在当前页面显示导航条加载动画 */ - showNavigationBarLoading< - T extends ShowNavigationBarLoadingOption = ShowNavigationBarLoadingOption - >( - option?: T - ): PromisifySuccessResult<T, ShowNavigationBarLoadingOption> - /** [wx.showRedPackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html) - * - * 需要基础库: `2.10.0` - * - * 在插件中使用:不支持 - * - * 拉取h5领取红包封面页。获取参考红包封面地址参考 [微信红包封面开发平台](https://cover.weixin.qq.com/cgi-bin/mmcover-bin/readtemplate?t=page/index#/doc?page=introduce)。 */ - showRedPackage<T extends ShowRedPackageOption = ShowRedPackageOption>( - option: T - ): PromisifySuccessResult<T, ShowRedPackageOption> - /** [wx.showShareImageMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareImageMenu.html) - * - * 需要基础库: `2.14.3` - * - * 在插件中使用:需要基础库 `2.16.0` - * - * 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */ - showShareImageMenu< - T extends ShowShareImageMenuOption = ShowShareImageMenuOption - >( - option: T - ): PromisifySuccessResult<T, ShowShareImageMenuOption> - /** [wx.showShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 显示当前页面的转发按钮 -* -* **** -* -* ## 注意事项 -* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 -* - 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮 -* -* **示例代码** -* -* ```js -wx.showShareMenu({ - withShareTicket: true, - menus: ['shareAppMessage', 'shareTimeline'] -}) -``` */ - showShareMenu<T extends ShowShareMenuOption = ShowShareMenuOption>( - option: T - ): PromisifySuccessResult<T, ShowShareMenuOption> - /** [wx.showTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBar.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:不支持 - * - * 显示 tabBar */ - showTabBar<T extends ShowTabBarOption = ShowTabBarOption>( - option: T - ): PromisifySuccessResult<T, ShowTabBarOption> - /** [wx.showTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.html) - * - * 需要基础库: `1.9.0` - * - * 在插件中使用:不支持 - * - * 显示 tabBar 某一项的右上角的红点 */ - showTabBarRedDot< - T extends ShowTabBarRedDotOption = ShowTabBarRedDotOption - >( - option: T - ): PromisifySuccessResult<T, ShowTabBarRedDotOption> - /** [wx.showToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 显示消息提示框 -* -* **示例代码** -* -* ```js -wx.showToast({ - title: '成功', - icon: 'success', - duration: 2000 -}) -``` -* -* **注意** -* -* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 -* - [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 应与 [wx.hideToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) 配对使用 */ - showToast<T extends ShowToastOption = ShowToastOption>( - option: T - ): PromisifySuccessResult<T, ShowToastOption> - /** [wx.startAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 开始监听加速度数据。 -* -* **示例代码** -* -* ```js -wx.startAccelerometer({ - interval: 'game' -}) -``` -* -* **注意** -* -* - 根据机型性能、当前 CPU 与内存的占用情况,`interval` 的设置与实际 `wx.onAccelerometerChange()` 回调函数的执行频率会有一些出入。 */ - startAccelerometer< - T extends StartAccelerometerOption = StartAccelerometerOption - >( - option?: T - ): PromisifySuccessResult<T, StartAccelerometerOption> - /** [wx.startBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 开始搜索附近的 Beacon 设备 -* -* **示例代码** -* -* ```js -wx.startBeaconDiscovery({ - success(res) { } -}) -``` */ - startBeaconDiscovery< - T extends StartBeaconDiscoveryOption = StartBeaconDiscoveryOption - >( - option: T - ): PromisifySuccessResult<T, StartBeaconDiscoveryOption> - /** [wx.startBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 开始搜寻附近的蓝牙外围设备。 -* -* **此操作比较耗费系统资源,请在搜索到需要的设备后及时调用 [wx.stopBluetoothDevicesDiscovery](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) 停止搜索。** -* -* **注意** -* -* - 考虑到蓝牙功能可以间接进行定位,安卓 6.0 及以上版本,无定位权限或定位开关未打开时,无法进行设备搜索。这种情况下,安卓 8.0.16 前,接口调用成功但无法扫描设备;8.0.16 及以上版本,会返回错误。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/m7klFDmZ72i1) -* -* ```js -// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备 -wx.startBluetoothDevicesDiscovery({ - services: ['FEE7'], - success (res) { - console.log(res) - } -}) -``` */ - startBluetoothDevicesDiscovery< - T extends StartBluetoothDevicesDiscoveryOption = StartBluetoothDevicesDiscoveryOption - >( - option: T - ): PromisifySuccessResult<T, StartBluetoothDevicesDiscoveryOption> - /** [wx.startCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.startCompass.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 开始监听罗盘数据 -* -* **示例代码** -* -* ```js -wx.startCompass() -``` */ - startCompass<T extends StartCompassOption = StartCompassOption>( - option?: T - ): PromisifySuccessResult<T, StartCompassOption> - /** [wx.startDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 开始监听设备方向的变化。 */ - startDeviceMotionListening< - T extends StartDeviceMotionListeningOption = StartDeviceMotionListeningOption - >( - option?: T - ): PromisifySuccessResult<T, StartDeviceMotionListeningOption> - /** [wx.startGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 开始监听陀螺仪数据。 */ - startGyroscope<T extends StartGyroscopeOption = StartGyroscopeOption>( - option?: T - ): PromisifySuccessResult<T, StartGyroscopeOption> - /** [wx.startHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.startHCE.html) -* -* 需要基础库: `1.7.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 初始化 NFC 模块。(HCE 模式仅安卓支持) -* -* **示例代码** -* -* ```js -wx.startHCE({ - aid_list: ['F222222222'], - success (res) { - console.log(res.errMsg) - } -}) -``` */ - startHCE<T extends StartHCEOption = StartHCEOption>( - option: T - ): PromisifySuccessResult<T, StartHCEOption> - /** [wx.startLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 开始搜索局域网下的 mDNS 服务。搜索的结果会通过 wx.onLocalService* 事件返回。 - * - * **注意** - * - * 1. 由于操作系统相关能力变更,iOS 微信客户端 7.0.18 及以上版本无法使用 mDNS 相关接口,安卓版本不受影响 - * 2. wx.startLocalServiceDiscovery 是一个消耗性能的行为,开始 30 秒后会自动 stop 并执行 wx.onLocalServiceDiscoveryStop 注册的回调函数。 - * 3. 在调用 wx.startLocalServiceDiscovery 后,在这次搜索行为停止后才能发起下次 wx.startLocalServiceDiscovery。停止本次搜索行为的操作包括调用 wx.stopLocalServiceDiscovery 和 30 秒后系统自动 stop 本次搜索。 */ - startLocalServiceDiscovery< - T extends StartLocalServiceDiscoveryOption = StartLocalServiceDiscoveryOption - >( - option: T - ): PromisifySuccessResult<T, StartLocalServiceDiscoveryOption> - /** [wx.startLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:需要基础库 `2.8.0` - * - * 开启小程序进入前台时接收位置消息。 - * ## 使用方法 - * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) - * - * ## 申请开通 - * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 - * - * ### 国内主体开放类目 - * - * | 一级类目/主体类型 | 二级类目 | 应用场景 | - * | -------------- | -------| -------- | - * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | - * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | - * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | - * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | - * | 生活服务 | / | 上门服务作业等线下场景 | - * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | - * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | - * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | - * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | - * | 旅游 | 景区服务 | 提供景区导航、导览服务 | - * | 政务民生 | / | 提供政务单位相关业务 | - * | 政府主体帐号 | / | 提供政务单位相关业务 | - * - * ### 海外主体开放类目 - * | 一级类目/主体类型 | 二级类目 | 应用场景 | - * | -------------- | -------| -------- | - * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | - * | 快递业与邮政 | / | 快递/货物收发服务 | - * | 餐饮 | / | 线下送餐服务 | - * | 电商平台 | / | 售卖商品线下发货、线下收货服务 | - * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | - * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | - * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | - * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | - * - * **注意** - * - * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ - startLocationUpdate< - T extends StartLocationUpdateOption = StartLocationUpdateOption - >( - option: T - ): PromisifySuccessResult<T, StartLocationUpdateOption> - /** [wx.startLocationUpdateBackground(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:不支持 - * - * 开启小程序进入前后台时均接收位置消息,需引导用户开启[授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#后台定位)。授权以后,小程序在运行中或进入后台均可接受位置消息变化。 - * ## 使用方法 - * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) - * - * ## 申请开通 - * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 - * - * ### 国内主体开放类目 - * - * | 一级类目/主体类型 | 二级类目 | 应用场景 | - * | -------------- | -------| -------- | - * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | - * | 商家自营 | / | 在小程序内提供线下商超导览、导航服务 | - * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | - * | 生活服务 | 跑腿、共享服务 | 含有B端小程序配送服务,基于地理位置共享工具类服务 | - * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 提供B端小程序快递/货物收发服务 | - * | 餐饮服务 | 点餐平台、外卖平台 | 提供B端小程序餐饮配送服务、线下门店实时导航 | - * | 工具 | 健康管理 | 基于实时地理位置提供身体管理记录等服务 | - * | 旅游 | 景区服务、住宿服务 | 在小程序内提供景区导航、导览服务、酒店导航服务 | - * | 政务民生 | / | 提供政务单位相关业务 | - * | 政府主体帐号 | / | 提供政务单位相关业务 | - * - * ### 海外主体开放类目 - * | 一级类目/主体类型 | 二级类目 | 应用场景 | - * | -------------- | -------| -------- | - * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | - * | 生活服务 | 家政、外送 | 含有B端小程序配送服务,基于地理位置导航上门服务 | - * | 快递业与邮政 | / | 提供B端小程序快递/货物收发服务 | - * | 餐饮服务 | 外卖点餐 | 提供B端小程序餐饮配送服务、线下门店实时导航 | - * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | - * | 跨境电商 | / | 在小程序内提供线下商超导览、导航服务 | - * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 在小程序内提供线下商超导览、导航服务 | - * - * **注意** - * - * - 安卓微信7.0.6版本,iOS 7.0.5版本起支持该接口 - * - 需在app.json中配置requiredBackgroundModes: ['location']后使用 - * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ - startLocationUpdateBackground< - T extends StartLocationUpdateBackgroundOption = StartLocationUpdateBackgroundOption - >( - option: T - ): PromisifySuccessResult<T, StartLocationUpdateBackgroundOption> - /** [wx.startPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html) -* -* 需要基础库: `1.5.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 -* -* **示例代码** -* -* ```js -wx.startPullDownRefresh() -``` */ - startPullDownRefresh< - T extends StartPullDownRefreshOption = StartPullDownRefreshOption - >( - option?: T - ): PromisifySuccessResult<T, StartPullDownRefreshOption> - /** [wx.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 -* -* 开始录音。当主动调用 [wx.stopRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html),或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。 -* -* **示例代码** -* -* ```js -wx.startRecord({ - success (res) { - const tempFilePath = res.tempFilePath - } -}) -setTimeout(function () { - wx.stopRecord() // 结束录音 -}, 10000) -``` */ - startRecord<T extends WxStartRecordOption = WxStartRecordOption>( - option?: T - ): PromisifySuccessResult<T, WxStartRecordOption> - /** [wx.startSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.html) -* -* 需要基础库: `1.5.0` -* -* 在插件中使用:不支持 -* -* 开始 SOTER 生物认证。验证流程请参考[说明](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html)。 -* -* **resultJSON 说明** -* -* 此数据为设备TEE中,将传入的challenge和TEE内其他安全信息组成的数据进行组装而来的JSON,对下述字段的解释如下表。例子如下: -* | 字段名 | 说明 | -* |---------|-------------------------------------------------------------------------------------------| -* | raw | 调用者传入的challenge | -* | fid | (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号) | -* | counter | 防重放特征参数 | -* | tee_n | TEE名称(如高通或者trustonic等) | -* | tee_v | TEE版本号 | -* | fp_n | 指纹以及相关逻辑模块提供商(如FPC等) | -* | fp_v | 指纹以及相关模块版本号 | -* | cpu_id | 机器唯一识别ID | -* | uid | 概念同Android系统定义uid,即应用程序编号 | -* -* ```json -{ - "raw":"msg", - "fid":"2", - "counter":123, - "tee_n":"TEE Name", - "tee_v":"TEE Version", - "fp_n":"Fingerprint Sensor Name", - "fp_v":"Fingerprint Sensor Version", - "cpu_id":"CPU Id", - "uid":"21" -} -``` -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/q3tCKkmJ7g2e) -* ```js -wx.startSoterAuthentication({ - requestAuthModes: ['fingerPrint'], - challenge: '123456', - authContent: '请用指纹解锁', - success(res) { - } -}) -``` */ - startSoterAuthentication< - T extends StartSoterAuthenticationOption = StartSoterAuthenticationOption - >( - option: T - ): PromisifySuccessResult<T, StartSoterAuthenticationOption> - /** [wx.startWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.startWifi.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 初始化 Wi-Fi 模块。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/8P7zrkmd7r2n) -* ```js -wx.startWifi({ - success (res) { - console.log(res.errMsg) - } -}) -``` */ - startWifi<T extends StartWifiOption = StartWifiOption>( - option?: T - ): PromisifySuccessResult<T, StartWifiOption> - /** [wx.stopAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.stopAccelerometer.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 停止监听加速度数据。 -* -* **示例代码** -* -* ```js -wx.stopAccelerometer() -``` */ - stopAccelerometer< - T extends StopAccelerometerOption = StopAccelerometerOption - >( - option?: T - ): PromisifySuccessResult<T, StopAccelerometerOption> - /** [wx.stopBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.stopBackgroundAudio.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 -* -* 停止播放音乐。 -* -* **示例代码** -* -* ```js -wx.stopBackgroundAudio() -``` */ - stopBackgroundAudio< - T extends StopBackgroundAudioOption = StopBackgroundAudioOption - >( - option?: T - ): PromisifySuccessResult<T, StopBackgroundAudioOption> - /** [wx.stopBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.stopBeaconDiscovery.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 停止搜索附近的 Beacon 设备 */ - stopBeaconDiscovery< - T extends StopBeaconDiscoveryOption = StopBeaconDiscoveryOption - >( - option?: T - ): PromisifySuccessResult<T, StopBeaconDiscoveryOption> - /** [wx.stopBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -wx.stopBluetoothDevicesDiscovery({ - success (res) { - console.log(res) - } -}) -``` */ - stopBluetoothDevicesDiscovery< - T extends StopBluetoothDevicesDiscoveryOption = StopBluetoothDevicesDiscoveryOption - >( - option?: T - ): PromisifySuccessResult<T, StopBluetoothDevicesDiscoveryOption> - /** [wx.stopCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.stopCompass.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 停止监听罗盘数据 -* -* **示例代码** -* -* ```js -wx.stopCompass() -``` */ - stopCompass<T extends StopCompassOption = StopCompassOption>( - option?: T - ): PromisifySuccessResult<T, StopCompassOption> - /** [wx.stopDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 停止监听设备方向的变化。 */ - stopDeviceMotionListening< - T extends StopDeviceMotionListeningOption = StopDeviceMotionListeningOption - >( - option?: T - ): PromisifySuccessResult<T, StopDeviceMotionListeningOption> - /** [wx.stopFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html) - * - * 需要基础库: `2.18.0` - * - * 在插件中使用:需要基础库 `2.21.3` - * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 - * - * 停止人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ - stopFaceDetect(option?: StopFaceDetectOption): void - /** [wx.stopGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) - * - * 需要基础库: `2.3.0` - * - * 在插件中使用:需要基础库 `2.9.1` - * - * 停止监听陀螺仪数据。 */ - stopGyroscope<T extends StopGyroscopeOption = StopGyroscopeOption>( - option?: T - ): PromisifySuccessResult<T, StopGyroscopeOption> - /** [wx.stopHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.stopHCE.html) -* -* 需要基础库: `1.7.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 关闭 NFC 模块。仅在安卓系统下有效。 -* -* **示例代码** -* -* ```js -wx.stopHCE({ - success (res) { - console.log(res.errMsg) - } -}) -``` */ - stopHCE<T extends StopHCEOption = StopHCEOption>( - option?: T - ): PromisifySuccessResult<T, StopHCEOption> - /** [wx.stopLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.stopLocalServiceDiscovery.html) - * - * 需要基础库: `2.4.0` - * - * 在插件中使用:需要基础库 `2.15.0` - * - * 停止搜索 mDNS 服务 */ - stopLocalServiceDiscovery< - T extends StopLocalServiceDiscoveryOption = StopLocalServiceDiscoveryOption - >( - option?: T - ): PromisifySuccessResult<T, StopLocalServiceDiscoveryOption> - /** [wx.stopLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.stopLocationUpdate.html) - * - * 需要基础库: `2.8.0` - * - * 在插件中使用:需要基础库 `2.8.0` - * - * 关闭监听实时位置变化,前后台都停止消息接收 */ - stopLocationUpdate< - T extends StopLocationUpdateOption = StopLocationUpdateOption - >( - option?: T - ): PromisifySuccessResult<T, StopLocationUpdateOption> - /** [wx.stopPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.stopPullDownRefresh.html) -* -* 需要基础库: `1.5.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 停止当前页面下拉刷新。 -* -* **示例代码** -* -* ```js -Page({ - onPullDownRefresh () { - wx.stopPullDownRefresh() - } -}) -``` */ - stopPullDownRefresh< - T extends StopPullDownRefreshOption = StopPullDownRefreshOption - >( - option?: T - ): PromisifySuccessResult<T, StopPullDownRefreshOption> - /** [wx.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 -* -* 停止录音。 -* -* **示例代码** -* -* ```js -wx.startRecord({ - success (res) { - const tempFilePath = res.tempFilePath - } -}) -setTimeout(function () { - wx.stopRecord() // 结束录音 -}, 10000) -``` */ - stopRecord<T extends WxStopRecordOption = WxStopRecordOption>( - option?: T - ): PromisifySuccessResult<T, WxStopRecordOption> - /** [wx.stopVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html) -* -* 在插件中使用:需要基础库 `1.9.6` -* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 -* -* 结束播放语音。 -* -* **示例代码** -* -* ```js -wx.startRecord({ - success (res) { - const tempFilePath = res.tempFilePath - wx.playVoice({ - filePath: tempFilePath, - }) - - setTimeout(() => { wx.stopVoice() }, 5000) - } -}) -``` */ - stopVoice<T extends StopVoiceOption = StopVoiceOption>( - option?: T - ): PromisifySuccessResult<T, StopVoiceOption> - /** [wx.stopWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.stopWifi.html) -* -* 需要基础库: `1.6.0` -* -* 在插件中使用:需要基础库 `2.9.1` -* -* 关闭 Wi-Fi 模块。 -* -* **示例代码** -* -* ```js -wx.stopWifi({ - success (res) { - console.log(res.errMsg) - } -}) -``` */ - stopWifi<T extends StopWifiOption = StopWifiOption>( - option?: T - ): PromisifySuccessResult<T, StopWifiOption> - /** [wx.subscribeVoIPVideoMembers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.subscribeVoIPVideoMembers.html) - * - * 需要基础库: `2.11.0` - * - * 在插件中使用:需要基础库 `2.11.0` - * - * 订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 */ - subscribeVoIPVideoMembers< - T extends SubscribeVoIPVideoMembersOption = SubscribeVoIPVideoMembersOption - >( - option: T - ): PromisifySuccessResult<T, SubscribeVoIPVideoMembersOption> - /** [wx.switchTab(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html) -* -* 在插件中使用:需要基础库 `2.3.1` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 -* -* **示例代码** -* -* ```json -// app.json -{ - "tabBar": { - "list": [{ - "pagePath": "index", - "text": "首页" - },{ - "pagePath": "other", - "text": "其他" - }] - } -} -``` -* -* ```js -wx.switchTab({ - url: '/index' -}) -``` */ - switchTab<T extends SwitchTabOption = SwitchTabOption>( - option: T - ): PromisifySuccessResult<T, SwitchTabOption> - /** [wx.updateShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html) -* -* 需要基础库: `1.2.0` -* -* 在插件中使用:需要基础库 `2.1.0` -* -* 在插件中使用时,只能在当前插件的页面中调用 -* -* 更新转发属性 -* -* **示例代码** -* -* ```js -wx.updateShareMenu({ - withShareTicket: true, - success () { } -}) -``` -* ```js -// 转发私密消息 -wx.updateShareMenu({ - isPrivateMessage: true, - activityId: 'xxx', - templateInfo: {}, - success () { }, - fail () {} -}) -``` */ - updateShareMenu< - T extends UpdateShareMenuOption = UpdateShareMenuOption - >( - option: T - ): PromisifySuccessResult<T, UpdateShareMenuOption> - /** [wx.updateVoIPChatMuteConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.updateVoIPChatMuteConfig.html) - * - * 需要基础库: `2.7.0` - * - * 在插件中使用:需要基础库 `2.9.0` - * - * 更新实时语音静音设置 */ - updateVoIPChatMuteConfig< - T extends UpdateVoIPChatMuteConfigOption = UpdateVoIPChatMuteConfigOption - >( - option: T - ): PromisifySuccessResult<T, UpdateVoIPChatMuteConfigOption> - /** [wx.updateWeChatApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.updateWeChatApp.html) - * - * 需要基础库: `2.12.0` - * - * 在插件中使用:需要基础库 `2.12.0` - * - * 更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。 */ - updateWeChatApp< - T extends UpdateWeChatAppOption = UpdateWeChatAppOption - >( - option?: T - ): PromisifySuccessResult<T, UpdateWeChatAppOption> - /** [wx.vibrateLong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateLong.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 使手机发生较长时间的振动(400 ms) */ - vibrateLong<T extends VibrateLongOption = VibrateLongOption>( - option?: T - ): PromisifySuccessResult<T, VibrateLongOption> - /** [wx.vibrateShort(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html) - * - * 需要基础库: `1.2.0` - * - * 在插件中使用:需要基础库 `1.9.6` - * - * 使手机发生较短时间的振动(15 ms)。仅在 iPhone `7 / 7 Plus` 以上及 Android 机型生效 */ - vibrateShort<T extends VibrateShortOption = VibrateShortOption>( - option: T - ): PromisifySuccessResult<T, VibrateShortOption> - /** [wx.writeBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) -* -* 需要基础库: `1.1.0` -* -* 在插件中使用:需要基础库 `1.9.6` -* -* 向蓝牙低功耗设备特征值中写入二进制数据。注意:必须设备的特征支持 write 才可以成功调用。 -* -* **注意** -* -* - 并行调用多次会存在写失败的可能性。 -* - 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。 -* - 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。 -* - 安卓平台上,在调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 成功后立即调用本接口,在部分机型上会发生 10008 系统错误 -* -* **示例代码** -* -* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) -* ```js -// 向蓝牙设备发送一个0x00的16进制数据 -let buffer = new ArrayBuffer(1) -let dataView = new DataView(buffer) -dataView.setUint8(0, 0) - -wx.writeBLECharacteristicValue({ - // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 - deviceId, - // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 - serviceId, - // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 - characteristicId, - // 这里的value是ArrayBuffer类型 - value: buffer, - success (res) { - console.log('writeBLECharacteristicValue success', res.errMsg) - } -}) -``` */ - writeBLECharacteristicValue< - T extends WriteBLECharacteristicValueOption = WriteBLECharacteristicValueOption - >( - option: T - ): PromisifySuccessResult<T, WriteBLECharacteristicValueOption> - /** 小程序云开发 */ - cloud: WxCloud - /** 文件系统中的用户目录路径 */ - env: { USER_DATA_PATH: string } - } - - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AccessCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AccessFailCallback = (result: AccessFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AccessSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddArcCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddArcFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddArcSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddCardCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddCardFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddCardSuccessCallback = (result: AddCardSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddCustomLayerCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddCustomLayerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddFileToFavoritesCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type AddFileToFavoritesFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddFileToFavoritesSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddGroundOverlayCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddGroundOverlayFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddGroundOverlaySuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddMarkersCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddMarkersFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddMarkersSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddPhoneCalendarCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddPhoneCalendarFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddPhoneCalendarSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddPhoneContactCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddPhoneContactFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddPhoneContactSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddPhoneRepeatCalendarCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type AddPhoneRepeatCalendarFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type AddPhoneRepeatCalendarSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddServiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddServiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddServiceSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddVideoToFavoritesCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type AddVideoToFavoritesFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddVideoToFavoritesSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AddVisualLayerCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AddVisualLayerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AddVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AppendFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AppendFileFailCallback = (result: AppendFileFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AppendFileSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AuthPrivateMessageCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type AuthPrivateMessageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type AuthPrivateMessageSuccessCallback = ( - result: AuthPrivateMessageSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AuthorizeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type AuthorizeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type AuthorizeForMiniProgramCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type AuthorizeForMiniProgramFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type AuthorizeForMiniProgramSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type AuthorizeSuccessCallback = (res: GeneralCallbackResult) => void - /** 背景音频播放错误事件的监听函数 */ - type BackgroundAudioManagerOnErrorCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type BatchGetStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type BatchGetStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type BatchGetStorageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type BatchSetStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type BatchSetStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type BatchSetStorageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type BlurCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type BlurFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type BlurSuccessCallback = (res: GeneralCallbackResult) => void - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ - type BoundingClientRectCallback = ( - result: BoundingClientRectCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CameraContextStartRecordSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CameraContextStopRecordSuccessCallback = ( - result: StopRecordSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CanvasGetImageDataCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CanvasGetImageDataFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CanvasGetImageDataSuccessCallback = ( - result: CanvasGetImageDataSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CanvasPutImageDataCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CanvasPutImageDataFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CanvasPutImageDataSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CanvasToTempFilePathCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CanvasToTempFilePathFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CanvasToTempFilePathSuccessCallback = ( - result: CanvasToTempFilePathSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CheckIsOpenAccessibilityCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CheckIsOpenAccessibilityFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CheckIsOpenAccessibilitySuccessCallback = ( - option: CheckIsOpenAccessibilitySuccessCallbackOption - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CheckIsSoterEnrolledInDeviceCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CheckIsSoterEnrolledInDeviceFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CheckIsSoterEnrolledInDeviceSuccessCallback = ( - result: CheckIsSoterEnrolledInDeviceSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CheckIsSupportSoterAuthenticationCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CheckIsSupportSoterAuthenticationFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CheckIsSupportSoterAuthenticationSuccessCallback = ( - result: CheckIsSupportSoterAuthenticationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CheckSessionCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type CheckSessionFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CheckSessionSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseAddressCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseAddressFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseAddressSuccessCallback = ( - result: ChooseAddressSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseContactCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseContactFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseContactSuccessCallback = ( - option: ChooseContactSuccessCallbackOption - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseImageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseImageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseImageSuccessCallback = ( - result: ChooseImageSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseInvoiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseInvoiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseInvoiceSuccessCallback = ( - result: ChooseInvoiceSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseInvoiceTitleCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ChooseInvoiceTitleFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseInvoiceTitleSuccessCallback = ( - result: ChooseInvoiceTitleSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseLicensePlateCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ChooseLicensePlateFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseLicensePlateSuccessCallback = ( - result: ChooseLicensePlateSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseLocationSuccessCallback = ( - result: ChooseLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseMediaCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseMediaFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseMediaSuccessCallback = ( - result: ChooseMediaSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseMessageFileCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ChooseMessageFileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseMessageFileSuccessCallback = ( - result: ChooseMessageFileSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChoosePoiCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChoosePoiFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChoosePoiSuccessCallback = ( - result: ChoosePoiSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ChooseVideoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ChooseVideoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ChooseVideoSuccessCallback = ( - result: ChooseVideoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ClearCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ClearFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ClearStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ClearStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ClearStorageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ClearSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CloseBLEConnectionCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type CloseBLEConnectionFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type CloseBLEConnectionSuccessCallback = (res: BluetoothError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CloseBluetoothAdapterCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type CloseBluetoothAdapterFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type CloseBluetoothAdapterSuccessCallback = (res: BluetoothError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CloseSocketCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type CloseSocketFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CloseSocketSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CompressImageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type CompressImageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CompressImageSuccessCallback = ( - result: CompressImageSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CompressVideoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type CompressVideoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CompressVideoSuccessCallback = ( - result: CompressVideoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ConnectCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type ConnectFailCallback = (res: Nfcrwerror) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ConnectSocketCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ConnectSocketFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ConnectSocketSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ConnectSuccessCallback = (res: Nfcrwerror) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ConnectWifiCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type ConnectWifiFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type ConnectWifiSuccessCallback = (res: WifiError) => void - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ - type ContextCallback = (result: ContextCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CopyFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type CopyFileFailCallback = (result: CopyFileFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type CopyFileSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CreateBLEConnectionCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type CreateBLEConnectionFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type CreateBLEConnectionSuccessCallback = (res: BluetoothError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type CreateBLEPeripheralServerCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type CreateBLEPeripheralServerFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type CreateBLEPeripheralServerSuccessCallback = ( - result: CreateBLEPeripheralServerSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type DisableAlertBeforeUnloadCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type DisableAlertBeforeUnloadFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type DisableAlertBeforeUnloadSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type DownloadFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type DownloadFileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type DownloadFileSuccessCallback = ( - result: DownloadFileSuccessCallbackResult - ) => void - /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - type DownloadTaskOffProgressUpdateCallback = ( - result: DownloadTaskOnProgressUpdateListenerResult - ) => void - /** 下载进度变化事件的监听函数 */ - type DownloadTaskOnProgressUpdateCallback = ( - result: DownloadTaskOnProgressUpdateListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type EditImageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type EditImageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type EditImageSuccessCallback = ( - result: EditImageSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type EnableAlertBeforeUnloadCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type EnableAlertBeforeUnloadFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type EnableAlertBeforeUnloadSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 事件监听函数 */ - type EventCallback = ( - /** 触发事件参数 */ - ...args: any - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ExitFullScreenCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ExitFullScreenFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ExitFullScreenSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ExitMiniProgramCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ExitMiniProgramFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ExitMiniProgramSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ExitPictureInPictureCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ExitPictureInPictureFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ExitPictureInPictureSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ExitVoIPChatCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ExitVoIPChatFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ExitVoIPChatSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type FaceDetectCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type FaceDetectFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type FaceDetectSuccessCallback = ( - result: FaceDetectSuccessCallbackResult - ) => void - /** 回调函数 */ - type FieldsCallback = ( - /** 节点的相关信息 */ - res: IAnyObject - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type FileSystemManagerCloseCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type FileSystemManagerCloseFailCallback = ( - result: CloseFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type FileSystemManagerCloseSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type FileSystemManagerGetFileInfoFailCallback = ( - result: GetFileInfoFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type FileSystemManagerGetFileInfoSuccessCallback = ( - result: FileSystemManagerGetFileInfoSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type FileSystemManagerGetSavedFileListSuccessCallback = ( - result: FileSystemManagerGetSavedFileListSuccessCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type FileSystemManagerRemoveSavedFileFailCallback = ( - result: RemoveSavedFileFailCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type FileSystemManagerSaveFileFailCallback = ( - result: SaveFileFailCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type FromScreenLocationCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type FromScreenLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type FromScreenLocationSuccessCallback = ( - result: GetCenterLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type FstatCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type FstatFailCallback = (result: FstatFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type FstatSuccessCallback = (result: FstatSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type FtruncateCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type FtruncateFailCallback = (result: FtruncateFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type FtruncateSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetAtqaCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type GetAtqaFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type GetAtqaSuccessCallback = (result: GetAtqaSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetAvailableAudioSourcesCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetAvailableAudioSourcesFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetAvailableAudioSourcesSuccessCallback = ( - result: GetAvailableAudioSourcesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBLEDeviceCharacteristicsCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type GetBLEDeviceCharacteristicsFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type GetBLEDeviceCharacteristicsSuccessCallback = ( - result: GetBLEDeviceCharacteristicsSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBLEDeviceRSSICompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetBLEDeviceRSSIFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetBLEDeviceRSSISuccessCallback = ( - result: GetBLEDeviceRSSISuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBLEDeviceServicesCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type GetBLEDeviceServicesFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type GetBLEDeviceServicesSuccessCallback = ( - result: GetBLEDeviceServicesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBLEMTUCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type GetBLEMTUFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type GetBLEMTUSuccessCallback = ( - result: GetBLEMTUSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBackgroundAudioPlayerStateCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetBackgroundAudioPlayerStateFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetBackgroundAudioPlayerStateSuccessCallback = ( - result: GetBackgroundAudioPlayerStateSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBackgroundFetchDataCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetBackgroundFetchDataFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetBackgroundFetchDataSuccessCallback = ( - result: GetBackgroundFetchDataSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBackgroundFetchTokenCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetBackgroundFetchTokenFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetBackgroundFetchTokenSuccessCallback = ( - result: GetBackgroundFetchTokenSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBatteryInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetBatteryInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetBatteryInfoSuccessCallback = ( - result: GetBatteryInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBeaconsCompleteCallback = (res: BeaconError) => void - /** 接口调用失败的回调函数 */ - type GetBeaconsFailCallback = (res: BeaconError) => void - /** 接口调用成功的回调函数 */ - type GetBeaconsSuccessCallback = ( - result: GetBeaconsSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBluetoothAdapterStateCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type GetBluetoothAdapterStateFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type GetBluetoothAdapterStateSuccessCallback = ( - result: GetBluetoothAdapterStateSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetBluetoothDevicesCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type GetBluetoothDevicesFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type GetBluetoothDevicesSuccessCallback = ( - result: GetBluetoothDevicesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetCenterLocationCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetCenterLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetCenterLocationSuccessCallback = ( - result: GetCenterLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetChannelsLiveInfoCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetChannelsLiveInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetChannelsLiveInfoSuccessCallback = ( - result: GetChannelsLiveInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetChannelsLiveNoticeInfoCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetChannelsLiveNoticeInfoFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetChannelsLiveNoticeInfoSuccessCallback = ( - result: GetChannelsLiveNoticeInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetChannelsShareKeyCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetChannelsShareKeyFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetChannelsShareKeySuccessCallback = ( - result: GetChannelsShareKeySuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetClipboardDataFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetClipboardDataSuccessCallback = ( - option: GetClipboardDataSuccessCallbackOption - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetConnectedBluetoothDevicesCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type GetConnectedBluetoothDevicesFailCallback = ( - res: BluetoothError - ) => void - /** 接口调用成功的回调函数 */ - type GetConnectedBluetoothDevicesSuccessCallback = ( - result: GetConnectedBluetoothDevicesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetConnectedWifiCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type GetConnectedWifiFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type GetConnectedWifiSuccessCallback = ( - result: GetConnectedWifiSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetContentsCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetContentsFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetContentsSuccessCallback = ( - result: GetContentsSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetExtConfigCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetExtConfigFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetExtConfigSuccessCallback = ( - result: GetExtConfigSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetFileInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetFuzzyLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetFuzzyLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetFuzzyLocationSuccessCallback = ( - result: GetFuzzyLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetGroupEnterInfoCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetGroupEnterInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetGroupEnterInfoSuccessCallback = ( - result: GetGroupEnterInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetHCEStateCompleteCallback = (res: NFCError) => void - /** 接口调用失败的回调函数 */ - type GetHCEStateFailCallback = (res: NFCError) => void - /** 接口调用成功的回调函数 */ - type GetHCEStateSuccessCallback = (res: NFCError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetHistoricalBytesCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type GetHistoricalBytesFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type GetHistoricalBytesSuccessCallback = ( - result: GetHistoricalBytesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetImageInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetImageInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetImageInfoSuccessCallback = ( - result: GetImageInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetLatestUserKeyCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetLatestUserKeyFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetLatestUserKeySuccessCallback = ( - result: GetLatestUserKeySuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetLocalIPAddressCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetLocalIPAddressFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetLocalIPAddressSuccessCallback = ( - result: GetLocalIPAddressSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetLocationSuccessCallback = ( - result: GetLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetMaxTransceiveLengthCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type GetMaxTransceiveLengthFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type GetMaxTransceiveLengthSuccessCallback = ( - result: GetMaxTransceiveLengthSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetNetworkTypeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetNetworkTypeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetNetworkTypeSuccessCallback = ( - result: GetNetworkTypeSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetRandomValuesCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetRandomValuesFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetRandomValuesSuccessCallback = ( - result: GetRandomValuesSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetRegionCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetRegionFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetRegionSuccessCallback = ( - result: GetRegionSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetRotateCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetRotateFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetRotateSuccessCallback = ( - result: GetRotateSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSakCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type GetSakFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type GetSakSuccessCallback = (result: GetSakSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSavedFileInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSavedFileInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSavedFileInfoSuccessCallback = ( - result: GetSavedFileInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSavedFileListCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSavedFileListFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetScaleCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetScaleFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetScaleSuccessCallback = ( - result: GetScaleSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetScreenBrightnessCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetScreenBrightnessSuccessCallback = ( - option: GetScreenBrightnessSuccessCallbackOption - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetScreenRecordingStateCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetScreenRecordingStateFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type GetScreenRecordingStateSuccessCallback = ( - result: GetScreenRecordingStateSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSelectedTextRangeCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetSelectedTextRangeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSelectedTextRangeSuccessCallback = ( - result: GetSelectedTextRangeSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSelectionTextCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSelectionTextFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSelectionTextSuccessCallback = ( - result: GetSelectionTextSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSettingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSettingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSettingSuccessCallback = ( - result: GetSettingSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetShareInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetShareInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetShareInfoSuccessCallback = ( - result: GetGroupEnterInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSkewCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSkewFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSkewSuccessCallback = (result: GetSkewSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetStorageInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetStorageInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetStorageInfoSuccessCallback = ( - option: GetStorageInfoSuccessCallbackOption - ) => void - /** 接口调用成功的回调函数 */ - type GetStorageSuccessCallback<T = any> = ( - result: GetStorageSuccessCallbackResult<T> - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSystemInfoAsyncCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type GetSystemInfoAsyncFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSystemInfoAsyncSuccessCallback = (result: SystemInfo) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetSystemInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetSystemInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetSystemInfoSuccessCallback = (result: SystemInfo) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetUserInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetUserInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetUserInfoSuccessCallback = ( - result: GetUserInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetUserProfileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetUserProfileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetUserProfileSuccessCallback = ( - result: GetUserProfileSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetVideoInfoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetVideoInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetVideoInfoSuccessCallback = ( - result: GetVideoInfoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetWeRunDataCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type GetWeRunDataFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type GetWeRunDataSuccessCallback = ( - result: GetWeRunDataSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type GetWifiListCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type GetWifiListFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type GetWifiListSuccessCallback = (res: WifiError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideHomeButtonCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideHomeButtonFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideHomeButtonSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideKeyboardCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideKeyboardFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideKeyboardSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideLoadingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideLoadingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideLoadingSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideNavigationBarLoadingCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type HideNavigationBarLoadingFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type HideNavigationBarLoadingSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideShareMenuCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideShareMenuFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideShareMenuSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideTabBarCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideTabBarFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideTabBarSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type HideToastCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type HideToastFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type HideToastSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type IncludePointsCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type IncludePointsFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type IncludePointsSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type InitFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type InitFaceDetectFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type InitFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type InitMarkerClusterCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type InitMarkerClusterFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type InitMarkerClusterSuccessCallback = (res: GeneralCallbackResult) => void - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type InnerAudioContextOffErrorCallback = ( - result: InnerAudioContextOnErrorListenerResult - ) => void - /** 音频播放错误事件的监听函数 */ - type InnerAudioContextOnErrorCallback = ( - result: InnerAudioContextOnErrorListenerResult - ) => void - type InnerAudioContextOnStopCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type InsertDividerCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type InsertDividerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type InsertDividerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type InsertImageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type InsertImageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type InsertImageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type InsertTextCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type InsertTextFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type InsertTextSuccessCallback = (res: GeneralCallbackResult) => void - /** 监听相交状态变化的回调函数 */ - type IntersectionObserverObserveCallback = ( - result: IntersectionObserverObserveCallbackResult - ) => void - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type InterstitialAdOffErrorCallback = ( - result: InterstitialAdOnErrorListenerResult - ) => void - /** 插屏错误事件的监听函数 */ - type InterstitialAdOnErrorCallback = ( - result: InterstitialAdOnErrorListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type IsBluetoothDevicePairedCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type IsBluetoothDevicePairedFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type IsBluetoothDevicePairedSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type IsConnectedCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type IsConnectedFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type IsConnectedSuccessCallback = (res: Nfcrwerror) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type Join1v1ChatCompleteCallback = (res: Join1v1ChatError) => void - /** 接口调用失败的回调函数 */ - type Join1v1ChatFailCallback = (res: Join1v1ChatError) => void - /** 接口调用成功的回调函数 */ - type Join1v1ChatSuccessCallback = (res: Join1v1ChatError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type JoinVoIPChatCompleteCallback = (res: JoinVoIPChatError) => void - /** 接口调用失败的回调函数 */ - type JoinVoIPChatFailCallback = (res: JoinVoIPChatError) => void - /** 接口调用成功的回调函数 */ - type JoinVoIPChatSuccessCallback = ( - result: JoinVoIPChatSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type LivePlayerContextSnapshotSuccessCallback = ( - result: LivePlayerContextSnapshotSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type LivePusherContextSnapshotSuccessCallback = ( - result: LivePusherContextSnapshotSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type LoadFontFaceCompleteCallback = ( - result: LoadFontFaceCompleteCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type LoadFontFaceFailCallback = ( - result: LoadFontFaceCompleteCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type LoadFontFaceSuccessCallback = ( - result: LoadFontFaceCompleteCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type LoginCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type LoginFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type LoginSuccessCallback = (result: LoginSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MakeBluetoothPairCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type MakeBluetoothPairFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MakeBluetoothPairSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MakePhoneCallCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type MakePhoneCallFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MakePhoneCallSuccessCallback = (res: GeneralCallbackResult) => void - /** 监听 media query 状态变化的回调函数 */ - type MediaQueryObserverObserveCallback = ( - result: MediaQueryObserverObserveCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MkdirCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type MkdirFailCallback = (result: MkdirFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MkdirSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MoveAlongCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type MoveAlongFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MoveAlongSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MoveToLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type MoveToLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MoveToLocationSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type MuteCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type MuteFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type MuteSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NavigateBackCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type NavigateBackFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NavigateBackMiniProgramCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type NavigateBackMiniProgramFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type NavigateBackMiniProgramSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type NavigateBackSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NavigateToCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type NavigateToFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NavigateToMiniProgramCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type NavigateToMiniProgramFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type NavigateToMiniProgramSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type NavigateToSuccessCallback = ( - result: NavigateToSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NdefCloseCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type NdefCloseFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type NdefCloseSuccessCallback = (res: Nfcrwerror) => void - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ - type NodeCallback = (result: NodeCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type NotifyBLECharacteristicValueChangeCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type NotifyBLECharacteristicValueChangeFailCallback = ( - res: BluetoothError - ) => void - /** 接口调用成功的回调函数 */ - type NotifyBLECharacteristicValueChangeSuccessCallback = ( - res: BluetoothError - ) => void - /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffAccelerometerChangeCallback = (res: GeneralCallbackResult) => void - /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffAppHideCallback = (res: GeneralCallbackResult) => void - /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffAppShowCallback = (res: GeneralCallbackResult) => void - /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffAudioInterruptionBeginCallback = ( - res: GeneralCallbackResult - ) => void - /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void - /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBLECharacteristicValueChangeCallback = ( - result: OnBLECharacteristicValueChangeListenerResult - ) => void - /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBLEConnectionStateChangeCallback = ( - result: OnBLEConnectionStateChangeListenerResult - ) => void - /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBLEMTUChangeCallback = ( - result: OnBLEMTUChangeListenerResult - ) => void - /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBLEPeripheralConnectionStateChangedCallback = ( - result: OnBLEPeripheralConnectionStateChangedListenerResult - ) => void - /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBeaconServiceChangeCallback = (res: GeneralCallbackResult) => void - /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBeaconUpdateCallback = (res: GeneralCallbackResult) => void - /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBindWifiCallback = (res: GeneralCallbackResult) => void - /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBluetoothAdapterStateChangeCallback = ( - result: OnBluetoothAdapterStateChangeListenerResult - ) => void - /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffBluetoothDeviceFoundCallback = (res: GeneralCallbackResult) => void - /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCanplayCallback = (res: GeneralCallbackResult) => void - /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCharacteristicReadRequestCallback = ( - result: OnCharacteristicReadRequestListenerResult - ) => void - /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCharacteristicSubscribedCallback = ( - result: OnCharacteristicSubscribedListenerResult - ) => void - /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCharacteristicUnsubscribedCallback = ( - result: OnCharacteristicSubscribedListenerResult - ) => void - /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCharacteristicWriteRequestCallback = ( - result: OnCharacteristicWriteRequestListenerResult - ) => void - /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffChunkReceivedCallback = ( - result: OnChunkReceivedListenerResult - ) => void - /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCompassChangeCallback = (res: GeneralCallbackResult) => void - /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffConnectCallback = (res: GeneralCallbackResult) => void - /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffCopyUrlCallback = (result: OnCopyUrlListenerResult) => void - /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffDeviceMotionChangeCallback = (res: GeneralCallbackResult) => void - /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffDiscoveredCallback = (result: OnDiscoveredListenerResult) => void - /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffEndedCallback = (res: GeneralCallbackResult) => void - /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffGetWifiListCallback = (result: OnGetWifiListListenerResult) => void - /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffHCEMessageCallback = (result: OnHCEMessageListenerResult) => void - /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffHeadersReceivedCallback = ( - result: OnHeadersReceivedListenerResult - ) => void - /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffKeyboardHeightChangeCallback = ( - result: OnKeyboardHeightChangeListenerResult - ) => void - /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLazyLoadErrorCallback = ( - result: OnLazyLoadErrorListenerResult - ) => void - /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffListeningCallback = (res: GeneralCallbackResult) => void - /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLoadCallback = (res: GeneralCallbackResult) => void - /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocalServiceDiscoveryStopCallback = ( - res: GeneralCallbackResult - ) => void - /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocalServiceFoundCallback = ( - result: OnLocalServiceFoundListenerResult - ) => void - /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocalServiceLostCallback = ( - result: OnLocalServiceLostListenerResult - ) => void - /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocalServiceResolveFailCallback = ( - result: OnLocalServiceLostListenerResult - ) => void - /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocationChangeCallback = ( - result: OnLocationChangeListenerResult - ) => void - /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffLocationChangeErrorCallback = ( - result: OnLocationChangeErrorListenerResult - ) => void - /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffMemoryWarningCallback = ( - result: OnMemoryWarningListenerResult - ) => void - /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffNetworkStatusChangeCallback = (res: GeneralCallbackResult) => void - /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffNetworkWeakChangeCallback = ( - result: OnNetworkWeakChangeListenerResult - ) => void - /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffPageNotFoundCallback = ( - result: OnPageNotFoundListenerResult - ) => void - /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffPauseCallback = (res: GeneralCallbackResult) => void - /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffPlayCallback = (res: GeneralCallbackResult) => void - /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffScreenRecordingStateChangedCallback = ( - result: OnScreenRecordingStateChangedListenerResult - ) => void - /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffSeekedCallback = (res: GeneralCallbackResult) => void - /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffSeekingCallback = (res: GeneralCallbackResult) => void - /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffStopCallback = (res: GeneralCallbackResult) => void - /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffThemeChangeCallback = (result: OnThemeChangeListenerResult) => void - /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffTimeUpdateCallback = (res: GeneralCallbackResult) => void - /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffUnhandledRejectionCallback = ( - result: OnUnhandledRejectionListenerResult - ) => void - /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffVoIPChatInterruptedCallback = ( - result: OnVoIPChatInterruptedListenerResult - ) => void - /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffVoIPChatMembersChangedCallback = ( - result: OnVoIPChatMembersChangedListenerResult - ) => void - /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffVoIPChatSpeakersChangedCallback = ( - result: OnVoIPChatSpeakersChangedListenerResult - ) => void - /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffVoIPChatStateChangedCallback = ( - result: OnVoIPChatStateChangedListenerResult - ) => void - /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffVoIPVideoMembersChangedCallback = ( - result: OnVoIPVideoMembersChangedListenerResult - ) => void - /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffWaitingCallback = (res: GeneralCallbackResult) => void - /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffWifiConnectedCallback = ( - result: OnWifiConnectedListenerResult - ) => void - /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffWifiConnectedWithPartialInfoCallback = ( - result: OnWifiConnectedWithPartialInfoListenerResult - ) => void - /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ - type OffWindowResizeCallback = ( - result: OnWindowResizeListenerResult - ) => void - /** 加速度数据事件的监听函数 */ - type OnAccelerometerChangeCallback = ( - result: OnAccelerometerChangeListenerResult - ) => void - /** 小程序切后台事件的监听函数 */ - type OnAppHideCallback = (res: GeneralCallbackResult) => void - /** 小程序切前台事件的监听函数 */ - type OnAppShowCallback = ( - /** 启动参数 */ - options: LaunchOptionsApp - ) => void - /** 音频因为受到系统占用而被中断开始事件的监听函数 */ - type OnAudioInterruptionBeginCallback = (res: GeneralCallbackResult) => void - /** 音频中断结束事件的监听函数 */ - type OnAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void - /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ - type OnBLECharacteristicValueChangeCallback = ( - result: OnBLECharacteristicValueChangeListenerResult - ) => void - /** 蓝牙低功耗连接状态改变事件的监听函数 */ - type OnBLEConnectionStateChangeCallback = ( - result: OnBLEConnectionStateChangeListenerResult - ) => void - /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ - type OnBLEMTUChangeCallback = (result: OnBLEMTUChangeListenerResult) => void - /** 当前外围设备被连接或断开连接事件的监听函数 */ - type OnBLEPeripheralConnectionStateChangedCallback = ( - result: OnBLEPeripheralConnectionStateChangedListenerResult - ) => void - /** 音乐暂停事件的监听函数 */ - type OnBackgroundAudioPauseCallback = (res: GeneralCallbackResult) => void - /** 音乐播放事件的监听函数 */ - type OnBackgroundAudioPlayCallback = (res: GeneralCallbackResult) => void - /** 音乐停止事件的监听函数 */ - type OnBackgroundAudioStopCallback = (res: GeneralCallbackResult) => void - /** 收到 backgroundFetch 数据事件的监听函数 */ - type OnBackgroundFetchDataCallback = ( - result: OnBackgroundFetchDataListenerResult - ) => void - /** Beacon 服务状态变化事件的监听函数 */ - type OnBeaconServiceChangeCallback = ( - result: OnBeaconServiceChangeListenerResult - ) => void - /** Beacon 设备更新事件的监听函数 */ - type OnBeaconUpdateCallback = (result: OnBeaconUpdateListenerResult) => void - /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ - type OnBindWifiCallback = (res: GeneralCallbackResult) => void - /** 蓝牙适配器状态变化事件的监听函数 */ - type OnBluetoothAdapterStateChangeCallback = ( - result: OnBluetoothAdapterStateChangeListenerResult - ) => void - /** 搜索到新设备的事件的监听函数 */ - type OnBluetoothDeviceFoundCallback = ( - result: OnBluetoothDeviceFoundListenerResult - ) => void - /** 回调函数 */ - type OnCameraFrameCallback = (result: OnCameraFrameCallbackResult) => void - type OnCanplayCallback = (res: GeneralCallbackResult) => void - /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ - type OnCharacteristicReadRequestCallback = ( - result: OnCharacteristicReadRequestListenerResult - ) => void - /** 特征订阅事件的监听函数 */ - type OnCharacteristicSubscribedCallback = ( - result: OnCharacteristicSubscribedListenerResult - ) => void - /** 取消特征订阅事件的监听函数 */ - type OnCharacteristicUnsubscribedCallback = ( - result: OnCharacteristicSubscribedListenerResult - ) => void - /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ - type OnCharacteristicWriteRequestCallback = ( - result: OnCharacteristicWriteRequestListenerResult - ) => void - /** 向微信后台请求检查更新结果事件的监听函数 */ - type OnCheckForUpdateCallback = ( - result: OnCheckForUpdateListenerResult - ) => void - /** Transfer-Encoding Chunk Received 事件的监听函数 */ - type OnChunkReceivedCallback = ( - result: OnChunkReceivedListenerResult - ) => void - /** 罗盘数据变化事件的监听函数 */ - type OnCompassChangeCallback = ( - result: OnCompassChangeListenerResult - ) => void - /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ - type OnConnectCallback = (res: GeneralCallbackResult) => void - /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ - type OnCopyUrlCallback = (result: OnCopyUrlListenerResult) => void - /** 设备方向变化事件的监听函数 */ - type OnDeviceMotionChangeCallback = ( - result: OnDeviceMotionChangeListenerResult - ) => void - /** 的监听函数 */ - type OnDiscoveredCallback = (result: OnDiscoveredListenerResult) => void - type OnEndedCallback = (res: GeneralCallbackResult) => void - /** 已录制完指定帧大小的文件事件的监听函数 */ - type OnFrameRecordedCallback = ( - result: OnFrameRecordedListenerResult - ) => void - /** 获取到 Wi-Fi 列表数据事件的监听函数 */ - type OnGetWifiListCallback = (result: OnGetWifiListListenerResult) => void - /** 陀螺仪数据变化事件的监听函数 */ - type OnGyroscopeChangeCallback = ( - result: OnGyroscopeChangeListenerResult - ) => void - /** 接收 NFC 设备消息事件的监听函数 */ - type OnHCEMessageCallback = (result: OnHCEMessageListenerResult) => void - /** HTTP Response Header 事件的监听函数 */ - type OnHeadersReceivedCallback = ( - result: OnHeadersReceivedListenerResult - ) => void - /** 录音因为受到系统占用而被中断开始事件的监听函数 */ - type OnInterruptionBeginCallback = (res: GeneralCallbackResult) => void - /** 录音中断结束事件的监听函数 */ - type OnInterruptionEndCallback = (res: GeneralCallbackResult) => void - /** 键盘高度变化事件的监听函数 */ - type OnKeyboardHeightChangeCallback = ( - result: OnKeyboardHeightChangeListenerResult - ) => void - /** 小程序异步组件加载失败事件的监听函数 */ - type OnLazyLoadErrorCallback = ( - result: OnLazyLoadErrorListenerResult - ) => void - /** 开始监听数据包消息的事件的监听函数 */ - type OnListeningCallback = (res: GeneralCallbackResult) => void - type OnLoadCallback = (res: GeneralCallbackResult) => void - /** mDNS 服务停止搜索的事件的监听函数 */ - type OnLocalServiceDiscoveryStopCallback = ( - res: GeneralCallbackResult - ) => void - /** mDNS 服务发现的事件的监听函数 */ - type OnLocalServiceFoundCallback = ( - result: OnLocalServiceFoundListenerResult - ) => void - /** mDNS 服务离开的事件的监听函数 */ - type OnLocalServiceLostCallback = ( - result: OnLocalServiceLostListenerResult - ) => void - /** mDNS 服务解析失败的事件的监听函数 */ - type OnLocalServiceResolveFailCallback = ( - result: OnLocalServiceLostListenerResult - ) => void - /** 实时地理位置变化事件的监听函数 */ - type OnLocationChangeCallback = ( - result: OnLocationChangeListenerResult - ) => void - /** 的监听函数 */ - type OnLocationChangeErrorCallback = ( - result: OnLocationChangeErrorListenerResult - ) => void - /** 内存不足告警事件的监听函数 */ - type OnMemoryWarningCallback = ( - result: OnMemoryWarningListenerResult - ) => void - /** 网络状态变化事件的监听函数 */ - type OnNetworkStatusChangeCallback = ( - result: OnNetworkStatusChangeListenerResult - ) => void - /** 弱网状态变化事件的监听函数 */ - type OnNetworkWeakChangeCallback = ( - result: OnNetworkWeakChangeListenerResult - ) => void - /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ - type OnNextCallback = (res: GeneralCallbackResult) => void - /** WebSocket 连接打开事件的监听函数 */ - type OnOpenCallback = (result: OnOpenListenerResult) => void - /** 小程序要打开的页面不存在事件的监听函数 */ - type OnPageNotFoundCallback = (result: OnPageNotFoundListenerResult) => void - type OnPauseCallback = (res: GeneralCallbackResult) => void - type OnPlayCallback = (res: GeneralCallbackResult) => void - /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ - type OnPrevCallback = (res: GeneralCallbackResult) => void - /** worker线程被系统回收事件的监听函数 */ - type OnProcessKilledCallback = (res: GeneralCallbackResult) => void - /** 录音继续事件的监听函数 */ - type OnResumeCallback = (res: GeneralCallbackResult) => void - /** 用户录屏事件的监听函数 */ - type OnScreenRecordingStateChangedCallback = ( - result: OnScreenRecordingStateChangedListenerResult - ) => void - type OnSeekedCallback = (res: GeneralCallbackResult) => void - type OnSeekingCallback = (res: GeneralCallbackResult) => void - /** WebSocket 连接关闭事件的监听函数 */ - type OnSocketCloseCallback = ( - result: SocketTaskOnCloseListenerResult - ) => void - /** WebSocket 错误事件的监听函数 */ - type OnSocketErrorCallback = (result: GeneralCallbackResult) => void - /** WebSocket 接受到服务器的消息事件的监听函数 */ - type OnSocketMessageCallback = ( - result: SocketTaskOnMessageListenerResult - ) => void - /** WebSocket 连接打开事件的监听函数 */ - type OnSocketOpenCallback = (result: OnSocketOpenListenerResult) => void - /** 录音开始事件的监听函数 */ - type OnStartCallback = (res: GeneralCallbackResult) => void - /** 系统主题改变事件的监听函数 */ - type OnThemeChangeCallback = (result: OnThemeChangeListenerResult) => void - type OnTimeUpdateCallback = (res: GeneralCallbackResult) => void - /** 未处理的 Promise 拒绝事件的监听函数 */ - type OnUnhandledRejectionCallback = ( - result: OnUnhandledRejectionListenerResult - ) => void - /** 小程序更新失败事件的监听函数 */ - type OnUpdateFailedCallback = (res: GeneralCallbackResult) => void - /** 小程序有版本更新事件的监听函数 */ - type OnUpdateReadyCallback = (res: GeneralCallbackResult) => void - /** 用户主动截屏事件的监听函数 */ - type OnUserCaptureScreenCallback = (res: GeneralCallbackResult) => void - /** 被动断开实时语音通话事件的监听函数 */ - type OnVoIPChatInterruptedCallback = ( - result: OnVoIPChatInterruptedListenerResult - ) => void - /** 实时语音通话成员在线状态变化事件的监听函数 */ - type OnVoIPChatMembersChangedCallback = ( - result: OnVoIPChatMembersChangedListenerResult - ) => void - /** 实时语音通话成员通话状态变化事件的监听函数 */ - type OnVoIPChatSpeakersChangedCallback = ( - result: OnVoIPChatSpeakersChangedListenerResult - ) => void - /** 房间状态变化事件的监听函数 */ - type OnVoIPChatStateChangedCallback = ( - result: OnVoIPChatStateChangedListenerResult - ) => void - /** 实时语音通话成员视频状态变化事件的监听函数 */ - type OnVoIPVideoMembersChangedCallback = ( - result: OnVoIPVideoMembersChangedListenerResult - ) => void - /** 音频加载中事件的监听函数 */ - type OnWaitingCallback = (res: GeneralCallbackResult) => void - /** 连接上 Wi-Fi 的事件的监听函数 */ - type OnWifiConnectedCallback = ( - result: OnWifiConnectedListenerResult - ) => void - /** 连接上 Wi-Fi 的事件的监听函数 */ - type OnWifiConnectedWithPartialInfoCallback = ( - result: OnWifiConnectedWithPartialInfoListenerResult - ) => void - /** 窗口尺寸变化事件的监听函数 */ - type OnWindowResizeCallback = (result: OnWindowResizeListenerResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenAppAuthorizeSettingCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenAppAuthorizeSettingFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenAppAuthorizeSettingSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenBluetoothAdapterCompleteCallback = (res: BluetoothError) => void - /** 接口调用失败的回调函数 */ - type OpenBluetoothAdapterFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type OpenBluetoothAdapterSuccessCallback = (res: BluetoothError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenCardCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenCardFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenCardSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenChannelsActivityCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenChannelsActivityFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenChannelsActivitySuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenChannelsEventCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenChannelsEventFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenChannelsEventSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenChannelsLiveCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenChannelsLiveFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenChannelsLiveSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenChannelsUserProfileCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenChannelsUserProfileFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenChannelsUserProfileSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenCustomerServiceChatCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenCustomerServiceChatFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenCustomerServiceChatSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenDocumentCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenDocumentFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenDocumentSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenEmbeddedMiniProgramCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenEmbeddedMiniProgramFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenEmbeddedMiniProgramSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenFailCallback = (result: OpenFailCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenLocationSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenMapAppCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenMapAppFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenMapAppSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenSettingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenSettingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenSettingSuccessCallback = ( - result: OpenSettingSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenSuccessCallback = (result: OpenSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenSystemBluetoothSettingCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type OpenSystemBluetoothSettingFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type OpenSystemBluetoothSettingSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type OpenVideoEditorCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type OpenVideoEditorFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type OpenVideoEditorSuccessCallback = ( - result: OpenVideoEditorSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PageScrollToCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PageScrollToFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PageScrollToSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PauseBGMCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PauseBGMFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PauseBGMSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PauseBackgroundAudioCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type PauseBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PauseBackgroundAudioSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PauseCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PauseFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PauseSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PauseVoiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PauseVoiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PauseVoiceSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PlayBGMCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PlayBGMFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PlayBGMSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PlayBackgroundAudioCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type PlayBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PlayBackgroundAudioSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PlayCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PlayFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PlaySuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PlayVoiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PlayVoiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PlayVoiceSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PluginLoginCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PluginLoginFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PluginLoginSuccessCallback = ( - result: PluginLoginSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PreloadAssetsCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PreloadAssetsFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PreloadAssetsSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PreloadSkylineViewCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type PreloadSkylineViewFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PreloadSkylineViewSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PreloadWebviewCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PreloadWebviewFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PreloadWebviewSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PreviewImageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PreviewImageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PreviewImageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type PreviewMediaCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type PreviewMediaFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type PreviewMediaSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReLaunchCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ReLaunchFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ReLaunchSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReadBLECharacteristicValueCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type ReadBLECharacteristicValueFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type ReadBLECharacteristicValueSuccessCallback = ( - res: BluetoothError - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReadCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReadCompressedFileCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ReadCompressedFileFailCallback = ( - result: ReadCompressedFileFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type ReadCompressedFileSuccessCallback = ( - result: ReadCompressedFileSuccessCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ReadFailCallback = (result: ReadFailCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReadFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ReadFileFailCallback = (result: ReadFileFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ReadFileSuccessCallback = ( - result: ReadFileSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type ReadSuccessCallback = (result: ReadSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReadZipEntryCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ReadZipEntryFailCallback = ( - result: ReadZipEntryFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type ReadZipEntrySuccessCallback = ( - result: ReadZipEntrySuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ReaddirCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ReaddirFailCallback = (result: ReaddirFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ReaddirSuccessCallback = (result: ReaddirSuccessCallbackResult) => void - /** 录音结束事件的监听函数 */ - type RecorderManagerOnStopCallback = (result: OnStopListenerResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RedirectToCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RedirectToFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RedirectToSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RedoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RedoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RedoSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveArcCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RemoveArcFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveArcSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveCustomLayerCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RemoveCustomLayerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveFormatCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RemoveFormatFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveFormatSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveGroundOverlayCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RemoveGroundOverlayFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveGroundOverlaySuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveMarkersCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RemoveMarkersFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveMarkersSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveSavedFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveSavedFileSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveServiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RemoveServiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveServiceSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RemoveStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveStorageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveTabBarBadgeCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RemoveTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RemoveVisualLayerCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RemoveVisualLayerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RemoveVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RenameCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RenameFailCallback = (result: RenameFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RenameSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RequestFailCallback = (err: Err) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestFullScreenCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestFullScreenFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RequestFullScreenSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestOrderPaymentCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestOrderPaymentFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RequestOrderPaymentSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestPaymentCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RequestPaymentFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RequestPaymentSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestPictureInPictureCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestPictureInPictureFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type RequestPictureInPictureSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestPluginPaymentCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestPluginPaymentFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RequestPluginPaymentSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestSubscribeDeviceMessageCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestSubscribeDeviceMessageFailCallback = ( - result: RequestSubscribeDeviceMessageFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type RequestSubscribeDeviceMessageSuccessCallback = ( - result: RequestSubscribeDeviceMessageSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RequestSubscribeMessageCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type RequestSubscribeMessageFailCallback = ( - result: RequestSubscribeMessageFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type RequestSubscribeMessageSuccessCallback = ( - result: RequestSubscribeMessageSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type RequestSuccessCallback< - T extends string | IAnyObject | ArrayBuffer = - | string - | IAnyObject - | ArrayBuffer - > = (result: RequestSuccessCallbackResult<T>) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ResumeBGMCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ResumeBGMFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ResumeBGMSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ResumeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ResumeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ResumeSuccessCallback = (res: GeneralCallbackResult) => void - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - type RewardedVideoAdOffCloseCallback = ( - result: RewardedVideoAdOnCloseListenerResult - ) => void - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type RewardedVideoAdOffErrorCallback = ( - result: RewardedVideoAdOnErrorListenerResult - ) => void - /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ - type RewardedVideoAdOnCloseCallback = ( - result: RewardedVideoAdOnCloseListenerResult - ) => void - /** 激励视频错误事件的监听函数 */ - type RewardedVideoAdOnErrorCallback = ( - result: RewardedVideoAdOnErrorListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type RmdirCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type RmdirFailCallback = (result: RmdirFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type RmdirSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SaveFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SaveFileSuccessCallback = ( - result: SaveFileSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SaveFileToDiskCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SaveFileToDiskFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SaveFileToDiskSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SaveImageToPhotosAlbumCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SaveImageToPhotosAlbumFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SaveImageToPhotosAlbumSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SaveVideoToPhotosAlbumCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SaveVideoToPhotosAlbumFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SaveVideoToPhotosAlbumSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ScanCodeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ScanCodeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ScanCodeSuccessCallback = ( - result: ScanCodeSuccessCallbackResult - ) => void - /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ - type ScrollOffsetCallback = (result: ScrollOffsetCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SeekBackgroundAudioCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SeekBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SeekBackgroundAudioSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SendCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SendFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SendHCEMessageCompleteCallback = (res: NFCError) => void - /** 接口调用失败的回调函数 */ - type SendHCEMessageFailCallback = (res: NFCError) => void - /** 接口调用成功的回调函数 */ - type SendHCEMessageSuccessCallback = (res: NFCError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SendMessageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SendMessageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SendMessageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SendSmsCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SendSmsFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SendSmsSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SendSocketMessageCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SendSocketMessageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SendSocketMessageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SendSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBGMVolumeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetBGMVolumeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetBGMVolumeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBLEMTUCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetBLEMTUFailCallback = (result: SetBLEMTUFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetBLEMTUSuccessCallback = ( - result: SetBLEMTUSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBackgroundColorCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetBackgroundColorFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetBackgroundColorSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBackgroundFetchTokenCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetBackgroundFetchTokenFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SetBackgroundFetchTokenSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBackgroundTextStyleCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetBackgroundTextStyleFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SetBackgroundTextStyleSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetBoundaryCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetBoundaryFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetBoundarySuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetCenterOffsetCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetCenterOffsetFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetCenterOffsetSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetClipboardDataFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetClipboardDataSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetContentsCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetContentsFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetContentsSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetEnable1v1ChatCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetEnable1v1ChatFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetEnable1v1ChatSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetEnableDebugCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetEnableDebugFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetEnableDebugSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetInnerAudioOptionCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetInnerAudioOptionFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetInnerAudioOptionSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetKeepScreenOnCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetKeepScreenOnFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetKeepScreenOnSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetLocMarkerIconCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetLocMarkerIconFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetLocMarkerIconSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetMICVolumeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetMICVolumeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetMICVolumeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetNavigationBarColorCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetNavigationBarColorFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SetNavigationBarColorSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetNavigationBarTitleCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetNavigationBarTitleFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SetNavigationBarTitleSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetScreenBrightnessCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetScreenBrightnessSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetStorageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetStorageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetStorageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetTabBarBadgeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetTabBarItemCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetTabBarItemFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetTabBarItemSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetTabBarStyleCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetTabBarStyleFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetTabBarStyleSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetTimeoutCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type SetTimeoutFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type SetTimeoutSuccessCallback = (res: Nfcrwerror) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetTopBarTextCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetTopBarTextFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetTopBarTextSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetVisualEffectOnCaptureCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SetVisualEffectOnCaptureFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SetVisualEffectOnCaptureSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetWifiListCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type SetWifiListFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type SetWifiListSuccessCallback = (res: WifiError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetWindowSizeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetWindowSizeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetWindowSizeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SetZoomCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SetZoomFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SetZoomSuccessCallback = (result: SetZoomSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShareFileMessageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShareFileMessageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShareFileMessageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShareToWeRunCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShareToWeRunFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShareToWeRunSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShareVideoMessageCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ShareVideoMessageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShareVideoMessageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowActionSheetCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowActionSheetFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowActionSheetSuccessCallback = ( - result: ShowActionSheetSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowLoadingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowLoadingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowLoadingSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowModalCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowModalFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowModalSuccessCallback = ( - result: ShowModalSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowNavigationBarLoadingCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ShowNavigationBarLoadingFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type ShowNavigationBarLoadingSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowRedPackageCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowRedPackageFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowRedPackageSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowShareImageMenuCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type ShowShareImageMenuFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowShareImageMenuSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowShareMenuCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowShareMenuFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowShareMenuSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowTabBarCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowTabBarFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowTabBarSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ShowToastCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ShowToastFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ShowToastSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SnapshotCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SnapshotFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SocketTaskCloseFailCallback = (res: GeneralCallbackResult) => void - /** WebSocket 连接关闭事件的监听函数 */ - type SocketTaskOnCloseCallback = ( - result: SocketTaskOnCloseListenerResult - ) => void - /** WebSocket 接受到服务器的消息事件的监听函数 */ - type SocketTaskOnMessageCallback = ( - result: SocketTaskOnMessageListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartAccelerometerCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartAccelerometerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartAccelerometerSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StartAdvertisingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartBeaconDiscoveryCompleteCallback = (res: BeaconError) => void - /** 接口调用失败的回调函数 */ - type StartBeaconDiscoveryFailCallback = (res: BeaconError) => void - /** 接口调用成功的回调函数 */ - type StartBeaconDiscoverySuccessCallback = (res: BeaconError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartBluetoothDevicesDiscoveryCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type StartBluetoothDevicesDiscoveryFailCallback = ( - res: BluetoothError - ) => void - /** 接口调用成功的回调函数 */ - type StartBluetoothDevicesDiscoverySuccessCallback = ( - res: BluetoothError - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartCompassCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StartCompassFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartCompassSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartDeviceMotionListeningCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartDeviceMotionListeningFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StartDeviceMotionListeningSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartDiscoveryCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type StartDiscoveryFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type StartDiscoverySuccessCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type StartFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StartGyroscopeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartHCECompleteCallback = (res: NFCError) => void - /** 接口调用失败的回调函数 */ - type StartHCEFailCallback = (res: NFCError) => void - /** 接口调用成功的回调函数 */ - type StartHCESuccessCallback = (res: NFCError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartLocalServiceDiscoveryCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartLocalServiceDiscoveryFailCallback = ( - result: StartLocalServiceDiscoveryFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StartLocalServiceDiscoverySuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartLocationUpdateBackgroundCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartLocationUpdateBackgroundFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StartLocationUpdateBackgroundSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartLocationUpdateCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartLocationUpdateFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartLocationUpdateSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartPreviewCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StartPreviewFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartPreviewSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartPullDownRefreshCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StartPullDownRefreshSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartRecordCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StartRecordFailCallback = (res: GeneralCallbackResult) => void - /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ - type StartRecordTimeoutCallback = ( - result: StartRecordTimeoutCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartSoterAuthenticationCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StartSoterAuthenticationFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StartSoterAuthenticationSuccessCallback = ( - result: StartSoterAuthenticationSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StartSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StartWifiCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type StartWifiFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type StartWifiSuccessCallback = (res: WifiError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StatCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StatFailCallback = (result: StatFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StatSuccessCallback = (result: StatSuccessCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopAccelerometerCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopAccelerometerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopAccelerometerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopAdvertisingFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopBGMCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopBGMFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopBGMSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopBackgroundAudioCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopBackgroundAudioSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopBeaconDiscoveryCompleteCallback = (res: BeaconError) => void - /** 接口调用失败的回调函数 */ - type StopBeaconDiscoveryFailCallback = (res: BeaconError) => void - /** 接口调用成功的回调函数 */ - type StopBeaconDiscoverySuccessCallback = (res: BeaconError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopBluetoothDevicesDiscoveryCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type StopBluetoothDevicesDiscoveryFailCallback = ( - res: BluetoothError - ) => void - /** 接口调用成功的回调函数 */ - type StopBluetoothDevicesDiscoverySuccessCallback = ( - res: BluetoothError - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopCompassCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopCompassFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopCompassSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopDeviceMotionListeningCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopDeviceMotionListeningFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StopDeviceMotionListeningSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopDiscoveryCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type StopDiscoveryFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type StopDiscoverySuccessCallback = (res: Nfcrwerror) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopFaceDetectFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopGyroscopeFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopHCECompleteCallback = (res: NFCError) => void - /** 接口调用失败的回调函数 */ - type StopHCEFailCallback = (res: NFCError) => void - /** 接口调用成功的回调函数 */ - type StopHCESuccessCallback = (res: NFCError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopLocalServiceDiscoveryCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopLocalServiceDiscoveryFailCallback = ( - result: StopLocalServiceDiscoveryFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type StopLocalServiceDiscoverySuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopLocationUpdateCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopLocationUpdateFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopLocationUpdateSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopPreviewCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopPreviewFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopPreviewSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopPullDownRefreshCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type StopPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopPullDownRefreshSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopRecordCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopRecordFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopVoiceCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type StopVoiceFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type StopVoiceSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type StopWifiCompleteCallback = (res: WifiError) => void - /** 接口调用失败的回调函数 */ - type StopWifiFailCallback = (res: WifiError) => void - /** 接口调用成功的回调函数 */ - type StopWifiSuccessCallback = (res: WifiError) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SubscribeVoIPVideoMembersCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type SubscribeVoIPVideoMembersFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type SubscribeVoIPVideoMembersSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SwitchCameraCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SwitchCameraFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SwitchCameraSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type SwitchTabCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type SwitchTabFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type SwitchTabSuccessCallback = (res: GeneralCallbackResult) => void - /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - type TCPSocketOffMessageCallback = ( - result: TCPSocketOnMessageListenerResult - ) => void - /** 当接收到数据的时触发该事件的监听函数 */ - type TCPSocketOnMessageCallback = ( - result: TCPSocketOnMessageListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type TakePhotoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type TakePhotoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type TakePhotoSuccessCallback = ( - result: TakePhotoSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ToScreenLocationCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ToScreenLocationFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ToScreenLocationSuccessCallback = ( - result: ToScreenLocationSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type ToggleTorchCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type ToggleTorchFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type ToggleTorchSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type TransceiveCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type TransceiveFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type TransceiveSuccessCallback = ( - result: TransceiveSuccessCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type TranslateMarkerCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type TranslateMarkerFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type TranslateMarkerSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type TruncateCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type TruncateFailCallback = (result: TruncateFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type TruncateSuccessCallback = (res: GeneralCallbackResult) => void - /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ - type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void - /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ - type UDPSocketOffMessageCallback = ( - result: UDPSocketOnMessageListenerResult - ) => void - type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void - type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void - /** 收到消息的事件的监听函数 */ - type UDPSocketOnMessageCallback = ( - result: UDPSocketOnMessageListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UndoCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UndoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UndoSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UnlinkCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UnlinkFailCallback = (result: UnlinkFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UnlinkSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UnzipCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UnzipFailCallback = (result: UnzipFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UnzipSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UpdateGroundOverlayCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type UpdateGroundOverlayFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UpdateGroundOverlaySuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UpdateShareMenuCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UpdateShareMenuFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UpdateShareMenuSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UpdateVoIPChatMuteConfigCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type UpdateVoIPChatMuteConfigFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type UpdateVoIPChatMuteConfigSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UpdateWeChatAppCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UpdateWeChatAppFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UpdateWeChatAppSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type UploadFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type UploadFileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type UploadFileSuccessCallback = ( - result: UploadFileSuccessCallbackResult - ) => void - /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ - type UploadTaskOffProgressUpdateCallback = ( - result: UploadTaskOnProgressUpdateListenerResult - ) => void - /** 上传进度变化事件的监听函数 */ - type UploadTaskOnProgressUpdateCallback = ( - result: UploadTaskOnProgressUpdateListenerResult - ) => void - /** 开启会话回调 */ - type VKSessionStartCallback = ( - /** 参数 status 可选值: - * - 0: 成功; - * - 2000001: 参数错误; - * - 2003000: 会话不可用; - * - 2000000: 系统错误; - * - 2000002: 设备不支持; - * - 2000003: 系统不支持; - * - 2000004: 设备不支持; - * - 2003001: 未开启系统相机权限; - * - 2003002: 未开启小程序相机权限; */ - status: - | 0 - | 2000001 - | 2003000 - | 2000000 - | 2000002 - | 2000003 - | 2000004 - | 2003001 - | 2003002 - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type VibrateLongCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type VibrateLongFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type VibrateLongSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type VibrateShortCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type VibrateShortFailCallback = ( - result: VibrateShortFailCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type VibrateShortSuccessCallback = (res: GeneralCallbackResult) => void - /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ - type WorkerOnMessageCallback = ( - result: WorkerOnMessageListenerResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type WriteBLECharacteristicValueCompleteCallback = ( - res: BluetoothError - ) => void - /** 接口调用失败的回调函数 */ - type WriteBLECharacteristicValueFailCallback = (res: BluetoothError) => void - /** 接口调用成功的回调函数 */ - type WriteBLECharacteristicValueSuccessCallback = ( - res: BluetoothError - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type WriteCharacteristicValueCompleteCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用失败的回调函数 */ - type WriteCharacteristicValueFailCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type WriteCharacteristicValueSuccessCallback = ( - res: GeneralCallbackResult - ) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type WriteCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type WriteFailCallback = (result: WriteFailCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type WriteFileCompleteCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type WriteFileFailCallback = (result: WriteFileFailCallbackResult) => void - /** 接口调用成功的回调函数 */ - type WriteFileSuccessCallback = (res: GeneralCallbackResult) => void - /** 接口调用结束的回调函数(调用成功、失败都会执行) */ - type WriteNdefMessageCompleteCallback = (res: Nfcrwerror) => void - /** 接口调用失败的回调函数 */ - type WriteNdefMessageFailCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type WriteNdefMessageSuccessCallback = (res: Nfcrwerror) => void - /** 接口调用成功的回调函数 */ - type WriteSuccessCallback = (result: WriteSuccessCallbackResult) => void - /** 接口调用失败的回调函数 */ - type WxGetFileInfoFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type WxGetFileInfoSuccessCallback = ( - result: WxGetFileInfoSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type WxGetSavedFileListSuccessCallback = ( - result: WxGetSavedFileListSuccessCallbackResult - ) => void - /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ - type WxOffErrorCallback = (res: GeneralCallbackResult) => void - /** 小程序错误事件的监听函数 */ - type WxOnErrorCallback = ( - /** 错误信息,包含堆栈 */ - error: string - ) => void - /** 接口调用失败的回调函数 */ - type WxRemoveSavedFileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用失败的回调函数 */ - type WxSaveFileFailCallback = (res: GeneralCallbackResult) => void - /** 接口调用成功的回调函数 */ - type WxStartRecordSuccessCallback = ( - result: StartRecordSuccessCallbackResult - ) => void - /** 接口调用成功的回调函数 */ - type WxStopRecordSuccessCallback = (res: GeneralCallbackResult) => void -} diff --git a/typings/types/wx/lib.wx.app.d.ts b/typings/types/wx/lib.wx.app.d.ts deleted file mode 100644 index ef90d8e..0000000 --- a/typings/types/wx/lib.wx.app.d.ts +++ /dev/null @@ -1,270 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram.App { - interface ReferrerInfo { - /** 来源小程序或公众号或App的 appId - * - * 以下场景支持返回 referrerInfo.appId: - * - 1020(公众号 profile 页相关小程序列表): appId - * - 1035(公众号自定义菜单):来源公众号 appId - * - 1036(App 分享消息卡片):来源应用 appId - * - 1037(小程序打开小程序):来源小程序 appId - * - 1038(从另一个小程序返回):来源小程序 appId - * - 1043(公众号模板消息):来源公众号 appId - */ - appId: string - /** 来源小程序传过来的数据,scene=1037或1038时支持 */ - extraData?: any - } - - type SceneValues = - | 1001 - | 1005 - | 1006 - | 1007 - | 1008 - | 1011 - | 1012 - | 1013 - | 1014 - | 1017 - | 1019 - | 1020 - | 1023 - | 1024 - | 1025 - | 1026 - | 1027 - | 1028 - | 1029 - | 1030 - | 1031 - | 1032 - | 1034 - | 1035 - | 1036 - | 1037 - | 1038 - | 1039 - | 1042 - | 1043 - | 1044 - | 1045 - | 1046 - | 1047 - | 1048 - | 1049 - | 1052 - | 1053 - | 1056 - | 1057 - | 1058 - | 1059 - | 1064 - | 1067 - | 1069 - | 1071 - | 1072 - | 1073 - | 1074 - | 1077 - | 1078 - | 1079 - | 1081 - | 1082 - | 1084 - | 1089 - | 1090 - | 1091 - | 1092 - | 1095 - | 1096 - | 1097 - | 1099 - | 1102 - | 1124 - | 1125 - | 1126 - | 1129 - - interface LaunchShowOption { - /** 打开小程序的路径 */ - path: string - /** 打开小程序的query */ - query: IAnyObject - /** 打开小程序的场景值 - * - 1001:发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表) - * - 1005:微信首页顶部搜索框的搜索结果页 - * - 1006:发现栏小程序主入口搜索框的搜索结果页 - * - 1007:单人聊天会话中的小程序消息卡片 - * - 1008:群聊会话中的小程序消息卡片 - * - 1011:扫描二维码 - * - 1012:长按图片识别二维码 - * - 1013:扫描手机相册中选取的二维码 - * - 1014:小程序模板消息 - * - 1017:前往小程序体验版的入口页 - * - 1019:微信钱包(微信客户端7.0.0版本改为支付入口) - * - 1020:公众号 profile 页相关小程序列表 - * - 1023:安卓系统桌面图标 - * - 1024:小程序 profile 页 - * - 1025:扫描一维码 - * - 1026:发现栏小程序主入口,「附近的小程序」列表 - * - 1027:微信首页顶部搜索框搜索结果页「使用过的小程序」列表 - * - 1028:我的卡包 - * - 1029:小程序中的卡券详情页 - * - 1030:自动化测试下打开小程序 - * - 1031:长按图片识别一维码 - * - 1032:扫描手机相册中选取的一维码 - * - 1034:微信支付完成页 - * - 1035:公众号自定义菜单 - * - 1036:App 分享消息卡片 - * - 1037:小程序打开小程序 - * - 1038:从另一个小程序返回 - * - 1039:摇电视 - * - 1042:添加好友搜索框的搜索结果页 - * - 1043:公众号模板消息 - * - 1044:带 shareTicket 的小程序消息卡片 [详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) - * - 1045:朋友圈广告 - * - 1046:朋友圈广告详情页 - * - 1047:扫描小程序码 - * - 1048:长按图片识别小程序码 - * - 1049:扫描手机相册中选取的小程序码 - * - 1052:卡券的适用门店列表 - * - 1053:搜一搜的结果页 - * - 1056:聊天顶部音乐播放器右上角菜单 - * - 1057:钱包中的银行卡详情页 - * - 1058:公众号文章 - * - 1059:体验版小程序绑定邀请页 - * - 1064:微信首页连Wi-Fi状态栏 - * - 1067:公众号文章广告 - * - 1069:移动应用 - * - 1071:钱包中的银行卡列表页 - * - 1072:二维码收款页面 - * - 1073:客服消息列表下发的小程序消息卡片 - * - 1074:公众号会话下发的小程序消息卡片 - * - 1077:摇周边 - * - 1078:微信连Wi-Fi成功提示页 - * - 1079:微信游戏中心 - * - 1081:客服消息下发的文字链 - * - 1082:公众号会话下发的文字链 - * - 1084:朋友圈广告原生页 - * - 1089:微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏) - * - 1090:长按小程序右上角菜单唤出最近使用历史 - * - 1091:公众号文章商品卡片 - * - 1092:城市服务入口 - * - 1095:小程序广告组件 - * - 1096:聊天记录 - * - 1097:微信支付签约页 - * - 1099:页面内嵌插件 - * - 1102:公众号 profile 页服务预览 - * - 1124:扫“一物一码”打开小程序 - * - 1125:长按图片识别“一物一码” - * - 1126:扫描手机相册中选取的“一物一码” - * - 1129:微信爬虫访问 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html) - */ - scene: SceneValues - /** shareTicket,详见 [获取更多转发信息]((转发#获取更多转发信息)) */ - shareTicket: string - /** 当场景为由从另一个小程序或公众号或App打开时,返回此字段 */ - referrerInfo?: ReferrerInfo - } - - interface PageNotFoundOption { - /** 不存在页面的路径 */ - path: string - /** 打开不存在页面的 query */ - query: IAnyObject - /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ - isEntryPage: boolean - } - - interface Option { - /** 生命周期回调—监听小程序初始化 - * - * 小程序初始化完成时触发,全局只触发一次。 - */ - onLaunch(options: LaunchShowOption): void - /** 生命周期回调—监听小程序显示 - * - * 小程序启动,或从后台进入前台显示时 - */ - onShow(options: LaunchShowOption): void - /** 生命周期回调—监听小程序隐藏 - * - * 小程序从前台进入后台时 - */ - onHide(): void - /** 错误监听函数 - * - * 小程序发生脚本错误,或者 api - */ - onError(/** 错误信息,包含堆栈 */ error: string): void - /** 页面不存在监听函数 - * - * 小程序要打开的页面不存在时触发,会带上页面信息回调该函数 - * - * **注意:** - * 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 - * 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。 - * - * 最低基础库: 1.9.90 - */ - onPageNotFound(options: PageNotFoundOption): void - /** - * 小程序有未处理的 Promise 拒绝时触发。也可以使用 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 绑定监听。注意事项请参考 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html)。 - * **参数**:与 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 一致 - */ - onUnhandledRejection: OnUnhandledRejectionCallback - /** - * 系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。 - * - * 最低基础库: 2.11.0 - */ - onThemeChange: OnThemeChangeCallback - } - - type Instance<T extends IAnyObject> = Option & T - type Options<T extends IAnyObject> = Partial<Option> & - T & - ThisType<Instance<T>> - type TrivialInstance = Instance<IAnyObject> - - interface Constructor { - <T extends IAnyObject>(options: Options<T>): void - } - - interface GetAppOption { - /** 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包 - * - * 最低基础库: 2.2.4 - */ - allowDefault?: boolean - } - - interface GetApp { - <T extends IAnyObject = IAnyObject>(opts?: GetAppOption): Instance<T> - } -} - -declare let App: WechatMiniprogram.App.Constructor -declare let getApp: WechatMiniprogram.App.GetApp diff --git a/typings/types/wx/lib.wx.behavior.d.ts b/typings/types/wx/lib.wx.behavior.d.ts deleted file mode 100644 index f33605b..0000000 --- a/typings/types/wx/lib.wx.behavior.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram.Behavior { - type BehaviorIdentifier = string - type Instance< - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends MethodOption, - TCustomInstanceProperty extends IAnyObject = Record<string, never> - > = Component.Instance<TData, TProperty, TMethod, TCustomInstanceProperty> - type TrivialInstance = Instance<IAnyObject, IAnyObject, IAnyObject> - type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject> - type Options< - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends MethodOption, - TCustomInstanceProperty extends IAnyObject = Record<string, never> - > = Partial<Data<TData>> & - Partial<Property<TProperty>> & - Partial<Method<TMethod>> & - Partial<OtherOption> & - Partial<Lifetimes> & - ThisType<Instance<TData, TProperty, TMethod, TCustomInstanceProperty>> - interface Constructor { - < - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends MethodOption, - TCustomInstanceProperty extends IAnyObject = Record<string, never> - >( - options: Options<TData, TProperty, TMethod, TCustomInstanceProperty> - ): BehaviorIdentifier - } - - type DataOption = Component.DataOption - type PropertyOption = Component.PropertyOption - type MethodOption = Component.MethodOption - type Data<D extends DataOption> = Component.Data<D> - type Property<P extends PropertyOption> = Component.Property<P> - type Method<M extends MethodOption> = Component.Method<M> - - type DefinitionFilter = Component.DefinitionFilter - type Lifetimes = Component.Lifetimes - - type OtherOption = Omit<Component.OtherOption, 'options'> -} -/** 注册一个 `behavior`,接受一个 `Object` 类型的参数。*/ -declare let Behavior: WechatMiniprogram.Behavior.Constructor diff --git a/typings/types/wx/lib.wx.cloud.d.ts b/typings/types/wx/lib.wx.cloud.d.ts deleted file mode 100644 index 95c43d3..0000000 --- a/typings/types/wx/lib.wx.cloud.d.ts +++ /dev/null @@ -1,979 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -interface IAPIError { - errMsg: string -} - -interface IAPIParam<T = any> { - config?: ICloudConfig - success?: (res: T) => void - fail?: (err: IAPIError) => void - complete?: (val: T | IAPIError) => void -} - -interface IAPISuccessParam { - errMsg: string -} - -type IAPICompleteParam = IAPISuccessParam | IAPIError - -type IAPIFunction<T, P extends IAPIParam<T>> = (param?: P) => Promise<T> - -interface IInitCloudConfig { - env?: - | string - | { - database?: string - functions?: string - storage?: string - } - traceUser?: boolean -} - -interface ICloudConfig { - env?: string - traceUser?: boolean -} - -interface IICloudAPI { - init: (config?: IInitCloudConfig) => void - [api: string]: AnyFunction | IAPIFunction<any, any> -} - -interface ICloudService { - name: string - - getAPIs: () => { [name: string]: IAPIFunction<any, any> } -} - -interface ICloudServices { - [serviceName: string]: ICloudService -} - -interface ICloudMetaData { - session_id: string -} - -declare class InternalSymbol {} - -interface AnyObject { - [x: string]: any -} - -type AnyArray = any[] - -type AnyFunction = (...args: any[]) => any - -/** - * extend wx with cloud - */ -interface WxCloud { - init: (config?: ICloudConfig) => void - - callFunction(param: OQ<ICloud.CallFunctionParam>): void - callFunction( - param: RQ<ICloud.CallFunctionParam> - ): Promise<ICloud.CallFunctionResult> - - uploadFile(param: OQ<ICloud.UploadFileParam>): WechatMiniprogram.UploadTask - uploadFile( - param: RQ<ICloud.UploadFileParam> - ): Promise<ICloud.UploadFileResult> - - downloadFile( - param: OQ<ICloud.DownloadFileParam> - ): WechatMiniprogram.DownloadTask - downloadFile( - param: RQ<ICloud.DownloadFileParam> - ): Promise<ICloud.DownloadFileResult> - - getTempFileURL(param: OQ<ICloud.GetTempFileURLParam>): void - getTempFileURL( - param: RQ<ICloud.GetTempFileURLParam> - ): Promise<ICloud.GetTempFileURLResult> - - deleteFile(param: OQ<ICloud.DeleteFileParam>): void - deleteFile( - param: RQ<ICloud.DeleteFileParam> - ): Promise<ICloud.DeleteFileResult> - - database: (config?: ICloudConfig) => DB.Database - - CloudID: ICloud.ICloudIDConstructor - CDN: ICloud.ICDNConstructor - - callContainer(param: OQ<ICloud.CallContainerParam>): void - callContainer( - param: RQ<ICloud.CallContainerParam> - ): Promise<ICloud.CallContainerResult> - - connectContainer(param: OQ<ICloud.ConnectContainerParam>): void - connectContainer( - param: RQ<ICloud.ConnectContainerParam> - ): Promise<ICloud.ConnectContainerResult> -} - -declare namespace ICloud { - interface ICloudAPIParam<T = any> extends IAPIParam<T> { - config?: ICloudConfig - } - - // === API: callFunction === - type CallFunctionData = AnyObject - - interface CallFunctionResult extends IAPISuccessParam { - result: AnyObject | string | undefined - } - - interface CallFunctionParam extends ICloudAPIParam<CallFunctionResult> { - name: string - data?: CallFunctionData - slow?: boolean - } - // === end === - - // === API: container === - type CallContainerData = AnyObject - - interface CallContainerResult extends IAPISuccessParam { - data: any - statusCode: number - header: Record<string, any> - callID: string - } - - interface CallContainerParam extends ICloudAPIParam<CallContainerResult> { - path: string - service?: string - method?: string - header?: Record<string, any> - data?: any // string, object, ArrayBuffer - dataType?: string - responseType?: string - timeout?: number - verbose?: boolean - followRedirect?: boolean - } - - interface ConnectContainerResult extends IAPISuccessParam { - socketTask: WechatMiniprogram.SocketTask - } - - interface ConnectSocketOptions extends IAPIParam<void> { - header?: Record<string, string> - protocols?: string[] - tcpNoDelay?: boolean - perMessageDeflate?: boolean - timeout?: number - } - - type ConnectContainerParam = Omit< - ConnectSocketOptions, - 'success' | 'fail' | 'complete' - > & - ICloudAPIParam<ConnectContainerResult> & { - service: string - path?: string - } - // === end === - - // === API: uploadFile === - interface UploadFileResult extends IAPISuccessParam { - fileID: string - statusCode: number - } - - interface UploadFileParam extends ICloudAPIParam<UploadFileResult> { - cloudPath: string - filePath: string - header?: AnyObject - } - // === end === - - // === API: downloadFile === - interface DownloadFileResult extends IAPISuccessParam { - tempFilePath: string - statusCode: number - } - - interface DownloadFileParam extends ICloudAPIParam<DownloadFileResult> { - fileID: string - cloudPath?: string - } - // === end === - - // === API: getTempFileURL === - interface GetTempFileURLResult extends IAPISuccessParam { - fileList: GetTempFileURLResultItem[] - } - - interface GetTempFileURLResultItem { - fileID: string - tempFileURL: string - maxAge: number - status: number - errMsg: string - } - - interface GetTempFileURLParam extends ICloudAPIParam<GetTempFileURLResult> { - fileList: string[] - } - // === end === - - // === API: deleteFile === - interface DeleteFileResult extends IAPISuccessParam { - fileList: DeleteFileResultItem[] - } - - interface DeleteFileResultItem { - fileID: string - status: number - errMsg: string - } - - interface DeleteFileParam extends ICloudAPIParam<DeleteFileResult> { - fileList: string[] - } - // === end === - - // === API: CloudID === - abstract class CloudID { - constructor(cloudID: string) - } - - interface ICloudIDConstructor { - new (cloudId: string): CloudID - (cloudId: string): CloudID - } - // === end === - - // === API: CDN === - abstract class CDN { - target: string | ArrayBuffer | ICDNFilePathSpec - constructor(target: string | ArrayBuffer | ICDNFilePathSpec) - } - - interface ICDNFilePathSpec { - type: 'filePath' - filePath: string - } - - interface ICDNConstructor { - new (options: string | ArrayBuffer | ICDNFilePathSpec): CDN - (options: string | ArrayBuffer | ICDNFilePathSpec): CDN - } - // === end === -} - -// === Database === -declare namespace DB { - /** - * The class of all exposed cloud database instances - */ - class Database { - readonly config: ICloudConfig - readonly command: DatabaseCommand - readonly Geo: IGeo - readonly serverDate: () => ServerDate - readonly RegExp: IRegExpConstructor - - private constructor() - - collection(collectionName: string): CollectionReference - } - - class CollectionReference extends Query { - readonly collectionName: string - - private constructor(name: string, database: Database) - - doc(docId: string | number): DocumentReference - - add(options: OQ<IAddDocumentOptions>): void - add(options: RQ<IAddDocumentOptions>): Promise<IAddResult> - } - - class DocumentReference { - private constructor(docId: string | number, database: Database) - - field(object: Record<string, any>): this - - get(options: OQ<IGetDocumentOptions>): void - get(options?: RQ<IGetDocumentOptions>): Promise<IQuerySingleResult> - - set(options: OQ<ISetSingleDocumentOptions>): void - set(options?: RQ<ISetSingleDocumentOptions>): Promise<ISetResult> - - update(options: OQ<IUpdateSingleDocumentOptions>): void - update( - options?: RQ<IUpdateSingleDocumentOptions> - ): Promise<IUpdateResult> - - remove(options: OQ<IRemoveSingleDocumentOptions>): void - remove( - options?: RQ<IRemoveSingleDocumentOptions> - ): Promise<IRemoveResult> - - watch(options: IWatchOptions): RealtimeListener - } - - class RealtimeListener { - // "And Now His Watch Is Ended" - close: () => Promise<void> - } - - class Query { - where(condition: IQueryCondition): Query - - orderBy(fieldPath: string, order: string): Query - - limit(max: number): Query - - skip(offset: number): Query - - field(object: Record<string, any>): Query - - get(options: OQ<IGetDocumentOptions>): void - get(options?: RQ<IGetDocumentOptions>): Promise<IQueryResult> - - count(options: OQ<ICountDocumentOptions>): void - count(options?: RQ<ICountDocumentOptions>): Promise<ICountResult> - - watch(options: IWatchOptions): RealtimeListener - } - - interface DatabaseCommand { - eq(val: any): DatabaseQueryCommand - neq(val: any): DatabaseQueryCommand - gt(val: any): DatabaseQueryCommand - gte(val: any): DatabaseQueryCommand - lt(val: any): DatabaseQueryCommand - lte(val: any): DatabaseQueryCommand - in(val: any[]): DatabaseQueryCommand - nin(val: any[]): DatabaseQueryCommand - - geoNear(options: IGeoNearCommandOptions): DatabaseQueryCommand - geoWithin(options: IGeoWithinCommandOptions): DatabaseQueryCommand - geoIntersects( - options: IGeoIntersectsCommandOptions - ): DatabaseQueryCommand - - and( - ...expressions: Array<DatabaseLogicCommand | IQueryCondition> - ): DatabaseLogicCommand - or( - ...expressions: Array<DatabaseLogicCommand | IQueryCondition> - ): DatabaseLogicCommand - nor( - ...expressions: Array<DatabaseLogicCommand | IQueryCondition> - ): DatabaseLogicCommand - not(expression: DatabaseLogicCommand): DatabaseLogicCommand - - exists(val: boolean): DatabaseQueryCommand - - mod(divisor: number, remainder: number): DatabaseQueryCommand - - all(val: any[]): DatabaseQueryCommand - elemMatch(val: any): DatabaseQueryCommand - size(val: number): DatabaseQueryCommand - - set(val: any): DatabaseUpdateCommand - remove(): DatabaseUpdateCommand - inc(val: number): DatabaseUpdateCommand - mul(val: number): DatabaseUpdateCommand - min(val: number): DatabaseUpdateCommand - max(val: number): DatabaseUpdateCommand - rename(val: string): DatabaseUpdateCommand - bit(val: number): DatabaseUpdateCommand - - push(...values: any[]): DatabaseUpdateCommand - pop(): DatabaseUpdateCommand - shift(): DatabaseUpdateCommand - unshift(...values: any[]): DatabaseUpdateCommand - addToSet(val: any): DatabaseUpdateCommand - pull(val: any): DatabaseUpdateCommand - pullAll(val: any): DatabaseUpdateCommand - - project: { - slice(val: number | [number, number]): DatabaseProjectionCommand - } - - aggregate: { - __safe_props__?: Set<string> - - abs(val: any): DatabaseAggregateCommand - add(val: any): DatabaseAggregateCommand - addToSet(val: any): DatabaseAggregateCommand - allElementsTrue(val: any): DatabaseAggregateCommand - and(val: any): DatabaseAggregateCommand - anyElementTrue(val: any): DatabaseAggregateCommand - arrayElemAt(val: any): DatabaseAggregateCommand - arrayToObject(val: any): DatabaseAggregateCommand - avg(val: any): DatabaseAggregateCommand - ceil(val: any): DatabaseAggregateCommand - cmp(val: any): DatabaseAggregateCommand - concat(val: any): DatabaseAggregateCommand - concatArrays(val: any): DatabaseAggregateCommand - cond(val: any): DatabaseAggregateCommand - convert(val: any): DatabaseAggregateCommand - dateFromParts(val: any): DatabaseAggregateCommand - dateToParts(val: any): DatabaseAggregateCommand - dateFromString(val: any): DatabaseAggregateCommand - dateToString(val: any): DatabaseAggregateCommand - dayOfMonth(val: any): DatabaseAggregateCommand - dayOfWeek(val: any): DatabaseAggregateCommand - dayOfYear(val: any): DatabaseAggregateCommand - divide(val: any): DatabaseAggregateCommand - eq(val: any): DatabaseAggregateCommand - exp(val: any): DatabaseAggregateCommand - filter(val: any): DatabaseAggregateCommand - first(val: any): DatabaseAggregateCommand - floor(val: any): DatabaseAggregateCommand - gt(val: any): DatabaseAggregateCommand - gte(val: any): DatabaseAggregateCommand - hour(val: any): DatabaseAggregateCommand - ifNull(val: any): DatabaseAggregateCommand - in(val: any): DatabaseAggregateCommand - indexOfArray(val: any): DatabaseAggregateCommand - indexOfBytes(val: any): DatabaseAggregateCommand - indexOfCP(val: any): DatabaseAggregateCommand - isArray(val: any): DatabaseAggregateCommand - isoDayOfWeek(val: any): DatabaseAggregateCommand - isoWeek(val: any): DatabaseAggregateCommand - isoWeekYear(val: any): DatabaseAggregateCommand - last(val: any): DatabaseAggregateCommand - let(val: any): DatabaseAggregateCommand - literal(val: any): DatabaseAggregateCommand - ln(val: any): DatabaseAggregateCommand - log(val: any): DatabaseAggregateCommand - log10(val: any): DatabaseAggregateCommand - lt(val: any): DatabaseAggregateCommand - lte(val: any): DatabaseAggregateCommand - ltrim(val: any): DatabaseAggregateCommand - map(val: any): DatabaseAggregateCommand - max(val: any): DatabaseAggregateCommand - mergeObjects(val: any): DatabaseAggregateCommand - meta(val: any): DatabaseAggregateCommand - min(val: any): DatabaseAggregateCommand - millisecond(val: any): DatabaseAggregateCommand - minute(val: any): DatabaseAggregateCommand - mod(val: any): DatabaseAggregateCommand - month(val: any): DatabaseAggregateCommand - multiply(val: any): DatabaseAggregateCommand - neq(val: any): DatabaseAggregateCommand - not(val: any): DatabaseAggregateCommand - objectToArray(val: any): DatabaseAggregateCommand - or(val: any): DatabaseAggregateCommand - pow(val: any): DatabaseAggregateCommand - push(val: any): DatabaseAggregateCommand - range(val: any): DatabaseAggregateCommand - reduce(val: any): DatabaseAggregateCommand - reverseArray(val: any): DatabaseAggregateCommand - rtrim(val: any): DatabaseAggregateCommand - second(val: any): DatabaseAggregateCommand - setDifference(val: any): DatabaseAggregateCommand - setEquals(val: any): DatabaseAggregateCommand - setIntersection(val: any): DatabaseAggregateCommand - setIsSubset(val: any): DatabaseAggregateCommand - setUnion(val: any): DatabaseAggregateCommand - size(val: any): DatabaseAggregateCommand - slice(val: any): DatabaseAggregateCommand - split(val: any): DatabaseAggregateCommand - sqrt(val: any): DatabaseAggregateCommand - stdDevPop(val: any): DatabaseAggregateCommand - stdDevSamp(val: any): DatabaseAggregateCommand - strcasecmp(val: any): DatabaseAggregateCommand - strLenBytes(val: any): DatabaseAggregateCommand - strLenCP(val: any): DatabaseAggregateCommand - substr(val: any): DatabaseAggregateCommand - substrBytes(val: any): DatabaseAggregateCommand - substrCP(val: any): DatabaseAggregateCommand - subtract(val: any): DatabaseAggregateCommand - sum(val: any): DatabaseAggregateCommand - switch(val: any): DatabaseAggregateCommand - toBool(val: any): DatabaseAggregateCommand - toDate(val: any): DatabaseAggregateCommand - toDecimal(val: any): DatabaseAggregateCommand - toDouble(val: any): DatabaseAggregateCommand - toInt(val: any): DatabaseAggregateCommand - toLong(val: any): DatabaseAggregateCommand - toObjectId(val: any): DatabaseAggregateCommand - toString(val: any): DatabaseAggregateCommand - toLower(val: any): DatabaseAggregateCommand - toUpper(val: any): DatabaseAggregateCommand - trim(val: any): DatabaseAggregateCommand - trunc(val: any): DatabaseAggregateCommand - type(val: any): DatabaseAggregateCommand - week(val: any): DatabaseAggregateCommand - year(val: any): DatabaseAggregateCommand - zip(val: any): DatabaseAggregateCommand - } - } - - class DatabaseAggregateCommand {} - - enum LOGIC_COMMANDS_LITERAL { - AND = 'and', - OR = 'or', - NOT = 'not', - NOR = 'nor' - } - - class DatabaseLogicCommand { - and(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand - or(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand - nor(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand - not(expression: DatabaseLogicCommand): DatabaseLogicCommand - } - - enum QUERY_COMMANDS_LITERAL { - // comparison - EQ = 'eq', - NEQ = 'neq', - GT = 'gt', - GTE = 'gte', - LT = 'lt', - LTE = 'lte', - IN = 'in', - NIN = 'nin', - // geo - GEO_NEAR = 'geoNear', - GEO_WITHIN = 'geoWithin', - GEO_INTERSECTS = 'geoIntersects', - // element - EXISTS = 'exists', - // evaluation - MOD = 'mod', - // array - ALL = 'all', - ELEM_MATCH = 'elemMatch', - SIZE = 'size' - } - - class DatabaseQueryCommand extends DatabaseLogicCommand { - eq(val: any): DatabaseLogicCommand - neq(val: any): DatabaseLogicCommand - gt(val: any): DatabaseLogicCommand - gte(val: any): DatabaseLogicCommand - lt(val: any): DatabaseLogicCommand - lte(val: any): DatabaseLogicCommand - in(val: any[]): DatabaseLogicCommand - nin(val: any[]): DatabaseLogicCommand - - exists(val: boolean): DatabaseLogicCommand - - mod(divisor: number, remainder: number): DatabaseLogicCommand - - all(val: any[]): DatabaseLogicCommand - elemMatch(val: any): DatabaseLogicCommand - size(val: number): DatabaseLogicCommand - - geoNear(options: IGeoNearCommandOptions): DatabaseLogicCommand - geoWithin(options: IGeoWithinCommandOptions): DatabaseLogicCommand - geoIntersects( - options: IGeoIntersectsCommandOptions - ): DatabaseLogicCommand - } - - enum PROJECTION_COMMANDS_LITERAL { - SLICE = 'slice' - } - - class DatabaseProjectionCommand {} - - enum UPDATE_COMMANDS_LITERAL { - // field - SET = 'set', - REMOVE = 'remove', - INC = 'inc', - MUL = 'mul', - MIN = 'min', - MAX = 'max', - RENAME = 'rename', - // bitwise - BIT = 'bit', - // array - PUSH = 'push', - POP = 'pop', - SHIFT = 'shift', - UNSHIFT = 'unshift', - ADD_TO_SET = 'addToSet', - PULL = 'pull', - PULL_ALL = 'pullAll' - } - - class DatabaseUpdateCommand {} - - class Batch {} - - /** - * A contract that all API provider must adhere to - */ - class APIBaseContract< - PromiseReturn, - CallbackReturn, - Param extends IAPIParam, - Context = any - > { - getContext(param: Param): Context - - /** - * In case of callback-style invocation, this function will be called - */ - getCallbackReturn(param: Param, context: Context): CallbackReturn - - getFinalParam<T extends Param>(param: Param, context: Context): T - - run<T extends Param>(param: T): Promise<PromiseReturn> - } - - interface IGeoPointConstructor { - new (longitude: number, latitide: number): GeoPoint - new (geojson: IGeoJSONPoint): GeoPoint - (longitude: number, latitide: number): GeoPoint - (geojson: IGeoJSONPoint): GeoPoint - } - - interface IGeoMultiPointConstructor { - new (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint - (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint - } - - interface IGeoLineStringConstructor { - new (points: GeoPoint[] | IGeoJSONLineString): GeoLineString - (points: GeoPoint[] | IGeoJSONLineString): GeoLineString - } - - interface IGeoMultiLineStringConstructor { - new ( - lineStrings: GeoLineString[] | IGeoJSONMultiLineString - ): GeoMultiLineString - ( - lineStrings: GeoLineString[] | IGeoJSONMultiLineString - ): GeoMultiLineString - } - - interface IGeoPolygonConstructor { - new (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon - (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon - } - - interface IGeoMultiPolygonConstructor { - new (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon - (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon - } - - interface IGeo { - Point: IGeoPointConstructor - MultiPoint: IGeoMultiPointConstructor - LineString: IGeoLineStringConstructor - MultiLineString: IGeoMultiLineStringConstructor - Polygon: IGeoPolygonConstructor - MultiPolygon: IGeoMultiPolygonConstructor - } - - interface IGeoJSONPoint { - type: 'Point' - coordinates: [number, number] - } - - interface IGeoJSONMultiPoint { - type: 'MultiPoint' - coordinates: Array<[number, number]> - } - - interface IGeoJSONLineString { - type: 'LineString' - coordinates: Array<[number, number]> - } - - interface IGeoJSONMultiLineString { - type: 'MultiLineString' - coordinates: Array<Array<[number, number]>> - } - - interface IGeoJSONPolygon { - type: 'Polygon' - coordinates: Array<Array<[number, number]>> - } - - interface IGeoJSONMultiPolygon { - type: 'MultiPolygon' - coordinates: Array<Array<Array<[number, number]>>> - } - - type IGeoJSONObject = - | IGeoJSONPoint - | IGeoJSONMultiPoint - | IGeoJSONLineString - | IGeoJSONMultiLineString - | IGeoJSONPolygon - | IGeoJSONMultiPolygon - - abstract class GeoPoint { - longitude: number - latitude: number - - constructor(longitude: number, latitude: number) - - toJSON(): Record<string, any> - toString(): string - } - - abstract class GeoMultiPoint { - points: GeoPoint[] - - constructor(points: GeoPoint[]) - - toJSON(): IGeoJSONMultiPoint - toString(): string - } - - abstract class GeoLineString { - points: GeoPoint[] - - constructor(points: GeoPoint[]) - - toJSON(): IGeoJSONLineString - toString(): string - } - - abstract class GeoMultiLineString { - lines: GeoLineString[] - - constructor(lines: GeoLineString[]) - - toJSON(): IGeoJSONMultiLineString - toString(): string - } - - abstract class GeoPolygon { - lines: GeoLineString[] - - constructor(lines: GeoLineString[]) - - toJSON(): IGeoJSONPolygon - toString(): string - } - - abstract class GeoMultiPolygon { - polygons: GeoPolygon[] - - constructor(polygons: GeoPolygon[]) - - toJSON(): IGeoJSONMultiPolygon - toString(): string - } - - type GeoInstance = - | GeoPoint - | GeoMultiPoint - | GeoLineString - | GeoMultiLineString - | GeoPolygon - | GeoMultiPolygon - - interface IGeoNearCommandOptions { - geometry: GeoPoint - maxDistance?: number - minDistance?: number - } - - interface IGeoWithinCommandOptions { - geometry: GeoPolygon | GeoMultiPolygon - } - - interface IGeoIntersectsCommandOptions { - geometry: - | GeoPoint - | GeoMultiPoint - | GeoLineString - | GeoMultiLineString - | GeoPolygon - | GeoMultiPolygon - } - - interface IServerDateOptions { - offset: number - } - - abstract class ServerDate { - readonly options: IServerDateOptions - constructor(options?: IServerDateOptions) - } - - interface IRegExpOptions { - regexp: string - options?: string - } - - interface IRegExpConstructor { - new (options: IRegExpOptions): RegExp - (options: IRegExpOptions): RegExp - } - - abstract class RegExp { - readonly regexp: string - readonly options: string - constructor(options: IRegExpOptions) - } - - type DocumentId = string | number - - interface IDocumentData { - _id?: DocumentId - [key: string]: any - } - - type IDBAPIParam = IAPIParam - - interface IAddDocumentOptions extends IDBAPIParam { - data: IDocumentData - } - - type IGetDocumentOptions = IDBAPIParam - - type ICountDocumentOptions = IDBAPIParam - - interface IUpdateDocumentOptions extends IDBAPIParam { - data: IUpdateCondition - } - - interface IUpdateSingleDocumentOptions extends IDBAPIParam { - data: IUpdateCondition - } - - interface ISetDocumentOptions extends IDBAPIParam { - data: IUpdateCondition - } - - interface ISetSingleDocumentOptions extends IDBAPIParam { - data: IUpdateCondition - } - - interface IRemoveDocumentOptions extends IDBAPIParam { - query: IQueryCondition - } - - type IRemoveSingleDocumentOptions = IDBAPIParam - - interface IWatchOptions { - // server realtime data init & change event - onChange: (snapshot: ISnapshot) => void - // error while connecting / listening - onError: (error: any) => void - } - - interface ISnapshot { - id: number - docChanges: ISingleDBEvent[] - docs: Record<string, any> - type?: SnapshotType - } - - type SnapshotType = 'init' - - interface ISingleDBEvent { - id: number - dataType: DataType - queueType: QueueType - docId: string - doc: Record<string, any> - updatedFields?: Record<string, any> - removedFields?: string[] - } - - type DataType = 'init' | 'update' | 'replace' | 'add' | 'remove' | 'limit' - - type QueueType = 'init' | 'enqueue' | 'dequeue' | 'update' - - interface IQueryCondition { - [key: string]: any - } - - type IStringQueryCondition = string - - interface IQueryResult extends IAPISuccessParam { - data: IDocumentData[] - } - - interface IQuerySingleResult extends IAPISuccessParam { - data: IDocumentData - } - - interface IUpdateCondition { - [key: string]: any - } - - type IStringUpdateCondition = string - - interface IAddResult extends IAPISuccessParam { - _id: DocumentId - } - - interface IUpdateResult extends IAPISuccessParam { - stats: { - updated: number - // created: number, - } - } - - interface ISetResult extends IAPISuccessParam { - _id: DocumentId - stats: { - updated: number - created: number - } - } - - interface IRemoveResult extends IAPISuccessParam { - stats: { - removed: number - } - } - - interface ICountResult extends IAPISuccessParam { - total: number - } -} - -type Optional<T> = { [K in keyof T]+?: T[K] } - -type OQ< - T extends Optional< - Record<'complete' | 'success' | 'fail', (...args: any[]) => any> - > -> = - | (RQ<T> & Required<Pick<T, 'success'>>) - | (RQ<T> & Required<Pick<T, 'fail'>>) - | (RQ<T> & Required<Pick<T, 'complete'>>) - | (RQ<T> & Required<Pick<T, 'success' | 'fail'>>) - | (RQ<T> & Required<Pick<T, 'success' | 'complete'>>) - | (RQ<T> & Required<Pick<T, 'fail' | 'complete'>>) - | (RQ<T> & Required<Pick<T, 'fail' | 'complete' | 'success'>>) - -type RQ< - T extends Optional< - Record<'complete' | 'success' | 'fail', (...args: any[]) => any> - > -> = Pick<T, Exclude<keyof T, 'complete' | 'success' | 'fail'>> diff --git a/typings/types/wx/lib.wx.component.d.ts b/typings/types/wx/lib.wx.component.d.ts deleted file mode 100644 index c744fe1..0000000 --- a/typings/types/wx/lib.wx.component.d.ts +++ /dev/null @@ -1,676 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram.Component { - type Instance< - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends Partial<MethodOption>, - TCustomInstanceProperty extends IAnyObject = {}, - TIsPage extends boolean = false - > = InstanceProperties & - InstanceMethods<TData> & - TMethod & - (TIsPage extends true ? Page.ILifetime : {}) & - TCustomInstanceProperty & { - /** 组件数据,**包括内部数据和属性值** */ - data: TData & PropertyOptionToData<TProperty> - /** 组件数据,**包括内部数据和属性值**(与 `data` 一致) */ - properties: TData & PropertyOptionToData<TProperty> - } - type TrivialInstance = Instance< - IAnyObject, - IAnyObject, - IAnyObject, - IAnyObject - > - type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject, IAnyObject> - type Options< - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends MethodOption, - TCustomInstanceProperty extends IAnyObject = {}, - TIsPage extends boolean = false - > = Partial<Data<TData>> & - Partial<Property<TProperty>> & - Partial<Method<TMethod, TIsPage>> & - Partial<OtherOption> & - Partial<Lifetimes> & - ThisType< - Instance< - TData, - TProperty, - TMethod, - TCustomInstanceProperty, - TIsPage - > - > - interface Constructor { - < - TData extends DataOption, - TProperty extends PropertyOption, - TMethod extends MethodOption, - TCustomInstanceProperty extends IAnyObject = {}, - TIsPage extends boolean = false - >( - options: Options< - TData, - TProperty, - TMethod, - TCustomInstanceProperty, - TIsPage - > - ): string - } - type DataOption = Record<string, any> - type PropertyOption = Record<string, AllProperty> - type MethodOption = Record<string, Function> - - interface Data<D extends DataOption> { - /** 组件的内部数据,和 `properties` 一同用于组件的模板渲染 */ - data?: D - } - interface Property<P extends PropertyOption> { - /** 组件的对外属性,是属性名到属性设置的映射表 */ - properties: P - } - interface Method<M extends MethodOption, TIsPage extends boolean = false> { - /** 组件的方法,包括事件响应函数和任意的自定义方法,关于事件响应函数的使用,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) */ - methods: M & (TIsPage extends true ? Partial<Page.ILifetime> : {}) - } - type PropertyType = - | StringConstructor - | NumberConstructor - | BooleanConstructor - | ArrayConstructor - | ObjectConstructor - | null - type ValueType<T extends PropertyType> = T extends null - ? any - : T extends StringConstructor - ? string - : T extends NumberConstructor - ? number - : T extends BooleanConstructor - ? boolean - : T extends ArrayConstructor - ? any[] - : T extends ObjectConstructor - ? IAnyObject - : never - type FullProperty<T extends PropertyType> = { - /** 属性类型 */ - type: T - /** 属性初始值 */ - value?: ValueType<T> - /** 属性值被更改时的响应函数 */ - observer?: - | string - | (( - newVal: ValueType<T>, - oldVal: ValueType<T>, - changedPath: Array<string | number> - ) => void) - /** 属性的类型(可以指定多个) */ - optionalTypes?: ShortProperty[] - } - type AllFullProperty = - | FullProperty<StringConstructor> - | FullProperty<NumberConstructor> - | FullProperty<BooleanConstructor> - | FullProperty<ArrayConstructor> - | FullProperty<ObjectConstructor> - | FullProperty<null> - type ShortProperty = - | StringConstructor - | NumberConstructor - | BooleanConstructor - | ArrayConstructor - | ObjectConstructor - | null - type AllProperty = AllFullProperty | ShortProperty - type PropertyToData<T extends AllProperty> = T extends ShortProperty - ? ValueType<T> - : FullPropertyToData<Exclude<T, ShortProperty>> - type FullPropertyToData<T extends AllFullProperty> = ValueType<T['type']> - // type FullPropertyToData<T extends AllFullProperty> = unknown extends T['value'] ? ValueType<T['type']> : T['value'] - type PropertyOptionToData<P extends PropertyOption> = { - [name in keyof P]: PropertyToData<P[name]> - } - - interface InstanceProperties { - /** 组件的文件路径 */ - is: string - /** 节点id */ - id: string - /** 节点dataset */ - dataset: Record<string, string> - } - - interface InstanceMethods<D extends DataOption> { - /** `setData` 函数用于将数据从逻辑层发送到视图层 - *(异步),同时改变对应的 `this.data` 的值(同步)。 - * - * **注意:** - * - * 1. **直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致**。 - * 1. 仅支持设置可 JSON 化的数据。 - * 1. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。 - * 1. 请不要把 data 中任何一项的 value 设为 `undefined` ,否则这一项将不被设置并可能遗留一些潜在问题。 - */ - setData( - /** 这次要改变的数据 - * - * 以 `key: value` 的形式表示,将 `this.data` 中的 `key` 对应的值改变成 `value`。 - * - * 其中 `key` 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 `array[2].message`,`a.b.c.d`,并且不需要在 this.data 中预先定义。 - */ - data: Partial<D> & IAnyObject, - /** setData引起的界面更新渲染完毕后的回调函数,最低基础库: `1.5.0` */ - callback?: () => void - ): void - - /** 检查组件是否具有 `behavior` (检查时会递归检查被直接或间接引入的所有behavior) */ - hasBehavior(behavior: Behavior.BehaviorIdentifier): void - /** 触发事件,参见组件事件 */ - triggerEvent<DetailType = any>( - name: string, - detail?: DetailType, - options?: TriggerEventOption - ): void - /** 创建一个 SelectorQuery 对象,选择器选取范围为这个组件实例内 */ - createSelectorQuery(): SelectorQuery - /** 创建一个 IntersectionObserver 对象,选择器选取范围为这个组件实例内 */ - createIntersectionObserver( - options: CreateIntersectionObserverOption - ): IntersectionObserver - /** 使用选择器选择组件实例节点,返回匹配到的第一个组件实例对象(会被 `wx://component-export` 影响) */ - selectComponent(selector: string): TrivialInstance - /** 使用选择器选择组件实例节点,返回匹配到的全部组件实例对象组成的数组 */ - selectAllComponents(selector: string): TrivialInstance[] - /** - * 选取当前组件节点所在的组件实例(即组件的引用者),返回它的组件实例对象(会被 `wx://component-export` 影响) - * - * 最低基础库版本:[`2.8.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - selectOwnerComponent(): TrivialInstance - /** 获取这个关系所对应的所有关联节点,参见 组件间关系 */ - getRelationNodes(relationKey: string): TrivialInstance[] - /** - * 立刻执行 callback ,其中的多个 setData 之间不会触发界面绘制(只有某些特殊场景中需要,如用于在不同组件同时 setData 时进行界面绘制同步) - * - * 最低基础库版本:[`2.4.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - groupSetData(callback?: () => void): void - /** - * 返回当前页面的 custom-tab-bar 的组件实例 - * - * 最低基础库版本:[`2.6.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - getTabBar(): TrivialInstance - /** - * 返回页面标识符(一个字符串),可以用来判断几个自定义组件实例是不是在同一个页面内 - * - * 最低基础库版本:[`2.7.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - getPageId(): string - /** - * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) - * - * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - animate( - selector: string, - keyFrames: KeyFrame[], - duration: number, - callback?: () => void - ): void - /** - * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) - * - * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - animate( - selector: string, - keyFrames: ScrollTimelineKeyframe[], - duration: number, - scrollTimeline: ScrollTimelineOption - ): void - /** - * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) - * - * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - clearAnimation(selector: string, callback: () => void): void - /** - * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) - * - * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - **/ - clearAnimation( - selector: string, - options?: ClearAnimationOptions, - callback?: () => void - ): void - /** - * 当从另一页面跳转到该页面时,获得与来源页面实例通信当事件通道,详见 [wx.navigateTo]((wx.navigateTo)) - * - * 最低基础库版本:[`2.7.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - getOpenerEventChannel(): EventChannel - /** - * 获取更新性能统计信息,详见 [获取更新性能统计信息]((custom-component/update-perf-stat)) - * - * - * 最低基础库版本:[`2.12.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - setUpdatePerformanceListener<WithDataPath extends boolean = false>( - options: SetUpdatePerformanceListenerOption<WithDataPath>, - callback?: UpdatePerformanceListener<WithDataPath> - ): void - } - - interface ComponentOptions { - /** - * [启用多slot支持](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件wxml的slot) - */ - multipleSlots?: boolean - /** - * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) - */ - addGlobalClass?: boolean - /** - * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) - */ - styleIsolation?: - | 'isolated' - | 'apply-shared' - | 'shared' - | 'page-isolated' - | 'page-apply-shared' - | 'page-shared' - /** - * [纯数据字段](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/pure-data.html) 是一些不用于界面渲染的 data 字段,可以用于提升页面更新性能。从小程序基础库版本 2.8.2 开始支持。 - */ - pureDataPattern?: RegExp - /** - * [虚拟化组件节点](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E8%99%9A%E6%8B%9F%E5%8C%96%E7%BB%84%E4%BB%B6%E8%8A%82%E7%82%B9) 使自定义组件内部的第一层节点由自定义组件本身完全决定。从小程序基础库版本 [`2.11.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持 */ - virtualHost?: boolean - } - - interface TriggerEventOption { - /** 事件是否冒泡 - * - * 默认值: `false` - */ - bubbles?: boolean - /** 事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部 - * - * 默认值: `false` - */ - composed?: boolean - /** 事件是否拥有捕获阶段 - * - * 默认值: `false` - */ - capturePhase?: boolean - } - - interface RelationOption { - /** 目标组件的相对关系 */ - type: 'parent' | 'child' | 'ancestor' | 'descendant' - /** 关系生命周期函数,当关系被建立在页面节点树中时触发,触发时机在组件attached生命周期之后 */ - linked?(target: TrivialInstance): void - /** 关系生命周期函数,当关系在页面节点树中发生改变时触发,触发时机在组件moved生命周期之后 */ - linkChanged?(target: TrivialInstance): void - /** 关系生命周期函数,当关系脱离页面节点树时触发,触发时机在组件detached生命周期之后 */ - unlinked?(target: TrivialInstance): void - /** 如果这一项被设置,则它表示关联的目标节点所应具有的behavior,所有拥有这一behavior的组件节点都会被关联 */ - target?: string - } - - interface PageLifetimes { - /** 页面生命周期回调—监听页面显示 - * - * 页面显示/切入前台时触发。 - */ - show(): void - /** 页面生命周期回调—监听页面隐藏 - * - * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 - */ - hide(): void - /** 页面生命周期回调—监听页面尺寸变化 - * - * 所在页面尺寸变化时执行 - */ - resize(size: Page.IResizeOption): void - } - - type DefinitionFilter = <T extends TrivialOption>( - /** 使用该 behavior 的 component/behavior 的定义对象 */ - defFields: T, - /** 该 behavior 所使用的 behavior 的 definitionFilter 函数列表 */ - definitionFilterArr?: DefinitionFilter[] - ) => void - - interface Lifetimes { - /** 组件生命周期声明对象,组件的生命周期:`created`、`attached`、`ready`、`moved`、`detached` 将收归到 `lifetimes` 字段内进行声明,原有声明方式仍旧有效,如同时存在两种声明方式,则 `lifetimes` 字段内声明方式优先级最高 - * - * 最低基础库: `2.2.3` */ - lifetimes: Partial<{ - /** - * 在组件实例刚刚被创建时执行,注意此时不能调用 `setData` - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - created(): void - /** - * 在组件实例进入页面节点树时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - attached(): void - /** - * 在组件在视图层布局完成后执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - ready(): void - /** - * 在组件实例被移动到节点树另一个位置时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - moved(): void - /** - * 在组件实例被从页面节点树移除时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - detached(): void - /** - * 每当组件方法抛出错误时执行 - * - * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - error(err: Error): void - }> - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 在组件实例刚刚被创建时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - created(): void - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 在组件实例进入页面节点树时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - attached(): void - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 在组件在视图层布局完成后执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - ready(): void - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 在组件实例被移动到节点树另一个位置时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - moved(): void - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 在组件实例被从页面节点树移除时执行 - * - * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - detached(): void - /** - * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 - * - * 每当组件方法抛出错误时执行 - * - * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - error(err: Error): void - } - - interface OtherOption { - /** 类似于mixins和traits的组件间代码复用机制,参见 [behaviors](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/behaviors.html) */ - behaviors: Behavior.BehaviorIdentifier[] - /** - * 组件数据字段监听器,用于监听 properties 和 data 的变化,参见 [数据监听器](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html) - * - * 最低基础库版本:[`2.6.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) - */ - observers: Record<string, (...args: any[]) => any> - /** 组件间关系定义,参见 [组件间关系](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) */ - relations: { - [componentName: string]: RelationOption - } - /** 组件接受的外部样式类,参见 [外部样式类](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) */ - externalClasses?: string[] - /** 组件所在页面的生命周期声明对象,参见 [组件生命周期](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) - * - * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ - pageLifetimes?: Partial<PageLifetimes> - /** 一些选项(文档中介绍相关特性时会涉及具体的选项设置,这里暂不列举) */ - options: ComponentOptions - - /** 定义段过滤器,用于自定义组件扩展,参见 [自定义组件扩展](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/extend.html) - * - * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ - definitionFilter?: DefinitionFilter - /** - * 组件自定义导出,当使用 `behavior: wx://component-export` 时,这个定义段可以用于指定组件被 selectComponent 调用时的返回值,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) - * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ - export: () => IAnyObject - } - - interface KeyFrame { - /** 关键帧的偏移,范围[0-1] */ - offset?: number - /** 动画缓动函数 */ - ease?: string - /** 基点位置,即 CSS transform-origin */ - transformOrigin?: string - /** 背景颜色,即 CSS background-color */ - backgroundColor?: string - /** 底边位置,即 CSS bottom */ - bottom?: number | string - /** 高度,即 CSS height */ - height?: number | string - /** 左边位置,即 CSS left */ - left?: number | string - /** 宽度,即 CSS width */ - width?: number | string - /** 不透明度,即 CSS opacity */ - opacity?: number | string - /** 右边位置,即 CSS right */ - right?: number | string - /** 顶边位置,即 CSS top */ - top?: number | string - /** 变换矩阵,即 CSS transform matrix */ - matrix?: number[] - /** 三维变换矩阵,即 CSS transform matrix3d */ - matrix3d?: number[] - /** 旋转,即 CSS transform rotate */ - rotate?: number - /** 三维旋转,即 CSS transform rotate3d */ - rotate3d?: number[] - /** X 方向旋转,即 CSS transform rotateX */ - rotateX?: number - /** Y 方向旋转,即 CSS transform rotateY */ - rotateY?: number - /** Z 方向旋转,即 CSS transform rotateZ */ - rotateZ?: number - /** 缩放,即 CSS transform scale */ - scale?: number[] - /** 三维缩放,即 CSS transform scale3d */ - scale3d?: number[] - /** X 方向缩放,即 CSS transform scaleX */ - scaleX?: number - /** Y 方向缩放,即 CSS transform scaleY */ - scaleY?: number - /** Z 方向缩放,即 CSS transform scaleZ */ - scaleZ?: number - /** 倾斜,即 CSS transform skew */ - skew?: number[] - /** X 方向倾斜,即 CSS transform skewX */ - skewX?: number - /** Y 方向倾斜,即 CSS transform skewY */ - skewY?: number - /** 位移,即 CSS transform translate */ - translate?: Array<number | string> - /** 三维位移,即 CSS transform translate3d */ - translate3d?: Array<number | string> - /** X 方向位移,即 CSS transform translateX */ - translateX?: number | string - /** Y 方向位移,即 CSS transform translateY */ - translateY?: number | string - /** Z 方向位移,即 CSS transform translateZ */ - translateZ?: number | string - } - interface ClearAnimationOptions { - /** 基点位置,即 CSS transform-origin */ - transformOrigin?: boolean - /** 背景颜色,即 CSS background-color */ - backgroundColor?: boolean - /** 底边位置,即 CSS bottom */ - bottom?: boolean - /** 高度,即 CSS height */ - height?: boolean - /** 左边位置,即 CSS left */ - left?: boolean - /** 宽度,即 CSS width */ - width?: boolean - /** 不透明度,即 CSS opacity */ - opacity?: boolean - /** 右边位置,即 CSS right */ - right?: boolean - /** 顶边位置,即 CSS top */ - top?: boolean - /** 变换矩阵,即 CSS transform matrix */ - matrix?: boolean - /** 三维变换矩阵,即 CSS transform matrix3d */ - matrix3d?: boolean - /** 旋转,即 CSS transform rotate */ - rotate?: boolean - /** 三维旋转,即 CSS transform rotate3d */ - rotate3d?: boolean - /** X 方向旋转,即 CSS transform rotateX */ - rotateX?: boolean - /** Y 方向旋转,即 CSS transform rotateY */ - rotateY?: boolean - /** Z 方向旋转,即 CSS transform rotateZ */ - rotateZ?: boolean - /** 缩放,即 CSS transform scale */ - scale?: boolean - /** 三维缩放,即 CSS transform scale3d */ - scale3d?: boolean - /** X 方向缩放,即 CSS transform scaleX */ - scaleX?: boolean - /** Y 方向缩放,即 CSS transform scaleY */ - scaleY?: boolean - /** Z 方向缩放,即 CSS transform scaleZ */ - scaleZ?: boolean - /** 倾斜,即 CSS transform skew */ - skew?: boolean - /** X 方向倾斜,即 CSS transform skewX */ - skewX?: boolean - /** Y 方向倾斜,即 CSS transform skewY */ - skewY?: boolean - /** 位移,即 CSS transform translate */ - translate?: boolean - /** 三维位移,即 CSS transform translate3d */ - translate3d?: boolean - /** X 方向位移,即 CSS transform translateX */ - translateX?: boolean - /** Y 方向位移,即 CSS transform translateY */ - translateY?: boolean - /** Z 方向位移,即 CSS transform translateZ */ - translateZ?: boolean - } - interface ScrollTimelineKeyframe { - composite?: 'replace' | 'add' | 'accumulate' | 'auto' - easing?: string - offset?: number | null - [property: string]: string | number | null | undefined - } - interface ScrollTimelineOption { - /** 指定滚动元素的选择器(只支持 scroll-view),该元素滚动时会驱动动画的进度 */ - scrollSource: string - /** 指定滚动的方向。有效值为 horizontal 或 vertical */ - orientation?: string - /** 指定开始驱动动画进度的滚动偏移量,单位 px */ - startScrollOffset: number - /** 指定停止驱动动画进度的滚动偏移量,单位 px */ - endScrollOffset: number - /** 起始和结束的滚动范围映射的时间长度,该时间可用于与关键帧动画里的时间 (duration) 相匹配,单位 ms */ - timeRange: number - } - - interface SetUpdatePerformanceListenerOption<WithDataPath> { - /** 是否返回变更的 data 字段信息 */ - withDataPaths?: WithDataPath - } - interface UpdatePerformanceListener<WithDataPath> { - (res: UpdatePerformance<WithDataPath>): void - } - interface UpdatePerformance<WithDataPath> { - /** 此次更新过程的 ID */ - updateProcessId: number - /** 对于子更新,返回它所属的更新过程 ID */ - parentUpdateProcessId?: number - /** 是否是被合并更新,如果是,则 updateProcessId 表示被合并到的更新过程 ID */ - isMergedUpdate: boolean - /** 此次更新的 data 字段信息,只有 withDataPaths 设为 true 时才会返回 */ - dataPaths: WithDataPath extends true ? string[] : undefined - /** 此次更新进入等待队列时的时间戳 */ - pendingStartTimestamp: number - /** 更新运算开始时的时间戳 */ - updateStartTimestamp: number - /** 更新运算结束时的时间戳 */ - updateEndTimestamp: number - } -} -/** Component构造器可用于定义组件,调用Component构造器时可以指定组件的属性、数据、方法等。 - * - * * 使用 `this.data` 可以获取内部数据和属性值,但不要直接修改它们,应使用 `setData` 修改。 - * * 生命周期函数无法在组件方法中通过 `this` 访问到。 - * * 属性名应避免以 data 开头,即不要命名成 `dataXyz` 这样的形式,因为在 WXML 中, `data-xyz=""` 会被作为节点 dataset 来处理,而不是组件属性。 - * * 在一个组件的定义和使用时,组件的属性名和 data 字段相互间都不能冲突(尽管它们位于不同的定义段中)。 - * * 从基础库 `2.0.9` 开始,对象类型的属性和 data 字段中可以包含函数类型的子字段,即可以通过对象类型的属性字段来传递函数。低于这一版本的基础库不支持这一特性。 - * * `bug` : 对于 type 为 Object 或 Array 的属性,如果通过该组件自身的 `this.setData` 来改变属性值的一个子字段,则依旧会触发属性 observer ,且 observer 接收到的 `newVal` 是变化的那个子字段的值, `oldVal` 为空, `changedPath` 包含子字段的字段名相关信息。 - */ -declare let Component: WechatMiniprogram.Component.Constructor diff --git a/typings/types/wx/lib.wx.event.d.ts b/typings/types/wx/lib.wx.event.d.ts deleted file mode 100644 index 08edd87..0000000 --- a/typings/types/wx/lib.wx.event.d.ts +++ /dev/null @@ -1,1435 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram { - interface Target<DataSet extends IAnyObject = IAnyObject> { - /** 事件组件的 id */ - id: string - /** 当前组件的类型 */ - tagName?: string - /** 事件组件上由 `data-` 开头的自定义属性组成的集合 */ - dataset: DataSet - /** 距离页面顶部的偏移量 */ - offsetTop: number - /** 距离页面左边的偏移量 */ - offsetLeft: number - } - - /** 基础事件参数 */ - interface BaseEvent< - Mark extends IAnyObject = IAnyObject, - CurrentTargetDataset extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = CurrentTargetDataset - > { - /** 事件类型 */ - type: string - /** 页面打开到触发事件所经过的毫秒数 */ - timeStamp: number - /** 事件冒泡路径上所有由 `mark:` 开头的自定义属性组成的集合 */ - mark?: Mark - /** 触发事件的源组件 */ - target: Target<TargetDataset> - /** 事件绑定的当前组件 */ - currentTarget: Target<CurrentTargetDataset> - } - - /** 自定义事件 */ - interface CustomEvent< - Detail extends IAnyObject = IAnyObject, - Mark extends IAnyObject = IAnyObject, - CurrentTargetDataset extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = CurrentTargetDataset - > extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> { - /** 额外的信息 */ - detail: Detail - } - - /** Touch 对象 */ - interface TouchDetail { - /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,横向为 X 轴 */ - clientX: number - /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,纵向为 Y 轴 */ - clientY: number - /** 触摸点的标识符 */ - identifier: number - /** 距离文档左上角的距离,文档的左上角为原点,横向为 X 轴 */ - pageX: number - /** 距离文档左上角的距离,文档的左上角为原点,纵向为 Y 轴 */ - pageY: number - } - - /** canvas Touch 对象 */ - interface TouchCanvasDetail { - /** 触摸点的标识符 */ - identifier: number - /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴 */ - x: number - /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 纵向为Y轴 */ - y: number - } - - /** 触摸事件 */ - interface Touch< - Detail extends IAnyObject = IAnyObject, - T extends TouchDetail | TouchCanvasDetail = TouchDetail, - Mark extends IAnyObject = IAnyObject, - CurrentTargetDataset extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = CurrentTargetDataset - > extends CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset> { - /** 触摸事件,当前停留在屏幕中的触摸点信息的数组 */ - touches: T[] - /** 触摸事件,当前变化的触摸点信息的数组 */ - changedTouches: T[] - } - - /** 触摸事件响应 */ - type TouchEvent< - Detail extends IAnyObject = IAnyObject, - Mark extends IAnyObject = IAnyObject, - CurrentTargetDataset extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = CurrentTargetDataset - > = Touch<Detail, TouchDetail, Mark, CurrentTargetDataset, TargetDataset> - - /** canvas 触摸事件响应 */ - interface TouchCanvas< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > extends Touch<never, TouchCanvasDetail, Mark, never, TargetDataset> { - // canvas 中的触摸事件不可冒泡,所以没有 currentTarget。 - currentTarget: never - } - - /** - * 图片加载成功时触发 - * - * 最低基础库: 2.1.0 - */ - type CoverImageLoad< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 图片宽度 */ - width: number - /** 图片高度 */ - height: number - }, - Mark, - TargetDataset - > - - /** - * 图片加载失败时触发 - * - * 最低基础库: 2.1.0 - */ - type CoverImageError = CustomEvent<GeneralCallbackResult> - - /** - * 拖动过程中触发的事件,event.detail = {x, y, source} - * - * 最低基础库: 1.9.90 - */ - type MovableViewChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - x: number - y: number - /** - * 产生移动的原因 - * - * - `touch` 拖动 - * - `touch-out-of-bounds` 超出移动范围 - * - `out-of-bounds` 超出移动范围后的回弹 - * - `friction` 惯性 - * - `空字符串` setData - */ - source: - | 'touch' - | 'touch-out-of-bounds' - | 'out-of-bounds' - | 'friction' - | '' - }, - Mark, - TargetDataset - > - - /** - * 缩放过程中触发的事件 - * - * event.detail = {x, y, scale} - * - * x 和 y 字段在 2.1.0 之后支持 - * - * 最低基础库: 1.9.90 - */ - type MovableViewScale< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 最低基础库: 2.1.0 */ - x: number - /** 最低基础库: 2.1.0 */ - y: number - scale: number - }, - Mark, - TargetDataset - > - - /** - * 滑动开始事件 (同时开启 enhanced 属性后生效) - * - * detail { scrollTop, scrollLeft } - * - * 最低基础库: 2.12.0 - */ - type ScrollViewDragStart< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - scrollTop: number - scrollLeft: number - }, - Mark, - TargetDataset - > - - /** - * 滑动事件 (同时开启 enhanced 属性后生效) - * - * detail { scrollTop, scrollLeft } - * - * 最低基础库: 2.12.0 - */ - type ScrollViewDragging< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - scrollTop: number - scrollLeft: number - }, - Mark, - TargetDataset - > - - /** - * 滑动结束事件 (同时开启 enhanced 属性后生效) - * - * detail { scrollTop, scrollLeft } - * - * 最低基础库: 2.12.0 - */ - type ScrollViewDragEnd< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - scrollTop: number - scrollLeft: number - }, - Mark, - TargetDataset - > - - /** 滚动到顶部/左边时触发 */ - type ScrollViewScrollToUpper< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - direction: 'top' | 'left' - }, - Mark, - TargetDataset - > - - /** 滚动到底部/右边时触发 */ - type ScrollViewScrollToLower< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - direction: 'bottom' | 'right' - }, - Mark, - TargetDataset - > - - /** - * 滚动时触发 - * - * event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} - */ - type ScrollViewScroll< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - scrollLeft: number - scrollTop: number - scrollHeight: number - scrollWidth: number - deltaX: number - deltaY: number - }, - Mark, - TargetDataset - > - - type ScrollViewRefresherPulling< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - type ScrollViewRefresherRefresh< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - type ScrollViewRefresherRestore< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - type ScrollViewRefresherAbort< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - /** - * current 改变时会触发 change 事件 - * - * event.detail = {current, source} - * - * **Tip**: 如果在 bindchange 的事件回调函数中使用 setData 改变 current 值,则有可能导致 setData 被不停地调用,因而通常情况下请在改变 current 值前检测 source 字段来判断是否是由于用户触摸引起。 - */ - type SwiperChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - current: number - /** - * 表示导致变更的原因 - * - * - `autoplay` 自动播放导致 swiper 变化; - * - `touch` 用户划动引起 swiper 变化; - * - 其它原因将用空字符串表示。 - * - * 最低基础库: 1.4.0 - */ - source: '' | 'autoplay' | 'touch' - /** 该 swiper-item 的标识符 */ - currentItemId: string - }, - Mark, - TargetDataset - > - - /** - * swiper-item 的位置发生改变时会触发 transition 事件 - * - * event.detail = {dx: dx, dy: dy} - * - * 最低基础库: 2.4.3 - */ - type SwiperTransition< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - dx: number - dy: number - }, - Mark, - TargetDataset - > - - /** - * 动画结束时会触发 animationfinish 事件 - * - * 最低基础库: 1.9.0 - */ - type SwiperAnimationFinish< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = SwiperChange<Mark, TargetDataset> - - /** - * progress 动画完成事件 - * - * 最低基础库 2.4.1 - */ - type ProgressActiveEnd< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - curPercent: number - }, - Mark, - TargetDataset - > - - /** - * 用户点击该按钮时,会返回获取到的用户信息,回调的 detail 数据与 `wx. getUserInfo` 返回的一致,`open-type="getUserInfo"` 时有效 - * - * 最低基础库: 1.3.0 - */ - type ButtonGetUserInfo = CustomEvent< - GeneralCallbackResult & GetUserInfoSuccessCallbackResult - > - - /** - * 客服消息回调,`open-type="contact"` 时有效 - * - * 最低基础库: 1.5.0 - */ - type ButtonContact = CustomEvent<GeneralCallbackResult> - - /** - * 获取用户手机号回调,`open-type=getPhoneNumber` 时有效 - * - * 最低基础库: 1.2.0 - */ - type ButtonGetPhoneNumber = CustomEvent< - GeneralCallbackResult & Partial<GetWeRunDataSuccessCallbackResult> - > - - /** - * 当使用开放能力时,发生错误的回调,`open-type=launchApp` 时有效 - * - * 最低基础库: 1.9.5 - */ - type ButtonError = CustomEvent<GeneralCallbackResult> - - /** - * 在打开授权设置页后回调,`open-type=openSetting` 时有效 - * - * 最低基础库: 2.0.7 - */ - type ButtonOpenSetting = CustomEvent< - GeneralCallbackResult & OpenSettingSuccessCallbackResult - > - - /** - * 打开 APP 成功的回调,`open-type=launchApp` 时有效 - * - * 最低基础库: 2.4.4 - */ - type ButtonLaunchApp = CustomEvent<GeneralCallbackResult> - - /** - * checkbox-group 中选中项发生改变时触发 change 事件 - * - * detail = { value: ['选中的checkbox 的 value 的数组'] } - */ - type CheckboxGroupChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 选中的 checkbox 的 value 的数组 */ - value: string[] - }, - Mark, - TargetDataset - > - - /** - * 编辑器初始化完成时触发 - * - * 最低基础库: 2.7.0 - */ - type EditorReady< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - /** - * 编辑器聚焦时触发 - * - * event.detail = {html, text, delta} - * - * 最低基础库: 2.7.0 - */ - type EditorFocus< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - html: string - text: string - // eslint-disable-next-line @typescript-eslint/no-explicit-any - delta: any[] - }, - Mark, - TargetDataset - > - - /** - * 编辑器失去焦点时触发 - * - * detail = {html, text, delta} - * - * 最低基础库: 2.7.0 - */ - type EditorBlur< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = EditorFocus<Mark, TargetDataset> - - /** - * 编辑器内容改变时触发 - * - * detail = {html, text, delta} - * - * 最低基础库: 2.7.0 - */ - type EditorInput< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = EditorFocus<Mark, TargetDataset> - - /** - * 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 - * - * 最低基础库: 2.7.0 - */ - type EditorStatusChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - Partial<{ - align: 'left' | 'center' | 'right' | 'justify' - bold: 'strong' - italic: 'em' - underline: true - strike: 'del' - lineHeight: string - letterSpacing: string - marginTop: string - marginBottom: string - fontFamily: string - fontSize: string - color: string - backgroundColor: string - list: 'checked' | 'unchecked' | 'ordered' | 'bullet' - indent: number - header: number - script: 'sub' | 'super' - direction: 'rtl' - }>, - Mark, - TargetDataset - > - - /** - * 携带 form 中的数据触发 submit 事件 - * - * event.detail = {value : {'name': 'value'} , formId: ''} - */ - type FormSubmit< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - formId?: unknown - target: Target - /** 表单中的数据,需要在表单组件中加上 name 来作为 key。 */ - value: IAnyObject - }, - Mark, - TargetDataset - > - - /** 表单重置时会触发 reset 事件 */ - type FormReset< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - target: Target - }, - Mark, - TargetDataset - > - - /** 键盘输入时触发 - * - * event.detail = {value, cursor, keyCode} - * - * 处理函数可以直接 return 一个字符串,将替换输入框的内容。 - */ - type Input< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 输入框内容 */ - value: string - /** 光标位置 */ - cursor: number - /** keyCode 为键值 (目前工具还不支持返回keyCode参数) `2.1.0` 起支持 */ - keyCode?: number - }, - Mark, - TargetDataset - > - - /** - * 输入框聚焦时触发 - * - * event.detail = { value, height } - */ - type InputFocus< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 输入框内容 */ - value: string - /** 键盘高度, 在基础库 `1.9.90` 起支持 */ - height: number - }, - Mark, - TargetDataset - > - - /** - * 输入框失去焦点时触发 - * - * event.detail = {value: value} - */ - type InputBlur< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 输入框内容 */ - value: string - }, - Mark, - TargetDataset - > - - /** - * 点击完成按钮时触发 - * - * event.detail = {value: value} - */ - type InputConfirm< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 输入框内容 */ - value: string - }, - Mark, - TargetDataset - > - - /** - * 键盘高度发生变化的时候触发此事件 - * - * event.detail = {height: height, duration: duration} - * - * **tip**: 键盘高度发生变化,keyboardheightchange 事件可能会多次触发,开发者对于相同的 height 值应该忽略掉 - * - * 最低基础库: `2.7.0` - */ - type InputKeyboardHeightChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 键盘高度 */ - height: number - duration: number - }, - Mark, - TargetDataset - > - - /** - * 取消选择时触发 - * - * 最低基础库: 1.9.90 - */ - type PickerCancel< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - /** - * value 改变时触发 change 事件 - * - * event.detail = {value} - * - * 当 mode = region 时 (最低基础库: 1.4.0) - * - * value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码 - */ - type PickerChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** - * 当 mode = selector 时, 返回当前选择的 value - * - * 当 mode = multiSelector 时, 返回一个索引数组 - * - * 当 mode = time | date 时, 返回 `"12:01"` | `"2016-09-01"` - * - * 当 mode = region 时, 返回 `["广东省", "广州市", "海珠区"]` - */ - value: string | number[] | [string, string, string] - /** 统计用区划代码 当 mode = region 时有效 (最低基础库: 1.4.0) */ - code: [string, string, string] - /** 邮政编码 当 mode = region 时有效 (最低基础库: 1.4.0) */ - postcode: string - }, - Mark, - TargetDataset - > - - /** 列改变时触发 当 `mode = multiSelector` 时有效 */ - type PickerColumnChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 修改的列 */ - column: number - value: number - }, - Mark, - TargetDataset - > - - /** - * 滚动选择时触发 change 事件 - * - * event.detail = {value} - */ - type PickerViewChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** value 为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项 (下标从 0 开始) */ - value: number[] - }, - Mark, - TargetDataset - > - - /** - * 当滚动选择开始时候触发事件 - * - * 最低基础库: 2.3.1 - */ - type PickerViewPickStart< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - /** - * 当滚动选择结束时候触发事件 - * - * 最低基础库: 2.3.1 - */ - type PickerViewPickEnd< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent<never, Mark, TargetDataset> - - /** radio-group 切换事件 */ - type RadioGroupChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - /** radio-group 中选中项的 value */ - { - value: string - }, - Mark, - TargetDataset - > - - /** - * 完成一次拖动后触发的事件 - * - * event.detail = {value} - */ - type SliderChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** slider 的数值 0 - 100 */ - value: number - }, - Mark, - TargetDataset - > - - /** - * 拖动过程中触发的事件 - * - * event.detail = {value} - * - * 最低基础库: 1.7.0 - */ - type SliderChanging< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = SliderChange<Mark, TargetDataset> - - /** - * checked 改变时触发 change 事件 - * - * event.detail={ value} - */ - type SwitchChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - value: boolean - }, - Mark, - TargetDataset - > - - /** - * 输入框聚焦时触发 - * - * event.detail = { value, height },height 为键盘高度 - * - * 在基础库 1.9.90 起支持 - */ - type TextareaFocus< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = InputFocus<Mark, TargetDataset> - - /** - * 输入框失去焦点时触发 - * - * event.detail = {value, cursor} - * - * **tip**: textarea 的 blur 事件会晚于页面上的 tap 事件,如果需要在 button 的点击事件获取 textarea,可以使用 form 的 bindsubmit。 - */ - type TextareaBlur< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = InputBlur<Mark, TargetDataset> - - /** - * 输入框行数变化时调用 - * - * event.detail = {height: 0, heightRpx: 0, lineCount: 0} - */ - type TextareaLineChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = CustomEvent< - { - /** 输入框高度(px) */ - height: number - /** 输入框高度(rpx) */ - heightRpx: number - /** 行数 */ - lineCount: number - /** 行高 */ - lineHeight: number - }, - Mark, - TargetDataset - > - - /** - * 当键盘输入时,触发 input 事件 - * - * event.detail = {value, cursor, keyCode} - * - * keyCode 为键值,目前工具还不支持返回 keyCode 参数。 - * - * **tip**: 不建议在多行文本上对用户的输入进行修改,所以 **bindinput 处理函数的返回值并不会反映到 textarea 上** - */ - type TextareaInput< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = Input<Mark, TargetDataset> - - /** - * 点击完成时, 触发 confirm 事件 - * - * event.detail = {value: value} - */ - type TextareaConfirm< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = InputConfirm<Mark, TargetDataset> - - /** - * 键盘高度发生变化的时候触发此事件 - * - * event.detail = {height: height, duration: duration} - * - * **tip**: 键盘高度发生变化,keyboardheightchange事件可能会多次触发,开发者对于相同的height值应该忽略掉 - * - * 最低基础库: 2.7.0 - */ - type TextareaKeyboardHeightChange< - Mark extends IAnyObject = IAnyObject, - TargetDataset extends IAnyObject = IAnyObject - > = InputKeyboardHeightChange<Mark, TargetDataset> - - /** - * 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 - * - * 最低基础库: 2.1.0 - */ - type FunctionalNavigatorSuccess< - Detail extends IAnyObject = IAnyObject - > = CustomEvent<Detail, never, never> - - /** - * 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 - * - * 最低基础库: 2.1.0 - */ - type FunctionalNavigatorFail< - Detail extends IAnyObject = IAnyObject - > = CustomEvent<Detail, never, never> - - /** - * 当 `target="miniProgram"` 时有效,跳转小程序成功 - * - * 最低基础库: 2.0.7 - */ - type NavigatorSuccess = CustomEvent - /** - * 当 `target="miniProgram"` 时有效,跳转小程序失败 - * - * `tips`: 需要用户确认跳转 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。 - * - * 最低基础库: 2.0.7 - */ - type NavigatorFail = CustomEvent - /** - * 当 `target="miniProgram"` 时有效,跳转小程序完成 - * - * 最低基础库: 2.0.7 - */ - type NavigatorComplete = CustomEvent - - /** - * 当发生错误时触发 error 事件 - * - * detail = {errMsg:MediaError.code} - */ - type AudioError = CustomEvent<{ - /** - * MediaError.code - * - * - 1 获取资源被用户禁止 - * - 2 网络错误 - * - 3 解码错误 - * - 4 不合适资源 - */ - errMsg: 1 | 2 | 3 | 4 - }> - - /** 当开始/继续播放时触发play事件 */ - type AudioPlay = CustomEvent - - /** 当暂停播放时触发 pause 事件 */ - type AudioPause = CustomEvent - - /** - * 当播放进度改变时触发 timeupdate 事件 - * - * detail = {currentTime, duration} - */ - type AudioTimeUpdate = CustomEvent<{ - currentTime: number - duration: number - }> - - /** 当播放到末尾时触发 ended 事件 */ - type AudioEnded = CustomEvent - - /** 摄像头在非正常终止时触发,如退出后台等情况 */ - type CameraStop = CustomEvent - - /** 用户不允许使用摄像头时触发 */ - type CameraError = CustomEvent - - /** - * 相机初始化完成时触发 - * - * 最低基础库: 2.7.0 - */ - type CameraInitDone = CustomEvent - - /** - * 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 - * - * 最低基础库: 2.1.0 - */ - type CameraScanCode = CustomEvent - - /** 当错误发生时触发,event.detail = {errMsg} */ - type ImageError = CoverImageError - /** 当图片载入完毕时触发,event.detail = {height, width} */ - type ImageLoad = CoverImageLoad - - /** - * 播放状态变化事件,detail = {code} - * - * 最低基础库 1.7.0 - */ - type LivePlayerStateChange = CustomEvent<{ - /** - * 状态码 - * - * - `2001` 已经连接服务器 - * - `2002` 已经连接服务器,开始拉流 - * - `2003` 网络接收到首个视频数据包(IDR) - * - `2004` 视频播放开始 - * - `2005` 视频播放进度 - * - `2006` 视频播放结束 - * - `2007` 视频播放Loading - * - `2008` 解码器启动 - * - `2009` 视频分辨率改变 - * - `-2301` 网络断连,且经多次重连抢救无效,更多重试请自行重启播放 - * - `-2302` 获取加速拉流地址失败 - * - `2101` 当前视频帧解码失败 - * - `2102` 当前音频帧解码失败 - * - `2103` 网络断连, 已启动自动重连 - * - `2104` 网络来包不稳: 可能是下行带宽不足,或由于主播端出流不均匀 - * - `2105` 当前视频播放出现卡顿 - * - `2106` 硬解启动失败,采用软解 - * - `2107` 当前视频帧不连续,可能丢帧 - * - `2108` 当前流硬解第一个I帧失败,SDK自动切软解 - * - `3001` RTMP -DNS解析失败 - * - `3002` RTMP服务器连接失败 - * - `3003` RTMP服务器握手失败 - * - `3005` RTMP 读/写失败 - */ - code: number - }> - - /** - * 全屏变化事件,detail = {direction, fullScreen} - * - * 最低基础库 1.7.0 - */ - type LivePlayerFullScreenChange = CustomEvent<{ - direction: 'vertical' | 'horizontal' - fullScreen: boolean - }> - - /** - * 网络状态通知,detail = {info} - * - * 最低基础库 1.9.0 - */ - type LivePlayerNetStatus = CustomEvent<{ - /** - * 网络状态数据 - * - * - * - `videoBitrate` 当前视频编/码器输出的比特率,单位 kbps - * - `audioBitrate` 当前音频编/码器输出的比特率,单位 kbps - * - `videoFPS` 当前视频帧率 - * - `videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s - * - `netSpeed` 当前的发送/接收速度 - * - `netJitter` 网络抖动情况,抖动越大,网络越不稳定 - * - `videoWidth` 视频画面的宽度 - * - `videoHeight` 视频画面的高度 - */ - info: - | 'videoBitrate' - | 'audioBitrate' - | 'videoFPS' - | 'videoGOP' - | 'netSpeed' - | 'netJitter' - | 'videoWidth' - | 'videoHeight' - }> - - /** - * 状态变化事件,detail = {code} - * - * 最低基础库: 1.7.0 - */ - type LivePusherStateChange = CustomEvent<{ - /** - * 状态码 - * - * - `1001` 已经连接推流服务器 - * - `1002` 已经与服务器握手完毕,开始推流 - * - `1003` 打开摄像头成功 - * - `1004` 录屏启动成功 - * - `1005` 推流动态调整分辨率 - * - `1006` 推流动态调整码率 - * - `1007` 首帧画面采集完成 - * - `1008` 编码器启动 - * - `-1301` 打开摄像头失败 - * - `-1302` 打开麦克风失败 - * - `-1303` 视频编码失败 - * - `-1304` 音频编码失败 - * - `-1305` 不支持的视频分辨率 - * - `-1306` 不支持的音频采样率 - * - `-1307` 网络断连,且经多次重连抢救无效,更多重试请自行重启推流 - * - `-1308` 开始录屏失败,可能是被用户拒绝 - * - `-1309` 录屏失败,不支持的Android系统版本,需要5.0以上的系统 - * - `-1310` 录屏被其他应用打断了 - * - `-1311` Android Mic打开成功,但是录不到音频数据 - * - `-1312` 录屏动态切横竖屏失败 - * - `1101` 网络状况不佳: 上行带宽太小,上传数据受阻 - * - `1102` 网络断连, 已启动自动重连 - * - `1103` 硬编码启动失败,采用软编码 - * - `1104` 视频编码失败 - * - `1105` 新美颜软编码启动失败,采用老的软编码 - * - `1106` 新美颜软编码启动失败,采用老的软编码 - * - `3001` RTMP -DNS解析失败 - * - `3002` RTMP服务器连接失败 - * - `3003` RTMP服务器握手失败 - * - `3004` RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期 - * - `3005` RTMP 读/写失败 - */ - code: number - }> - - /** - * 网络状态通知,detail = {info} - * - * 最低基础库: 1.9.0 - */ - type LivePusherNetStatus = CustomEvent<{ - /** - * 网络状态数据 - * - * -`videoBitrate` 当前视频编/码器输出的比特率,单位 kbps - * -`audioBitrate` 当前音频编/码器输出的比特率,单位 kbps - * -`videoFPS` 当前视频帧率 - * -`videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s - * -`netSpeed` 当前的发送/接收速度 - * -`netJitter` 网络抖动情况,抖动越大,网络越不稳定 - * -`videoWidth` 视频画面的宽度 - * -`videoHeight` 视频画面的高度 - */ - info: - | 'videoBitrate' - | 'audioBitrate' - | 'videoFPS' - | 'videoGOP' - | 'netSpeed' - | 'netJitter' - | 'videoWidth' - | 'videoHeight' - }> - - /** - * 渲染错误事件,detail = {errMsg, errCode} - * - * `tip`: 开发者工具上暂不支持 live-pusher - * - * 最低基础库: 1.7.4 - */ - type LivePusherError = CustomEvent<{ - errMsg: string - /** - * 错误码 - * - * - `10001` 用户禁止使用摄像头 - * - `10002` 用户禁止使用录音 - * - `10003` 背景音资源 (BGM) 加载失败 - * - `10004` 等待画面资源 (waiting-image) 加载失败 - */ - errCode: number - }> - - /** - * 背景音开始播放时触发 - * - * 最低基础库: 2.4.0 - */ - type LivePusherBgmStart = CustomEvent - - /** - * 背景音进度变化时触发,detail = {progress, duration} - * - * 最低基础库: 2.4.0 - */ - type LivePusherBgmProgress = CustomEvent<{ - progress: number - duration: number - }> - - /** - * 背景音播放完成时触发 - * - * 最低基础库: 2.4.0 - */ - type LivePusherBgmComplete = CustomEvent - - /** 当开始/继续播放时触发play事件 */ - type VideoPlay = CustomEvent - - /** 当暂停播放时触发 pause 事件 */ - type VideoPause = CustomEvent - - /** 当播放到末尾时触发 ended 事件 */ - type VideoEnded = CustomEvent - - /** 播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次 */ - type VideoTimeUpdate = CustomEvent<{ - currentTime: number - duration: number - }> - - /** - * 视频进入和退出全屏时触发,event.detail = {fullScreen, direction} - * - * 最低基础库: 1.4.0 - */ - type VideoFullScreenChange = CustomEvent<{ - fullScreen: boolean - direction: 'vertical' | 'horizontal' - }> - - /** - * 视频出现缓冲时触发 - * - * 最低基础库: 1.7.0 - */ - type VideoWaiting = CustomEvent - - /** - * 视频播放出错时触发 - * - * 最低基础库: 1.7.0 - */ - type VideoError = CustomEvent - - /** - * 加载进度变化时触发,只支持一段加载。 - * - * 最低基础库: 2.4.0 - */ - type VideoPregress = CustomEvent<{ - /** 百分比 */ - buffered: number - }> - - /** - * 加载进度变化时触发,只支持一段加载。 - * - * 最低基础库: 2.4.0 - */ - type VoipRoomError = CustomEvent - - /** - * 点击地图时触发 - * - * 2.9.0 起返回经纬度信息 - */ - type MapTap = CustomEvent<{ - /** 经度,最低基础库 2.9.0 */ - longitude: number - /** 纬度,最低基础库 2.9.0 */ - latitude: number - }> - - /** - * 点击标记点时触发 - * - * e.detail = {markerId} - */ - type MarkerTap = CustomEvent<{ - /** 标记点 ID */ - markerId: number - }> - - /** - * 点击 label 时触发 - * - * e.detail = {markerId} - * - * 最低基础库: 2.9.0 - */ - type LabelTap = MarkerTap - - /** - * 点击控件时触发 - * - * e.detail = {controlId} - */ - type ControlTap = CustomEvent<{ - /** 控件 ID */ - controlId: number - }> - - /** - * 点击 label 时触发 - * - * e.detail = {markerId} - * - * 最低基础库: 1.2.0 - */ - type CalloutTap = MarkerTap - - /** - * 在地图渲染更新完成时触发 - * - * 最低基础库: 1.6.0 - */ - type MapUpdated = CustomEvent - - /** - * 在地图渲染更新完成时触发 - * - * 最低基础库: 1.6.0 - */ - type RegionChange = CustomEvent<{ - /** 旋转程度,最低基础库 2.3.0 */ - rotate: number - /** 缩放程度,最低基础库 2.3.0 */ - skew: number - }> & - ( - | { - /** - * 视野变化开始、结束时触发 - * - * 视野变化开始为 `begin` - */ - type: 'begin' - /** - * 导致视野变化的原因 - * - * - gesture: 用户手势 - * - update: 调用接口导致 - */ - causedBy: 'gesture' | 'update' - } - | { - /** - * 视野变化结束时触发 - * - * 视野变化结束为 `end` - */ - type: 'end' - /** - * 导致视野变化的原因 - * - * - drag: 拖动地图导致 - * - scale: 缩放导致 - * - update: 调用接口导致 - */ - causedBy: 'drag' | 'scale' | 'update' - } - ) - - /** - * 广告加载成功的回调 - * - * 最低基础库: 2.2.1 - */ - type AdLoad = CustomEvent - - /** - * 广告加载失败的回调,event.detail = {errCode: 1002} - * - * `tip`: 监听到error回调后,开发者可以针对性的处理,比如隐藏广告组件的父容器,以保证用户体验,但不要移除广告组件,否则将无法收到bindload的回调。 - * - * 最低基础库: 2.2.1 - */ - type AdError = CustomEvent<{ - /** - * 错误码 - * - * - `1000` 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 - * - `1001` 参数错误 使用方法错误 可以前往developers.weixin.qq.com 确认具体教程 (小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换)。 - * - `1002` 广告单元无效 可能是拼写错误、或者误用了其他APP的广告ID 请重新前往mp.weixin.qq.com确认广告位ID。 - * - `1003` 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 - * - `1004` 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 - * - `1005` 广告组件审核中 你的广告正在被审核,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 - * - `1006` 广告组件被驳回 你的广告审核失败,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 - * - `1007` 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往mp.weixin.qq.com确认小程序广告封禁状态。 - * - `1008` 广告单元已关闭 该广告位的广告能力已经被关闭 请前往mp.weixin.qq.com重新打开对应广告位的展现。 - */ - errCode: number - }> - - /** - * 广告关闭的回调 - * - * 最低基础库: 2.6.5 - */ - type AdClose = CustomEvent - - /** - * 网页向小程序 postMessage 时,会在特定时机 (小程序后退、组件销毁、分享) 触发并收到消息。e.detail = { data } - * - * 最低基础库: 1.6.4 - */ - type WebviewMessage = CustomEvent<{ - /** 多次 postMessage 的参数组成的数组 */ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - data: any[] - }> - - /** - * 网页加载成功时候触发此事件。e.detail = { src } - * - * 最低基础库: 1.6.4 - */ - type WebviewLoad = CustomEvent<{ - src: string - }> - - /** - * 网页加载失败的时候触发此事件。e.detail = { src } - * - * 最低基础库: 1.6.4 - */ - type WebviewError = CustomEvent<{ - src: string - }> -} diff --git a/typings/types/wx/lib.wx.page.d.ts b/typings/types/wx/lib.wx.page.d.ts deleted file mode 100644 index 4e1cb51..0000000 --- a/typings/types/wx/lib.wx.page.d.ts +++ /dev/null @@ -1,263 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) 2022 Tencent, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -***************************************************************************** */ - -declare namespace WechatMiniprogram.Page { - type Instance< - TData extends DataOption, - TCustom extends CustomOption - > = OptionalInterface<ILifetime> & - InstanceProperties & - InstanceMethods<TData> & - Data<TData> & - TCustom - type Options< - TData extends DataOption, - TCustom extends CustomOption - > = (TCustom & - Partial<Data<TData>> & - Partial<ILifetime> & { - options?: Component.ComponentOptions - }) & - ThisType<Instance<TData, TCustom>> - type TrivialInstance = Instance<IAnyObject, IAnyObject> - interface Constructor { - <TData extends DataOption, TCustom extends CustomOption>( - options: Options<TData, TCustom> - ): void - } - interface ILifetime { - /** 生命周期回调—监听页面加载 - * - * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 - */ - onLoad( - /** 打开当前页面路径中的参数 */ - query: Record<string, string | undefined> - ): void | Promise<void> - /** 生命周期回调—监听页面显示 - * - * 页面显示/切入前台时触发。 - */ - onShow(): void | Promise<void> - /** 生命周期回调—监听页面初次渲染完成 - * - * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 - * - - * 注意:对界面内容进行设置的 API 如`wx.setNavigationBarTitle`,请在`onReady`之后进行。 - */ - onReady(): void | Promise<void> - /** 生命周期回调—监听页面隐藏 - * - * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 - */ - onHide(): void | Promise<void> - /** 生命周期回调—监听页面卸载 - * - * 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。 - */ - onUnload(): void | Promise<void> - /** 监听用户下拉动作 - * - * 监听用户下拉刷新事件。 - * - 需要在`app.json`的`window`选项中或页面配置中开启`enablePullDownRefresh`。 - * - 可以通过`wx.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 - * - 当处理完数据刷新后,`wx.stopPullDownRefresh`可以停止当前页面的下拉刷新。 - */ - onPullDownRefresh(): void | Promise<void> - /** 页面上拉触底事件的处理函数 - * - * 监听用户上拉触底事件。 - * - 可以在`app.json`的`window`选项中或页面配置中设置触发距离`onReachBottomDistance`。 - * - 在触发距离内滑动期间,本事件只会被触发一次。 - */ - onReachBottom(): void | Promise<void> - /** 用户点击右上角转发 - * - * 监听用户点击页面内转发按钮(`<button>` 组件 `open-type="share"`)或右上角菜单“转发”按钮的行为,并自定义转发内容。 - * - * **注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮** - * - * 此事件需要 return 一个 Object,用于自定义转发内容 - */ - onShareAppMessage( - /** 分享发起来源参数 */ - options: IShareAppMessageOption - ): ICustomShareContent | void - /** - * 监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容 - * - * 本接口为 Beta 版本,暂只在 Android 平台支持,详见 [分享到朋友圈 (Beta)](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html) - * - * 基础库 2.11.3 开始支持,低版本需做兼容处理。 - */ - onShareTimeline(): ICustomTimelineContent | void - - /** 页面滚动触发事件的处理函数 - * - * 监听用户滑动页面事件。 - */ - onPageScroll( - /** 页面滚动参数 */ - options: IPageScrollOption - ): void | Promise<void> - - /** 当前是 tab 页时,点击 tab 时触发,最低基础库: `1.9.0` */ - onTabItemTap( - /** tab 点击参数 */ - options: ITabItemTapOption - ): void | Promise<void> - - /** 窗口尺寸改变时触发,最低基础库:`2.4.0` */ - onResize( - /** 窗口尺寸参数 */ - options: IResizeOption - ): void | Promise<void> - - /** - * 监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。 - * 基础库 2.10.3,安卓 7.0.15 版本起支持,iOS 暂不支持 - */ - onAddToFavorites(options: IAddToFavoritesOption): IAddToFavoritesContent - } - interface InstanceProperties { - /** 页面的文件路径 */ - is: string - - /** 到当前页面的路径 */ - route: string - - /** 打开当前页面路径中的参数 */ - options: Record<string, string | undefined> - } - - type DataOption = Record<string, any> - type CustomOption = Record<string, any> - - type InstanceMethods<D extends DataOption> = Component.InstanceMethods<D> - - interface Data<D extends DataOption> { - /** 页面的初始数据 - * - * `data` 是页面第一次渲染使用的**初始数据**。 - * - * 页面加载时,`data` 将会以`JSON`字符串的形式由逻辑层传至渲染层,因此`data`中的数据必须是可以转成`JSON`的类型:字符串,数字,布尔值,对象,数组。 - * - * 渲染层可以通过 `WXML` 对数据进行绑定。 - */ - data: D - } - - interface ICustomShareContent { - /** 转发标题。默认值:当前小程序名称 */ - title?: string - /** 转发路径,必须是以 / 开头的完整路径。默认值:当前页面 path */ - path?: string - /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4,最低基础库: `1.5.0`。默认值:使用默认截图 */ - imageUrl?: string - } - - interface ICustomTimelineContent { - /** 自定义标题,即朋友圈列表页上显示的标题。默认值:当前小程序名称 */ - title?: string - /** 自定义页面路径中携带的参数,如 `path?a=1&b=2` 的 “?” 后面部分 默认值:当前页面路径携带的参数 */ - query?: string - /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持 PNG 及 JPG。显示图片长宽比是 1:1。默认值:默认使用小程序 Logo*/ - imageUrl?: string - } - - interface IPageScrollOption { - /** 页面在垂直方向已滚动的距离(单位px) */ - scrollTop: number - } - - interface IShareAppMessageOption { - /** 转发事件来源。 - * - * 可选值: - * - `button`:页面内转发按钮; - * - `menu`:右上角转发菜单。 - * - * 最低基础库: `1.2.4` - */ - from: 'button' | 'menu' | string - /** 如果 `from` 值是 `button`,则 `target` 是触发这次转发事件的 `button`,否则为 `undefined` - * - * 最低基础库: `1.2.4` */ - target: any - /** 页面中包含`<web-view>`组件时,返回当前`<web-view>`的url - * - * 最低基础库: `1.6.4` - */ - webViewUrl?: string - } - - interface ITabItemTapOption { - /** 被点击tabItem的序号,从0开始,最低基础库: `1.9.0` */ - index: string - /** 被点击tabItem的页面路径,最低基础库: `1.9.0` */ - pagePath: string - /** 被点击tabItem的按钮文字,最低基础库: `1.9.0` */ - text: string - } - - interface IResizeOption { - size: { - /** 变化后的窗口宽度,单位 px */ - windowWidth: number - /** 变化后的窗口高度,单位 px */ - windowHeight: number - } - } - - interface IAddToFavoritesOption { - /** 页面中包含web-view组件时,返回当前web-view的url */ - webviewUrl?: string - } - - interface IAddToFavoritesContent { - /** 自定义标题,默认值:页面标题或账号名称 */ - title?: string - /** 自定义图片,显示图片长宽比为 1:1,默认值:页面截图 */ - imageUrl?: string - /** 自定义query字段,默认值:当前页面的query */ - query?: string - } - - interface GetCurrentPages { - (): Array<Instance<IAnyObject, IAnyObject>> - } -} - -/** - * 注册小程序中的一个页面。接受一个 `Object` 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。 - */ -declare let Page: WechatMiniprogram.Page.Constructor -/** - * 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。 - - * __注意:__ - - * - __不要尝试修改页面栈,会导致路由以及页面状态错误。__ - * - 不要在 `App.onLaunch` 的时候调用 `getCurrentPages()`,此时 `page` 还没有生成。 - */ -declare let getCurrentPages: WechatMiniprogram.Page.GetCurrentPages diff --git a/班级通1重做.zip b/班级通1重做.zip deleted file mode 100644 index 780ce35dbcee9581952490e19b1212e97add3282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1110192 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%0DnT>(I;Qw5X-K8<7ZHPnpS?6mN|bGZ=A+ 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%0D@Lk4w`R zVKheOU6?O~%M!CC_D&g3xY_`5Cq^5vAbM53ObYuwL30;L`U?k-lJsK$12<%K^<+|+ zY}X2_D+jV`GRBq)+7mg}Tt2u58))|hLs;MNhu+@ah7|;5eOv2SK+(t3vokXoKP6kg zcEuRBRUSS`IZTM3H}RmefkDB>4PN15VeCOvFMw`j4e*0;d&0^S>UrkuWPGD5?&c4~ zX+z10vJc0Gu^eVgvkTfn*pG84!Ye3h7>j}UAs$v?D4*}($h1X?M#!3^5!!$^kLaxI z!d3b_DAmR0{i=f+<PDNCLWU~C^y?~!o1mdBU%opzm;(aSAF*aK@*_&HF!nuCs({)F zk0L3mEgEA_JiYa!oL%GaSjcptsG$kHQ~8w+&!CVa5mU!kR%AhN#pRn2(ugwhKo|p! z-KcRyAqz&hqDH31#D2YC<O@7FwQg$7#IGb}=Mm(mhNIOLdN&E=ANBDwMolFAi?2Mo zJ`E;JL*Ri(A6In@JeS0xjzYASAkc?89^sVOC*UhJ0m|2!)X*g=5pF|1C{?Kmw5SoP zAXs9_KgG%fk@zbM{?Xk2?{f9;ay5K7eDV-U>i^nuH3WoM>*{r&2MFc9Hx1>SL|AJA zVf^Aq=%kd0=IDu?_+2(Psic<7o6J?SewWQn`PYyZ4V3fCuUakOUCD4w!0)p8LRZqn z+8ShYuW0_8OXdOQXMv*mHak7Ek@ZU($p-~KT^*?;!cuo44NA?1{GntELR*KF=u)W* z#j24A;A5#YV^+y~+xHEzVPd5vfFkONF1vX0*xa`h6jL|$GsUaj`?h@OY2os5=lL;` zyq_N`JRX*UpxS@2aCN+R<EZ>e<((dnp*D8m8MMa)g!0;rUPpFuSE!lCYYfiznn|y; zFn%i|zH8=MY+mCYJ(k*R!RM&U7JQgZ_VxR`1PDfV1}a9M;gFuE>|V5nq+!a(5P&KV z9XVz-66xa>l#!KVxYi8S>I7><2w-SFs0N0G8v0$$4dILuh7A}sN_UZCQt}<)n_<9L zl3gV7i2lSF7RTzT7!D5MZ~_C!Ini+$q#Yzh21OBglflv(IOM@dnBN5*PI!Y<av-T+ zBba~@fk!H$rxVg3{*VBvG20lZ2z?kp)WH1DeZ%s<HU?E&bb}9*14CtB3ExxEa#liR z&S14@OlBe1;}*Ni19(1U4$#9G4B)H9;nhKH4X{Sct~ADlB6p|ujMGY&!ZRp4o{`_( z^*g02C*(v_G1Oeko=-pO==<xyt~CRnZC_@fsX9A)-c=tR<!upmb_SFC?G#ctCNtqj zXCH#FGW+%<6Z!s14gO>cIS%W>b=V4ftDUvNUb>DT90at0bE_9A^4RJ{@gGd@lK9{H z79{+&yBz-a=3@BY8B5`R<t{{hXoYWi)?4oJoR>J%-(_ApcYMLweU;JPM+Foog*fO+ z8CHBB5i8Z^bCwr(D)Eh-@4}*;$g6~Ej<uA7!s&+QWz_58^^4D$FI@-s&Flf`^NjMg z6=$pMSz=$=UERz5cpEz|?Nz{~tZKShkQMUH#=!|Sy$WcthiL@e88tK7L0aqrHSP-E z-qsBvN)O<R^8G^mWQ7dSoHeiDj@Zxhx{aGn;$j|hqX~keZ9A<<ZpAhZnTcp5Fe?L+ zHuC_YMEgUzjq&V!?c%-m2GpML;%i`PyNRC<;@=(vjgVqR|K-KJ&JAf4q9FTk6?Z9x zIl;k*!kk)gs@RJRGF{vO(V~H=3!e-tm_XjvFB(<okn%CBN2kF~6pGUo$p1WM^-yl# zcM_~F#UMElyjE5-BMP*JrL)s88KQQo)v1@F9uw1xCi8(TDaKgoj8qKgUm%8p{JA*H zUxtEaR3s1C8M%zBIX-+si61GCs(gx|3d9dc6Ujj#NiSfQreY@3<f@3MScM^$E=*za z%Ki-&Zvv3JygexVF^ocbDt_!Uic;6OWP$A59jdGhUwm$r3{I}A-Z?S5Nfb#_2#Ij% znmrB7A-LFROl>I;vT}%Sta<ekhv<@v!X$E<zDB@`7-IRPZ>92A=33WbTlJa-fGavv zy!^U&>Xyc>u+xgONgGnbXed@0QD^CV3qw#{Qan4?fw3fKw!*9$;FFcy#2|C=RA)Nb zOvu4A&@7lHrp}Xgi2|}g7|s_&CX)%rEh3mco!khIK9HR40t0JDCiRzRP*P8xXsSjh z5$~W?E1o$u`|^r<edKVxw@?84=b^V7ZXQ$&l()WlcQ&~<8Bc8m_Zo)-HFWbk5H#a| ztTB*Cp0P3dIV-z5H|ngu+-Mt|lu-J5QK;i43T|R7Z3*u~;S&xN`0el}H8Y)p!-0WR z>Pv>BSI2v9eRnc*r?AII2iw%)W*6P?^5uoY_o4GGoSmF~KD>N6Zo%@QlW-1~JpHAK zo2Bt1s1E5hiCeBAf8;2NY)h7A!gBWUmv0NVk%Vtl>Zq5FKP?U)qy}S?!1mJgz0&kU zc?HO`FORUZ2YiwrNlU0Ckw`<Xb>Rfy>x(l|n)*cz3@pL74^e?i+Ixp*tTK|7k4oTS zVd55&a+iLXT;05;xlQ>R!q4R%ozC)!J8BOQr|7sk7ce(YKaKyIBbE{1EBy(MD<Ta3 zk*kTdbVC)ujU$maf`o}lrFalcfFG*d*D$?&HbmL1U4-6-fS6pD%dkWw3plP;{_+#J z7?sXmM{aS<K<6DOzy1!hQGC?I&Ek#cSW=T-R5(PadLMeq^)?78=!p09+lwOrIh6>f zhd>PoEom{~x`$qPHS=A4`0>yo=v&+DPo4N^!%iDgi&RKA;Z@5EBThAjkh|PDmC-7Q zx8qhn5bK>c`}6t1-1?T5K4ixkLVkqIK+8V6r$3%=GDRHY_ohs5Zwg+uO$mD-^QMIY z2H5&{-u!zv6i}bO`L5_B3lk?%1jN+Uzugi?0XNtWL@^Fj=8UZFmP6VN*%JtS23j=7 z6N#NeDZ8;nhW-Cq{$ESuAJ;c8U)GZB<Gc?Ntu4-r7B@mk2a3#|LqUX-FK|qtOEDp4 z(v1x&-yU+$+Ix|3=v_)6ggii`d7XJ&dU=|B?MCk)?_^=*5pmH@u>yhohLco?3P>XL z1@eg5jg&GfliG{&Sy}rZFcj)~bFAdgBi%BR4(()nK+ixk|J8`jSrbaxjP!drB|E=2 zbK+Mgj}-<82Tj><qEPJgEJsT9t%1mg^zJLmPUUP9#7{Rh2$aY~Mt%nbjk@s*om;*k zok1ETY*&NIeT4*YFn5T>!z2VDo9M_v9n2P+XFy9u=EDG8ptQa9U@9f80|<fvFh~)M zmy2WoRDZ_lH(;ydA1+phU-*z?7UzOjg(z=z%BX8#!8E(rA|TY#8sdRx<!k7{l@HX? zdH|~aDo6;P=Hv$8c@V%m6x_%y4)5TR3mCvS15^;>jF*l$E+1~Kk5H~gVc?<BV?{iy zk&mn_kW<L%(&o$}dguz|vidcmn_4@8p|-9X8C$+1&+gLncgVW#IR(b@*JD@;M?Lr- zMv{$ggYq$@{9@04JyOzmff~?PHH^}v1_VNlPDz>qwh6McXwuB#5=oTzTk9-Ht6VM+ z!CzlQWMfbe2lrAu_NvI0q}3Q`j7zc-KvEHhN>>h+&fP)e1^G-~xsQanvoFv2#)c${ zGPb}%Idb_TW%Le{MENM;rp&%{Dicraj^{qD0TYO7r|mpvyMxJ>LA97L6>5M!Ij^@M zn`?de@j%DEUZij4OczA#h?Rxr23cGsy{wcu1A{1;7$F^LfwIIh6(tw{1y*|sskQ#J zdp9aay|;O{;!ZUKC%}Mj0%rF46EL5Wd)8`{XYv=P;W>2<QS~y4!r_DEiRb*`aN+hn zfdl6&3sr8mZDb*u)RWLL5!d?j{o*%cbKf0Cw#iOaFpLYI)v&v6CPU<Qpd5zIUdzgo z<V|ZOT|#q#?rEW~oGKi@32D1<hN>#l0qeKp2~=btzXr}9S{NUJZh_u(F@a0xn|33# z6Qb<H3n-t6C4;75_Vv~B<UzgEkXK7LC!krtmue|Fv9vP^C@^kM!8{RCv%-fL>;f^A zMX~b+M?|vsb6HB3kwmi;Yiozl(9(h=L|AG8O~)Gf;;&vSUAYcL9>y=Ifio56j6`zA z*aHw>SrMpGDC~+CMa&Qc@6lsKeie@&m*<jD6-kJpS&>PiLqsRyPu&FqAfXqbHF|yt z3oZPl8K)!BGYWS`9-(|>@zBp02F5G!nFf$30%?M(T)<98S$3^=-g$>`%5kPb-HZLr za3VPHaRxbNc-4fZrP%u&@qGV!NI<z}6t5ekLrqT<b%E$WEh&+-<2hv#HxDUrBnXFU z5GXA>I1h<DDcBO{*4atz#QMBA#R5&HB>>E&TM&T*Z)+AFxHGJ37*Iv7WQp-#k3BD3 zYFO92ZgElrJVw_=2mc7uU}_10Lh9@}dI)o0!)8UScwqf}TNyBT)Ih6T`9aQa0H(X6 zBE|+9)aOz%Z5-I>h`!WbM=6Ndu2n%l<iiGS$R&89Ey6)ZWOco537UVjIs?nMgnOpN zzG$VFsd`HKjdS8{5wR6=8{}-KLi<*#PYefcWKZsmlSYNKG00gnepgumorV^yHsk_5 zb*=y%)b*d|P>lDVk6~s8X`Y)#4Z+(eMmcwZ0?IJ~=)-jZ;Qt&xC>m^hQhGsjS*gvX z{vb5d<C92qH#dB2?xquyiL^RUNIyD4XA*e|FF!$^X*!LZcAA)9PLEeQ`<RkXdm-S% z*%#Mw%@m&Bg&7@u3T#yBGC+vst!s1VUei@{`35?bq2h^WNIVfeBvK6p7P&c>?ZHCx zl?tWfKDt?;6dGv$?6ZNPT(Sp0`Fh>93WZZ!V;}eK&HcG8wtvfK-OU4o?SJeWN+#Yx zST+A!+lKJ|mGRz{-Lbar_MXJL_VzW2RrZ><hLY)b+E=b#yKYTeTkBhU;okes>b7-l zTUNz3$2PaGUAeh+b!^L)*0zrJ*p@Z1)vH&n-Mp$}ZEVY`RqIx6T7`FQo7b-0xOUab z&1+*F8#ZiQv$l2hrd69)Zb2B==2fdUwYPV~R&QzFvY}%YUc@$RjIC+gw0Z67*4B;f zYc{XMi%oA)U66dd@12#a8{P<62D&g2HBMN=R*KLzaa6%ljV^s%ICv$j5!B6t(gqER z4{!OsU!w3?6IZ%P<aQ+iBHV5*H?95z#5!=W^-Iy^Z>7vvIjIx7y&J_(;elA=+26N+ zAk`8EFG#C{eLCb?3!~b}LFQbup97D|Al<>PYr3hCc{luOUyy7P0fLJcF{?=VF_a_{ zwz4W~xR{}dG6ihb#gX$;f!imh5|z67%iPsl;Npo|Or3QyZjdQkUv$CMYV1@S^2suk zLI(Yr{vKKuV%x(f6JX@So7L5O`hyMK+xCAtuyxIrwhhZnmc}_`A=7e)j{(xz@GY3E zu?dVOqS4iiArJZz2<`WOtQOKZ&cShoo#<dIJ$Um_=aYF@|2HIRJkIfiI?N87@MG+} zbq?_2oaE4{@2ooT7ko<F$eU<!r?jnkE%_OTW2|sy$hOIGRIdxCkBi0(M*)(vk?a9{ zv`99;Qb+~z-w@dlHVfz6a<j66out$czTybT!A9K35jd`p=Ak@!hf-`|9>vKqo!=Kv zmH!=6Cv)Dg*y(&HLaZQU6wf~*ri6VADOSy~#Y2;T=jP|qhE!^-87V)zuP76bM(Vbi zN5?$G4t6xkS#mE%IwQ_YIYWFInveCq%AxrHnY?!3wzsp3vm}VfkOH)p07(B43N&!6 z3Uzhz<FV*t73g!pCo2ZOi$$KSs_a`d?j~ZuYGO$=X+|zi4M%N&A^8NBqegOB#kOm~ z$CKiU^T9AXx64j}5zA!%GK5^hH4eke?sy=oxr-WrtlN1cNl_dG4twy31(qggi|91g zwuTW`+9RQ+M8AF;zrCfNnYrE`R$`I%fxxbX(Yc{qf4%9P2{M$<nGI@Ixf#dIOVLc| z|Kb#lhgyfz!f+xenz<Y`bmi*b=orXFW`b0`YKmqev)s>&hUO<6%nx8Y%!hv5%=9fz z{mVf_3Cb<s@_~lsVk1~F_i=qVR-;ECq^ARghEZxkXlobXHYQ}dc;Qar^#$!Vrq{nZ zRaz?32cKQ2b^If3{31n}yw_VX=z^qGGk!FF0i}<wpbE2KD$(%O3abHgPWD)60Gmpz zwRMHn8Czkst+3iZ(O)Mi6fEL%dRO^t-odEP`DNwr_r<g6sL$zL#Mi-qqz^O_X%6!} z6NfZw={EGC^tSk5J^0Ci_+X0*%Ef3oZ0;L}fkgW{`J@QNrT#U+b-Pn29w8xBRg9o2 zRuJ9SK*e140^h4OGgv=&8a2RnDI{PAw??1L|0cYiyA~l#9%fj>3WcqHC8iF&)Z2|D zEFPoYlQFNpdh&7Zj`%5xok+$x2t&lx8n(toUNNt2^MMS|7vK9uvTxF<OHO>y6;Y{h zZ?;#wI92vq!+iGOTdKClMjcV(!+I|#)avxled(4{dL(Tt3fG^#uVX68_m04HRKE9p z>Bd0}%<B9&nXogP>>gP0YgNVz)!s{h;Q!5#T1>ENhs&?dP%$RQWJPLRTDE}FmL7^x z4$4tDLa+|VH*T63vRxoNiVH=Q?;TWr;%2`H;yhZs`8`k?0w^5Id4y`J!kEa7W`2WM zYNOXe*k)>YJa6N0m@xf2t>JQ!3*T%2(Ht8&R%DSyN{xiS(5Qrm{(hbI%_uaKZiL}S zoYg@f$dvR9iTiHo&lO^Fi35NN0S0e+o)c=TW#PMF4s4n90M`w-3*XSely0Farkjvl zTA854G<oGdTs}S<vU7PI>&gwSxuYtTGc<tE=oOydlhqMN7an6E3663SL1{pm0%nQy zgmV{fFJP8g#3}4W-8qCjMo(0_Asl2gng$=faAI|nCDLEcogFStDw{3NTlklV#mQ$g zu>JWymXr~?TiUy$W8on7W>P}~@WZiMn^&O)SZf?1b-pC-f+90SIa+-Fyf`ujW#@7n zH5|4kiHU&e6+!EE3JKq{NSb9Q_oL{hGQH+nc5P`(4E<@Kd(F0gY&EYT#T5F;DhXiz zBftaa{es1#Q)nTvt8v7Q)PwXO@}4SlBNbZ<cdcQE-Z1*@BJUSIA5BKz-m6A;qb?en zKmVK8M~5AvBMkyovAdA^S}SNznXm$><h+T098x(0O+j7}BVU?E+P6t~4#-0(aZ!GG zf9~KJxZ$A)FpeuZ%<`2IffIWE8YA?RFnmDzyi9hnHxbjvCRAr;P=X8&;80v}UOG~` z_!-yBD$K)?2xfOsUMz72ppb+PrO#1E<sOMu7UO*%ab7?73*K)FPAKnvU?C?146=on z=THYlHXK_$H#`pVs~&=2OH)WO#pgd2ub;uytv-A4R5BwdN`3w)QXxcN=5@8VZtM8G z{nH%-9cw-xMB)!xDU^J9IqHOFqRitRNrx_}zZHoCJERR!7LLX0=9r~EL3}mzzPw4! zHW2!ArhB{*U@$usf4T`LOjSlgMRX~RHrl(fpqz1BkBAr*%F;hMcl0QE+TQ&d-jy(J zQQ>BCs=SB<71&!$gIJz8T;hAO$-(>^bm{QL?;Y72@qO`R-ZF#AR9u&HBWD%bqYzeO z12Ym(oTxT*E9v(RlYy&(dXv4Uu!NDPZ|v)bYopc3Uc9-cCUNVm*tG_$E_uG&op`rp z(lIJ;WWm*Z#r;W7bTy5PW05GhbYxuciIc16tuIXX(64Z{RU81K^W3?~+%tobQz!qJ z$S^g&JseyJil}lbG=uF}Up@AZ8X0@GsCWP=dZqj+N65};rOD$~`iIMf)4!%D+k1N@ zr;m8=*EkfRfvz6L2UU$r1(<>`+?|GPT2Tz?SPjv<80h8`z|lSoVqMKS=2g#Thzd+! z91fG=?3I2YR@M)<bZkh(2VsY;aSbFhR!h3Kr^SWk-XP$0-N!Yv5k@E2LJv%J9SFmK z|5m{>;DT6mM*d1LltmBorh*}Gn%8UY9bG`G3!g+?uZGy3T=%AZU{P05+^>;-!?UQw zh`8IPhc77O!}1#OMx7lWFc)!zXZF2r6mJ$weyp(4LnykGwK#dL{;Qu8A8O8IF-du< zI^cSFyu0h;GaTjwx9Xx9)=Ds#fl-u3hCeS73R&vlI3_B#Q@D15yg$Y!i_f0nJ_dUb zj+o*OYwfeU`%;QzS%q&;T5SpEFS@?jffwfhF0^u|6YTMmbm@yr?CZmGH>VLmLC$hq zy4vcBqSNqjLqz%5ID&B`)I~;1YLf6FnyuhdLzk$`RxM2z(4LrWSl%0{{26@cWDMH< zMb>~uOKb@x&%mwXowGA)16D&@qG4HA^tdQL?~P|z9srj0keN6O=YW(`uyp{rT@bz_ zdy6%_{0cP><#r?AW2Zor9;-MGQ2>+^vQ&8V5^}NfDO8iEsFtZ8=(g+%>BsCOdLmRy za8$%t=Z3LRrU|l7G}_1xc+f^vgv#Zc)m1u)7;2VkbnskswbTN26|Kz7Rwrw$uoTj` zh>bczdeti}PVvG$u+U2H<|Ag23nU*Ej=rQiUJqXt#!pc=n!5@<IE_sH)+=JT0^wkk z_|^TJ2;h1}GC|jUUsH)UO678Ws&sR>Fm(o;KfH-7a&o_SLTPTp&zA2imKU7QUQ`~j z=3kU|V(6#}<EJ49h=`(=1PO7*zV@y+;slO>)Jl|`*{p!zFdSA9=mgp1jLBKXH|iaB zRbG$~!o)}&A9&0i8$oa8H5q;_xzq<sMYklS^Fzw_iI;_`yXNP#lHTo#_;l`v??OKH zZEfJ&puaIzkmehfBg-Ph@DENKi5BVg;=?jM(%)GKujEk+`&#MxuU6+(3C8a%ghp2j z@wXgPt0=_pEX40Dgif{iI}0H)!|yCay;%t1j~w-m?=B50czg{s^^(hWhn?-sWRcXZ zXHf+%VexXnv=|^=i5=pP@w{eT4?FOgor%WB0IlxKnk@i^KZ4R3GJB*$A|&clvO7RJ za_jXR{+Yr*oyZAQYLP=k5iVLdc^-`sI$F4WNfH5o@uHj!V_%nt4|STY=}I|up$5eX zE1NkTh`B&{)H-cpRkf@PG039yhloMHlrB$@#C&$Lc+yE#g9H%Zt&iToy(ZJem{5#} zct!CUIC2;kEj@gz(^&t_X;f#aVe}+?1$NgDSEj(~evBL?^LShi=RShS;p_p*W&zWz zehUeybnlUtQt0^=6kAdT59_~PUSUv8!GCD#f2bd!Mjs6TSwo=cfK^zPf=32P>YHk> zWivy0d%bEQ%ZR7*eun&$Qd(=hk?vD`9)>SKXxA{rq=c?fO9yrV>6WJXrPZ56Jk3si zyxx-doVmN_5gjDolotkQ2kgs`7)>~0dq7WbbFqfDch$V+8xw0&()r$@R0vQx7aH^e zV5cZsVor25LFkmM{PsN`bQ*YjbIcid`I}2f1B1mB>yf#b_TG4E2pQ&gv0Z6BrCdQu z5cxo@q}~&X-aLK-*=qoaQv2*chE8Z_0Pai6$-JSStw)Yj_8~fnBqx;c#)U;=Ly}58 zwqL#}PQk>3jn1)4i8DIjn0m4s1(VW!K(>2FpqW8Tyvm!yV+jWg^bM$(i5!p>EvF1f z1|5O*C_rjq0qSADpp1$|MkC`B6_@G+DmOOr@%$i}bJI4`=T6Ni{gzbtL`9Nzt`UYW znAaTm&FU9Qpy(WRXfHaEYLbosj8zS?fApJsA{##Ox^sv+K#{*DMF5o`%;Ed8Ggc=R zX=CjHHoOLs<`QHlhfga0`2oTUbuZ#LquVYohC!A0=m=8ZNF;FK@Q*N>BA-NI1P=*e zfCzHvlp2PT3!I$7Ycwq!ek@H}<g`NJs+~CH1#kyl2Hy&7!EL&!E<ByPfIJ5PeYi0G z15^iAmqAs!D4!4p0wpbUIhCQ6Umq>qKf%rpQ^<$oAw>L&Zqet%dU&{?l<t@J!rTK< z(wawa?jqtKNpmZdM}`d@Flk60Un8fzhu;^TKZkm`{P-rC$yJOjyeJh99X4D}ktl-j z;oKAQg)`_ZX4j=@F__q62%j!belt7sh;LB%{P21(9b?5d|LG%e>Vm@ZNnQwRFB%ZW zQ|`0kp~HnEzlaV-wB?HS=|*rcC|;%f5VR4KGv%XC#HUM?+&<-#pTk;j8Mmj8>)UC^ zQ~Bh8?K;BOfZqDXmJp60Ooin_H-fJh#{^2JQLv?J=5NAHEo&B9lL#72l{Q$hg%j6+ zZMBAYkavQ^Dk8{M(NP3xm?0lwOXdW8EG}fj&So>&sF(|W84+|LBW$iQWP{u!5KK&E zKYo}5TAO-hT3^SbWPDWEQED>wKq8IB{lh}qktVv3<piC7RJ<_*PZ093Iey1oMHQE% zFRjp(l)Fo>Iet-}H6z7HW5Zx-s4tmr!sA$jH&UhngNV@;!viti%CgeyHoR5=HQcDJ z0oRzhc+`lpoC%C}^ni=k)VJa|hmCr@6?_^v+~T*jxZo_-U$i)0DJ_ou##tg=`-I2o z>9FQ=?d#Gx+aBQRU~6{XG(U#Ae5rg+;U9o73qImH6WtYL3m?Id3{UG;Mj2*>9E4=_ zhZ`7t19kWpHqJAXz-D{il9Ao_L13HN8MqGFBbCPy_E<x7Nw<3Gc=jzWV}z47(&-Uf ztbR2JcJ-U03QS54NR|B&iN#CPSID&an2bTPtG`)(#^uW?yEt+YevO;E%*h}X-|4uA zo}L>%h-yeWPa!b|=N=VLO(5|VN*rau*DDJYQ9~~D0P80hQZ%#}IN2IQ+ESK>TR)Uv z{)oag;JzGKSQB|xzV{8;wAi0c9O#<J;RrmF)rAzAu%>hICp{j;hCDhV!*c-xX|e|_ zIACL_#5LJzieUI?=hhA<iE87g%ialjx_8-IAy1>)Ha9mD8wL@@9p{eiyYxV3pP#k5 zB->?Y18935B0>|H?HfKJb`>^Kuyd(okCb_!su5kxh4Esm$xXgclY4!+eDkFB=Uv-B zv<g#Wg^>$T;MA$-{Z0G!?Q0@!SrZar$^s;UL#e#Z7M23)j-^^?th3|$UMaJuLmS9- zP?CB&$vg-9$#rnP6rRe@^va{c)nR}jY+kRj=<i1)YlGzGIY7VS^;h(#Y_QYHyU%Fn z-{J;}ZBQBEhG!fgVHrb-8*oHXh}Al|e^?StHSf0p&;7R>mCt~4iJUqLPzr3_kUp@z zn^OMcj}6&u{J_Sc-d+mo^?XS%zEod@yl|m}yfmQdx9@sgE**XGP9g82A%1)JyShDJ zHJbG6$D$zKX@l8I*a?pDSxkN+A0YRJ5v#fHb$#v|GeeQDg9S4Zs0-8_$pln)XH}D; z==E^n_+xS7Exh=jm#B!829L%hfCfSUW$1nUwe>EN-_r7e4144v^EKoHkR`gl*bmH? z;)t%Pz|!Gbgk}K|7KKyi;A!dWn=(sE6(;o-8G*;3ssO>q$naL_HK6R)4U9TPXoF7W zmGZV)U{)j_Muwl-jx3e8^fe7yd3+6ghuGs0U8ATU=~@jYPL8mrmzt%3d6VKqO7*ek z%B6im8GFS;N?3wmi{+V!^1>EpU7#P1x-Z+@qSE$x`fBv2=@Uy$<Q*&`tT14#pbg!K zH@HD_jx!cDHv9omj!3`Xu&lW|Gn7t%YwJi+>0*c*6f<cy{y1sxqiUWAtb<}TlS+{> z(RN$e`|X~_-l234mCmAIg=G>&kn3#yq!~Fh)$NEoSan)H{&nf=7dSVN*vqe8l+K+j zTpfpL3HXYyJ7b@yeo%6jV=upZg}IY@^ZIpsRQlmOWqqGU?(O@tFHe<TPDF+v_?8vb zLd|?l{^OD9`P9zWL6U+eS&m_~?9w2Oi!OugxIKA!Ri6va5vbgb=`@=CEJm>Uchd8a z0J3~}arA!q)VT8R=yYdSBQXh%+Xbl>j3_#X`4mQ{MTjQHT4`p@op}Z35!Z#pycVzC z#1k^cQH0g?!s(ZV)5!RKouZClb3J~8{FO)Vp*{K5UU-UXUO2|E#ZuJ(7b?CMz|^;+ zomF$*x8H&kS(+J^aUtpmFyTW;s#zzu@9flNXx!&+q09jJ-GZ7xWvgL<b|~3Td<zw^ z*`p^_etiv-LbKmoXhk|x2-T2<)PS2TP9q07_Bd4scz#?$zi9o*xOPdY(v7vXRzc=^ zK;bNE$Mob_j1q7R>x71-?rP@}R$IlMny`UHEEnx5OU2^GSa|l6Y;JUO5{ywR^f=6T zlp`99gp7?Kp~S$^Q^oU-=G!5@gDTk1{HM^Ud$2D@h2b1QNy39!(ov!fQBcd8U$Q|n zmWU8Jo6q!QQfvrw{)jbv5=I(L!k}~HbeK<tvw%e4o<|?C+}*K5-YxRz=X(ZQG%SNi zGQXo=)XYXW6o$Id9Et|3sG_=`stXKSTOkrSOpjR6KiY#}7?xUZ6^`-S(tz+)S-xD3 z$=t<pL^y&lgg1k7hBJf0^PdWw;@*CF8n$;LtyizX#$LQKWo_MoXvs@(oiSjLR>%2J z%5IY35OkPJnjpd!py0|O-{Gj1C+{L@#S)iU@s6(qVdWumFpny_g)%E+-y<KZLq0Bb z#ai1|!mdy5GhNUdx2{`9KUTK4(~nhcG5WD4#t+xDwenwW^scRSB|U6wU$Y87+GA~N z=|_9(YW}g7-nFk@ML$-yuB0YNkxrlE2f<vmvb~LdtXsPhKUTM|p_WLTPEA&?T1`;a zAn&{Upq6X#u4yf@fzj_PSJDvH;vasjLlF}C(at~6Viga%wRJ5$j>Xzy^mp5u*4P^L zlfI(AJ>@X4o4A>A3BWEr_w98cfVwEe<G!txZwGxGO<lOKu=*7#!u20|KSVe2(Wd&4 zqM^iKi-zSVMf$~}NfC9UNs$Iy11VZ`Mpp!I$0~%H@g}JY6yy9CqD?_W(d$TvqW|zC z${=)$i>!jn&S^sosO2LQo{KQBg?Zl8j4@_kz!*Q=1)~h5ZCkgnEWkQ~NiU^0f-%zU zCF~s7Zm?0>_yvM3NtDzRhsTp<BvpIeCyDSg1Y8%mZHP5vZw*vyD_uF!S$;hZ{k*)Z zfempTbFxEe@`Grhlr1m}r2Co%s7!A<nH!KrE^-DW3@~CD0z6>&t=MUb@HLEB`&vXI z;2+E${K30Eti(Yv5m--6QPsgZRiztZKsYQ8Jolu?D=JP@UpZKHi8JH&piT>^QmRwa zsw9W}0n9L0ek@#hBo1|ue8~7l<>;u;8n_ZdU8lr(NG&=tP`SnE3WuM<(2Rge!#bsG zQv*YA$QeY|sus2kktu{CM1ONh(8MYw42p*!U1a^4OwQ)`Q<iU{%qn@yOhkdySETD{ z_B>-0^z53hc@|zR&YN9HHapDXWLAvxnVaaOQc*A|r{)<B)K^Yjh%|C>!LURPl|2ey z!FadHFjf(y29%Y_HlSr5o~UH5qJJ!)(J!8*5ebhTi~f!_TP+Ix>K@0IM8?Wx25iLQ zrTZL^{1e_JfF2^^xoEHDyN~$%(OJ{NojeMu?Di2R(UCncn9nTEdxS5r9tPABfa#I} zy4d_ZF7DD)eX2{-4_lD}T6+Fx3NfMHBVd%)G%u`tOm!D0Zo}fpGtx{=9x2|xS-5(^ zWNpIN1!UVlAs1JcQ%bOp-`_<EyfWz;ub6nUWp9$c|1_Cz(ZJmO65d?Ds1NP-bV_7} zH2}I3gM9lG_$q5c8>i^1p1i|**8M`{5t+1wSzDwXn!G9o9lG`-HSl|#1V|VLl0ed` zy`RjBOB=-&AHS@KH-~t*8`77|_YZYLNjuQ8k9duI6MVOmP~7w(?O%)WdlMy`Ye69| zyJaArLlPGAWy_$rmZSCueuejYOFZlDT@%h<vIp6nti5f@sm?RXroC<dN(04kXsmLv zz*ry>v_<o$-)RzX;GkS7c&P%jbAsr~I-^|wa?Vr37@`r0Z<Kr%>*lx*pj<^7#Qlo_ z_^Yh9+L>DOe^6J8_7l{6FFg5h$of*`%^=x%B(Q?aCXyS1sIZ#=3IcEO+PLEwpXM}9 zAnwFvA_`|<&`C2zGl7FM%GVA6Y(SI09~R!0l#<ULLrqN?#h%|QjgnPFZU|;r0Yy!Z z1cHy>XV8t3u3=9yk?&uj5=8uoWBet9B9$8DuieU`yoNML${jU{<XH}Hed0AZ8_Hic z`2yb3inJs$GG7ISpCSPjt~A*I$AQb6l(I1+GpA%#PD9C;1s_Rg321Ep2Y)ZC8kQ`y z_<BnU1hvr4D6vLrt=?rv63i8TLl}h5yV6Hv^j-P!``FZ8WWQN&X}nPjA+h_Qv6QA& zZM}P{BNIOw2f77~THGWPocK`kyee=3LThy8<O;8Au^AbHOLL9>DqfWf;-j6*)+;}% zW8BF@s9_y-E&@<JY=~MqV$dl)+)<U6cS-k2UlRXK(uRL*Y_HeZfCaz$?u3pz`Hd>V zEX8b07LBl4<KQCmVVD~eMs0qT?9yH;pt`J?85dt}-URS5lF~Y~hl+G2oZ*uko)Kgv z%o5`R1AR5=Kcn?w%oK_bmQM67*Q6wQ6y2A4H9ktpD)u5Z@k8A(bma6};!-jG_U$xG zrJPN<9waMHX_;Gm5dF7{@AV?LTDsI*>;qoQF0ZSwLt(o-pWvl#9A{);Db-y8Hb1y? zPBXO~q+Rws^6y_J`)SRI5-DsO4E`Se5!fhx>M#Hj;Ydo06)JC&sx(`B)m7=--8*9x zEdTh<56fMSN_io2SBxt(@)xFwL1t~0re4GQE?VHy;(=^r@!|xGfwFLK_{QGYAkT9x zNd$)OZ~jM40&KL9;rJ}6<Xa!w`(zNvxK7%c9u8|27+@*qhmL3;Mu(xCy?H-$$>8>p zmpdgu*IW7Qkd61OwE;_7x_r7Y{-c10kACUr>C*IdRDmp>eL6dJf>Hq^5tM8~CXGzF zl$HDaWGZDR{K@Hq-U{*^4@O9kF*g~)SFRKVr?$BVC)Fpx=AlgU9>GTL!J)y#KL`{U zagm1WdvIVB<#p*B=*Op7ntnD}c!j^rgGOJw*t}kOKs$;zflZJh9-$_y#8CLZ&kU05 zSx%Q_mC*(LBjvdsG&4N$^Z^yrybFc=AVlvvknVAg8RD~+)xee#dyhQ!1dVKc5Y!CV ziV9YLWDHF-5~_(Nx-@eJ9xl)$lYh*^J8~CE9wLg4qnHMXb$7KFo`7dHI>a@cMQ|PI zp%B>0@eXo{(QS6};Oq+oAfG2!ny)FDIcO`|iwQ>=UoO!0$|sVJkK7>HpSE=TX%Rs! z6E{oaM=%H#Rm-uy7&grM@ED>|%J?Uzk;K{UXy#J!yI1AY7YZ*Q7tSCT<Rlz*B!b<Y zPoz>B=^ywY?u}<Hi4t_e){R|gq}V&q1Ir=-l$$xiG0x^DL*<HWZ25jDtMfysLd6Z~ z1ikSU<m`M;ztw2VcY&`^MM5><h`^xu=|zjTcZ0?N8GU~HgrmMKmu<${@lG2FTIsN0 zR?ZpHcuvN1{Rbm`cLq@o@if!4czP=|iVnu-diw2wc&$j!8ebxm0@OhD@Y{p!&ygp= zz02jc;6k{L(Gc^8+KU*n%h%ux&YT&=SK${Wbv!&q&fVj8$;nT$+Z`LBrQ}jBE*^!1 zWi?q{|Mv?({|a`Q>F>)o?^AVMWD-ABczEFr3O&MWQpjf#x`p_oi?1Sv09Q4{mluX- zpt2IwS>dSvoeP^3HK|lLG*J#nSbpLI8lsE~=LxzYRUa6^E2?*)c)qrDoP<ga&-lKh zSC6kD0f_@ZOD!6PteSU{@jL>$x{<=f-^v5aHy8zoo0vnY=2B;+lO8N4A@OH?wJSs= zr#L4_2M5^2w#J4Im}#<c#jGK9yZp^6ve1_NhH_EZsGTA8UwrM@uGO5&_TV|)nEUoC z`w_?T{pavO!9L$=dj<uoa(W|TmGhZQzF%e1_Vq%P-~dK3;MALjK8?stb1vR%Z-6Ge zIc4|eD}B_gY)j-hZQE(q1p3<N`ZN1>XP`qy0u72rYEDwlSYIQo8RGTgxm*YA-+eX? zvY=>lBALZExMh7GIFXwQrksjqgbtz|Etu8-DD*S8%c$4tgG$+Um8*KZ8#XuZHUlB^ znRGKPEXVeduX8@$Lkr|*Rus-?>PIA!D4_D^RmZ$pA7}g~rx3qrw3gkaL+_p%ymt?W zr!l)L({(DDihcB1=xZ2>Ry0`;)laCCIVdBC2H6u|;w&wtp{|u$`)w{p5A#rNSWghD zBhi7?sR2D-j1VOk&q#3;nU6FGE1t}$`G4Fd{J1gTMpDuT_TOxv7uLZ6#Y?J1bQsLx z8Avvsw#e|<1RFpMc3sIHi%aC+!dkSUg<)zrDM_`!U*R^elG}G#W~u{PK(TQgmzDT8 zKUZtmA7TxN4Wt?BZgHoFB8<We9J9C^YPdVIF`lzmuWU2|1uf%!tq9~?_Xa4ZD}_L` z*8Fc?BP&>e1&aCs*IMh}6ZRm;6ui6=?ph0mS)FYZ7*qo@&!z;DYg*{^!#}7ynM&pl z$ONtOFVD!^eCm2(=8)bTpOX905l`HwXpAXz8Ufj|F%}q$(vNp%pZ{bcLCCTOHMWS3 zbEB~R&~TH6bZz!Qn`88|-fXVt17s7t(odK;5t1bm9f%CAj}4d!I>}Bw07-(Af<6y1 zQkYXE8(BQ|0%^{ro?GG6&BDlYl1})HLX!Zw#Of?h+%8WZTp+5zcAFUL$s<`t`g5@U zeF{H_mvLBDW@nB<qMDuh76J`2)`3Du1Brz!9;58>ayMaA6t!~uk~p6kdG-pgCg3$K zV;62jnz#cV81xk$>*-52btls;@pKx|UOo07aa-ape+P_*^N4g6Z$Wx^C$@4O{CHbq ztJc1yD9}5xw_qdfd*}21zju827VM>Y@_l)yZJEnN(~fOMZF*031Lq;J;k?qAYw_4W z3y%>sqgZt~LxD*~gINyIRKfPnVQ}F`3VSY=uw|FJB!&+8z!+CWAp>0wo>Qq(C!AcK zV8nRz#hav=esjI`=9??5Hwg)o3Fj|uv2`Bgl6~nocr&zr^Ube>9;3kWuhS2v#4br5 zM<Ug?!4*>s9ym8yiDhK6R>;Cd43T>ud9MH}%yUScI0&Oo9Qy`2;i62zwd?uYC#(v` zWJ;T$98g^iz%iotz^<Vl(qZkib8vHed-n<-s4&_>{z|(uTjF~&*(6-5>P%*O9k`0t z_<CFL6($w2qEf_!@=30UE7v6c>$xeR3@l$56GfUywy{sX(MIJVz<&8!np+wAO7Fy? zw>K2Ln{&XpMRxRO(soB2sW1}pY<>1wl>~wa!$8$0dpfFRi&rg>O_^_tQN%!Wzm!I7 z^oZO{q5<~pxM%1U_S@6W-0hGT_1o(Z;1zaSB)0l)w7~T2vpibxHlzI00(aS`-$IlO zyzLQI9&xOtob0g^@LngbV`36{qRI!)0ug4Xrf}^k&p>u}huXV%;-AO|NkNJ??^CjY zX#|L#qzJ`Z*Nm@Dfx)2X44k}pp8W*L!)!noFw3W;E`!4L@SP%$K@d=n1Oo^~Jz33p zF;AKW5zl<C7iQ5kM)1yr9gTK7?Lj0`_|?dax4Q*nA?}l3h1kG;RJeUAn&fz=G2ixk zTL-Wp>~)=yA*_o~oM1!zug72byQ>8uDplpE#U3sUhPXNS&b)uP6*k`A)ZF#(clF!y zaQGqnJ(Ta?kxlNU7%;G*(0$hD_R00fvux&z2Rcw2Op>YZeqif4&Ubr7Et<<ZFo*|; zcRg6TcaXfrpN<p{PO6LI=W~dIMXCa--`=UEO|zkhlw>$sWKww%(M1E&A~PS9HAT!6 zFRC%;Kv)#bLJasMwgr|;;zwvXcPA+q2V}GT{ExkFmC(ZpMnYtsh9Er0;)0M6NJQca z3t<SqGxp(E5!>*KWx+_dEr;ycA#m1bJ{3Wa8^Q#bge0k~`A{d**U7zVuqr%6K&Ckm z!A?k+h%*_d^RMs=I~w=Klc|MFi`u($3KipmYnx#kIZWgm0`KIsLR8zENhb8c)XX{B zL;U)@PRB(nd1${FE;DS-9|rn_9T~-#RjcdaI)KDrOP~e(tbch{933fMJ*0C(ikcot zrQ!2m`r$-jWV$f(qV(WGdGglWg$emk*%4u?{$@-**QZRKtn1@*H(wNvUx)gJtOcW} z>2O}YC6?>@IFf>hl^l#0%8}t<Q_2uHUR*q^27uDaQ)fk;gJUh(ECj;rixWsX0%oo> zJx1noXAH!{ja*cqj!q%HwTv9kDM8LC4EkrupJZel0|QJ^ClO307)&kH{CG)R{ZZ9^ z%&u<KLm2ed%5I`>9Q=3Pq+XJ4RUF=xC8kqR1jdLhnd~-%LqKyt;Se>9i<F4-Aey%i z1MMnMEu3l@w9*t}%w)Q=^At1+r<V~#rUGwRmvurdEt{YPX^{BbdNbF9fx*5<iC*8d z%CE7358wcUhh#N$!3i-Gm5E6l*k7I$JhaHF>rQ06ccC_X;&?K^fk^1AoL@&tMGiM; z4vOXZ%=Nj^`Xv_-$uXF|Ov=PX-${^sw{j8)LE#uV{ZN_0Fc^0KM~*2>-V$V2_-mXw zO@Vm$#uvy-MZ=(fL_7JXJYrHB5(uXe(Nt(Tq{d}ZyiXP>k@$e=AqVKG7X$0Vj9^>S zO@#e=<{s+m?b1N{Fj@=tWF;j#j3l<ckJzJDe}S@}C|{se-<<H99DfeI6l|c>eWT<h zwtP7eET&4JZkC4-EX~o^R7nhU7^j$$W}hD`-8&_R18D+5AUQ8Tvdw~gRUixIA@i=V z9O9_M7C2_V<^l5_Mm}0moJ0ss*0C}h9CY_iyfRDCO`cQlX|K5YpuTcxBYgM4pBK;D zSj>*Zb1xen;)6HyHGJ^IuvCpFUL|9OZ|ICbu*xW#20N`)YXTtB7`COpE~3P`jowYt z)H3wBrgDoTo}sXVq8!fvcc1d-TN?av;V%|{0(8>w=!9BN7(+oHae*XL0Vf>LZk}GB zKhRO|R1~Co_ekmT`QqrY!svA_O>&2Q0%2h$M@^U>xkeY-&Rx7sLGa85&pw}~yk{df z@DR)@>a0kwrGHML+zTM#iFQaXK0gcxPQJ<Sg4>j_BBLI7959*MmyVQ@;A4QPDuI&% z3Fen_!`)NgoqLUvwUmZCwrwL|7LN_Hqa0;Amk;2MkJM7!qIKIwW*q0Gy*U>Vh{GWd z$T#tyH;JF2Q2O<6ve)LDia%g#E>bA*a|pjA_fiVMmLU)u=0`AwyH^gOa8cBY#m7<D zChh`H_$Ld2kw?!(tcpj^ZRS0C{^#{PdVbjR9zAxJe*fbQ<ZEJm$}3c>Gl`#myJMkF zem{f%x@XXFxDFm1Mvu-fjKd-x)cT-&^$CK5O;2jvSUw*<-&tgkf@$k5g?Uk`3kiz` zqrq;Rq=oTb6)P;2n4Rie*NV5&39%i)?&iT-x(62IMQ2<b!f0UW(tG1MOS0q6T^dK7 zE~5K~#!63a2+^%bL_5hjTKq|L9Qreq!+M4*M$#+^vr+{ko@+TU)H|^A9|M0|vuABD zLitT)UvO!dvysQ_m@#mmgQvo@6N&#@iLQdi@=sL|9hvCpsZ--z{W*_fkYr{4o;@M( z4HHbiyM(~3*o5v9E18Bs3J;o0uk{fsBChR7A)Mb%FahMRwO-KQ1APuZ-gIBS-{}UP zg%}V1yAopxyDx&v7IkIF;+d$fZ;hx|ybdHpNAYZOv$33w|B(C&Z1JVNmda(J)#K?< zfoQ>4Sv-RRZC8|E_>sd_r_8Ggr1A&OYX@BTh!Nt;0aISaru~9Ots5^gGB?_TC2DDd z_ofVY$I!1zip=g5DROqx>t^EPP<3oybaZT(t;q*v9ve6~Uz1Ep**jRROJ}DG&kuoW zMIl@1#~){>5RCLdyvU>wjt?y*QM(n5f^W-)yc>c#!L6!%=*(629lGGF-wz#8Pk1x$ zfB~*~H*81AcxtO6s(NuMx{b-93odQcq1&C=Z4V5RD-y-a{t6s`x5J7Dk0d=uH71&H zoV|seqvG-7iv04y5lK;J%NGd{bt4O~5S+aZV}NRK`yMIhz$#pRRXTQ5j+@n$$j0|k z{Q(JUnLB#YRn~DKDCMF0`YJ4u@}+>*Mh24x%R%z4M&+aAZR<NsVJ|ht{C<Zm?l^@l zZpeY^w|hR_n%fR7^9FY2RL=0;Lscs$tsM5^CS>NTBYLfPvV4cgV{i|@1VhiFtNRQ8 zsQCSG@s|_IK*+iT_)?Vb9V=eAF?Z=o=@v3Xl2H)n%X2a!W)yikBHFtrq+)~0rv%)Q z8y;Gj@>c965?yv>khg4eno5V*iLL2P_TFSqy{*YP>cc>m&^{HykYo~u9;!-Ym3m+i zz{(S^3b&6^YHNu#eR+;z-%*R;<k8a9i_*hmAiAYv|AfOn{58lH%r=iIEDDIjrK1)) z50Ray0jb}&apE#0r$oSB79K9?d^P?OBo-xe&aOo1iYtv`9%Kz2xgTLGG^&iW3&q(A z9Yy1<MBDMFw9tr<P?ZDgL+`Y)F6T$y$d2d5;DuN+l&yl(@vCS�%}(zI*dd7<vh9 zB@#wlMi+pyk;4~zSkR~qMJ(ZCPCg`rMx;UKC&<on3c3g!u-WP9S$N3a`hiEM2dhR2 z)$Pa+YLrB#!@+q@$S1JmKM*)_RLcy6k*<o*QM0!<-UHSZW#xlVQ2zyPyyb76YoMXR zy*lBMt2N&Ni~KNf%I0ZV`KT@Ueo#@GA?HR07IENq!GR1xNp(J3sJD#3C(_Q*a;rX! zV>HjLPnQAR@klv-aT?AI$Y~*z9+6@w@WaYAs$)TcW9Wo?Q=ScUyk1=Z%@?za`~8VK zuzJ9NQkb9&7*s&~+z3MR0ZUqzpB_i%jpCIDA`xgKI+Q6sP-qEIu)=`FDBOMwIK;@0 zog$YZu7~4TeArlX1@*FC<B16nHXR>KvFyygzKR4OY@K14&<MUfBSW1Vo-V(FOVwjh z9G0e^6p!B~?KG@TjuLThc&zx{C=JGWg5xH4uImh9?uc45VW%8<hO*<j%O;*QoLGUE z9Xq36%5K2h#OQAlny12%Q*M8<Ig08bFMVKV09IOyI3vMqG8iX2<=>&pMnaAU(jjIo zA7JszPvHCW1he)ug{zE#DHw8PKLT?}Ok!!NoJ2(1R4UEDNKm&3<!=d}ulxwYsOw+J zhRRmrq-&Q$6Q+O6<Z8zFgc-`VNs^)Bv3tn5ua^CngOsX?2(E+q7-dU~w3If~Ux;6h zIZeYgr^7g+UK*y(t)d^^DA<hS*|-oc)(cP*K*vc(vYI1y3fEG-!_E-9MNow%QSx-v zjX{*cxl<01j^s{#->^3hdyCT-g7k9I$>saWJ*2Zo!Ck?4ctt8AFmoP9+iU=HFkQ0e zPR?DuMQ0o}!LHmdaWl#s3*W-=QSmbr2okJ<qov`a_donWC0tP1JTRW453IJ<wl=Hq z;)%5e2WrHMtwebJ9Xi5er=b8O5RUf{9kUa6gm`JcA&r?BkcE=J$nTX&gJVE$A*$P4 z`2G>jA`KZCU{K;3cJ>Q5;Q3g5_<iB|^B^o54F<CYLy4`VfxzW5Fc9KL##B}!EL|rV zN?x9kBHC~lDjfc?aQb)^YHety2Zqv!B5zTymPqp6(}H?D@z%E9ww_h3ZL8O=i>+SO zYOm>C+1kD;*3%lJ<j7da(%GLW7I<bDmkyp3FH!LF+_xh{eT7v*&7~`kV6>Owh=rM{ z(&gu<tbqkp<p0W4@gkQkb=DWqif3QZTA8IyIdv272PM@(V3E+){~SKmr2la8JMklt zZ6Fb$CL>zWR#1txf68F>#=-j*Hhw1I4%O!;YG#}|4BLeo<Z4gaX-{IbC%8=RogiWB z7u0bDk2OlK+WFPt`v~iX`v4Ni0W{IV>Cu(+;adHnOb{7;N;eJ`CT<pQJTHw-q8KIN z28;3T5Ji|nV87rvuQq*-OZCbFnGgL56*ewa23UlzF;<KLs!UoZ?iNQL@I0|mp>)5l z<~Nj`>i<)EAhBjm+W|L|Hgi4(mGRyxAViLjr{7+MEOyxskx)lGEd6f>Gq8iDI>4z% zyw7I#CZXw#hR_4_ukaRe>XqIn5V@X&;<z^x-amr0!An*eVct%CI5g00XQO3bW7#~n zl=0lSrUFkxb&?C=rh^b8E~*X*f2$ActkiJWaZ0M=UQ?<QbxqN=&;LB}%DziTY26lD zG;dy|+lgc3$nOoG#Cep<#|U`zDcxv2ou$%TLkAZyQIBOiBmD`CS|`eLK=K~ds_~Qr zxtxf}U1!NT)t?_oi4h$nrg|H}^7)dWw1JDL;)e1YUR_WB`Ldv3A8<j*Rm0xA!b@$l z6UlfD9g{P&kw@5FCI%?TXcaHNE}pu@8Vc7v6Sv+Gg%V<_fU}zn3l|~+Z;K~Rl@62C zr8FDM!6<=H>i{KxWt$!%N$af`nZ<L6huM9AeCRtH;2sMR6RH3x1!!@Ixw8`u;-;Ay z%J%4%@l^NF05{`AWvYp&LoCzD9~ua=6pa%paRrWX$$>tUN-jNoh5H<N$t0~7vL(V# zLuSb&0*5zOUB#Vn_MA=%<6(gA@lzkwGoICj=9%y!DBjjIf|cs7MNSG-7s*sNHPAec z>~m<O*V<m)fv%iQLh;$`&?#}=#4wMYF5RJORC>|89WP(5G!>E##e$y7vL#53ZgQ3q zUR@|2zcY7sSYQ#;$f|1`j_}Fo#5A2s9dP!S!ozX-dfvP=`;wm~|CoOVCx*`nlIP_9 zJ`hi)-%2LlX^X9jtyvdayRLm*CT_QXv<&<tXbT0nbCiuaOc^71&bdQyY^8jo#%SS@ zDiycHu=MwQ=2JV}MJZB6DspE)K@${$Bet#G)UGy)h0-esU`!{BAS5<wHF4h@oZ;(7 zFiaNAYboNRD0mq>jPl%n9L=ZoIglQRdTqVZvN|ifllgiTbkhp*sB_7Esl!RMJB<B^ zHCNV&`@ZqY&E_%F2dsGf$HMI=Kr&GcX)(3%`taP%X^2|jK%jIX50%3|&dyvwbyy%S zbTbm|r5}<ak>v{nhN;uzPdydL<W%Xz3=AT7)9O{LATh@NzH`&c{q{198C{FjUMa%V zwI(~t3+P^fA(07n6;a;%^U7W8(gS~4v%hV#-$PJ%D`Qxuq@pgz3YV4fVYJ@dI7>Y9 z@PlK#(x_g~V`RV&Q-#wYKfv9V&e=PVYpdRt(v*O1qC8$4w=M`__E^Jp7pr%oe#Ohb zyjwbk(nQaKG|?Pz<sCO$`gT0{s=hlOgde%%8RRXjoB1Q9pt+pP2kJ@1y{(QjshHa4 z-}l9{X$pr$0O0ef(oN*5yDEEWYNbR~L=<&=gjH2!mmnhf@)VRuN|E&FQ1Ki>OujA; zAF?{5V1TMot3_+xR@*CAC7^qY_q4XR+N<qEZ~N*sJ*!YaJGLy6`6(VdLpmv_QZK)f z0m=k?3`jr$>atSS@2b#RRH5bq`jw*QyZ_eeQO`u!Z$wn5|8o_k?u<1VhIhQ9I*mMr z|EJSs(;-4ML+AO~XIxw{Gx&ErXxX!AOUK&y#+6&PuFd{=U1sw@_kZ+u|LN~rQtg|! z?p+sKxhD1>AMdw6|G4*qott-k`q5BFU+?x!f9vVqo;i@W-~VXkKbp3G@V9u|<}L64 z$GVN1b|l*Sn)1DUo&wA27FAR>z^Oar*MI-0_VPHC$yk7=3v&)$h<Y8pygDmS>Z2~4 zPdUR%6(5uBc;mSxIIGfeK_u1{1E9Srp8keZI;e>uNz7Q`11V8m73|nb**NYUnY(qm zB9rUW`N--}pr6wDtRtNdPt;NRBsqEdiiW*Z%c*Kz&p>?trXi{^PGu$AIhdt~RY3@d zB9XCL$1O)W<Sn2at_gSBlG3WOvYRI!z+HaoLtNuoJ+RgU7m2c*Ux@s;>xsC$kuIC0 zQbSQM^T?HL^T?I15}PDbV5u$<F4biPOC`0Zi=3cwAxcPNR4f%asz}D5JnJDF6h>n8 zbY20FKF7NAD`*rct5URpW=x?nw{A2H;GD()d809<J}Bse9>uBe$Rz87fI%i5pcl@c zyNDKkef}@x$aietS{S*2WSJ&YPKuDTljPNO|7Pju<M6%$vyMC;rJr6wOyR1xU;o$4 zF(^gV6K+s^_6$INXXqC%VO8{Pa8cI^csZEwerM?aTX{aXTc>GtT^Rb*=bLgL9@zL{ zviF0Y&kua?*VcjDn!gS1_{)J@--f<KfA%lC-~0UY-GAAU{OhM1Hn#og&s%$AyHa~o zE3@ej*KLh`*1BPL`~J@|@9pkexAq^~av$3JH+|6Ey&;652SpC>LwM%9ne>x-TtqG~ zy=GqKoikq6=L#AitE?1Hc6lI%Z*V^g(hB{rH$aPEB0@)$c(QPjME0CS5;2uIa)>f1 zH;5P^f`~`TSiN{DgTf{&%MCobz&YWkzLR1+tH)U}!39qXYTRX)Do0R{0err*;&N!j z+e=CvN$?{n8YIn+D+Gj?VO$B-=oeYL@Z1m>j7%Kn_&8^VPP9>b#X=LNx!cB&-0coL z4BhVqxI+a2R@`x!w5u3Wo|bkN`XM{HKbdxPM1EHn@;EV)(U_Aam<!u%N@r(6sPA}W zEL`oA>u6S2P0Kf=-x7;tlOi(D_M~75+xWp|_-3W0_*{K1J>}rm?G)u}LWw!P{Q~_N zdmX01ny>PZ?;D*EfvLdxhcF$?J|8Wgxmr4QarWgXMT!nzkbpvRPI!F{c94ohp{};s z!M}X8D)#xn=WF8a?|a=x1IxlX2wBCg33i7H@nIqtBvcutkQlb!;;@El2LjL|)dPW+ z2C?yDioDVUB9!)2uUU=gIYdLiEgi&C)gG4yYh8@>b+?2_3*Uyh3l9ZjAw?IiUI2cI zUjg|}bBX}+re@rh>~3&QDojryv$95M_-4-?MbW!gQgx#I%QwX-atBAV^27v~P34@= z=c33#Ch$UM4~kKCC?vNKe?`q2>8hU;(4vNcSA>@09Z;f_D?9$noJ`;Ln{E>xr@{pt zNFUJ3XVTZ$cPvBSRz8^v;R@*FhjtNhI(KC#w|srhWZKSiWx#!QcaFj8Ln*x&M=?~0 z@-l{oqOLf4zkF)kaiSGqyW_b}Yee(lI9-qmwQ)Qpg0?U^Em0j7W+lz6xihbD7m)&O z5-}FT#j7{*r2LG6NX$qx<b|Xp<4C4BHd!3KhxU}O{K8X8tcb{x+m|Ruqze^a3t;N| z(BZ<7Uyw~o&3WH`3lTV_nPC|h0(T_Jk<z9=zl&U#<X|;*8Opl3TgWka9V>|^<)cqD zESyiJOc$zU?a|Yz;%asIZDBrSA^2<!Wm7QMpd4Agd9Z)5fx_ER=~l|C!@~<nQz+IB zvz{752Kl*L-(ellKmsx;R1OD`_!+gf<=5X8f4V6NSLkgfEibl%%Hhj0;%*L)DBmsS z+<@@X0&nNO{(knwNa4}r!a*$VDN<rGi8dyS1(7m?M6fUnaZ*Ffl)E0{#(-5s{?E{! zEb$-{*aXKn&c<F;6=d%fu{U_f2?mqa$oQs%u1WVJZKp6vRD(M{x<hzc|21<EMP306 z+vD*FB6zYW9=Sw6^^zoKfoa5{oWTO=j|ZNnY+7lfe8SnQxjuA9)Hbf^%Iv|QIX?bV zSzS>Eb%9B}-CDn+CrUH_RNnOLkw9l$YL4@(@)HWfVu{qT+DmwpI*P`z5=VJi6xM5G zdvL7a9S>8L^Z)`=c=Zj|^Rpq;+{hyt;M!JxYjzca4CZQ>=wLo~5hD0B6eX%>7DE6= z;son2>WLG3$sWzOkQxT}pl~8w8yk)#u(U5S`<r8}5AU@go5;3#@%I8<A!jNS=@>pt z7YM4=Ok7gU7_F=>g$P}!o4_%i41>OVc}8Y|>xYat(?{qU7`;~*c?v=-I4bb0uI^+W z7I?c0#oN1j2Xpk3{NTGlgfgiiA_-me!OJs7camdHK(P}q!uM7BIk3A(OHp|JvUHAw zHN?w`a*xR_#a)VTIv)}#FAE2A-V_R6tMNYfsclV&>N*$Kb_~cvCQY0OIT<{xz{xP4 z*5_oH07Fg&Uygf{y>+s(Di(hq0Lr=0@aLhF^Q8mwof~o-U)LNH(kdK=wI|uMC5cTy z^fK<S()By?#1fnkyhN4)Dc4dM`6rwpbquOzQc$13+K^6UQJe?i&7)jNJQh>6!$spG zc1?6t73I|n!0gPfU0XLX;l)-A#&bC^w7O7km?wdGN8`*iOW`C_Kdc5J9FZdYO?nC{ z-R#6IO78H(q_w8G71iWD)4{?h9*NL^)mszSsJ;!j7H1`5t;pbV9E(RWzc}pd0wf{c zU`de)gI0I)1!9E5KRGr64J_J-zD4a9A&EuFGg#h)Z5YwsN=ik7jpLUQw+xa(Mq-4N zOrHl8LIwosRQOhj2oPu(mBj%6Yvyv{)X(xzMk~(|xJ^;pFV9e{xf6>mc^YW&oWP@a z=x0>;Ml(3Mg67Cz^aKS3=MIz8tThlHLKK=sdEi-f#GNospng4-pO=pdQ|AhgzXr>R zo=VdfHOWN)^X#k3$o;McH+ckM(sO4omM15{g9=DVbAgFTu|SLx#f&8I9|Vpvy`Fta zJgD(4(ZQdmOVcQjPGyxa9wp~Hq+W$2Wzw|Q9l{!;e!KL5$rMIzL!Tgna#F95W=wK) zsI}#ob6gk1c3&h%Vw|}0)5G*9DmzV|lIdFEozP;BTtw&v0eE=3_~T9KP3BD7%Xw9x zx_7a-g;x{^sV2wOneYMa@8t<Z=m`kIOh>YzZk%04UJ`U89T@G=ga&|&Fc)r=C#K4; z&LEo@V90{X?2*6#?h0rrJyR}zq>P;Y4&#@>t6@V`ar`=(A?~E&>>UgVUmI*Ia?6m% z5*L#~jQ~=BJie(%3ib|u7HWG~?<4)AfkrI=kqZ)cCn~JSilATb-K5Eq=VsDRjeE)W zY_YeJA6)QG%A#uMud0a-b~x{4wZQBkW-4(e7omD+Mh+l8U0@n_p`mk1k`c8UzfyW~ zi;~=+%-Qn?0!FAR;lPWha!^GH=;FrMq}+PKS_wb}N~))UdO9j*OI?tUkaqN(fWS4W z`@mrVA#{!uF@^$2(oQ>5SianMAyJgFBr<*U5<-jU_Hfvg1k9G3;6BvIvH2B^+U5}K zL2+=zl#2BTQmn@cQtu%IwA*R~E?YivtZ?d#Tu4$Z_FrX<MlREB!uU%RN$0|voFP>Z z-#e1V3W_Mw4@tI0Rz%5HL|iAX&AuY98l<wtS88fqLF*I8jM9}de39~tJU<1>Sh{kZ z2r|gLw&!pkgh#Fc2N#Dr7yNAQ(inkZ(kkCk@2vhVT|QkH|54Q3Y0s|j%7X@V^v99q zvCasPiR{Qh#mm>QD*Da`$6}sxrR~S1b@CX_p`?fcn$Y|?@jG9fL_xsCQ06SUy=i@T zq2MAx@yo`|p<l^Ph>5&BIgNtVDv><Nc2qhHtEO)z%B0`A+7gCEFQ>?f=3rcM5MpKj zl?-aZGhbJWS`d7s`aamyy=J4{>FaTk_ihyY5WT(AbcdZy4))vGcxsoO-D_v-qd5uC z=0V*JON>#yt1CHNzu}V(-H3<wsG{(p76Km_5;EJMSc!zerZ({{LCFO~;Q6lg!fh0M zdLl=UsMZxED830Xj7|)=G^VGbsQ2?{QL8X7ZuvJYh+*L^D&yG#RJ2hemw`m0+fZ+> zo&9L%2aR0ZV<Z3hCHY-RwGXSCpVXTA#q=<d0XqHFf>x~44M)UKv~mqk;U5)myg*GZ z;mv?1YOa>x2bo@={yIB}U+5*)$WkUA)Ej&F9YSzCoV|B?-sF9xBv&{NBN1|cF$6$G zi3bpGQsAAV@?a)F8nP_@dW|E_G`_Tq-3ocT6*XJ9MaVlY=u+{eS?whR0D#9<R{{|I z7N54aRr)mg?Uqy~Ug2YYy?Uh=c2tI=L^2nLH_V2Voy~8wdox-4qcp%L>O*LUk}b$i z4f4&lBBHHP{nc^?*h=Bxfj99<O=mz%PFn1lyZH-pAc`0)#i2<Op1fMTN%=-h{EV8E zDw+w(wJBnmg(5|54t#Z`d`x|I!)HX&(AC<LlalZDQI{Alph^}bm$ncHl`B$$@v2RJ zuE!$I3{jS$pzX)~FvD3v*IS#NMVn`B)4wX-+u_~)OQ1azbEt^uNc)x1-X(%&ejtkA z5Op6s1!kw88m-{{5Ai{%42^7)p!+CLId}Iw^~Wczg(^p~t`dLyAWVEmz6uc6MjjMz zaMnj?8A;-zg6F=rhwm32kCC&|3>uz5MoLr~l7@3<C%kRrO3N;SqeT&!5GW=fs~PQ# zUumAARDf)R0`TT5`1u|?Q8@m(IDHz`Hl;%VA|w65OGQo%>1_@gC0Wi3oS#z)YeAzY z1thrS<|!%>f8y@!%Q0ENx#3}yb<tZzD{vEH?vw%8_*KVIYm00+v8<~Qv~Bl}fpr}N z{cAq%-R%jlh&Tbdu<+*a6Ee>!-k;2Gb1TQ!hfb#Bdy{=CSBmZJpqBHxrg>o!fJ;up zw@V>`*NT7}NgO>$$^Z3>!qI8L3^Nmu=;eHOmv4em%>8EXI>@eA?^vPFH4cUfjMX#p zp}>ReJ5Ax^%+?*ymDI`2OPO0U$wA^-O!ze*0PJ0n(p!~L@D+0H2sXfSg%obZ$%AC7 znz#nKQ=WV{cl~FwwM<?$c@=XqhTff)+F3)-=6WC2VMBcYHLf_`GbpoQZ?g07m#WWc zjwf3PByFS%x`u6xEi|dAkC$ReKIWwb^XBeECbJrJf7R#i)T{4hpQV_E<VYr+n^X}v zc1otC40u>jP~Q9&y<f^n141H9U4@aWl)Cxkd3<j=H>y;e%oxfgiCe7jTosH4ae^*G zlznt_9yz6}4ft}5vW)rh`zoz_4U0rkAHa>hNvc8dX;SjudZ7xIsGQZfM3HqA11wM8 zC4&~HDe5#=iX2W(UGV2XgtEy_!NqvqFcf#!$RW8Y-kl^LC}V(xzG_IzTlCJkNUg6@ zcS|bYo|O4;FS05#Cp?r$W_EE_#yaJ{7a|%bxODiUI;-U<E}o*sI7eXk1uL#JVx|{I z3!o?w(_5#-KnwSElcYw?Eb1<OFJjp>-L2d}@BAW(aphiu*DR(9`@|+L=7p=4gnFn= zb10EiCxi*8WmT9?g^m^SM2W78iPurNLc@Y}#PBJqROr4W?xA$-Md8&!tFgzkG|NCR zqJ4Dg%6Uh|^Hf+r7PsMlDQ?U_bJql`t}pg;a4CL|==RJQE%H%<W(1;&vbM2GS{%KB ztFo&SHst9E>E@{}+}4Dnb%3*v&<TxZr1VFVoI`?9V1RAK0IR>QCLF0j24PiLiS=+q z{r~K}dwUc|k}v$X{VD1&XO_zjYDvZzdu;Dwj6Lkwm^EPUF3&!rmehhaQn#kNWsJvu z9|>DR0)zw>V2nV3xfzTE0|p@h`YvZwefev@!uyMi%&e?icUP;_c=j2evxB-SD<UtE zk&$sF?<V*1<xMvy&z{%4^lXMI+dk|QbLUrYQ+@N-?X&uR_+I9|RNwv|!-p&$>8zeT zPuLncCE{^t4He$2FbHfUc>E!YC5my_3pcEFAE&xf>CfTiv^%|@e71HMa-uM}wIkCl zOU(VwqHz+x2%|H4Uk`CnyFiL^UaSHcIl!yaj@r}BqaTIw1sxV+gXA<L>~7XN$+muN z$AX%o)jJQ^3&3+8)N(gfd|S?1UNLF)yB_YWhE~tcQEdZvkNf2+>>xLSuwC@wp1sZ3 zIzUrnzrZlvs@$Ig?JYqUVEsiP_XOW0CGfSIFhr85J&xk4R2d$SfPuZE`~paWm%p&1 zCqTsEnXsgPig2`qn<@Wv1U!$snO4)1c@)zLIcdS#x@XUy@HbiCPYm0WcdU>4H;PpJ z<o&g^P{^e_2MQ_c5712arpOVxa%Kr92(_QRR5?#^6669criW%r*h;w#f$xy;;eQ0B zBl)j7e!xaI><bGNYBBhfylI867i+-L1eio$5q772UB@TvGb5}$WM65@_79)ysVDXX z1-r2)lL}sh3@03n00xrLDtRwy;Bsl$jmlYz7v}53A||@$^6*jq_J?xmf~*d*R{U)y zfNUgqSEDm@c`V$a3m!J6p9EeUBg&2rFwF^-29Np#OUnKn>Zf#XrTah9njcOfGYgdJ z@$fFzEs(v2v1~Ne4B^NPj#eMXQckng6?JVbFpxIDg&d7f<QhBvIsP!2NunNf1Kn^c z?$kG-5|i9{MkyZV>EMj^#69RsmY+-(Pv51u|6`9(Mz!kZ)Nz9Tftkc3;s!%<PZTUv zC@T!)VU?hZ9RCo+Nf9gst2<dp?#=be*YcO~zH1-{p}epwn@>|vm~7{HYP9c`iCq;y z`O|EXJtUkd;O>O%{sq<0{S@tk(qvSfhibBn-V@%P=i&x6T8TlBb}W!p)NjFgzZxsx z4h73Ox_|Gb3S9@@#nP?g%3IdT3UDbeEQ8W}2!qs6I;=zEl{_O@Rp=3Mq`yQ|OF=D* zU-39f{+<=)X=Zn#bC%98%ju+87NA|`^p$MyQfd(zcNm6nUXyDsiu)oSW$tkip+VCy zk$+dbD1t|D?j!nK*wxvqkfe-rQaukdlXTqYJow6IK-ilI6dJ<<MIr$QGfn@DT=^W0 zqJd}+UJfpz{tUv1J&xz4yJPnAVeS=IO2Kfv*I_?t)U_S-f(Gvc&ucx0fg2#wS?TX@ z{e&+{62)_5Mx%Uz_*X#s@|qyRy%2H&`l1q}NYwgdOxJ=2jew#N6hd@|xGq7wRu2pt zHK|7ovwrds&8yIl@xD3%HON5)ks3%scxM5M`NI@#91rEFi&9d+)tpjesY)jG$yxAl zu4#~wKFm|UAa(}}OPNOQUbnXH+9B?R;=I&dqBLU-N<y_p>!gIU=uS%aE5rbju@VtZ zQ&f!2$FOv_JVH88C@qwmrgVGBDBK>j*@)$@#To1csmaq6+EYoAlwu{Cbf*BSh=ws# zC77TiRS4KCbE2qP!-lzx&R@mRWQc18yRqI8eYTkTyi3dD@hmGpbS<g*DDXsy#t>ZK z0+-U0ASuSHm)ai+gIZekTjoF$80A8*o_UU(1*T=lLj`)G;c-L**Kyrwp5ZNMTG+`o z<Qh{)3O(X=L2#=bWI^p+BpTj86IcwC8;<EK}{@6=vsnd6Uiu=_O%_Y}Kh3=LbjY zaB4k{^5?8f%!^D$WJci8@podlc>HHdGO;)T-63xT`x?S1PRf8gap@+3Nrc_ulNV!$ zh8B`9_b~p7m;?^2DL?zUZ8HUYEZnf~o-6%)V|o6sth9Ss<(9INo$UuwU#ydHHx^y~ zKTqZ?JOd!yrUkf`{#>?@rJ5KmeaZfou4Hd7pO=}`A<K#IP*BKRY*`A$IwXft6*DZT z4GIIfjJ0lUYwKF;pDny=DP&=)Lv^!tZJXDxZ^`$<8oh2~JJ}uR+HP6&m;8*o)$&<3 zomsbb?fT!p{5563GWV(?Vnd7ZhVDu&?Vn|(dqkTS=D_)Vt^e(GoeplrIpnmF62xiR zlI%wOTp^vOyYzZz07~}|oWsLOP9p5?d?ZRUzo@qWrSpajjS=yN4e~1L-UX~i<}{Fe zErmh}S5zebplhZ`#c0GyD+VEtofQgw3L0?)jt5pxBz)!x7U#3%OqLi0uC5#p#og1h zrmwnuYo^U8{Yj|&9gmS5NJK=voLtd>r<m?DB4$|5xY+C@X+kqE3IUfF?v$TDK{Lu( z@jyn(2S}i55Rw4vIVWV(z$3!-PHY9*4l$k%E(C!G16dX_sowktu&T#*(_zOuI0nKC zM1YqkgBM$50k-=6Ch(3_ODQC8#v-2<JPjyg!s)x5XUHR^dV8<^1aUL)zT@={3rGSp zGe6jwh4WXFr{BTZ$Rbp6q>gV9kf72&b*$!6I3o#L5T`}m%d#8ZXQ@A?4##tetF<2# zwg#4>YEW~KTYN+N!5+U-8atZc3~l@aOc)izmly6J)esyxiF+>&le4F2TAW-!x>3|; z<~F>Dlrc`^HD#_#=?hMdqBJA;yf*TBwxjtu67o=h)v;R~=mWDWnQGhGUV9CI+uF8l z692sZD*e;my2ZjV7p6;4yH8ELq#WEHjlHa1)+U<Xbbn_ynd=t%^^ZC~gVX&A_3Pb2 zPET|x$cllg--Jn0%j(?<*_dsQ-7Y_TSiHDID~>4R*(c!wuxWnUX7<&8RU_ez>I6FS zmJqZ^s=^y3PI+0d3A4)a>%wiGy#X&`Ja_}32cNnsTbI6m%9A=Cb|Z<$doSA-hIJJQ zNyfv^FG|O)y?b}OYw;e(_IFa67}DAcyJ5-u6<;<&CyOarI@G>l?OXfa_U*69LY6C1 zMTBCkM(1Hm>Z1ATjjGds6cbJ82)H-Zw*qCci<SH-g`i@aY6b{N<U>~Gvm|yU{&Pj_ z28uf#-K)-UsUWzcggn~;7a4F`SHesGRYXrUji??1p>}~p;k;M{LU4cwF8=l}3K&RF zdVf3%pZY>XA3?g-fLF-c9ASx0Szf4prJsLZo*$z?>L(B2q0zuq84S9R&GzOK=rQ-u zvBoK9G-z{*v%fgZa8J5FzX82KKiXO>9o>bxevotc-YUZjMDnv_X2;%qqY1A%lX))e z!ce%2NMb?>B{`X*J^U1c09~vR^)50GGtFZh2$+?rC#fUmVl*&Q<Wm#6td{JH$dXSP zFGZ)MbRy@9B@$BkcsipKuA4m+%ssdetY20^znFRrEfA8ddvmOt@ZA;;O{M0>^gLX- zHoyx|Z*#+BMP+;AyZ-k8n&i9+aLs*KJ-NDj9~$)@w2BDQggrD}yn9s#I-1dv);{XU z?!$Q$byjXySQpj11_@J)vnpU7wj@PnA6&RtU5KhElTBG#b<{6L3vI5SHdV=L|C{dg zepFznB4aCD2CaVj#rw`=X<`j{8c3~mix5Eo1F3c3OVqBE_1fb(I?R&7L>MN98ng@l zZDDgK&KxKWaO|UCOY*1}IR|ja!(KrJb*Jx@CPz?H7s-ePzZaEUrT$iw1_ERYoYiV? zMZ#zM$wTWk8~~$M+a}y`uM0oHQ}+BfbU#y`MBvQu<zN_kkKmz{Oki+N_V>4ZmWO{H z<PFaDXa9Jw_&wDNvL|oA|AXog33Vv)G}`m?epu8Sbmld5rEL>+WDK@@Z%43mkqg>> zcHjPP9E00u4?kXpFV#&b56+iw4y|%^T+AC%jg+Pyz!wT96%I(6%D?AYxKt3`H}N=w z5hG4{P<}-2X?ylc@$!7><XrjK5n99_2aCTP*F+%COt8z@6Xc67W`!0Vo@THP=%4pS zG(cpy222LXq{4Yv9N{FuO<dllWGJF*LkTV>tFIs0pWm{ns`qxm>P;5Xg@Nvrbo^95 z1#9RMKB>Lg%zjrB^&4%3DuH_A(IvRMl$B|Zh|!swpSfKXMeh4>&+gw&*}397K()S* z+!RIb4Dcj3qMA&pt+i!Sm2xHS6IJr1=d(DMO3$yAhrpB;iszB2j>?Z|uEOd!eRi2G z*^VloC@xfdG+G>*V~rrRa(D~3MElq!`S)W;Y>z=itfeE1D_h5yJwCri*C3jT{poJz zi{7+B*vlI&duE|@1sRXNvp$D;0Ha0<CE5?nb{QmL7T5xZLOj6>2iazV;n3XF8lP@p zPMDNS1Gb8J(z{pLJnuy@KzZE51`KVP*Z{0Yvn(zrfB*>}sl1UrC^i_~K2w>l+~NL0 zN~kJTGzGm#e@?#yM6$<zP4-=K{aZ(JGCh#hgTyF`XC{i@qE-MU7(`Is^87VqC+C^w zT3FyG%Sd1G{T!bf);_9jH8;XvlyCk>dD&;r!PM4(<mGt#^EQ$B9r6?r3cE9>cKA&g z!u1xDlA`!?Y%T=Jz`>sT2d%Owk8s=)=OY<UFTovmlxi0s1W8gPg&}cn0}vN&5|P#s z3GB;rBf@tVM-2!|tZg>)GL~tL{Bq43)|!uYZQuF+j(6AabwQGbam52U-k@+Ts$p>d z3}}WZcyhdS^B%EkMSs{h)KigGWS=>N(&D#BAJ)L+QUFCZ11I~0nA~nd%}iV5-b8VJ zzBoF;h~<5=gKt)Xa)}3a$S`wf>xqtg*sq7s4gTwXQ<DMzVcYij-Lf)0T^kQ@wj1mx zg`x)2ZEF!Zib4g!0JV^ld|q6xnV{HA%?CAeF$+DgkTn~nG^!rDCMQvyHhD-j=LjlD zLLqcjt_BLEaW%kssh;vm;gI${3%nLYa@BL=2vjDCidgZT!JaISpaPA+AcH`G-?z>x z{0aO(@*R=Z(K$$;ohmI(bMY>GjK~2lP0}qxT<n<{Y<|u`#@<a;sUTLbygzntdTn=S zUvBf^{~SPhTgB3(PmZ1wrZSOmGTny&s(d2Z@>&1>s*;^@v?0UKp>#JFOZVSc52Vuj z4>&hg!rXNri{$<Sc_?`^S8{idPP#mGl2Aey&`+0LD$`D0K<v^Krv35v%jhz}B}vpA zk<)E@ONT1{x60<yJ$3Ic{n*@Io`-?^tL|$zwyPJO=qz>E&=JvvyLZQ~t=-+2ym&nb zb(u|}FLWa^Hk)T(sjR9x7P`L8i2J%oA4a4scjNs*?6A_aQ#*FyE^c2Ol;?2`QO(`Y zP&!mM6wF?_UtM8nF4O&nT;(|(J+O__(fy|8=}65*fyr3R(!COz)b1(Z#v0YP27ZR9 zR3dI=$WUc)2A+-Jb~qW?YoK&vk>q<V0*Q)KRKQ0DW(fx_RcM%6PR>>Ce2?OG<ROWG zmuKUUptv!rhC_EwPG?syL0%-uN|n#E4uI!u?LyRIvg`2nFZ$ED)Sh%-%96R^MTI1M zi@KlGHxLaN`UO$7P6%Tp4_=&vFj&0&6!}w;(}!FY_IG{O+AcV^WuZ^VgH<|tlwIAZ z6I?}O@LXx?7wQV#$Ehv^iGYyv1YFeQC@tRQVel9%lD@JTwG!mmu%Bx5L9u8VS0kjq zZzJKv;<{($UmlAOajK~=J1m|B?hp4(mF+sQj|UfnwkDN&y)F6rmhSe}&7EDFyE{{_ zwYPV^+P0;&P3Q9Xhx*H(<PLIq-vF`%9!|h^M0xNM-Px`LDt9DX+k4u(UTtmPyyf+_ z&9AnmUhCP^`pT<qU6@e8#sW29ZWY*#BXrNdzsTioovkJAL?A^;gpf**1{1+!q9tpY zh)_q!ky3xfHIO-Y8E^lFGQ8M?6Q}+*IKEN;;70P1+>9bN4Ub44iP*GbKjAw<i2CTf zwJ&}HdX$tcuNZJ1!ZWGgLlXRnAEEGqB0*}%ULn<F8>uGI1!%}dhM@^Vr_h34y&_%> zQ{`1EKej+w38_HM;>k_);THWNjq-(Q*JuHe7W%?7bbon%5!zFXhN8j6GRQUl3fIxW z(!x!CnBaE!VP87_65cJG(C_dQ><GM+H9Xc=#3-z<tc|Y!oCnSu-4qN8i7eRqX?^ul zf<R8q+T&;G>32hzNYE2m1s~odO^^7A0(bZ+y+9OBYCrpkY=)E9B_LT%FA6w~1K?1* zj`--!Q9P7+t~q0nMtNefboQL;hXsySx`XtZ{BQvmeS8S(E=||XA^$6`Ul{xf#iUP2 zKNrF-Djnj9efNevblqNf%t-O7JU)kMqFl2VFCo+bDib_`&H$-rF^_0qKIex#*#uT} z7124xtM_mfSYAMm7j*as&nuo&&qIVbV4^($mlsZ#ho&I>0CMI0)$*0W;-kOPhffd^ zF;f2KlJ55M{6l-;7%GWXZl8DwYu-k!L^hSu*iRTxg2#p3ip7>QjN@(y3OZ~!^I%65 zHYN3X@<`OCTqqtxvBG<3SvikX<gz2YdWd9JYbEJ)0AoO$zj@&rxPp2ph!1M-%1_UA zKT9`f%Fk|KM3lf;<T?iwKETvx5*FR19xB%)CS)*z%DG$IP8{|WOf4x|s6??>)YoG_ z!S!5$d<lbw&LvTN_#FRWFvXec{72=;Y;g*_WvKk)usuFsocy`G1U@!oFWspOo-WQz z)2oL!F^PDNbUiO&EAYDnKc?c46Q>j+iM?`dvT_~TH>yK}-TD#+i$@Nfpk56&r0`Gx ze6uxe{IS7=`H1;3QxaB|$6FDfDGU-Vt5IpkU;C+eZwjFK7K_oMxC4#q*d=T#8WPv@ zg5h9t1S6vChK8Yw*8_4A!v}{g&P|cb^K7<we^Ns${_?nZd`kahr21#^`~sB{`)R2- z3OQ_ue`5JcH;^R*yCMW5g6_vr#Zy%9xjUxUvvTxQ`O-M?!pe7#;KcwClv-arMRXi^ z1Meyvb(O0Z%MTwHe}1087Zkp5d>AG15@0~siuemdrVcD!tepP|@R+IbtTJ7~x4A@e zZRE}2A#2a-6weJqK}SP?^4>nNz^|z*&nE2ICDmGXh}-ZMp{@wVsXwU<pSBmy@muww zB!c4oXV_utp#_us@)Ar37wzFiz~Q%a!hA=|Ab&1S5aT&BlGwBxVD)qR<Pkj7Kgs7? zus|GHr~?2jdiod+A2et$kX|f4JXd;-uohZN0y1;GIQE>`2xyBthMj?3c~0{L%8nq| zf*ODv)s8)-o2QD$27!@n3OMIL+_WhtuX88)3Dy|s$k;YHg6F!2x}~|&=tcvJU1OO? zm#~+>`_%{_*8hZFDY0s(hz9qMLy}rvJWkUheuDjAnRIXIp#Z}283uyTAcjM7{=_^s zk|cneqk$6!u7-Ii-lHT|;`nx8i#NzSMpkXU7l}F3dyPI_K$$He&dg8ZG;p2&3_19F zv05Y&fj6Kk*RMk)LOBUhDBvU?PhjCzg8rxBqlpgy;wJMa`2f){>pdIv2UXa)Daz^g z4GME{PeJ+dE&J*>+(X^Bn)0D3XcC)XVYCj(kkhpAjv{pU3p*xJxpX{HnuTaLOwdmL zButi&dmf=<2^frEa8Ga%ZF>Lwq<v$AxJ~icHTpeq*`B?as9e8C@=<B}Y30mxqH=l$ zm4ERT`~uMo3Dolj9Vd|H31S@{SN=L(K6XE0U$|QyTS(x*#XrnSfz`f0oWMVTNdJ@; z7VrTdxe0g{ap&l;x_U1`Gk2F@N-<>kGy(r{hGCV?KWF)zMCSP;iRI@@D5TD;*`B=& zM!-!0h8Ve+5w3K-YO=X0juAc#kOe194}=kVR9ifQbOsKwVMBoOj*W3IOP2(t_z;S_ zrg<Z<o)|f{`cp__D^qOI-$Lcey27N?JIUATr_vVEFytUTsS>4@$NE*Ocd#n3APOry z4koF?x^<;^e1>&fP`)bl9Q0j~>!1@8#^pggM=^E#F?mN(5RiZYWd$6L5OX9gWJ0-S z*+T2aN`j5h)=_+@_SfaT%^ob3LHM_jt{2wm;-yLG@*sl3O9&;xQ4rko30Dc%N<GBI zki07DiA&chffljY#c{~M-pnP6(%g!D_0-hsyPvICt?vORNX(<v-<c{L%H|GIdB%7= z>16PUTcvMcS-Gy5WTVAtR&IoEcGDDUps%5(m))l6kh{-#qBbBvd(`y?0{0>tFU)oJ zJq}#zNET8*$e`u^7zt6ceV-%|$sDf<N4S-!0u?3}W4(jzH=MC3)My^)s08<s%R{7C zLDE&|?@$&RN8Xux^-+V_J3$V;B8T`J)@BQSHFOA#PU3GW)p_?EeCRkWEXnZ-kC7{1 zm=dkG-VX4?g<?LL%OwwUqJ}-$ci>gOc@w$uwB(FsSihdoGVdTO0Xg4qh7*&@=0IWl zbYs02PJZTyssw|W%}i?aKi8xaNS9G8i+<RF#{1n#WOY}b$MG<t9>)va1>GRXKx37g z;QqdS%{g!2*`tsELBAf?b8R%UCvKA(W$KpWg7^5Zbe%_F#ppeji}mN?Yz>pJOs1<R z{R0#?smgXut2wP2eNe?vt^t#?M-_5+wKM5G;6;1{9{{{M#f#~Q#X1{A@dW(^QM{fB z>O%v*XcYS+hV))g?1l?Ek8lGH5l|)@^<g*CHYqYkD2gUR7TZE*`xKkQ7D-rsMWjtr z7Dn14Ou{vMP26Fxs*`v9az+^ZU<yYD_*CYd9C`0#;&vIy3*gcZVYdg9BzO{a#ec4d z%^)eHIf?O5Pt|^MW_e*2t_XTX+_9iY0yOs!Q5Ya))p>V=jTU8{HFC{E&5pPcx={&V z2c%pO*3(<C<3n~~WLyfBte6PvFgiguEK#uB9wr-y{;+uFp|}l6%PTHfI3MJ;BGar3 zxX#HV^59bvS~6dW;)&R6vIB!p{nsMzs)f-z{FA&*HNl6z)6*9y!PHOjp$MvwJgU@W zbKS^x6~A9<0NJ~-MJ9c?Ly6eCU~;P=Aq9WL_8G_%&}_+Y6F3MwI|I@q790GLPh%6@ zj3o@`omA#9fw-qa$Q-ie2K+0lq=cjj6Ah`E-;*y-3HM1Lk^fOE;UKSnf9)#K3$L2M z{$y3gQB73t4l`9(i8a}s>P2diRQDc)o<gwRAMcg@VCt~QVxpL;7nvbO1o6=J8s5)t zxf+C(&h!ryppq<LG|0A-gk7d5+cl8q+8D%uL^z176?kO?+ys0IPE|Toj@4iA1B3(% zRS{qc0CdD7_sigU_GQv?E*xmls(1#@0d>Y*`X`*iEyzi}7o}CJ-2EsD!}l?HoyziP zAgNq|E2X6}-PMF$?<!Q|lHRs1HW~a<Q*{h{G8jWJqf8YFlnyW!xtHTWAT8z@swQB8 zqXyZ^qd!#t;30L&<*=Em&jx?MdPM24gvb~~XUxM6H;%kVAXA|N?KqS!9N0b3309sK z3?Ywz2?Sc68HGnkapE-YY9grra(VV@<@;fdp@Mga_?VM&i_}LVOGHO<0Kj<I@Zb|U z10V~4>oO$T3c^Q<;#Y1QVV=wuds!d-$}gORNnzLrPeB|A4an<GU`|LG4zu&vh*n1* z3g05_<o;Z;Z>xVCB(I2kLtqT#Kq6d3wM=hyh%F|T7;cSZ>_wc;G{z~W`wq_@=dcxH z(>DX21mY$FA`4Jp36Q-+%5$DwuoQC2Ji0(WD%#tW^Mp>q;z@@aXV~X_>ic+}S2S-- z$TFabRyLbUe<^F#ZrBikYw_kHURA3!7-^#n8sbxq!^_O)P=<1#8D3e|ntT_!+A@&m zphpBW6><Y9_Mi7QP&#PYNbno95kY2VOqok{Ah`pf^z9Z0*{^wQ0aApy<>i)jO?N(^ zfqUNjlIhHDOi0%OISE2@Xt0Umpm2^JexRlqfqe*bkl6BXSbxFlVfKr2@OT`oTzNv5 z2D7zg?f%c*fBJCu`+wT=pS!mIX~)hz+dtmAZO@KRwj(?chNx730VfzBU`uc)7$*rc zd6k3P1MTCjJOAi_F`IokklFabmtFsU_|uK4?qtulPd@*0*TFw->Q1$P+}oRL>v^yL zQ2W+DebJiz59&uQMH$w(AI0;ta0kO+P==#8cr&aY2UCCg=)bo8Y4hg&|MkVz4?gJ1 z5A1j?-Mj7IcJFHc=-=8u|1{g4&F<aRfAG`XAt2~XW@N;qpk|KU@DQ!X0wAZ@t^Jn| z-N&%loBSw_GuH$srj&$IBWy!tv5PM(Do=?K)d5R?6X=>ptP|!Il#(#uh^_JgAF*K1 zxRXNSV<xUoyULYcDi^Qf2xQsMR0utTQ_Cq-9fw;ZpMc_}@7_TNyBXlhQYgo@{;vyU zeII3m8w+H`m#Y)Via9odahn>+y3ZHN`rqq*v%aoyR=v$U96)Um7Y}eh4CDe)Y%ChL z<SKz|ppeZWEH55`Th+kf5WC$B+F$~KS_9uMH-doRa&IbSg*NL5%96;vcj72q04&^3 zNzP-Luzq1k4xD5OKmd2g|JEIrNCD91?M$!?7FFmF6e>3kH78@qky{j;n8(%6i*yZ; zt|0-503!bTbF#pS2QnhxJkX)w^8to1?7+3C$|Z@vj7Amy7P(b9i;D{M7Zb*bQb|NZ z2c*y>;`-^RaIK+MnTVOvou+op?kC|?eT9(fq-gg`R%(&xliG2Xa?-r_=(nt7=CBF@ zB}kUF*MepO*Yi9@G|SI;i@mw$ZAfMTPxaOd+0=V=1E_g+<+6S0e7fiGZcZHeaVkI1 zTX=Kt?}8u)U!$1-Vm#g%pgQ0k@U?cgN4xXX*}Z%~=NS~;)7T$$=?YSVMBT+=p!HsB zK*OT$yq{oXF~Z%rT(Jc1jos}{_oWN!wJY@n@BKpVu(%JgzZS?7)Zp4k)KRK%w2t6= zp{tI0pL@FHeQk8=YYS1GT?ednDc%?0Mek;<e6}xDH~_VZb?87UBby+qKbs58N+&6r zy6QQ!oMm?%Ti(ZkG#*X0?gOd!hbh8}ylwFjIeAzl@&c$Lbd8}FomV@>__UHGfE9g1 zzMQ&G>Wh=`ul}oja>l+uk*1PbG+vR*Q0y9P5vjKnv7>0a{A`32I^WN6tuEG5;JNIJ zvDZx8P)@M_o2u)@>F;P7x8@tK>s4*?1YDj$p-%}HuwzY8@ae(5+xGuQ-|pA?{``?Y zMS(Nyx}6aEkOreSm^1XJzex3dOd-|5?+>NnV0Gxz@N5R$;14>dfuB9}LbE>rSuGd= zs*mJRRyFu#KXPOBWOIG=HX7T~gc!=T^rU$Cl6y+LZ#@$d{Mwlg?|XAHyzh*u@V;^; zA|6($r^mx7^>Y`a^gNA$PkJF%XOm(d#v|(2x!uK1_wYuUp8?wBwlH-$nuH4uCNl#& zVd&8G;4VPd0FkWBsogp@iW>y`0)sW;2BHB|<JqfF*Ou-eq1iEFs6Z=RgPEbiSPdmF z638-Vttynf5XQypS+CrqH>#htxVNhRy=SwAHE_18zlFJB{cnve>woENT8Ddi)ogkr z@SJ2#ldAh2@5n0FROClqjhua?72lY~DJx|Qg(k9O(cbb(_|9Q1nA~xyj*-W(Ls~GH zP@f~CgfPX6VjIQLv&F?L<wp;AClxOuknItCOj+gt?d$BHyc<*jSSZeruhZHWXhK?% z)uX?6V1GK3P_@L8y&L;+`sEXPB8{0d+%dT$_O*xhHxtG0e?e+AmcKZ+C{-7@_YFI; z*b_&}gWtHjE|U(3ChT%k#~4DhFmxrmdXnv}U8yZwx_eqTb#-pqyrr}2)pky6F|<z` zkg9i@d%W^28}02~o434@+LGMT+S&ekXR5osZ4<I=Y^J0T8=&9xn8KKBs<J&t<*_te zxw1&Is3JPdGy==nhzM3&{ASo5`2|)_CMcOFN^JsD1allQ%+!WdnT}ST<W$_M$Udch zibIdyXVP5<cP5dJ<t^Q`MLpAvlAlA>lH*GC3POv1sGIG_1wTbq@N^sbB$0qU!5+P1 zwc?bb+TJtQ;jGYxAEhZ|tsH8{U-osjv{0vD$oxE=>2h^SJ=55_kix^nMZcYw*?|n* zERDW&@gp>GiF2lYTExis6EKpo8HwW66(B4hVjWa(SZOKyNW!u6y6lzpCSXLr+MRwa zFPvgRp~71yrNYlt0IymHYhuP#LM4cLUVoZMU)o1Y<b8Cs<;eO-YNj=cU`dO<bH}zn z?%ev}c7DSIi0AKb-}&zLk40-D6l%F`$DaS>R*JUh>8_7I`eet>ZSs3bG@|)Odw1^n zSbm|2pWbZ!Wb2--AMgG61BQm=GT97wa_`O^AMI4VJOtOLTwgMG5Z{mhf{r6|bQ-$< zHCuP>lCAKtfb2+cYU%4=^TwVXA8y~hXX}T%m})5>zPt!}*dX&A*6;^}>*2ctg}z>_ z!khnRBSOcJ9N^M4dHR6)a868dteGbONq$C7OzTZSp`;(Q5^p0;ow8yg)5+Te(|JX~ ze{Zd!{l8W5j5Tk+>14nRZN5|TA%AP?uoPH@plNju6beYTO~tarG0auhRbS-WLtng+ z?s;p?U;fg?g%`g5dW}dox{-SbjqhH`8P}kyW~LhtsMjQHytRfNKqIMJylo<SGr=gt zP(Dwiq$hBp?qBL{%8WgJ6!}hApyvEgZziY>HCBs<e?QB=ybA}jVBxIBW`dBNeS<V$ z^6zzP8C{E*Wa>Q?f>2#sE3T(R)|9v^*=-yIO3e#}7Q6^c)5nF@;|32!ke^hX7#;#d zlrC2Q?iM{(r9KT0hka|^&I@ae>Ywxpsr8K$O;eQQPh2<C7>r^Oh8!aLNwAc5T@75T z*ZHOFv@v{-qMMs}@3yq$bULyMfZHg=H~$i82IZf!Gp1ggX5K?BT9fFO%2O@fsRFV9 z>m%4yEO<n7HAwdjSv@uH$L?o=x8o@0FAq39`-TRQnn2r5(FE~ai}~b(%h>=Rd!>De z$q-vZZpKkkbgxMA^)OzOWtu|si<Up7@gBLCre-L4&(X!@h2vn^<ka>2I1T`-gZWAa z1%l%TSY9F7FWkTE3zyJ+TzTN^B|_#<cVLc13+!Pyyud+({k1A0wAg+M_zRLp-ad!a zVQ41Ba~RUTouE6B@CUOxXpw2hQC>Zrj|^?0)-7IGLd>s9rl&};1F(WFOijCW{0rqT z{2-l4z15q=<x1z)3-oq~Ri{zN|6B6U?R~pm`>=l#D`PiocxPb0^-mVkTg%G_<kF5p zx*xOj0~L)_-gQ_!-$W|o`_cvE*I@c2maM#w@Cmv5sR|SS^YjAFEQps1JQ-3&c_JNn z4uojHdEzII2?tGNJt5^0(aY>o<=m{<3AvY5PHV!Ai_i270!~4K_=GQ)ruZU5!bL)7 zw1;mewm-*NC`6BO3oj22TOIPe?672A1#ue}H!<rKXA~WL=ows$K9~Z@lWxmMtuCkI z#IQYi$Lb&^wWAwup|BQrNC8hdi878&z|lFdpBBPDQ{?I@stEjl^v7oCBAkShJP^(Y zXmz|P<rjV0zqQ6VA=kW(?fMj%14W0YXDBvAq>jhr=$V9*Hu4oApC-kmoER$&-{fmB ze`TLoq6Em|D|JtWM54q)A<%U7CiD5X*5I_niIqv^){yvOS#O#zX(N-gB;Vm}XK%La zAPGY(c>SLP$-LUckiHlMouq1rx}{t>DRD_MA%RUYB|Qc5)ta{hBn8Wq%lN=H5RrUV zzx?N#@p^CpHw|8m(U}S%7mCRfBTrL4XJ=S6zE2<>?n(BqvE-zydELlYj5U;GndDe{ zPK?vJchd}!f|3>r%0QBw1$@;D%rwOV_yE&wDT6Ejnzs$8>I(Js*Ka21D+R<gGDntm z{sQfYD+&G$lWJAhaqW?@9tLSZWJ_XkNRWcS#KO9p5{wq&bCz_q*98ftzD=!!U(13O zH&1>f@8afS2#q0_q-O{9MM{3cyOw$<i9*t#G8YRe*Q}4_>xwjGiVGHB(}?paX3D22 z?|ywAx;~k|y}Ym>)sYvEg8%W!%Gou<tV#D7X3jUR+h@O}ylKc5$Co<FjW=Uoxnqx< zCmv@=*XT%PXvrQPuN)n>uZ`mzFWo*TK>9|Zr>;AdN7C=Ld}O2W4PgVzJM}%~ZaaHk zy0nV=N1?-*Jc*6~LS=A@<^n$#?-CGk6~&>z9T5TuB@!v$yHy-M$s-WG)0dPtWEOs% zG=LT^WW_D5mg1b{iYl4%=tIkL(WOBPni|yQfU}PqWI<cgMH6H*IeDu*KFMk$gQd8p zMcB4!9j<;`p1p#wLF8L)Ln$bcHuV*xO+^A4yf!|kw5&L%kt$Y*T|8GbjmQDXiXV2p z7kr-Q83r4qV9;bF<}h%U)SSFw`K~K!nu4cD%?JJkBM7+8$Zg}l(a0CxOO5MsEcY5W zL`g^3z8f|utNthH?o?JRWGt~XT=w8|0xInn8iBmeFwx<E%@9@Pf~IQmK%fxfgYe@G z{sLQuy>>}x5lRw##0ES)PB#vwK`ugW`td>{@GPG0vwP|EV{_p=4_CZwUU+&i#-e?i z`gkBCn0qXXrf;K%Qn`VQTsMuQ#yzxF0F<_)`s@Y>e6de1B3rIKK7`DitU%(VX7JsF zw1$O|H{an=zKRK|6<3l5^tzM~Ko3;_p`nUDc#QJ00JMys4<KUF%2<JHffT;Hbiqcp zXm#&^Ev*P9be8%nHI=43FE1@DEASbk=T@9BF6EOGCsRDWq`W4%-V!RP-qU9&4iFTN z<yuI1sH+bNav_yZ!SgZOLR<x$L|amo!KMdfUA@_XZq(Q2gSn=D+rXs0WE}Dr-n)zr z8#b8zwEk`PM?0ZXrQ%3(hU&0N{O>CZ6`=1&mC=6U$dtqZYV&<!qLot8)Rd!w<EB@) zY~H-NwN0H=Yv^Nq)YjT6K9jO%_}8xme%&s=28{nUYD}3ug9-(@64Hz;i%=k5N+?-i zy8|Z{8v!}^?q7l#44L;h-xmI0YpKZODRP735v302f8=9r4ZzdPKwl>eY)Ggm>LnCM z9{?*7AYzO0h0dOPLK(?L&@L{35(IVC{Myf5@ODE&OcEV15H|F#baQ?E*yQ@2hk;x_ zk}IPZpzfH-_EChJh$0>xq|CH-2tXCfm+&K>)T>_NeC~1a{t-UEWo2`nas~0QJS)(# zhzmaRYinOeHuF9fRlVg<j0d;ukrQ+yQ0hKb5C{=q!`4i9E}QPQ_^d&CKt6qx<)4*( z4IDfn7Ee!vrsWtGRL~>31>P7e|D-?KO<GJy#^uKkkp7Db(LGo!EzanS9yCnh<-|{* z9mUS!A@MB<c}MkWhT00yG$D(Jt*Y6emV)^qL~S|-1&ZR>o#Mm<FrtBd?I_M7lEw9T zI5v*hD#|)OdJiTVV-Zk>fV8X_mYQlv2Uss20Ue*gW8JVpXQ~Wt0H;{)8Pso;tKSn} zf;X2aev3|9G*@kqB`u^Vra#&+bJuV?kovT1_c^E^j<QDUcH(fb<sj)X?umjz-0VV9 zmWNx&r!HpUdKLq(aKqD+rdY)Rh~IyJGxs~fXc!N-7)U2F$<NdKMKz#}oyi>W3^$_4 zY@@wp3x&dmENPH@?+BB@A60&sET5a;JzcqR79<a4VC6Jr{^YHIA~r3r@v`$J6X6AF zGf-g++B2Gtr%@IZSx1hrT>+*<%ID5dMZQnY>&Z9x|2H^oqWyn^7a22c45jxVb?@{o zhK7x?`#|;((U=r%-IFObx;!8c@wr<X^!EqX!fO%?db~m^3<RlH(j>$`%CsQykfA)Z z5CWldjnHf;BsK0TL~!l(JClaz7%3hf1Nl^@W=j{o*ZD>yI~68gCus-@m#CIPCJHp6 z=*xjQ7;!nETnM$2g_s{XNkYPGt!8Tv?Wk#VQI7jz40PiG7)Ui_*N-j12Y6SSDl8|v zsFayvToOfOu7%?Rm9TWL-8u&BZ@*STUSgGU!|ITsi`96T)yp$LwH8R!y)t4-tF(r) z|DGk3PhBhMdKSY1y5Z@WFn9e<eOA1a%*pogaDdQ*C<tZM#jS6xV7rR4+|k0zgDC(V z<ES@2D)<bLB@`}Rfx)i)45eIem8KTGG!Zlh-bh6il=uhGP*8gp>4Z1X%N_$kg=6uD zEfVRAh~*DcnSppnN+%_7!LD(ZNH!3h#|IZ+-=>#@6#PLnvLP6fDnt$%rW436bPqtO zA0hL|(*_p^Y93hoe2p0S*8ctvkzWy3x;1>ShAaapNSR++JYSqfDX!zDIKv-NIm2Gq zNsUiNQ9A7oWPbj{o*va-0Y8$rbC0V4$0XRoKbYbwaN8Hc9JLRJOgEZ3nh|8=E*wTx zp?S!V&L<(mtn;LH=#UgFeIQ8WNP&kK1?W4o3iA*@QggNzIu)PIz(so=rmpe0_NM1) z4ExXvQSWh+weLxGf~Uu`^T5mt$xib+!O*MnZO_gUwgNg)qaDiiT_r4Z52N++S?;B0 zmH44+iOffV>r=O*8gXkEv?^=!G4#dRn6yM;E5tZ{b?a1|nUv~CT;wJYq;jl$^E4P^ zY2hk7!h)BPhf?jB<ca5Y0qbkN(906na+|<|Ps2UgWL!GIU`bgZsJhhkiBffly_~Kt zROS^u@oqaBzI#=iCxNR_zhYMGIs=+sUBwWQfv)ggvMcp2@;P?JwB?e>TMdwOPjQ2< zx&%R75hBNyh-}dVhODq$@7fVnt$*!K_2*JZA%GGzT<XkT_>Pq-7V`hKzq&g4|DcPr z7iR3I-{@8F+`UFGQkB*dXJPa&e>-3NaS-KNp*kT|peO+gmJb&KRCPmjB?u1g2zTUw z#(+Ng<8FvTxFt5A<|X?g*6wrU<j7_YrVF%y9;m#6($0wDUU2_J2Vsn+uqP2_w$JQ* z5t(bo&mr%A@yd@4bSOmc>~xUGOm@jIg}8}sT~@_N?r_mM@3^q|$aMZ4WT+`*vxNii zran)1rFJDz1G_sOsX;1%Iu!=7Q-TpTuw~jsL3oGU4QjLM<8#<{uT$t{Fbqy_T>kE2 zY3w}f&pAk;GCU4b7U+_ET1AF#_Ga)X|3YRq?D*OdJTIDGR(-EW5XeUBmR+ji@Ska) zWz(6q&)ZOoJSK)Jol>&texeiud^4z{mYhlcx5L*dzv}1(dvSr>&nHk}dV#F)a~C~} zZ}eU6%QvilbEd2Mo}`aI$?n*-niH$wH!!nQUtSZOhqKqERco($2N2V2t>al<kK%Bb za49U$-L1?#;Hk#WgByo^4Fy;!w-C8=Q^2y>koj?poERjzu?uw0(?v&t&>m~kqcly3 zkT0u)4TLy(kse-z2pqqTDx9!+vvD1X_}ICLAM!~a1fdI#u(>2fBbWlQNgjrXMdYPc zRdWsh!<BJ}0C<`dl&IAUh3I?m&L(jyo^u4!ZVvzwQ!s%`+7(Kc>A~_1DzaO;0$b2` z;;LCyj}xN!fkY(D4##d4sp2B3@VF2ek}jhrI}sn35)oD9uy$BYih@QnQHC9hMX8lr z;}@-9p5TK9rLbW9r2<xzOPVajIPR<t#A~*Eh9uM4QiZMv{fJJV4)qQ~GI$_73O0q| z-bKl)3aNsKK!o*`1L<kfolSJ;(4m%eGLvk{=JqGxgP-1?fhMJpPYAXxzI6TF@&)<r z|Av69r)d*uj)=>Of_m80WKb4W`Rr@=%MTHCjqW05Lw2z8-E)!#RUG<(LZLqo?wii$ zHK(R$6upZO3Lcc_8&Xd#;GTIL1Ed~|o+T6C<Q$4;U~A@iHt|AR64B0{nV}Gb@8>$; z(@p}>p_JJ8u<w8}EJRXph)Lz>3BLVU?;&um+bU#*CBUNLf+Zo~#9n$<I&&T0yxKz2 z_G*v>>ds#0>WH8KW=T@TD2PK5K%glr)@Y#4&Ht54e%817wU67spcT<}GIPHQJ6TV% zFWpP&8Q)14@&(B9eby&na@KA{Z1h;~WP7_gX=8RE*M-dcYX@?@>(+?He<P8|4`lXt zx9mq^^?}ZobT+Xo*##4OSGJ{4=vlMg%=Y+(nT;(#i)Z%BV4@!wyh}4t|HG9r(ExY> zOcdc<@o>+ou9Sj7)GICjBTtD40X5DY-g7eCPn5CXfN%Tg-SXTJ*i{!|U?3`DC$hID zzn~~E`0<QiwI|N<!Ox%J$Z?`DP7D{1|IBZ(Kx}AoajGe#IYPkM(em5~Fwruny9KTx z_Mu=mPW#CNIH201_%^db+x?-47^5#wP{|>8_I(i|eF~YFU@iy)DkR}!bb0^z3J(Kp zlz98xMSE_fa++l3JYUxTbTD-o&5`II6Cx!Z;R{BL7iaCwAL$DS)U$Ie6)iu%SpMa# z2@FvksM}bTvl+~XHW8`(gIsqhHiy!V&=NTzIf(=X68`d-4}Fd#mAez-M=teeRMg}$ zcYJFEe*%|M3@Y^nQX}-H0JASap+LYdGmKN~ZjlsL`FPS3!p#vM^q1xW9L22zJHEC= zh?x4&3>050=}nxV|MPTct@Y0$mkQEBewg3Sq2nS-D3AxDdoJdO-v-yyzXI7^{mMBp z4Gh<RiR?=rOlcJaDIeltdO@lOAF2i}KW*(Rzx`B$!RiK9F)&-fzVs^^G^M!jU)VbK z{Jc)hgN?`Ai0(tktlZI`&LD{T@(_omVz1HP<RUdDldvH&<K%TjXUPuyGE}++C*c#W zqzL=8y6l|~wr|U3GEk^Cu88w4)W*(Up;2XpoC^almt~KGp;1a%9g=2G+=gc{u`UYF zl99k9C4TduJo}U6Gweh8{5xFYoryr1X%0=T+=iNQh~w5+e1n*ZxnwC@&nRF4v3VQw z5mlIi=R+@{>zx+zMz3+;_N!Z|69PSWC+<3s&7`&^dwXNuh5ZDTZf`VM8ijF;)+c}% ziNuS?Z=qN&D&OOfslx{B!Yd90(WRZjWgYCh?UhZf_-`$;f?%)VM#pg>bTxSL2+o9{ z5vUh%NHIox;xRT(07rG<F*qx&fgZPO-91lNzSLfTnu^r*Ji{J8sdtiH2jf}gTy~%! zme&MbmABTn-tq!Z=cM@0^so-l@CrtTyg>C8j8H(`3=~CDD(CK+PCX<RiI_#0D22t6 z>Q2y2^4bqbro*=_umtc77VxZnh)~!zkjvp}OlfrT&IKB*F4YS$EthXOluCb*&b0jb z&q7l0X5PxBdQ$ivrX?~}c;HDc$WHd$QxGP1q<EPW0`|xQaC_$b+;{uvWw^(BIG4Fv z2CYgTA3-0QRQ(SFDYbr?AOK)hO8pSV4g^V338{F9R*jz6lKPvrgn`IlP&}D#{Zbq9 zHY#mVkls_PDFlO(3o&|+>4>V1EB|FdKC-Z#NB)K$qI~s^J^W~S@vLr7Wx^3j23HxO zXOMT0(MeSLa_f5#$>q+TDje)Lx4hc&I><!1_S5e+;c{<g$zbKk26jpcR3K<EJ7oF< zpM?`!E=duPDy>*gHVcLezx1_OZxQt*Wpgt*AY$Ekz98z;sGJBj^XLu18+HKiG#H<; z%7HZQd#{NzknZa~jH~v+e<Z6B?#aeO^gd3#$E@j7FIR@;ILtRY8V@GTEoB2ZbKc8w zRiq3Bj7=dFXc#O`xQyJ^9GA1DW0O(M+Q$zlhNY0~1Yuc5lO=pDVo}vh(iU%kBNHF? zO&-CL+*s~J4sOR)`Q(i5gx<E$%W5uNgwFQb4-`);*m4~rj2Zw)f$o8P?JVFf`Y-A3 zx7x%d6UPhGv1+4X4?&P&$)D3J6(1ug_A(AJim178%AWk$K7WhOH=(!ypJB$rom_r; z8IFZ??RR@Fa_pAa4qPXUHurm|aPblJ52<cC@{B}hbmMjI*5<`kyb)kz=p$7%*iIve z`ndqo($a!|O@3m4G19GJR`{G2lLZSKt}ngz<f*{X8)GF!f%!>G3Y8<)$x>;qDag?j zz?JYX^18p47HKVK>~O`|68}UV6|N8Yasru6P{Q3zQ{u~-mlYQN^{fXlCzD^aKsS*) z%y)izi^yV{PdP~IElxfGaY8IrPE59ZDe70C_>0j#e1u|=X@s<fVCG_gU$6hYScm`+ zdS%1D!J;rd22hlkPL&=^lBy|+`B$?J%5`-zo2j~vDqr!sx@b8pn8Vq=0ixEPtnUy~ zkK#FQG&He9B>H-91ADT@kr&TlqlRosSS~axl&?H8naD%2MP<@vR%TD!V0NdOu;jFy zh@x_S(jI*zWgP1_^q)*{!8(KT%^Rc)6o(OxDp*@i!afD5&yoR&&^6p7{RkAN`~~F? z776V%Ldi`R7m;d?3mTJz4j*Twr$AsRm4$t9M#^z_uSs<>S6~;&%SRu0WI)J_)FXeN zS%pzYpK;oAD?f0Ul&F*UMi8Zn`LnNHBIgH@fQJS<cNNi_><hyX@Q{Zu^(T`jQG!_> ziF}f~1y~YzMV43j70=kjSvVES$r0hFR!0v^Ym|4XE7eO@aA(AvY>jJRaUWo`v&YZi zb4UbOSAGZvUO74eHQ4ggbMP_42@F*ipisi(#goWp(<-ysv~SYcY?w48P<Ow%lrAqA zs1Gy9rdVjpO3!8iJ+MQbbtSo7WyvXCz5>Nlacq#$LCCS-j*iq0Ji9<(sa@pSIn=0| zBFxFy%M(Mnmcxb=JQ&ppWYyz&;_X0FDAKf0s<vY@6d_Fh7mwMBTp9Yso*hN<kMiVo zWMD6!pdewnsm!NxQ%U2)y%GE354e`nt~|P^_eSZ$Y5VS^DEoVw@)2FZ;=!>d82|G8 zb(oMD|GvKs9+Ouab%|n3W*7c8cs!z{*PqLF4|Ek0zxmUv8{1kp{&xGO-@dc;x39PV zcKhbvZrT3Zty_M(eammRw*7X?Ht}i;-jZdT%qA13%=*FQrHl5&xY-#jIYbQDUy7F= z+1I`;O^!J82BiZsOoB|xb7$ndZ6y7M!y+DEw}+7>>6j)ZYwNBZ7Iae}b{I#rdP*)d zgtmzr_O-L1Cq36<TB*K}7b;Y~OohUL!x$J26Cq#0(A$0N{upsiq4Y@L|KMTRn@@D7 zdxU0#{b+t8yQ`LvXMiuBWJJa!XeOy<fZt*&`CD^@Jgs1!6wy9$1T>Ae4D$u_9{sQH z*6iBYLbit^#||V*UMqz9{$v4FfY<gzs7xRuU+N3~Um^9kzru2V?K^fV^Es^S<nIbt zQV%7*4ZeI!4MRPbZ&&wgUA<k617sdU2I03_UWrQ%@?i+LbVFyc2Wbe`Daj8fP;YN1 zE_>@6pnbYI!hfl20G09jHd2%@bm8pFl#z&P$U(SnhZmv`_G5ZYi9z<_qw*4+;gxT0 zAv&x0-T3k|glRzug~O2Uf#B`rmo|134%fx8n_$7%D>yLW%(VRUDcF*Q^n?@-1s$(A zI|W^HZWzVmFW^qOfb4KkIxasM<Lv7=m*_N;xeY~X(n2o1e}9Uv9Tu2Ai#f0xmly5` zR&xT`obVBM68s7`&+^iF=q{<B!ZDoo{n8~Q<dck$qx*3}i8>Wh)PvIxvQi1t6?(yg zg4Gz13Fd{%IM=|jD}#&W=cm9w>3$0rLQWPu_q2TUA@T)Rrp_z=Ea&Oc5XuTs@2*ge zVoW=}D~&#qS?$fCK0Sle04_#!w24ggG!f?D>BtZc061r<YKwwmPvBss{I~cRSYb|A z^M@~r(=%8o6oHUxW|5#2NqX+u6W1xTjzY!|?D2Vcq|tcq-N!dPKwI?8zJ9bgcpH7f z7|U~W1bS?c{D|hBV7W<pVqZF{tV9&TwUc;0MNL++ztiVp0ttnYiC>4)GvU>wG$}cR zrs3MA_KRSQ-PzrR13I^+J4v9-KZJ}*xN1{&ceYv5G0H9tL1gi=;4h>BR(l@MjeLzE zC|;2$0)bP0rHk+(qf{&YZN}s%&?2-@{2PL#J<2#j6r^fYih&^|B@`ve+<s_@PzH4$ za^hpO_$w?tAd@YiZYfz|5h{tWd^l<43+b*;sH`oi4&tgbj3WuIc1Tn!V-b`UxHkS8 z%rkQIuVG|_rywpUY>{7nc9MkQ!E+o5P#Sw;KOeFOpV|}OBaj7Llr}l{)?%p{%g<Hn zxh>d<_QPbSMhOW<MFET@8wG<c^cGJ1G{x^&`a;Fx81p~HqFCCat;kWi!=v1F)_m4n z!Uj*Zm980$32awtB2|te<jM{sHMq8lH1U#Y=u|_bM&4-gWb@&{lY~9Uyo_g>a{_V( zK%R11Gf|-#Q-{t7e^k2hi+Rgts*!!nb5<RhQZlQgOe`CV&=bD);A%jt4=a=kp^^ur zkl-*6r8~#rHo*_Y=nm!5g;ekWV;))+OmbX&w(|g_oHD&&UxI{k3`;^+tEm}El-Ih& zlF6gQ$rXNf#Om7G|L=QWZTqtC%h!^x{L$swTAMeCLkrb%3Q&nt!rtGBsw0A{sC~}7 z0_OluEC@UBDkh@jt+k_DrCSw+O60*G;22{q&!6P%dQ9mEPr-t-Gc-UeXq0=<g+_Wf zJ9waPfO;5Y@vh*<@W~~%oL6yhTxV|LEa2!*eL&sYHx#z}KnX(O1w@#F{P;{o_}bcw zqF_K7EtLA&QBEo6T_(nw%ro@LQ}avb{!?dDjGzBo;bo{!bpD%Bwx?%n7j$tcn0pXM zo5LEC1fcIpy$}vy1j;pfPm(7JSphT-(jEunt#R^Glo67a(cwUhapE)zjNm@Nx~<@A zlL!W+4@x%|E9as8f(dNKUbw+_AU=GsJ>`jY^ckLqGa)vQvmHiFjP;hKCrjG9O+R&h z^!3YBOfQ=Wnra1Ty=W4=9J&o{b{v4Phrs6zEQ0$@`o~Gi&q`K6D2T)`z&*<MuXxjA z2haODO@~B{WJn0?tHpRd^97Mb=&a}##!4FK!g;!J4Z&5#oLn?EHzT1_gM+8ZM}fm9 z=QX;k>rRG=wlui@ehM6qkAOuLU8ry1x6{8-7?~9LGNzg&izLleNES24Qlg+bNu)}9 zW{*;SN4R=7olfN}s-@Ai>3tpxJxZW@c?}xmS52WiMir6PD34%sXpJzfHm#9`=S9$( zn8g5Eb3c!X)&$UCTBBD@qBTMliPi?X)2J1I6FN5_Tn64r!I!@oq!);|CM9mJ%Jrl^ zO2u{xJFkw@WF|<l!B<Z~w+BTe6^T+QcJ1-Ybb}u}A#5*qi)ZhWMd9Z0rnAVvd0FS9 z;u_6jA?jcpK{OuNvMD4Vh<QajV0)(fMbJOcHjDa6*M0UbYad@YebaQ;q;6NERiSOd zP!DCJ-3y^>;Eh7n!TOq2x`p|4u@IQ6b)Y7li^Oj$xQ+!YVwL(->tdTt`_<;ew+HHL z9LHX$iYZ`ERBPXiy-^K+)IFkO(sq;Xt;zc%2zk@@#?mDyRZGVnA)vT8^#n$W7qKgX zW+HG$RBss9ZV1E@vJ-;ZHft9I;f}ZiKHRgnxm2$a)}(aK+7;y(aK2z+-*XN?!6dxt zZ$jTxMtJA=8GHB}Hp{&LqSq4<MCbu8V<K(`axg*b_e~;VjV~hM?t+22{{ZrV^ll5< z1~JO;QrGNAIf%=XsHM&hCsM8M)TDMKeTk@pZb#H3s{o~bkG&VJowYAKWa|z)!GOQR zM$9)__{8An3!wH|^AofQ>i;IDy-^ck@Rq6dS(A2Bt!_lxV5ubR5z?x+N(V%`Qy@`$ z$d9q+p3y%14VrDNcLY+aI6ZD3yTU@y3px+{qxbKKYHecK0RaetDBj<!DHQHU8=a!} z_9HeYMl+5)8-hrgQ8kT*nd7t1O4IqfSQ<IEUS$sNG4IRx=v6`vB~*UjJPKuekw{bd zvTf~7_Cpoll)I>6yWzNNl5RX|nhFwLAy4l4TQ8LVhEIc^57*N+7W%G&D2Uv{n>U5} z!_hai8Q8Jtz3f1o`gpG_@7)Ck(p4w_;^cJc;Z<0mif3ijMO;vu&brmA86yv;_`pW7 zlDdhZ8jTz6no8UT-Y8T}-swn$x=NBX#fkvBBxV<`I;c3}wbSGJRC;y}74z8d>BY#- zuJQV4H{@*`MC%3}K&`F@%^*`3!f5o_e|RtQr)r-wEyXqH<0}d#X@V5MYm#Eyrm8BC zAfG08Sg<S(Q=XWHZV${96>w4K6@lCA;EM9MTt|z-R7Jq{3t+h0vOLpzf~9|+?|D2F z%E$s~Q@m;pRSHy5=#km%hwwkmW>$%5_6gvUME&?`QtL{6M&*U=>=Wb^c`=OBKWHEK ztkxtB0u6v4K&$>%%^+Jp)+iLbJ(tVo;^U{G{-Od;O=4Yvw<rhyHCry_>GLv4&(k<4 zkU<6zop`b8boS{Na84Geq7c{nslunSVt9Nc*3FT1hX7b|MFUMu3R|%<K%|z!ZOHmG zz45)YWsjai>B<-5Pj8Id#}NbH#X*QB-~e(oUavY)f+P)eQ3&%7+qTQXqp{Ovrl)J; z0j{A2{~`xbP0C!Um4NJLQ;)2j?`=cm;B))hQLbp$Y>w!R*hiB=ui_v{18x9CI&Ygn zkPfye^r#Ax{~?v$e?a6nTZJejq^j4Y>p_}9IBOE=>s1|_gRVYYs=jjPdxRam82K@1 zpg!8H-Y5<#4a5*YuR-maLAgPAqtNgN$uAF6ArO{SV!NS-N|Y{qH3_#p`lVfG8nT}r zp+p`c^#v7mKn-+JouJvQ)iq)t1&6$igLK`X18COOpc%yKLKulkvt7wv=`iqa8g<P+ zM~2DWg=~L(f<Pu!IF!vDO!ReUl&<rGFswD{c2m`i%ymSPSbgvA+$~)P?4jx6-K(t7 ze*rqB&{^=)a@c%1En}hUP&7d_9@e-i^d5%1QQD8$U{!<W1-2&Bx=3L6f~lNm*{dEf z_kpKH+*HlrYf!Uj)NCpiNE@Zz53(p(6q|@qgLny9b7{A9V-aC}FPL`499JV<cZ0Yo zS3s{pxYVZEbW1oJCEJfv`E2j!DXOp7H0m{QHkXLaN|-O0l#MxX1PE!+GMRB;ySNG4 zL{fvkji${ea|3l$YF`awSTE!sf-5z?v}g{Rnsi-VwHBnc;M&Xf^gZOY<s{cHMt9*J zXdv-A^WeOWi)IbjA*AZGXcmP!7#k<dm~|9YsZ-#pNuq79x4arLQA+W|5E6${j?!o2 zQ2yEzKgyCkLOG$G2at0H?AOdfvx+Hx-1N%R93(?Hi|A<+Kjkuln&c~*HJ^qB+9-tl zVX7~iJN#)fmq};#$0tQdt6HCcF1f4=RZR-6ZdnUtvLnOx-S6?H{OEyw>R9>ijb>}q zTqAVYrxXoB-o`<qZqNb5>1xmnvUDMgLXbOI-9_Hu1FPjZsBUPSIxPTW9n`r}|G`tG z#pxI6`yDW9AH`N}69?S}Aqb$}fM(60;Q+J^Q1Yj#<iS;P=E_Lbu#1izd^M@Ky{)P` zIFQLcy-$^&MdbX8kzwVkIKvDh+n^RP60HF~oMfFwO(a+cX%up$vRpf}1y=FJrVI<U zx0&c_66y*Zxym<&xLO0GR#|HZIqmO$kKoB>iwEYAeMB4lG7frmK@K2Q^L;a@)WjEs zKzAdvZz}U~sw<o8hOlbHi^U)Ij-qqGB?Z?ih-*?V48`@=K;?*b_U^Wyow4svG@C@L z4An=mb+wIyfU6-2pyw*hn?c@H&_|*6JqJ>Kv8Uz<<;DiKnk3y8U25R8<VY}Ix%&N! z$+u$+&_~FD@8Td_6L0{b8n2r{m<GBigt#|@EY{t<sqT+cpQXA;(-NPWAe0{cNNba2 zYh+G~YJ^-A3$lTQ>e+qiJSs^XKV4e9*lfn@AFz*1t2K#(S_9w*5UsyeGicY3H4+IU z8~-*0nGfVr%$*$y?pk5#DyitooASb5FFHxPl!{sWx51g$4XT8JO5cji>y*J&#M!9! zmg|E^X+P=(0sSr&n3%YYiX%Y4HGw!OydgNtx>82>jXy0GTx1!M(c4;lfy&qx#Vh5e z5~Y<rxy#`}>YFxyYRWJS=%Ou(e{i;TZ&Gx%$ViGFQr|}pqe?dPPqI69;UZtqiGx!y z%AI|w?sPKoc{bfIh0XwMHCbSFooRq~mnW(fnUm~ew`3OJ*-NDJpSw%Bg9m>o&o!MT z2F!quCsu6}2U83}poxVx7w7j6Xx0q27=ShkUsRt%S=))~hpeS)22r~at~y<_`PHOl zDu8r~bO5D=r5CBp3RwZKjjL9(I4Rw|HhvzQ%>?(Rne^`NV<RNLyB})Vrqa9z;|n8t zX6C;JqW8>5D02^O7bn?!kyK&wo~F$td=Kh|DBsEX+YDB3s_AOdeB0*ecev3dD$x1@ z4HAkSnj;OTWpnm5n~#-{O$^nj*l5>O5;pKgrQc6bjVSA8{?1iS&t`+kI|4=U0F1S% zIJ$x?OhPH&96{lZ7fsy(lMqPYRolfy<3UJ5$ULBFvnV|PbrfQ!ICq)hH_lt8KiJ)c zs3v8v_=3rac;}DFaCh9>o2_Vb4cJG;A#dZLT{q|eigh(;2A#SPHcXwLrV9slC3A&z zvUf+OCmSC>u0gCGyftYTiKDAo;sUfI-c-{vjr6aEdOb5xotQ%#$4=W`Otnbe)4u7H z@4+8!BV@X>hv3|v{xZh&x&z2Wg2L9>LsAv^srbQIYLfXYRjEA4rKfcJ9Grdadkgm5 z{EKnvF$Wkx#l{?K8805HH6RC4sq?-$RO#TWp9%x(pvLCEBbl(j<ZKXHgE#|?6dvjm zc7VVlvM>&i*n9G5@$!@6_^hbNoiE^!an*cX7k3?9KMEd^MfSlo)eA&5bc@Tf{!SKs z=9=NCEK1eUkKTs<oJ;7jhdc&S%RN4{mTi|ZP5H{s2F<-+Q5QI~7>Vh-@3oYu{e|kW zK}e!dr7T1m8zqL=iZilEt)#tRdza^Mmo_%xRTlg~4e|~CNKR}>!C8<(c}^CgK(S$K zUk7@QGR9P4x1)h8YcAE3%B3>M4V3IpCkWPoLSOH1vY7(_xSmLsO=7U(6sH$Z&$xW_ zq1Wi9CNF?^LPimVexeqErQV2wqRpTgLiFpT8KZD)7|l@UW2Koq0A@SMzhfi+V-OJY zJ54~&LFuweZ`i=$LMTyPJTr>Y@u1FJDo0lWL5tH1#q)C;%uftJ)>oD-8lXy@{#$Rd zfIq&nlKuTVy6wq3%TLBE>nk^`jp9E5;y*(F*VV!cq^-5R6`0Yp;h&eELPUCO_2;rZ z>E4tDKhn~Ld3*SQlhZ}yZA0VY#p}g|N#_$!&)QmFdDRV+&J4s{JsIQtt=_TL197u} zh|PoaaU;tMcQ{j*J$|J$b~FqgwWiP96Nm1-CV=UIvG1(@83xX2;D@+HKwMr#?d=;} zR$aGdl5qpoBUT*9-^op{a3|Hm6mMNAUR>f~yMfU!4Nx_A0W>FI!v;twDE<!ON^e8O zjQt3Wl7zWDf1HGXt-E$umGhHGt{Y0q9ski`A%|b-+Ja~en>v3`Ja@VH;LP%~B{(ts z&(jNpY5Eo=`@8%UrAZZVJm%&kIq0#N+XmyQ@4v6C?o>~5ptpc8GKg<Qr1(HaIB+F< zabM}i<IY_6P(JlhruQ&@kP*1Mo1Pnpt*<uf|L1y~Nq(N*k2%_t{V<(L!+C0dF4^br znA6#>ESeeLf3C+)YfmS#{VCMtDHP!M>w{oCaK3l`GF}rc7@aWMxQF~ty@lU*4ipO6 zj75ky77q8P-dZD)JFoet{e|C4kk0omunt1kW8+6X*m_c_?#^V_L5<MF=AbbCG7!)} z^?&tX6T{5&1PhGL_s(A$BK=VxHiEld(p42Yad5c6ItX2ljUVRNO!C~Yq4?ld@!N^e zU0V6(7MNveY_vH2GYNa=E_awmRtNSY1Sfm&Jc;#7QxK)B4%B2w^`tYY?hbO5T3jg4 z&hmD)I<lgSc)rDiVg1uTfqcke(*3+e99>`%OBc#lPS~T@;BXTpm<dtH85Aaid`&d( zv`3HHhNuutFeBJeg!#aN)A6bLLS_3vybXwLqJp|6Cl@;n6!kq92B)TaFbtOb8>_O8 zrC(mWj`M{jAfh*srM-Cf8tcY!TdACTQaL^Ix51&()GzSF!XNJ?yHb17eUL?jZx)`| z&u5pHuCS9!dFYsZ?I-7<up+64$UY|_Ga}qwiJsMQYmW>U#|9zB@o><e;txlV>dQ}} zfs5n6N;EbtQRq3aBP$_qs*An)mk@8af%Vr-+Wr#iAPU+)Q;#TxaW=EnJEV6~`_mbV z>3I3c@j6Kj<j5d3rSi8$;&*fQ$awMRE5*}yi&M|ZkL%cssl^EB1g)lzk4oyURTSO? zO?%&^An}eiQn~U>wTjO1QJ+-cIdwccds9NMTou2hLn=e-VTD3>($-Sl#O?Wp9hz0y zPNDYm6shGD!?fqep4iWaJjKe1%9e&JR~GHzQP#H!jbH|~0FOX$zYKZ~SDVHL)GDM* z37fOp2zlP5Y7pcKZ)#4YjQt_gD4)Dl0UyU*LO@G%<{6AITu-<UTa39osTL<rl?R9I z$Jg!Q$Fv`3u9v2d<Fc{*{CFLs%_sW*eebJnU-o_ZTJn`Yt`|5vIyyefznn-|TXVVO z;dcglaC0v|`?+m11Qc9!?7QbmKjY%|S4Q%(=8MVB_5-Oe)^&;x)?0tU7VAwFEIb1s z>n#S?f;)2|O9FIDU$Vc2beg;uGpR$?Ug%V}2&@Xq@5DY;DAskR3k;aHUM>X({*1M5 zZENdV>z^&WYbj)R7jl%iqHXi~^)30{bXRKK#`g6B$k+H^`b&Ps-D>$Po6f9TyLSEW zU;bL8WvIFf^e$YNOXayEs1J&yTd9`b?EZBfT?dl6WEa%J>3kvGW&Pj3pjnIi;g0UF ztpmxtg{PVQsqWul)el+eyle|~@<8hA4(g@}Sk5d#6D`)SfBEb6el2h{%J(z8NINdV z>07NA5zb%&6I9YzuYqR0E7bajaKa$mP3M9kW$B6kofs}2|5@*U4zgf_w5QB54o~JZ z%kx)}SeSkaut+;>&(E`Sf9dWR{{M^NI2Q98VfLuG=+4Fie}ekFc=idDD6H59_k%P5 z*%=Cz<%N?R$t9=c+X?%cEdGpv%AtQVY>)in*=ilk>*aprAGBv-3M!=BI~O}N0|jZS z`wg|z)dSkWVH-4vu4-@25JHH!ErW1J+mgCYd6TxG##dwOwYNA`@9Vw5IbZN~&BG8e zx5eo}``XRrr<cpmze6o8d-xmE9{xX1N0%3e?b$JV{5!rm{m;{}7j|%awvnDVXQ7<E zW1cN*HUG2v3IjNb*8UDhWWEJILW$S`j@{$@N9u^ElNgPHHR5PgTdO9xGe=6CkL^t9 zhcM88AeBq@Y9YH;ZzQSfd39+gJd(7sT((lpxZp49-VW_8kjR5!NK59k??}UR?W}#_ zAs;DFW(S@*e8DsCN?8)DYK`2_2RZJrew5M3saAiYP#ILS`*T#LRor=ZB?s~`dH}I2 zGO2$V$HpXGH6=yqrw-<-Bos&xjw^;k0oK2Er}}d#+(=*quvI`R>qxDAu$H&9)^Ww? zgE;^~KbZsQB9-XDA1RT+zKaTW7Sf&R-gMzGciAfc^4Na-S9@W`e)<iGDszveN_8Iu zg#D?)JMPhbn9LweO|F4%(7i5vT0=3(ZWb>r700hu-7QckEI*lKT^a8OoDH5W;T{YV zjRO=bK`hk|C<>JapjZJ}_a+a=$1KCAAKb#zZy^2$QRnh4hf?V;(wUY&|G5RbC*j>& z%_3@{Ypau}iDbfP+JLhHng)i(Njl!*91%#G5dVXue=Q`<wM*(FX+bg}ByGZJoTLdu zLnQrPs?c@d-DDvdAD7M-vN@cw2}AnmAuL|$L!+)r)WP!W7IIQ{1P|j+xLe%fv=g}A zD`$xxf}|DmBbHaC8N%tf=%Qs-QzT8wjU&ZN)A9?-aPYWz{|ID|(&B_YdjbXph#~gq zc_s}Y)&@EHRv3Nl(<g-f*(EgS>1a?ksW$Dwh@@yz8HUTssFa#EB=oeHXR7X;pEK7n zX${e}Mj3^!Q%PJ^WjQ6zMi3ueOQn9gQy`Jl>_-@xnuS~(iJCoo!s=*4x|hviAed6E zcSKiZ<t2YWAcz*q2{Jc4xMh!=U_UGQshcSLL-rFz4P;RW!jCR8LG11C#+9TQl)#vN z<s=~ONEaR!&)#D$6>;(9d}>ZXjF>JSa@GCtBd<4Oh_cYIgA}sa!hx;b$kUX{8L`x{ zue(-&Ngfc6S`xx)TR|&`b^sGUf6KqEe+4S~@ab_@CPdYkG#1lq0b{jeh{~}FP9N2> z2C~W=Mxowt#ElU1yP~#q%o%m%ITl962F_I{UoQOz(>6E}a}CTjvm{Bl+6#~N&_=6# z{5s@2Av{4mQIl<Sxk2G6>YP~8g0wJFoS9snzs;Rz!4Ezs{F6MN9xoz_hJ0I;I?CPW ze2o1iA<qMy7f=NnsZ!yXV~Dg=KXjh_244(|z;d!3FT`&E)p;ZM4Sb%={oVNuxYx?P z$sK-3BV+2!!zF?YE%Mjz!N^>88FGl=cf!&wY>z#pU`}<fH5~-H)46pLhWVHr5~SaN ze7mppzgv>sC`ejJ=jn>5y$C|~=64rMW9OOlu}Puoceb}k4#-Jd*%=lzXmw<u*zK^e z&c)eZAaIsPe_oznu%9f!H4ElyP^V}`HC%dkx|-4piD+`Xbn_lIUU~2YU(661#T;EW zSX?OGInG80G^^eRY}lzM=mTO6Oc=}a$I8a$u{z#Q77C(A*gjxMQXWU<yTKvOPHT3~ ze)7n^e+JGk#2#Euzf`BkH8Qaq!RFXT2$xRwGDi57ed#!3fnOyTfGS@629EyHMQC!m z^zf>75dtDKE}c0K2j=4UbN1v7vincYEicI8QT(k(w;V)|zQfX4QXj|0n(%!gIESLL zlu=}$hffLGk8nP2BRfETwTgQPD?^@3<z`%{s><~%&^wf#ohx1Vp4AMd!5HMgQLM1q zy=uW{F;TjC8jCBdE8Y7BjtgOdqeN_QZV=HT7EB>f5A@5ySgdp6#UhdmR-|m$fS}z0 z_$N^a%PlMY(eA|7Om{Au?iTS_k7wZ(vB9)88gP)x^FFy$Jb7SG+_Obfbf_x4K}4}o z>`ZuvHc}rj6&eg^oA0SsW`Gh9TBZAo*eD=G`2PVPN6}EE)!Y;Gru5^Ged1j45;@P= zLlfv0aJ9-<8{V<S6G!dIQ``^$URQ7V`SScU9=2_9Keflt;py`8i#Yhvf#S(q?jc}5 z%Xtg#dtP{;Iejl)g1YKCM&Jfx&Msog5a;Il?<;t>JS={H()BQ&A7+dM!Ztk7aQ-Kr z295soMDSP#()$mX1NzFU-1)xr*XQ=a4fAm<e|v^ZTKWMaIO!{k4k!3Ptp;`v?q2x& zng0Rzvy-cW7%@3+BFkhqLc%D(Ly<c`!zKr6gb5JEKfPT1b_TajIEmRO7x{=ad)m<7 zo-Pbza;e^Q5<bU4U9eBi*cUD%3wLSedPCU!ANlYfB!|oY`xo}K1hF$VI_$*a>)nbO zvBw|4#Z2vXi)9UP1<HdfLV)m<<VoUN{ImpInpe%tikFYtM@Re!fZL^ra~(~76<pY% zLV!7O!qI0qa!i;s8|E?X!Vu|v?mxUY7h_FX5jn@&mTg%9yXsNw(T^&hmrW6UUT9IK z=1|tq*cHZ~7EdG2;Ns}x(vc_j(M5aW0m+ItPjf6TruuIXORtT?3%c^%a~#`$8yqj5 z7^|F~C6W+PI%uPfNC+k4qa7kBlxc;e#l90DEpiK(xJ~D<I)nLa<qqPcFxN2)v4vN_ z=`NO*RCICmHWC$yzC@s(cZJ&HLwM(7B*O36(G)5AT%p5Np8(Dz<ww^5b&0e&nw^+p z(Ml{*QYtz71X4+$Wa!OrVvgklc$KF_S;p8VOC&f6#35A;pbKxJ6A&l6*&2>HB#j1w zS!qfZXI(>4$ewzHVE6tp`z9&Sx0S-yCc@V6qlvIfxR9s{b<m8v(X|c>p%iEu*bu9n z9HlaKzC4E;?eXQsM?_&aj+DRs0SuI%!=;^r=fxeVc<eeJLtaBe9MJrcnL<U3G1hz- z$X$`mv1Gqd{B7jJPzhC#&)^77VA6a9WL6P<@*nFu%+j2Ix=HTSFFwi$z!B)|{ZxSx z{Sh~boeduXU}nMwmdM1`)*{mWM&Q042|>q~1%u#&UaNp)?nzsu?BH8Fla!l>7$fp8 zV{Kq{ujxk_15=cBJ)FztyAWW%N=NK|1z#?(`pM`bFLHZJ)FZZ$MXsD5EMJ2D?{*b! zjQ7laUyW>~hnH){#8In3%R?)|@v1+KxmVeK4Ow=o>Pe~_haIC;W<1IkP;0<wB5Z>{ zY}@`}DxZhPQtaF<)6=!_0P<^zP$dUXWYTYIc`c&9QzN9$ai-SJ_qJJ5w0SgI9CD7> z`rJdDVfvX~RSXdp+rbfGo&T6R+?h@0y8n=Z9;vWOJnx`H!b={6QZ9a&OF%m>HNCE( zP^Kn)Fjb~zp+1H(44N?Wk`Qj#Ga~4M`bgF%>#es%M6PLKBJ0xuF@3>i_dr-axjC%6 z5eOg%Q3O)>Ao=Ct53<Q_7O_@cf_9;cy!jESwmOOnElEO;U%Y#r?7@qVV684cdj^eO z`Jt4PAu~Hm=(^X|%#i~_7K1YoAl(R}NSQyuz(vSLM_}!Pj)RQ*;%|Olel!e8nbc}< zrc_ByEC|yd=J!KkwqUL4#TxD&=<J8<KiKyhRss1;vIB)RPVPc{U0M9TJbR6SQ7Gqg zf{Ka{1mRT+1{L=J$@(UOLMboG($Uh-KQAx98}2sC>SPC){egio7zFhp(hnv%Xqo!* z2<W4M%v}cuEj^pHhi}>UDHRGb+R;F+{XmH)d@wM;@{N(wg|mp3s$9J4?~s_4(v?{Z zM9!I5Af6t~4QI4qg;LcS>Pe=1jp^}WV*d(N=2-gAVmPdp;)FxYbi^<pqfg6A7s08J zUV#cFBUR+sailPnNfuC)%|-l}+Ox>ArXe8qwlcJ24`bAqDpwIcIRhqu{4pr6Tzv3t z@#zFQ=oYG7;QS{{oirVR)wmEw;W1>}m7b{YrXgp;j(&JI)E@Ck8LE1FUw1}YD}|{% z2x$XcN7Nk-z7GYSOaUTC+pFPX3)6tr_wLT!(kGS0NH#EIfr747q2u#YLM^~iNFZz} z8zcv}tH+8JH`U2NAp5&m{t4u3zE{V>^Yl4q5@?h(+vbA1K{dG4QN0pO;`|^Rr?RB_ z3KOoshXpR(ScDr&9SbZbuiE;0AT_wYgr>nA{Ba67T#ybEr)jg;xq<TUVX@0Me=J^_ zWI3{qB{xP_m6ZpAZE*b!oDs=jHSAL43r2AH=19E6!6Fwt{LZ+ABJm^L8M$7RJ$<h< zDSg7sn<I(Ma3EX!4uL_!b5$s#RHxWE-wC*F(1+C=aaH&{d?X_zAKHMHtAn4hvdxO* zWSU;<H@|`R1ts9+JTmkM`IoKs*7kPGe)7<I4YJIr)wanhp1TguEacj<=f44cYPpoe z=Hu5HhL)>&x*<Q4eHY0+TRzJpb1Ym;WQNZl@4>MLjmVL2^t^p<gi`?*@BWCZlphxL z2Az2gU1{4y9T|huhPNZaljEHI?7scoIEJ^6vVlEAT9R++GIDbW38?K;$Lg5bu54f5 zKnC&n6sw==&Gsj{vt5bS*4AWedry1UtF7&ux4hoA`PJ6cYdxEgyt=KcwT;t;iP<bo z!DZqx&IMezXf`c2bXQJ~!e<Lc9b9+dQ&qY!Yfd7XBXyrMYr~`RvL;&Evsa3j=V`h| zC_}QI`qJzb5W83vau_AcyvT+IoBT%ogB!_5^424+a(F}wLIoOr;_m9@V{b}9BQ$`M z*HI0HpUKe;(-SNke9+|Dyh3Z!Mr(sE+&oSxGk-abPN4<8dPTe%zEwFo0e=FNm<4dS zk-{x?6MeWve@LU8zO}sgW9jk`kGphou6*nW(a4X3fa!FS{Xmf_LBuHX5a@G6Gop&U zSOEHYZ$twuPD}zO17u1p9=}l>y{&fxw!?4W3I7b;M?NW#55Qnyc)@tXz-a~ct<u6x zewg5P_yIq?m+)@kgnoyg_QDjoG>S~_a7H3}@cNrM51co;DYBc|XGYjF!usl^1c98I zwa3rW)9;2bk)S6^fcNkw*a;#R`48mN!ym=zar@X64U0aReS`%sPhOX>Fd@s&FGPh1 zOcL>#5oiwVxu@luqm)_|e~jMtVm+}~I(tq%q}1{7Ubf}Kh2kYRlngD;kI|&v9P+=i zhe0G~gJ0dd4>$~&u#1*>V&A=C4_&tx9_v@-@i|Nu6dSmeBPkYG9iBk5QJEUV*zv9T zoFDR(6IjtzIE59j-YZSbEH5A%5<2{Y=M_(@=OF@UG1ne|%L}K=LsO+^rvSNf{%ZNk zVDZsk>BA=oxE(2fb4ho5dH$ijaI8FcrgHnlOIZ0fYBhVQa(=ip_7et_;Bm1MTF!7g zwV7EUS5?<hcoy0EvEgtbA!0lRz0^IltepS0yd*oqs|SUWgrul-dEpwEk$Nad5Zklz z({tU=(#@Ijvl|!@`3wmfAWuS34nTb-DIXJ9d?=Spk|5YY<=ic9xBP4xGfN*cUGuil z1dLG^e;HCBUjns5zn3UJd@d~JLrDC{e^idl7N@{rhRQz<+vD@a$)C$hlQb_&cPfLY zi!(^vOWOnB@EnP)UP4#+U4kD|1n|Tug-G_ja&5A5eO5iRUczAU$e|M?1;Vxz{=rx) z9s%|t+Nf_NAkI`tJNepA#d}le4BQW4mq7o^b63$981l`<<C(;9!EnISigQ!M<(|zJ z?@#hq08;$raq;++{>i}kCuUSnV&&+m@}+U&VoMh*=YPT<%mlc@yok_Tl@@N$j76j* z4-I$*UOYEkoS!F*=jZGb3+k=x06%2<A=HAas5Wxyu&m%{#e1hfNP>QJ_xTMgE_uR0 zNhbHB1`8lB!PVy{sdxqRQyzY`?*(!?88F32#1wQg2)^FLbHP5kfK2Hi6yBYnU@JlY z)9}t@`p29BChs2&v)-+tKd3_c=6R;uS2=$e6rXDzT8MoL%8zf^R}q0gC$8>WohKys z4P?t5285aiqe!!Vk3S@I_zV0hQMq(HQJTfcHcZe?{sb|WcEju=bSwcIKIEbVRMLo` zq4&>E+BZhP0?!qXU8CO<m+je$iOThRbUc)%pH|LHCy*x{KDu}dZU;?v0?wVF;sjDN z;Z(!p%3r6;$L=TW3wO(73kh&1{DaT&23YO;!wLKYi1bfsfw0=gF5wtY6we;z&Y>?j z91}EicL}EC!ox5`3{`%dVOXW}&%s<1G%fQ-63fq*?9rd>g>wSSWw2sy2q3r6Ud%@= z*~Cv909OC}n`aT>!|=cas6W@vf^XBK+Gi6ENpOb^8#og%i>({*2oKpLDI(em)}Pef zkj=F3WvsU>Wu|jN<4n`!TJ?nt6IRi|7P9yX^SipdGQ@R03<!mzb}(4DuHHcn(N&L8 z!u`q1U~l?AQcYIBY)4dIIBJ20wH7hkJ=N3)sV)Sn1{79pueZD!me2whl!i0BoER!C z-lcj;&&HKai)wSQq6+3KwxQvMQ*DKL{(Q^a@InfB5mplg%u!hA(_~IK_o|JtVnYHh z@W_9i=o8R+F<qD%SjN_t_ElI#wh%&tQGWCQT8i@B8`=-lSrnJ48fhV20c_+>t?E_a zYFoNRw?Z6|3>g3cmaVHy5V%Hb6rLv(C4g+fr<__|6#05_kS^2LZpr{okvSN5Px#Q_ z|5Hq+=r*+xIta?hj=}`05&~`zh-e{I#f3{Gx6cnQFNlIq!pd6y<y({pW5X#rkGC-2 zQ<(YKP40i`;Z6JLWxA$oHsqQO9|I0<CRwt2xq%s}izFQF_c|xfIzHHd|8ueDY{vE7 z$EmIq>Pd;XWC?$Rg$&3F7XWyftm}Kfk~oYeB5X<*h6vknXR1KyDR(2|^T28ar79DU zILiVM%DqV^smBm2qF-v&Taa-s^f?=5>1wh#9VMR#Q%hL?3_{5TrNYO<mUMobN{H<Z zOsCg!3ihBBK(PB!z_j@3By3<2=p+D7bZYrDl{_eAk+>PSoG9ktva=4l8k7Qeqw1wO zoTw;=TI{FyX<m;#LIAvJN2n$4nbhL+upU}Dgz3Z3>Y)=Pm@wT=MAe3#9^bsI3n-A_ zZ{%<&uqq+jg$zA9JvkE)ftq%~@o8ta5VK1`SS*N%tpRCZl|w?v0cnhM(3pGW!ZZ$7 zB2s9pI1zo2o8cekuwsn@>Bs7zN=pxA;RvgaN<LFYd0mIVJV&<9gyWo%Mq6@QGb9N( zR$<h-%mHifc}^-v$07eh0D|zb{A@(l#W5Oh*nlW}NEG<@+PAQn2qA?$1l7+`l!}2u z&FVnCKPn*xmpf$f5I%mzv71n|Kvzr_sx#1Xn<5DM2-}zLX7R6A;2CF><H=^sg{Z^! z6qL=je$ur{i>ELXjx*Ym8SauT>}{4TuWa^7)a`?n?C}HCxABk|i;HA<IeE*5#Ya?A zvuCeTaOj;mL@MJ3?I%nqOmG=yP`=qBt>vX@y^8k4s9roMq;)k^GUW*>*WhW%R?rdp z9M-1!DS|vQ&OVUvT;!hkE=T4J`43!2&aSmRBd|;pWdv@yyDOJUWgvWJbKR)=LlT>e zeu=SMo4iKl1ui~>tKe;bjlv&zHL{;_Xt4e4jD3GX^Go+NxXL*E3-5;)VS%e)in89> zu7jz<w%%-<x%D$F?k5hVI`aa)Tw@1U)irHMd-1P___7b(8Q4pCe3GsH*1p{W>z-u( zV1xY9KN<%lkAu9aVFR?EP9Vzz+s7@8ots%4*A9+RoP(`;uz2wbo|GTY(OOT<*r%S^ zr(mv{sUWfFg@<%WotP`0yh$7ehYSj&3dRM;Xt-D#Q1LYbCfxe+tdiMS@MtKBV_uf? znV3W3Qu2eIzk&MMd|gJ8U3Mu36T=gPSZY|{V9+`SpQF+*^;11S&TD~M-Ia59!?uO9 z^!{y74H8XKow*ozx&<jm-T*P{`}`y$<aq93ZH3=IHo)K41~3DSeP_S1=+#Kygb|tO zqpC-_Pq7E}RV90g?H`=~e-Y;w27+^twAtziQyrZk?x0AId?XG6MS0E%BXtGNQBV_f z<V_-xMm`%pLV<Nh;j+@~DpmIgq58)L`Cqg_WGOG9bEzsC2_mbq9sGbI(?6kzK>T|S zr21k{d=RF4FpyQH{~*mhimVBJY_PQ2kSrxN{0|mOi!<=fsa*Y@la}fw3{;XCgNRi} zX29L}QRinUkhzgnWdRveWTF&@l1wR{?nV!8!4?-P+f!&K94^O5H6|i6ku@Drnrpg~ zxr2S#?$jEDkmd$bq>&qQ%61@uo1PgryEnS-7k)VVn}2>IP__X-0%`BfAZ1o}Z>sy_ z6wM}L3gYAMVHEDi*$APxu8LlR+?$0W6Ekn^%4Pe~`IJ>We!8@HQLk$t#rp>pE8+XW z*Q9@M#-PSGLUD}3l4(W;eB@%`vd%HkqFm#7+@6_b6vxjXZw>D5q&F5j$r7@;k-Jpv z8`@vWy3YRgY%_-=EllgaJA{8C{JW{<B1YI&etc1OS3Z^7h7uD4xfJWD;@eySio?BL zY;s$L+j)g<kY3j~8XV&t>*>I#;Oz$QepCA=UkSa7%w{PXP!7YXS#At&$*W5`or&9l z6=dqN1Nz45%xs9y7k5wfc?8}BK}D4PaGh-<1@o{eh(c7}m5M-9pJaFJf-ShPBZJB% zxdGHKiBTQR73MzAru$h>8Gx(-Ufqm@G~hl&l4tLd$!PWx5!&2c6t|>cpE-wj%gW~W zCg3ey9G$R7;b%#{GqAeQNiIHjpW6Xb;O98?V2?l_0XQ3=5V)uy&$V<iX#$bB@%>8a z#7`S2!e*Z$yD$7({ay(;fG8ygw}D1__<Eu;I0)}ACM?a+*xVINI_`<_Q%}@BH9$%3 zE;K+)yZhlp(M)RcApAQcC#H@X<RrrR5}e8c3E9D?>LMr4%+ya$VV!D#o;-bMgrHW% zo*H(5nbz9|NU1Gq&Pd1cDflifW#rK%Bo_*#l3-3^4#U6h#Sn0ftgo>;5f}H9bayK2 z<~NRTwo;v8(E0`-Y-EX7M{^R!+sijcs9cB73(j}pAz2_`g#Oi!iYX#h1oR;SVNg<7 z?XVdiImla(lNr{9Co&Z@DL3rWC8+cf03&n5Vj)<!;NJ7Dq4<}Z)t~`TBCM+mMWd_v zX}WM=R}yuflD#`JJ=tb0t_N-8wTAC%dqfqIN99V1fB^&9G^+9V&~>V^+McmBVevf} zBhdof6%QdlO8UzflcEkF({q{t^F8!a@i!xBV5Orb1FrA%F5NySQZ+2tbMvMnvv*;Q z`Ee*kDHB3qMB2m-g8J7D7Lcv|{aXhL2eLV=-0oDN04KL~tW>w8QoTVpA))xqA4Wle zKCyhkxa2y9X{WHaTB~NN3EGWqRJDU3vezZ6q1d~!cybhZHrOQzE|m3XnS%Sh?k`xy z{6JS15&>I|vdJC8f*1sHH~%_F$rKFsO&4wKu~J{49z%EDB3o6!N`2H%%6jXq>hCqo zx7|D>E581hH>^Fn#rij-zB}D>csGv@`)#1N@aCT1RY&r+hCx2=ly@hKKI^h=vdC^c zq$LmhPE~(S(U%un4dSX5;^Lz%Su|VdN=GkJ7M2rdx$0l>))o6AVr`G0-WWx-lKu(R z^X8F?VIhGeEcl1gej<gzg@>FfnLM8H(bEas_JD}en2z3I*JfzX;W|so(I<~M^(SSv zL824r-aE+Z)B!}2ba{`qP?k<vVU%m>>FPmNo`iUqv8ZqW`hZ|EifaS<4HySD2~sHt z`4e%^_*<6*qwEwaUyAXEc-qQGovLhvU);J)J%`ir|IgmLcSms~`=Wnue~P-yUE7## zBm~CT-0|!U0%ka4Y&H`1I+ryI8g&6ZNZmc%EgmzTyM!5m#7kg<F$T=T7#Q0iyumyq z9^Ykeb*uH)`3m<J5m{MT)mhc0R;inP&S=dTsVXZYGb1uGA~GJhB}4Wb^<t&>Li1Gh zVwLv-)_U2S>cu<83t3Eh0qDk+9sP+5I!;R>XpqDNT*pCssYlXci+pW<#OElKK068f zqPSoJd6Jfi$4Pl=xzdw3JOM*6==K81AM_w4(hA^-kxdhYaf&Mk$y{kwMjuKh9?%-< zS0E%%0@w8_tClCO!Nv~i(SDJjEz^tMvQgW!IPsJ3!Q^SAH}1mWU1nxZ2(!eU6P5%E zBqg)-6_PZQO<8?{v@fvns{Ja-jQHkZl1w45jthY_uqs2#PIEEh;0V7`@pR^d)eZ#) z&p(5Zfzi)AyQVJOxL%1lVL~+D)vepQ*=H1%0Qwzt>n1@5pe5uuLP+V8?<uX<(|gEk zGJEBue3W4N<?iCYZ(rT>=b=BZ$*lT4vUMRCbJris964p7t~5^1Ftd+4I>T)P=cfIo zKF(4&H0==VCuT1a&Zl!q()qhQQ_OV_piA$Fr0y4ZENbq;{8$J@k<sZJx(aU<zmGj7 zUdPwI-d3Z;+LK2TP?Q;|Q!Ev-!vmG>lAHhYJ~zMD+b2erJg`4XmvQPVWPidHkeLBa zE_tNvt>(bwT8`Y>UmdUA_>R)aO?+M-IqK~2=P~wFqWz_bKj5Ka*FiUTD3|a0)1SJK z%C380Z*KYST)sP#&m(AS!2MSgKZH>B!Cq8jQ;&w+eC40_yN5sMdFTBVJ^0`1_x>5l zoy*j$=br~N`Mn?fdEd_7kN&whm_g`QY3PHMZ^iE1z~*9#A#s%OOf`4bIy>l3d9XRV z)_L>Ix8-jfEA$us`0Lx8t3STYALz4?kQ*t@(lCA<lvwFeV5|8Lth;JnlBm%aPmU&R zik=iIn|BAx>wt~}$Tpbvrc&MOjTHi?HW`hIe*%6-A<5D!H~4<axep|^QH+ep$0WZ5 z6jQK>hIJCP07aKAF9n;>5^y`5ja~MQ2SD^~T62cg!h%cOvWFojfTAYO5cZEk3yxH5 z;6>0gqt;v&$+qD9Ci!ZAh|~yeT5JN<!dk~=c28riXD>fO5%{Qu=Jm0yGrdT@%;XpX zf3Q8d!FH{-0kMTe2Z5)XO(jI&<f|A>-Nx9L+ScB9p8y5JD9<?LmipWh<(whsmy`(} zxTT(#51?z!)f=HIG?4Nc$;J_EN$;D`H8qh1RbmH1f3Kh_$SDc#MJ7xN0Om5Way3Be zy98429<Ee4;qM6tvPZU(Df$&mAiYCzg1QNj2Rec%dJrdOrjAiEY!-YZA);tO6#32K zk0<@`FlMGt&Q729<sQmc5|VuO@9Cb8n9{hEtOmfuMK=a(oxcp121z>kD@h%Qw=Mdj zi;_W<oh{0q)@y+fpu5KR&FOAKVPKf#w{(b&IEP1DUeB@n+Dbwpx}z(IIQClm>H&-e zLR3O;BGi&_9*jA6cEL-lt7qjdRYsVq%WyHA+Sf0k3x<jnOI>1CM#;KC*6Q&wDyYey zkea|>5kX%W5pO|M0EhDo@&N2B9NgmOhslx^=Gor5goH`&v7k)ZJcADxE>wp4vr0G{ z;ZT*$y4fwcd=7`f-cn{L9pcDm4&?U2SmzOl1yC%lgvdfkm101*%PUsu^7T9WM~Y>g zJ^{Z^ZE*n}NnaZMo(z`HFPJJ-upul_)f1O}z5;U^<p75^6yh$X0*FT4d$7(faiMNe zY<K4dDTg@y5xGzn>aw(rvm98O2M93oy(XQ76J;a}y9L2ZN0<%B5t-aojW6(-P zA!2lP8OC$b!WHj1HcDl$t~{t-ekryDB-+ChW$d+>t(0kra*IL7_Qu0!Nd=jnaD?m~ z_~VL|$miJIEv8kml)+Mntj+3T!uyPv*7U^e)K92{2b6`BT}C2hC962l%yX6DtP942 zYn?9dPqRfKzc<jt`<vT@;PP;3e|a5=hK|3zue=B4fy^K#)$<;A!x_)`0HkFIvrcbT zA=c?V4p46J;limj)E|$QCTQy9sa`M&8-RTaNoDBT(qo$nh(VwsT1=GREc6YZu`Be& z;)A1gq$<{_TD;H&so^$z;S_4J;n-7`Fk-alngC>*{qi)@aHCQN619LoEn8-O1Y;Q` zB{)7sdBnY5l?D4Ok}|{H{t0+%?dQ*_(%d(H+aXm0(qpF??=D!DZ`m>oQEkO#kXIqG zE_Wnm3ahw-E9@=^I4o#I>?~pC0@IT{V3WQ>6%J(9uup4gm@_j^LFB+&5pp5J%4M%o zP<XK+@zCd7#6d2XMC`?scGM?t<2EG0&?Bo=47iz<t5&QYK*5T4)@1gqUbAXd)?Kq2 zw>IxdwTgzEiL`pyw7yx~+YSlulDh~w>KjRXh(u+?jEv`CPh$JSE5}*F)tbA8q1up) zt)kV0vxFOX`&TvM{fjoph8t<}Q)3Bn8}&56Yy!`$yk>sa(82!fyoOy5wCP=ak<OuL z@ong{f@{Kr(sOT+3m{=7pnH%wWeq()Sv!R!)8p0CU;6vla-;^S(mIngu59dU6eoV! zzX+0+b-2<*6Gj>&7X!yGh_SQe#%!)qD5XPo%I}q2YrVtHfT3uO&RqTpm@`AinP+iM z!TBv#^W;Ep<>mVPtNP1xNQn>@T8t?K%tXd>!Df`%xrm&3h^#9N4)zz)S!g((mAOM& zX0!Vy`?;qpKA0|q1r{pE{g6(EMkyMeAvnJzLJn_{kr?{8<gv!luZ%>fFvK^&(#L~i zO3j}}ZHBu@M1eX;wd==4q^8r7Il|n?c<tohfeK_is&UKuldC9^H}mw??48ppa}#I0 z=3bXAE4zb;3oex49&)et@WL{Y1iYuXY@2!h9J003+t){SDBV9GBJfjlA}Xabc2WB9 z_|d;On>QHkzxh>VpSv7)3(K5;aRvr6<+AZ|OkH`u`W7j<m1hj+fnrC2Z@Mze`HQX$ zGAQnIOY#@@M0xW^kIp{2ZuIs|7lA5faI08xe&g_81N(A=0-M}5P=&=?DQp;SkiiWf z43Q;io^{Iu@XyNRD+~n%4yfD{R_@uj6i3ElH0$U$zfrJ5o#A>?L#J+@J)XOa%!=Rq zDziL~d%U-ut}^VQ%VnnYq^yt?$KOp_7LKm=O>wQWg5-kiaEZ&vt#wwdSYh#7GdnQO z{jJ6p)ZDr8p_L6MzV);8ry0DbWfU_IcKkwf>xQ$rlz4(L-`%Jjy|+Z!IhSXsZ($IP zFbzi0xUqr722S9q$IicH-D1f_F+Vr!pghd%jgjiqmtt6RcEFzBwIYGk8f`qW3EZU1 zpv>3Qwd(Vu*s@SCykv2rV~5srOC}F=ms%JGc_T!xBeZ!tBw0+ScKKE9^i8I6s`+;0 z3NCz5JPh%jD7E47lX$7yN*)bqd~L0wq?D}|f-`nNBW0v3nM8wclu3A6pA>M%k<KY8 zm<(<M?tamT9|2e`P@Qi%oHy|!BPTZEW;ha*n3W)UrGg8K76##yzFx41&LgQE#T$|C zpJ^Tkf<!ih>{TgumIBz94PGRN84u|UQ+MYLj7NZEjPO%M4o2K1pdO9LDzIIUvny{- zWY8cN#XBcu#57P&PFp+r5N)cr9+_{!breS&9Wy)=ancr3oQdvEW|E9$z<;(>kp!@@ zI#9)dr+aY|E_k+PD*Kd~(0s&a70HtxdbACYZiVP0B$F|^;P$Zh@xNuAIC&}RCVcQ4 z=PzXcG<Nh`<kGVm9-~nn=YHG3xeW%zD;(rm#v|*Qom^XI24!~Fcw}QeLVQ0>{$xF| z8$m7_&-%xKP1=nz`BQ=02f`4beuU0%c)3$q#o(1Bva`Y`9sEJ*L7W2?!T7>_AY7wE zkpMJvBv$j{OEDWt;cwrR$~HsQ9{H{fG2(wczpTF^ZA+?MY8&k7>wJH3Oup4qpn;va zMj4`XOI&C`1!AFuYNJ9-xp!0Zz$7wyBXKgP$Yv^;?Q%s<k~*#<=w3j4`vwZ|C)_-= zSG~6h?v1@hiZqQ)eeMwTPH$@~zeq0QNA+(JXV8=xOPbt5AI_RfFB)U`KUA18k9}W; zk<`u;KU7DL)bBr)%`I=0d|?PbwC5zxJ#t5}3}UvdzxtYz@{5piAC(0tu|0XTBdtrQ zJ-2zyr2y|5kVMx(7m++vHi@nBu**lD_1@Mnk9zM}U@w~|vn@JoUK`i!O!EV+nGX){ z&EfhO|M50#rnI;GR*OQazWp1d9$5|d0jNFeSwe%Jogvj*nL_97CK2j}<A6C<(GGRz zPGpP|mvY#{=z#GK3|*N{J8SLS391z_SiV3Gwd%`@%Jj#VfH3M+UtO#ozXxx6xP=YC z{v)A6(nt(th>DRGP@7TEh7Yha^+}2}Q>P=YBd;IF6Ni?wn9E`_$Quf-Ig5(txII7x z>}fq%c~0K;6JJ2=mp^gd1wxB3QSP;R^*9<(P}W)Aho>Lngry=8SO6F^Jq<!2(vo;j z8i3yO<OfgbVCbTBsG-A^jxsO`G|a;^GZ%f*SV}|(@pY^JNH#>Ib-4upluUMA86tSu zqudliW8v~buKr|DWa>4+7-vq1%sgu4h;zHy7)`M1Mt!cCr&BP&!@r{X^XEu#kCgiL z7cZ(me1Y=oQW#EH?Ar)Dx=$8nwh^P3Jy3Q*h`AwHdy>d4<_xsNf?xz@1#&A1u|-@o zxKkCD0Jn?Mz*;BA;*0P*_5n1*56Jbe=oO43kBq{g+l8&a^i3GceEfJ098%1)$o!Fd zr1;3C2&_xc12x6x)EFOPAd(?YEx<A{eJ}TF=inCp?n(Bzgn&xr_~>{uLa9`GWB3Eq zuD%lg7L5YgGhtFSr=#yfwwg~9(QDuS!-KiJ`$^6{xadS{z-oo_zSFfPDtiJJ)MGS? z1%NI?TY@=nOdoo^shZ-`AJhfO_=t1^-i4YNvREw~MZRsRG@P%Xv{83i`s&W*D-yPZ zC?8oBhpM69I5m4_5@nF>Xg5|;;htEPAm4bGhysv1{6IUfui&(R`M9gYq?nKE!-{!A zIEG9c12`bh=Q~GsM76{TgV5~-(S^z9E4gC1TM^1mxO?)N{c7jR<?k#<g@@|c<M?sB z6*$v`Dm*L~ykLGsE$VqwN+A;2OdLKPE+IBy=I-iL(*P8KL>^iV+uFMlf%$-_;j0Jw z%9C?3Phhd?cgAq8&5j=jD&<e0mt3QmDJ#KZVv^j0UR@@)p;uR_evJAAl?TtE67}r# zrP>vgb3HkGZ@k9dS?Epidv#%Y;T4>nmE;7E!RtrVIe_5#pQo$ep7bN<DJXtq=EWIx zW5a>*%lYRs^^YU}E|-{jEm=wYJ%mT~oXsHMS2I&n@=71-_(WnFsj&kmte*E4!7eVt zn0bB#HS5JD)A7O7F5O2Q>Fmo}vLLttCQ0(tX!Y!mGD0oYq75XM&aBwf7v>-xjIwqS zfgR)K5D~sjHY{Ut6AXQ^agCbuGtZID=E=;|soCjA(Nwpn1Ho=@a)(z!)oG7ukytq} zT%tRCwuQmx*CE{kVyuKL@Ky&?*jK3(r9c$EK%_|-g6SWqwXhw{JcKv+t;u2G#$B61 z%@~HMW*d)%`Qj=7JXsG}9xl*I*4Q6rB|lo<mNr}5Y%a5yyqy8Ga`-Q@?~!>rz|TdT zkchE+3l+2qAg_q{#@JZB{gVXD-~Z6@*nh(*V775=$3d_`=g)<}cuXGF(E}nds@MLc z2#gjv3;r7(8G$Lh4rfP5Iwp?G%&Cz(^W!jgHXf$Joz4C<)A6`-$^9^cY!Um?;mmMI zlCUwaTSL|kiPdaCns??aa`Z=vL%ZzWf}bMSMwBcyBGf}#Q*mV|Q;Sqr=kHee9<6rm ztk&6;NFL|k=FOkYPZCdBfxq6r=CU93ylGl;;PJe#GBgNb10n!5!EfYWh7Xs4unRC$ zXR?mc!O3bwPbn<bw>%YC<Ldg;uv<Dz8E?o>ei_;1*~{M~MsHLGA#PLn*F+e6urLA) z^<^QxOm_W;8xccYLb4LKgq$I{flo3>r<M*mhErrM-z`zEaHffXn>M`~s$+d}8n$oo zkB44XMKY|Bi;{zFcKliO<&o;hbI6B~d7&ag1xK2++Uffc6m*!2q!Lq~P>?HqCDH=I zFF+<b2Bn4!@#vpjaSR>Ot1(2|2bRNUkD-Z5Bg#SZ(+vvw;i{%I)>}W<AAOGj(QN=q zppM+(jwtK~@s$%uRzuSv&t8oA)s5PbNwvYR-1QP!Susm#KK8mTSTe|QDGH&5yq$~$ zm>|`WimO=7>akNaugl+J?l76srN+cp{xVtibsI8Nk-qS1bneD9Obqo`m*$T9V+2}( z0U0J|vWlIpPI<c&2?UINB_?N+al9F9;2fZx2i7v=X4k^<9DK_aN(g%N=3!=sdFbIg zg0Ib4FGB&RKvOB0#OsXkR)AX@=PE+R!ZVU$P>8%bJvIB|Nv$n;y^$e307hj@@Zo?4 z$%*sBjT@lv3?QE<XH+OF($zReKl;;#PJ`2r?7KIx$Tkq+jtEjze5bxmh+btv4Fy}N z^n6iQuhAVuxm#?D<ch}O5XCs9iRSPNJvZXPH2Pqapk2aQxsq1kg(1jz9UDhOQkyWs zs?wHK#HOHS6$v&37mkuuz}67?Q2QD=Ku?QLgZ{*+WOnb)lpN_SmjCIvEMuL?;t?U) z1Z56y0RvKp_s}4%;G>07P^dRenZDpV1Yf1T%mFt`zLMz(99~+Dk{jr}8R=;IAWN1; z#dLjDPj2z-zy*6)?F88rgT>To3KFBHoZ`Wz14C%>z~u=w?Of)kOwrY`>vNZGA^iqo z>1UsR34ubcb(0Yo*tW(A<&dK@#lkFedpOx~7mbgabqyjNAG}?E<E(f~-SF~J6<7m4 zpICgR&&1J{IH}jkjun64-{}o8Y5wv3UC`9KwpDL@8JymEUr?kfe%L979As>1VnW!7 zV#%K#+7?8k-YyYuyfHWn+ddJ!+xRZ8FanWMySbsLCUi!(HfojRL9<O1(l3LF9w_s% zPmmA*X75ZBl_E*V{cjwkL`+7VfdMf&;ZxXq@n7~Kuuy71Ra0c*Q3P*y;jNX@VGfuM z&${n$eqbs04*?9B6)OY#oTaYNA!MKp1&5-qD*KRkz&VJVl&T4YgF@+zzrKOagUr}K zSAZWI&ozxH+LPs%rwb!1TZfurLyTFV^7PA<5={?_+^UmS6ire03!y7YFCL(Y7TIjn z_+)IHQVWiW_r90QyhQc~1EK%j36+UJ(+TlbqLt8wmaPoEj_Aasd1}wQRLDs86Xj<m z`0UT@UY{wg&t%iOkVYsk<gMipxO~oL08vy(gXN#5LDOVeK*X-sK6r^>6;ORC!~T)5 zM3M?IbB7IHNY;fs&kvDEzJBKmtSwG*EW5e74XYJ(l*!&VW*lNO4R7?+(%?A_z1xnm zVxd%7m(L6yh83#3RB;`oh00exLdqx99pD<z4*9>g%82OO<p^6GJY3F|g%AQz7s8Ah zk?t8p+3(=yk2Ux%KYc0&AG(!(aZDWTKp3$6h+_f@YuE4JsQ!EbRuJYhI*=HZ0czi# z6{{2o0u^z^5X2hBD>9UhbI!mkBlX)yFc$v?i4&hlghZ$}9K@6qZhFegD|kxkT35e+ zAy2Aj;aPpAdhcTGKIM`~#Q6dX3ctMJ5;X9#3$>Xf!(s^r0i-cn$zjF=g~37z2RQT^ z&nz3H?qFw{CTRx|6VjtJzoM6#Y}TUi0Ucjjprp6*EiWQ=m0lECT%d+n7`!EAF-Tg0 zxr)~S>w(u|s6hk418q#tSQs7$5!_m5^Sb<Dp<X?MX!b`_=CrSYEwDNJwkpK37#o1$ z&6@|p<K&&LcT#17f>2pkb1h4*zbtwUJxqeyouQ(GnrCxAobsxt-;*RLK#ufTKlwA* zClF|MOFb~DP>#tcLLm$6%^#ir(f9F3UD5_sQCKLLd{+ON3v^Iq!3e^qW#IMW4`mc# zP(%%I<eN7+Y$@b9dx+wRd1i<CVXEjVR>PF}p@L^{!;o~(w@0|RkG>2-3;)0)gSXyg z<VSSkhU^$rK7_+th@B}eBd*?3h-4XhKp)EcJILt%YXp%U6Y%t^PEAOXC*gI=;bsYS z9ox71>gaM9(5d(Z!&}}sg#Q`=qf^XK4QlEn9NV$mg$u~T+QdZt)dOOQ=T4v?xj21+ zG1ew0Bm%|!R!phY^RWGlfDGl;<_+jlI|su@45oka(yxwP1}E-W`5rF1%x>nxcRfOR zvj^<9ry-zSc9GYpVIP?zyn=EX_I1Tl$)O=AB)=vEA)GxU!3klKCt8i(S_<<Q9^mo? z>p}%OZvAcc>@jplmm#r(z_)TvV)1b}&V6x>_PU&mBhz!oC&EKvw!PMoeWNEI&xp7B z-uX*Ek`0#wCsx05k8eADe8POTu2jk#cCv8(%~MMMmP1-NtCZ<3%32QbKVvja_a-Ni zr%lr+m)L!$-}kcG>D^TO<>cJRHCfVmi5aqG=0mu~%$D}_tmt{$dG|epFxzJCzkl0# zbAWUCqJDdWrX5<ZU{Dh)Fif~kE*qwk9L@qEl18CH_@FF_oco~Ma0dZGYwSaFLU1Rf zn{<{Uzf1MTj{&b<I+%P)!kM91|7T7ne|X0q5>PMhqsx_#OIc(p&m1;07cV5*swiEF z<lF$E6#*jcTDp{Eh!fBv&Gim{rN_r+rf$`~{!-HMv|uLi9sDV$3K<OCZvJgwp-7QO zWT!0Tp{uOy-fVdMuY3zsqBoSHo);vpgWZXDl75S0fU?)48Ynk#cI;yE=Vewn+||O! z>EgB#Z>mE<8SPY}IQ|K!zRQ+Dtw0*q+IJ&}TEQ{wwF)Y{vgA?AJ;PP6FyZ>i?@2j9 zTnsYJumc;e&u6BokP&4H9vuUW`sB?WvQD+@H%Okt`dyi-U7BoR>hnMviX?RxXt#6^ z>~jb9@1%rIE~hp3XH2ZrIy8t5m_p;clmf{2%APo*)HbwNU7Z@A9le8PK{8KCi!Ig5 zFz+4p`!}nnFUa+NyQZJXW_R*Jyd@f`U;)FGU*z@}=d(B}YnKP9rzO{8GHhax9(L!h zersL0>ewX_e&AM*Rj6J#R=xjN)&j%?_XtUSCF^3Y1|knxZKgEhpk9*$m)r)%6m1k~ zXlj^6BHrmO5HgGqUrih)yRC7M%EGI=_YJZp2T13ltO-A0VcRM<1ZDb0iU%%~M+;KM zL%6+icZbj4B%_0Pmp^-mgbhATH<VL)%UMn?G)G@7HyH)64d0j9^A9QcEwg#^Er2&I zZs65+64DewoXl!BzVioz)d?jbKbYGO@0Y?rH<;;xRXG081Wa|WTc#&nW%40=3t|<- zt>u8gv43O{eSV>ZUJrLyN|}6F>PMBqk1|C#XRX}1O2H8zltl0J1zLoOR)%f|vTEnb z01#QF)PeK_pwuqjQBg8W53Cdqx)v7^h{@3ZcM?*H`-=an*6xEfJ6HWP>SMTvK7dlR z3>+N*TA5o6fHexhDgYp<n==y#)88>Obxvr)rv^CFB+GYy@X)|uVL00jtpFxV+|N>u z>*bt{$W<lW=<FH0<XFT7xTH~hqg4GAPAd#tkI39VFg~&t>l0RW^z_{LBP5shoV1R> zYYqM2IRegSp53O%@X^z=_g=!VLMJtH%#Pkw9Kbl>QO^WA|Ll*GLQ3@2#0mUfJO8-) z990|f3&{bJ4O=|JFexNwrl36QSQoI8dxw!Zwfmq8;;7I**1!3}5MeMr`b3>FTa|20 zrcDa_M778v<WQ7sEcpV0x}h9;e;1K75In>Cvz*(T@0T#>EgM$z1tx~mho`zlu&^*i zAxjLiS87;aZZplnw+=i=rPtCcj`$*$C-pKCxo|983@Pj|X<-3tU2^xh2+Bb@opN?R zS0N-}ndH&#ULtF(U)OLxw<qUjSyvGh2$h7055aq+cQHYW%dn6&rXwzc%zuG6xzWY# zEY0}%3z#X8!4pwTZ;<m{1=&Oa*P-<Ne;S6<($Y5%9$HRrXh;-_F+!E(23?Ty+55q9 z^9R<-M_n8K=SS<dZ0_CJyM5cXjUV;z-1yNa<V^gAdx*5na@SBMM^%_JW!!7xnwYLG z;KwJq;v`!a@F%0dRW!9cn8~RTburlRdMKZXCA$mR!%LjC&JsFJ@0{%4++Ur#xV-*& zwEFb(C8A<3f%A8NDU)?SDsao5l|5_LtX{c#1#Im-@2ps}V%4gZt5&UoUfuJa_er^k zjO&BFa8^ThyQ2DxYQMm;r`rtg-ZHRnb5`EIPt|DOU%5)Zt`sVn!A-79uY1%;uw-bD z(UM2?@;xhd_pDgyb+-rZ?o=3&?sTXLNMYx|?j=|l_Sh)7mElsJJnV3N{sxe!#Rr8% z=tP1b)I%8Dq&nke5>wNgf^zU9-ce$J7oQaL*45QTkZ7FBSzs-};!J9I=3xheB9)n` zq>L+ODt(PCYy6O#HE3oEQ4T>+4P`MjAaBp|_Z}$iaENcb5s8DL=g-1prRH4Q*-Tzw z_Q4JZxNJc$!NdjBNIYVAc{K+CNh=?A{?tovU=gIZ%CrOS3Z_IFmY7w0CC&!zE(P|L zpRbf0>`|{@SU~1X9;)r4iOD7qW$&QFLbMy5rxmP-(-Fj{=Lmfi{6gnD5FuL*NK(}0 zZ0gSym*F>n?&)%NA)tKMT4Sp`JtLpbPM?E=4Ww|LQia%Wm4)y6quUhY`Sb)bvG|+J z`;v3EOi^oTM~6G5Wtm2{kZu&5t{*use~6ANM?RHbW`Pu`mc*1%J2?(rUx`}hAJ2UW z>EQv-!WcIkmSOXjFLA$JpZZbGCmJ`4(q=_sIn2QHaepcr0vsqYI`OO2H>v<hIqz*f zV664Y3oKteL4(;Vh{5HnykAb@dBfnIJgmR?NoJtoDa_&CX;-FL?D}K5kl%$H!+T=* zbapNAxLjtCqDjiCn1XntS_KO#w=Bu(9$tWKBuATEevrJS>e32U)pCZkmc$aJZxxYz zINknWkp`P|8YSG|FXnh2ovV}8;C<$9U=FCt*+PIpS^}4^eX(EnxOC-9{806{j&<d~ zFgKF0-GReO6zcuxe=_3^`Etd`J~o~e7?{U(l+rCJe*#P;`VxRSUElC-<bluacEz84 zi(4*Zozmekw8dC3Dtkbd4@v(}HgNRB48X%nH2=Xt9_0ZI78O+HVP2X0dQ?3BYmdhe zQ6f8%HVQ|w(6!q0XDCV|MO11xkcQl=$^!SOzfGuH0Ea+$zZ*{7rZ+CKDu}5Fd<;nz z1PV&Blgh_Xu;E}fk~UK1@IObch_Cd2j$D=Ea>8Wr6=l!iugGHpE)`EuS@k+a!EiP# zVp85!pj`igH(-z|<N@nR{;i@ysbB<bF41k&ASa)R`OSny+=UlM>aY7uc<%hA`s5@; zOT~&mqjW*N$iant4ESwJc`qHm^ZNM=x%D5_zCJUrkAjUQV}r^rfsv@+=J`*{A9`?9 z0t*zvS<!<5e&+NebKT}_87`9fH!IF=*Floo%HiPHEq{IHRMdy?xS0L>l%+|NN3tL^ zkay7XGiP%iH#E5Sp)9+oyXDdyP=X(CAdWC+x%?FpNbt38BBNQUm*t~^KM;~uA&-&> z{I&yLN{$AoPT)7dNZmuYexPZ{vXG<70#=2_u?k}YdemwFLC9-gaiC5(g+0zt=8&_S z65W^e3<AICaX`<)r7Kht<XwSOF?Z=~pk4eQ3Pta)S-E1(%6HNBGsHi^4)2unJK+wt z->r!J8{Z4QD(Cy9Ihb4Z>=>$4H2Ea-IxvtmJP>~f(DR@%hQ6@=X$%C*QM+=@+A8{C zU>NVA9W#`jC}^>B4<Q4KGC!K7<>1)DXqdJ)<~UXfUc6ni6C=nL91ICGLVnRhV0?r0 zwDIRNdAT{O^5npS!XsbVMi}1gPq!OC3_QVLaMW4FC(-$v9hfYlC~kthA8#I_pEv)& z+8`NS_)qyus7O6K#1aY5kBiaLSKLhOGpZgfD<+;+MLFr9H>%umD)SsYP<6R%?JU_v zV$c63*BW-IC9JN+wbH6q=&HjLsQPsS2vDejI+QDeWA(|ZY-6qY*ZprhO74n-Wb+3N zN<JMFx)kW9;ubr@5s5;p(CV9~uY{$o$kKr%g^7$4Q9#gWfGf6O89^;cRZqUe-5Fhn zu;e0%2ce-rmVtOx8=0n<v{w+Xj)+}NF4`a~5u-Q;>+a3Di}y+X;^IT5G}MaZMUMKu z=+%NfkuI@)N!c&-=yxjES-4d9t6!<YhHx8%`!%qM%YvDwBZ$w251A|k2@F&->A};P zXQTcjS~}=zoWoeqF3Kcz;AH~SCW4iy5%tdhx3cTKu2l}g%S2yQ(y<|Zi|9>w@#?tA zWhh2OX;!>(dEB(ykwK}yHGE_Td#`I{3k&Zni{#<ZVu?oF){+X(_x?(g=IC!I449d| zLng)imnY^L$PO@P(F2ucv8N%r3ltRK7)m)gA>emUu^`(9ZtL&e6cn3V!=X&Bn<;y4 zfNai;(G3dgP>3t18I!x<4{{KRmms#K>gf9Mxtm{ul5q7Y2exFgMFV^Y2MQ?)YCf!@ zSm>*(vln1QA)3(8DI;7PR?DPZm4I95cjD~au`e*_<V7~4%N5DqSGArSG-ZP`FI)Bx zrOea7EdQpbl!+1qW(4H}$4o#_OZtbBE}?>~#3!G5f`T(h8V=jLll6oQTrbYePG7;1 zh0R0zglpr<DJq%UB%em2?)*`SVx+_unCF!hDA~{&2PFm;9-0_KS{l>>b=ZX|uWAAP zC0fmh>&@gz4=C>|95j|m*|D7Mn<Lg8Nir{9hl(bCyl4m1fr-_}eu8wO8Ll!9Uwm90 zximL2LT0Fm2OzoX<n#LRM_`QM-eq(tXxLOh;L5mS%pBrj4p1HZn>Ro_@RTcc(m^(0 zTa{LBgv&erko_?V>HFF@WyW@f;MYnfk}__|!qYSV#tIrnF#(4~r96{bHoyv1C&p+Z zEU#D=EYKs4uFsql%mU`XQm_rsh=la}VG!Y)*7Cs|>7BW<Bfp_iUSZE3b28@d*pF-^ z#O1}@#e1M1%4d)3h0%vVs?ec$yomr}ero;Q$Dr(i{(Tq-onVM@D(o#~hMa?$va=gI z1LN8Q<w)-gil$Y2ql~ro3H|1ekSwYXj#%NvKh&e?@tD>hk&nYs25T51Jpyae4bw7P zaK&h<Qy|EynC9X5p1ijh7$|CfO1r1)u~&r{|43a|ntIqNB7xehI!vlCtLBlaa^Stz zfzwrz12AmrG5aj^BArv-9V~yCJCOE$1l(h|Yq^GKfTm<F56wY;;Ly#cx(@A0J7gBQ zJ!hxjBXn%;<~iJD(v{;E_k!0!4dd3i^kJVMuMcwt1>w<`K?e%^-SxwJ;L@^v+lO9w z9+I%M8h#asI}dc;%Ib2>VLLvW7$oc;)viB71~dm#b>_~G)FzLJK7xdN_(e<!5&{%l z@xVNS*Z*{5FQg$I;wTE`TVrU;y7iu-k#UwAiGR?~qi|G4LK(`JlFr>6WhNo=_j)z- zj3z5eJTIL@G9K&}lwLBL@Dyl8g6V0zUS&q=`bx5*!y6WXZ@5#F2!E)PIs+amK&$n2 zU<In3fa|~`7>MKx#IK{)G|tlM<?C<+5PerN;qk>FxoVT_LH1)B5T$v+*@t78tR^^{ zmn~z}wdrXwu&+=kyOOM)P6+MD<K1J2?Xkg<jO2F(Lu{8hjxrOLfobi|W3~#`Wh^6K z4H<#yCv;h@$y9v3Xwf*!5l>m52cD_+rk{@GQ1jN_@WlD_P@h7GKC8ly7IrE%^rolg zdEa=W>Mv}_mG>{szLUO<-4}7b^u%6whdv^A8>t#Wo7JR!3El;*>aC!zm%lqQdzsWr zN;ePRkFC89xwNvUNdhS+v{FR6v^$9?);hcX@4tZj;5gT{y>H{Tog3EmuiLqGUH|X? z+P%*m94vHI4pnxgbmbtvVssaQ5qP<9OdcK@sAui>NKLR2e^yc#yhHm7TlW<zh4Q+= z-NQraPzUlO<}%&7wuBv26Jp^4+A*#X4YXop5*1RB1o7m0@NgQ=vSg4uhC*4Mf0iYS zrM{!GkC<7GVkC-#MPjFMX`@72LRw>M%`M_y>#e>p77_=dQLd%6`2_yig+(Kr1Jt{B zsyBjKbiz^MY6Ia29~mmXBMoZTpI4txBqylGnJ_{590q>Q^vBxn?$GsRz%ey+FG*=G z;l>ijDH;LC(PCrk04+wnPLUR)Kv-xIo+{+clMdU0e;!hwbeGX7Q=jU*DZRz}aK$ky zxlgIyzgZi5LI>6Ok8o9zD-{*n$4{CaUF3u<<v6F$fX%^K689p)@1#o#)23<hS{V{q z9ARmSVjpi^@Y913(QzR^cz6>`DZMa@m5^AaQW|!RQ!x=hu;IXArv`3FRekD_Pnm%S z3uK4EzBFNLdCGP7x48^<xe=s6l~zqBlI)y+%eqCRf`wZZ?ntjq&E6QPPJOB3yLRxg z+kz$&e+x;`#7NLNb*=jRD5NtO|K)0q6Jg_qIJBH9MQ01cAcab#4_h_yNJz4nPVMq5 z6yW6DrmB2#acGz<YUf{KLn0SILU!MXFXr{dLODmF6>FVUD{T5h<7bhay0NLh8KT~4 zQeNN&iR$0Npxu1-cfA{xsVr4Co!>LCe4mu$EC-+%J0r9S*vi$@h47jA2$oPn^at!A z>wL7S*U_%AqH0iF-RUpA)J7-CmVaR^0kMewxtmQ^P<!+4L5H)Hh!JZkf+3{^`5k_O zIvJ|X2KDDs`SPtdy!Txwe!3kM4c}Y3;%%gQeS<lFB~z*Z3#R-UV8l2b3V8!fHZ|RG zyp*y-;`~hB;LZmhe1I%A%43T3Y&vKH*jV}(8roV%1}ZsU(XN>$9q7a4{DBt+$(wX0 zj~7bhmLBy6^3Q^Nwr?n<YO|jFF~o`QXc^J9qGnoK{xK6gL<P01CVKTg2-<zEX9WyA zN=LSTq+&$ILDo}pFFJee9+Dnt=a0Z~E#uZ!+&=kRa1v=1q(%kuB2AT5sG_b2Al+T& z-dU~-!!j5~ljR8+4TCABW&Hh_^8OYNuEx>&U8)m`O&-snc2v(yODZh~bCYI{)B&Ko zGER0?yLtmp>Q5%|(d_wa)pIYZ=kCJMbq>WUE<Yl#{0RgQ+#!3Q6m@6sQ)Ih>i;B@J zzLt&&_R-Pmv0tb>t0X`<c*vpbBhM*&mQ;@*Z~db$C^gj6+qJ8R2OXK2x(sO)7Xbhb zLc<fe6V^p_m2Fdn0H7SEnoj-Iw;bO<K?!2U20v9CeRPaC4Ok-;Mv(S24}?C$>ci|z z9)6724M!ES;2bAXDnf`j0eeOvcjONyy5ycdfMda6*?q%*4Atx3hh0>K_yASvh}j0l z#2nYp0Z$R{oJElu7V`cO{gM=9^kH@yfJ#y{HZ+`<oTUUi2XHI?AN=!cH9Bt?D$O@u z{mZ|oJm1Vm0$WSE_CDE>`-6!3Fp^5Mz?8tT-|)@@6oUwF(;=vyJYG5-{4sk+0_NHH z4Jjb>!v_O8;6Ek!(ZNlbtB#Z4Xu68S<$X&D9Gb%>7S1Qt047>;3e6#Ki1e8&C2!Pd zodu>0?+dS;I;C{?{+U9BIkxm~PgPvnjnXBRLZPzHtMLOtLBO<d!t}62Bv{0M180(z zg@yz%w(Q3Bae4xoW+Xr;R1k<b4e}-2x&z0i`pYkoVWT>F)LFVEb0{}7Jmet0I$wsD zGv#-4wj)CPZ3in!X@W2WVh-f!YN@Q!BFk1scEjRYASezVx^<C1F+36@4H?o|-PPlW z<FBY@B2j|L<v#8MN4qYfCSo{H2}z&d=qGp-D-;I=DD})B`@oZhicP`JtkjJx3wu#O zB%kf2?6T>QInqb_DxVzlhFZyhjB`FjkKXmSmh)}y;h}GchWSF5gn~w*7q@J9ev+Fg zf?TE4>BJYfxuX;H#xHRA#ucsLpH)uW&DALU?j^E$&HjM$uHT_y{V0-<P1eW%qnQne zIc<2xeE#^$!mEIYiC^vEAB3^Pa?}Wl;*~DFAehAb6L;KSpu8G^zUOW{o;!Ls4uS*! zn*cSeFH|app>RjlsS8ay!cfC@Bh#+HQ;$9p!V4GJ9Kivmd??r<+casT<t7(yRsHaF z$S*BO&TaW;p>7U7E|%{h5Dojt2i(G`f#TPxswL`tIQ|17=x3gd&t96YzPNxbM3NwO z91FV?5pZ%G<;z5Z#IA&3ir_c2nR)qYX6nrBPe08(9Vg+H^RZMf-Gw(fQs;<+ssyN^ zlQ3J=G~usEBI@#++es|^Uh~g|vt`SWWeiP-t=~OV>8l)0%Vi^;QEOoTjhHp`A<~eU zQzHvG0uqouX%J;8$&HY1AtAC{e*&d#zC2tn2J`WXhX*jnY^JpTP2%2(VS}mDM^>w& z!C5rOMAWQX+le{!dNF7@1j0(ny@R>p?n0)NC97FF(uR`z2E3jXqYOZ5Lc#Mc?P^?b zD<OgJwX5Sl)E^-O*ej43d4Ao01}QKkWfHf8O3t|foJt`B*X7#8S=@jxkuS(Nf9o_P z$t7rsh_l)0d&vH=x}1z)1G8pQ6_X#Rw30EyFvCVi*y9_&C9NXPTgOYtLmol|;4Rt) z^ot^|rk2GZ%osWkjLoEQ%Zv1A+tRs}syF5{sMgwZpa=eum2{|DZcYvqaz#bY0T?Zu z_$xX8{5<qTt;y*13@Mjz2S1BsE2n0rrpRD4d6kHrMP_H0%PT@@UZ$K~Y^d1<PkYJ` zFV5p+O*;Ei_1yF7#E*@dQeduz^|BIpA!HD3##F60xVwk<rh^ntHlC&a0!U#9O<7Eg zf?`Q8LYfD~b)3B|C7!`WkZ(s^@UdX<8I<1<D?z1Fo=-qEoq0w%Kw)1@a^I0TkfAg! z#R}ain=q7?AxkZbM^+-iDE}>2$*hs!TL}@6@g@0I%yyz9D5i$|Oyy<J-JrcKXZ_8a zkvXpVtFI+cWA+Ym>OVsy45+F4;AdK;(J_)TL68&YNJU4!TQ3sP?19=J18Y4_{+b>L z^gxSt<s=>+=#?~IQ54Cu4=V7+GMQ|t;qiiH#>O7?zBH^=n_-15tsBnf3No5>=w6sn zhPqXRABNKcLs~UY6~v<RQ^aPJ8lyPT4u7OTZUu5%i{>SB4I28C=~I~#xu8aXIKrVd zKa`x_6xPJ12OYzL^q<wANBj+I=g!OUqj4SN!QuF8zXOiLo`Uxs^e2_J^ui<T3fUOg z3FV@j+3%J<&NGiDtF~g$+69KhlvgiiFMN+cokO4ID*HZ0c9l}u%jn{XIJB#tPqFFi zOm*~e_5RVhYY!1)Ff;W<?W^yNf%A~m?G_nn_$pu8l6B?Pag-&283y|kH~%;|YU4ju zzk2{JP+Bq^+Tj!(eVc8F+!EIuFwRjv^lv^#-BD%T;m*;m^iSo(?>~S_N{N8Q{KJh2 zVHY3IU3`RGO6Y&~Z;vTpPP#pNX6`r@@0giBQ$2GH7bw!d`3Z5HJ15PF1g9$r*5o3# z;uDQx6p}Ft$82@<IYdRiMd9R<xOd?#tO!<x>0^9g@RsI&$KD4tuCtTQaM|^`+Kj*; zm$Nj|`1$IH*7LzJ;+x1%K7CJ2n^=FjehewuJ`5RrjHniFiu(~{kqST63$<Xz81C6B zq5a-<i+!*JyZMjv>F`AFhL}55T+xKGKzX2n+cl^hA{}6dQ|i8_PiLm?>x^5<4<g8H zgv}6@-{w$09ioqFG%U3tz&45CP*#V$Ia$^;_8V*LiwKRDK=Z>GIx?G?M{DEr^k}KE zZ!0x@lsS;wi}VhKJgN_-YdFvAuD$Y$xEyMPH}CVdM-1ft0ihSov6;*vkv34Ea=uC0 z#r&-9_FjcB#X?Wvz+*qqP5R9%Fo=g3RO1rGkXB=3lfa_h>J?is%Zh@~oY?wvl@yJC z`KH9i@C;T)=QdxQ;Ghu4gBVI#jN2GFy@ev^DB}zuN{xsOBM9vxSx8cBDzv1q<C#6% z>MMr#A@`7!$hdJNkr{6niO38HRw9$LaeXPbcV8tBr?SO6Bg2qd;AE(!7bW#4qfd2~ z#_^o$&lA;W7jURj(J3Rw5>ybLK@1Iqo0=40f0rKq?fu)aF9odALAnvAON%94&zpr9 z;tr%#xiO-U+RyJ2ii7phgXNULnV@(<d8yw<UgfW9XU0W*M{quuTh=**w1pPM)lqXt z!qzCy!HK)ovFlWEee5gT?h8~TZh@MBp6~>@ROQOQ_H-2W_ehXFdmBY1WR&pff@2lJ zt0hnqW1+G{@Z+LFsS+EYx&-^WLhcjly9=*CYh*C%*|HveO4@#N=8`CqTddf!9vvs+ zdkO_gMmxNA2?oLm=Gip7gbT1OQI`?iBSf}8mO0db^$2oLn>;3CR<d8XODEW;qdKK% z1JpAp9WGW>_yHM+DKAq)$C$8BEtD_Jp=@PBJf3f*xW;|=fHJ<SZn?7P$a7i~<(TCK zg&A&7eowpxwC%abwjMM+Y4<n@rZ-mYX+{qvt$u@PT``8{CUv!FVXlPw3Hifb2(G}{ zj`XM%xI&dlK~tXzhx&E@Z$xbiKW)aIw(AD4%SI$Q+>RoUjqu_a6BkuiMg4%ew`nR1 zs_a`9!cuCRnj}H_2cKF*J|&^?FlLcps8HZkr_RGOhnVlx?^U1`Cl4aw4*3?JjaE;6 zCA<eLf~+4?=g}D60;pJvnrF~5s3m^_H?+BtFNkZ4UG2nUcp!*tE^%R8R-Cx2%}n?O z{<Zj)JZ|rylHPRn*d-qjBKE(2SwDBN`r_y6mq?Dw-;P`axCDH+Qaa3zlj5&qkk`^T zLB8<yd6Stg%BTDl37#n}&r%os3ci$$+OqLAEYG})L;44qe`8NXLwuo)&%94|Q;;7} zM@sACla?08yTt^K#4v;-5S9c<o`k#g4TxQm3Pt2xb?chA4(|%qf8K>^!^kWKOj4Iz z2pX$sid8f&K8~C~npE6>Wi>}J%-sE%-O#+(XR>J}mWL-qC9~U5xeW*gPYCJ6?5jqS z3gl6{veR(0!zUGw-l<(X3qb*PVp^1mhdABqcfOD$?TDoZM!C=UWI#AGjgj*4#-+Q~ zI$ScI?A=gpdLr~0<I~`+hVjA_SsNaQD6ufViX}J&8heaJ_hzJ*NJm7Cz%~I$71^d6 zp;NJ7op%@b8vGY263U_AJUFS0AD6vmW(=V)QqJ2ac@`3IA>lr<!n}5*?OLdVh=g4O zas!3DBv^P8MW-tJx+{fl@0s`xpiIR8Vih-A8kR%vVo8pMW1~2F-bir%)0F7V=rEex z()F_f_8YhhLs)cz19z$M)z5q!pM+{;35aY4$UB%kK{steYPl5wYS6B%D^}23e&>5H z8gJ>nyycpy+&lU_xGz_6W66bE+USK}G!l&Q*h(=d5gj;YA_P@r<JK(7?9xgzg(6NQ za)C;XMU^R+KPv7~+(rc+y{iAF1oMurO>Q&R`EDIZx)dLN{C?N_EnJo+4?mVO({#0d zaUX8Vwd)h$aq!*?2p?C*#XzSoPe}`x_7@*(w+HZ2Dd`t#EXgVLCnQR;vxMoKMGs#b z!?g;Q2<C&?A5q%zp}sXC0SIG22_#93_~4kN+SKEb!Qe6taZP-Ic|xq$wEv9hbR|61 zHNN>!R|h$#w|Uz+SSSr<|1WRLs15_t^>W9Y83u*PL3n`)WA2;t&gwEeJ~(OevC~M^ zt(toEsQfiVj0Tz#8Y0@!6)`8L<}9!HP%>aZ>RA$?*|m}dHkYS-XYhI}AjcyW>&aIJ zQK`?6PXk|tcD!DZz=jV!weI(MZTE18w%z_ot~{I>+=%3M1C@{Sy{I`mjN*tNr{Vu? zyH~V=Q+$9VXZ|sL1Uxa`ODVvD>dLNp`+$YyT`s!TL+r%^8gxexg0GGJ0PATtZrkw> z6ecmH)^FUMJ@bI}n3tO!d&yas&z2zLQ)(!o!Voc7XKs3gSsMs}#CV2%iXxgHB5!i4 zC_9Kw6}R^KZ_2CRja3~i%m02?kLVh*)~I8vrotuFoON5tB1ZW}MjuKkbkcmW(7Oux z-?|lVT)R{tCK!V(JMgk>8N!)n$KiZGE}jWyin%aznN*e8!4*mGiv%E^FT!jD5(}<y z1)=hHpbanI3OGsa)aQ_YF_PJP<JFg=nz5>xewtgpDTmZ!H&AQ~jSv)oD!J8HX!oM} z>PP8ZCt#%pC%-3OL$(Z1mW$_<Qx6IkOtCQL;`!|K-}GR>**RKv?wg6(t0Rb4sK0#X z2t-MVO*-1x6S#w*XR+tjemMe%6);Dt%RBY}#ssiZ3bjRF9KH+p5qR?A!-kHSWhRs0 z18B3vrh1tGJTg#Gr-t<tEY(B1Hh+4pktmj=JNfDB+q{7be0F)Sk+iRip895j_4Y>m z*l$(Ll*>4yvZQ*hT=mZCci&V%{`v?0r7^%%gq*l>nqQK!8ehP!tG}>?9C<H;=ZN>z zJVk=f7JP<;y3;FcSTH_?B33xqm-}-{#|Bi|gWRR&KwkeXoD=Y?1DEmWBFN*h*Bftu zeWB9-C|<gRGXa857gxOW$70OIQBoO4_2KdbY=*gsVrV#>=0-jj3nS$$l=7cwA-CPL z)5mbpL%at?Chr`fo2SzkLuZzO+JZ8O^bw_c2x)RU?aP!nD{HFR7s}KtlSZifR;c6M z6sRMBkrzL~txxP4;H32<C#tvp9$3`Spu=|?`WhqD&fntJ7kUf}-0;@UE%zDJuD|f9 zyKOinA2eO$=b&2}mPBa=j9Anr-o|>7$WLhO*v!<A>Piwv9v7{L9UgWroMsIeQ*$-h zuQ9wJa#UM+m;ye6{pm?)4om~#<aUd=&CLE|kr9&fl(gQnIQvYeRE*eX=BQ&gn%OXj z%*Hnw0V$xiv3J{ED;!+MrPKTNxo%2wKF(OAb3!gX?pU~K0E|L%<W)cj&(1Ex%K_I- z@L#HNg|hm@708%L3<anmVosASys)8?ZbL-?*3n(ldiqbVwH^SY1;*U6dEH#e6gTIy z?jg?ZK|-ArQ#UTD!(TM!y|mjTJZ<k?Si4tBN`;f+cZ>s8%GpwQFe)OU2G$pssy}}Y z6@dh9-^TE^S1Xn-QkL+@kRx!w9Yna?WsV;S0zr9bGj#)d7Esy-fhIu2-Xn1=RET5b z2*UFaDG$hS!XW4J2QN^qbMDBi>gZ{a1O98|l#KMhMi5YP4CZ?BT)+P<RNR@T-#{^$ z8=0=ZJQrk%0bE6Itw1wlV_BZ3wyi9E+c(vR5=)zo;%whg3WTwlLi>jK<3eIKWv@A2 zT(HDnqC_(eF@O>mAZ3n#nz0W#aMhSRvl&-K(Vr#UsNT}iCari*hbOMrU%+4J9_->! zYTh9GS8m8fIa#giIZH*E3yx$d?vCH)$}_C_*!LSHSfMgQ3UUk5HYIUPfF<5m9<+W6 zYE2au_bBw>s03MTcMv>^PS1Pa8$uf<JawMxvJyapK2n>t(WjdC+~{fCoU3GCrp469 zZ$Qw}SPyUzwJ_<3Ss@U1hOwoP%?vIkyI=qYv#?6GAr4|Yd4=)AIbrfDSV6))EweLs zv~UH!=E5-v_bR%8$5jE}E0FQYJYl$*EyCI}>!6E0xzdnl&I$U4y(w1_a+J;9xR2Z$ za48|J_pg$?OZUPjWP(oQO!GQHS6;?@JAVltwS3P0?|q&#lc^)iiDy`MV8>X4^iU$j zi1||8-Lt*XLHd1M{SLY+YK}w-7W7~!q?B2s--Fi3w#WiUSX^N03hios7TD9qlZ8sx zg@a~iTDtJHrozEM?1FcsrE>FubH);o0QP1BsW!ab#FLB#bReDu12e-66e)OtEpW7j zFaTwG_WX316l`k{CqmlV2dE~xfkwNPn&xqL9)UV__-HUDb!~IATag?mla^nXwvd$E zY*9M)^fn(<EG>mj4o^3ai9EJapUpz5R{*9J$&9pb_1w*4V8XLgH>;;`vvCBO$q?%T zxwL);CdaSH>Ns-Ld|SQppo$9%e(vlLi%j4>Jgq0ri51hAP6i4G+)~#;H+LwP@A}i9 zkSTMhdth&F`R-i4duWK?^6v;o%|e|l4#LatUn?IJffuO2&<%gpoh=OfEB*ZeRN_)0 zJ3Qc0X1_4m`imT5WB!W(RfZp1Nig|!E-0{}N4@GM-Sv?@h)aKLar49Jh%1K86_)-0 zfL17u-8vS?@A$gW-iIVg5DT9w*WxL`D#9AU!t9#{dO{l5+38C)Bu$t&3GYwbfYmQf zP}+s3C&9tOL=c>N9M=lA3{Zycl}6>l$;8&ZU7+Qbi%BKaw;|8k7|^_xUv<{mEmO+K z;$7v+2_=_25KV0P5!J!P0meEOuP$c%Q{!`A+*k7AG600k6i!pHjLO6>Dbto%S1c+E z>=N=2xHa{kBUeHM_MamNai&foJjq9-A`j;BuJH+5rYWxn(`5C^nEndz>AIPvF6unG zCEZ8A8lAf_Ejp(ENs!=m&svy^88h`cc1e{4L2mB^!%%A%8_fvD=F=gmAE@rSkDv6z zY0UM)ZSVp?|HEan1%{TJjDq~gTg*5Apkjcm+n0zk#KQFe8uux+R>yp>s9|BA9>V54 zRfm|9{FwY({1wyT+mJ&|Z%qtAdY?DbR-WPBcw4+j)$=7Ofyu{nB@S5uWRxK!$-@AK z%ts4noPpl-SQ~MJb9h4`JwtrO@Tb)n5*V)?o~(}k;H;3-pu2~+n=GhICGM;=+gb1{ z9morfmbB1qc5Xi<*<_d6ezaV>7&bv>m{zGfbavXzKDcZ+GC5yUuFNiA_8G%1=ry+I zkjp%5KFX}akFvuhP8YG3Ew*N?<+5cV*Qz#}FcD<wLE{Pe`T?8}-9hM1rE*9~ppxCH zVs|$hbw}HW4g4gt*)H-Bg7(^UfswV=oNt`1mfMAyG+E4pd)R-H!k#rc)2u*qXsSrF zZU8rEE^39jxZX@>*D62OjM+1*-VN~5mUWFwRY}k^d-)tC8$5yNz-tJx7XJk(t4Rc{ zhS91RE36Y@_^{3QqPkkVC$^M^rg|;ko<#a$_)Aj29Lvs5@7C?ezjcOOtnYnIcEHou z$*AikXxhb$4}f-&Tc>y~QS<xX&RrUX?<bY62;hzibi;P?mUi$w{(?Lm;etMX2hoy9 z%QbuEIQd#$8K-L#)B`y_1tVlwb8nb+<U!QX(kJ7HSDFH?ggp=QQbhlj^N3omcQfG2 zD7(wnjl-!Dd2Tm%uE{$Dt0{qVLJPZY276Q7A*M2roxL*q=;qudBvCsDTss1vJl(3d zjwhw^(4d*lg8}OLHXtCfSQa;yT0(Gw^kRJ(Pcg}@L6(sU^eB??>U3=2YLw;0As$_@ z!Y7|7xJ?Pkua0K((o951)yZj1NK)^kdJAbV9tkn|T$B8_*;%DFdA|PgXno{j{n0Z? zi&6jOZ?&nj(2mJZ5(8oCgl;bIg^__U;d~D73@FIzs-0z#3c@d<rr)A`qE4dFI>*3~ zWp<EEuy*gJj2`n|Cbo<Qfei-P`lWN^xA^7N+3`z|0?8wulM*7_2CnoH)lP}=U!2CG zNNEuVra0UQ1)NjJo^bKHG^|}cih?2(%g*1?J|BHpyYhpW>BM3qsdS}#L606RE*vRM zs#hb*2aCl2T|MtosVIVmEW8un$?{9_c?y7n)BM8=s3}^Tn2=uKS>t`yFkqY|^;hTN zpfh(KZn2X-eOSyFJLvj@eFkYdlF0E1GB-Yf|3mHC_sGF2A0@zZxqE2M{=rQfhW_6* zD|4vKN6b^FEg_E`1~Yr(C)D^5<2R8VBdB(1io(T?z+-1>=H*E&0~|i2;sEi^?b|nR zfSx_+Y}&YS4W=V;11i>Q;&Ys)w3rA6W2)Al%6H_HMBk~?nz%2yU@+r}qH1BZ5GPRZ zmJK!3L1J$$Rf4I}{XG_DJcEuJX^2(FH%pai$AgMs-@Sz)3Pectq{l@G^{H94g0bj~ zSwz^`7Z+zQe=YKB(qr9Q1v`bPx28Tqgrgn@5gvG$hVT~bP!mi*Gm)crOM#Ltl2@af zM<s_;Q98tZYm8a}D*W0ld7)!f-4Ldb-k4*(>@ZEmMzQ{{o>kA1^jDqu8i_W*xf-N2 z>(pXdf%S_ZRm3#W7)^s%V&FvV|KA=i6(H>wQ;M+3N=fp)Uay*BG@RF(O6D$&)W4mY znf^hmzYX-EClY1{`b7}+p~q=pIozctp#W2$0=lWVoG6@{^^1x9q5q~FeF2q=$F3r4 zH1?<zFTQ)Ddi5f<>;HN_2DlE~!;sBim!K18qW|@LJSo4YwIRb~CYRkgsNBFet@M5p z%N1RXKHUxU0#IQ}!J{CJ=m%Enn4j+E_hl!G4+{gC!9J0sQr6YHday&;ynpyx;kCd7 zxH3cppHHO6;dVE!&M<^+WGNRd?B|i{wQEQugPVGic84~6)Q99zr{S><5|lQ0K0Ezo z?b|Dm?NudMHZ+;jUFOV8orG*HvOhl67zy5T8QPM4f<0Z%?D?OO&P$X@Q6MFLnbfEg zmvNk-L@s1*F19GzgBLXHU=w!rycgD^M1xVTvOGiSP}Cg~-=(@EDn(pD#j(@X36<u{ zm;@aAIBz?#19Re<u1H4^&tt?ZK>HQT9@Y+KHmCsvh1VVB<(=6(UqIO<RSB+xC+<@2 zvmzo3AB$0r;6S*s5igQ|6&+j<RF9palbypLs%+8=F1fR+i|S_hKI^P<Si6KVo{~XO zYdEF;bVG11gBFb!4RmQ<cr;R3tDkPfF9t@VwB;*5h5E#}1+{Q!s-67F9AcpuF+yBS z=v7lD1!LiWGz|lQ8`zSy(^xUb`bChB#Wc}WlLCv20TUtR&=({eZ!aQ$T1ukMpz2eL zI6)vSu(<iw8w|<Rlz1Yp3+yyx=<_n#!y*EkHcTAVi3hNhVB5n%3C0&Hsl(TOq0Qrv zgNm>VDJ-KgiYs>qdlt8LD_3H}K62K8S&lh9@1Rx&3K+qDb*}pKC~Zv-HntWL4@hTb zHUc#vBudB>i(P*#qa-e@9?CStDNSipavE96cPlm+)TlvXf3ELs_C=$?VAfzLJ@3#! zXr|$Tn0yWM-9cuS7hl%zAdSH#L@rlHQGMw|0!zz4VQ6R=#d{CaeIH#4lILGHazJHP ztlYD5VD*ZX@4okb&%3KvxNG*jvtrfio`Dsx$Jm)YFZAsBhh!IgK7zBwXooMTz{bQ6 zb6<>6ir(9w(-HOaG-_y=>x=Jd=U-y2)PjzV$q^+jtM_lzu0N%fM4cZPn>?&Y5=cfE znQth1i!D%y-de8z@G?d6BV`)n!U$+ZxFQzxcNw?FhM4KFzNiw?fEMQeG?*)QXQscK zy?#W7H+yEXe&Tb&@^>S(Urzdcak(d||91ZrS>t$x==0m3!|><-$wfP)L)=@VPw7x- zsdn-<@~;F5Jh;lg0<l*wzrd9fj8`BDbc_|1^)p%;zXCO%fm%mqr|w9zZut^_;7aSC z@NVjqeuqCLMQ8QO6w2i~pM^VG9{54e>Tmta^2Tpw&;NoV)MChUKKrL`0&@O-_4HTt z^vff&Q?EcQWKn!{N4X>NFK|=D6A^D3JEd>$KL%RsXTMjSVm)VGUY>8)0I5cRLfMZ; zsZhb4F}mXu$8MIcEZ|Q~&wh2$8yqr2|3n$5)WfOTw@6NM1m#d^VecGie1%dwGt*z$ zUp@F4{diIxwmP-Mlj^<O)g#|mr=I9n_0yABK4>1ue_g$WJXO!|1j@$T`4KDv24Fsy zhk^u}9S@bt^W1!ZELk&CC<BfGe-nBo>l=DFJ3WC#4|RxwLG>f&A)BJ-xl1?eH%4lY z|ARh!_8&;QP(S*u9yanKR;Ny&9vbSy{u5}Shg$KS=<N94F`;gmmoR>{!YirGwJAuN zaG6HdZaELwr}_y*F$8WB!JhaYhJ3V?D-aoopb<%FR8I{QJu`I+Ovro7)QRmm_xG22 zz_WL*)nDAE{EeSK)7>edG=e-R@z^7UL`9vH|NA16pOdsc^WqBD8iP`lC!4L2%CI0v zRHMg62jTSN?%Jc5_y_ZZ*<F5_`}}_G{3|@Ee>Yk^{j_%WC&cyBlD+zoa_U~YLa!d( zL3fmQ_vM%WgfYpxZh1^uaFE0yVm5QP&dz;*-+Sx)6V?Hbd|JX46E^d+hd8l;Pni>T zFWPwDgxN@yZw`nN-1>X%!Fdc%QUhT|^~swU9o>@~n3mNhX_SWuzKV-0VyzGgem*N- zp_AG#PiiO6>p!J)`4fxXxW048&(*&@P5klI)wxT5$1lP|WD0`uxtnnHx=o8YPx=cH zOw>};E{@ioJ|)nXCab5Wyk=@7@=&Ob#=zXkYZG2o&;W?5_TU`IkEu>iNZwHDBM4HG zUy1{r8<&JyPJuf4aCv&RI`Kr&udGa>j)LQ&BMXSZMP%%e)%kM@-W04!oe`FRP2zOZ ze-_RTWUpb%gREt*>dxoA4fU5v_L+I~>JMX1Na>Rz0%A_yMO&u&le^WMM`g@<v<Xjj z*%R0zG6jeS$q#eMzb!owT>J(`+CBH}$?n<vIE_cC+cSTM5Kde0{$q@=n;dhlAL*`* zpM-A^y?=S8dixl7^TpbUTlDt??t-s&&wc-Zj<ne;&*v^&>7M)I8vNw(R?@C?*T!gD zbk96Hi<20S=l<hL{lw4R)ywzl<5S&WlK2Oo;|-uze;)0|Kj@MEnVll2)f3-B^ysD( zl{`3%1qXUJE#W=tQymYZUr^`YU6a0MFTDhMyJ>x%e%_7h?bWfrSEpdb1eEJIBcvfZ zxr_F^9?b-+MzTR?Eg-@?HVH8135G)hyY&?g6nfPB7&T9LlM^+yW+Ck+$7zXhAqNr^ z75D=}_r&$LFL+>S=0?ufCm*4hMFK4>>~~pm_qZjLtZ=(ILU^z8FNHs5k+t(*!FO{g zS1!Xa&=8j8nY4VXK~v+1-?Y&x5`L!_EG2VDxc@|UkoAc5+gmCO=d<Zt6g07j_~6=L z8)+6w2!+mW4Iz648APgAk2l&xAP|94tIsb$K#;g{>1Rjn%ow!X7HHH@1T0aQyK{qN zM#v0T_7zG<d?$n|O1XHs5UC0{a^Vm=rKiHP!ICOIkh2KV!-$QCr-b>y--b2zi>8@J z--K$CBzw+3j6I$ur_sIpAI2Uiz5g)wyne<W!<I)GS6P~9K{~LQd`vUpLb`5l1c2)v zi~yn{kU(<n41}lZC@#N#l#f|_`j!~9VK}mCou-rn<*NSVTz!;<9PUktp%8w~{s>3! z^+>L)Euj!aAO=YbvMn}hq}+vQ*D&x&OBeuyJQO<mA{rJ1zkzYjTgg!a|E!s<!2%0b z2N)~NmC~{(>@SdWVQbP@YFruLGQq|+F)IU0YOUp4Lll$|)IkL=zLdsNt2)NwWYzdF z$e9-t)%&mX)UC7~V-G+NbE99-1PuagoS<m%|1c6jmk8LhVYv1l=wB?xY?D)vK4P;F zEE2DX(1=>%6HFqeF4agVF-8l^wrg>V^PJdzC`Lv4+tT|2H?`dilG3qcwOUv=ZwqJM zKTH$xrim2R**qH)*a*b^L|oL#gXLYF1CxAQ=*eoGPfGm1^c|rIX*pGS!05dTWhh2s zXrR&>xssdpwNhkt65n!9kA3qGP_N`>IoRcYOZ$aC(Ro-h{Ey;n8sS!YwNkfkgds)P zIkpZD4sIwM%x`m1LZ!Sf9rFfK9u(2<a-^isFNbZ3de+V#A&APtK@k_~4&F<Krt)&K zD_Zhswv<zokk#VONpe~`IW83&U{nyVBanRk&TZUMnQtZC7F`Ej7$cvzr)R|a0kbS# znJsYxUO)bbuGVRCP3rQIku9`vNZA=K?`UZiOTnQYgM@2+8BeeCjJC8wh@jJL?f@!4 zq(h!V$fB3&E^&`;NfV}kFz6A?u(38lh)De$0PzJ1db$vywIHh(j47z1mlLy>jFJod z!NFtdTJ`x+&>YnzVfP*m#78{~nUY)DlF1{tR;dN}6p`P!UX5L=0o5+QLa{2QXxTX^ z+cS6VA*dV?%D8RA9#AfOUU;4iF}0DAFQkb`+KDjljf~1baK(U1tv$%vgPRX1UF?N( zm;6(&UNeU(n|Aj0G|j@Z8KOOP=M}b6@p2DvKScTJlWt=fof!}7EDa^Yt~it>ZBuU0 zrTU4^2M*qMnUAmyIhAI7eqVnrkn<Onvdw8yy5AnEy=UhlGDyQ6`_n^x#9idMW)zmE z)`KiLW3ct8nNGlKzpsFx`E{`VA}4B2oEFnz4?4+TnILHPV1Z}wiV#~!bawfccRt?u zq;dK_?%%i#PR!THH{$-S`XnyfK8IrpevuMEs#?g%(H$*c_e7Y|cjpSr$(%0J@<|%h zH#}IO8oZ8xT!!)D%%Ytjm6D%MNz_pP#*Gjgu}R>LCXtTtkQmsP860$xM*uZP(SVW@ zhzk+irbq9}trm(W!AFhUDWt&CtIIIW;~{Q6>m#R7%Neg|0Ms?o79%g*s|P6QSG)fU zUexb=H+TGmxcKpH=I02+r0Yg@`U5I3R#>mNdG+jRazB%Kz<R$3Kc5jet;zep=|`#k z!jPO&<{-}kvtnKZX4km(smxR0?LmPx`uWU(rxzkiRN7u0S|SeBih?Im;O0l6V_-@i zDwID*{z=s58Y8cnQ^#kgkSduP!=V(u@bW}j(m8zPC!sJ<&)m_wv+CP%7zqfs1Gt*Q zUd3;7U;hURWswKs__ONEBgkY4ib`ejsuKZNaowGHUIU`&v!`e8z!8*YGWX-x<h;d4 zPNg&q7M#xw!1M+$xYkGE!#v=@6pfCYVbcClNG|gHu%ZeRxIvpZA)Y!?jDRAGu3i+= z2n^ve{Y_hY7cf~3nx<(5EkIM9yZ{|24(}woCSQvw_$gGW1jC3>BqF#|{1JG=dK1-d ze_nm{3vvXieIyYIbc6Y99Ic4soqi}juv8#!YC?#A{v!flY!(h{FXZ2#pspog9ZS|O z87l8xLWMb&U}xjcmGXz$Q%lyO<{H0cn#X%kyz>##)JQXWdO$t>1XqA?5m23hg7AD3 z0&Lw<v4qq!D1VF6ASL7DJw^W3(k9TAAP1dMew)o%=^tx@Co6lFyuo$uqs6aO^91~9 zRi*d$`-lF=n!PJs<Oz`F)KU2s8G!{o2yiG*TCR||qKzkecxATI%19iYqfbh|(j8a9 zqeHpZ&;CC7gv3)}nK=5+AK|26PB6O)2~A$Q^@f-h%Q#~dMN4}v1F~Eg*+9!~R=IF~ z0eg`^B6LQoo0pDAr~*3=dL=nY6sF#r3V^K_<gDtjPN^FyoX;1^7CRxvdt2B1xwL;M zyQZ`<-$>}Zw8TOb(KV<rW(A-Gv7gkRp=~ft(X$|x`A@9Wlw8XQ^>3q}LNSmDD^)tO zWHAeYYf4xPNX^4}Xcm;jEHqe~B`VY;n!AJ=8VI+(iRUNtp#W?5c1rMVsq2Qbxk5U$ zAXb&#+OrI*7y1@;lZr-r9%l^Fpoes=Qpgq7g6+juAX~9Yh31xqamu!gFjCne$znRD ztx9q;eQ^(p1I$%$e~o3dEJMkm-+(FmW(W-=ZaajU1~!ECU7B0M3Ls)rv?~K1mN*DX zZ3Zm?H!W4()5R(A>>tc)KSgw5r1sL;&Vp(4f+ASMlwt`YIQt+$*xsc|5H<i21QC^1 zDII>PWU%?>U1Pn#Zk=1`8H!l<rs?evy^9b`1gO=<Uj}m4aq=)_(|Gn6ra&3v?DU=4 z>3b4IFZSl@G>mKam1##8N@t2w8OS&lLoCBeRRt>k`}Wm6e;)etn#`)-ha^MLbtDla zloq2iki~Q!yM3ZY6x>Mhty0}m@u2LRt9P-pj}?jvgdu7y&bDbW`IsJ{{e)Gc4=54( zlK`q!OL?|nMIr>lj=c?>?5SO8#|lL&ym=p+E4vms>zJX5B+EJ$F|)YsZ(WK2J;by~ zbKA#&u@lXv%z(QA8MFsdDszy@b?-r!o`&If-vVLu#HG(jbZx$}Yh_Q@s$F`85liuJ zS+`hnah2z09eB6S-WaJ)eJQqHX9wED6J$|!6=N*MuPSlt%+yr<Z%-x10?t~x<luCt zlo;dK>DlQ=h_ZvNHh2X;fQnZY_mkiExg0yy!szM#9f&)SBg5+cT!pX~>Q&I^sNqb1 z2fYRZtWVyie63u`Ylk^_7!IqaFCsv%cH_Gi2IQ-LfiN6@fJ9?zNM=P5+{^nEx3s{8 zTcEB}N+SQc?8~>-ItL25tj2+V?OQ17jBcq4m3xC(_zW;D?2Yy@&1OmXjCq94MZJsx zP8fQc!r2(^(TY<fVoMd9f&6=gBDz;tr27xMOtXOWdtAIZn0t@X?ZKB<(t<slo}Io% zj$c>C;S&}srU&c_v?>W@=BC;8co9M*pwr*Mzl3(7{yPP<`+ZpvPWhkOmRT<%Em#X1 zd$AMi8CC={lU~?#U|qd95y<*MVB^QM&<IR{EMmaeMIidX57<qINel+EkqLG9Fj^ps z6hxu8E||Y4b3F(9c&TP6FE8B=BV8BAt<E9Ap^%UiA>uq`HsbMT+l*@bmJQ?*ew8+z zg!{J>NXUgW9SVtdUoI3w0Gl2x9rj*kdN6AQn;yss&Z4bw8|71|kPpq=flnbFPpB10 zDd`(l23mU51$0B(I5G@@4bY+WU7Cbw1z@K{<<^->9^poZTUua&U{Kt=EZ0rctN#Q2 zlhxi({>jn)BZgF_Jz!%cvktrOdX!?wd*oH?J=Qy@@!<lGcuR+RGnzWwCk51|NQYI+ zP6^zca_|59>=IG-H|O)@?2HRy_5(UpX+d-MUHSETMRYE!XI_ws>v)YXNb8gL#HGK@ zTZT^>)DAx^^dpCl<Lpsx@@oT5^Xxa}{PnFjm;wzyc^q3G{Kol<cWOyrZ#i&>U(Md| z(T5f{H8vG(DSoDRROrb9w^O(`>t13<oKy~-tP~_TsC}FYMe5wxNp{tF0WMCWIw$sT zG8nOpEtU(<#{)^a3*pxHHc}e0{~!g-8l5#Fc6fJrpp@I~ep1-H^%GQsENpRycEh<c zO{RIEkSnq+I0~4;y#31CMhghN<11DB7s;fR_&)0QZ_a%^TEBCQDi5BYp1XRJGTWZ} z8j>u91xz6zk6zWrUZGYN=|(TUlm-&_GxPKoETOnorO|VUfpkbMC08;REl1@jT-DYP z4Ldr9GLK09EFHpuU3w7E02<J)qSi4|x{dn4=O^(kG~HOqF}ZJLJQRz#i|XJ5`%o}A z9dblot%}@Ac>NkYCn?pe>gw6W=TYMa>Kc6>_2}zQ9#ZxBu?JphY$-}lWb*7W3a8Co zyeA<nweb;{^^nyz*s#gL2=8k|V|j7b;)#s{)ax^)C2N&VwS;PI;IAFtDYv8uO^l+! z@Nh{kpLGwh7c_0PB^CD&wOulI`zs7|36sTN-?n~PK)6(?@k^PF`tlFx0G`7XUCI;j z*{+8l=DWiss#n_0WAQ4M2KIy3+GMNVGoQqRPZmhYq0aOM@ubgT&T6kK&8I`ZT=t$g zX{dLDif!CdIVF)zx{+oPv=sV=a@NN<tjwRtQ3j*-)dQk)Bzyn)TNIpVLbl}a7Mdax z0v3HAFKK^nV82^|999~3N&eEl!LSr)Uv%v=k1Zg;k#xE`c}!C2N5ROI;U|9pcWGO2 zlZKt(1IY|jatDwIZgUpYc<9g}_JyZd$w9Q<oZnNxmilYsXz0nFOm2|P7&bro&`hJ4 z`1T-0X}Y#P*YvnBGPm~K$fjimBtrD=%T%_2$wGJ7lS`@GnP^^~5D^8d1sQ^`ViqPs zyx+CLyja%Djyq<dddavXip<>AOHgOve}J5tCjW|>QamLzE_a9|q8jKyra>D~K%$7` zQ<q3&U9p%BN8Ft$yWO&WK3~)@TA+!Z1^aJ;dB*hNQ3b@wCrEE5J_jUJqMpInt=d=j zBp%$41RtkNDOIm<khDi&`OJ$m9wVL%7241;g@VPUheWOj36ipKdb#51O*adXS?GB@ zbtQM3-_GnV)OjOS9mwr2f&G41NV&M8>X(Sh05NZZT5Nw{pkC52<7h?5E9x1~U3f)m z$Hhm`A!?^4kp=<rlJBfo;S81EGMSDsD?@Dh#9vO0=7wihzL6ZWjs0nw@uVj;xIW}t zP01xm*&I~I23i@$e*?VEUc1+b*PhitD*}G8uf-F<$!*<N$h*$2HBL8b{%jo_F7HAT z_wSMJ3_-Py3jE~A({E3LVBjZUAqrlTMylY)VX`nDTInLOa;V6{?5}|?4wiBicm0PO zafXy2j=3f1F1dkEGVpUv=R8qlqFuk2?;d1@F$S=rooJ7b7+KmTeD`#{-}SE2FwdS7 z$7^tVD$k8l<@aBrHnWO2A9;=x2-RbkU^YM@8%iuZ_E@qSfF4kMt@gJG0I0qiox3ru zK15(VN2^N+y~ERTP&7@-ev<_QU_yCDq^D(=ASCMLRQ?Sa6Qoh~);FkVhWc>TdtcKr zg|XcFx&DZ9D4<8w!Go-ivB-B`aufKm(HAI{#6y=6Bh!5K)*T#s)g#}aemG_V9T-Ku zB}N&^jbtHY8dTqp+sH!)?h+0PJn&Gi*I#}~tdFxhNSEkItTJS10g!taQN{=jD3cfl z!kkmaBDKIt`({`8+T;ZKR4e@Sv~+@+T9n}dU3fDi&wGY$P6%f-STVYy)M&K*c!j*_ z&<a4GpP5Fji3?I5j|L4lx?{gkd^?w%lhMdq+2pd2?Cm2pN6;~iR#(uYTsL{t1>SSm zzDuxi5G38ANk3|HGzTbq#1Z<!vQt%{(+`D)w11;a1UVOwGlxRszeO^v6B<FBL*_k4 z7Eo3uT8nH$6ath=lr1)?5`=^dwTR`PdHTbOLn~GQp*`=KyYh`ex8m#`-h&MIu=D2K zgU-5ADRX!|KUs?6WAq-y@G_s|@J?E6P=79!@7{XDd*6kdhV2OGesAfDw;klxA$>N6 zOR@e;itwvTbH}MBqa)bdob~+FP~nZ@*g_!#z}Z($As>3Yi4xR%exRr@#<c^$t-U@; z=M4ZWOL5Z%XdiCez?T84_-WbFjJ;!UZeQ>&7~8hZH%?A$+qRt(=ft*c+di>zV%xTj zo8P_vnwc*%HM?qUbnUL%)wOEv)lYXnUHa9OKkwg5jkM}^Q&;B?<%SmG?1z9=1j95# zPCf{b^=VbhPv%=_2~(&bzfRei#G>;c?0IFUG>Skpk2$53O891d`&c;koM%rf{Ghw& zw1=Ujy0DJ6FgwF59?#%3hhYE>3^q(N<>OtD?m0nD;DP=&P6D~by5^1RmTGr-<-2oO z%#~5o|C+oQpCt4n9$DRLbzGl<KYv@k-1uAb?Pjg`hIWej)ZZrZ`@2%-$?^FjlfFvk ziUGKf&K<_J1`9v8CW$t4T7pw?mKfjzSxS9qqsTCkJRrK9?|0*r-Y?#ZvY}_fwiZpL zTL(72-MsW#9m%~mk@x%u*IagQT}(sL<Y_nm^|(PXauMV=DxIoc4-5e_bG0fd^EQP) z4IF<H5k{H!0P`*yMFs&v!>UWMKl{F)VMb*qQWm9#cgS-_jgNgvlI{B)>P$-wKX4PN zz>_Y!wPn1?b#XhgCw14tOlbOmUHK>0tzj!B6Q2&ZkJjFRrBU!4`x7R+DMB8N>`*fS z<{KHEXb$d%NnfZqJ1&l_wj+9gZJ+ut*m#O3pMR=3e0)18I~EI1y6ApeYC7OV+5mLf z@>`J%3cD5)srOy5dDkkcHrt`lfY%J8fXQ?uiOoOk^IwgWKwZ@u&;mZyj)69gfT0%e z%25#L8w3L}pq{C))gugK6uefKIWAOGi<DJ5V_MDvz}y_REJ^kVGY%}pJhno{NJ2wG zvv)0Zn_*P5rxIm<e1PQ-N58@RAXvwEH(!IBJE!fC3RWAqY3;V!8<{%66r8JAA)7%f zwxZ`02A+$LHhN^-okX%VOW?c%{R$FkRP#{FkG~F9CHMTPwFma<7x)#&zERZJg$jiN zUs!KYMcya_!o$|vvhz;|DnH9i9~$}A?NZ5}iHyP6X27IUh6wu#%SMYz`kM0@!$dj1 zi9B`MmLB~ng;}`ekm(jz&>UKUD|ZM6j=IzN6pj-667~vYz_I~YOFz#eYLq$Tb;jZI zggOa5Se;?$PC{wvKJ_dykwuyEbPmZaICWZe`b&lP3*?K$KeAHcODS3FY5!wbsa%2C zer8Tk$!ejSFEA|QCslLsBY9`buJG=aF7F`VuG61qJGYE`80iMU+X~ah)fEK97-uyh zSsIzvEk`m8xn(x^;-@b?2#3(RdIx2nsf4QtWC5%5oYw>TS{SY$*jPD@FQU~abh;h7 zIk(I39LHS;OMpFXg~-?o4@aQyP$>MUUEVF+t#>1|#+J7Mw9^i=U7&tE%dK-6u#t)v zw-Y<dohGcva8OAkoa&kY&}4`-JSWYxHzwxm%iqizc_>hlq%JHtipDWZX=a0LOB*q< zkkB&<p&;EOFHCb714XgQb{|sOkLpVQ@Rz|hUpgYr(l|gi=Wd?UoIh&N+_zY3RmC+7 zjT62iIT8ZUWcn;pC)wfqWGh(3lx$M58FC0(o_~-W!msL|a9D}E`ba~J%-g|1<a6}p z*V7yKoc9iI93xz8>wICAa5@U9m>O_LY=toeE7~x3FS$tu1o9d2I7%=&;H)*v**Dk^ z;igh9P&CHjV5xVnr7@x_NU(HpF>bBa0^e2dp8<e1M$p8;$T8U2kjY-Vjq&pA+cZQT z@MD=Y-k)6ZLPq;sGRR0E*$MwjtVxE32_Is$&H_{M1l$id)`J;wFv)>)MIET+Q<yx$ zRDcIogUHFFtgBNcZMv+|iOre0HS3`|b2AxDtOTGaLm@H!!!th#w3TfBPC^zF3uxh% zh3-c?aV3@Uhp+Y((0vpo>#zF^lp7Ug#cAPb%G|Z=y%fWkW=BxnVISUVV7p$JTFVlL zS`f&rWiv6Sp0O2AnQ$jKY4Djb40=4KaqU4&%oPvAfL<sfy92l9_{n3J4MiHOJC2rJ zSI-tY4PEhjZRkk8Gg@^w^HTgDTT_Z#PN?Gxm(!RU2%B3XoBFIJ>RE=gkjhVb5QH`Q z&QcfIIyQ2htBx5NM*+9u>cX*d)!0mOhf>M0VI97$==qf25zHB^#R_#H+zXm4h-V8O zFA3G4{y{NVj|TY3#FPyWXA2>DRk?wP!nJKm80C%4npkfEi@^WAjCnpMkFzAE<PAiQ zt{|QA>?DA3()yRsyJt1AEYwtt5j<Jsr#~P<CSj?3ROAMpbR>YVC&ZWFa>^=u5&YL6 z(F@do7JCBH0);im99I<l-am8CwP@EvvSG=TMbw1YhL%sLZapLcX=53Y)*D<3h9Epr zR5D}GOBqNTc@|_QNL$2D%rGCk?bH^zs2U`b!L8rSF2IgdNTv=WDGerTWzv}M#ILGY zY#zFP1#HtNXw_u1HyiDQ(+{u?nJs`N4H92<Rmclk94JAcK}D|thLk=KkzS;rWJ1St z8FS;I8QSvO6SXS1-j9d$N@Nc?cPC0Qj`UzxZa2qDQ#66MOGf-Ac}&??ZCoCT>Xt^? zS8*lUzuB)07NG)Q%-9c%;rtn6#BZh&JPiw48}vCeuN^^`=gv7Uvvy`C;lQDRREA-s zP%6CtPWCS$NTBGL>g=Q}OI^q(eTu3iI*z_f^W1`$9#~z%FH)>b(IOpj=iw=Yqq}-E zQeWhezWk59y1Z;W>mJlD#qImAzNK&+6)eM3I12&|xY`8p)T1<$Lh(t8hkBbYFxWJl zJC1{K>;)PPj*}Fc^G)91gbrSQjZqEMvW$5xnGNyia^<pE9C;`YL-4#uaw)`);J~QK zCqi#rxKYE-X3rh=?IMZ=ij`e&?0G&{+JYq>axcGnp>cRFmg#aRbE+%C2IS?cHoXqF z%3poSq{9r8Tj@C+&eG$|8ImCV0ZAN9UosxwBVJEnyXkw$?X;kYdyK-MpGd*-RM74h z7iKv*RXy&4=ujng>Xh9zId2snT7kU|!UC9XO_3-nJxrO2NCOhZ`QXqMujQqEE%yH` z;v}D>RrWQUwD7<V^*fBM3%w-_RWjb2A4v<i7^AS{P+6z#MIsnQ4u7q>0|`DYZOWTM zoVoStPDx_+6Lcwf(<IL<E+$i72B(uG@^8rbTkPlSn9kqq7!cA-cg%8_MK*qd)(r#& z?o)tp-}bwLC_(o&D@au4DWjS|(aJi}HUAn0)8T^Z>~d!^`}|8{W^I?ptRqCN{TO*U zArpE|KA`H(b1ABU^%vawl<o(O{8u?*HL$sNMTh9*RevDZY*4y*S`rc~n-1&-diLDJ z&E107>fLr@s0A>*LRGUR(YB9-9c8)P%=w|qN?<?S=(FL{64=EPu3F%&j^Rr(5!Qnw zD+CnV=%w<1++Oj6XkVf!OB7yn!<pJin8q2$f~;S$VKNE%NC0k*vX=P@0OaX~$n#iS zu<6xCik4?6lZQC(aT!Qj+RIR5;TCZ!;9EL@b=2YNGzFJNHL1W2V-;ghaHysa&yhT5 zKQzFp${>k-g^T$kE(z`*^fp<xR|>m+mH8axQE5++TrxOB$oBKMt2h({8lI(A<p46N zY)q^LMY~l%#tm}{hV1700uc8YLZ9AM@UQEX&O=!51>mR@S}GM_`Mf7|?hO$l`ZSa$ zOdo3L28GKk!w`&21Sq61MD_<h=z|AWwPMyR!Z4_{K`K(Yg%=meUJl;6_?J31i3Vn9 zGT7SlnZLB1O|1J1H~!gwYwk)<pt_6XI42eJh%}MvmLy?{UyW#~o{FDDNHZMEL{U^q z|DHf9fF)1P4Xo<q*8+5e*wk=+nS*zrlq5yTN`o7tsiSJ0hZEuATW*7HFvvf(j#1v! z9C8dE=R|m{N-BfQ{m18^9SEIYBmfs8Ud&cJhMg?-2nfVE)RaPwXb(sw1$9|B_fsUE z+WOmO>r+SQx=9_t7p7gzV4D&DFo>oRi@`j)-JAZ*YaW!NC@x)cUDGr5z@PfJ7}?*t z7C^domqotRD4(p)_3%2)PnzE*?7`ivg;4cM#bp01#e&cg|E>?6n$9Km1otq|JjEdH zr%LRJ<*>Qx0DS9IZz6~^)O)1n=x2EYgLPw~<#BSQ+K3AN1hdxuKD-%7Yb4|((a&X! z`jA1-m{04U<a4V=WA3gF#qJWdh~pld)w>%{mZ5Qa{?Io7T@4X}A$o~?==w^-(0DDY z+3_Tqw@Hh(@OsQgQS-PXGYFVhERWP}N+?%}5DI@Y(b>16xCCM`B687)W*2iL6od$Q z3KnqFjfE=kmcEtx<7OEFnlYpkmogNRx{EZlZ0PPwI;SBDw8qO$Y%+~06YlAA1wlI& z6!eAHz3DGaaRtoIod$ddTQswP!1}$0;6(P>Znyxsu$h(EUx8EJ*djiNDf|=o2AGj@ zq^zu2PX(-CJk(12{O6on{4^?YZ0u5aw#RmC7~_O0SVO09RI3Cn2xUL;Wh1orhT_5V zZpF}Nm)8s1>im{NKNKT<iP2o8!UZtmF6DU6%t7N+o(n*ILw7W(LD98P4U;*3C&(#| z@8PLnCI~N-zjhq>Ld$<Pq}$Rr9~39<pv$3AOE4VSJCIJnw~ran6WJ3W6Ea-}9PHT9 z+ec<Rs2B*H&*0QS@zKrlzJ!Z+h+BVawAIQqCLt5M^}3t#3x5AM-^@`cPXN1qkY@KO zS_0CecKDKr_6%vlUIeiA>;lM45tVV?SiPzB7P5$~$WfM%kG!4zft;1$EQ+C&upMm$ z>q1algw-~(iAT)4<sOY}ZISGN@7KNIv?j--AO%So&_fG~Dv*;<f5dwU>ENTbP9-Ks zLdT<Z-Z}*2yqXDwAmyOhg*d+8@wF$1*qdmQgy@Hbvb~m?0b&Ze{MZiJFLPc_jG_r+ zDNCo$ZQ_+ug>iTjh-Jc>6<vE%lk&s%pgU9$EB(hHpu}n~hm@2<j%J)`{$H#UGwS%O zXjvy55nW6L7}9IAan&nUz*Z!KmSy=vu}U8WYi?kgg#DG3I;(oF(#T@1qM{l=p4#yk zepyJ4j@!-<9#jCfHV<o=F7-rHIwuK`@S-n+wa5velcJTV_cG&?sOsYx5J+jV1+O)c z^?0$yY{<WKliUGi^y$K%#WLMIJ9`j!!W=!V4U9_2(m0ICP>LA6YFXsq87F@lfn>uP zkMv!^yb0Tr1B2(jz6M0CdB>F^-MGU67QHP-HNo^bP~i|8L8Fmh1*8(|DP!ia!nr0p zu=75FrO=(#7A(M&gW406*@9Ue95rH!uwc0sg|^0Zm!cSfG7%Ko`%^?^NQWhDWmyim zfwqhRSSCtft2l08g5K$$m&lAjqY<$xL(o9=20%qe>8v=oqZK3iM5UGvb6i@#jE0~D zTK5XUbJ8Uwpafco#ug~NZOW5)n$+^`e>G`G;R(jSmjsi`IA5HQ7r}{I5;Ll<g`{lx z)VIdwl{DjxS)>z%oG^`(j1<B)U&38Fxvo7HZ)|xd^UTGqk1lTnMcT~8cS?OZtVIco zFPww^%zHoSfk+yjqZxC2$D#x#+ux8d#WoB*9Czbomu2t>)KOc`A&CyHC=G!F(1r|t z4$3+^yr}P%=1&dWVF&ScEk6_v{&FqL<IeM%dnT01?mULh#<HX@lAQ<1aD9d+lJ)Bc z9S8*&TJ*b1!-d+q;~qpxg4aMO=m#FeGhecyaq8uM&~8AsaIKS2#%bY-rq-L-WQte< z=1q)0e@)~=LD{g1<!SU1`yQ{lPcImO^+-yfraY(*z4L)+dK1VY!h-S&_nVZll|y*A zreYSp)jl$Zd7)7fI!SZR2s+q4Icv*=a2-A!*fFcI`Gstf9*HXUNpq8Y#m~QlBz)uj z9~4S+sk^~^iJOn-U)wiPYi<8HWw{MqbYC5OdWYX1aK!C9zyjr3o&yRk8S}vnLvMsv z20zmIrL4TP8s&DzLJBM<24fv^Bu<g|^jK8lGBw3D>LA;yEpGg@;tZG}<Q>8+7%u36 zGbQfZit6)NcL|F8?cYn73|jGZt)}jK(>^0(h%OU#mgt>Lyevm;MbknukaQI<xdW=? zH*E)AW57hMf21itQq3P}ARSovoVOksqYMjD%3DMyj|>!5JlYj-gF%sqm64D}c{X<s z==Ynh;ixXZPC43|P5~2Chc`DV6bB3{y^dOG1bPsJ14^jGo4ujmB)EkZ?vIg~_5{6k zZ*Pfd+FLh+WKR_Q)+6D;A6!I-#nVCCyRe;P^>YQ0vn3|dn0<rb8T^xSZPr(Y(ZsZV z?OXcHA#JV<8~2(25|&DSbVSIZxASTH?352gFpiNw#?Y{1*0HR^0BeTfQcZd=cQr0; zCL{#mpf{oGPq6vjhzm0-WCe?s7_~my5B1QLLWy0S5vNSH{0bzGZ1a~)aWsir5EiUu zQbd4AU!2uu3K0&$e6u=OXFc%&OrRAJAGofTQpzcBYHGo7D~rRh6_uJ|V;P-Ro4NSY zuH4N5Ybdrl)azHj;XP{f3>ub<7ZW;Amw*ZSUDlt$bPu1dUvIqXoqX!NKYST4k!!(_ z-)wiU6Z7-#s{ie1Z@F?*M*e3@TglF+)WOW>#Wk~188=DZ!a)jbA6_{?RIduI=RkP9 zI#B1y5*XN_Skvbjy8e<37dN5H@GFY#YEsvW)9qg8GSaL0p7D4}zd~MaN+vri-3Kp2 zEzuCBcL>{baQxt%Cb$5)eqZU~i08_U2G<EPFGKTLtCCcvp#yH_azhhh1^kMJrP<Jm zBr`8aIj~8+kqM|37oTT+858@`?FwB7X~VTJz<>b>)k$YU&*vA5i}lms{@Q5#+2Hb` zvc5mRI-{?)uY*cVHj?kKp?=6u@~b)F^)LqSPRc?L#Q<xpPdCH14EDlaPb9B2#=SvN zysA^Oj+uil`))bbiwS|ak?mgO*|+}YBD=Vw&iVDT`o)NLjT9c`>tL58I#gY|phP@a z#W-cHtGLC0l{rfXEuFeua#SEP7G0eO6NIsFUH-+*-i|bo|D$o0W;Nd-<Hr2v{oMR- zv!e+c`RhG-v2~W|`C~5cw@aC4MBIldq(0&_t}+<{v)n)Xb|3g6+wFh!^`kDpMqnZX z!%8dRM=FeOm7da=F|`qQlNOFDL*<?tL_qM1OwSFA6xVj@EM?^Q2=aY`Ww3&JLtOxV zruxTaQinnXP$)#iBnKe#X6N7jk72E9TLJrfiOZoy%vw{7Nn4>>I&ay2skUyX-jc4V z5lBSMTHk5j7Qf~{e278XZDP%nANA9y{Pg|&B$Ru7iAntNeBDzSSX9PKT@UXpcrwvD zn8h~C&nC6awHIB@$9{O8m?9QJUG6VkQdU@_ryGCYlk><NRaPU{+0F$j5VxR(4!yUX zDiaXRPuo#2Gd8Cu4TSGBC@m(3_%k$&x+vI6vnPuc$8x|O-{G|YE2&OXzwE+_68Z@T z0gDi<aN-}j<qLa;w6jA~R8m$M>`a7ARH&EPsT}!ni4A8dFj<JAT?+>Xt>L0sdyd&@ z+8BjEt1iSh1`;;P1KFyj0J%y?4&sQIu2yhVB=<b*h^@o8P#Y!i-itp;<OGLJl!{0n zdxugZ{!$#tbPvxNAVQAay|q{Rj7Rxs7+~<djJqO<#eWRe_8MASZ<6&j<U1W8`Gp2! z2?qUV)G^s`>PfzZ4NtNUK-{7!D6~<pQoJk*`9VHRA;4M&lowsN*##zJO=vTjVGGOL zz<}R0WR<>QQn=_>+aANcXgVQu_rOS;gW~ymp{M~uzUb_EVlwgq_A4wlHUL?u(1L9C zO8GbYk(lV|EWWwiIyESHn#lytY8E{*jtgpJoFLD-GiauA?7hk|^vlf_B2xXFQJQ>M z_}fO69ladurQ98q@HWOAGNJS%&Q@<ZXVA;}J`qAZH2HPM_xqv8^U>$ms#oCpG41u# zo$;bgsJy$cWtaKlR`o+I-!*^xp56yo1VRf#W9W4D8rS0=uXES$K=C*RjMcyVM$4}_ z!MPXUCPDlXzL*RK7F++W8ufHG-Clq$syJ0w)_)UKRw?dN4mVcD--0?8MAK+c>}wN& zZIcHb%4k(U!b^tlD5obOnbY=;+g(;K_RiwHl%XCVktD@ML1|(@#bvGbYQx;VLmF(_ zHO8h$8PVwRp>?d1znfTIto#c#Sgz#QK>~?eKW%;$cXXKYt|V)qN}1q2YbpaJV|BU# zdAx+wauI$6B5TKZ?c|^bNg3dWSF8!Gg1DwF(Xxz9Xb9M?ln#3#$plRp9i08kvzDr^ z4i~K;f5GI5Pk9`Zg8kDJ6IjSqH=w}zYkr2X)sV0QrUQrPnW92XQWmx%89YmOy^2F2 z+CbHMCqM3B#ZUK|*_#!COr6=BbC;2Ot!6;fpPY>v+7K!yS}i+ULlH&%`cn8NFf#IQ z%cky{c5O?(7ahM6Ip}zEZ-CQXqKf+SHqjj`;#yb3+myi|1M%46zvBzkMYRr1UHXyG z&Q!!c2Il(o`ie(vSavS%&4d?<zA-j|4M?F(*6#!hlx)hk4;%Y@<=;54YLdJnC|WgA zA!M+Nw-%MgO)1PdW1dso(KV(s=BAxGk4c1Nv}@Mce%eqg$#KQ)6=3n2gynS2Fi%b$ zFsU&~oUDe@d%!_D!C8)4aKzFPUVDcFb=I{6E*Ylv`;6)<9`ohUncrB8+}&Shts?eZ z(6E9Ib86w9BaUc$(At(%$6}=rxaT)R;#?`4gq`}kC)gYxyzAY7K*mT4-{yWmDEh9I z*Y{4V(*zYT6&)|P6nF#t>(rpXWE&K849ic(<%>_2%?r0bZPe(_eytO?zgqzjv$Y9b zNm9&`f9i-<hVR!ZH%3QT#l(vrv8f8QSCB^Sz~ZyIrYEcZCgVsh2@*D2cv7*Nzb_49 zXiu`pwr`gVum1J~oDK??`#qr3YO$pCZ7=jr^~usl(*$+r0B4k*oj8P&T`6VlXt{I{ z+7*r>ya#jB_^>>NUiG+6cPUHFY(&9HB?O&OAr-sQm_ywiM(Z_(!arHPv0)@irVuGm zA-2u|!Mi_n`~sdtbyuMMY#^6N&1z1oC42F;VxFejElj{fg-j_$1N?g2qlI;i)&(a5 zXl!w8dDnw6vvnuq2&Ghs2`jyRBi`MgQ!R(8pEatPIJIDqK~!wCEJ!D5qGy@fvH_qQ zto|?Ro(tyvrYVchudAJt@xfE+YK$EIKndtji%2f}j%=3KjQ(6iQ~CF;T|3MxUJ$Ro z*3FY1A6UoS@b~~;9C)e&gXX{Dt5PYTh{sL^TJ$haV)phNYdURHyV8(r^-&5L03b$O zd*<U@7M4Bji%#yCn$m8_(PT>EJ(eGd&3(^ij6Z@%LY9UWf=B?{MJQ)flN!sKzPCRS z%R33J(K|(v&S<d!@vv&s23Jh2q@vUh`Mi`TxitW=^$4OdwkIhG8J~<+RQ&4sFZQ4e zv&V*##*2$M=vJf`s-IXMnU+&O_`YjgE8t#_L7ixuDuDjli%ZQEydCPNxYn^qLbJmE zkY<A8uk^fXXm;7KT`SE<GzlI0AP>3<0r_&PYODN|M)vSKxvcIHvHzI(XqCK1(%?4l z^W)W;`c<U;F5K!@aOmntgPdXbE_PKMoIOta2rl<CzpK7Y+qwD9I)vLkQ~0)n=2{J$ z=MxCNiflK++I*&cr=lYxpVRavrupOBwvoyXzhfZn#)@;>n)PDJpl&t(sF6Gte0ZYs zCa%6czt^sv&QD+SYo67O)sOM68#cUU4h?Spw)@YgM##@f#En$ztFBl{2<67&=lV{2 z&3PU{82}pI;IUvZCtSQZ@5{x%?8fC*eeb=TcdI&A+nXE8=PPX2g`3smD|x~;YsR77 z6f`YMuBirpkm^3AtwEAY#f0a|#g)I{<^*A+OmC^V!uVzAy-u#s2lXQnNRa=Y?Q7cI zuKPR|19SO)GwL|X`=&_;5SeP4;nzDWkVpae_?`5<kAw=ly%xJ}3mxDr0HAhjUvH|j zHiP`(OOsN76zYAwgvStz<b?hHr~AlHM!9yv4Kk+C*s)k{y4FNrTBe0FtS0x6N%?1n z0Nz26G{2Bv&x9M)K)e%sqThGQVcqCY@Y#R^!AfoIikWxCC*Gb1vK|HIOEA}$J(4f5 zF|Maux=X3=Bk<=9+gAnrgt0l6Ii}ng{`k-mi<D1X{-@f6H!nr*dOFfpc4`3$%`-&` z3%?bgmX^<p4ylov?7F|n*^|;&1B@aYWmzVgXWX?6mo{5y+h>opy!adMOPg)1?ho)| z8Nw8Wk#dG^mkU>?uvd@o?L!ZV9sB7&bcX=N#N4P1R$_ri#;uLlTZASo1-6rTNsN1c z)P}+NHmTS+iE+Zsw?bAQmR>Zt(3D-!v_OacpudqjKO|B9*nC)FZyGnha;h0{@jsF~ zCyu|)a|==frWVhK2|g>o2g>^jC*2V#5xuD}LYt|0pmoe5(|B*W5-x{MY;JC*u8vFZ z8{rz;e#gTRk~%tb)I8<ZAdW1kfVd?@wh`(sUy?YDyD;4UL!1L^b07OWCH}L>P!b4w z_3+tK``Gg)=8R=C>=?-klA+OHMTxK`*SRmCtIZ%&@atGbJ6rVM>yW?Nq?x*p8bu0G zZ3jvTmYJSEh+-)39)G;0Rykex-c+SEHwPakDaM;04-+C@V`dhM+#Xmr_NDJ<->Yca zWP2u~Yxj4WEL9D!%W}=}nMao?+iI8x3ByFq`}ubODf$LW=GAcGrTH<$GatUqM$jqT z&8x>{r`K~p$CvYSW3EBU)BRfT*K1=(E+1S7q(TVVf(S~R(A>451@_+7%jwx~OdQyr zVgG=voXcnlTwlK;#`CD6f8j}bOY&ENnZQN)4x9<FzOe!M-WLk1OGtd1>gocD&%3W* zuPioDFBb$dMyq#7FWZYO4&KN^HGc+y=vQ2cDs^hmjOHX(Ex<iaE$CMp=5`W&1#<_F zi0`BI@oZE!9<2k{pHF`yQRiwOVc_V{Ad#aTH+Xs5I-CzZ9l3dcj;~k7z~@3Xb$O$u zLm813J140Iq~}TYJ6Ag$?1&6m<I6Aa>YzpV7^1XK(6TDLcqK`0@Lf+#$_hVRH`%uJ zmy<Mf(2~IvmqrJc4#;R-R~Xf4!{(O5HRn-{9_lJ2?S^VdZ*+Yi{T<!B<_{%z@&pXs zZJ0g_Zs2&4ohd?h<JYM7@GSb?Oimqb6EXKSeC;gKI`+d44UwE)V9Su2TB5xwH9@`W zIdJ;oK+Mg6g?|?K`3ojZz~c~G_8-W$YdCquk7#D;Zuy%0G$2Hdlr{P#ZHic4<ny<6 zJMi|wB|YW>6?#$X1}J@FxHwy$05fk$86xq-eIJnvI5U+poUwlW)fLs19Hx$zc2j$g zz3ut=t2(kTU7<*fbPUFEQyzWVP}E89@B0k~?%md(&fm9%m+F|Vdb~xDg$=(O1gDdb zb<w&eSgoE5=dS{%cl9Rv<|(g=e+NQtD~Sa0gaRIa3ICPQOt_CM?(eL0#-^TfD!R#_ zxC0B%eZPYgQ~Y}uZPcjY=@hbQbSSwo7zK;ajmn*M$1re}>h`8@7e2P~)EH~nztVFn zk8}S_vK_6^fwTlUp$*$;B)O8Akn;&wfDP_aVOzdlo?~~BTE?`uKb#jx_~%_P*H|cW zz3bE00L;PF!2^IC9Gn$P4-3J5vocCPr{RHbwJS^d{YuR4GdkrMbA>k_(_DZ>kxv>E z={#qqPITS55)cHwqWHjmXulC)2`Py?Qqx!3;A_E3?AS;J$)vEg+S%Ip>IVYjt;X1r zAzM>l3N#V#yONhzT;%%?T`WL*JW-MH2Y1M+M4!G&(Nl1E2_Hguen{N3CW{vtMHVlV zk|tqd33vLvI0dc2X45ZNkzNvhSFk0*wTL27pR<8TdLrq43xO)8oR$?SgHg{v=GtuF zAIu|&>D-Apsmv?M9<R<<8h;1j<DZ82HLzVMvUhZ6c5;wKAo1x8^XyFGY0JO9(RI(o zyC^bVlxlkOX(T20BwtyxycaSZe7*fK)%DJS#T3Y|y5s(G2vODX!2jiJelIQ68*yCu zZ!v<cw_NSR--0dvW^m15rY8~~?yX4oLZ^<@BJ_mi!-m7v@?-V!YtnayV+)**o2=pn zQl<bESU&Ke?d#2Lu;zejgPjMMvi=cI`T@QHuw#F~2j^)8L6>m&f@Xbl0u0CMw%m=y zL&6oFYlTn8AzCcZ3FZ-SM8V`k2fB-b`&n-&K1JL)O_Fg$zs?lw`H-K#0xOMaT6=JX zdP*xF|MI-t>RS7$kyiSU43u2-02Q9EK@#_={xY(&CEnrYB!4?mdems<cATKm7Br+M z6-2<isrPVHmw0TOBfudjl#IH;vJh2Nl4!CZC?#n!J)r23B;s-0VeMep_Wlz5euC|- zNkd)9i^n)hULdl!Ps$gz;BCo;+a^f!w58`Z=1SD%yL8rIFJ9Lncwmt}^GW9X&3te0 z%EW~XU7F;B!264ga%PM#hObX3-FybqwCJ)MT8xL&cR@O2!1=H+JdY^%p@^GMwtpv@ zps7ONP9sBwhOR)_&ZIg)MkU*`0IqEQL?JN000vE<2)Yj`F-jjur557m)8U_$>(kQT z=wvZB^!WjkHsjpk@jr01#d)L^r%XTH>j^aKwKg4*;}Wr>J@IhjW5hcgEgddmJY^~i z$Sif^w>z=kECvln_iNy_o&3m)L^Z7Y$mUQ%?w~0Ym0ae9LsybLfRzdY!^%VBx3Hkw z%Vpa(BytGQZLK`RAAjk#xsE~CW@33m#VX^JPY<1T67aQd*Yu^}Zjoa?@@g&I#H+4G z6wCz##zvGWqiI+xa|4CeE)X-R|CMrD*u~E;vMQlWn?n;hAu>8M6uCE9#MzM`@dYk< zxU*;ZxIVoXuAV|G`ek{cVL@>le|V<uqy9QwU>kLW!$-4+DC*yQ#-wRGaE8B>6FFB{ zPV6vgMGP2G4NnT5cPhT|o3z^XCovi|WDe7Gzr`l#dI3Epj#^SfW;S?@6GpUq4>}j_ zghK_+iK%QZpQ>^FyW~{IlfK8;0R2zTVnnliswfm$QEWjjtj$xxaxpD;)g^E1WG&`3 zjn2RF4Lw?bb%<;SE<Ip4?E{L7$^tc}I7lcac++NT)l4-peo~U6ki--H5k1=T;nz}k zE2XS8v4ZRw5z>fy;0_&zj~_xwXbx5u@6mzB%I+#4E7r2OU`aq_-Waay5(>520+w>z zL<3VKtN?w%`puZVLt^<vB%K2_###d`hATy?7ZU5}9R=7*0Th_C1w=%ca*5($P);bw zC?#T!iB1^}FJ2~=`eBH<4y#0CmPmSjw2CSWMzpeY@v87dNWgBMHw=+0hxuWrXk~z% zn_<aDe+$k}mOTUr4Ouuw<_`@&zLQGCw8HY!Lo?=xRsSud7dL+8Iul(ooUH;Kwp#r+ zK%4Y0c{*?XnoU!cG5k4MN#up9=})#oYwd&}8T)W?LLG9~1C~&$=MDP4RDhG{yF@>d zfW@I9?(*1xC@YPYX?6vG3xR&1f_y0>0)@;Hg$P%bOaR}Qm!jIU@D~a%XM-az=Nac2 zlX18;#DvvuVa9x)IG#Lw#bZzha2&C7(>g4>#A_(kN9%*^+C}dW-}caHo|7ncQJ}ef z9C;w=IJ_l{Z8jWfbtAAPB}A9bNChFDV?~2~NnG@qLPOr4;iRuoIF}`ndu|HDQTl;x zloM+Cc<i~1Vk<@i+?zOG)Vfn!#mYqTb_^t$w8El9(hN{Mt(q2&NLbl|4>=~-NmUJR z^m1&@vmOae!62k+OB*B#gO^^o@o6+#3zryvwlzpC-I1FHDp-8JhBLA<ISs=}p;x2` zlJJ^Dg`5eg%BaVXT{`>{BEO2gv6|`+8An^K!~jfE66zVL@Sl|ft!Da7-zV8S%g>Fu ziAB@4FKf|%K6$4^j~`w>#$hit{tpB{=sX8xO#)jsFxno8oMKsFzI&j)x~QFeq);6W zuGyvo28M+JZgV$pj;nr)dR3R4>~UKz^VzL|EX|H!Of4Mh$NrBCt;z{T^LseTXI&aA zLUAa5Gz~*CfIz=~Cm{Kd=Ixc_p(Z$hS{2*hMhngVSGQ;9<n>3UR()2`1h_|CR$lDz z5o*4%RwWcCNjibD#l?rFMNU;ipc(x2?o==FDsYo!dM6Gk2s%7*26=jQ4H;uA`k@4N z1+yZ^4O2_(VHMW&6B@(0w~+msDenqX3K(BMQ@8k;BuQShG>O58dP4hIe|JS=t=33u z&7-r}LSLfDaFYVc!%Kuq)$FNirZF?*e;+IzKp<bQb<wS6lA_V1UBXHf5)QRnJyY2; zb<_O*0FN?m;Me8G!}cOQeTJ0_;-sJo{?GAA#o(G}a}6gnG(fa=^<k=9jAvHIKz+1q zn0k$jYN}iywmw&`k2iYC*@f*iiD1BK%sC2{B9JuUlqvXXDWyPH5wR4^`)Ze<#W9~p zN2IVob*V<Ga5(0ie<1_oJMeML^CO%gMMzRr77^dc`2h}90}5Fgk@Rxz?ix=iBb#8& zS=W@WqD*uhR96i9vw7B`rFEv9D;oS?$09cKC`t+>Tx2+^vTCxV$AAq%Y-4WDY`RKH zK>9B9YEd#~oX5G{rN87SZmJl6kt+4!6GAP`-EWik1kk{7C1h4&TB<W80>#5w<~FgI zz_;r>?@86F=f7%|TjkDw5p;qTUab#jwwBHo`g4i-!M^I39d}Uow)P4RReUgcRQ<od z&Uo`bnEq(J3VNb`A3i%VPedKAk_#!X?Dib{*xPuHTurll0rOT;geHHwq&=WTz<R|+ z9K#1zFad6@;o><DlG=tQ0J5-vqDNatCIi#=!{w_}`<)it*R`$OWw}1vf*a-UK3%tc zG@bd&8vX6|)^@K?yYCB}4*ZK@^5;GN4VKy+N-7<Xec3IBS6f?_CCRp#-irIg%BQ7L z49rGGI+ffpN9+8}y={K1awzcx)Vlyq@U26a_1SS)r&$@^F9jaD@bl?G-j-yyq2jo! zd-}GnmrbefkJU|i!h|cbe%bU`*3YTYucZvHD@ey`w8y1UtO2D-8vXJ@#tAxMGa`0d zdZuxJ1lcH5tFo`jr%)rV8}lkokixVcw@F?+a`S4gt@HWU4beItAB|DG29X36t+Qkp zP;rLU)YkS%7T~<G8ySp!uM=8Qbl}Yv4Ku#df@Sfn_v7DB(^}85tF`Q|$>1&Kl9&rk z=%b%%$EN`3M$N4FigW_@rV<SEK&tZ4I5pkZUh^vFXcnB}8b|h8|C(l+EGuP>PH&#` z{0b{{c>N&PV`4L^en@;i?qVA&Ov-K3m+REy-R`yj3*Xg})nKp7=6|9ye@tESQiBia zQqO(P)p2C>0TG2fmg`$_|3B#NI%AI?CGGW6CuzlYbuW2-VD-NnR~L4YsmfqUC_GnE z#DKmaJ@OTgmf3Al_&IK3Z{&dnIjZBT=qB8-d8QL@M~9*Ih2;7@-U2aTZ7qIaO6SG8 zlM-pPYBP89J%Mp4K&+NHg51rip67YNDp8PdwO}C0pa{SXDwxwGCc=`<Ev0()TGtti zK$Dcv>@k)CxO<Biu11Z?EEWEEcRD~DgzD@KJgGDs$WIbJ52!>B_+kyZGINgNK?dC- z-%^djSc3#xt58D(GF*><nPRdL7MEq@f`V?|*qD}}2eyrI2wlh|Q4guW${8rSx*4_< zPId~PjS(VLGzsZ9@V|X>%sd$gD%k-qwt`T+)B>KQ{s0)poUKS}RT|C^kAAzo*5*-k zDn6pp<`ODg%`!tFc-da677~QOW#cfX1#Sx$Yw6!l(6GGO>WKGQC?QEI_>VJV<yI2M zY>BQ2cL1}F%EGQ_teR7pR3;EHV`7`$qsN)WtL8J+d2<S;R~`e^#)1J-t^0ccWXp)X zv#4BD2Y$w^LDCe&XtQKLBIY(lMUx#z^paHz#+5jWhMqOHKUs9jVqzS$(NR1#Yb!Gr zS|!sd<_+$>X6Uy9BPvm#)n`KUp4Nxe;pFq?wSFYX&V>ykaU)uppG!j5ZMWrhb%-Mb z{tS3-GOAn)R+<Psoc0x)wgLrYbJyqTd2vV5H28&9<vU>}o-+BrXPzMcSw-60lq%dt zAkaxVjqQjPC-@_$N2qC)0vseeIeU*4;O*5!B@>du^Kg?X0(eT+WPUnu&BA#2*{CD} zxyU?nD(PC{)i!)V$^~GD7B6!Wt1|NP0$Z*U$w9;`A`)f;1BAS4X7OJWbhBpK!p5ub zwZdpZaNe_qZ;S0<`BLz2-4%-qVYHfJ$(yCoKOT`B&>-{r4zOaL%^+*j(JlVO@_|N5 z9D5s9mzA9-goL8BD2kHl6g8t&H%#eC19%piXAsdMm?wx~0tx&n;9RT7B{v>e@}Pfg zK!xX~qiRW~?aKJ--bfnBc3gDG={lTm+*Cr`s{malP{ijg2SmP_6;aGavTB=#Uhl1Y zzbOI~t<^1ngDo2b#4Z^MGWv@gxs;#4Z=S$PSHrckWffUI?U$#SX%R($lalHDKqwi> zIOMD{B6;@N6bA<G1+A;hkEd7%l7aHx!IxH{LO_&2z=uR4NI=&WVz+pi*ckmh+oEjM z!?%5tuQ-4i#wddPXN3$KhUh%$K)%J+XXl?l^ms3jBk)I-O3@(PZW^$+5}hjk*P^df zjBhx+h#&`5Oh8m+Qk=UrjbfT(R^xGXdd?|52lQ$kg`W3_8sb;Ji<I#!%LGx>V44Us z_Q0>PnSJUMZzua`+s6q8O}a?S_RXfhDR=Eo`4Do*lpuCW8BhR{sEgbJR4pkl5ofUv zVq?W=K97}}rQI9u`vQ+%Gw`3eTOaY%i4zL>G$z@hXPc24Fpz;BAWXuXXA42gld*)d zYA<8?%ZUvIgfKsUzJPF85?vXQu>TJf3EnWJ@aZ1K+}g)Zz>MXK1kG;KP62X2iBVX! zl{#8#iCS2sg$kNhB~7Ev%MhY+Mw1pV-LJD-y9_x+cC+RPBT~;(rXZikgdo~8eXb&- z8B&GtJ`xc0>N+*aK_9B6xQMyJQ(^~~aK!*gB8;n6aeyy!2=d9_3E{{u<_0mhNzfW( zwOZ+w#VM*k{(U&EAP`(B%uN-S2zZQ^oGKn=e?^GE#C;CNbkL_bY=1hLqf{JKgFCuP zo7TBR;*Wa1ja@ZEt~2s&ZT+dpO2FrO)Z!VW>OG<)C9d5X9e}BiLq>X%N|XyjXunM~ zs%<}yedl0oJGSdsz6Ndmns;$!*JG&oI?Hp5%kc~ojH*)45oyiZx9LzV?ZAwAv)790 zf~zz+VVY>@i=2*ziorB4{C5h?D*%TJE$9iCU#q{9b?&h5-a5<FV^xxuxkOXNQJ^xL zU#MsMq^bJC3Mm&+)8{frZH^S?<jMY#P6NYG0f(Kq;)*swCOcY}k!<l)Rb%UxI!G^* zts+}6`6u_AYB}^frJG0&&biM^RjNWqcrO3!SY5d|kcx|pv}>+mR|EZ9F3$puh~|X2 z(i2^j9Of{eqyY_lsW!9*o}+7`6L-a?g@bBX2Rhqqp=UM-+uISywD>KFKuiQt7@PR3 zBs9q^nuS~2DukX13XC_L2HQSb1yI54bBV;}w2Mp|x&&>Dc&b~V7rm|LVuPjBEKB)V zpRejy{f|}T5Ojm=P`m~P?<}j0S%{k_<0J_v2qzapsENamOfw^-aQSdI^V#b6l9L(^ z8*Lb8TKnUmNdXEK?N2Aicnx5~ORD=>>>Ri;Lb+Ia5kW-(5u<dw+aZL{vqr&xv#woh z&HaJEBmKYtBTGJojWVvJVTrC3quBJpiaOC!yx^igvS3-RRmmYPD9SZu?P0eo!t8Vj zp+9bI(_hcRW9Qn{4f|Z1NsUMW3+Q=K`I*uRv_oU9YN}ra83e{Biw?sTt1+jMhAW(+ zK!}C2JEy08OW4ngKLu}=-)r-mwA$;_Q<r)@P~V6gjL<Cg`urOXx%~eJ#2#db=yJ5a zc@cIkPkcE&q<&s)+-zoho`8MYxv$;PEOu~)q$j)fcFgDwPSN-i@(W>}_N59wQ_;(7 zlbrLd;U^&b9M!o?lBF^-Gw&MKMcPkU$Q8POePKS<ue=(wuZuBpx#|{~W`DaSy`7rI zmvqMLVGvegR)j1+8d%iGmN}JnqE?@TzWq$v15LRM=#v@!skcGrqH4n-uUj{68mo;H zTo?9Vq?1}#$U|2QX}=e$)!5x~H8P+vARd1~qeBb8O`!lIP&eG!BfSp*D$^tea<Bo1 zvWwmohcPxf!48;RlWId7ImJq$wt^L5<}I1QSxaI?mJ#5SAwCXA3XU+_%M*$xw&aag zQWnYigT6>BtkeQYA+Zo0(21V?3UDBhM<G?MBwj@tk~Rt)<s>7n{>%I-76)hC%4?uX zceMu|Lc^NOqac!4(6%;&H6Vl45l!K4()ve5{Oa=*l}am2OtSn7&DL5JdbSgmJm@8Z zKu(L7(Iqmi72e7SMv<GJQFM_O6GIV$5H_9!GfOR!u&RHUhiqm!iqUoD5($@$e@$vm zn@%<yi9<31WQH|#URAN059#2<Aiv2XR-{oJsQMp(6%opS?U$dL<OCV{>gC<<1WvJp z^ypHuRa@3vh~IyBH%Y6p^NJQIh*9sB%uy>y`MHEQAq$)FlBh{)Wm?>iqL$c)%0ge+ z_K7@3#nf!l4t4&95kH;hZ-q4|Upzr2D1#`7WE6bXFO{&Wl~Ws3TiAuI4j1{6CPW+3 z;mPVnY!dL%i+<&#VO%1K4i_NfHxg6hoQFg-6h^agR;^O>6OX7uC|jbrW)kOzP*PaW zY<O2CP<g^;XUuEV#jJ*wbb)fFV$zv6wUUy@D>cuewnA5sBMW6j5y-tkfKuXauFZ+K ztUAeT_s|np_M^k+ft8b~h-4S^W<2`chrvD5ZqNZ)YeD<rDM54`W}7Lk`n)!Kz2P3Z zr~bGEw)`DH{Pi14(aN8+u|KJ5+|TT8wcD4uy64+G9l!Szylx4v($#NJ(PGFNr(|U! zQ4LElFsaR}f)2fvib&Nq)N}jF%6wm`xnYjR_kUu27kFvbdP-M2vmC3XeS`7J^LG0~ zk|Kxone3^#l{s}KyY8gxRsSICj&%6^M0E77Fkki*ly<StJmdKMZ5#>ndcKS_D8V=L zbYPezn;*=@h_`O{WjW`!{q?p^!ViAC0@)}v0HG;bA9THEDcibOsTq@dtd-gOvVsX; z%7c#+C<hCKP3}9=*ZC`Xg4qTtTK1<_@BR8ca7hXiW2It%n@FXuVJ#YLh*A6a$SGF~ zZv8n{UF2ujfT@1Oqap$`OG?@UTZ-?hye>|l1go8;snIX+a`NRsgvX7^B(Kq|&Er*T z5`ia700b(^Ks;+d{zH0NQZzx`e|Nwo>eg(lT67FUTheWz(c!6#=hIIv<JeHjrbI5) zu=rn4liF14H`<jj%X%R|gv^!vVhaJc5o;~(wt}pK1GgHrgnk-;yndheyQ%oAqI4PQ z8eblM%l>9UM_03KHT!uMLx6%d@1sl_$o*1dEjM@huEqFS>yerhxJgrY2q%b#T|Nw@ zQ^K>1$O5%AkSe*C2%pERjdrRgd<En`OsWaq58TpcHuzPV6wP5?3A|a%WSnJzuGDR} zX2NxVBBf$;j3BeH2?O_J$k6jo#9HTGmdftKO@2!oC!vTuZxSm<hexDkN2~2$$o(30 zzsfUo7w-x^U;v4-qD^!^>ux}IV06hYxqqQ8;c^ikA4NgXhQZ(tvq4!BhA^HU-&XKi zwdDvOLW8SF9iuVdRQPQr8U|*e#oYu?zR(^_$cb?gJq_nR1p7OLHpd30L&4<n)oW#t zrkR9ly>z<F=1&xNNc@5`TU<Xv*^R_2cH|2HdsnwEvI<N<h0N}T?v;^@ki|QD-rGZP zS(ELutoQYPi0N-iYp>#?__~-A5eD{+{`p?(JM`sc9s69c`EMCAmSE`L2L#L|Fr%S~ zAwRl<E5mjyrt$Tf@~THed*iF>TxH&9?XwC5qOa3+j=%aNBmY_MH<0(D{fBxn<~#ka zZ7<>3O3&+0G}NH&_rB)$QRG)DVSl-VBghTZ4IF_Zq5Z|i_lkEtvd4I8705R<{8P|V zaL;G+9qr+EPT#(-DMie8vL@Q+dF^b^7sThe{f`Jj@SA1}7ZJM{t~7=X15e|a*QRv_ zS!LFT(rbbYI5YABr3|HN#AtD|kfXyyxRdFxIu&W96PO&#RIgWOQGYpp&PCTMDG9cb zL~%>5?bT1@Wc2o^^D?V0E8->9>lVetyUm=@{d=RWspCn|;T_S^R;AN^TpwM`3u@a; zN>fRmCR1izz;4U3SFj-zu@`E+d}*hwSqw5plUpr#dW$JFacEl^ns0I04MYHja1q%9 z5TPUyo3QGW5)jk288<vrX-Et_dx@!6?JR9J^4m@_D3Qi!Aw={QDOvQzWLzsL!OSH( z#FrtbLIvrs#$cQ;nj_z);e*z|N2js|SV@P|P?sRcHP|c&+CL=SR8{O-RRT~&Ot$io z_`m2y#uQvMY+b=vT4WL;3B2euc(WfUIteft$c||<%SqeRHDZ8EFMDm>BdbuYNQhR3 zV^fV{qpJ9^?4UY<anOF0Ah{?a-oPI`Oyf^+B>ddy!Ca1%sfM1=@P}6%TeK-$9EWEB zb*qNdsNN{BM7(|gLddF9_;X41y2A(s_rc4D<@4V2)iU8@k6vo&UCRE-6hYc7w}UdO zpms#%w8lRNTzw)m95I+6H5gV<(@7ajilOA!hU6EWxV@pVA>~c=oT3?x*KGhv5ng5D zY3BDk;Wwf(Igg`)G$<Gv(0|8fxVq~9zWJXM&d;@Or?X|UjEMoj$Y5^i%xG_9WoqpF zn~}+k@jpG7|NZ8FdRuGi{eC}B{|$kk@&B%8YRJrL#>~mg!OFq{;ACTBGXb!f8M2r# zaRHbOS=j+xOlAOP7I$D;YAIP&04uWzfC&gBxCkvIBmLgqo6owVUQfo{NM0n!^RMJ2 zb(o2no|F|h=yQj<HOBUqfo_kiz|n2v$UD5XZnxmUZ{>R_>_G}ZTaGh_71!}8@mGyu zN#siE{qMZFWH=63d%MoMdDA7w=3u5FkDLS;+LRJdpdB67>Hpg*qYl#lf33pI{Qt1Z ze|mePu8qocz(D_v{|~GD=rOaJ7@Dzha+sQ#7@4v&vjUh+nG9Ksm|0m(SUHT0m`#jX zIn9jSfwMY1G?Xk~`2QfGvrWSP=4eIRKoJE`6`2Ir0dAeZQC0@9r8YFdw@UScx1za$ zBP%P<E8*f+JJ53IFgG(VFEmg$mz0zfPW`Ffe*U}Fv-Qk-1N4SB<#HA3<#qLb4;{mU zTV-cxXcq(FGx?zfROBG1K?wu~0)+Gp{PBZ@134lqGAV|&rIn@qaGLp8s%lzNQ(MxD znsTXj2}8Wy2m{iP=Lk%L>e&4I=y>UDV}I@IIEG-j^LIwp@?so!x*^B41qC$~HI-CV zl{7L<th|2T-&R7#VIX6niuem=`1!Fy(ZRnxqH&J)$P>@>K;G~}N&wMOk-_b5-}8Mz zUn=<lLBU}lfx$vU!`w}G_vb=_6$hKJBDwZAyeK10YLrPbcS(u->n>K00eqFVSUTuL zl&t`JfQuFj|N0APBbb}m010k!<~%z&xCj_R?(+Wg`4I~q6qJJiOBqkPH=Qlt=D@^6 z%|`$E7M+Q`u+jMu(7!G^6m^C}QJJDUQf}Y1yyWvOC~m&IPbuH-{RtW<+!;Preu~M$ zXui$BKwn!`)1|%r^5EfR{`_ybr`vlw5f;qv8#VI#E!W^1vAyWk2^tC}0G!y%$sdg2 z22w*yK?0PR&NwtQD<XN3RT9I0ZN5^=Q?ywI+IJj$Bsvm*My#9n!BW1-m;BwAQe*s^ zaqO$s;G1@tjtBwb)|aP_)d1Ee1r?-G=?eczT+g19m5_3A!Lf*UCow59ZI$b)p2WsB z^X=5lb*JhBT8u6c7vBo_(!dd&2D}W|0cHp`K*#TY0YgB%zd<QDIEgDD{(Zax2k90} z@={-=DFwh3=JC`RXfQ>YdLaVgiV@3r_z3<fyF|GjF*uA8SD|C8s$)eA%O+pA-${vg zT?H!DHETxvWw5L;t12IeZ)Jb_JX)3Gdf*#|CFU9xl02JC6TBwH)IQh+(<N)6Ygda6 z$eUOXrkTA=AvFMS!&3vt89)>ij}e|V=PlB_1fpu79W_uOpD>OI#KB{oVEfV!!I}J9 zhgCxGSVrI&$PwxVkjZco$k9-p#R?J&zy%1WRa0RKct@y+k5C6&P@qCU{xV=I%SEjv zo<yO*QTq9XDNpSmjF?D9&`V8EIoVLS<|3!dT9k4xe(Y&{W@8R(er|!<a6gUK4h(u} zFJXQx$5g6wy}bP{nbd5zvLIWUdx_CnqiRWP)-NYUPB}ddR<{J;v01x1LJFMDqnF6W z5pH-)UobVcRw=l78aWhCG<DZNEaY||t5TZutQiS5Boah;SR)43FQ;;|HOM?hQvCuG ztoD{@JwaHyreDFS+cI=m?t`8m=ntT4!l+eP^@Mti^#Ha9`BKd%us(Gw!hd1OAklgu zf%D~4pJWT`9@sD-(S&sZt2lzXbKp-`m2_roiZO)f>u<c?v%{?ZDhQ(~iGij|MWKB< zITEJ_<|dUwVEFAI?;-EfgCoVUYVSr6^s$NK$-c(E_NZA8CkfBy{b{A&C(R=R;<T-> zeUQeJr!_p2lqY5MqnL0)vWGyyV{Z68$*(GvALo-l91F-dIUY5qWpY102h~I|bUyTZ z+_Fm*1+938*6Gja9Eg7PwblL5dFgfEmX%``(P+W#>{Enm;m1XW41$EWEPtNA+wOGr z`ErYkZx{NUi-$`X@MWjr3$N*bhkP8kS6h5a@8)gy8kE!fP9N?4i+SWNiL<kFiTE5R z(G3Yl!yLncgEv2T&Z>Wj?DKv#8kq3Wk9j|{@|$;f6Lk3(uv@=u8LuCobt!A7b!Lba z>I}L)(dbZK<7J}8^FHzVc+{@uov*)uO+SLhv8uqFi)-Lie@0pJgU+FBde_0V?^Au) zhhq5FP8>C%@9du+eHZVA>|Z_U{+o$L1mPE81Mj(3>iseLSvhL=1K~+j_M@b%l&qi? zy{KORswT?+Qe5el!YI`6(Z?>#uJ!_9&2GqV4(q2hkVSL(x>$22P9bC$`E4w&pg$lN zHS09nwj`_3%ROQai-TL#QXWh)tm5~D0~G<-)7B}m@2z-k+#3+#${_4u9el1znKofR znI?<9&oOaY9?!!$n%C{whaKNCKv-8tKnKP(gwBBgwwM<@)@w${kpF-FoRCR_a4Z9D zt;9n-g}8+kO>?r~aLxH+nEkOHpI>H!vy<)z&6?b)Xhar6Lt)_86~>(|)`fF<$=Kx< zH`+m#&04|&1=5am>DgT@n<1H!p&@ecAaYt5BN79fV?dP%2*;i%n-BvNkS*@wzP3xd ztXJ(K1V?$$kzx2dA+5*33pwtG%hXj6OzoEWM5O-pw2L*+4ZRE{cr4%4T|z`w3(Keo zE?{0r(euuHv(<DpzclAqtEG>+TK>Am#XnVDbQ!1RI|824{xPQ@+`@G^gVk9uP(=WI zo^O1MdC(t(;35g`zYb&;K2rnjal^Y(5q6rvG-8Vr3{*NkYzr-_6s*3@cX2Y*Ks*(| z!Kx`@{2@d0f=>eZZNW4z0PYCm&x_%m&@3(h#XEv!p}{o1o5JCzsh7|EzN8+yixil; zCHz)>u6HzGiYlw!sb}I5H$R!smDrop(X$+q7vOtSF0Q}4=Y{o3ROZqF*Ry9;1mB<Z zB>J|viCu~PKuB*;?yUEPo~x$nIT`Z3UrG)mz}^(oR|txW&|Fv$JN=YkJM_ECdEI31 z*|(LCP0Idy=Va<#Fc{gb6&3jBk=n{_?<NQEj+sxm(WQ`X2W=`A&keYxTg2N2`Y(U^ zNZ19Y^p6_0zp*~IcDM25umn^~4Q{oVVv2*H>p=FY9$p|8pd=!Y(|?IaBf=Az2v6ih zvYj^373}6lbV(wF<&0?@$zO2SylV!7ehfN#Mhqg^7JlFAik_eC;pyA$h+*u}P-zTO zh6L?Nn&8~>thyOEPRCNo159uRbh@{4r&iX@OvziVnv&YCQr?zUJ}I`CW6GmXO7oH# zgq~Q8RP~1u%-Wdm$rjy@<_n>;I7{D}&UN0s<(4zIQhcT^4(c*^`$v`sPxwF2d<-62 zE01_?>hkmgq&?zM!9Kma`pJWUz?EUqS`7VD$EDS__@i~EN9=#ksm!%ho9ub{fx);W zPq=(v$k;<Npi#^e+ur)eblFyu1mex%$vm3RyDCSI%B4v$pX*R9TKUsS3vsQ!CvR9D z3mJaaTeEh%%aiib!d~7X!Zm-}*&eou_w^79K@A^hHZ|TFwITN^H5K{vK<c)H+@Tus zf|5fO2<y7%Gd;^xOj>zC6$(NTa(Dn%@nRluj1_?x%s>_XG@WgLVoE=gX+1^&J7&c( zu5v;V;FPEpD9T}5m5w^PY+|V;(MdcLkWZ|1aLzvw?vEzZE)hE#jKz6$4=|J&meUtZ zflpR?X~5w#Os@I?zQLbzG^YYx_FKJL;OYF|FV1>6w}=0pUZS1naZ~uJ2hdO&NxtH` zshOq@@BhP0#?n-(=c*QRr#Gt84CZaOEq;kNd6!T#t6j=bm-N^L+sjr$HvLYn8jC2} z+IhcvW}es|(e_e8^RQvjKl76u(agBN)cW!hi-xkS7-#flM{NTh=A97}U~8u`LV{Kc za%ch&H=dN0SDFdmW4_lrnquD*iPl1z=S&{gU<+Ac4;BO}T`J9uP0mGlVde7^N1W@b zu#)s@=?a_(Te5@^r{nH3ZmviL%na&53bo;Y*8u^Rr_I%NYxB2#$C_<`!8%h9=W}R? z+GJT@L$S$RT1l?h-`U&4WP7Q2is)uC_1X5maP=$X^%!E7=aSciA@Wvytpi*m**fH} zGnS;sh@U=IuUdM{pt<rJ!dJ*#Bpf+l<z4Rj?NZ90WM7k+{-lZf?kzdbO2w&BGtlVJ zM9+8E^gIo|5U!?Dr*e<HN7-<o^^yg`HtC+IZ}=kbED=rS@ngz4%%srscYXm6b>r1J zz9BRtc&B86rb2^{x;WOzDvwt`)WTN1ChoI(N&{4sJimXZ)e&+#t!I>&MIu0C)$448 z)bRUqoo&*8%T=Jq0KrMQ?haq#`s?dHP$Q0-&2T<Al8lP}ac#13HVbgQklCEXXbLs* zwFg-fDGKYJq*5c?LioW<<Lf7DAjlJ9)5=sg;ybRFI9Gwam_rpjN_Ipw0{9qNXc5;| zp+>RNfy9nt&GB;;8u61O=oG>UPO22-DzN_ZgUWj`gg*o(YChs_hDK4s&1w!5as3QT zToeutRTHps3ir2u<3%k?X*aDwv=1w&XNfijo6c6YQ;zr0Q;w51B9fN!9$NY)Qv+Ze zm`E+%qk7LJZ@@q>CUY22Y$(H_Lpv3{pfFJPl{3DTU5XyU5!LSpBUZiX4fr1oSeuOw z<v}j#IXz!Fd5LX3DHfc0)eEa@&6qN^xuIOFnL#`Y1j&%Uym0%_mW3HaFWzyrGzsD? zb=&PLu+=3X-22|fpVoa-3eJf*KVow6OZ_xS%L_YbU2!&|WmRt_<HzO!#>}`0CU!c- zu8ub38F2NdUS$6{TckYK{x@VvU2`D40{MI*9?JkOBH!XuJyl@>j?fP?wVbLtg~eTE zB_~v!8m2oAi&CgkKcqXIf5}@TyNV;vNYKt9_AVAtWQVa2czFths6kdQRQwAQf&1j9 z=Nv&#+_cl`2JC1`=Cp}7jTSmZY3g7vkA%`xLR!>3&l*!s68Ig*yYGp+UvEl*w>0gS zr`}HHC4+WU;UWuELM$%}Re3>!^clTc?;ef)<|Ntp+o^YC8mh`X?fEaDwfSAY`f@m< z%EV;o!qxNl9qs?Tt{b=gF`!mI@L8sXu?{P`Xzi0+%+q>Hv5@r7qi%msbPq;674fhP zQQZhS)(O$99JCJgxf$wJbSedQra3Ug3A>I*Mw{U3z}^0Z>(EnvI(KZI8LKaZr4=>Z ze50ply2}b%V|brfOZ82A>O~1Hos6`z7WW>NJ{ilPW#g&?6uBw{eoC(|!9`|A<Z!Bd zZ&9CK@?<G+aZVD*RL93pFMg>}o6?y@c)UGTR0Cbq8*XeV>r_|QLaScknCA*Md5d`l zlLO4b1?pGL{!o!lew;m2u;{0Z%O1M-<>ojM-QDKPo9WAq21->ZNn-H7kE-0TrCttA z?N749q3(p8v48G9dMYci)>Ys1{9;WFG*@*?CC|fWe*YH06l^@U{lvMgPW$USQiy#Y zv&lq&ibbEKgmfF5PxVxybrlv<+LUB%_DA?feSR7J3jX97m`;rwsyB`!oA+v$v+9Cq zaDy7%NuRp67>D3{A^Fi8m=C^79r`cmo5$Loxyy_C^u-RFJ0{;=n;UI+Skt%g@|-U9 zSL<Na>pS@|9v`rxr!=8^>a$7s=GM#I8B1n06O7SL8F_=GgS;lg;z7A`vy+XCTPq(3 z&BLbQHfOvC+WVv(Pi8$W5Nt*(_I$t^(*2W(xt2Stw>E=T;Nz|jpuxrFN>1)ZmiR1k zPuTT7_kEx&grCf*ED0|!NK(Sa@SWDe^v6RVo_W*j<|wAexLGk0p5iN(G+yi#VdkxC z;qwbiD?99xa}ZvoeE*pD*>n9>nz!}!iv^!Vc0f>@+#`sG6SH^jEs-I0gV49|dDK4< z4f+`{?VQA37EOHN6E(}vAPyb^QQToi2|hqZy@5o>_n*XYB-$cD`v$fW8+MECHoAVf zKbNK*-tORbd4RE?*?Zp}VlBSScvcXfQz>;RIrnNiDf90K2zBw~k8T&#PCgY}<Cw*c z5hmGfR9r!b;h1bzhhl%Xs}Sw0B7#Q2Xn%UK>ARfUsb^5<sBV8I>5U`&XXoVi5M8w& zUpd0JM1ES>x=F6%Kj2RemwqiIA(~ZazMm$lubUejyEmal->E-|%?%Ty^@vj-xU1t3 z4Tf|H$WC`me7d_SjR(7wAr^XN4E^Jbecu$`!5VbpqF@g8>ld@CQeR^I>zfgx3T(UV zzYbk{Dxi1w%b}5#gK&w`oU0#S`~n(J9M}k?W|K9)Nsk^$MGZRJ+ws$!>~(KuOQ*+4 zo!&tewO3aQUPMD*#MJxK7Gz>SxclUkO833jrHFn3GtOK;sUrQ}Nx!Z|WK8jZhO()- zhjCH`{#e%{;4_qUQKD4(z4J<dQ%&?!oT!!>H9$XJs+tO?@a?G0OCXpUa2cZrMCTVB ziuXI(p5+@Jo7182wQ(|24kKo4DSocum7%#q=aF^Yia_6-ybF<jDqAln<U++~kd?Uz z{DZ)W$>d?XkRD`P3CDs5nk0lV+^zOM*~T)WNtF<ya-)@*Y`Z{6w#p<Sx216I;p}bn zM-L|j<QVNzXMmA{9BM?8g-^sTtTt`BUFAXCjO<2(&zNO*pOwJpzphEvZM2rEtrjOg zDQ{2EFj;&xPy<%@PP{rc`r~Ltquq4Hmqd)jN{+|~8A*t|2Y%?<uP$Et-Ir?dZ2PKQ zNjNIwXAoLJr?I5&d+Ix(aP9B%^1%b^F308YO+Cam+47h5xvz1<y>lDzICBeadR-`f z{;E#(ne_Lf4Y!Mnc9GNcuJGM@uS0G#e|v}g#d&t&;MW^#{^_HQI!l|LFRS9qL^|C& z=Y{k}l($M>SRV>9c6Tv4;Rn!NUuKuS3WKnbeW-?xk42XoT+}+*hsKQ(7m_AFn{;lG zuG_3{EKT3z&ajTt%Hc?rJ_c&o_Tp#&^KQW~F8$_WRdrLKpxVyw31&V=%hKV;;&}zv zj}549n8z}*&nz+QC6f%mU&Bf%O2LLWRAumD(ZWQgV0bs+Ji*d=e}0o7h2kDv*jh~n zC1GA7qlQ6OVEe>IoL{ZYR=@sy&R1<Y$h)pc_cap$Vf-^SXa6t_M}A1o!XOu&V1xY- zmVA)?CzxQx^gUf4!2)z+qP*7X+FZMLIbher4Gics7z_`B865ws9(ymh-jo`2-B}MB z%9wsPGO|c?8NBl;z<_jgCin`9OQhQcYYi&)Aa!HT*p+(!`QB%6bGArR<HEtAVn*;$ zo{Rq{UZo8=o&f_PoM6K+WKWEjkb0zAzHB+%d^||*rVS@e06sIU>j7()*vmVT0k0&+ z1JY4UUS3|QS^=RT6t$S=w{K?pSg&d<!Qj~ov&>a<L@wOd>Evn+{Qz^gFxD~jR-uC6 z8V&DCmwQf|RBQVJZbyp6$hA=Fe~)*~#`%0@hw}>FBhzNDIO;i<GYO4~N7|Z(n$zN) zaRG&}vh5cCh0uj?=v?c*K$;kW@yCH;YpUohb5|k<b0-yd5}~ypJs^B<&9Tl@Ro={^ zKxh7EK||L$^4GX4cEGrSibQ3MF&SO;xj6Rm+=GyV>BnX~Q2o3H0|Tq8ZA|H21=giZ zeYyJ<Zj9?LH#e}~rzZN@OZfXw`s}KVBUZE`M?k)6kE_pMy=DBeR@>z;08mLB;MaX3 zA_H&sXU>}T+Ge`1wNbq(rmpcyoKa4lg_H-XQFg;&{FXLQb%<i764CKQEHLi{g9Nc5 zzsj|#!4K38aBXMvs24z0WZbx2r5hPa*h~LlEE_ls35B-J2J%4UIC5K95qHpLJ<fZ# z_8<7wHjx|z_-?>M_Dh51!Nc<qh28qG*=KsW^jt&^X7hMLOVJ0s2MGM&56`~V(zaG4 z?NS~St8z(Npvh7!uFkQi2iy$ZKe^E}7O=OCb`yFBd>0FF3!})(DVKVe>FFxgQZg!R z;MR{VCsZksVsV-M3<L1*Z|taXEjAlAH@eaOhr5A8&mRTk#$g0Y{VcA;AA0_fiRyP$ z1sY4rwmUNR3yT^!d;a_*VBin`T%r<y+l^diyw3GAEg54wLjAB5e$5ZSI~tI9%|``W zP{0M|tLp_%$^|}q%5_FDo#fAb3)51700;4#1aempB{4TWOkD~w@e8;caIuLz`RL|r zsrxHO(|S_OZ1uiaFClm1H;Ds1P8Z^U<)kTvH>>O1({W!6IRmU-IfdKQQ#s{3lx7q1 z%#os6yIjlFTK@K5L0tJEZ?)7B5GN?S-s$Fu0K8m;o6urqK83u(wO`XIDhj)8rpQ(w zMnLbrfBseAs10Vs{ph)|JB4wc>{9_Hv3S&Ng_Cw)`}Fb|hwc<-lc?;o+G?WfK9}#K z@ws+AJsW5Ik3G{rkn5g`68pXM5~HoffaK!@ytD1QQ+6xAiX5tSI<eVbJiQ;h=^Jnw z`b{}_I&@p6m%4PYOzHjsnQzj@es@$B>*YUq<l2A8%Oxkr=U!|i9IARu&@;DQCKPN* z=)ly;A+KrMPViVa1H~F-zK;mMEQ^DI$UO`an_B2qId#+I^UaAnYI@zIb$jdF853EG z<f#wGMo;zop1l5&{wPiaT&cP-q{;4v^+yEs-aEAfZZ{G_Dg`bwE7b{d&`xM5zD_h9 zObtt9CDeTlov=SRof7LltXK=a(Wn!bL<kq4T;Yg|E%1`FV(r!%Q6Q?Y`f3Us!_`1n z+6xWC0|}{A3oo!gQ8iA_!6nH{ll`(LY+k<n+egotI#7>-0!R7V)G@GWh&E`F%AC1@ zmh7`knm8J?vor@)tt&Eo_-P&A-Csa6il5)9_mgd&tBX~0x|-VUby^S2Jzlu%(m4p} zkaM4lk2ALN&9I6Ho0TGrJL0v-&H)GvRGhEhMZ)CTQb#0J@DLR5vR7^c#`(IJk9R}_ zQoPVe<}$B(r7rk56~qGD!2fn`JYx1L&09Nf()&I^lhw$&mvIUlTuPJ8ir;jN3YLC= zlAr}iSKM9lTFr#I)kT#@%a@zJ`LX(-;gqyJrEWmwpNLSOeUFnp8d&DTP=boPI`T0I z!k}k!m9Nx6sHPav<_mJr=G2+V6^<#x4C8w#W_)26tXa5^G<Csb<>s1AeLu9VB*=7- zmfZnQ5t8WOd>1RHnhA(jW}OF3N{Lug2Ol;g^t;S4XkfRW6+J1BXEvKWKnXXQ+|$9W znPL4J&V4%9u=Ny(5k~(Lu|B@=^T&-WH25GZa+O}8g@|`IOZd|N{-M8WZ-(H9KFPP6 zKe&YYTW*C6@d+%8t05QKJS;eF#}$x8hSBg;VQ5<ci|rpB{8a?gKcsN}Yd;H))!>>B zeJPX;Y+6xvip}#QIwas9MX@{PDmDWK<h=AGIuyXX(!eC8we!kmcqc_3Yx}-_lkxud z2UmQx#>cLFQ@l~Bu(sQHs4w1=H8O;^cdAB;Q2>}aKF5-<W}_!2b)Kb@%F9tBfp)}9 zxn>nm5oZmu++eNg0p>~gjA%A41&it<zyIf+*Moo{V;UnS@?0&tcd_Phs=J2l7V_1U z=;a+V@djt7dKYC`uZls;K9vVSmwff_W39KRYrFQ3_~&94E_o{~c4<KAqq+&^R9K@Z zznYj_7-hhE_%{XEFRIImT>l<1+maA965}L{aII-=FPb&BQ>U#}1Ux!Z$ec^CNFz9O zQTNBYd;C6GtkB>tQhcmqRubL2?h_3u><K9i&Bk>-H{azFIyH(aaKWK=qm4qt_8#zu z^$qUNS^^_gBPNMAHqNM9Aa{y5oQNg!<gc~&K;9vpqe=1Zj+9n^u@HWhLoEoIo(|T2 z<+O22Ctud>=tD_@9lM%7P&f5ZDIcu@Vg#vd4YEeiH3suhT$B@Tn~M>Vzi|2Bid*EG z;7=P<!e?QT(QdO0E$D<ms;FvK?ERuK{VVT-o7yypDc6)Z2s-w0-i~6uo049ers-$E zZsXEK;mbpTcOid3xuuC|7IMMx{Bw;)1NyF!oX_>2-dI;OdKVfN^$wWTg^C}y_Ks3& zbN;cIuA@Um*dM!~HYKf+_t8)E__@u8T7X#HlSgNc4v@$|Ib5K0lA1=FED=W6cgfv+ zdbN$#!8wvY;Z!;B38%+xe;A1HQ4dknX=q~f`ag^x6GHuPcOaYOA3thd=ovexZgkNm zKH&Z|SpbOX*Iv$Y=H>QTTsOYks}eGnz*#<3D%Ka*$qWe^fjfMk3|%ZpY<PC)HDWqP zrF6AMONE$E=K?OS;U5nU5KNm@Ii}bg67Wo|Ep72OOKYdLNca~J0VaYk5jpdaRE7z> zlZ$M|=iz$e>|>oiCf)5WdlcXs40%p!Zu0C%nz&<An^#7OiOsc~P)meBAU2o}p80{( zNbQ{cqW_R2%I)Mz(*sv#c6ZHAg*qOD>1IE!fPK4V@FRBE_*rsFtdHa3;mE1PE!X=X zE##!*^INaOE={O8-V}JLy#wa3k2jnZTM|splEfV|lpA=aW&<Y`jVoP#^CUZZXZmyJ zwy`riz^R4q|2{7Mb#2yjaZ|*ALVt+k7{f$aIm?vxiBW98&if0OO}NG)HRc+m&#h`N zhqoUaee1g+Rej1cdQ7?_MKUSte)%j~IsUV=otJA+b|wX!^@Iu?i%T$BkC@`#Eqs`- z5<)LsdtIL#pnFcI;SlsjBUEHBS5S5|RPoY~&|vW^?B>)!!hhv>J8e*mo{Kc|d?tE6 z_V{P={m-y}UJ@+jP{?EJgHc-OoR)W}UNEoqyj&a7i(K5u9>|5ovHTZul9c|C(I&}x zgXfb||C-{J4UX7Eh<bwyHZJ*Ieqn}p$a~Ei_~7HP)M)!0%7B~n#k&0Vx>`n}o4haO zcS7@=w&Ac#s@VybE%NIytMOBT%@-@Z1>9e)yGDI<Oj%}U)uvldCFCcKwI&E(*Dp*S zHnNjbiJ}i%OFLe-OigyWvd$y`;-(JbS^34#1#+^A^vw_vTMoy9u-0vgQrxW+dojJb zXnfOtC0W-7s9WTHn6|du(!CS9y|YH`g8x(BH2t(K-mma1SqF`%=z8_&#_K!MC(I`I zS?idOYNc4FZhAY>g<pqWP97L&3?a<XVZVhOgcdcT&pmlOw@fkSW(i;6)ObqQC9)JZ z`~*|8p8Nu){6>ncuP4CnY<n~+X4jz=!1Ry1_3I&V&pJ;9TZMyd?VL^IVTCTk2^BgE z3Nnbf%@eYrOWIcj>R%q;cd;c!6r7N>+5n#PHO-Bj)*HBpsw(<UwChi@kPJw9k^qw- zDl=%Qm;)A6uZ45<bM7{Fl}4U_AnT`OmJ>L_HZTykW7AF7W?i&bv&aLkA;z!5yDx~H zQJIj`X#+j~R=Z^zKxP}b4dLiHmP#0>59I}FSIBSuOMS?z{v~IK*auaHGX+c^IgiC_ z`ILyZ7lv9vvF;g4zP;8-)8pCk7MkX99`3GkZMjA(L|Ulq*kqi#lg+0$a%0E32Bkv5 zL0-Vzx*z-)NxSJ3Hrz6lo>`+y_X_&jl=&)jUTis@R^Fa*uBen2M4<hhn&D6LEi5@D z*XPD8Rf$r$Y6eZZ+%$s%D-JeZa{2vcPp`tp6%yxA6v&xC`cOkzfx`Mkz|`C4k79N8 zxv<fs)vy8IV6<?7e|bE%7ll;WFQkzb?dWqGLM^59s?V#8>F3YKyKC0wgS-msL2X`S z=C+$Ch~1EOezl74kAaG-NlIQ%FVs0GC15|g?ZdrfpRa${Kh2bM5q+V`#obLY*6TRc z=Wgu+aUh2E+`qet`^{Rc;okn8M?w58ZnJK1EIz!v?a5))2rbyCPKCbkGc=?dnfu3+ ziU7*|VU?fW+m`9CCP9pZeZ`h3X<dg<^Cr%xe0YS+(zV&zN3q&-DfF3CpDED|#BpXL zr$py(2en%+p9h>kJvL;fAecN@DHrwxAN}+`A_Fy8yS>Xssd4}=()9uqv0IsYi5Kqy zMhZP$%_1jO*PVW4<bIF7fs$)&ki@Mni3bXeV3*`Nqs^V5%k)XcT3x%@E!{Y@nY31; zm3k>rS-Is{zS(t8=&t&HvN5n&Ql40AVox%}ujVrZmY&Jt%E-k6lo=#KW{DA5hVXdR zM=l;5b`j8V@?3E!tCukP6SVGgsI)n#vu6t}M-D_DZCaV!QBVZR+r97EzKQ%U9;0`F zo+W${3|+p`X_(h9a3}w^=6kflH;Te06&tqzfaBk={ID5;YLMxIHE)%x_6226iv7<u zX>HWZ$$3Ao$7-R`0@tss8UE#6*sR@fth0APjM>nx`85>xwig1nLEZ5xg*$BeYTv_J zHcezzE{xqrz<a~BX>>Y`7w4!wWO~Fek_6q)6id_id&V~NjEI(qUtV6hyLzUxBQ$^P zo6Gxwxt=-SRJADuV1LT(*n_wmci^Oq2Nc+A8$C!&_qyDZ3#>4CoiN4PHRSjpI|OPB zWq9`Gu`d(dC>NMb@+}e*Z_SstC&1{2#}@Hz)UNHQ;5f7m*J2b>pSshy`2J=R{Ryf6 zcBJGqJ9pOnWSOnykuhlKe$R+3*TU#jXw#Oy_RUp_(30kzf;nF`!n47;Y_q2OvJdR| zwWRlW%yqm6v(h2f2|nqiv4_e~#ppI3hBTTMs7w@5iknR9&RCN_-wXO47a?4zc`5sH zOoZ^|Lj4}yKLXCS`=s?BvAA5z@Q_4So`W`++^`{mSbcEo*9b3TbnTij!`>jn!*b$s z->_ZBci!2r)jh{#a*`&VKc%ud)*7v1ZQeB>xUjtK>7-a+-`~lR=30q&<pP$IDIO+z zH)A~|-;w?O4(n&_d|0e^nljpOlqn^oe*8X(v55Gs;s*oc;u+zzZqHFAzk+p$bi+Mj zU9(VC_a0FFKoyx9;Ax5^3$8YWLELm4d}link<(_u`^G~{r+#j-q>kyAMlUDfI}WRW zX7*2VPib98%@kyM<>g|)W@g6b<SC6)VyQmGVzT{;3#*O9)5<lPw~}23Fm=z<7}`X< zlp|6TuZw*6t^S+(`0uOrJpsNp!`4_I!5h>0w%rE={*0VR1x-$wmAuY>R=(3<RjAk> zkWpc#kfSDAyQS8qt?53)-tQFAd6m4W8#y6BV5bP7EmCuwdDR9nE;jWD4V7(%fytR$ z=^37wepZNEDE*d{Wa}qt%f-1K1J8gafSBWcMkw^OZh|w^z(rdeTu$a5V_98Po3fGu z>2}oit8YWqgnVY&It{yTxwjAYXqA@l*LM$=cDRS`$7O`gRB8;B|GvX+s7y)vd)ocp zQR<-L;7O4Y4@nOD8Cf|hGBj&fAO1Ff7p0|2R=occ8mJ^lyW8&K895nY5lfR29ehXr z4W5@1yUEp`4@vG_Ez9wga|=8WUz$XG`lR#<{8;+9m6H3E{o?X<k;bfLp6Jg&)1O-1 zgw)`!!-*6Xr86Fs#d{|g@;<Lt89jfgJq43lnVCqC9H)GrbW1xIbhW_6+=`Jj<Q(rw z&u}TdlTiB}y;{9}yak!qIL`=7T|3$j@T5R>`(%<B`()=QR_s?#Q?77P((fbcA`@8R zPaeTm99B<vzx8{a^DJGseha<4T7Wei9AFP+tcJc0k<E=|Bt3_Q2u|9$ssI;jp5;6O zss}EdZi{&eay3Z5DCq5_)34(JZ#7x|EaBSTSG1bzq#9w<8eUHRRCu-vK@gea*pL*) ziceIQU-2L-9^YC6#EIJv{*V)FEyq;Jm<^@(uGE_c{^+NIz^l=o5h5mLBwdd5rn{NG zhB$fLUX>CoWD@BI*2&L`2&ZW&g_)4{iTASmmH!Z7-Q1*_Pdzkg$+AOlQr&0B5vK1= z%P9x@YK*%|P3XJp$Hktch{~x{`R|TIpkH3DV+o!-_G&VD;x+5c4TWz>e^1s^*=#7y zyBR%VrB-m*3-^?MPfB#LoGn=1E?>k1(f{&N#aRD5*Wfd*krPg*+Ap=#XC5AY!9rA& zrqU+x5Y4x-FOZ`0({=KwO>D>a3B2aYHf)!<?MN6L4In(dz#dZJ?&eFsU}=;dRx6!4 zl#_*lPA5cTp`BjwCeQQg+yt=JllbRQsrghqF(N<GDC`*N0-Q8(<mqQUb6BbPJ<woX zvQ36SVOh%Cj%0?*IP<)SsBZIzk2~ysg+ySm7qxgl>TRa;5YW?y>9q~Wu##|EaXHuQ zXM!!<0Vn@7i$)2$-t2?0y8}+<7u?D_U8nhI8bZg}nIV8NK+dorSiN}DWjvVOuR>H< zWGMayee&WUOWs24pxD(v0?s#oyD(T<?rbB3w{iJ7YMnWb`2~=6ehA?TTZO)rLB`{K zlLtoa$?@+a5{usZTwHaF)EGpq(}=$CS1sxyHZ6I+-`Mz=7QgqYrB=yV#kIE-z6xM_ zHbgffR-h-+soAHZV?T$erA^e_OEK%e{fCWf&=kW7Ra0Eq0uI2;x4HJaiC@#p*m<XN zxzk~H;74Wv>qj=P!gOCC_iyo~*cm|a;|sNvJI$~dZ+>n#>E~FH#J+TTZ9viG<S>2i z`!v07AjSlqp!zTaJll5M?F4%$XKlPCn^##r<f65`PZ-#yIN5A`o6ya#^$tP(LuNO+ z_|s`u^B<c;G&wksSX{KG(agZX0Hb7$qUt6Cl2=`z@sf57iS<0CkCUgpzwL)Wht2v8 z(wAE69`J|2ewRUY`*{^_w{#ECD3886I1-^-v^$I}k^1MU8tL_MvjA-O`W^W09ei+< zY%_YX`ZO0_LQP-Q=&Y^gp0g6pqlT9;enXHyH+LP#)48obIG~`2T(O^-n-9zL-FH)g zcLVtgIMhwHF5ImQDRl6Z{D@BsJzt~1%rSX9;GEQ=QvA^yWW(85_8L>74;X_u7PQ!7 z>lOlRtf-1N(kk!accS2pZsV4ZF8=tSPI6%I?U?$K^~Wd4NO^;`tbCqJt*FgALpr8^ zYbnqDvMi558i6Nkeww{~-uPgWsAf*!MdW*0(&VvWVG6kI%fSLfmDA1-PG3nLBWU2{ z)P<Ofb%#<()>FKB6}5<lVqNW@(5XQ^6{>w-=|AqsEWP*o86D%lf9K&DGW)XTN%Q1~ z>B#2Y`sSt#3#AjQRVGvi#7<2<njZc<7{LfZ;5WU#^+PA%S}Ze}z?|F`UB=CpQRrH* zyN*OafXwR}SHy<9jeKbf@^Ci{GF>DCIXwVb*%>}gb*oNC**u(5M=vsOzWvKg;y_vE z@wn$A(Qg{{`wNHd1gnUQ=2l_3lKDIHSko-#6$v{{)356vh!pgf+BWK~LCCtjS~~je zIa~PX<WyL~Iz{qY5@Ta6)+)|ctoC_)-gFyvY{(O@qOzO<@gTEff%w0O#m~;KyT77) zy9OUXg6*KNT7lJkB{#xi(f(l_GK{IQGvUg>Iq<=nZEgM`&5}U)I?*xO(~#>dE40ca z4}SdS{V>~pF%1JkRTTqo)A3}*E`})`^UO#*EeZ`?en3-c5v~_iv;!7%9$E-BlbQn` zYSa5CcIrO|-ixV`6B%uChuHMNU+ycWp2#MCpTO#JSnA)2?n<Kf4fR@tbMTBHn-VQ( zYSSfZ6#wR0v?p9xx;j*Qp+2W1p8;y!d%ZFv&qkdltJ}}3oEy!W1hRyPgZ(;L^V_cZ zm!B8SKRj0}AM&~gHUfVs_Ws1vUEOVFm@WsIj}O{I-w5vY+djEI+v!)0BX?@j#z0s{ zC?x>qINuWv?!1#SE|x2*rKqxtJoyB-ayUXS%;%(KMSy1Z^SrrkqtF976CZx`8$C@w zS+sTL1n~3SLEK$2L9aVKa<FTceN8Te(Z}+0+WI0wu;n|`Nw=WbhtQG@*+UjrNzDiH zm;ZV1_31V-m3rNLO_(h%qzv-4f;!y(_HFd!k)k^wZ}Fh30HK_m-3O;EE~tq4oF(Ef zj9jyf+kUabI+dFu>0qZ$1aSqkaTr^joE95Y?ebj*2B;RCDih-bSG>nHG^1u=nV`Jc z+p((Ts$Oei*O)-4Y_14PqWyyT6}X5XAIKEH=_U$IF@dP%yVQSrdwn5^+N7FOs+6#* zXFL<V(=%ND*nd*$LQ0H%D&5bpQ3mzs{4;uLUd7`E>px&%^j0kOO!M6O%y(*2m;-KE zhASH)W>N!u_l87<ws<8DnuXHVggL|FnTKtQ(a;w~45jV0tv@~E9X+9%XmD1|g9v!u zDYd1ssYG4tJRflyd0&eHGVZ{#=bEfLS+wp23(mFjFKJ2Q6@tj+VGt<qC6d=sqO&cG zt}9E9h~6SCa`a_mue{rIfkb;GfnKwYle1q@J^x;wh;w0<XrA3YyJI_4n&mCP%z}Jo zy9!pD78QjCopu?t0lu<txn|aUl{vRnTT?7llsNj&$LX@w4<|d#RC3%Ep3|EZ`&=}O z5T4G>CmILSvgWBGA%nsdvUhQpEO#_-?O(P_$r9zzpX|4sN>q?ehuZhpBF!qBwoc%) z+--h?q`C{a48!(K`bHhVsg&<TYoDua0<q63tP@XBA<*5Px(8rS0vstgADn-#mh+Vz z8l0TP5|hN^Zv*G+W_>@n?b9Wx5Kg=MY-h(imu2nn6D?A*n-L_|=j2Dlk3J{Y5-uWn z!K+TSpR%fJ!c{X*f7`NDBA1Q&BEKmbk;cROt?G5JEUlOw9eNrPTYDo2rNgnSim%0L zNxiv*?4!5PCPYI<$VYykV!DPru=rXx|GI4!{!%u<>O!{;slQ#}ORc;tau4=_fK^ik zb>RGX0tR_7t0@QaRnFCpW13u4ZzRQ(^(%56u*6gI#ZB7l9orxAw~w&5YsVc^-aEJ> zmmCS8G(vD0AIKytLxt6<vzV;PQ?8DN0y0zy==D8BCX~Pv3$W)yzyC#j1G_>cD&k*t z?jE0od5ySU@<H7s<`MsC`Sh6ra7d&=yiB+{LQA2(71jrUUl**JNF8rHinVdqW<bI; z7OAj1QvbD)pdv8Ve^7Jqzaj|mEBpd7h2_Tb6v=6N%Or3lpV~YGtARc>gc8O;**L@| zA8iXenC^DZGHXBPgV#j5tDn-L-kfDxsQ2_{ORJL!0`IK8FLjpb`|5R7bywk!soh#6 zHKH?Q6Q}&TnwyuHKcVrZRtDY)Z4gZ7fNI0?m4M=d!YoNfgPsr5<VwFHb0gmVGXf`H z>IF*9W+Z=obaKa1nl>>WCkzh+D=gL|^!9Q*<-~85JBoy)h7zJzi}nlYkZ;BYOK6~( zhVF(`18}cqd6VN&6{Q$-b&vIfZVU8BY#UF?5wI0Y;?)Cj5ymkQZes$7ZymK#Smc(e z+vPQ?;L~|fKTG3VojUK*ccPmRP`8YC31sL|xWk8_?ez#C*2P^ow=CyGhNBUTix7r! z6{;z^Euf~c1c>gRjenTfe!SXVP^+^(lVZ28SM7&yUg-Jw@7L1fysv&57piPc&uKb= z5m#1?r(P>oeD`F#?n}93(Jz4i6eEixw*Oc>qva~sP6lf_vDI@u-|}JF4MUxE558l3 z2Onp#QNzThuHQt{zN+l!7y4h9IFdsUFZpe&w#Q39`ud5ks}`KPdrlFNHxgXejJHVJ zC6klq@S*ad)nU8Hw^qM^#CkEjv);bep?Mc8UP-6kebTUzxBThswtEES>#7^#-w9zA z{OJ%YwVer5wVfdx+AEOo^ec0;`!IAi$cSv}2p!}r=6`@|S1P>63jrtdcgPl}nC7?T zqThJtUi|t|Omr#h(Qd*U&!Yq#u@B`Uy2*qMZ9?YrV7NZ+3pdz78{K2gc?W3^U#vGo z>K;hr8XCcBHTXs&6w7}RhUT~B^H~skl!!g$%+KFIxH-grbh26Jb0Rt<_Ri*mliTwD zofhYR131s`OWE<Q1T4dc-T{0<#DAlZDil*)$VWQ!aefASwj)C$@TnI73t7xP901^A z+*0BoEld_iYE``s+-^+cEmBYOuMh30v{&+iaZzG`TR4sQI17M^6+m<M>nWes)|@N< zgCzm^YB$RA9N1+ks!+?r2rdoN+eQ{mCZ@e3aD2kl?(9N%-KNW*kiR?BR&N`>r<SVa zFFb0ur9a>d!)R)ygf7*aV$^UsgPZYLE?;UJj*iD>f*Ex4HE3canuP)NTYpt0n`?Td z^2%FM5;>p~zZ1kkT=za04V=eC)j>3Kq&*an*A>Lkl}6)SD;0u_BY?>0M?R<0N9ClE zfE2qOki-Ft`C?Td$G%v11m}Zi2-o=$MWP;pi;L<br+<#cp%#l|R^r|A1x(;zg4GwM z;PDom${21!Lf{Yt=^ezUn+W8>*-*YWqNt`M36R(|!BpTe7us3fC4Q6-wIO!!yGV%g zwuR1j@HvqUQrA8cYl3$g(Ss!Lg~64+ziXIXt2Z|9sb!mK7pgp<;I^Dsn(XT{SED2O z_mdxIvd+G?tZA-nR)w5gy{%o2`LVt)ch1R__W3a*)GD#>+G{x>#oL)(8}?UReq7fR zyL<sZYW>zk{A~N6ihz@o<W&(iiuk%q!|1wc#sL`D3L5+X@h_}B=;^-@_dQ^{_&9?P z!vOYNs9-g}5huv~AI$*4ST#^_KK?z$VGl6hQ5g(k#3*nY8$&xrhAY8?W-Q?f=;fBz z@#W433y#*(afbOH-ZO8D_vopu@q3B96dufZs53ICWtmQ_>sh4s4&U?6;g?I2aj{ss zOFY5mCfiO=VX)6R;8|xY;_`s&-OE|d)9uvUByUqrC}Itu`8;+Py;C$<aOP}Y4o3S= z6RV_21FI#uuCOR+yoaJS;MvR~g*rZSvM*ou3G~&fzAZrWQs?UM3sK;IQLBFZE&^Wy zK99+G?-M18|9kMI;)D7BgZA&ShX59TB>=puqekGKjllM3P{I5^1)BfI<^O9sdsFZ| zN)f4=>i#dLAnd<O1O$e6KtB|1*nKB-h_mZ+O>wd)fwHzb=FFJhr_sh^fdBw)?rS{g zwtRkAJ^kKwGl`m`ZBVsX53Wm&(X6Lo{-2_9hM5{Z_m>pD4zLl2lGoo`5+b)8ZDJ6F zK0wCF!_mclDS22C|Fz32)FbAlnU;nYBdL<>)US(-KGKfC4FRh~_32$ih0^o2H}pu- zrlsd<Z<r|`NksBiZ;3QFZW69TSVTXryK?e$!FB&(jkR{uYbr|Q_!*wUR~7GzYWc#t z-HKd5V*pwlp+JpZ5b{d5x>+}%S@tN!4hoErXCjHsaM4P^Z|TV8U3PReMKRS0{;f6- zLm{S2B(lVX0MuRRe5}X3NNvj^zqwkwN(~AP<||U5?+b)1v@+QVrb$uJ?my*l<dRqv zc-`sAB!4xHggQfAZO~0>(t2F!IG|TueBsgylh-!QKP5D;+8l%In2kqd{sLrNE50u} zuTwwo{sMg8AQp|2$~)yoa-&KtLK=PnX+KBRe*qyw@#UAf{J^ljb7!F4&`AGnq^1l< zLsWt$W4Tmburg!wpsZDTvV3aYQsd>@O+?;LrtDw2*Bas4)LW*F`?U%x7qLx&0uV4D zPM;VP|CDR$TS?yU8=RK<3<i|f&^JW1Cc4AO+ll7Ww@rescioQFrU@i1oVN~vG)3%| zaIO`!;tm+dD;~-iasG`R5i_sb5}jK}T}P+=>s9&2#gzy6I3}(_tw1pCKZngHow)J0 z2Yl}eC-dDf-}~-q7~j??Vo909)M&k-V?*y6DphDpHb>e@nt7e<2rbM*=zhzrU6Kmp zj=+ZupZt&DQlE77yDEOj_ONHCR&%JPuCvS#42ypu6GunAXe$o4j}NrXdx&1l?Gkv1 z35^R}P71zL;v2qZ6`wqc`=hj!XugKF4ySJhaAd~RKg&i?5F@c}sK^`2$tnWE0Q0hB zekovlqyYS^?X9gP*`lsIJ+X53rRs=rgn@Uf`RZ~Wezo0gIFpYgC-{iq>=8IJXxNw^ zUEpGm@eIrRLa4rla57hZk2JW)rHS679q}nQR5(dt4~Lkartlw`Pb?6h1t)cgQV|~2 z*L(N|%ZmBeM2+?qY}|40D*><$A!r++Lp0e*h#%RE_fYJguv8-u72)crPst~Y!6_hD z{%L$r*}s5weg+oe@Fav~eR)Q$UDZ<rA_sOX%Gab3zn4xBA<4Knwp`x)xXI~$oEoME z{C$!%f1b5Dh`bTYddV?yv`u!`MfSM0d~_am9ab3=IModkBTsG!9`)f^w?;(rqANu% z7w*;!#uHQN)9KnuMkX5jK*P!|oK|;T#noHMQsPO(`}FB@7jUwhHUkKh=H=y0Co?S1 zR|;yD+|Mud+E0?=!7*$ZJrfdWnJ4T13g-zGH+3R+)*wX^NVTiCkpMv{APO)d4eOBh z78O=0-p%GwTTdWp-V!g&>O1os_|7O;tWadytuPWaH(k@qQt|40U^t{Dwcun75j<ai zk+Ybe+O~siefls}A5<PonE9R)QSt`c<?>RLRHRpPI-|D_(sX9zw)@omUqFB3+Pvc1 zuC)qYw}s-)k9zn@ipsaoT(zXLL7n}9;ffpj#a4muR-DVsi#cldA2<sxU0=_#dQo}& z=hD$+|Ni`R@9WWVkZVb;*U@sJ&b|Z_1t~kV$}Bzo`9n-LEmFIpXY5t~8AT;;(b%_t z1=F$OimAXwtBe7yoT~-Vk6#7ZU-)Q9<Kw(kLC80fPk*z!e<~*?&aVH{!6!R+M%9#U z58Iozfxk^T#GP)Qg;jTD1@Yt5|9ErQzw}R`e*;%p`g=5!&DS4(j`Oe8{Yzfpd-XjI z!`@q8#4c?MQkV#4w>yR_lH)M5maC1pdSUOV{=iR+5x0)&nE5s8iRBA&c$Keangb6z z&B|^W+)-mr{1_#A8E{fe;MU87gZyqqyvBQS`rLHYwqLtO4t}WTc7i)R;_hnvbgIs! z@uA1d4fAU(d*0hlRBf@bsM(1M!@S{uTZdY)%tNmGo!zDa^GX@zVFN%AT(M`jE;hiC z<PaQ2J<%3i^g!9k6qi^T>*nB616^|Y54B6^*q<Ft&xr`{5DWtQysHc%w=Fqp?8i`o za!98=Y8p*dcw+*=x1o5qU}-G%yarQXiRx|dDUc)P#Z6LDJ~i3Z;zX3BT&ZuP>y;Y0 zTU<&&E^DE6&E!MI!X8_SxrH=(c6#F7VkB|Q8Kg5mUS{xvrX1!FA1};j(kfK<?0wqX z@$8u+tiK!3flFBCS43dUsR4mr0(?7_2O;>5&D8;53DAfXPUIc2dY56e$F#~siaDrK zH;`IVi_9Q+!QEcgrG==zo2{8<JK=SUKe(<c-3)0r)Yr&<{krYpuyJrHtX1LBDc0*( z=@x1`B{!=FARo`-tosCt{L6P9V?R2kxrAN|z<ijW3}x6V83;ZO7J@PEq&jUFnDm#D zecj3<9(|1P;@3gMQy9OEO(rT--xA4}xioRZW<!03eU=MY(}?jdzah)W0Fy^hGQ|i% z^NIXq7*1&mE8(Ns;_a##?f{g4$LwFgyXjCdUR)^txS|kr*K1xae@Q`wGh##P60n4m zs+XDxceUdux)15?3Ql%kf1ulBwJ86(`5of-&(~fxb#(m#F722N{I#_r<7zXYJrFyn zrIH=7vT@cX>(-OadzjXPJ5LWzPV8pi#&v$lxM`bQ*G4w2IhJGpbKMgty_$c<uuSda zs<z1SOlEj0Hro3>YFO{eiD1u`Gt>7}@7xEQ<klQKcO6_2IsH#<d!ylV->%wHfS!_p z(L<|;o)^3#5j&krmWVhIrL(mkAm_$7sKh0-CT9no3Bj0WToGxR4)=fA^I6-^{fRXN zq!<5}?;WS`_;!9gdSz8)R>$w=c?<A!A%Kr)<FC=);A_AIR&_yQ)kA<HGvkFllE0dn z^JB<)(z~S~P`Y=Q?W%rS&*RD<>xy%5J3rl$+Up34&K9OCqBw%bP|O+a!I~VQo?7}t zww$JVpg0fJGn8ZF=zu&fo#TDJHuU?%t+0~6@WIDV<!w46@s8;UMoXJctGmqVqKS~! zD<ttNq=9}MX%mCsW<W>s-!JCysjf<i%wa2NQ9XvgdqIfuHCF`34+?+<ly42eIsB-? z*GkO)zIpKBC3{grT#&2BiO#RQz>)s)r;y?Gf&nTom}x_n0FYt;JDBDLvSU@}^eMsl zM#$gJ@#6{w&kyDRG>m^)iY$`P1;xkkQ|McJ31J`@TEt>iFQ~Js^9dbKx%?Pq1Q$x< z!U88->_b03n9$<$8ti{JrC3RsGHz=VZt3eCK*^B}6%!4P<WJ(2RsXO+*`(tRy^|z< zB)kdEg*f?)1}1si^?or6l1;H(YsYMOFH<0u9JeUpw{MW?$?Mn`EM-rYu`J)K2})x} zS@IyVU2V`rzS0HI0@YYTfjKM>!qL3LO0md!Fh;Zw#*SKI!HDa)1t&*1lu2|q=F=V> zjpb2n;kvJcR2RrHZ?%L0LIOX=8PVi;%sz%GmSKt!Ce<MMfL&<EVvZWzj@bj}XDpz- zY=u99_7p?m)5$^YTgvMXTDDLIJwcapMVJ0$UOB3zGV`WX#=^iV`KzFsqett{zbh5M zf8FS|MlY@WbEeFP&el9&`hQsZ_IM`$_y4gmq>-pC%xZHkIixmc$~lJ+66Jgf8ReMs zp=icPiJ3#r<WLUN$yCgloO8&sF>=Z|LchH~-`}6RAKShAz8|mqdR^D^dOn|5vv#XJ z?k5>J9`_@UBwbV|_TWgc(-p7m%s^;AM{S8lWm;7Fwk>}X7ZOnOD;SQgVgtch%tY+u z;(l_C_eFQj-^C?<@PB~ZbMm|p11P4?K=81_nc<nyeShy4eKGZSwJLRHsj5jyv+Gai zV#ii>chB85zON_jqwoY*a{Y0s>#`f+8?v&Q7YG9jzo=K=?6HL57DWJkkq3)<)h+81 zAI~zN3C$pvf}Qe9PAO-4T*aoUxfVi-Ml~5Hg5Q^>&vXoLUwTf3m0m91vAS&%**WH& z&=4N207XE$zk~C?Om2^OYp3F4m+tM~aP-(0rpW7X6{ZCV(Ug|aHzikb>5-n7Grdj< z$pDQx+6@toxm5~%D!?VXBUs~`91EKvxizgPkJGuGr8k(+u5_->wcENS%Wf_W)YmLd z{JT?$7qP6W?3Z+O&yD0DsWx`uWUf+|!L&H7#KFOD2CU7FwSsT*Ubl!bPBxdeckyI> zwD>PK!m^ezEBPW9wH=RUOAewh8EO>)o5U;)GnNbq#%*Uf##wJX8}|Q-Kk4z3f&WDS zL5pwy;ST?mkWXvRaDXfb$^LgfeYv!Hiri(C;e=E*V9$v$ovoeuoSv6_-GXd;{}OR% zT~{@_&vTw7*=EVUS(j?hxvnp`EN0~JY1jcUWzNAm*?-v{s|q7?>&i)Eb=whwY(^Y% zGJgN%eS@=Eyyr3m>HlA@Zm;uyxgaZvRKflChW&3h=Ok#03_U5LUShp!|J||qssAO8 z?4O;VzYsK6<&y61Wt9k+()@0|?&Rx1=Sys0>YUQI`q7u3aAJxb*?+49L}tD;5Oj4+ z_P?vGLq>?%h4?(kcYH<6c8v?xlD__wWWte%K9|;h&iMs=c#zpBrFe4mX*w^bmk#bh ziF?Y37KgL~eydr66)xhI3~YYjW-~DVr6Wb`Ou<v|`cVW=YVf6HVE2%*WuUGqpt-1+ z{e`bQKaah|?DI5$AX)I`tJeVN{IeT+UePxU`yI^&%va01GjII*%C<j9KBjB=!fL4C zAK+G*UHK|+K7FHNFyw_^D&|v4%apax(X;Br3}w$=$4>fj(ZGgPVX(+GtwV!~!9Ppa zO;7z;>@N|FvXgt<)mNA{Ch`w(;=wk3`HC3siOlIgnXa#6O1c94l@xJD&zjQ$-ZmAI z^ZwY@zCE68{}@5|OA7$oJB3@0QGXuIr>~?LI4NLm4C5{$g4Lx1!Lq6<vdQ<K0I|o5 z(R;!F0M*p)!&RHo7PGLZ1IaiqN#nqVtF<RRyh-u7AAp2T+I*gTKyHdqd(>yj)7**M z<>uV*5E?w5@nE+Q?^q|9aG;~6<tMfrJN2dBC32am@nx{FpgHm9oNeSoEe)p*Niuly zqkkkPX=3olhD5sFrp{buP&@+unxyhOqEe4~BOG>?za5oyvlc0m7Iun4F9|)AO$;>r zE^I$M)?iy;=!?{HlVOtywJ_6Bp#B5gY2NzuKJj<_@iSLIuq$k>Oq2^L<e>b;W<PJ0 zn-2HcCO=+9y+9%$RGkl5s%&IDkoNYu_!#f8GS$as&xlOe4lTR4v9ozluFikVAbI0l zUZ!3ETL*}Q9jEWvm<cAGcfOVpMv8YmxkOmH<1HsAAe33e-MmTUH`rdo{pDHwpjzhG zCfXz2aqcomz)+0_8Sh;DQ6X^8zj;U{C1vvp5)e07{_9LaNrr$)l&U@~ASUZ%Mkf_O ziXI6+erIBS=aJdpe4WBfgaAfTa;$dEW-!EWZUU(&ZSnm9hn6~b#~PK%iWbxe-r;qL zr&oHii_3OACJ!jp_uF>myTx;K&l!~low>rR8VsvmS`NzFT)hA1bIVWryI-XSRV&49 zziH_G)VeVo1h9V6=Ky)DcmGeutw-N#R!_&8hDAt?qW%GrO!|9I4ISh402eIYYP!<v z^7A%llOui|0iw}-nS0Jf$qQ3|Obz8AOiyAHB8^l3e!+a<(fX_L-iD^T%YP$k4@%^x z13UZfnO%)>{_v8ZkaeiCAtNk&U)A_+x-#uESP~q2@9OoKS0t^yzgY|>dC~6btb|d= zpkTf4E1}`QIu?wR^}hn!_djsTp7Wb23;2mPm-Z~8T+ZkPC)b^n>p5Zih@-FTYMu3S zVyL>5BvP==iCoC)8nE<l|JC6)u!$TJ|G7YLv4Yco2v}hz#m*?KWbJ*gk+1N5bF+M~ zSnla#m$eP8NdtJiSvgW<n77ze#O23R{FndY<5!lC1}laYfy7ua&_{y;{To+(w+d;O z3c$EC*-BK|)Z%MU9#A}q<#uswppI}j)0g!(Lg|L`=W3ysHe)E@o)zZ?D>^OdtN+I8 zI2Fk9dAm#haMkzwekF=x_Q#@9&+^a_1b>VhYQDhBy1O$E?(TWE#Pn~JxqWI(RV@OF z_KWokwmEw%SVc8mnwfo<fF1A1KPo9PF={<pnKIcTm~C8wv}Fh6e#%SH%g~`S(!?TL zy7HQ%K4{+1s?rSI63bL(QO4cpj(#7sVGK0CYN`;Dbk)t9rY)%BR*65%Um--c0Zdk> z|J2#SXE+hokHlF|>ezACLyUSh8P4aTwXFEUC46(mBA@!3!Qzelyj`L+5Ui=K`?*aq zA@a9ori9F9?)2uLo55zQo5oo|=O{(W2%T`tuc)DSl9_2Yew2FJMm;GlI;-E?d1Q6j zA_<W4p6A|KQC)kNn889xbuarMS=_$Ga6FG6tDQ$Knlx*Z@PxYHy%db!J(E^v?I^Q2 z%bhcqhsae|e&+)hEu;hwcyw)DJxia@=Vgj=NCa(_Ft*QSkg2Ok;!u;T<rQ{?WWQx> zwsxHqy7*$7mR-tlbSU!D%aYYg@!5b#6A7>8qF!}C<gY81N_w8P0{34<=w~bGMzap^ zxSPNVDTW_zkgY;rU9#nHF}YNNvt(lx0nsAT!>v}^p*1c;KTH%gFFR^+<I=g?wHB!@ zK7%d>ANP)gcz4ZjS1%>epNa;P#R@RhD&bKlr{r(%eR%dz9BMzuE%rHx28?SDQI{29 z8nqbYgb>`XSC&7ivp}OXxDW!0rYeV0<mF%+4e4(yonl^I!h=%X9_wha*KX5)R!1~! z&rjF=xOG#Xp=3Yt$7w$F!?fXd{*%H9=m3SZ?ldcQt`7CLL+K;G8*+Mm8|EH1TL3!1 z{^&hZ1sub13kk;jv_ICQ$zN?u0DpJcy(y<ZYpQAV>I(iL=F<w}mHMj`n>`+%pfL3h zHx#TO)mK+R>55=PIuDJVi;3E%LjLMKCm0|9kXHZ6(=*=N7R?|GApn4hu()5x&+^-Q zPmFw4HM-bXV=3(h#I#2!Y6FLdTpET&XI8w=>f$<XjSFyzuyfPW^}*mgZ0>`5@0Xq? z(S~X~ZW*vO`ilULDT#0*i9nnHH%2Jv_64V(ilS<_%N)`T&v$)|<?@itNDnYXmOA=N z$uK1vgL$7H`TQ_{hEvR!5o9ok3?jQ0RSmKodg;cwQ`x`Vv<$&422r0e+i(U2z;I+r z0w$iCkxiV1b>B5T;hgsV?yj{GJ&s~Gpki?(*`mjvecmi*+;HI+rWk06_eHv-Yh(Hu zDlDEzPh0-P{h$}29lT|0xyf39Muk38ef7i;4BNmm@_Ux{MrP8?re8<LlqyjKNP&V! z-wpkgwVs@xxzoLQANv8&JN{cyVH}9h%z5o)XPtS}I6D7xj`ymes=FRtHi3G_5X!_^ zgq^kTa8SB#fODSa>jEVt8iI%dW@;ji_*bwUOJ5hU{gDQ1#Mj_Va|0wOopTf_b_Ecv zAE{EQdEC?N9%$x!mq@!XoTU&6_&~}HsWkaH4ZngO^6h%V)iGf}S-_}05VPmA^OC66 za7lP?)lz>~e5en3PT5VX*oLi+qNNXA_)c>jTvUl^I<4TK$dB5jyW{kN0ZM180leIQ z;{c5HJJFXS6arIJhOj)`3P6^%4NFSh)$HImDz*aCnbbLTtY3{kj(JwU>-(<{aP@_O zV5P#D&_IsXjoF*erfR#IJ=8!q4lH<MEeq*shL@I}<~V4WZG}3W15al<&O`~vvdU)> zfzq@7;OelCaM@#ra<Zd?KC?kVXRjG)`4G|!`ZY_H-5!`oo%6U}@BFfLBL<^xrpX)< zvc8@}RGPS@2pd{%L!_nO3<iS&tVj+at!gp2b=@GQ*0*H7KhM64u!C3iVN1Fq1%dHH zr_g7!`4l<a7rr_Ye`8}>84nLQY`jVugEjzwjC8<+783z%58t=;?v<4r`Rp1KON}Ek z!D%ubN?g=6Sfc<J6tO<+aUk0}_i1jbDPVKzy@Bl(uTgC$wG^Id{nO$m++4E9g2K;* zB&3B<Yc*e^?z*~tuB_@{la%z_1!5N4Rc_WNU%KDSTm@7OI`U%&a9dkN%h9huGwxbY zkMmY;1_(!2j{@e#Yc%e&{Pmxv+~Uy_I76s~zjiBZcYF3FNbkXBcP{03aS{v+B;=Kt zG0kr4-OaX1QHbR?%*eYs1KQs%4v+4<sP(rDZll&^1E^cTw5x88Hmp3%iHU&F-ugaS zGdHDZeWpRU50*~Q@R;}vqqdH&>d$N#b?&|ha(~V1>$@`Vt-99du5#*VNe(dBW*WE~ zYWv;|-MzJpZ++)x($ynhMMVLkc%!x}bJyeaD|$T|9jXYTtpFspm4cx{+dL>|q@JW0 zBia?Y&}#f<f1(nus&$p6G}E!W!2w^8qJVyIY15olsa&k<kioaf6};XxnS5LT0Od%^ zjfn8tcWB$DW<#4YM9#Z{Q2_9D_}7e~(ef#;jE*|sxoXI*oCJ*eM{Iww*B2~Sv_44w z+7G??&0OKNj1FEt1lza(X3aY9MsDKMjfI_i{{Yt?Bj919@kmLHnPHnNuYQ@qHde35 zaCGvLks@phD$L}C*Y<{8Ziz~SSd~<xAH<Q?_l2w;w~ZZU`fFj_{;*O+Wv^b0ixk?Q z35CA`N{V_-T^qLc8lmLQh7gQIF3%%e>cC=Im4*?X3(GG~{A4??uLbC299^ou^i<FS zNYbX^;>L%{lNMNTMQ*Yb|Nnfc1SMvre*7q5HMDrNgCsmzEh-lC;Qty3XIOf}|6v)d zqKVas!CL5)^=_6UmyBo`=gJF{@}M9-%fZqOr!B;xiSg%ZKs%?5pT(1of)h?n8(~3W znQGU8j?wCE+Q_YnxlIE8SvtI}ycoL2z1y#BwYgn%Jln1)4y&MRLw?`XXff0U5Dm~5 zyYppTIU$06L1RXi(;Y=)X&^j+8@=XL4;n<$+nc9oCnhnPY1QnTZM(ZL{*@<?aTM<8 z>Q>dF#BlYPQvca0Q%+O#HZXNCv(4q3pK{Kz``a01`?ainuxcp}>h+Cz@6^^r(LaDZ zc*));>{g_!^Y{|}<(jqgkoo1=xat5iJNEXTAD1rv1HcDVBMii5qwGpACMm1tkz>^H zhKH=ZD#`cfwYg_uG3nSp5ganmNPAB7KY)jzw<>?cTdSA5#sOX2?Sd=dC0rD7*jEI1 ztH|-YBxoZ*g>+9}W@e*b5Z4tI&l?_8-fReq5f^(vNAZSxl$WdhZR_h~EOkP@Y;nGJ z13M76C2@m3xNX;+y>bcO>W9ZoCHLg!sehTkb%~;*$q|>y#(BMtP89H<&G3!p%>$@& zs<`P7?)K0QWgGsKnqR`F!;#GDh0J%6f-L!l>s^)hcD=QnhoDHkTo&x`W=cStYBrkf zcx?FO(Z>AKC)yQu%Np*fuKrqG<yW_9!%r)|!{6PLJPdfB8TDGncWk~tfD5XzwN;yL z_FkAsk1josBA>Fct@}&yRtSH+h}^EUo;V_k&A%{z<^m;*MDNl$%c7j7n`FJGe#`4a z)n%>>%2B&U2OV*IFVKawhnGng2kB2eZwW$*V<d-&9s@V)*CVsOTS`H<c{Q`Dh3YF4 ztS#@$;IIiAAH%F9+J<E6-r*IE2s16BUc6g^>yY%7-l<!fD{Kermen=IEz`}oe*ntx zKY-mP(mUu)xeq%=a;dXK`8^!yLS)vs5QoU{>ZZnki0_uaH1~%?>%>@aX`T?Hed20L zk-vc?Q2pI#V`~17U$+l(>Hw+2FS`SYglKhu8j($xvgJ8%G84)-9An8XxJefKY9oIC zr)t?I^IouFJ?=@XsFu31*qoibm-)n8$#6~41ot_^XedyUWkT|BtLSrk&)dRf>xgC) zaXp$1m8U(lSsmbT(@**Co6kH`yr@|1dVMHI4lia4g~!IUx&3<g)iBUE!d*qDLnsMR z2bAqt>JWKI!`d%-XB51=aL^d4t<wXc9TU(NWs|JAqqV>xLD>rTwdy@Vyw>f>*DcG> z21KN@b#zj04Cfh*#kpv`5i+-B7v#s1u*3-24kxlLDyhaj^n|~)f;0@}>N2pkG=?k= z`Um(;&}&>0eE;*Sj^2f|wj^O4#>u!bbiZi1z2{`}h_&oLK;6~T#APiCBC|sh6~^#a zRDl!S83Hd)WW8DKTnKD8Xhq`I`($Ijd8ptR*Lv8*ndd`TMnv3dG2_IHfiRo9kXOzr zAogpPa<sBnarJ3m!`b=Nf1AkShTWkht9I_&Rt~)>U)eHn%>4a-fS3{`Oa2|qg7>-7 zQ6g7<TG#-POQW9UnX$~H!*Qt-IGBA};#oEuGdcJeWE?ObJ-%oVv8Yw-UpwnnG&p2( z8XCQ6+Iwl>xB|XNBKhidEfWb(mQ@+=U&{m~7SzaBR5G98znu?0W5iaN75hB>c}#-1 zocBd#O=clsIdDd-C+5$fAH`75TY{Y8a9XWtTK!3%%GQd-4SyEjvV?tb{^k1xjiMVZ zrOhiDhP7h4R?pXi_xyimiCn&!_(N*}e79PoL4y{?iZq(Ja;~ZZ$udZpnsvu;0%3pn zelT?Mg*GWZBW{n++s1+NVCkKN>@Ecj^8X59gCA<b1ML&*-_)d4edDT$-Yh)tYTG#X zjGa>pGZ`DYNC7~IzvLVJms%02S%lR5YWF4A(SuGgm-=*W%9dJQS8<n=`%};0rnA@I z)qCgYls7g3LLC8|hLQvVJ`0E`m5lR2ZAOlTmf43!1J3xyn5z8L0ynX`q7&|wXC|qq zvy655K^zubH*n=@B!I|KX82zN-zkU29gI2OqE5C@^3Ku8feX{O9xP0iQ3T$iC5K}T z`aj;g>U-Z$Q2V~1)&uS{)f!psZ{|jwQmf)?+p%(iO9R2Btrb<PK|W}}iFt+ArD3?& zCY8KrV*PX1tyT*>wWB#$={>W-{ch=~{2eZ+>iyw0T>+}%@$}sHwYQ<L&dx<@abWPo za(q2#jhBleLVJKw`v=&saJYtQIB$SFQ=Fu#Wyppi0XnLuMRnX>1`8N=L)5`EdD-3< z=De?VO`4&NhOnh{zS`Fgs$Z{g`c^Llr_=oe+3;~VNKu|$|AcJjDAQX4w?*I^NTxr` zy&8TM^kVbvg|ErZBD@0ZbqL;QHYTa0A;Z$+g^yBQL^0W!Q@b4^A2ufR@Ys)O<*ywC zlTFUOBx`hsn!i#9>Y;kMX<@A$)8%KcpY*xdkwHt@(}-;VdnlU0Bw>Fvxsik>MXEYU z02#dqu0Hk3z6WvYarv3WNgZdc$UIXSL`E7|B)D{X%E4i}Q9@_@Jm*yodzxb`1RKkV zISOrWsF$D?=srj}wem(pfE)0Tm2~O`?7zA{TmwkzhVf}}iAnv^E<5`nd8XS;DQG|_ zj)=h^)5150n!@S?EAl*pR%y|C+$dhY*S=?xQe;nmP`cbJCv^)urz8OT%t$w&5r6Y7 z*|9XlrlBdJRK<UQ=tbM-Kkkh3bo7++#S!79%IbH~Rh~KZJS}SWIKqc?&GiXc)nqBA zlS}u7fxbD%?zB==G`G4b*UFkjn@HV3kqeTj0A&fFOY75m-a4T%GIVuy?aJUWeluye zM3b+$1RvM^G74=6iV7P;j*Qn;&>S!E_70&@v<Hi(r;}?MkRt0%fRlUcH{<IXBM)w& z;90O`{m5qv4BL?*?<=50lz<W|jTJMp&ut5!+h1?_6wIc`IpSM{M^m7S)a}aA4cjRN zZK$>7CO9w=Nn|1m)IX|P3l&e9C#h}CeDDF0;={11?Ip>xs%4_!j8iK9!6z3W5VNf! z8fUk0--&a=w|lypQE4jCVf(ba_WYx1zANd@LDxmw0;~kk=!18o_b1M!3`#j4R}?L7 zVi#5u!Q!KgB8UN#zY=u@wNDBt7P*S)Epu%hB#0lA#Fls}8gfl_@AjQOP9$ux0v-#w z(X-+{Xtq6>Qp69yh%h(H#dg<ES$ET7fwB4pP?24FjrtM^o0C%89!4YbD{UcDk3ORH z7CemS`^-CQmDocpIKi`6Q$y>kt$I|8P-bnv*_W*<sMAB-X|D`0fSs@DdMvn6CMd;1 zNZwE(0K=vQ-GxaWY!!|Q_3FK2yJ`Tly(}+`SI3%~Sl{+IezN`%J5Rb|ggSNzG-7<) zyocnI!-=7*9V+doYdkYK2{U!za|DBdzgaM6bp=voNmB?jx%14LH$Sm&Foc=L7v*F< z`BkQ@SJ1l$8vRC|#d;A!f|vtiFv0f#vuyhSZAQ#5v!>#Uc_&MG)vcO4=)X9;O9myV zCUP~8&i%di;<z7J+@D9l6aWVC6-bmct^-cgr#H?r(tsZDF9S9g?w3W79?<;>vGM>R zpKXu_q2H(`Fvxdx4zHfW{|wlujYPPBvm*y}>V~_+y|A*K0VS}m6-W7-k8iAMd>9pc zp;gl1@)N(2@OCVpSpySGx$)F|Qy9b_UfY4JqnB_PqV8C`HV`(r5d4^ZxaQ%5Ts>J) z&X<+F_dQfXb&XHXHT$ffsnf_Y&6L}zUr%2^&j`9<Sgl*yE{4fU3V9em!c)~M&w>Il zfbbJ|8BcM-Tc!vz69tULsIRkBE#9xhq=&Vu?W>tDU7W_c&vSlT!M~~rv^x`2q0Dh# z;+&|#=jRl}Zl_4(&F;>SSn=r-0yNjRv0NgtN<*a^g~Hwbif>dps-TbJ<NA?mQ5kkJ zIQvrnmItRSptwwR{U#Ah*9T7zeUhN+SL9(Damty#Rg`Z}ex^8~1Pl<HR5Ti_7ToLZ z9bmKpRQ~#!BKv`ZCve>3cdyrqP=ZV4K?_h9`wuW-5wLU?qQ`9?8~HJne$DQ%CxG2O zFg>6uaM-2v`hNIM@rt?avc8>NajCbw{Y2%Z1zWx>exb*8utVKDK!l*`vn^y=luQGv ztxM8dKB9jxxBkBH2B%Vt1?-t4VsYgr);86Pib%eXS+aPmv|ZMr`B_QJ)<~L#i5)v; z1dVGguzg6;XwSqiACUWtIZj@n9NTmSa7zlE7<T-}f~h^m{{a$os)U6NFeqMl(L=F2 zEt%-pFJ%Z^SgeeX!tuFRe$y(c6xNrthCVZViPf6#4Eh&ueUgYaF0FWGDh^5mNX9Lw z*q}xYB7H6!Qjltv9~187s`oXC<2E7+XO&}Y;}Oq;MW2{!QfxHKLi$$SJ$>19880$8 zQfX+hBxQRq!Wzcj(E|bZ;z;-qx_KHz%$TY6vJZy^7>0%;LLC@Ek{o>o@GtoX3O0zr zH-S>98XfNiM5B|r!a(gmfJ7YJ-y!P=EtXbN-RWcCOG}OZuuEw(8(Ni{3T9cF0}x`A zGikC{eiMhrZO-&d?zR}YR7RZuFZ~0IUE2Ex2*~?DR|ne<2d7hcrMgr4v;nmBnPgKh zo-c_bh%M25E5e&KVGSQVBxHYBpx@`o`xno}f+g{<vJ*ewPLhlF{N{5#(Vm9?k}+0x zu&DCHOUY6&$2+(o8#UF5OG6`$VheJg!`=4u4EprVwKU6xp1mvwEqz`eo-HKZ7YDvs zb*QBH>FLSvHOcNBdG%YTdO<;sfy*+t8tPLTC%o3nkvtpaEUHZs<>0NUlELFLrHYb8 zq*$<jw<95DNIi<jt!T9AwCudWa~d!)G9YjuW)T<pkWlf%;f~SUp4LVjZ!|k@Jz7;{ zgfp#On^&HTszJsaN*k5D<63+zSM?!}#f`z9b*Q^&CAtxw{oFU8i|_ey48!TiEpD;Q zz)rMn81fM%W?aBDaOt2@+YW#mtmYil$Do+da?4eY`SlBnvs@Qw_7AN(VOtXA)isY6 zkheQoB{&QIYPqwmyZW8VgJuE=sof2FgL2bHq>qNo7Vno<%Zk67o4FoUz6_>q&dYZ& zezOV6y{gpDyuFk_SL-m<RP@gL@RLhZ!O>qa1a@>2E2p>!A25&QmPC=pOJOtq@OMAz zTQ>e)L;-B$4%$q!kH~Khnr?3%&Y6RUXP*_RcVf^?mUY5SKS}(ln>YJRxxi?~w#ICI z#v9<ZKQGKT8sE1w(iD;Q_%J*rXg=deKzJy3XH;MG>K8oiA$WapqP8>u&oA#3lYV-W zTH_aPdA&$_4>R5UKy7Dd&GxSz=Vl0D_WsPmsB5}Dk2d{N=xoWGbwYh-oQc6xeqq;m zKV(5GXYKMoz@r3-3HCHLNi~u@_@{9=0I$ZxEa9<hHn7I%UpCaf$io~QJg2o&6q}~` z`EAXCjWXq9YUf=!28VTkV)SpVc9qlxzOeZ@pHmY7Y^#B(QKd%l-DFV;Uk+yF&xkb7 z96d_qJM>%z|Kn*KdmA2r*aq>NF>lsXUwy|O&0(Hj)^2KeUN4Ne;oZ3HcPkH{6G|VZ z58=IG47g)!P`_wkwDgqQ-1`)9YoE)Xxh+04i*jPq6o`kK7r58*iLzf)c#GKQil(5f z;R`2-q|nZlHKIu98z(D2B!CpU+j*23gbtSV`Lc|-JR&)a6TwamV{F~VOE<pT87eko zkg;4;#8CwKKvt*QqHVATck{)(6%egPbKL0*72SxCl?J8o?H4+P@G|&Y5>SwiNyx2c zI<XnH)46C-1a|S7)rP;iFqL%vr2|1)HC92St^)=n@~ep0=$HN~S8Wrix=Qxo35y5) z%-RQVqju4vvb`6Kl~Cz=G)|~&IyBk<wg9eyHw4{g9xk4ga#m~$1px_tXc$Xwz~>z~ z;1L)&D;u(kyK(7}lsJP`$D&2(&1=Ih$piHtn?CURK2<4i6*nr^__{u$+4o`Xyw8{P zUq_B!uFl18`?vs15aeLK@j>{T3Z8y{kT$VU9)qDp%ky0&GBF}I%S(`NJ-G4u>TK#! zeYzKG@?ny-@a=X!{=PRX`AEt$qJW_+4qzH4auUyZPv2^E__mW_fDMnqHXt3l5zB?( z^OJdnLb@BLywI2As(Vgpw<Q5OX+acvP3fh@YLLRIR%gJT4ap3O@@Rn_RA!%HW%PFC z2~C#;88I1zSVNc}r(#HF$Lm1sg_O$c18+}Zc&&I{H`wtJ3PcZ}+7S7S)1e+WtW}NW zM)TftF`IcoS?i7A#a`6liFsZ}IS8krNDK+EziDS}Gvj3lryq)N%2Y7ewP2E{zj$(S zPxQcawydPp$Mi{`-w7c^UynYkK)mK1{i~$ovUe}Mj*UNO$fo*SDPugH8@kGg-4a}l z9x1A5Z0c0=_Scf)QzMe(!vYCM;T=ups)|*e&rtG`P^x9WpH_d3Acd6kF_dvKrah|v zqh-d823v{q%OJ-@5PyL70^eP`_6U;<^QNra^=PYj1Stzhd`LkvUz@1_ON#ngjzkWj zIgwh5+$a*K3XM)GeA5t4KSl*9cJ$=ex%meKw$E}#gzSp2e1VUj+q$xHQQ=n4I2!Fk z+ZW+EGr!U@FNWA}1pksr$z&M&jHZw~Wq%sLM8TGS&ZM~8ypum%lLDSaikfMU0Y&@n zN#4i~cx5nkC!p8&3_zv+Ro<}G&gNciJEP14Ho>>0oG$0fu(|Dj#rFak;|Q)na#l@b zN^>(0ZPoB9Bo-Tn#|LwxD6&51am|8vX;!pjhvr(r(WQz7jN-+^Et%#{#sxnyM$DmC z$xTsza9}!ijZ#L^J&|;*Oix_9ACziT8G2rC(Ci1tUSJycVjqT1dWKmLDe8|nVJ2rr z=x7BoVXT8?%&qDG<J>p;XAEw=jn<}s2)MXDh*Y|#tu#LHEJ_HmPV_);vp~_THLGq# z6@_QWXg!Fw$QEjgjx5Dgx!s7<UGNBQ&DI0(SH@*Thf>x^`om+_{L=DWnm__v&U$)^ zX!X!V`><ZokFC#gDSR(*gt!>0{nnaA(!q3jthTUrD;kVTgJ>@qDW4I-H%M%r4500T z!Gu49hO*~%-^jm0B>-afBJQaS9^QDAF0$t+=MTQ$%?jYXibp@i<9PZ{#-wpWku9SA zz^zi57gr6MM2FOv5C%?aV#<*btF<_@QQS;2n6)|HZg4h9ay(jPw<=e0J)sYlo3&BO zVj8S&0gj>)rJHtr_^V9+0b~VQb5Ja+Va%`NPAg$T&QqpO<#S7fU*5W9E5cOc#gA`y zRy0kd=K2M*SFxQn-=Nm2?~D26s*YaYl}brcB>#O6(E_ix2e53KmSx?ZD$-mDt?G&4 za7{IH7Gy;jcH>&_GF<)g_akO)K_PFw;)+Vr^M~j36%Z&e4JXDNE$f%tgH8(Vb-LhU zp}Xo45fNb)#;D_U)i&;m&3Y6`k)3T3%X#NIKh@2&?|!DoT%uJ2$4VE?KYkJXqWGc@ zaA6o8jy-s9eNP{S2dU=5YPr->16XKD#^7`7G?n&l9Fs#&dsn07j+euep+s!->DoPQ zAevfp=ZlcYi#d6tbOl@-kwn~GzNaiFl+)>{Al+dBncDaGgq<3SKXPqR*+K-ajA{1c z6$~3W=JI;axmi+L5f9X#sC(_a7@TB3huUBR(A9{s`kIeFnjf1#UZ<aFA8q`oC;Y@X zPdb+^=3dGVCsjRvG*uE=Qy^Lf3%B?XP6h-?b-aQ=V}{6T%(ANY)?V7y<CjYjxO6^@ zkh{OF0H?D^A`lENW5(gaoL`=>NKSMf7n2T5_vdEp08@V#&I+A?Opn{MbMffJvTE^# z2pLyTns^L=vx_$qI2@(<l{r{uS{1E^`^I1%>k9}c$wz(~u?}@88Ry02^FHX~LpCaz z=qBYn4Hq<n=|#o^_~3uk_eX-8(^N0pA_3#(Tu9O1nqOX<Z=OMKo~vy9R$u8@u2DHf z`XiR2=1|6US6mFhL}W~fgbxgXJjEwE5j?GRV;67&7zU|+@mxw#$}8viysXB6?lgZ> zEdC&M?xtfp?3izSqD%LQFKojxlR|EVNsaXZv0q(zUAOuI3|P}gWG*<RlHWG?UrtOV z9-mQ+AreKlsgWPw53d9W`r5qMy+_=8>ESG|LPyg!w<-eLt*2j(Uml8uaG_}de0PdQ zg7W^{iqrwvi-fu04@g@B!tX#Ew`I?7h~nq^ySO_60RIqm?xn@siof{vrXJtd0U(YV zsJBg??8gklG5w!ZM!Lgi(8sBBT3n#ttOCAgM7rKWMRFwH%3bCl>J50iu(^D-yQA>> zSwKvEfJXCnVP!6E-g#K9-t*wul>T`Dig%}D_7wr&uN=9EtQ29PkD6v-ZuP{3`|lL> z0W^B;C9(tnHQl5sy+Rnzp6HqnMuw`5Ug)FuYnJD$qVg`PW03onuD*k(DO#qGZxoHJ zUPWu3zc)HN7@4g?_N>1biF)V0Au*0|RH%pi=^rd~_pcQFprzn`{~5bhdq}&1i2GAR ztFlC|-*FuNnEpB{dtTs~uh*Wuxt1({>s{Si$7&?GY{@CLKBcC5_pLrl)IImR6iPK6 zSBq>2QY{<3D5tFWHIOXC@s<=<9d-A$$K;Q_>exA*&k%zoK@kWO0N@Lp5xUTyBR+BL z;X`{dIg|^TSAcIAmyvqZAbstaA(o?WB>7a5)$=KCaRnj~lD`Yvzwzi>Zpr!UZqB!2 ziH>1x?Ruefby?J<Sew0UWNtBwEbku{Ss4GqQ7qh@9!GTC-PtPcc5L=G%sIT9CC>+_ z4v10=+zYh4mT0Jm>!LjRLP(4Fg+A)&PDpBE4%fmdyy0+f16XY6aXe<~t2Bc2ScCK| z8>l6FTVf>L@;UVc@kq`2Ri?F9us(84<YylnJpV|vj<od^A5w4uLc?HqAzH0FD~sm+ z0pf0M<~1WP!`8>}%*9E;beK!`Gl2w@I}(eEReyqEZk3&2Ic1HE7_^5-<eq#id`7}= z50uzXKd69Z>!>vYi4Ug0cW<;=*l>0yh5DlER#L?7v2$A#iQsr482V^Vz?s`G9yF;j z>KFh+)JBBiY}v%hy@k_$Q6V2v%T@-f6^)r4k%Pz{92+2JIBwu!sT1V3Ly<t|$uurd zy8h3ZgKR?f4?)SEr;->h+vmtK)TqbW^t8@fm-#7(_HIWnl2^(C7awp{K)*m^I?zDw zu3<svk1CWoHl0f&j>Mr{VkP4u2W7m;h)Ff)@Mtsy2Vq+=w7d<OPS5XL!Lm|n@PdzQ z)N@ZcdL1-eGbbM;bAi1i!Eow<w@J@trj9-CA&L~fwP?FDZ_w$HWdGnS8MrtVDa0al zGKju350Ua^jXdUH&bVj2+~tE0Y0xybUtmYpq>CnYW6TxKv+TrEPzzIty3*Q$4DtKZ zd)2g*jLdfMBj7}Flcz~>PZ>|8k9A)tgANMcp3OgV_M{=%_ZP%W?dTEK^79e4TM8<Y zrcE7o*{=G2(PjlL?tE+`7TJLaOZ_FI9R!TFmH+{S!MuD8@|TQ3_qV(JL!ng3k6z<T zP0t&<1r%lCqIn&Uu5DKd^81?4C22lj;DD2A$t2i7mlKyMh3`1w&rLmRr+c|23FT8W zEKJzT&A9-Z0E9^nE!zEky!+OEErERH&aal9(cY=q9}|W|1s-lyJyY2VxrLXvgf2GR zeS4+joST5mDa@X2+T{!u-gqc`&9p@4G}x<^s@(^P%=}8NsO)TZWLHj8DrXQqz`~{w zQ*d?E8UIoGU&Sw)6ZG6x3mT0T_R4=L>X)OoX*apmAqfwy(xKzz6l)XwcP7sj1@Q21 zF#U%2ep!9uj6bitt4swqD8S6@%fZ%9`aAyb&a?Ji8?kH)b?H|xvn=8UHn8}ukks3! zlRQVe6)RXk6Iu>HL5sv<;B>)NW0lf%-S^(XaI1xZR;~$dN@h1NfiNzh$y3RP6Qbut zKI)lQzCi?FaU$#n%zYl3Pw~_K-Y>Q0MQI-d!g&v|#^;lvLac2kT_trWbu_aru)xH6 zl`}g^VNlQgW)Mn|!H8C9Ws-6Ys^3HjX#27kC2&yiimd@Rjd=<E`9Mu`*&bJ756}cD zmc?#xA!8~%jOMarBX|G8R2Kbk+)Bn_*a@#EugV*i?jKQZ@0A<TUidC2N$7hl`%4O} zRkGBNYkP6@O~YkN4~Y>(WkR37A&uekOGc9~(^t7=so+Sb#t(1NT`yX7mGh1g{=@b! zOu6z6ge95x6myDjP(Gu`RDeS`wOI(;n>bH^3veQDG*6y*!wy~K*YT=ZZPTI(5OsR4 z?drpzT4sR^iw3bq(ljcl@V50Fy@H?z^6POUTLuen-jYLd7Ig>M#K8?@IQ`XI+Utvk zoo~A!oLUeZ?O_CaM)Hsm=#d<sg}hRq_JKZpM9l!8@YsjWt3a3pMJNnqGk5TR;~z-0 zyg!}6ckwJg9RXk^LZ2F}4L@`?N>PB#eF}ZyVOE7GYtP*}Yc+g)s^#Kju}wDjDMfJ4 z7ZkQt^swJ=#M@@d<wLu31vP-UVFuk6LQI{!7kxGDiVKLaHvFKB-gs{Ov}8ytMN~1I zd9ZGsWZre#j|Nr`SyoyaeEV#0+;zi2L8~g9sb1GfZyBsS|9<R3dh=pNhQ;}c8JX0q zEf|gEoB3KRrYW}vq9};hW?l+xjPE?rzFzk&oTSLLYPMAx`q;U8Sp&d<WwBEqF3l{O zrwR2WPlf;hX5bbfVUq^FE`>N8k$C8RO?G9bex(&A30s`3_I^D8gjrP4T%!SqaF@6P za{09<M({9K96Q?z;f9%DM#)OYWnKY@A-r_30&z7f+Ttbc@JDH0SOc;=n)e~dud^@w zX6VX%LJ$)flcwGAi%T?YI0e#;-c_*nAqG)>@J9_6Y~|z{`~A3R{k>je;YS6xbm%yE z>7)>^<=%}If+k#1e|tXh*`;4sA28Lif6k<#o`#VfiWmp^BD8JlSaQ0aTX)2$J-doy zl%<LJCr1oWa_);OyDEJq`At+9{d_^pFMZfzzefEXim61x@=#AeA7q8%$ZEAoHioiP zpQ?}A^_<Na6{L9PKx9jTiK3wR?fF&K<im)=kDoGcki`2hyvMY&0RT#b?bg|H<CkoT zJ*4|nFr*j9+gA8go=;SY!jmsF4I6Q`J}v0lOzNGi5~LIk{SZWq2Qc!q3|L0MUW)l{ zecC8jASv>h?Q!9NvR}ahELr(`LTm^X7^}HIUS6{-5p-YHMFy8C31VG*;MAe4%C}-K z>i1biL?pDF!Ym1cY`<r91M^lhT0ukxTqQ_UiB$MPIWZ9X@@CA#1*KROoX7fBiQLeX zzabiSz{=W|c3)r6`RuAmmT+bAMCaxcqa#`_=2tNjJ;hw~5dm5h`!s_N)=0ZWJKYiq zeO`wBsq47o6#xosIpSURhgyA&m1;ZtQyYe@6i{vvJ0FZ5HwO47mlO0xMTJ|Z>`@sI zi3W-WM5qkgxk!&($myCmb%PWbZ5GuZW4ajQJTY=swFIs6KE_ABFBBBEIXPPT*U8Z0 z^y4%>DfV(nFcKg2bvS6_ReLCa41lwj1IhhhV%Qnm^X?zd8FW>!Lo*%PLQwpwuH{T* zjq=keuVaDt#oOLrQi#u1dYcG1F$Qkb2fzc+70>TI1Xd-orm3A#lMNQ(*P@6TyuN+U zvnMHFUZ*nNQSc<$h2`B3T^pNd%qRRzLK;3A*SP<ws9I?u%%zq(^wF%|&^Ab55F6$0 z{NCk#W!vW!bv>?509^#Pec;tr+zoTCt8G`j0uCGlU{g(rVqcWqp+yeYh401i2lfLl z!hVHPBO|yfgS#e2VKsOz-V^-kTqq$62>6EW=BGHLdAH@uCEttw8q2P<FVi%*X%N1^ zb}q3L{gV7R$m;Cn4xVZ-x>Hhw4hmes-_t=Q3%PFyHcN6OX{WQnI*@Ac_=jb#^$GVa zW;u^ZO6Xdq8H%1}&3DSGOwfDmTwG`@+Uh)Y<t*EDo{p(Jc4cYNMvn5ApX(OC{Mnmi z6tC-{Dv-ME+EbZ#QNx|B14h^Eel1?r)8i0hwT+BhqHfRUsebGf81<5SseQfz%KlMX zi%*A|->&jo#rnlWTH)>1G*j-Rx<tVGFGDCDv!7j7m3oEE0OOn=jo$4SqZ^l*UYI*C zhuulQXvMta4fx*2wnp+-y{YoL;PlPHlt<f{ql&?TU>UB?{!g6#T$Gj3^wI4inF@>R zdCycF<Hlo%tX?Vl;2y_C(9S)dzQHv4iaJKRK0w4@Pm^E0`Gr~bv=B+q^A=E+6N3>| zT3j4_GoM+lD!eP^sq0~RKDk0WDTyL%0AgzgNQ$M>bq1IGP<w`x(LK%IagOX}QFqIB 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/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 z%0A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�ft)1dE!wC2S}-kgV1iO$HiV_)FFwIOS+ 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%0D~)c*{6w5ZOF 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 ayOs*-rS5`a89F3%NNBJai6EWWn*aZAq#~mL diff --git a/班级通2.0.zip b/班级通2.0.zip deleted file mode 100644 index 1393e27364de415ab473ccd7e6ae26f8f01dcbaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365020 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 b{W406K?A$ez$OInyBheu9-=L<F9Y^}pY^HK diff --git a/班级通3.0.zip b/班级通3.0.zip deleted file mode 100644 index 8f06671d639f4be8d45537aef7e32829856f43a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074814 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�V 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�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%0A(tv-AL9fYtt`+3RJ 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 &$O0#k9V<>G8_C<Oz* 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�CS_tWquI=DN8`L)+bLN|d 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 jqQiFgD||RQ%u~qpUDJnn@-BGgtiqzG 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�_+KeH!r|_s)K%v76;s&+{^1 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 diff --git a/班级通小程序.zip b/班级通小程序.zip deleted file mode 100644 index 38355d9c4228e7030348a164bb83112a2bed3cb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367848 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 &z-f>Uv=<q~XfC<Oz* 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%0DgmWu@W@Cfy<^D2+SUgQ-Y!eMz83%oU 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 SKS6&+Ks%F5FVMXK!2bgVuT?Gp From c1452783df4258a75d63db3f3d3c2acc5a82ae10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A3=95?= <1798488403@qq.com> Date: Thu, 24 Nov 2022 23:42:10 +0800 Subject: [PATCH 24/24] wyd --- src | 1 - src/minigram/.cloudbase/container/debug.json | 1 + src/minigram/miniprogram/app.json | 47 + src/minigram/miniprogram/app.ts | 20 + src/minigram/miniprogram/app.wxss | 6 + src/minigram/miniprogram/pages/bd/bd.json | 3 + src/minigram/miniprogram/pages/bd/bd.ts | 135 + src/minigram/miniprogram/pages/bd/bd.wxml | 15 + src/minigram/miniprogram/pages/bd/bd.wxss | 30 + .../miniprogram/pages/index/index.json | 3 + src/minigram/miniprogram/pages/index/index.ts | 155 + .../miniprogram/pages/index/index.wxml | 36 + .../miniprogram/pages/index/index.wxss | 47 + src/minigram/miniprogram/pages/menu/menu.json | 2 + src/minigram/miniprogram/pages/menu/menu.ts | 135 + src/minigram/miniprogram/pages/menu/menu.wxml | 36 + src/minigram/miniprogram/pages/menu/menu.wxss | 78 + src/minigram/miniprogram/pages/my/my.json | 2 + src/minigram/miniprogram/pages/my/my.ts | 98 + src/minigram/miniprogram/pages/my/my.wxml | 25 + src/minigram/miniprogram/pages/my/my.wxss | 58 + .../miniprogram/pages/submit/submit.json | 3 + .../miniprogram/pages/submit/submit.ts | 140 + .../miniprogram/pages/submit/submit.wxml | 32 + .../miniprogram/pages/submit/submit.wxss | 67 + .../pages/uploadfile/uploadfile.json | 3 + .../pages/uploadfile/uploadfile.ts | 131 + .../pages/uploadfile/uploadfile.wxml | 40 + .../pages/uploadfile/uploadfile.wxss | 69 + src/minigram/miniprogram/sitemap.json | 7 + .../miniprogram/static/index/index.png | Bin 0 -> 4235 bytes .../miniprogram/static/index/index_active.png | Bin 0 -> 4488 bytes .../miniprogram/static/index/spwr01.jpg | Bin 0 -> 77669 bytes src/minigram/miniprogram/static/menu/menu.png | Bin 0 -> 6343 bytes .../miniprogram/static/menu/menu_active.png | Bin 0 -> 6575 bytes src/minigram/miniprogram/static/my/my.png | Bin 0 -> 6566 bytes .../miniprogram/static/my/my_active.png | Bin 0 -> 7067 bytes .../miniprogram/static/sumbit/OIP-C.jpg | Bin 0 -> 12014 bytes src/minigram/miniprogram/utils/util.ts | 19 + src/minigram/package.json | 15 + src/minigram/project.config.json | 48 + src/minigram/project.private.config.json | 9 + src/minigram/tsconfig.json | 30 + src/minigram/typings/index.d.ts | 8 + src/minigram/typings/types/index.d.ts | 1 + src/minigram/typings/types/wx/index.d.ts | 134 + src/minigram/typings/types/wx/lib.wx.api.d.ts | 28855 ++++++++++++++++ src/minigram/typings/types/wx/lib.wx.app.d.ts | 270 + .../typings/types/wx/lib.wx.behavior.d.ts | 68 + .../typings/types/wx/lib.wx.cloud.d.ts | 979 + .../typings/types/wx/lib.wx.component.d.ts | 676 + .../typings/types/wx/lib.wx.event.d.ts | 1435 + .../typings/types/wx/lib.wx.page.d.ts | 263 + 53 files changed, 34234 insertions(+), 1 deletion(-) delete mode 160000 src create mode 100644 src/minigram/.cloudbase/container/debug.json create mode 100644 src/minigram/miniprogram/app.json create mode 100644 src/minigram/miniprogram/app.ts create mode 100644 src/minigram/miniprogram/app.wxss create mode 100644 src/minigram/miniprogram/pages/bd/bd.json create mode 100644 src/minigram/miniprogram/pages/bd/bd.ts create mode 100644 src/minigram/miniprogram/pages/bd/bd.wxml create mode 100644 src/minigram/miniprogram/pages/bd/bd.wxss create mode 100644 src/minigram/miniprogram/pages/index/index.json create mode 100644 src/minigram/miniprogram/pages/index/index.ts create mode 100644 src/minigram/miniprogram/pages/index/index.wxml create mode 100644 src/minigram/miniprogram/pages/index/index.wxss create mode 100644 src/minigram/miniprogram/pages/menu/menu.json create mode 100644 src/minigram/miniprogram/pages/menu/menu.ts create mode 100644 src/minigram/miniprogram/pages/menu/menu.wxml create mode 100644 src/minigram/miniprogram/pages/menu/menu.wxss create mode 100644 src/minigram/miniprogram/pages/my/my.json create mode 100644 src/minigram/miniprogram/pages/my/my.ts create mode 100644 src/minigram/miniprogram/pages/my/my.wxml create mode 100644 src/minigram/miniprogram/pages/my/my.wxss create mode 100644 src/minigram/miniprogram/pages/submit/submit.json create mode 100644 src/minigram/miniprogram/pages/submit/submit.ts create mode 100644 src/minigram/miniprogram/pages/submit/submit.wxml create mode 100644 src/minigram/miniprogram/pages/submit/submit.wxss create mode 100644 src/minigram/miniprogram/pages/uploadfile/uploadfile.json create mode 100644 src/minigram/miniprogram/pages/uploadfile/uploadfile.ts create mode 100644 src/minigram/miniprogram/pages/uploadfile/uploadfile.wxml create mode 100644 src/minigram/miniprogram/pages/uploadfile/uploadfile.wxss create mode 100644 src/minigram/miniprogram/sitemap.json create mode 100644 src/minigram/miniprogram/static/index/index.png create mode 100644 src/minigram/miniprogram/static/index/index_active.png create mode 100644 src/minigram/miniprogram/static/index/spwr01.jpg create mode 100644 src/minigram/miniprogram/static/menu/menu.png create mode 100644 src/minigram/miniprogram/static/menu/menu_active.png create mode 100644 src/minigram/miniprogram/static/my/my.png create mode 100644 src/minigram/miniprogram/static/my/my_active.png create mode 100644 src/minigram/miniprogram/static/sumbit/OIP-C.jpg create mode 100644 src/minigram/miniprogram/utils/util.ts create mode 100644 src/minigram/package.json create mode 100644 src/minigram/project.config.json create mode 100644 src/minigram/project.private.config.json create mode 100644 src/minigram/tsconfig.json create mode 100644 src/minigram/typings/index.d.ts create mode 100644 src/minigram/typings/types/index.d.ts create mode 100644 src/minigram/typings/types/wx/index.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.api.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.app.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.behavior.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.cloud.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.component.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.event.d.ts create mode 100644 src/minigram/typings/types/wx/lib.wx.page.d.ts diff --git a/src b/src deleted file mode 160000 index 4a8c129..0000000 --- a/src +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a8c12962ec0f4df1f5efeed37d06cf0035fdd65 diff --git a/src/minigram/.cloudbase/container/debug.json b/src/minigram/.cloudbase/container/debug.json new file mode 100644 index 0000000..0d44458 --- /dev/null +++ b/src/minigram/.cloudbase/container/debug.json @@ -0,0 +1 @@ +{"containers":[],"config":{}} \ No newline at end of file diff --git a/src/minigram/miniprogram/app.json b/src/minigram/miniprogram/app.json new file mode 100644 index 0000000..66f727f --- /dev/null +++ b/src/minigram/miniprogram/app.json @@ -0,0 +1,47 @@ +{ + "pages": [ + "pages/index/index", + "pages/menu/menu", + "pages/my/my", + "pages/bd/bd", + "pages/uploadfile/uploadfile", + "pages/list/list", + "pages/operation/operation", + "pages/list1/list1", + "pages/operation1/operation1", + "pages/mmm/mmm", + "pages/submit/submit", + "pages/dragon/dragon" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "班级通", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "selectedColor": "#33a3dc", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "/static/index/index.png", + "selectedIconPath": "/static/index/index_active.png" + }, + { + "pagePath": "pages/menu/menu", + "text": "菜单", + "iconPath": "/static/menu/menu.png", + "selectedIconPath": "/static/menu/menu_active.png" + }, + { + "pagePath": "pages/my/my", + "text": "我的", + "iconPath": "/static/my/my.png", + "selectedIconPath": "/static/my/my_active.png" + } + ] + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} \ No newline at end of file diff --git a/src/minigram/miniprogram/app.ts b/src/minigram/miniprogram/app.ts new file mode 100644 index 0000000..714fd19 --- /dev/null +++ b/src/minigram/miniprogram/app.ts @@ -0,0 +1,20 @@ +// app.ts +App<IAppOption>({ + globalData: { + + }, + onLaunch() { + // 展示本地存储能力 + // const logs = wx.getStorageSync('logs') || [] + // logs.unshift(Date.now()) + // wx.setStorageSync('logs', logs) + + // 登录 + // wx.login({ + // success: res => { + // console.log(res.code) + // 发送 res.code 到后台换取 openId, sessionKey, unionId + // }, + // }) + }, +}) \ No newline at end of file diff --git a/src/minigram/miniprogram/app.wxss b/src/minigram/miniprogram/app.wxss new file mode 100644 index 0000000..b5482e5 --- /dev/null +++ b/src/minigram/miniprogram/app.wxss @@ -0,0 +1,6 @@ +/**app.wxss**/ +page { + height: 100%; + overflow-y: scroll; + background: rgb(243, 243, 243); +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/bd/bd.json b/src/minigram/miniprogram/pages/bd/bd.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/minigram/miniprogram/pages/bd/bd.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/bd/bd.ts b/src/minigram/miniprogram/pages/bd/bd.ts new file mode 100644 index 0000000..e166706 --- /dev/null +++ b/src/minigram/miniprogram/pages/bd/bd.ts @@ -0,0 +1,135 @@ +// const app = getApp() +Page({ + data: { + realName: '', + number: '', + isDisabled: true //表示页面加载完成时disabled为禁用状态 + }, + + onLoad: function(options) { + let number = options.number + let realName = options.realName + this.setData({ + number, + realName + }) + }, + + save: function() { + let realName = this.data.realName; + let number=this.data.number + let skey = wx.getStorageSync('skey') + wx.request({ + url: 'http://127.0.0.1:81/atbind', + method: 'GET', + + data: { + skey:skey, + studentnumber:number, + name:realName + }, + success: function(res :any) { + if (res.data.error == true) { + wx.showToast({ + title: res.data.message, + icon: 'none', + duration: 2000 + }) + } else { + wx.showToast({ + title: res.data.message, + icon: 'success', + duration: 5000 + }) + wx.removeStorageSync('info') + wx.navigateBack({ + delta: 2 + }) + + } + } + }) + }, + + inputRealName: function(e :any) { + var realName = e.detail.value + this.setData({ + realName + }) + console.log(realName) + if (realName !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + inputNumber: function(e :any) { + var number = e.detail.value + this.setData({ + number + }) + // console.log() + if (number !== '') { + this.setData({ + isDisabled: false + }) + } else { + this.setData({ + isDisabled: true + }) + } + + }, + + onReady: function() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function() { + + } + }) + \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/bd/bd.wxml b/src/minigram/miniprogram/pages/bd/bd.wxml new file mode 100644 index 0000000..f4e001b --- /dev/null +++ b/src/minigram/miniprogram/pages/bd/bd.wxml @@ -0,0 +1,15 @@ +<!--pages/bd/bd.wxml--> +<view> + <view class="btn-area" id="buttonContainer"> +<view class='binding-item'> + <view>姓名</view> + <input type="text" placeholder="请输入您的真实姓名" value="{{realName}}" bindinput="inputRealName"></input> +</view> +<view class='binding-item'> + <view>学号</view> + <input type="number" placeholder="请输入您的学号" value="{{number}}" bindinput="inputNumber"></input> +</view> + + <button type="submit" bindtap="save" class="save" disabled='{{isDisabled}}'>提交</button> +</view> +</view> diff --git a/src/minigram/miniprogram/pages/bd/bd.wxss b/src/minigram/miniprogram/pages/bd/bd.wxss new file mode 100644 index 0000000..159e3cd --- /dev/null +++ b/src/minigram/miniprogram/pages/bd/bd.wxss @@ -0,0 +1,30 @@ +/* pages/bd/bd.wxss */ +.binding-item { + margin: 40rpx; + padding-top: 20rpx; + padding-bottom: 40rpx; + display: flex; + font-size: 32rpx; + /* 在模拟器为iphone 6 时,1px=2rpx ,这里设置32rpx,即16px */ + border-bottom: 1rpx solid #dedede; +} + +.binding-item input { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-left: 20rpx; +} + +.binding-btn{ + background-color:#19be6b; + padding: 28rpx; + margin: 40rpx; + color: pink; + text-align: center; +} +.button{ + margin-top: 30rpx; + margin-bottom: 30rpx; +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/index/index.json b/src/minigram/miniprogram/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/src/minigram/miniprogram/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/index/index.ts b/src/minigram/miniprogram/pages/index/index.ts new file mode 100644 index 0000000..813ff34 --- /dev/null +++ b/src/minigram/miniprogram/pages/index/index.ts @@ -0,0 +1,155 @@ +// index.ts +// 获取应用实例 +const app = getApp<IAppOption>() +// pages/list/list.js +Page({ + /** + * 页面的初始数据 + */ + data: { + list:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function () { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + * 与加载的区别,若是返回页面,则不需要加载,而是调用Show方法 + */ + onShow: function () { + //这里的this是指窗口而在request中this是指onShow方法(因为是页面调用onShow,onShow调用request),所以要先定义 + var that = this; + wx.request({ + //后端接口提供的url + url: 'http://localhost:81/task/taskList', + method:'GET', + //需要传入的参数 + data:{}, + success:function(res :any){ + var list = res.data.data; + if(list == null){ + //如果获取数据失败,提示使用者 + var toastText = '获取数据失败' + res.data.msg; + wx.showToast({ + title: toastText, + //显示时长为2s + duration:2000 + }) + }else{ + that.setData({ + list:list + }) + } + } + }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + submitTask: function(e:any){ + wx.navigateTo({ + url: '../submit/submit', + events: { + // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 + acceptDataFromOpenedPage: function(data:any) {//参数名字随便起,前后页面对应上即可 + //对发送回来的数据进行处理 + console.log(data) + }, + someEvent: function(data:any) {//参数名字随便起,前后页面对应上即可 + console.log(data) + } + }, + success: function(res) { + // 通过eventChannel向被打开页面传送数据 + res.eventChannel.emit('id', {id: e.target.dataset.id })//参数名字随便起,前后页面对应上即可 + res.eventChannel.emit('name', {id: e.target.dataset.name })//参数名字随便起,前后页面对应上即可 + res.eventChannel.emit('property', {id: e.target.dataset.property })//参数名字随便起,前后页面对应上即可 + }, + }) + //, name: e.target.dataset.name , property: e.target.dataset.property + + }, + delTask: function(e :any){ + var that = this; + //相当于confirm窗口 + wx.showModal({ + title: '提示', + //这里的变量名需要与响应控件的data-后面的变量名相同 + content: '确认要删除['+e.target.dataset.name+']吗?', + success:function(sm){ + if(sm.confirm){ + wx.request({ + url: 'http://localhost:81/task/delete', + data: {'id':e.target.dataset.id}, + header: { + //默认是 'content-type': 'application/json',要传post的参数必须写成这样,要传delete参数则为null + "content-type": "application/x-www-form-urlencoded" + }, + method: 'DELETE', + success: function(res:any) { + var result = res.data.success; + var toastText='删除成功'; + if(result == true){ + that.data.list.splice(e.target.dataset.index,1); + that.setData({ + list:that.data.list + }); + }else{ + toastText = '删除失败'; + } + wx.showToast({ + title: toastText, + duration:2000 + }) + }, + }) + } + } + }) + } +}) diff --git a/src/minigram/miniprogram/pages/index/index.wxml b/src/minigram/miniprogram/pages/index/index.wxml new file mode 100644 index 0000000..20fc561 --- /dev/null +++ b/src/minigram/miniprogram/pages/index/index.wxml @@ -0,0 +1,36 @@ +<view class="wrip-view"> + <!-- 轮播区域 --> + <view> + <view class="swip"> + <text class="swip-text">公告栏</text> + <swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{2000}}"> + <block wx:for="{{3}}" wx:key="*this"> + <swiper-item> + <view class="swiper-item"> + <image src="/static/index/spwr01.jpg"></image> + </view> + </swiper-item> + </block> + </swiper> + </view> + </view> + <!-- 任务列表 --> + <view class="task" wx:if="{{list.length!=0}}"> + <block wx:for="{{list}}" wx:key="id"> + <view class="task-item"> + <view class="task-item -title"><test>任务名称:</test> {{item.name}}</view> + <view class="task-item -title"><test>任务内容:</test> {{item.property}} </view> + <view class="task-item-text"> + <text> 截止时间:{{item.deadtime}} </text> + </view> + <!-- <text bindtap='delTask' data-id='{{item.id}}' data-index='{{index}}' data-name='{{item.name}}'>提交任务 + </text> --> + <button class="mini-btn" type='plain' size="mini" + bindtap='submitTask' data-id='{{item.id}}' data-name='{{item.name}}'data-property='{{item.property}}'>提交任务</button> + </view> + </block> + </view> + <view class="error" wx:else> + 暂无数据 + </view> +</view> \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/index/index.wxss b/src/minigram/miniprogram/pages/index/index.wxss new file mode 100644 index 0000000..ffaae74 --- /dev/null +++ b/src/minigram/miniprogram/pages/index/index.wxss @@ -0,0 +1,47 @@ +.wrip-view { + height: 100%; +} + +.swip { + background: rgb(243, 243, 243); + position: relative; +} + +.swip-text { + position: absolute; + width: 100%; + z-index: 100; + text-align: center; + font-size: 20px; + color: rgb(95, 95, 95); +} + +.task { + padding: 8px; +} + +.task-item { + padding: 8px 4px 10px 4px; + margin: 10px 0; + border-radius: 10px; + background-color: rgb(240, 234, 234); +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; +} + +.task-item-text { + font-family: "楷体"; + font-size: 20px; + color: rgb(241, 10, 10); +} +.error{ + text-align: center; + padding: 20px; +} +.mini-btn{ + margin-right: 10rpx; +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/menu/menu.json b/src/minigram/miniprogram/pages/menu/menu.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/src/minigram/miniprogram/pages/menu/menu.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/menu/menu.ts b/src/minigram/miniprogram/pages/menu/menu.ts new file mode 100644 index 0000000..3eb2264 --- /dev/null +++ b/src/minigram/miniprogram/pages/menu/menu.ts @@ -0,0 +1,135 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + taskList: [], + taskFlag: false, + releaseFlag: false, + from: { + taskName: "", + end: "" + } + }, + inputFrom(event: any) { + if (event.currentTarget.dataset.gater == "from.end") { + let num = event.detail.value; + if (num.length == 4) num += "-"; + if (num.length == 7) num += "-"; + this.setData({ [`from.end`]: num }) + } else if(event.currentTarget.dataset.gater == "from.taskName"){ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + }else{ + this.setData({ + [`${event.currentTarget.dataset.gater}`]: event.detail.value + }) + } + }, + addSelect() { + const { taskName, end } = this.data.from; + if (end.length != 10) return; + if (!taskName || !end) { + wx.showToast({ + title: "请填写任务名称和任务进度", + icon: 'error', + }); + return; + } + const list = wx.getStorageSync("taskList") || []; + const index = list.findIndex((item: any) => item.title == taskName); + if (index >= 0) { + wx.showToast({ + title: "任务名称重复", + icon: 'error', + }); + return; + } + const data = { + id: list.length + 1, + title: taskName, + startTime: formatTime(new Date), endTime: end, end: '40', + } + list.push(data) + wx.setStorageSync("taskList", list); + wx.showToast({ + title: "发布成功", + icon: 'success', + }); + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + atReleaseFlag() { + const user = wx.getStorageSync("userInfo"); + console.log(user) + if (!user) { + wx.showToast({ + title: "请先登录", + icon: 'error', + }); + return; + } + this.setData({ releaseFlag: !this.data.releaseFlag }) + + const power = +wx.getStorageSync('power'); + console.log(power) + if (power === 0) { // 0 为用户 + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + } else if (power === 1) { // 1 为管理员 + wx.navigateTo({ url: '/pages/list/list' }) + } + }, + onPublishJielong() { + const power = +wx.getStorageSync('power'); + if (power === 0) { + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + } + else if (power === 1) { // 1 为管理员 + wx.navigateTo({ url: '/pages/list1/list1' }) + } + + }, + atTaskFlag() { + const power = +wx.getStorageSync('power'); + if (power === 0) { + wx.showToast({ + title: "暂无权限", + icon: 'error', + }); + return; + } + this.setData({ taskFlag: !this.data.taskFlag }) + }, + onDragon() { + wx.navigateTo({ url: '/pages/dragon/dragon' }); + }, + onShow() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + }, + + onLoad() { + this.setData({ + taskList: wx.getStorageSync("taskList") || [] + }); + // this.setData({ + // logs: (wx.getStorageSync('logs') || []).map((log: string) => { + // return { + // date: formatTime(new Date(log)), + // timeStamp: log + // } + // }), + // }) + }, +}) diff --git a/src/minigram/miniprogram/pages/menu/menu.wxml b/src/minigram/miniprogram/pages/menu/menu.wxml new file mode 100644 index 0000000..634f7e3 --- /dev/null +++ b/src/minigram/miniprogram/pages/menu/menu.wxml @@ -0,0 +1,36 @@ +<view class="wrip-view"> + <view> + <view catchtap="atReleaseFlag"> + <!-- <navigator url="/pages/list/list" hover-class="navigator-hover" class="title">发布任务</navigator> --> + <view class="title">发布任务</view> + </view> + </view> + <view catchtap="onPublishJielong"> + <view class="title">发布接龙</view> + </view> + <view> + <view catchtap="onDragon"> + <!-- <navigator url="/pages/list/list" hover-class="navigator-hover" class="title">发布任务</navigator> --> + <view class="title">完成接龙</view> + </view> + </view> + <view> + <view class="title" catchtap="atTaskFlag">查看任务进度</view> + <view class="task" wx:if="{{taskFlag}}"> + <view wx:if="{{taskList.length!=0}}"> + <block wx:for="{{taskList}}" wx:key="id"> + <view class="task-item"> + <view class="task-item-title"> {{item.title}}: </view> + <view class="task-item-text"> + <text>完成进度:{{item.end}} </text> + </view> + <view class="task-item-backg" style="width: {{item.end+'%'}};"></view> + </view> + </block> + </view> + <view wx:else> + 暂无任务 + </view> + </view> + </view> +</view> \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/menu/menu.wxss b/src/minigram/miniprogram/pages/menu/menu.wxss new file mode 100644 index 0000000..f805158 --- /dev/null +++ b/src/minigram/miniprogram/pages/menu/menu.wxss @@ -0,0 +1,78 @@ +.wrip-view { + height: 100%; + padding: 0 12px; +} + +.task { + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.task-item { + padding: 4px 0; + margin: 10px 0; + border-radius: 10px; + position: relative; + z-index: 100; + background-color: #fff; + overflow: hidden; +} + +.task-item-backg { + position: absolute; + top: 0; + background: #77bef0; + height: 100%; + width: 100%; + z-index: -1; + border-radius: 10px 0 0 10px; +} + +.task-item-title { + font-family: "楷体"; + font-size: 18px; + margin-bottom: 6px; + margin-left: 10px; +} + +.task-item-text { + text-align: right; + font-family: "楷体"; + font-size: 14px; + margin-right: 10px; +} + + +.title { + background: #fff; + display: inline-block; + border-radius: 4px; + padding: 4px; + margin: 10px 0; + position: relative; +} + +.title::after { + content: ""; + position: absolute; + top: 50%; + width: 100vw; + height: 4px; + background: #fff; +} + + + +.release-view{ + padding: 8px; + background-color: #fff; + border-radius: 4px; +} + +.release-view input{ + border: 1px #ccc solid; + border-radius: 4px; + margin: 6px 0; + padding: 4px; +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/my/my.json b/src/minigram/miniprogram/pages/my/my.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/src/minigram/miniprogram/pages/my/my.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/my/my.ts b/src/minigram/miniprogram/pages/my/my.ts new file mode 100644 index 0000000..ef245df --- /dev/null +++ b/src/minigram/miniprogram/pages/my/my.ts @@ -0,0 +1,98 @@ +// logs.ts +// const util = require('../../utils/util.js') +// import { formatTime } from '../../utils/util' + +Page({ + data: { + userInfo: {}, + key:{}, + }, + atLogin() { + wx.getUserProfile({ + desc: '展示用户信息', + success: (res) => { + this.setData({ + userInfo: res.userInfo, + }) + // wx.setStorageSync("userInfo", res.userInfo); + wx.setStorage({ + key:"userInfo", + data:this.data.userInfo, + // userInfo:res.userInfo, + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } + }) +  wx.login({ +       success: function(login_res){ +         if(login_res.code){ +           wx.request({ +             url:'http://127.0.0.1:81/atlogin', +             method:'GET', +             data:{ +               code:login_res.code, +             }, + success:function(res :any){ + console.log(res) + let skey=res.data.skey + console.log(skey) + wx.setStorageSync('skey',skey) + wx.setStorageSync("power",res.data.power) + } +           }) +         }else{ +           console.log('登录失败!'+login_res.errMsg) +         } +       } +     })    + } + }) + }, + sendMsg: function () { + + var sessionId = wx.getStorageSync('sessionId'); + wx.request({ + url: "", + + header: { + "Content-Type": "application/x-www-form-urlencoded", + "Cookie": sessionId + }, + method: 'POST', + success: function (res) { + console.log(res) + } + }) + this.setData({ + alreadySend: true, + send: false + }) + + }, + +// ---------------------------------- + +    + onShow() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + }, + onLoad() { + const userInfo = wx.getStorageSync("userInfo"); + if (userInfo!=null) return; + this.setData({ + userInfo: userInfo, + }) + }, + }) + \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/my/my.wxml b/src/minigram/miniprogram/pages/my/my.wxml new file mode 100644 index 0000000..5f3b0ba --- /dev/null +++ b/src/minigram/miniprogram/pages/my/my.wxml @@ -0,0 +1,25 @@ +<view class="wrip"> + <view class="my-head"> + <view class="my-head-box"> + <view class="head-box-child"> + <view wx:if="{{!userInfo.avatarUrl}}" catchtap="atLogin"> + 登录 + </view> + <view wx:else> + <image src="{{userInfo.avatarUrl}}"></image> + </view> + </view> + + </view> + </view> + <view> + <view class="my-box"> + <view class="my-top"> + <navigator url="/pages/bd/bd" hover-class="navigator-hover">已绑定,点击可重新绑定</navigator> + </view> + <view class="my-top"> + <navigator url="/pages/mmm/mmm" hover-class="navigator-hover">获取验证码</navigator> + </view> + </view> + </view> +</view> \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/my/my.wxss b/src/minigram/miniprogram/pages/my/my.wxss new file mode 100644 index 0000000..d89efd2 --- /dev/null +++ b/src/minigram/miniprogram/pages/my/my.wxss @@ -0,0 +1,58 @@ +.wrip { + padding: 10px; +} + +.log-list { + display: flex; + flex-direction: column; + padding: 40rpx; +} + +.log-item { + margin: 10rpx; +} + +.my-head { + margin: 0 0 10px 0; +} + +.my-head-box { + height: 160px; + background: white; + border-radius: 5px; + position: relative; + background-image: linear-gradient(to right top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1); +} + +.my-box { + height: 140px; + background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12); + border-radius: 5px; +} + +.head-box-child { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 80px; + height: 80px; + border-radius: 50%; + text-align: center; + border: 1px #ccc solid; + color: rgb(255, 255, 255); + line-height: 80px; + overflow: hidden; +} + +.head-box-child image { + width: 100%; + height: 80px; +} + +.my-top { + padding: 4px; + color: white; + box-shadow: rgba(116, 116, 116, 0.521) 0 0 10px ; + background: rgba(204, 204, 204, 0.384); +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/submit/submit.json b/src/minigram/miniprogram/pages/submit/submit.json new file mode 100644 index 0000000..d495975 --- /dev/null +++ b/src/minigram/miniprogram/pages/submit/submit.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "请完成任务提交" +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/submit/submit.ts b/src/minigram/miniprogram/pages/submit/submit.ts new file mode 100644 index 0000000..e6e0654 --- /dev/null +++ b/src/minigram/miniprogram/pages/submit/submit.ts @@ -0,0 +1,140 @@ +// sumbit.ts +// pages/list/list.js +Page({ + /** + * 页面的初始数据 + */ + data: { + id:"", + name: "", + property:"" + }, + onUpload(){ + let that=this + let skey=wx.getStorageSync('skey') + wx.chooseMessageFile({ + count:1, + success(res) { + const tempFilePaths = res.tempFiles; + console.log(tempFilePaths[0]) + //that.filename = res.tempFiles[0].name + //将保存在微信暂存区的文件上传到你项目的保存地址 + //将保存在微信暂存区的文件上传到你项目的保存地址 + wx.uploadFile({ + url: 'http://127.0.0.1:81/taskupload',//这里的url是你项目文件上传的接口 + filePath: tempFilePaths[0].path,//这是你上传文件到微信暂存区的 路径 + name: 'file', + //这里也是为小程序在真机测试校验协议时能够被通过, + //你可以直接在 data里面定义这个变量,上面那个方法里面的headers可以不定义。 + header:{ + 'Content-Type': "multipart/form-data" + }, + //这个是上传文件 需要的参数,具体看你们项目接口需要提交的参数 + formData: { + skey:skey, + Task_id:that.data.id + }, + success (res){ + const data = res.data + if(res.data == "upload successful"){ + console.log("success") + }else{ + console.log("fail") + } + } + }) + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function(option){ + //获取通信通道 + var that = this; + const eventChannel = this.getOpenerEventChannel() + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('id', function(data) { + //对发送过来的数据进行处理 + console.log(data.id) + that.setData({ + id: data.id + }) + }) + eventChannel.on('name', function(data) { + //对发送过来的数据进行处理 + console.log(data), + that.setData({ + name: data.id + }) + }) + eventChannel.on('property', function(data) { + //对发送过来的数据进行处理 + console.log(data), + that.setData({ + property: data.id + }) + }) + //向上一页面发送数据 + eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + eventChannel.emit('someEvent', {data: 'test'}); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + * 与加载的区别,若是返回页面,则不需要加载,而是调用Show方法 + */ + onShow: function () { + console.log('通过缓存传递参数',wx.getStorageSync('id')) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + submitTask: function(){ + wx.navigateTo({ + url: '../submit/submit', + + }) + }, + +}) + diff --git a/src/minigram/miniprogram/pages/submit/submit.wxml b/src/minigram/miniprogram/pages/submit/submit.wxml new file mode 100644 index 0000000..4347419 --- /dev/null +++ b/src/minigram/miniprogram/pages/submit/submit.wxml @@ -0,0 +1,32 @@ +<!--pages/submit/submit.wxml--> +<!-- <view class="task-item -title"><test>任务名称:</test> {{item.id}}</view> --> + +<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{4000}}"> + <swiper-item> + <view class="swiper-item"> + <image src="/static/sumbit/OIP-C.jpg"></image> + </view> + </swiper-item> + </swiper> + <scroll-view scroll-y="true"> + + <!--遍历list,变量名要和js中的名字相同,且item是定值,不可修改 --> + <block class='widget'> + <view class='widget'> + <text class='column'>您提交的任务信息如下:</text> + </view> + <view class='widget'> + <view class="column"> + <text class='column'>ID:{{id}}</text> + </view> + <view class="column"> + <test>任务名称: {{name}}</test> + </view> + <view class="column"> + <test>任务内容: {{property}} </test> + </view> + </view> + <button type='primary' bindtap='onUpload'>选择文件</button> + </block> + </scroll-view> + diff --git a/src/minigram/miniprogram/pages/submit/submit.wxss b/src/minigram/miniprogram/pages/submit/submit.wxss new file mode 100644 index 0000000..2d90605 --- /dev/null +++ b/src/minigram/miniprogram/pages/submit/submit.wxss @@ -0,0 +1,67 @@ +/* pages/submit/submit.wxss */ +.wrip-view { + height: 100%; +} +.image { + height: 120%; + position: relative; +} +.swip { + background: rgb(243, 243, 243); + position: relative; +} + +.swip-text { + position: absolute; + width: 100%; + z-index: 100; + text-align: center; + font-size: 20px; + color: rgb(95, 95, 95); +} +.container{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + box-sizing: border-box; + padding-top: 10rpx; + padding-bottom: 10rpx; +} + +.widget{ + position: relative; + margin-top: 5rpx; + margin-bottom: 5rpx; + padding-top: 20rpx; + padding-bottom: 20rpx; + padding-left: 5rpx; + padding-right: 4rpx; + border: rgb(16, 196, 157) 1px solid; +} + +.row{ + width: 3rem; + font-size:larger; + display: table-cell; +} +.column{ + font-size:larger; + +} + + +.form-box picker{ + margin: 30rpx 30rpx 0 0; + color: rgb(187, 19, 19); + } + +.link-row{ + width: 5rem; + display: table-cell; +} + +.link{ + color: blue; + display: inline-table; +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/uploadfile/uploadfile.json b/src/minigram/miniprogram/pages/uploadfile/uploadfile.json new file mode 100644 index 0000000..2f56338 --- /dev/null +++ b/src/minigram/miniprogram/pages/uploadfile/uploadfile.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "请完成接龙" +} \ No newline at end of file diff --git a/src/minigram/miniprogram/pages/uploadfile/uploadfile.ts b/src/minigram/miniprogram/pages/uploadfile/uploadfile.ts new file mode 100644 index 0000000..927c170 --- /dev/null +++ b/src/minigram/miniprogram/pages/uploadfile/uploadfile.ts @@ -0,0 +1,131 @@ +// sumbit.ts +// pages/list/list.js +Page({ + /** + * 页面的初始数据 + */ + data: { + id:"", + name: "", + property:"", + content:"" + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function(option){ + //获取通信通道 + var that = this; + const eventChannel = this.getOpenerEventChannel() + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('id', function(data) { + //对发送过来的数据进行处理 + console.log(data.id) + that.setData({ + id: data.id + + }) + that.setData({ + content:option.content + }) + }) + eventChannel.on('name', function(data) { + //对发送过来的数据进行处理 + console.log(data), + that.setData({ + name: data.id + }) + }) + eventChannel.on('property', function(data) { + //对发送过来的数据进行处理 + console.log(data), + that.setData({ + property: data.id + }) + }) + //向上一页面发送数据 + eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + eventChannel.emit('someEvent', {data: 'test'}); + }, + upload:function(e:any){ + let that= this + let skey =wx.getStorageSync('skey') + var Data = e.detail.value.content + wx.request({ + url: 'http://127.0.0.1:81/uploadDragon', + method: 'POST', + header: { + "Content-Type": "application/x-www-form-urlencoded" + }, + data: { + skey:skey, + dragonid:that.data.id, + text: e.detail.value.content + }, + success(res){ + console.log(res.data) + } + + }) + console.log(JSON.stringify(Data)) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + * 与加载的区别,若是返回页面,则不需要加载,而是调用Show方法 + */ + onShow: function () { + console.log('通过缓存传递参数',wx.getStorageSync('id')) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + + submitDragon: function(){ + wx.navigateTo({ + url: '../uploadfile/uploadfile', + }) + }, + +}) + diff --git a/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxml b/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxml new file mode 100644 index 0000000..4a14590 --- /dev/null +++ b/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxml @@ -0,0 +1,40 @@ +<!--pages/submit/submit.wxml--> +<!-- <view class="task-item -title"><test>任务名称:</test> {{item.id}}</view> --> + +<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{4000}}"> + <swiper-item> + <view class="swiper-item"> + <image src="/static/sumbit/OIP-C.jpg"></image> + </view> + </swiper-item> + </swiper> + <scroll-view scroll-y="true"> + + <!--遍历list,变量名要和js中的名字相同,且item是定值,不可修改 --> + <block class='widget'> + <view class='widget'> + <text class='column'>您提交的接龙信息如下:</text> + </view> + <view class='widget'> + <view class="column"> + <text class='column'>ID:{{id}}</text> + </view> + <view class="column"> + <test>接龙名称: {{name}}</test> + </view> + <view class="column"> + <test>接龙内容: {{property}} </test> + </view> + </view> + <view class="release-view"> + <form bindsubmit='upload' bindreset='formReset'> + <label>输入接龙内容: + <input type="text" name="content" value="请输入" placeholder="输入您要接龙的内容" ></input> + <button form-type="submit" >保存</button> + </label> + </form> + </view> + + </block> + </scroll-view> + diff --git a/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxss b/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxss new file mode 100644 index 0000000..57a0891 --- /dev/null +++ b/src/minigram/miniprogram/pages/uploadfile/uploadfile.wxss @@ -0,0 +1,69 @@ +/* pages/opration/opration.wxss */ +.row input { + font-size: 0.7rem; + flex-grow: 3; + border: ipx solid #09c; + display: inline-block; + border-radius: 0.3rem; + box-shadow: 0 0 0.15rem rgb(22, 4, 4); + padding: 0.3rem; +} + +.row button { + padding: 0.3rem; + margin: 3rem 1rem; +} + +.container { + padding: 1rem; + font-size: 0.9rem; + line-height: 1.5rem; +} + +.row { + display: flex; + align-items: center; + margin-bottom: 0.8rem; +} + +.row text { + flex-grow: 1.5; + text-align: right; +} +.form-box picker{ + margin: 30rpx 30rpx 0 0; + color: rgb(153, 153, 153); + } + +.title { +background: #fff; +display: inline-block; +border-radius: 4px; +padding: 4px; +margin: 10px 0; +position: relative; +} + +.title::after { +content: ""; +position: absolute; +top: 50%; +width: 100vw; +height: 4px; +background: #fff; +} + + + +.release-view{ +padding: 8px; +background-color: #fff; +border-radius: 4px; +} + +.release-view input{ +border: 1px #ccc solid; +border-radius: 4px; +margin: 6px 0; +padding: 4px; +} \ No newline at end of file diff --git a/src/minigram/miniprogram/sitemap.json b/src/minigram/miniprogram/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/src/minigram/miniprogram/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/src/minigram/miniprogram/static/index/index.png b/src/minigram/miniprogram/static/index/index.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f57d414a2880fced8c394881e652aafcc9d17a GIT binary patch literal 4235 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 I)P>vs0*S(th5!Hn literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/index/index_active.png b/src/minigram/miniprogram/static/index/index_active.png new file mode 100644 index 0000000000000000000000000000000000000000..9703bc7a250deb9f53332eda613d7e303ffa61de GIT binary patch literal 4488 zcmc(jc{mha_rT2<48j;9L}STLb{b(YGO{m)u|{Mk#xBN^3|Y$<TT_xHTM@F0EM;G^ zi%LwEteFP!&iD8J{(b*@pXdGK-t#=?+~=Hg?{n`xpL=m;Ci*N)yi7DSG%N-vqy<&> z|I@(q)V|85`YBZaf-LlPXsU-V{-mK{*D*k9TZK7p6~?@_cMI<$-X$ldRO!Ua+_Lla zJM<YH?Y%>$Pm1SdI^{Lou;MfL^)x>r<So4?j?Pe>%Yf$<7beTb@VxrRw!1InyD&!T zW;pyK(oVNV{<Fl4O<9rgDHH8vl$iam#eIwld(-Ig_s!WgjWvzP_E6EFvv=Fa_uIGE z!aMfAv|ZIA?9c&Wa#8?#J_t?hEF%my!w-{V0DwUAv>*s%697rNP9ug=@*`xk1Hq{4 zys2*2g|S%V_e5JBK`i!8@tBRf64mgZ28c|OZbk~Id+#;j_Tw80Os_^?X8)_e(P1I3 zrmbUYmPULAQ!_%6r}c9%?cb#UR8NmaM`~1t310gV!xLzB^!a9`33;w|J3{Djc2DSo zrw?N_I1q@4>laL(DNVh58l-gNgYH-N!E4F69eRUKm8sH)5o7Nc0zi<AfC8a(w7EvR z(iKZ0XO^LG%Ai_iW1EX)=+<ef?#TMOjxQVl`mh`=9$v-nPO*bVq~<D|_<mi^i+CAE z<hfra1WP<bG|kQF2u<^35oM2`fPJge;p(ns*-cPzQsBVI*|=~`o)3dvE=j@dXZXq= z%XYhWDqr&cI<WxEH}8E^-*YcHxg{hi@hK4x&1$2qU4F%Iom+!90!lw@Km#zJgLQvT z)#6;;LLM;R$TD|JtKC_h^Z1%p1|*Py01)!F>XY7lqDx7-Bue5&Kat|MtC$>@`$Pv3 z;Sm{L`5XS}ql!?3DVxG-iNfM~I_D{YKpUiYWXA)*%`9cNpmRX)KL$vrinC8Bwd)7g zHfetQBY%FgLII3Q2*FoW8H?;Sfh`~B?IpbSskTo3Tzsy$UKTj+w)V-<TPpL!GiRdm zf~=0}lzw5l?QPM^qL7S?RJea-{T<0GcD5u3!BU&6Mkv1=?W56H<(|GOC68PQkO)%u zhO2(e!=R?&8mk&+`Gr$KqlY$u`QE?2-9OAXo)QEqu$|RT{{gedz-Lu>%49js(yI5Q zhVQbJkyAy03WidJ>b&uHPY8|jV+_Y7^NO-azum=eC8v(A2cHFDim#=t?K<=dwZ1Ai zaPs>myE82s(^8C2o1Z_lT!C{{fcp*Q*dnXQOa^Q2#W_9W0Pp0Tbd$dlGn8ayytG^# z*2r6@Y3_&_O5tNZ$|BGSwzvP{Y7lYntnC7W*|W8l;E$ut8?r{}2aX;m@e9s5gcjE0 zI2$WHR%vT%Bks7tC^4vYXz;*cx03oEOwq}_LT%~I^o#JjxvZ#<-jC$uWjhGIL`GxC zfcuin7nf+MIa|RxfJC}#10?8T<A=Ffil4o_FImb&@=DE5_gux)A$tTqRdqzbdHv+< z`e5US!?{<*Yx@o(KTgTD+v(EB#Nxsawpx}{7xl8mtx>oHM?SHY_VUXI7wV$kt#XkM zhw@f!QSLwmdtV1xp)*2uZ=Ssv^ZiPd^#zaGM47o<FlyHOeirI<fs6Ea`Ne);YMx!d z@okx)s^>Mdf$R90<rL&eL$v=L=!R<%8u7N_7ko%$z0bVPpSCt|lXO{ImOO&QL|lX^ z+Qt9mx!qi=IZkA&-Wb3>sYo>zDJZdXnIK*%F+D!NwtjGBrALa?LbVL}iX4djohq}c z)F-jVOooR_wk9ggsse1=D{c-lj5k4p_4?~w2|U2`0NKU{mD)c5#l78EhkA%ljvI@} zy(_y#y7gBX<s7!G3nrIvxkuP@>5VGP%uit+w;glC^oL~Z{hrs4;w|_fcOzYQ1|PJ> zCk5DskV3@d&3>uNhpo;Fpo0z-4Xn27-6d%Q_wY8E!`-<tZPqk|OU$vQ1W$*mZwowz z$~{8m%>A!J588B^<~ex~lCr=-;*QjVjz<***9)!aiZ_+dl9Nu+u3tw{Ni-AFC&{jB z-R*Y~S;<(8Bk>x~&ekBtK*v|l_9ie&q<>eP^^vq@wWK#<@CaLZ!JlOf)oyGQPd~-> z5yS{i@jj-luVO_t&7t*$TA-VPH~2(5kxpezY4vPtbt<qQyQ?8C&Eo+vFn@;F$f)V? z6#iR|n_bOVj33US^CVcv)=yY2OyT<SJ)!W@ZLW=8NhG8}687VbFt>$ljA=r!^Nl6Q zaz#|*Xn0W0d8a8*@n*dyQY6No?mPj7r`h+7e!0W&F;DI0Vlwtg>uS#K6L!9acs+px z*0!R;OJ6$fk!D34F7sw&JNdP%5Q-vkr0J{#?A#R8Ly>O#Rg)n!a?I2PU~BH{P{2V+ ztgnid&j&9ox0ndAQ4B?3KfE^J(Dxi4eCOg0BPps&!Ln)d?wbIKn|8-Gpqxh^7Jr_W zkzbTQYukJOd+kKuegG!}8wh=yOaV{;?1fy@-^@z27{L>6_u5EecxryVyrRANDMvva zqP3Flr}kAAe_sFm)=O)#mq&CH`pzuR!gQnpU5;<JlRL^_bp_ZquZ?<M$yfUe5DI^h z>hZPQAAHSlaE+4PMK-SNM<Jp^3^&O}7ZOFmgD5P8sl&po1FEY*&Dxs-w_Kh$)Axo$ zZr4xmGj*G(hB8kayNbof!FGVLmt+N`rBBy+{k#$8jHosIjKuS9<Owf}<tR<8Bct3$ zJ>|xC9ifE+=Wl!;T5>P(KNOGu33HC?3~t|87)=Q<6{B7W_X`ZFw|i(-<FK~C+L6!{ z|8%r)AR@7CRW(8U(A%|0mUF+>2=O$RQ#Q(flCte5f#J`n4c+{VeB6f%({AjM698q2 zbbi>bXnHW;vO9Vcal>_p9F!IkYDwd&-KhYakD6|htSlV`@Cf*y6v{cV-@5P}(dhyV zUJCwn`{V%=_4I3^kON&{mvi9a2UyhWx0=l>JND6QEY!VtBEi^pO(rGL6hcZwbTSWX zm{C$6y5}q2Mci=QS2sE+@ndq41{Wt|`yXrndaF9Zm1RpC*SAyrYDjLL7Ql6M!*{aD zM-*pEtFWoO%~=$BXvS@+4U++hnw&E!*d5IaB1V>fy=s!N$|wZakdaED#(99q$Wi6D zvEIBEx31?@$51>6HxjDZekr~hhd_hhmWn=P^^59$GYXIhAF7cb+b(g7-C+c3K>m<9 z;yE5vNB2<6dEh;hy|0%xdohm^xPCiBEwvFTodQDWi3c;v)RkZO{P19SxpulWJL%Np zi;hmH+<>u86uH$^o(6P|gS5ab)Wr?8Bp5Dkh|!DP8p1?id=mepcTEXEbAKDm8(}Pm zf;Hir%D04JiRx?=GtkoxTdx`KwB*sD4+m0pMkivQ8nu>d)Yovc3DiZr>+;b%O0+L3 z7F-qKh(h^^ee$npNil67p#?C0RzH^<+j-E!IM5Pf^Xwxo9kRR4F;??b@=B-yf;=_N zz1Ef^VTI_bWCSqkGP-_)$<1#yxYd~RI(vO_lF;OzVgN$%oV_m-u~UCZ&o$!{UdC~V zNJ~6YG^PQ_8(%mo7sX<WoA1l{=g|ON^5hOIsd|IpW9KhQRH#w9O)918v(^vaw|WA> zNuFJ!rpf@2$mgy2@Cho`O(Z-gdQn;H)jY#~36=Ru7<IKiQ<2H4k!{tOidRM)iP5j9 z`f|TZgZb1z1krPUt*Cm7MNNY0e>Va0*<k2Xj$<YHzX|F~>gl&c;qeK>#lvLFvz^a$ z08lZrO#_QtNhEFNap2&w*ZH+!xl?$0FbfbpbTwLvy^2*)Y`_(gaS(ha;r`|0g23^w z{;c@68K<TVQefsu1p6!k*)f@Nt7BLXVKHgTc*hW8v{mqvF0)PAm6Fz-64(^WQt&;U zTr`m$#GYY=xfy+N<>z>=qfDh|hn26D4T(!Ax~ar3uO0$9ZV4rB!?j}gtS^QPIM(e) zqoOpgQXI9L%BYptJD`slqa<!J?F?VBE?Anxv%GkiQBahCO_-H2cyt?%e7r@b@QsA4 z;r86NXDV<dr`bvP%jQe?JaCdsVHl2$3vI_293tjfv!blki6oki>yFp6XB4Z;>E8c0 zh^W{|MGm3Yl*uY#23@qkEYNR?*NszP42E<{N$lC(53CQr%;=l`0-vf3fy_5|VFqi| zbQ@-lX76U6z3nkw(1c{X!;M&{dzL!gQyEs39wt&zsZA%)vq0Im`~h}m9LF7H|Gi~+ zNM%+sa;O4F63xHX^Mek6OTqNRr4`V8G7*9g`xJb_TE8;whe`KHOT}SrrXXGe>L)Bc zEk3n3zs!cI|DbHBgeMO$1EJhMGlG@)ptUQl-SC`#=6h><j|cC29@6IIiThj{N)(^D zDiMoaMoU+<P1dmj#}##M0*0cOLFOK*?z)_t%b@q4Tha3<eFnhT*Rq#Ivup)0CWkSf zq&WTpn40$6hRifpU{SZZp<dl3HEqu3qFD%?x|()CoQJP4KR*ch@C82ET`M3?9HUn! z$P^L~w+tGayAFqglUVg-&i`K^Qu6-?Vl1jp#b6*1{xq~?-rr8fqS5pJ<oBL2jsxk< z_mc#J!7tWZDILdhAfHR+v6#P(=KzT%O{t8JX(KRdUgaK#v|>p*)=GRu&J1E;6G)YB z@r!sYDPYoKY?HwR@}Sy71^J%U1X2L|pG?S1T^qlx)+(;`dfB{6uf#yVP7u8@yjK?< z)a2X~s*k@o>0Hj0k(OIK&B<cvIe|cIuG>U<1(KF~RWD8iyyVO9+Bb)yi*HLC^MaEc z7QIY=a0@J`9Xv^tTEvD84Ihi&^1fjBm>%e2-551(K0ocH!;kE4;jISEMs9HfU2Y-{ zkE??+@xq_6m2>+uwj;(yC*15ZqY4E2LKB3~L2i$#kpawZeIsSs`?sz#tW>j1^%e43 zksAaK8)X4(P1tL|q(b=b8=3?zi9C<><4Sx3dxq#FJKVL=UR#5%1FnWATiH!#^@}N` z>M(;=g<;4`l`X^Et9;W#BdMU36^4+SdTW&IR`0pqI0PGL(lkAdn@SD;ybJXoN1{jz z0$i!(Fi0}iEFgT*p;mZuS(cuM8P!LtGp;8lr=$S*_wmc5TP1iX!N52iUVC2;L?Esp zzM%Pnqn+a(?P4)TMAg$Bv;2M4<&h3iG~u>!3GsEm$B@h~Wj#SW_L_gYy{}IZ)(^H? zXCwn|wiSe>gM4ShoV&C9bM5a{0<Kb|a>)IBxpy=atAsPHbL}s_J$^#vwu}8-mL0c@ zOSvKuPp`E5w1yud(x&f0Dlf0@AHB`C!OO;e@4~pYeOq`XrQU*e0p$9XTlv~|J~`G9 zieSUFYF78WFku3NHB6+PE`PhfRelm(H89g%y^xGGQf-Oodr^9Z!E)0NGVd!jWgr!T zzq-!!{@zy;jA+(S{=Kps7b~`1!$~v=teT<|F}P610=#k=i*+`|c3z~G5Fa)O0`Zyw z0pkS}z{cL)zI7c8gYkGO;dxSNfY4Mvceey;0m{7Ynma}{{I>^mo&g+H-UxroG|Z-c Pt<V_gnINlmoa6ol;T0^% literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/index/spwr01.jpg b/src/minigram/miniprogram/static/index/spwr01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2224daf587efdbe62402e1a3b244d47bb2dc48fc GIT binary patch literal 77669 zcmbTdd00|u_&<CQ6*bKbb2qmX+!93vmqg74TmiSt8dFm+HJ7rq4Yx|d1-BG;1rbwI z(^4B7t#B(hTr#yX*VM8pwWg-2AI^NQ-}k!Szuxyf@BsQ8&UNmGdwcHt^Z7ONYXOkL zIbodu5C{N3{0H!B4sZa(MMT9!A>v}9ViMxw`=wQ7rKO~#wG@@*RP_!S=)(`eU`9xL zlo7(#1O~J8u(UnujB~{qTHyWgF243yob%pAK;jY-(vs4eva*`a#xP^&|If#-9za?| zU`!AN25ABU(jc%j=+{%=ApbsvK>r@V{~RCzu%M7Ign!Tb_$RbW0RkW}SU?agBqS)v zKl=)Q9uSlklF>le3CrS7K{R8bCdu?F5iR?cUOB?}pW3FuaVer=2jmqLl@96X!r*#H zGjj_R+S1{uqm#1>7Dx2<@%8gR77!A8IxL(-j)*^ZKH<W}#H7@;^y@cnW>9nU@(T)Y z7Zo$AYnZHBb{(g_^<G>1{RbVLU5}qU<@WUt3=Z)oCa0!f%)Fd^ySTKxvby$eedE*T z?Va5(U;p~{eNQeB0RB%b{_B5&{XgWA=F24@C<qpW?8yZZxWFG^X+a?kgs_Yq9&##H zR?{R|1Zq#OYUvf#G9~;e7aTV(c0e2X_Ryz2(f*a}|D9kd|Gy;rzk>a*T(f{U7{vea zz|w#%uvtzB%u2a;*dKYl;m~}XR8z;1_JB`PE@EcqxW|gHwQcIB-`Rn)@+TOvOm1|j z1+;_3Rj3r82EZv4F9>o02BqNOB(8w?_wfoGq+2k_OMR856aZ70$5UgV!4zfcg$RTz zMl9puBlxH666Jct;4n&Dg^sPNjukO1n|$GZCner>6{u9#tQql_!Lq`vs(c{6mHp}S zXjP8ufo~X=m}^u>@@z6q@R}4;`(PJLm#l@ZT`e{sZ(==|X7)0L)BwN@PYoPr08vmp zMtIhow@C96h^m2h)IfoJ!Z;=n2ak1v?MpudXYy|yRtdpl8G&OUN2nJ-Cc{Y}M?-ZM zD@ZH=7a*KgO@%4o9ibvVLLF>DfeHcn%Ydyc7qymn5`_Xs>E{=wJhgu?Vj>wqFEu^o zWJBSai<~ZNQOdpev8VBwjXA9Oxdm#&{WMxTFzBVdg!!=?Q>o7N^7gxAQnTI4f^2E- zB}QwFswJ^mznmC3<@7XI-4cMuX6@<-DR4TEULqSuxZyE<!PMAVrQqgi<WM}()LjFy zklTT*N@>!wW+d2<ND$#+jTl(JoXXACAoCbW^$Sd}+FPRa1Yzl#eg&s)%g|xD4|;x} zKY*?YqgG+n6Y4S61K1wqOEsUs`qZrm|Ai%kMC*kF&X-Spk}a%zV8eh!6V?f=;t1-_ zfj?bU(wVU-#t@>fzwvs{4zv2JAdIFY2AVDvh4$&>NSq#+n^X#c;kSdlhrCM<jugkL zy&FN$$0m*^`x^V&qh>vvBs`n<r<H!6G>;63)3(C)K^jk<*6>VHo|Ms#V!{c@9s&iA zx#9ODzp7MzoKOC6EFj<Hc+{Mh$^G~oR1?L}`Oxoi%Pv(EwBj9Fr$3`}Ao|tUR`)~a zrPqC1R*qRjqXoCKPZ6$#9~T)i2om11{CWOvyVKR@%PlUxUFdTz9xh?Pmz{<$yru&l z@^Ro^ZSg6+o44I-P)_eVeYE#4=8?A~&d$yy;&YrtHzXVla|{a(-u&P>tNtaj&->MA zV8TZ~=KajdZ{Fce(B)siZvC=lyncMvrL3LSnITrFGwAk2qeFR(mx&tB`^4+xQM;OV zzWxF>{RkSzsseK^u7Oki8D-56I)}39T?f~`PxWCRis4&3anyvqvwwc{UAz~vfAysM zZzdWMgkOLSyyse}_s8gG<*3~cgeOtikCL)dvVvChqJ9CWnkfHEaiv=dqfo;~AG<KS z+6#m=yCJ_hte?_A7R}}BV$GR2g^*q3x3Rc_{(xN6tkZ1UlB`BA_lP+x4sKCPc`(Va zir*IwR0Lp8Tc^anx8k*NZ$N}AgRp~j@VP2w+JyaNnk@D{$HZxQJP+q+Ubkl-c6`eK zVO<>o9T?XTItK#SVqWlAuNfgj{{Q)NLM9Euu?)1e5)bhd;ucmk&B=npHRq3E_Q!gB zewhu<PP!j7YjUTe5m^ikg@IpJ7<al@7tZA+W0zapXa`v~YY7V!NITM{XLqq|hGa^H zhRDH#$Z27WNDOR_0aYR(9DAZ{LJUkmwz!M?+Ai&~UbTx59OXerhT-pov>pd9<hUO$ zQ&&MSwOi&Bk^0xuF4jOd^fHv-v3yf^2@zQ>ETba0fO#QB&pY$YR@2q|(wt+hmOkog z`Rf`N|5SC+Wt^7p2zW~S$DD$23)kfgR%gLL6#?*hzVR*QL4Oc}izK-JI*?iTObxWh z4ev@t*l7mSh%HVqQ0e%vEwrdou=+ON#mP_u@l*f@tEPzYhYZaNJ_+Qv1=G9$xFd`| zFNSwQv$y~h?+BKK2GjU%3WuMjUOw~tl6vSaQef(q@LTn{-qC<5s;qXWo{2}?{A5B` zVsB1I&vHm!fbUJYxc>5<7uG9LnM(&;&z@Bge1FoD=-c8Zb|v-$A-zGlv)&hau9~Xn zWXSh^DLIS)ds9qbAt)|Fb74X3^izWE(C;eeb(6hk-&Q_0Df{c4lc{&XU}U#eRN$XS zYAd(Bn;gJ9W<KFYmqNN7w5eD;H{h0T5pNslzx?GRVHcRvKWf<i#`@ga-Nuu{5>PEQ zxYc5cDGq|J1KFo~c!5}el88V~|0N!c2v1}pJdqR0cG^T&u$vpvC5aH0Gp2DQf5Bbz zt{DvaG3e+SF^FVa_<gG@dVaQtr*F3-hOtLOr7=hu60|32f^*BW>So|L9ZMw-Fu@tn z>E6nnT3I(UC2zHAN@}}Gd0Sffq}XDPDUUuW%}ZtwdSWqB)gMMMYh%7ATXa8~FND(K zEPZP_*LnArTh81{@tL|fsLSB(A6Xte;r~4IF?ejPJmR^j%hL;x_J~IX`}FSWCl3Mw zSB6DvG4xLzmsZ>2kJgzUvHv}%GS^aVvghRo2IG=E;qrYUV-LxIMln-td+Q(5Wm`=W zh&P8P^JqTrsvJEkmnOx0u0yqG<xeLq#I^dKykU7PWcXQc&D!lQPs&RRdwGWl*Zgf~ zd)Ox4*F!7>HGH7i)Oc&uhTN;vROHhGsoN5Ahib?RN)A;Ztm~f7^ej^`Y2^h~C<sN! z;Q?61i+R8?Rs>=&16BCbbhZJCDg8{Q^%w!{m=(vk$_Yh)Q=(R&D2HuTI_l`MiKUiA zC-F=`KC#llIsZhsKblOtMC@oV7U$7Dz))sbPG2wuK3VCd0f)~px#|b_27k)YoC<W= zZ}n<{r}KZmIP2lu9{ziJiFTgHP2sB^KtpLH`HJhNW|}&@{|_@6OH-+yt6IpN-l$G9 zn77@w_$A)tT|&*Qb}2_)(qk8FFIx%O^gFp~ETU*@=l$xLd18M=+e-<}!-hrw%ujMe zGvoeJ>&s6p8p^U_oY9vZwGDWfcScNrt)0pU30f`4p$S0Tcv4ngX(oJ+`Cjj6ihWNc zS_^5OGkIKtEo6l~SP-amsWdk>ITzuDmCsKcajvVvO46&PD{vxg$r47Kj=Rsexgr%X zGpGkC)P@6I2LxE2HdouN&ENJNYqkLf>r6eI&!Hh|lVyDk#U^uUCAngMXKxRa?WN)= zqMOOoXWRS2)vu7(V~AOvOI{O($XoHX4seZR>yW?BSdtzie)?FwYUwe9=E`pfUm<gm zaO8lMce(4gODTVneNATilP2!Fx8yu46{kkcK%+wwJ>Ol^^ECKExSC3x%02QPWy68i zOBM**q<f;i;fuVpL^PSlk16LclS0qm`2{@GjaTRRhR}@QostEb3JpH$;#ecAJYM}! z3tRP?xX<b-4Ny_?{QjL*N6788o>5{Ji2#vRud@+S!|%&=wn_gjSAiY_1SjRXJA8@j zudn++jW}vH!};JyGAjDVwaLcWEWq_bW^)pwDb&c<9%N0VD6D&uN{w&};RiE~ub-@e zAWw)*D^uNw@3>y#Tm|-G4ps0d*%8$U;A3Q=MO<5j8pTQn5<7}D$In%0#7~Z(QwS$G zsZx-u!1~V*D(}S*{t%d``G~t28bt{=t2t1_^)oPWQ8+kMO~A@2+~4|*7qu*<-LwYL zKCGagCE6HlI$POJIo?B0IZoP$NLtE!Xz80w4S;cABDHjn>OGgd0RzF9%wa&Wp$vx( z?Ns!F!a&_u&iGb#DS8M;RKFjLSoNki;D0n=Z8kcT2f3u@^nB&yCARgXSa9Z5FRZRL zW6IR#hH|lH2JtKqBt!o4!tFy_7G@B=c*oV!B#5)rZMUz$R+oTq?|U16TK7#UI49!# zh{?q-_0uFRFYKUo#o36KRlSvrADaglGvg+h*y$9zI@*wDz}266k^Sdvk@8&o-;gDB z&4Kg^<nxJmECaZRe2Y)@RD}sRLO;yZa;oYS7I&4EoKSUYnC>_%N})>qknVK;C2x)F zDvmrOK|6=oyI4e#9mYQ3<tY%N23fsO@h?mS?vtCIa|Atc(@v`!u%juN(<a_DTIdv| zse`>d5=v7EX;Je$YfL#w;CCGFz9;T}y(tCW(zIWmdOMky4BAnJi!4wHvAir)<pmAW zXY^{ldo=c&lVsy>r{0lis4DZc=f8l~=6C(-%i)YF6O*9}SI^&fwEy$EZrt|AfLi^) zXPFkpI;`lTwNG*}PwOqkLef8vy8S)TJs9y+#KST~btC9lCq%Py&^pxTW~f)usTA0m z=D-jq>^dG9ZGx)<cl#HvLr?kX+_8CPtiBMIR@8L!jh>$AE-P$};eBE))i>>_7bUcG zGSbdk+<R2|WGsW0jjIk&<f;((DZRb~7nvQA!>RJUMSXh7lcm7LIY}T>9Univ_@zc| zN@o_~@%B_v4Rld&xUr?IQ(avPt$KxHo-5eoE#?_a4loB7s9!bvLq$6IarRKbqMtG@ zd+6Smo8v@ucbhM7rY|=dC{>{(iNXIqs&d1YdO0+;KgkY<x)XNB{<-_;sjS3WSAEm- zi#0XST-7a=JP)7w{aXN2u<_XT6X&)%?XT}hA@+UDCKCZF7JZTu(rs)$)l-SqRai`E zQ<AmWAK@SM`DOGg_>*T~IyG*n-Z+kI-m6{CstcmQ4Qg~Jed^v~9D?tK<VSB{KKL$m z=)a(E9&3B%E-&iS7dve3n0$L}ZnWKDP2a-HbGp=Dt%Fss@8rjLe87sH(uD4*&nDrU zTQ7HKESc3zFh)CN<PDMz@|p~b2j$AmPBt=bt$ZLf51WSDobeuL?~`^snf0_luo<n` z^8sr}_fIC~TJEgg+6-EOkGnpA1{a$vIk_8I;<Ly-Vb}ZI_kpqyeln-BB)q&JNeLUn zcUlY69}j(a=1s4gqnIA!X2nQ&imzDGc(GT6nYXTm&o3;k?66DDL3ow&{bSx|&-GVn z-qzPI7JL%f0YPnYk02gS%-*@TM26H2Lf^vYQU63V=x4yRa}s-5H1UN`)GR-PICuy| zafclx_y8I81`-|Le-guyXp02x8`w&0*e$x-==$aUT$*-xyMx>10mg!6?|plSwfHvU zSwVbGrPQV5+^g-R%)cKX)WwrOx?NB^`BZR?V-`C`m}Iw6aRniUW3pKtiv8WLLbR`n z2pR>W{prP~?{aRZo<W_Xy8W4?H;(Y1os-`~bk%-*<p|#r`DtP6Cb^FPfIm50`n8aR zXjY;5ewwJhZf<bw-h>u?r~V{1H%yGyBTj+fu8u=A7}6ymJKZty>F%a99_&(vSm>28 z^p7+4eN%V`YtV^{f;rf)U(BjXeTnt2Z$^kJu<f${I&|%+fZp9NhelQo!X-*`u6}&+ z3uruXU?Y&4P1gJ-J$fV+HRx<_$4_&z*S(o7ogOE3dIwe1UR^DC5e<D2Q}0h(kcs`^ z?vqn0-S=LXBKif)ICK4^iu8LY{kj&BF~tKK%BJQX#z__UV_l1Y&rsGyiBjqJ&MN^< zHPKITqFQRy0R4EWYAT$<x1%;MfnaLDWsD*aonLe)-tTC8mT!1$PKUzR#>q@MjF_>d z__>BxhUN~PN7i*K0)2DxE=2mNY`vV23l*P1R^}q`4+1A9lZWj>dXQ};919+3k`Tsl zx7z<?8_S3$RYHi$jaFu|?E)d$DwBlVmcqG*v$xS7J)9JfW3)@10Y(aPs1ZpPJ`uaH z+O+9*l?QP%vKtLPW0u{0Rsx^@x+Yn-(ORmuTAci(ygfm~WbxHN4Ornj@#@&<kE0ch zcGDGK5-}1hIU*xuBq8!1_@QgRx_Ie#U#i8k?W=Mn;i!zCL1+b?#*(`4sqciswZF^D z2M?^f9GAm4^$^=+%U{;#zQzsr&TYWs%q_I(b)oqAt2)(Z(%*|V+%7KKMNZSZ!guSv z4!O<z?H%$L=h=mWUvI4Wr;j%3ENyzetcoua>2&X$7t$M1-YR`zeJIG--NopHA3%3~ znO*uS48lhCp&B|q7F}*|QR`$M8aGN@NSgd?(z!*tZnM6zG<}ad!#YkYha*+`7^q>} zi=zR|y9L9z^qY%S)lGqdYCFFtnE4znONSqe=M`K(HlVs;9?Qr+v&68MOfmp}4J)N6 z1smc}mBEWe3lo`w;oX4q1WV`r`AvcpihFcnYc&~^gn5aK8U|f~?Gqbuezi7R{rdAc zU$x~R@46!0*GvF}@z2zp{lhdI`5`$AgIsii4faD=@<H~WV1gCX_jG*(3($>;@>;8F zbM4;cfL#waFrd?5FgyrmaQv@&?7iH2Q)<w4XFX^rWBT35$Rg2Y@Xn_I1Jco%;43ID zk!}~PHK^Ew)Qve~SL*%ed!ND0*&<Di3kQda8No++F8-f*l{Vyf1`LF7f(^rvJuzNF z>XB;svgL5|@gTXIHk>p8_{^}b2dr6QFYibOypk9XNJlYwd3mL31%!f7)MB3BzM1J` zy{fSUgJ&<yGFQzJxo}^nldCoK1I*#VSjW&?g$jaeG`uTa?m2Bzt?diA9Vr$g*FvfP zJ>E4N=kt{v&MSD2Oq;#psOMbHBs3}>X=@s4PK$TO1r)-{wp;ucLKniJbFKRVX<`V* z9|wx9siL#YU5OmbomAXOgw}rafbhLF$2wD0c{7Uwo%x>y4PEERU*oRW0pkWL5|uH= zWOUW%;@HP?4?+&6ADi(&_467G46LrUF{OJISeG*O<?dU!F|NDZ+`xXHn&@XQ;qO1` zv#T<WSka0c0r{#uu0DhHmhsD4ZI{CUKqYa2U-yZK47}N&IcwT$o9VvRM)jtcy2dMU zMmcpBQXZ&A*$s#BTiQU?A&QwwM8^}cz`Pd>62yl5D%Yk4KTtQowVlnQUI0~*apQKC zZe%E7Fa3kDY~U~?6xuc$$ODn%$ZcUo+(Dc5IPcxsf8bZ!L~;<|y8#c`FAbIl56?ps zcI(GxpXue&a}hb1&Ep9zMIZ1UAn=1fJo{Qp+gg#dOL<JJ$|Y%mCQGrnI>(+Ka5HrO z<VMd}z}`06P3Rr)T`a&Yj3O_mT<Tq>r>j^?$*8b_TR*m(P^CnQ#bx$048Xs?v7^Sd z*lgI`=tlb=?gkD$e-w}#hY>9Gv$zs}==nn?s^3u+Xe=q)?#S3LENbBF`SXu}fj|6n ziAn%&H*%TrI@iy%WQ^?y^}|y5H9r9FXh7mM9~Ept0T-CBt`|Hh7x?Tc*BQlhl0Ww? zOiKX*9K>%D$X!8{#N6~Sbt%NeFW_###U}FPqnod#?ynq8>q#-Q)%#+-gxrnaBo6dA zU5Epglcp5jtgdrU$9*y646u6T6mC;b<&^JGnoY<vM~Z6gaxGVD`P+X5api}+)lx@5 zoS^V}r<)@J@NyAuLW`C86!Hq!eod#SDD1YGB3peJ0loYF`B#CXHkc9jqvyu%6vlb7 zPX(03;!(F1PTGC#)5~WZx>KA@qO#9wtBJ1rT)vOS=i2r3Y@G2w_Dugku6rs<?Dx`3 zjJ6g7l8+Pc&bIGP*{%F4a;Vnn#Abi-^nUQBZ@_8jH|5~z&~2Gs>e9h7rTYhDzDXPV z-BDSrm;d0AYyTlHmz*4*d$EylsOm96&)j;MP_QMT15+o5yrykC!DHPF6l;+AJ|g_G zEDi=D_b^CoYN1!<)J>DmHz)3>>2;IV?X7cXOk^pNr#>7TJ=O1f^7>2qqc{<8rRv6z zCc7Kf9}&=d@6-~w-AD+j6u8K&R42$mJE5WYI?;46H7t>pQ1>--!v5fNO04^^VlDVa zqfT5BAzXlRg(EJuz)Q}GwOeaMfvCdjt0`~{R|8#XFEk7fB&1R;yukiM)i^x|mn1Ju z_RE^EdHM2hA3bO4Ks^cy9OZ9Q$H1l`+Mr1)bLIwGvd=PU;%Ly$(i~K^uE_A=r*(XH ze*w)XetxIkPqulkE>_LyYHGLFX+1Rec;T{3=OCm*&V4RE&e+N~!zv<dR*Eq0h}R-J z2Ouy|alU>R36pC}9g$SQLr}cSUbzhz=j&cR-VqT<@j@e+%e?B9y5Qqf5DRPr|J%9o zh}o+&Z|%HE@B0KzRwL_P#wl=cDNQyje$zE7So#4<f)*rQad*jUH52Mq7gZiDUvB#5 z$LfQIQ_}X7x&f7cB0_!kJx=y$V3`j?2`cXD$j2lIgPzS*zETIFnqowoFUUcgQ)ebu zIHn9UjPIqG@r7NmX5l{4)CH53n`<`p{m{0OAk#rwb_YB~NTP%DU96mHCLmgwbsjV+ zC1On-eAtZ8?=r`rf!%&q^rSqV*=+IvCER3kPY1VVhV^SW_vu{2)>9xx82wMg`uM`n zA2+hl;DfBlReFUMBHrCB;Y<JfhyJR)8G;}BB;RiS;1cR@xfL?RC$KE8hFoa#u;92I zS3njSM#EEup=|{$wtsZ+R}oDAkiz+|{VX_EgKIwYrBF7oX+_y7HqVdfkbr*_#qOA^ z*bEqu^U{;(Pyq8v1Cx~2&MTYYofLVj?fd#o#{1tNT=CT!AG`8R@kXV>+HT{azIad8 z$PnJ%sTwIp0buI*981EQjh>j)d6rHpFGr08+7UD5npHqWoHfXDgSDmym?z;gqS?3< zEUJ(E{-1kZ4+4UWX^fc2bG7K+#hSyZ?i#XN$X8RMmv_v>8=Rf$U6f_LDh4t8R2~Ff z^3}hOwceht?b<)$pNm<z<gKvSr2(an>L!>|VU42vYGQI>lmYAE-xOfKs4gpV{d>f0 zOG4C0jFT|JwWhVbXx7+HowimH@aRk-b1uOmjo{El-5>An@%v=4LW8?V@v)9sNp$bJ zPc)>kC!{nq8`t&Re3wh;)F`UJ1&7*=HVO^fd%z#oH@H7*35-;Ym?YlVIHPWX+$rL4 zB9_dPzt-LZd53h4CdIouQd<4RLikk<wIF1AI#~Oa)5a~Gd|9`n4<!k9>}vWz-PA*+ ze6$LP5u~y;$QnV{7|cg;QBJsRE=END!sUZ2Zjoz(KW$72pM^z6yUjARpc4YAqN-W3 z_lw5#ue=X#YSSR5TvOs8=-9`3JBsygN_uUYrk?@3jY|`SFAoLYh5P~KmL{fI$OXgm z&ovqi=(|R8KG%PGV_nhcU1(U;J7889Dt_GBJ4&g|`Nv|qjt&)Jf9!(Vl(b6TM?cZy z=QbZ|0b+Ge9-TQlKq3R>aDmcEY8q{_L>OJ)C3o}b)izoO=Scp9Q{})XoF2FRVIaas zJw#Ebp^4G!|1f?`2=&9=fozh0{HS@MXY8Q5(M6m1fcw*A0U)MddpXOQm)mD?-S}>= zO2}9OXZcjASYKQxGbCsP?(lswbg>|@;n|_ri0K@a($yL*6=FV}3%Iz3e>^xqFl|=l zm|}BCz%#YBw8h&jt)1E;;a@-mm<YZ^<jg}-87A;fF0vV)hwF{Ak9GQ(bho?gQGjnS z<T<Ii$+IJA;*L#iUKu4OHrH}OEfE5N*kC?*<_AtAwR851{zH-|x05SP4_ukq-8DNE z>Ua>QoBg-~_U)FzkJw@3XUQqCK8}lrBc~F#T<?RlkduzjZ@mt?G@<5rQ{bic4w%C} z-f&iINiaD}5_il{Zs3`k4V+Xou5|g$lkDi7>Cc_p#?I^jrxv>Z`?&bmwOP-_O%VeM z{UMHH3=?JLEK}MiMzH}q?=M_7;Tnt7m}`(ex2nAy-hOQKt?!0Z^(oKjG3kyJ$)v3N z<+Etz_|MLEUampenG|r=6Do8pF2Q6yVv2jW@L|462)%Ueb$xPx?m3-?L(m(IP?5b{ zLD|tz#Y;m%gT=3~n^OY`|CQtIv_Ua?F4D~Nndtf0<Dbd*Kg0fcNwAbdA&;#OMromQ zTHc|0!MxV<a&1U2a&aSjAQu+L@?XeFQu;$in<VEAo=;BwYl>GkIARka>J2W~xa52J zg&E!<?=@@SgO9^fqwRAj18&k6>+;*{Y8i=c^1hVc3C(lbhQltYW+z;>$gjh!#!m${ zU##>NaDTP#8uigJWtp8-n{GXoke@Wxnjm~#zc6{&$WBfriau;D?RecXHQDLPI+Fm1 zn>vVR<rhO2$jK_wH$y~hIUEbZTDK`mako<J#q{c;@lE@cWL+DeZjtw4+S+nU_fF{c z&Kk7~{!e|=^wYL@zrwR*9W<h%>(!$hukT2oFq_<Gtz$l_m13E?>Fq=pejR!_d0?P1 zgfK^k{T6Z%TGWU>_vG>1GR2siC47Zb<0)O2$Wq+!6HLu|@(Y;q8!5KFo&dYE?a`>1 zU58cx(?9OkuZP4v>pT@~6%Mwwb2gEO6}k*3ROl=y$ROr6PsoNYX<rqne|dc0#g-IN za6-~*19;NcG&gcuZ{Q-Ts^~k>u0P2_G9cwi0!)Ue%%G)W4p>mV7S7erx!c%P8hQSK zte=uuPT&aJz(CxNO*dVeb<tkUA`iHR7{3bdz94o+WkOP?4fOn5?Uro-nQh=UgrnzJ zDq);HlozO7A;0x6^&zkNmz*JDA5<C66fk|{JQlCzQzF`47-|K@x@Rc)_F5-Rk7vhQ zXqv})xVy@=<r=LJX`!-XlX2=!HlN<ejUDS6lnMn0c>#0le(+-??WR-MaLZ77W{oc0 zE9h%e=Bv<ovE_JLd3(mWqEcEAf%bQ5hCj`>u;i3npBuAOB}(P088qo~(+mo%IM{f} z<@cLCy$TywNSs4aAZG&ULk(pG3hNUAQ*WO?iq+NU!bX!;!v=hV(ZU7(<?+~F6jEis zkVaOtqt9&!wUo}QKCd#SpFbb(u34K8@+zzcwRw@5+is#Dc0=0v)hfO}1}d&5DS17; zQ0JhOfc@yU5BHLNzW!bRG*i+=^o1%HcQ?gYuj5poyR{3%ff&|v|L!L4H*2wmd;51D z1@X7I&AP#{`0(<!Cx=xdv|yt;75c)@(2#Cq?jKJo0x0u`RepMJTc*F71Thl!6<emH zbsa*@n>e5H;Sn-R*Jf)U#cI!`&}UM8rbIUo$C-_s5}m&t)NZ+a9&iHn*pQimVDez4 zT-XzQ^wax@4Afxl_AVQx$^p1Y*9%a@Ze{KzUc3hwDfDzTi=0?pclwo)`#t&wO0Km* z61Tb}9w;<|U6SjJHg|$9(<d2gb?s)ibmP!w(prsH>ZL?w<(6alX4gHTyXyPN#=v4p zd19@JJ;@Nin$HkedM1l2BNq!$W{?P(B}QZ!!sAsRxp;8cML@^NbH$;oUc%^4(7Ml| z(&nJfo-MQ-IS_fYX=QRpK@li#_r7QQCi1&@jNSoymheR|boolBVP3z$o&4LH@6ih1 zC<>cYY}^6>j(@}Q!)64kL8c4Vyj8B+7nD6I_CMF8wNW!C=l#4MtA$1jT)(nr_?LHK zvv$L=&fWzvW<$H?*HGNsUI^F*b;qj|?y%{reGhBdG?7)gFm@jS?+w?c(djf^oTK)T z=@Gw35_CUPEKTF@8QaV=B3dGTd3ojT>Y2`t(EPD)F7F5Cdggpn)ut4H{VBI&58`gz zfs-;GP++fZ^dK?a>vB&nu)^eZ!W3)QkmG~w5U4Sf;n|nRzD#tZTwpfIw@6I9HDBJI z0HYfoTg10fySAf(<Ipx-i&02@>Q3Y0`<qGhC#3${k&@Hw+*$LJWww?_#-O45JtMMQ z3!_t^O<VffH&-b_OPY5I=6ux%&j#zV&6@7ZKCt80lHTJn*YO_AN{3h{_@tM{9x6i> zquY2G(r8+sGEqb+ZZfSqV@>{iFX($*gm9terR>Ww5yF=X^?P*x2sqpBlh%L4;&Ls+ zLlRke4%%RH!-fQ6^}(%QBfN~!wQIr*dxH!Q%ZbZ<!*(6td1t>?_Z*YSNt$^6l*;N@ zYqW~BdDnd4!t%DKlVW{+e<w$pYbD;53s_F3c$nzjjP;a!NA~wSte>^>VX@w6%4ow; zrj(HS@%tpkBI37-9}J9(XN1$bJx7)N3f3Xg4flw3%|cb(dqDLARb*;_rzw&wxY`s3 zano_|o$W|OPMZbq8xJj=`nk!HI;LM5y_|&aIIIGi*+0oWrF9)OQ;_MEmx}?LnHigt zr!-E9rTP?$$@VKQtTqx)E7xe=N_H8*)ICpQXcO^Ljz~?sF7n~G`fuvvzpvK!1o+wv zTVs6$Z%pUgb{`P<GjbvoG&yBf@;d)n`A&mXp<;hPMunL|j+$ugmRg&(ruz(gzf(l# zRr028<b(i$og##`NX>EPRU5>(*wiC5RJIugCTDJ?XLw@zSs`wr^jlJrt)HkZ7w38m zJOi2lVvhS6q0rO13C>Uh7j1EHIhlKmWpz<)%1R2P+fm!Ez716q@|kJtH0-|R-ago) zRa(AZ-#u8`;U2mlmk~BosWDXk`wqLIG9~HnY4>|ase_7xCq+g)BsuJ7WaX&H(5zj3 z_}lzll$I)4@%~R}ppqc%Zo7+T<Ya_JEKN#u@E!R#cwSEICRcwxB)NCBEXPyME$~2m zX%g}2lhP~jW9j2oO72tki_6zV8nc#pqCW#oe`<9TQiHn=CsI_D&UjE3@10!8`@C9Z z^!%mv6ijAiW+Fjyobr9rE$v*;)dClDD@M|gbG#=#!=?02LhXC>YW4Q<7Gz@MJR>l5 z?Px#1lLFQ4lSyLilbxSfv0pt+xxz(BzmKSkOkjyWc?4T=SUuhS*6(%BvvlG5E%fqg z0oHJEfIXD48u~g!HaC`$^c)%@IBDmq0$i+lmh%Xx9=LG2E#@i6)gb+%ptqM!zm5mI z)nxgzgll_W(Q2-fYJ^Q|cscn~;n^+(L1d0&LsA$kK2ceI#e=MPd}|F5CvHFZLr$=@ z98)D@Hk97GQg0skqn`=_uSR=Dh?tm>bUD(S?q>QL;^c9ARZ6gsNu(cGCqFA9oTjA| zW<uI0-plS+{zHUybCYU5_0Xgx%MQIsb)O+en7%hHryT67G43igq3^CA7kiQ-DyLHA zzdI6vetEf$C3y1KtI6bv*Q_%)6uu?>Jy}m>v!OKaX7q@aTESs2+*A5JDbdApwqSX? zd=V2w|I14iWBv17gU`4|PB@)vztmEnd3g8*3sF&;N}Iq#G~dR)K#Iyw*U6(cu^rzh z@R}>zuwCZ1BVlkffbjGJdq{=5n=k!>rBQlVt#s;8P8J3_oe+(Mc6!B|JkP6h6Tn(e z;-5pM=2P*+i2O*Suw$ePaMHk$r=RuAVWr~tK!bJ3HW>niWhrkvk{K@J%=03my3HRx z?y&n65`n>9)Z+c9x0%jEKu;g0*ES%-O2TQy<y^C$3AS(tocz-)8YSp@vk$`V4mg=# za4YY0o#vxy2pwl<h5*I@Im3cr_2NyJ@nCkp3Q=K^q4*p0$%}(5c?+?FVpsnNIN$v3 z!eD8+vyBkm#^vXzb>=wc7eLziA%rVz75Y{N8ISi(9vHPJ$G?wAEPC&Aan&tSV-U4Y zBl^N$wWy2OwB-4IW8-65{NAUQS|w){*WOb2DuC_T5Z#Dafu2aGW}k|V{T!l}Hc@jg z#jOAKA2zN*Qw%3mO>t!lH~=%>=GyNjeoZf9=bg&sPKVurADIEHAKAPL(|v*5zr~kg zX8^^IFVs@*G{a)N`MKewpJPQ5`_k#P0Y#US!}PiD)AYK57!!Dc>cb51Y};|S6YQa! zwegm0US;`^i`Mo&VPKo$WV7*YLN~wGI|TI)nce8(Pp4hYe{2%b<lsPJanYJaGXn<$ zjFL5qs+$Z*UUh-SOWH9c*7KA;PM-GuwjTl=HtRP?Uuvy;z#jtpT?W<d=T*Gj(mg<< zJo@V3NQ7?D?l7`M>Yt}-q}RvI0<hidci_8s@WD~C&FIDI(_DB7HGNg1v$mRh&Pq6s z8eYcu4MG0g+;t#N=eGXffPx}&#eQaPJ}l37-%SPH4dgH2P&e7SaJMp~(7{vkBR(<o ze2oG#$K>&Vb5e^+@keiv4QFH7YfOngU<~3|&|;6RTL`eRqAK1<tGtKbiGnw}jaxpt z_~U~*$$`PQW9m!RAD<*6<qg)d@_8<`qBidg>6relr9Ah`vOET91fHz<Y4-Mc<AX_} znmK_Nk?(0qlgEaIDd4s*2MZ8YPCGw1eI<E}pn;Q97h*2f9ZDrxPx0ne)FK*+b+vy& zrv~*@sP=uO|F|Qw^xo@dbd3N0orh=0?8}-b&66LdBb#^Yo0~E$luoQxnNS@NJ2m-e zdie8T1S152-}L&{51oK(vCL!wb8=gB88=%-p=-hJIuZc^GOue~5gYC{@}(`v!`(2* zbde0?^Z;aKXZSePtvVfL^KeQXy~w=z_AfJu17(@V<DQE|ziHI(FC4ZLtRga+TZQFH z=I_j7O|zI+B<wUzzpj5EQqW&&+o-n&A?x;P>FBrTY~iDmQ(+0~6v=BzjE%Ket2kS+ z+UN0k({0qTAy2%D%5n<CgUpTv;{PHRKRdtf{)+DH8hii=wu8cI1y=Kw+z5+B`-gSN zFs8=NgewE*zz1u#wfToMO9J8RM8{}PL$0%|&?=KW`0<<f!)*J-Gz<t;RSdjM$CDMi z7^Za0Gb8b|C^U5W0ZpYvxL#Dz4p_{2Xd%>0Y7Ts;P4A!Bss9{!FQ!ILWVFd0V$%nI zxv!XdBAfVq0;|hmsedQBD~aAW)N2vW!83wvO0=M<O_!)q{F`gho^WC5>QL>4`kaz{ z2B>xK^~#Jq8+DqjZa=SbZZvBW$PywB_UmNLZ@cDSeqJ>H@La8Y$m=552>hkk`x8%h zb+?&ex*TLaK4=epBe>UZ`{ep;r(ZRW+^I<$17RJZlmM9Hd`~#I^G?dRSgxp+qRKAv z<P+S=;RwAjpOcmq0h-y*^X9sZLJ#OneE89C^fdis(bkz0z|VIFad*W8z3%kL!LD8Q zHMtN*AIr~a>x&4%mhVg_-GX8tLQ6Je4_RC#H6O@d{^z~dr`yC->UHxqVYaxCGRW5o z>Tvtpx6zYFitd2C#e=Q_gmQ9rADptdpd#jTmWaPFa?LVs`^66HRBno-gPl4N#1+iO zVQh7BT5M3Y%Xb|ZpjvRMOpFs;@gCREjGBdIg7Ri>$EuR6daa3FV*;VFxgsoy_6z1$ z;39&2AXEINn<zBJ1frJjQvd1g^@SvAlWI<>Qo^d9@l5ni&v5x;|4FF}DKYk`bU(vJ z8Pucm&*-Un6^|RN|A2wfTd~wL&2#HB->FSu4!C6*u55^yNe%Gb8xk4X;*~gP7D`(a z<_wEx9=0t;Lthjzl(yHl{`8D@^n_}n!C5sABH($a)RxAk5_PTfe8g$weJu*exC6_c zYqIWS(YhBbIM>R*q$P=02qKq<L7=>sNM1*Y&bBbRt}HnsdW*Ek(U*<A@@~@w677)$ zdd)gc&VEJp{CjyK&V^Z`d3N{gj_pusmbU;i3-X!mDp+k=R1_L?+GWrN_{zTJnpyKz z=G<0oO|ei>;^;pgr^{A9oa{7H$#GYBPH$H1bI~k9cse(qXdFz-nx~3{3<_7s-o;(A z+|j(Xf7vc2OO!)@vfpwlQ9(K#YTsjvG^=ddI)Tq}xA_f{>MrCm4BI#98+8DuQoa+d zeXh0%#6GLAPCP}0KzDoU9)LXwaHQaTaQ?Yk&R2G5aB>z)OcIa34V<r=_5I+sPnV=Z zIPLDUogMF7mbJrAv`EQrMvz#alOGj7`kY)#xQOHhuR7I!%BrpjSIs>AZOc-LTsG>9 z{HAC`8V~Qcs@J`;v|@I2=xIo7?TsLm4#%!4z80$`_2v??kKRI?5Dgh2ANhTX=^FCD z;%nXf>$X|=OW6dg3*9=T{&s~gweqsaJ=g~VR!tSuf%D@D805jMrX0vuIafQ5X>w7$ zkrY$bugG=45>L$+H)*eTY=6YxKEmFv9d}H5@8FJHawLG#2*G81Ad{>N6;`XxVzMev zxjGsO$WSGq*Y^;aPy$aZz@88N{ulKP><X2rh=0|&dwdq=HR5{72X&K}NBpPd(`O36 zA(0C4GU4h7Ert44SRVj>U9f5*b-eK?*2Z0%0SVJsq{8k<{nti<iojU^LCwMciXgzR z@C(QkmK)1cB&X>ulfaRDYV#1R2Kv+xN*DuW;}DyCv@Psly4yX=to@h|UK8oAeoBXW zbCzkL-qV{ctxhHgytDeg)LEwQtJhW4U4=iUc59K;h|Z8robu~xZeC*kgvOUz8F(kO zK`@;IstwCm0*Vg`vm_Y}dOl2(EB%Vhjd=Ud2%LPW7brQKk^J@1$sJ2++QfLAFgy^f zuvnAO+spBk6TemNC=!wyN{C)9+ApL-z8M=Vp@C)^x*Jjrz`dH~O^!!Zlw#1;J=PDp zEzlpaZ9FMQz*a1YR}aKR7{^4ojR_#Wb<|2>kz1y2m)EF*Pv=4XERAn<>by(eiEctb z-7?-KkfBH64j+QH*CT*f7kA;@vYZncjz%ypLKwzXsHW()fSSe<Ai94x{$XPK@oIZP zt<L&Pirv0mwI9BDq37ejUrUekzWQlgsIoOZr|ASnTv;`qdaYRT-IMLQFXfU&zX1MI zj4Y1W{$ufsmaAMl8La8VR?qc(%ZF(<40YB$_>S=%e4NEb4HKKXeiKdms<NM7=zm?} zNDe`~<hQNb9xwgq>nFOdT5#&_IYmU?NN`;<-Xd+6OirG|hsuXmhwUQYTKxhN>&5WS zdiz?3=3T6KC7pWrNyA3o@~5-g?h%x)t8R#YCxlh-r$emNb|y^Kc7||huRy}nuguZz z!_e6vBeJO@bdax@{{gODsqh{z1f0y@AzPecn%|a-e&d;Y@#{x1(WR_My9sYRj}mmm zK9q~-CKEQa37OA>;rh5Q++YW7bdNRX9i%;cvEC4=dmxQ#XauX(;2VulEdNCqn%|bs zXF=>yBKDLsKYs(^<`DbQ$!49;iRh5nJDU$qZp;67TAcq4;5@%CWyiM?unZr12k;3I z|BXVbP)v0pAL-1;`5Elljtq^!r(OUoWHI+}0Dy~eONoQDFj*X_RrNY>yD^QoNIlKJ zKD49KUdao_MTr4!;WXmoEC4E20L|U6r+ivlbFTakmIUOh-6+d*V3(z+LM;y?xHL>} z8(B1&nD&mq@d;DAvkT#Mn=XGs{_ap)y>0xSTB?@6@TlFE{(v(Kqp6h=x>Rq9QN!g7 zZpLT1e5q|XIv$$|X3)*opox)a76#OB{Z*B0uIZJ^D{o0j<bY26P7nui-TPoPa2^*` z2hq%t_E11xR}e>68jW+UR0uMT03xFw`J750m6JvSQtWm>5(g~ii&cRf`(oV@oDZHM zT<1p=iFybwE~<~5{y7$hS}c-TiFeBvFoA;!R$rKc$6IhJW4H+kfkP0acMzX$B9IGb zL;2o_qMDK<Kw{SfQ-Q}^XlHeo_)$L8hS<UHA|cA#7CPU-=R`J0UHeR|3EpW$50bza z23Pw2u3>hq-q^gSmTjh8sPce<+j3rMvaiovjgI8sPkx-qI{VtPrn$0N6>@U*wstw@ z$NIk9IVV%v=f{jttHi!*ujPakZ)bLG*k5t^aa~XB@&){;^;;A1v+aW_0!~hnS4G$; z;_EIAqwA&_2Vh()Xz&BXzp(b8r~g9S_kiu<;|x9w1K4w+g4O&+oFMmqGy?=<)j-Ah z`1cftJ-~cNWiW^lqrhow4DA>ht^^O7v4kt2ms?)PmpdOUI9f}`8Rma@&%7<(qo=mU z?<Mk5crfRo&d8vaWje90XOY@Fe9t?FUoJ_;#bW6$@dTTjY&$)L!9M4JXPvEx%LA@= zFK0PVw^MVIyiGZwh&6!b^VnVVPSIq+nX`F080|kztdb@Ttd``u!lI<{9*Wk0XETcw z>iEpbzI@py&{wPawgAmbovXtyM1lWBt@`o12z&|nJSOA4Pn0PB@4=Uf59a?5+P}vh z0$BW&0PwDk8i9K@0^6fO1@r$DX#O9U|F7xnO~LmlMWkw~`@fiiu>UR*5E$M8{ZO=F z_npuo&aTfj#mS-s%G&CfGh=$6MjMX>0syqRukoPU^7&!)^n2IMBx;VfLDgbCxGp(H zvz~_ee~QW(W@`A{UsCuwz(yQOUVm>%h}?3ti9rzh02wC_M;H60<Y7hp*DkM6kC>Nc zS{ho6q)M(+zb-QRNIM2M1gsX-r*{z*O3&Bc&?8BkmY%D<VWxZ}5y@M<CDPouNw^MS z5&gLC%E{9O*Zqez*4j<4sVI@-XLt%<RlF~%<qPX}D{=vi0cdfA0yTO;$Sd9IX5D~h z*`pLYC@?~vi6l0|MJolrr6ZSj+0oS$#Z)Kwx7s`mg_tst$PyO<P<Ns8u^#gxwJnSM z=4$OKH7GQguSkKuFA%cO%48>)CPhWN|CGa#OJY&rb*Cqj{M9rP>I`+YK{u&M>v5&y zfL?X+g-b6?UfVSPl+e6ta}2U$HXf1r3y^WG_`c}8PW`<53-En|STs&5@01(KjViGS zY4`=C{Tx;Q1%wR6mtW@c1H<~xoq={kBmK9Lnlc;>Q3;xi<x+XU%8bo}vR3KI@~L%8 zjhAmX5qUqEvVY}XYlLf4Z<#jk*D9!7#5M&AK)`@FePT@fQ?99RC3(MZa9Zj!7*JkA z-w@H7=nf-qCz?;+HVL}kbvss@CXlpn-Z})*6tP>vxmM7MJ76HMcqn7U`8Re%%)D+( zbZ#Ma9i8^CSLGWQS03Qwn79hH0>QNZ95$bH;>O<|@VzUX%y+|l@4KgAd|RW4C1nm% zqxFW44ZUlqRG}@|9BC_Q=5?|ov@j2$`z^C}Nh*vx0v|Gb@;`!0ebUwMs`w$>!=9a5 z&7qpQ&N4$VEdGT|93AzdtvK91KF~JrA$l>lOW+|UG%j#CDfmu_Z}^&3eDWynkJ3`2 z`5M|foW2>rkr`9}EE_>VjKsR3B5x=ss|W}K%*&GbrGW8~0`Rl8x3-pKi@Ngk#LC&1 zsw2h`2HvgatIK)#)pobxOg@sF;3I;wN8reyVPk%Dfr~xHGc4~5q52lW$z1t8(%>GK zCVG!{#HZX);UtAU9AbW&!hd8wu|RwloYWyoMR-(S@8KIPE9PGlHQHOSamT%{1i(6k zplyT>(PSqfeq=M=L$QCtQjI`VgsY=IC7&<`r+{4fr}05${{q(e8CZzJlMt5m<r%eh zRZkI!9N4iaUz0}sUOGX9B;(@Pa(VOPCa3#xYM2`E_es+HdDiA2@<uG{CC9|kHrZVl z+2hvo(RtW)SY=G$R5whFJh>rw)Q4l;8WG8ht`xakxLY$APfVpxr)w)2nP}_-4J*5F zTHSROS8pXti6;^7)2GW_z{zgf3?NXNmzOu4%&<IPDX3X;Kfly#KS_!Q$FODeOh}+* zo~-*ToF`P=)QQ|#gA_?1)vn$~0tBUiD8Ps`tV7ycR9K~WH=9RoJ%ONkOS~|v@62=H zJELH+LXl~=!bs5EbWJZy#jEdu;gFWpf|D^s@O=G6&SHLQ+YYkz>BCfgP<bq2=6g;= z$s25!%S%yGkzUQ|jNU#-)0vUm?o;=F0sW0@^NMe~)+%`27K%GR>ftLXD&IbH)soHz zb@m5_D{kl)TLr#baV|42=BV9&;4HXweLc(SMdk6IOGlIa`}5PiuSds0t|hfzN6Upe z`w~nPr0moxv-I@m4>8%aNbQQAu~+?P6qUS1W8eN2Ovj2VrUDnOG6uAAt`<Z;eidYY z;iDmqkMmLmA>T+o{mt(FshpTNyZ%oHpX}TjRa3S-Y;W2I{x;<hce;5NR^62q#E(<| z<IQ3J(m#d%4P0gE@6k*)Uw`;H&c9aoFL{CQ)%Q3IdvARayR<DxVIr8_?ij8}j>F7a zt~TQ8g}tNt13xiF+&Zdb=GUkvmM_TRRlb^O4m|8ME4yWIM~yl0W0dG+z)3NITQ3g| z^1BuB8t=*JbJJDZe(f4L_@SQL3GVQSyQ}fjsXCX&haN9C%&)QRd2c&WwZ+DwW+y5P z^M(U%9cslg54rAlcAE;!D`k|24FExK#h%@|*Z@b8LvR@NL|bst17#;uTw-Ocn}bUY zbjjsE)Gnc8e|9iECnCH<FbM4Pt}=++w&bX>A43VsA)WT9X*5;gjR^$bhT`3VrLolW z8ccyDs<*wTK#rIfH%UqP)MQtS6H$_KrM``>S8C*LaVY`0tcBJ!lMfjSdu%D@7Sib1 z>4|rXk;E})kk0&gnZXa5a+pJWyfB|ht5Dsu_i1m(vuBR5{%$}AE@7Ep5rHwM1_XKu z@a<F{gy1_iR|kM4KqFE(k$1%EU53#f(<&1w=AcU5Kx#=XGK1g+cY9fv7NYuYwq}~` zgx4+p;JT`GGo;;6UnBeV>$Zo(#=)hqR)t5WSg&8DTd3`n+^imed_0S@?h`2TFW-5L z{pgtH5_&BF^I?86lwqr6Aow^~2*$XR>a<~C(qBsUbt{i}^fAJVUk4FSVf;2WnW#{G zOC(?B(!>p$4fPrJSuS8rBgVV@hAblkOddhW6e9%9C-ReFIHfJDgpX>Ax2tBj15g4U zvws2arbESeaiRF*ibBv`uX(lnB?T4Ehz+Srz!FZXUTP-X)sCO&KBTuRIN5#ufo_x4 zqWtUTcZlCVUwhTm(e(?sv|~2#*Vc-RtIdG+K<uEFN_ND`##x)JTTeFcVOkIFJUuu$ zv73Dx*ZC#mrfqUv8`-qxSdRVAbx)x5YW^9+GPRGZ+9Jm@nc=C}Xz%-|VZAFSf<0T# zOy5(zb02JyTXXQ-b#O)G^gp%jjfT&CyJ|}TdP)XH53L@0Uhs-U>~t<!BH}=l&enc_ zoEzhy5|_}LoE>x~1Y@3YMWkgq-2Y|IXKg?CC)N~@Ui@FacbvlG+xhY6l~s{h9lx9B zEx^x(06wCPzean5uK^cW)dh)F4*`nIj2HGu{%U5<k0Iwt@0Nl<>E2zotNLj@k1K<$ zE6%~~{B%oduOlcrTbQnh;s_o?F=w;~YjT8oYUvNza+>Oa;yhH(P>zkG1M;|Zj`#W6 z(C-ts!b<+a2OmF`x9N<;JEkWXEp0lj?lP;3CPG@Tki@T$2KsTNO$>sY0UgPIznH_P zx+*0yhpnJR^%(x{1tH4UToD{UC;%2vzBL5r@S_S}D>483=D~-T>_rW6L9QMrI=}J) zNBYa3LWb812B^GXrVUvFK#BqEV44@mj#Zu0rv&F4A%8o^k1G^BKbQm1F#csJvPeD` z6d%J+p>ORagn?ja5sOv5pw6n!Cv-gJ@?(?{TqunT3!H4R5B>OHLW|F9u>akZVkKqD zxUEgNrLT7YB}X<?Of)!>KZ#dX{lfxfla4#|PLlYM@FqAH;^Z?LnB;BO`^79sHpOzS z9kb!ROo3E#+@gfvzCorZuVY`Zls#F-vV5;5D2*Lu$%DvtwLug4N*6#2RAUJR=CC{n zNAnIV#Ukgy7|}i$J8FpqBd+5XoE+g$CehuPPkVGUmPfIL>%J0FT_DT6)e;5>3H%sm zM3dt&`xvHJhABpvRD<LLcA*`MIcjh_W)Ga7v4Hln75)g?Qw)VqCkM4}DX%|h*+Log z1YOD%UHX%G<*1g*%$rgf3j?d<uYzih9<4wBu2ca3b)(xFy|nVrnKB<bTl0Wvr(JI# z?QMtFOzP|Z!_v3MGx@*&kBuRXL~UVKn{&w_wK-GHISYw$K81{O%=u6>W2B^+L(b$- z4%5k0%$b~X$g(kV$~i*6y+7aIpSvI1z5Bi&ulssk*YkQlpI079x~NX<{*hp(8(!Ik zfzW=2+7gY<vaIxLTmB|4B%tPBFdSFK27<GgiP*`-{gfJ?iyoT4i%b0B{{Xq?<ar?m zP)whJ;9-Re!z;7<-rg_zV%qO&RqD)ARg;ot*PqVCj;-qMo;z!NUr#th;|Xr$`r}g9 zWj7)=WM#815C#^0QLnz)V+q48ivao}_ZRi5Th=8$o@GE2n?bGxJLQ+0Q_u9ciA_~= zErb@0YBElQyf4j|=@{O=^o$BCy<EIweaj@ObId2PAtFWx7jT)}9{JW@#n(Q=C!pcz zksnNv*YPS$3lgd+Eu(KruHw=oJu7E=pA?b-8gsN8BAjxo6#7(vOZG>w#y2l5ZHMI6 zv>rdo;C7MTU_!exxH{Kv>6R?JyEaf?vpDhZP9<H$vZ}IQ(lI?2DZx^0?7}HrrLKeN z@mfiPgWn8Tn;mNf-{8G&8Ec$kF74pz#rkOZUv7kDEn`;lMJ{SP9>bOrOkXn8Dgri% zSs7+784`@!&Tx#g-gq|b{}q4I<0S+CivWU_-~PiL{wpD$)Slr0SrSqLZh!i6Y4sGj z%P7+sscOLfGS+mqcII<NUdnY#vfaH)#G!Rv)tEl7d6s0GCHrPwssrb`zTmQ$k>jUf zN5GUh2kT`2WqYhDjLfYoCymu@M+mYRamdN||Cjd-&SvwT%M_&lf4RDY&j00ttRzwe z_um`#zulaZpe-`=xQKd*^{V}M$L6R0mpHP2c6s((&|H;Ey1SQEB4A4MyZO3Pt_Pnl zv4yE~O5f~9UwX`mDRyH2tr8fO^};~V%_$||j<yaNA!Z-ydq3al6*0#xK156U`V*1~ zM-uv6diyz-=kVb{W}}qi$<Zenyqw-Txcem@sUun((hB&kW(iifh+i_W{ehd!#Qc|z z6tOb}Pr>U)5j<%jmzIIuL&jD?x~hQYqGI;ve)9Z04wkde(gA{G!56Py1EBLyE%dx& zEDZad%m&O?%e%8Ietl)zA0!{swR&znRPYaQv&_DHl{cThQ85_$TrUmtDYa$F#`oxH zbyB9XSFcki{kUjQ!>TY?<eJu@LB-&orR%1rek}Hv2u9n>J?iQ!Odk{Z2RLzmo4$NS z4EI>(^q(xZ*RdsCfdNX2xTB}d>49&X3dwnY>}ua0&vAH!ApE5Tf*qVAtj4H6kLEL0 z(hZyyFc!nOi--_)=^(JIs)}sNy~jZ8@nZB|$Ui_ewfk_@wzS18Jo-Q~-doZ*sNrhu zNlzbALhc73p_4YBCm)!bD%2kRnerre;#RpiH$0REPhi~NEyO$3NhTiXsA>6&EyqoL zsdtT9W@>yHY%FL_`Z;G8^*~F*xkHi+p8OaP#YvhN{IMaCp|`0smld3VfWIcG{En>D zqgq73&hodTl5f-^Mbg7hQRpRMhq6gQhTnx9hQ}K03Jm>_TJADzGGUfxIttW(fZNSm zpWY|^PB?z%3J7+Et(A##C50Z8Ki}-<t#a4lKHKEatEd-51ca&cAxo8wj0e)+J`*3~ zJyxdr$m}VR3EQFN^fq=j56aaAj2WbCoXgA73uNm6k+9?RJzF!u<nu1qGQ&v;ZYP%r zOSgUG<OGDWinyCMiTnoJYq-BWiyu_WoZ3Wtq&v=C1_>Cd(IDfUi$5v^?glgusidZE zUO@ul2g`q*Ni4|}Fo{;xhXuxFpUmu}0!T3<5yx*&%<nuj`<t&*n1v9)NJ@^?uGtQT z`p-=u6{Rh|-{;U$=k8deGFj1r8p%7nF7f0_Pfl^!j_2e7rTSjmu6(!nOWkuurNL*e z@T!Kus+X37^EMan{rTMT)8WonsX^6Bal3CCdOx)+hJyh%kNX@UZ}sl|$-MdSTg~d} zIMeV*sZrEFK(a}H@2R0<yq@5K#hXo6dR>3s;%suluOmP-njdq|r6^@#>W`_R9E9mb zY(k`S>fbAvFFaa*HQw9MbZ7Z*WbHwT{B%%f-(9n-u`VB85EQZxRW@XVh3}~vzs*pl zeFjT{<L+L)9{Y-<wf8rh!6Yx*U!9dO>KGKP_j@HY98|}GakBqcVEg?CPC0OXGi3ok zG3L@<MU=~#z2KC(lX5*LOdoRebzQBqc}5IVmy$#ZwmFjvSzQB`{_Vdy+ya}#A@QFJ z1Q#nf{fB@RW>M^o!b{fP_Zs;L-!nJM2aDyNK6Y8#(1tXC$D5TSMTU8cO+{RPJi&kY zFFt-{`Dn0WSP@8!1p|FFDA2dK>bF%$yHo(ioyk$6%BB@xgYtk9NG!LDV*_=B!<oM9 zzmZB7%Ac!+Uf7PIfP2=Q8?5NGq_6%PtK(cC%je@E{liV)|NE6_irF8_N<FJXClLG* zZm9VJFYE5k+`qHu)e_skQRe=sF-^4yDB3U9FWBbdqhKA~bZKVxT_Se8BmbzR#Kfre zXl2S|i(s~K3DTAmnENR&RWDPA&PW%FYU#>rj{cx&p;e_Bwk4LO%%Y5Y%pLtcXu}w2 ze$`YVB<rf1H%(ho$E}lon7=}ZYy+6APXDR1g->xJtRIQ9p4749tcMu=bTWd^Rcl%C zxogDcie*0aH-p6+`FX2EX&^*XTlaIDVq(;9%`6F-&D`nDKQ}_mRyU2agU?Zllo2`+ zR$oy=?<BL*Eq;`G*+oAtEjp{;+j(St*)kcB`kv?RSy5dF*Vw^ANp)|BU|HP0<!}Oz zKdYTbE}ArJlkkGN;=L7&-#wL9XYDAnIIEpAmxstzSAORM7cHd(4|sI#+`LMk&F5u_ za!3Skl`yu?Ws<3@Na9eFo7EL|g%tl~Y>sxF6uS6go0fg*a7-BT(u<PSO9?rEC=&_q z=AvG8K-8}*R!VwawF38EMe64$>Bg`Q@OYTO3MqykEXdYjuP)hfxSCul!CA4fihvjq z>ETxE?XVixp&urSnwOolxN#ZW?OKb}7T-ZvgO7VhLcF`?x2l(t=}$yM$YKSUYL$rS zlT-4y_C7p)AP#ky;}-iIOasQZhpNj8FpXLaUWO7pu2+^nuCqj=G`J7~il!=uQsm_j zTMg-NE1hEA-ok@Y-Ja`cvDfa?e^y5{?9NZu{kVBUpP}S1@yB^S?8CI-cm9*YiReIu z^zL+PcCHTfw?i2tzZ+im`ZdfwXto4&fCJEbrV2QQ(-snp`RQ=1Nt3_Ym;nCnx_d)T zf7Vpf=+zbc1I(ut#w+z#skVDOzQN(@A1oBCA=Ot`K^cl*L<SFyor{Uurb7PeJtG(& z|Bzn)$;&Ij#}3UP3?Tr3iSYPe$ItRR_)Ls^RyDfVSYsva4#c!aDry6Vhg=(mMQ2ug z&g$YiZjK9ZiLi6iGW5aVJZ$d$yYH8tB-4g!JZ~DXH3o<Pjwy+7B8fnp05?V`_|^sI zpNgVtx5^wd49|CcjpOo^&CCciM3y=QNXalI8bf%W9r^w+e~MGgml0$zhzugT7F7+h z9d^m$+^L*j?plUm7K5nIm~A+d0$?~XB>@vp%*ZA#!n*I89&=9neD}~=i5W++8&I)0 zl5EkV&%SS#Gc8>Cg((JF;(bxB8QPeBh6;-(($khdaWD9JSO;&}T5gIKpi!aER9`(Q z6vH;KjQpOhy^)nXv+3W_F{Mfr0aBpg(RV{XWo;(sXKr_I-ot(X^p5{lR2T>1vtGXT zwztVTY8;*aImdg|P}M_^E}KZbZ3t!JEW^(_bT}$qH^8|}^L2p|lMF#b0W&obC;The zj+LLQ*#1a^4dQD^mbn2El)*U)6}tk6(T`H8)I9EGb{91By-TEB7|v3N1b!gphE|&V zoQ7XP5BYVy;p&($pe$h2?u$9_*?UV=Yq%!9w{EGwBR<rJJg4lgRcy;vN72%UE_|oC z4KAw0Hl0>*ROCl((mil`ApoT_)c{`ZzwrRZ`t6uYkqSYnDnnQvZUrFA+J+^i?rL`Q z9~E1H=}hXJI@YhoAJ06i-}U|12e|seK!{S|Ojr;{>&EPjr&G0E&7Nu?ivvsEIIBW> zy5XgzCodf}%(lXu&w;12oMxhh<5=ahh(PJt0C08qN4V^<Lpj;eLEqWn;Ir3^w0sHa z2K}0)%I^0~q|SL>uXlOTx)F;}H`8Pe3E5nKNmQD+sR$cdZbPJJ+z0`K0<B4op{;7M zxOLrNrq;I<zCTaDi?D-N^<hi8A_YMSL#NPZbNCcFJQlt>5r1Q2TNw`yIBdO38iO|g zfXocQgccJ4Y>(Kt@#&S78~N-O8%K>NGQsIG9ZFo(HCUqn7ZkBR?0F#DJNIdBswr@D z>b-&87OzolC$$uwW%JYW2Hae-$CAR&g(RehQfoC|qwcu5f3B?RV3U;e+67`3+f{DV zr(C+%%v=Rj4Lb2-2XI?kMawa-Kr<d%P|x$$?gj`aH_rm*#%nb0v;6g+rrhE&6F5Vt zWq@`oY<GM11xWAyW_K>-cX2Wd3?$^0m@&<6>D|e(O;w2FH_XhtIs@9@E{=%lyr}iJ z3~sB|WeccVz_hDwjy9}3co`cBp}qBcyk>4n(fUk-a33t4py4qInMQ3LUDco2FzVcW zk>viG*VlJt-dlIA&t2uz(UKfsu+21ZH`MmM8@h9I8Q=QO-K48WzKV(hMDs>(SLUwA z>sR!8Hab=jL|Xw!Y%2vrg|>N8&PY8@HAb{6a-r4u&Hh9uURCQVOKqlOcS8cdAVmTF z;L@f!>r%Nmw;_XXlPh?=Yclz`Kmf{#lp7i8z3<qzP0fKeWs0141ET=o>+r9cL!;$W z-kBYBz;o4*n=cbF>L0QF#ok}ASkd}m`D;J)<~MVN*D^bJ`4DX50+=<MJd50<CmRbp zcmDydKSIF6M-z~e8Z*PTS6=-xgKex{k>Tj%B_l=H7F3ui3$GmvyWEqM2yrTDMn8xn zt?vt2J#Jfj%=Fj7`2As}$jV;5SXU`@022y-1(X!^p1L+{<2^#joed=ziCmsXxYmKi zvMUWEy%v_ApZLjkUSA8)$vC=Hed&pyC6J^|!^Mvel_xK-;ELQ7DgOWYQVB}TO8xjz z!fI&oXa`Gpv079t=E46p5YDjlhX2DdSVa@76N9zXDeK)VM=lxBGS8J4Cg(vxd{%>{ z8_rvZLlfiA)qr+R8Gp;i9R(+xn>NCO#j@0{1D#^j+q98e6?2;e{L>70TX`{bk9)UY z*?M!k=y;BOQ9M>b*OvUgsnK$%3m_V(FLwLOx^iM9{es4fET;#G#?nA|0ylcitL`_5 zWVAO=(N0WaG}EiuH`{i1Vf-tPA>%0A(bcW0MTz0+F{S>qQ>L7z=xt!yU{;&!H-F`q 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 OWH@4sf}sER=Klf8*FakU literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/menu/menu.png b/src/minigram/miniprogram/static/menu/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..390baad53c67311abb4e5c6f78776f9809ec2bc1 GIT binary patch literal 6343 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 literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/menu/menu_active.png b/src/minigram/miniprogram/static/menu/menu_active.png new file mode 100644 index 0000000000000000000000000000000000000000..10b43e42234123d5d1b226288029d2f9b9e2057f GIT binary patch literal 6575 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 literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/my/my.png b/src/minigram/miniprogram/static/my/my.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cba5147fb8fb4f8e93d95d411b65c37d2b1042 GIT binary patch literal 6566 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 b{ugGgw57S|ZfyYl@dD^+-$IvZ**yCn>aasb literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/my/my_active.png b/src/minigram/miniprogram/static/my/my_active.png new file mode 100644 index 0000000000000000000000000000000000000000..865edae9ca78e3da522f7be1a59ac6ec2d06883b GIT binary patch literal 7067 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 G7GB%q7hNUoJEYI8zpRe+@ zb{{ijM$2-rVH}C<jgE#iHt%Io>W09yiTPfeGqr{d0FQ2Cd~Wr`TOXl{$(p={ifov+ zXqEEIGz}YV$)#W2i`mTW^DEBh;K3jV`7?>6aO+|7qO^#{LL51ad@<dS-o^zV>H~#u zYJ{N#TKeAEhs7dL0;&^8*V$GVZdq=!@ujb|4;M`E^DY(f<MKVS^(D#wS4UT@Qh#1+ VB&mm};{LV)ULe%u3ZEeZ{}05vO$Pt~ literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/static/sumbit/OIP-C.jpg b/src/minigram/miniprogram/static/sumbit/OIP-C.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da2f799af9e40ab913c680dab4c1ffbe107f70ab GIT binary patch literal 12014 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 NHsb#RKL|hhzX0=GRWJYm literal 0 HcmV?d00001 diff --git a/src/minigram/miniprogram/utils/util.ts b/src/minigram/miniprogram/utils/util.ts new file mode 100644 index 0000000..4923bb7 --- /dev/null +++ b/src/minigram/miniprogram/utils/util.ts @@ -0,0 +1,19 @@ +export const formatTime = (date: Date) => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + // const hour = date.getHours() + // const minute = date.getMinutes() + // const second = date.getSeconds() + + return ( + [year, month, day].map(formatNumber).join('-') + // + ' ' + + // [hour, minute, second].map(formatNumber).join(':') + ) +} + +const formatNumber = (n: number) => { + const s = n.toString() + return s[1] ? s : '0' + s +} diff --git a/src/minigram/package.json b/src/minigram/package.json new file mode 100644 index 0000000..5f731b7 --- /dev/null +++ b/src/minigram/package.json @@ -0,0 +1,15 @@ +{ + "name": "miniprogram-ts-less-quickstart", + "version": "1.0.0", + "description": "", + "scripts": { + }, + "keywords": [], + "author": "", + "license": "", + "dependencies": { + }, + "devDependencies": { + "miniprogram-api-typings": "^2.8.3-1" + } +} diff --git a/src/minigram/project.config.json b/src/minigram/project.config.json new file mode 100644 index 0000000..a13c9dc --- /dev/null +++ b/src/minigram/project.config.json @@ -0,0 +1,48 @@ +{ + "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "miniprogramRoot": "miniprogram/", + "compileType": "miniprogram", + "setting": { + "useCompilerPlugins": [ + "typescript" + ], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "es6": true, + "enhance": true, + "coverView": true, + "postcss": true, + "lazyloadPlaceholderEnable": false, + "preloadBackgroundData": false, + "minified": true, + "autoAudits": false, + "uglifyFileName": false, + "uploadWithSourceMap": true, + "showShadowRootInWxmlPanel": true, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "useStaticServer": true, + "showES6CompileOption": false, + "checkInvalidKey": true, + "disableUseStrict": false, + "minifyWXML": true, + "ignoreUploadUnusedFiles": true + }, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": {}, + "srcMiniprogramRoot": "miniprogram/", + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + }, + "packOptions": { + "ignore": [], + "include": [] + }, + "appid": "wx954296403ec15396" +} \ No newline at end of file diff --git a/src/minigram/project.private.config.json b/src/minigram/project.private.config.json new file mode 100644 index 0000000..3068cb1 --- /dev/null +++ b/src/minigram/project.private.config.json @@ -0,0 +1,9 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "%E7%8F%AD%E7%BA%A7%E9%80%9A%E5%B0%8F%E7%A8%8B%E5%BA%8F", + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "libVersion": "2.17.0" +} \ No newline at end of file diff --git a/src/minigram/tsconfig.json b/src/minigram/tsconfig.json new file mode 100644 index 0000000..ade784e --- /dev/null +++ b/src/minigram/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "strictNullChecks": true, + "noImplicitAny": true, + "module": "CommonJS", + "target": "ES2020", + "allowJs": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "noImplicitThis": true, + "noImplicitReturns": true, + "alwaysStrict": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "strictPropertyInitialization": true, + "lib": ["ES2020"], + "typeRoots": [ + "./typings" + ] + }, + "include": [ + "./**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/src/minigram/typings/index.d.ts b/src/minigram/typings/index.d.ts new file mode 100644 index 0000000..3ee60c8 --- /dev/null +++ b/src/minigram/typings/index.d.ts @@ -0,0 +1,8 @@ +/// <reference path="./types/index.d.ts" /> + +interface IAppOption { + globalData: { + userInfo?: WechatMiniprogram.UserInfo, + } + userInfoReadyCallback?: WechatMiniprogram.GetUserInfoSuccessCallback, +} \ No newline at end of file diff --git a/src/minigram/typings/types/index.d.ts b/src/minigram/typings/types/index.d.ts new file mode 100644 index 0000000..a5e8a7c --- /dev/null +++ b/src/minigram/typings/types/index.d.ts @@ -0,0 +1 @@ +/// <reference path="./wx/index.d.ts" /> diff --git a/src/minigram/typings/types/wx/index.d.ts b/src/minigram/typings/types/wx/index.d.ts new file mode 100644 index 0000000..8ecd122 --- /dev/null +++ b/src/minigram/typings/types/wx/index.d.ts @@ -0,0 +1,134 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +/// <reference path="./lib.wx.app.d.ts" /> +/// <reference path="./lib.wx.page.d.ts" /> +/// <reference path="./lib.wx.api.d.ts" /> +/// <reference path="./lib.wx.cloud.d.ts" /> +/// <reference path="./lib.wx.component.d.ts" /> +/// <reference path="./lib.wx.behavior.d.ts" /> +/// <reference path="./lib.wx.event.d.ts" /> + +declare namespace WechatMiniprogram { + type IAnyObject = Record<string, any> + type Optional<F> = F extends (arg: infer P) => infer R ? (arg?: P) => R : F + type OptionalInterface<T> = { [K in keyof T]: Optional<T[K]> } + interface AsyncMethodOptionLike { + success?: (...args: any[]) => void + } + type PromisifySuccessResult< + P, + T extends AsyncMethodOptionLike + > = P extends { + success: any + } + ? void + : P extends { fail: any } + ? void + : P extends { complete: any } + ? void + : Promise<Parameters<Exclude<T['success'], undefined>>[0]> + + // TODO: Extract real definition from `lib.dom.d.ts` to replace this + type IIRFilterNode = any + type WaveShaperNode = any + type ConstantSourceNode = any + type OscillatorNode = any + type GainNode = any + type BiquadFilterNode = any + type PeriodicWaveNode = any + type BufferSourceNode = any + type ChannelSplitterNode = any + type ChannelMergerNode = any + type DelayNode = any + type DynamicsCompressorNode = any + type ScriptProcessorNode = any + type PannerNode = any + type AnalyserNode = any + type AudioListener = any + type WebGLTexture = any + type WebGLRenderingContext = any +} + +declare let console: WechatMiniprogram.Console + +declare let wx: WechatMiniprogram.Wx +/** 引入模块。返回模块通过 `module.exports` 或 `exports` 暴露的接口。 */ +declare function require( + /** 需要引入模块文件相对于当前文件的相对路径,或 npm 模块名,或 npm 模块路径。不支持绝对路径 */ + module: string +): any +/** 引入插件。返回插件通过 `main` 暴露的接口。 */ +declare function requirePlugin( + /** 需要引入的插件的 alias */ + module: string +): any +/** 插件引入当前使用者小程序。返回使用者小程序通过 [插件配置中 `export` 暴露的接口](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html#%E5%AF%BC%E5%87%BA%E5%88%B0%E6%8F%92%E4%BB%B6)。 + * + * 该接口只在插件中存在 + * + * 最低基础库: `2.11.1` */ +declare function requireMiniProgram(): any +/** 当前模块对象 */ +declare let module: { + /** 模块向外暴露的对象,使用 `require` 引用该模块时可以获取 */ + exports: any +} +/** `module.exports` 的引用 */ +declare let exports: any + +/** [clearInterval(number intervalID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearInterval.html) + * + * 取消由 setInterval 设置的定时器。 */ +declare function clearInterval( + /** 要取消的定时器的 ID */ + intervalID: number +): void +/** [clearTimeout(number timeoutID)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/clearTimeout.html) + * + * 取消由 setTimeout 设置的定时器。 */ +declare function clearTimeout( + /** 要取消的定时器的 ID */ + timeoutID: number +): void +/** [number setInterval(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setInterval.html) + * + * 设定一个定时器。按照指定的周期(以毫秒计)来执行注册的回调函数 */ +declare function setInterval( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 执行回调函数之间的时间间隔,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number +/** [number setTimeout(function callback, number delay, any rest)](https://developers.weixin.qq.com/miniprogram/dev/api/base/timer/setTimeout.html) + * + * 设定一个定时器。在定时到期以后执行注册的回调函数 */ +declare function setTimeout( + /** 回调函数 */ + callback: (...args: any[]) => any, + /** 延迟的时间,函数的调用会在该延迟之后发生,单位 ms。 */ + delay?: number, + /** param1, param2, ..., paramN 等附加参数,它们会作为参数传递给回调函数。 */ + rest?: any +): number diff --git a/src/minigram/typings/types/wx/lib.wx.api.d.ts b/src/minigram/typings/types/wx/lib.wx.api.d.ts new file mode 100644 index 0000000..1c3963c --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.api.d.ts @@ -0,0 +1,28855 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface AccessFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${path}': 文件/目录不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AccessOption { + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AccessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AccessFailCallback + /** 接口调用成功的回调函数 */ + success?: AccessSuccessCallback + } + /** 帐号信息 */ + interface AccountInfo { + /** 小程序帐号信息 */ + miniProgram: MiniProgram + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + plugin: Plugin + } + interface AddArcOption { + /** 终点 */ + end: MapPostion + /** 圆弧 id */ + id: number + /** 起始点 */ + start: MapPostion + /** 夹角角度 */ + angle?: number + /** 线的颜色 */ + color?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddArcFailCallback + /** 途经点 */ + pass?: MapPostion + /** 接口调用成功的回调函数 */ + success?: AddArcSuccessCallback + /** 线宽 */ + width?: number + } + interface AddCardOption { + /** 需要添加的卡券列表 */ + cardList: AddCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCardFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCardSuccessCallback + } + /** 需要添加的卡券列表 */ + interface AddCardRequestInfo { + /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */ + cardExt: string + /** 卡券 ID */ + cardId: string + } + /** 卡券添加结果列表 */ + interface AddCardResponseInfo { + /** 卡券的扩展参数,结构请参考下文 */ + cardExt: string + /** 用户领取到卡券的 ID */ + cardId: string + /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + /** 是否成功 */ + isSuccess: boolean + } + interface AddCardSuccessCallbackResult { + /** 卡券添加结果列表 */ + cardList: AddCardResponseInfo[] + errMsg: string + } + interface AddCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: AddCustomLayerSuccessCallback + } + interface AddFileToFavoritesOption { + /** 要收藏的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddFileToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddFileToFavoritesFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: AddFileToFavoritesSuccessCallback + } + interface AddGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface AddMarkersOption { + /** 同传入 map 组件的 marker 属性 */ + markers: any[] + /** 是否先清空地图上所有 marker */ + clear?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: AddMarkersSuccessCallback + } + interface AddPhoneCalendarOption { + /** 开始时间的 unix 时间戳 */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneCalendarFailCallback + /** 事件位置 */ + location?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneCalendarSuccessCallback + } + interface AddPhoneContactOption { + /** 名字 */ + firstName: string + /** 联系地址城市 */ + addressCity?: string + /** 联系地址国家 */ + addressCountry?: string + /** 联系地址邮政编码 */ + addressPostalCode?: string + /** 联系地址省份 */ + addressState?: string + /** 联系地址街道 */ + addressStreet?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneContactCompleteCallback + /** 电子邮件 */ + email?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneContactFailCallback + /** 住宅地址城市 */ + homeAddressCity?: string + /** 住宅地址国家 */ + homeAddressCountry?: string + /** 住宅地址邮政编码 */ + homeAddressPostalCode?: string + /** 住宅地址省份 */ + homeAddressState?: string + /** 住宅地址街道 */ + homeAddressStreet?: string + /** 住宅传真 */ + homeFaxNumber?: string + /** 住宅电话 */ + homePhoneNumber?: string + /** 公司电话 */ + hostNumber?: string + /** 姓氏 */ + lastName?: string + /** 中间名 */ + middleName?: string + /** 手机号 */ + mobilePhoneNumber?: string + /** 昵称 */ + nickName?: string + /** 公司 */ + organization?: string + /** 头像本地文件路径 */ + photoFilePath?: string + /** 备注 */ + remark?: string + /** 接口调用成功的回调函数 */ + success?: AddPhoneContactSuccessCallback + /** 职位 */ + title?: string + /** 网站 */ + url?: string + /** 微信号 */ + weChatNumber?: string + /** 工作地址城市 */ + workAddressCity?: string + /** 工作地址国家 */ + workAddressCountry?: string + /** 工作地址邮政编码 */ + workAddressPostalCode?: string + /** 工作地址省份 */ + workAddressState?: string + /** 工作地址街道 */ + workAddressStreet?: string + /** 工作传真 */ + workFaxNumber?: string + /** 工作电话 */ + workPhoneNumber?: string + } + interface AddPhoneRepeatCalendarOption { + /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */ + startTime: number + /** 日历事件标题 */ + title: string + /** 是否提醒,默认 true */ + alarm?: boolean + /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */ + alarmOffset?: number + /** 是否全天事件,默认 false */ + allDay?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddPhoneRepeatCalendarCompleteCallback + /** 事件说明 */ + description?: string + /** 结束时间的 unix 时间戳,默认与开始时间相同 */ + endTime?: string + /** 接口调用失败的回调函数 */ + fail?: AddPhoneRepeatCalendarFailCallback + /** 事件位置 */ + location?: string + /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */ + repeatEndTime?: number + /** 重复周期,默认 month 每月重复 + * + * 可选值: + * - 'day': 每天重复; + * - 'week': 每周重复; + * - 'month': 每月重复。该模式日期不能大于 28 日; + * - 'year': 每年重复; */ + repeatInterval?: 'day' | 'week' | 'month' | 'year' + /** 接口调用成功的回调函数 */ + success?: AddPhoneRepeatCalendarSuccessCallback + } + interface AddServiceOption { + /** 描述service的Object */ + service: BLEPeripheralService + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: AddServiceSuccessCallback + } + interface AddVideoToFavoritesOption { + /** 要收藏的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVideoToFavoritesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVideoToFavoritesFailCallback + /** 接口调用成功的回调函数 */ + success?: AddVideoToFavoritesSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface AddVisualLayerOption { + /** 可视化图层id([创建图层指引](https://lbs.qq.com/dev/console/layers/layerEdit)) */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AddVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AddVisualLayerFailCallback + /** 刷新周期,单位秒 */ + interval?: number + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: AddVisualLayerSuccessCallback + /** 图层绘制顺序 */ + zIndex?: number + } + /** 广播自定义参数 */ + interface AdvertiseReqObj { + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + beacon?: BeaconInfoObj + /** 当前设备是否可连接 */ + connectable?: boolean + /** 广播中 deviceName 字段,默认为空 */ + deviceName?: string + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + manufacturerData?: ManufacturerData[] + /** 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 */ + serviceUuids?: string[] + } + /** animationData */ + interface AnimationExportResult { + actions: IAnyObject[] + } + /** 动画效果 */ + interface AnimationOption { + /** 动画变化时间,单位 ms */ + duration?: number + /** 动画变化方式 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'easeIn': 动画以低速开始; + * - 'easeOut': 动画以低速结束; + * - 'easeInOut': 动画以低速开始和结束; */ + timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' + } + interface AppAuthorizeSetting { + /** 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用蓝牙的开关(仅 iOS 有效) */ + bluetoothAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用摄像头的开关 */ + cameraAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信使用定位的开关 */ + locationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */ + locationReducedAccuracy: boolean + /** 允许微信使用麦克风的开关 */ + microphoneAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知的开关 */ + notificationAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: 'authorized' | 'denied' | 'not determined' + /** 允许微信读写日历的开关 */ + phoneCalendarAuthorized: 'authorized' | 'denied' | 'not determined' + } + interface AppBaseInfo { + /** 客户端基础库版本 */ + SDKVersion: string + /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 当前小程序运行的宿主环境 */ + host: AppBaseInfoHost + /** 微信设置的语言 */ + language: string + /** 微信版本号 */ + version: string + /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 当前小程序运行的宿主环境 */ + interface AppBaseInfoHost { + /** 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) */ + appId: string + } + interface AppendFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 文件不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface AppendFileOption { + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要追加内容的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AppendFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: AppendFileFailCallback + /** 接口调用成功的回调函数 */ + success?: AppendFileSuccessCallback + } + interface Asset { + src: string + /** 可选值: + * - 'font': 字体; + * - 'image': 图片; */ + type: 'font' | 'image' + } + /** 需要基础库: `2.19.0` + * + * AudioBuffer接口表示存在内存里的一段短小的音频资源,利用[WebAudioContext.decodeAudioData](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)方法从一个音频文件构建,或者利用 [AudioContext.createBuffer](#)从原始数据构建。把音频放入AudioBuffer后,可以传入到一个 AudioBufferSourceNode进行播放。 */ + interface AudioBuffer { + /** 返回存储在缓存区的PCM数据的时长(单位为秒) */ + duration: number + /** 返回存储在缓存区的PCM数据的采样帧率 */ + length: number + /** 储存在缓存区的PCM数据的通道数 */ + numberOfChannels: number + /** 存储在缓存区的PCM数据的采样率(单位为sample/s) */ + sampleRate: number + } + interface AuthPrivateMessageOption { + /** shareTicket。可以从 wx.onShow 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthPrivateMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthPrivateMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthPrivateMessageSuccessCallback + } + interface AuthPrivateMessageSuccessCallbackResult { + /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + /** 验证是否通过 */ + valid: boolean + } + /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */ + interface AuthSetting { + /** 是否授权系统日历,对应接口 [wx.addPhoneRepeatCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html)、[wx.addPhoneCalendar](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) */ + 'scope.addPhoneCalendar'?: boolean + /** 是否添加通讯录联系人,对应接口 [wx.addPhoneContact](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) */ + 'scope.addPhoneContact'?: boolean + /** 是否授权通讯地址,已取消此项授权,会默认返回true */ + 'scope.address'?: boolean + /** 是否授权蓝牙,对应接口 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html)、[wx.createBLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) */ + 'scope.bluetooth'?: boolean + /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */ + 'scope.camera'?: boolean + /** 是否授权获取发票,已取消此项授权,会默认返回true */ + 'scope.invoice'?: boolean + /** 是否授权发票抬头,已取消此项授权,会默认返回true */ + 'scope.invoiceTitle'?: boolean + /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */ + 'scope.record'?: boolean + /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */ + 'scope.userInfo'?: boolean + /** 是否授权地理位置,对应接口 [wx.getLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html), [wx.chooseLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) */ + 'scope.userLocation'?: boolean + /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */ + 'scope.werun'?: boolean + /** 是否授权保存到相册 [wx.saveImageToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html), [wx.saveVideoToPhotosAlbum](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) */ + 'scope.writePhotosAlbum'?: boolean + } + interface AuthorizeForMiniProgramOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) + * + * 可选值: + * - 'scope.record': ; + * - 'scope.writePhotosAlbum': ; + * - 'scope.camera': ; */ + scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeForMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeForMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeForMiniProgramSuccessCallback + } + interface AuthorizeOption { + /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) */ + scope: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: AuthorizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: AuthorizeFailCallback + /** 接口调用成功的回调函数 */ + success?: AuthorizeSuccessCallback + } + /** 设备特征列表 */ + interface BLECharacteristic { + /** 该特征支持的操作类型 */ + properties: BLECharacteristicProperties + /** 蓝牙设备特征的 UUID */ + uuid: string + } + /** 该特征支持的操作类型 */ + interface BLECharacteristicProperties { + /** 该特征是否支持 indicate 操作 */ + indicate: boolean + /** 该特征是否支持 notify 操作 */ + notify: boolean + /** 该特征是否支持 read 操作 */ + read: boolean + /** 该特征是否支持 write 操作 */ + write: boolean + /** 该特征是否支持有回复写操作 */ + writeDefault: boolean + /** 该特征是否支持无回复写操作 */ + writeNoResponse: boolean + } + interface BLEPeripheralServerCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + /** 描述service的Object */ + interface BLEPeripheralService { + /** characteristics列表 */ + characteristics: Characteristic[] + /** 蓝牙服务的 UUID */ + uuid: string + } + /** 设备服务列表 */ + interface BLEService { + /** 该服务是否为主服务 */ + isPrimary: boolean + /** 蓝牙设备服务的 UUID */ + uuid: string + } + /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。 +* +* **示例代码** +* +* ```js +const backgroundAudioManager = wx.getBackgroundAudioManager() + +backgroundAudioManager.title = '此时此刻' +backgroundAudioManager.epname = '此时此刻' +backgroundAudioManager.singer = '许巍' +backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000' +// 设置了 src 之后会自动播放 +backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +``` */ + interface BackgroundAudioManager { + /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */ + buffered: number + /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */ + coverImgUrl: string + /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */ + currentTime: number + /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */ + duration: number + /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + epname: string + /** 当前是否暂停或停止。(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `1.9.94` + * + * 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。 */ + protocol: string + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + singer: string + /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */ + src: string + /** 音频开始播放的位置(单位:s)。 */ + startTime: number + /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */ + title: string + /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */ + webUrl: string + } + interface BatchGetStorageOption { + /** 本地缓存中指定的 keyList */ + keyList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchGetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchGetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchGetStorageSuccessCallback + } + interface BatchSetStorageOption { + /** { key, value } */ + kvList: IAnyObject + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BatchSetStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BatchSetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: BatchSetStorageSuccessCallback + } + /** Beacon 设备 */ + interface BeaconInfo { + /** Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 */ + accuracy: number + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** 表示设备距离的枚举值(仅iOS) + * + * 可选值: + * - 0: 信号太弱不足以计算距离,或非 iOS 设备; + * - 1: 十分近; + * - 2: 比较近; + * - 3: 远; */ + proximity: 0 | 1 | 2 | 3 + /** 表示设备的信号强度,单位 dBm */ + rssi: number + /** Beacon 设备广播的 UUID */ + uuid: string + } + /** 需要基础库: `2.20.1` + * + * 以 beacon 设备形式广播的参数。 */ + interface BeaconInfoObj { + /** Beacon 设备的主 ID */ + major: number + /** Beacon 设备的次 ID */ + minor: number + /** Beacon 设备广播的 UUID */ + uuid: string + /** 用于判断距离设备 1 米时 RSSI 大小的参考值 */ + measuredPower?: number + } + interface BindWifiOption { + /** 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 */ + BSSID: string + } + interface BlueToothDevice { + /** 当前蓝牙设备的信号强度,单位 dBm */ + RSSI: number + /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */ + advertisData: ArrayBuffer + /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */ + advertisServiceUUIDs: string[] + /** 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) */ + connectable: boolean + /** 蓝牙设备 id */ + deviceId: string + /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */ + localName: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */ + serviceData: IAnyObject + } + /** 搜索到的设备列表 */ + interface BluetoothDeviceInfo { + /** 用于区分设备的 id */ + deviceId: string + /** 蓝牙设备名称,某些设备可能没有 */ + name: string + } + interface BlurOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: BlurCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: BlurFailCallback + /** 接口调用成功的回调函数 */ + success?: BlurSuccessCallback + } + interface BoundingClientRectCallbackResult { + /** 节点的下边界坐标 */ + bottom: number + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的高度 */ + height: number + /** 节点的 ID */ + id: string + /** 节点的左边界坐标 */ + left: number + /** 节点的右边界坐标 */ + right: number + /** 节点的上边界坐标 */ + top: number + /** 节点的宽度 */ + width: number + } + /** 目标边界 */ + interface BoundingClientRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + /** 需要基础库: `2.24.0` + * + * 缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力: + * + * 1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。 + * 2. 在网络通畅时,某些 wx api 调用会被缓存。 + * 3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。 + * 4. 提供进入和退出弱网/离线状态的事件。 + * + * > 1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。 + * > 2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。 */ + interface CacheManager { + /** 全局缓存有效时间 */ + maxAge: string + /** 当前缓存模式 + * + * 可选值: + * - 'weakNetwork': 默认值,弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin: string + /** 当前缓存管理器状态 + * + * 可选值: + * - 0: 不使用缓存返回; + * - 1: 使用缓存返回; + * - 2: 未知; */ + state: 0 | 1 | 2 + } + interface CameraContextStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: CameraContextStartRecordSuccessCallback + /** 需要基础库: `2.22.0` + * + * 录制时长上限,单位为秒,最长不能超过 5 分钟 */ + timeout?: number + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + timeoutCallback?: StartRecordTimeoutCallback + } + interface CameraContextStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 启动视频压缩,压缩效果同`chooseVideo` */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: CameraContextStopRecordSuccessCallback + } + interface CameraFrameListenerStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) + * + * 需要基础库: `2.25.1` + * + * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */ + worker?: Worker + } + /** 需要基础库: `2.7.0` + * + * Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。 + * + * **示例代码** + * + * 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM) + * + * WebGL 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z) */ + interface Canvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + /** @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */ + interface CanvasContext { + /** 需要基础库: `1.9.90` + * + * 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。 */ + fillStyle: string | CanvasGradient + /** 需要基础库: `1.9.90` + * + * 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。 */ + font: string + /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + globalAlpha: number + /** 需要基础库: `1.9.90` + * + * 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。 + * + * 目前支持的操作有 + * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light + * - iOS:xor, source-over, source-atop, destination-over, destination-out, lighter, multiply, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, saturation, luminosity */ + globalCompositeOperation: string + /** 需要基础库: `1.9.90` + * + * 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。 */ + lineCap: string + /** 需要基础库: `1.9.90` + * + * 虚线偏移量,初始值为0 */ + lineDashOffset: number + /** 需要基础库: `1.9.90` + * + * 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。 + * + * 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + /** 需要基础库: `1.9.90` + * + * 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。 */ + lineWidth: number + /** 需要基础库: `1.9.90` + * + * 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。 */ + miterLimit: number + /** 需要基础库: `1.9.90` + * + * 阴影的模糊级别 */ + shadowBlur: number + /** 需要基础库: `1.9.90` + * + * 阴影的颜色 */ + shadowColor: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在水平方向的偏移 */ + shadowOffsetX: number + /** 需要基础库: `1.9.90` + * + * 阴影相对于形状在竖直方向的偏移 */ + shadowOffsetY: number + /** 需要基础库: `1.9.90` + * + * 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。 */ + strokeStyle: string | CanvasGradient + } + interface CanvasGetImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */ + canvasId: string + /** 将要被提取的图像数据矩形区域的高度 */ + height: number + /** 将要被提取的图像数据矩形区域的宽度 */ + width: number + /** 将要被提取的图像数据矩形区域的左上角横坐标 */ + x: number + /** 将要被提取的图像数据矩形区域的左上角纵坐标 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasGetImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasGetImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasGetImageDataSuccessCallback + } + interface CanvasGetImageDataSuccessCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + errMsg: string + } + interface CanvasPutImageDataOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */ + canvasId: string + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: Uint8ClampedArray + /** 源图像数据矩形区域的高度 */ + height: number + /** 源图像数据矩形区域的宽度 */ + width: number + /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */ + x: number + /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasPutImageDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CanvasPutImageDataFailCallback + /** 接口调用成功的回调函数 */ + success?: CanvasPutImageDataSuccessCallback + } + interface CanvasToTempFilePathOption { + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */ + canvas?: IAnyObject + /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */ + canvasId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CanvasToTempFilePathCompleteCallback + /** 需要基础库: `1.2.0` + * + * 输出的图片的高度 */ + destHeight?: number + /** 需要基础库: `1.2.0` + * + * 输出的图片的宽度 */ + destWidth?: number + /** 接口调用失败的回调函数 */ + fail?: CanvasToTempFilePathFailCallback + /** 需要基础库: `1.7.0` + * + * 目标文件的类型 + * + * 可选值: + * - 'jpg': jpg 图片; + * - 'png': png 图片; */ + fileType?: 'jpg' | 'png' + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的高度 */ + height?: number + /** 需要基础库: `1.7.0` + * + * 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CanvasToTempFilePathSuccessCallback + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的宽度 */ + width?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角横坐标 */ + x?: number + /** 需要基础库: `1.2.0` + * + * 指定的画布区域的左上角纵坐标 */ + y?: number + } + interface CanvasToTempFilePathSuccessCallbackResult { + /** 生成文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + /** characteristics列表 */ + interface Characteristic { + /** characteristic 的 UUID */ + uuid: string + /** 描述符数据 */ + descriptors?: CharacteristicDescriptor[] + /** 特征权限 */ + permission?: CharacteristicPermission + /** 特征支持的操作 */ + properties?: CharacteristicProperties + /** 特征对应的二进制值 */ + value?: ArrayBuffer + } + /** 描述符数据 */ + interface CharacteristicDescriptor { + /** Descriptor 的 UUID */ + uuid: string + /** 描述符的权限 */ + permission?: DescriptorPermission + /** 描述符数据 */ + value?: ArrayBuffer + } + /** 特征权限 */ + interface CharacteristicPermission { + /** 加密读请求 */ + readEncryptionRequired?: boolean + /** 可读 */ + readable?: boolean + /** 加密写请求 */ + writeEncryptionRequired?: boolean + /** 可写 */ + writeable?: boolean + } + /** 特征支持的操作 */ + interface CharacteristicProperties { + /** 回包 */ + indicate?: boolean + /** 订阅 */ + notify?: boolean + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + /** 无回复写 */ + writeNoResponse?: boolean + } + interface CheckIsOpenAccessibilityOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsOpenAccessibilityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsOpenAccessibilityFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsOpenAccessibilitySuccessCallback + } + interface CheckIsOpenAccessibilitySuccessCallbackOption { + /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */ + open: boolean + } + interface CheckIsSoterEnrolledInDeviceOption { + /** 认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + checkAuthMode: 'fingerPrint' | 'facial' | 'speech' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSoterEnrolledInDeviceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSoterEnrolledInDeviceFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSoterEnrolledInDeviceSuccessCallback + } + interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 是否已录入信息 */ + isEnrolled: boolean + } + interface CheckIsSupportSoterAuthenticationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckIsSupportSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckIsSupportSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckIsSupportSoterAuthenticationSuccessCallback + } + interface CheckIsSupportSoterAuthenticationSuccessCallbackResult { + /** 该设备支持的可被SOTER识别的生物识别方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + supportMode: Array<'fingerPrint' | 'facial' | 'speech'> + errMsg: string + } + interface CheckSessionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CheckSessionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CheckSessionFailCallback + /** 接口调用成功的回调函数 */ + success?: CheckSessionSuccessCallback + } + interface ChooseAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseAddressSuccessCallback + } + interface ChooseAddressSuccessCallbackResult { + /** 国标收货地址第二级地址 */ + cityName: string + /** 国标收货地址第三级地址 */ + countyName: string + /** 详细收货地址信息(包括街道地址) */ + detailInfo: string + /** 新选择器详细收货地址信息 */ + detailInfoNew: string + /** 错误信息 */ + errMsg: string + /** 收货地址国家码 */ + nationalCode: string + /** 邮编 */ + postalCode: string + /** 国标收货地址第一级地址 */ + provinceName: string + /** 国标收货地址第四级地址 */ + streetName: string + /** 收货人手机号码 */ + telNumber: string + /** 收货人姓名 */ + userName: string + } + interface ChooseContactOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseContactCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseContactFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseContactSuccessCallback + } + interface ChooseContactSuccessCallbackOption { + /** 联系人姓名 */ + displayName: string + /** 手机号 */ + phoneNumber: string + /** 选定联系人的所有手机号(部分 Android 系统只能选联系人而不能选特定手机号) */ + phoneNumberList: string + } + /** 返回选择的文件的本地临时文件对象数组 */ + interface ChooseFile { + /** 选择的文件名称 */ + name: string + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */ + time: number + /** 选择的文件类型 + * + * 可选值: + * - 'video': 选择了视频文件; + * - 'image': 选择了图片文件; + * - 'file': 选择了除图片和视频的文件; */ + type: 'video' | 'image' | 'file' + } + interface ChooseImageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseImageCompleteCallback + /** 最多可以选择的图片张数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseImageFailCallback + /** 所选的图片的尺寸 + * + * 可选值: + * - 'original': 原图; + * - 'compressed': 压缩图; */ + sizeType?: Array<'original' | 'compressed'> + /** 选择图片的来源 + * + * 可选值: + * - 'album': 从相册选图; + * - 'camera': 使用相机; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseImageSuccessCallback + } + interface ChooseImageSuccessCallbackResult { + /** 图片的本地临时文件路径列表 (本地路径) */ + tempFilePaths: string[] + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + tempFiles: ImageFile[] + errMsg: string + } + interface ChooseInvoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceSuccessCallback + } + interface ChooseInvoiceSuccessCallbackResult { + /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */ + invoiceInfo: string + errMsg: string + } + interface ChooseInvoiceTitleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseInvoiceTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseInvoiceTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseInvoiceTitleSuccessCallback + } + interface ChooseInvoiceTitleSuccessCallbackResult { + /** 银行账号 */ + bankAccount: string + /** 银行名称 */ + bankName: string + /** 单位地址 */ + companyAddress: string + /** 错误信息 */ + errMsg: string + /** 抬头税号 */ + taxNumber: string + /** 手机号码 */ + telephone: string + /** 抬头名称 */ + title: string + /** 抬头类型 + * + * 可选值: + * - 0: 单位; + * - 1: 个人; */ + type: 0 | 1 + } + interface ChooseLicensePlateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLicensePlateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLicensePlateFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseLicensePlateSuccessCallback + } + interface ChooseLicensePlateSuccessCallbackResult { + /** 用户选择的车牌号 */ + plateNumber: string + errMsg: string + } + interface ChooseLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChooseLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 目标地纬度 */ + latitude?: number + /** 需要基础库: `2.9.0` + * + * 目标地经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: ChooseLocationSuccessCallback + } + interface ChooseLocationSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 位置名称 */ + name: string + errMsg: string + } + interface ChooseMediaOption { + /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头 + * + * 可选值: + * - 'back': 使用后置摄像头; + * - 'front': 使用前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMediaCompleteCallback + /** 最多可以选择的文件个数 */ + count?: number + /** 接口调用失败的回调函数 */ + fail?: ChooseMediaFailCallback + /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 */ + maxDuration?: number + /** 文件类型 + * + * 可选值: + * - 'image': 只能拍摄图片或从相册选择图片; + * - 'video': 只能拍摄视频或从相册选择视频; + * - 'mix': 可同时选择图片和视频; */ + mediaType?: Array<'image' | 'video' | 'mix'> + /** 仅对 mediaType 为 image 时有效,是否压缩所选文件 */ + sizeType?: string[] + /** 图片和视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择; + * - 'camera': 使用相机拍摄; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseMediaSuccessCallback + } + interface ChooseMediaSuccessCallbackResult { + /** 本地临时文件列表 */ + tempFiles: MediaFile[] + /** 文件类型,有效值有 image 、video、mix */ + type: string + errMsg: string + } + interface ChooseMessageFileOption { + /** 最多可以选择的文件个数,可以 0~100 */ + count: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseMessageFileCompleteCallback + /** 需要基础库: `2.6.0` + * + * 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 */ + extension?: string[] + /** 接口调用失败的回调函数 */ + fail?: ChooseMessageFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ChooseMessageFileSuccessCallback + /** 所选的文件的类型 + * + * 可选值: + * - 'all': 从所有文件选择; + * - 'video': 只能选择视频文件; + * - 'image': 只能选择图片文件; + * - 'file': 可以选择除了图片和视频之外的其它的文件; */ + type?: 'all' | 'video' | 'image' | 'file' + } + interface ChooseMessageFileSuccessCallbackResult { + /** 返回选择的文件的本地临时文件对象数组 */ + tempFiles: ChooseFile[] + errMsg: string + } + interface ChoosePoiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChoosePoiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ChoosePoiFailCallback + /** 接口调用成功的回调函数 */ + success?: ChoosePoiSuccessCallback + } + interface ChoosePoiSuccessCallbackResult { + /** 详细地址 */ + address: string + /** 城市名称 */ + city: number + /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系(即将废弃) */ + latitude: number + /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系(即将废弃) */ + longitude: number + /** 位置名称 */ + name: string + /** 选择城市时,值为 1,选择精确位置时,值为 2 */ + type: number + errMsg: string + } + interface ChooseVideoOption { + /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效 + * + * 可选值: + * - 'back': 默认拉起后置摄像头; + * - 'front': 默认拉起前置摄像头; */ + camera?: 'back' | 'front' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ChooseVideoCompleteCallback + /** 需要基础库: `1.6.0` + * + * 是否压缩所选择的视频文件 */ + compressed?: boolean + /** 接口调用失败的回调函数 */ + fail?: ChooseVideoFailCallback + /** 拍摄视频最长拍摄时间,单位秒 */ + maxDuration?: number + /** 视频选择的来源 + * + * 可选值: + * - 'album': 从相册选择视频; + * - 'camera': 使用相机拍摄视频; */ + sourceType?: Array<'album' | 'camera'> + /** 接口调用成功的回调函数 */ + success?: ChooseVideoSuccessCallback + } + interface ChooseVideoSuccessCallbackResult { + /** 选定视频的时间长度 */ + duration: number + /** 返回选定视频的高度 */ + height: number + /** 选定视频的数据量大小 */ + size: number + /** 选定视频的临时文件路径 (本地路径) */ + tempFilePath: string + /** 返回选定视频的宽度 */ + width: number + errMsg: string + } + interface ClearOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearSuccessCallback + } + interface ClearStorageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ClearStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ClearStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: ClearStorageSuccessCallback + } + /** 菜单按钮的布局位置信息 */ + interface ClientRect { + /** 下边界坐标,单位:px */ + bottom: number + /** 高度,单位:px */ + height: number + /** 左边界坐标,单位:px */ + left: number + /** 右边界坐标,单位:px */ + right: number + /** 上边界坐标,单位:px */ + top: number + /** 宽度,单位:px */ + width: number + } + interface CloseBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBLEConnectionSuccessCallback + } + interface CloseBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseBluetoothAdapterFailCallback + /** 接口调用成功的回调函数 */ + success?: CloseBluetoothAdapterSuccessCallback + } + interface CloseFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface CloseSocketOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CloseSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CloseSocketFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: CloseSocketSuccessCallback + } + interface CloseSyncOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色: + * + * - RGB 颜色: 如 `'rgb(255, 0, 0)'` + * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'` + * - 16 进制颜色: 如 `'#FF0000'` + * - 预定义的颜色: 如 `'red'` + * + * 其中预定义颜色有以下148个: + * *注意**: Color Name 大小写不敏感 + * + * | Color Name | HEX | + * | -------------------- | ------- | + * | AliceBlue | #F0F8FF | + * | AntiqueWhite | #FAEBD7 | + * | Aqua | #00FFFF | + * | Aquamarine | #7FFFD4 | + * | Azure | #F0FFFF | + * | Beige | #F5F5DC | + * | Bisque | #FFE4C4 | + * | Black | #000000 | + * | BlanchedAlmond | #FFEBCD | + * | Blue | #0000FF | + * | BlueViolet | #8A2BE2 | + * | Brown | #A52A2A | + * | BurlyWood | #DEB887 | + * | CadetBlue | #5F9EA0 | + * | Chartreuse | #7FFF00 | + * | Chocolate | #D2691E | + * | Coral | #FF7F50 | + * | CornflowerBlue | #6495ED | + * | Cornsilk | #FFF8DC | + * | Crimson | #DC143C | + * | Cyan | #00FFFF | + * | DarkBlue | #00008B | + * | DarkCyan | #008B8B | + * | DarkGoldenRod | #B8860B | + * | DarkGray | #A9A9A9 | + * | DarkGrey | #A9A9A9 | + * | DarkGreen | #006400 | + * | DarkKhaki | #BDB76B | + * | DarkMagenta | #8B008B | + * | DarkOliveGreen | #556B2F | + * | DarkOrange | #FF8C00 | + * | DarkOrchid | #9932CC | + * | DarkRed | #8B0000 | + * | DarkSalmon | #E9967A | + * | DarkSeaGreen | #8FBC8F | + * | DarkSlateBlue | #483D8B | + * | DarkSlateGray | #2F4F4F | + * | DarkSlateGrey | #2F4F4F | + * | DarkTurquoise | #00CED1 | + * | DarkViolet | #9400D3 | + * | DeepPink | #FF1493 | + * | DeepSkyBlue | #00BFFF | + * | DimGray | #696969 | + * | DimGrey | #696969 | + * | DodgerBlue | #1E90FF | + * | FireBrick | #B22222 | + * | FloralWhite | #FFFAF0 | + * | ForestGreen | #228B22 | + * | Fuchsia | #FF00FF | + * | Gainsboro | #DCDCDC | + * | GhostWhite | #F8F8FF | + * | Gold | #FFD700 | + * | GoldenRod | #DAA520 | + * | Gray | #808080 | + * | Grey | #808080 | + * | Green | #008000 | + * | GreenYellow | #ADFF2F | + * | HoneyDew | #F0FFF0 | + * | HotPink | #FF69B4 | + * | IndianRed | #CD5C5C | + * | Indigo | #4B0082 | + * | Ivory | #FFFFF0 | + * | Khaki | #F0E68C | + * | Lavender | #E6E6FA | + * | LavenderBlush | #FFF0F5 | + * | LawnGreen | #7CFC00 | + * | LemonChiffon | #FFFACD | + * | LightBlue | #ADD8E6 | + * | LightCoral | #F08080 | + * | LightCyan | #E0FFFF | + * | LightGoldenRodYellow | #FAFAD2 | + * | LightGray | #D3D3D3 | + * | LightGrey | #D3D3D3 | + * | LightGreen | #90EE90 | + * | LightPink | #FFB6C1 | + * | LightSalmon | #FFA07A | + * | LightSeaGreen | #20B2AA | + * | LightSkyBlue | #87CEFA | + * | LightSlateGray | #778899 | + * | LightSlateGrey | #778899 | + * | LightSteelBlue | #B0C4DE | + * | LightYellow | #FFFFE0 | + * | Lime | #00FF00 | + * | LimeGreen | #32CD32 | + * | Linen | #FAF0E6 | + * | Magenta | #FF00FF | + * | Maroon | #800000 | + * | MediumAquaMarine | #66CDAA | + * | MediumBlue | #0000CD | + * | MediumOrchid | #BA55D3 | + * | MediumPurple | #9370DB | + * | MediumSeaGreen | #3CB371 | + * | MediumSlateBlue | #7B68EE | + * | MediumSpringGreen | #00FA9A | + * | MediumTurquoise | #48D1CC | + * | MediumVioletRed | #C71585 | + * | MidnightBlue | #191970 | + * | MintCream | #F5FFFA | + * | MistyRose | #FFE4E1 | + * | Moccasin | #FFE4B5 | + * | NavajoWhite | #FFDEAD | + * | Navy | #000080 | + * | OldLace | #FDF5E6 | + * | Olive | #808000 | + * | OliveDrab | #6B8E23 | + * | Orange | #FFA500 | + * | OrangeRed | #FF4500 | + * | Orchid | #DA70D6 | + * | PaleGoldenRod | #EEE8AA | + * | PaleGreen | #98FB98 | + * | PaleTurquoise | #AFEEEE | + * | PaleVioletRed | #DB7093 | + * | PapayaWhip | #FFEFD5 | + * | PeachPuff | #FFDAB9 | + * | Peru | #CD853F | + * | Pink | #FFC0CB | + * | Plum | #DDA0DD | + * | PowderBlue | #B0E0E6 | + * | Purple | #800080 | + * | RebeccaPurple | #663399 | + * | Red | #FF0000 | + * | RosyBrown | #BC8F8F | + * | RoyalBlue | #4169E1 | + * | SaddleBrown | #8B4513 | + * | Salmon | #FA8072 | + * | SandyBrown | #F4A460 | + * | SeaGreen | #2E8B57 | + * | SeaShell | #FFF5EE | + * | Sienna | #A0522D | + * | Silver | #C0C0C0 | + * | SkyBlue | #87CEEB | + * | SlateBlue | #6A5ACD | + * | SlateGray | #708090 | + * | SlateGrey | #708090 | + * | Snow | #FFFAFA | + * | SpringGreen | #00FF7F | + * | SteelBlue | #4682B4 | + * | Tan | #D2B48C | + * | Teal | #008080 | + * | Thistle | #D8BFD8 | + * | Tomato | #FF6347 | + * | Turquoise | #40E0D0 | + * | Violet | #EE82EE | + * | Wheat | #F5DEB3 | + * | White | #FFFFFF | + * | WhiteSmoke | #F5F5F5 | + * | Yellow | #FFFF00 | + * | YellowGreen | #9ACD32 | */ + interface Color {} + interface CompressImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressImageFailCallback + /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */ + quality?: number + /** 接口调用成功的回调函数 */ + success?: CompressImageSuccessCallback + } + interface CompressImageSuccessCallbackResult { + /** 压缩后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface CompressVideoOption { + /** 码率,单位 kbps */ + bitrate: number + /** 帧率 */ + fps: number + /** 压缩质量 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + quality: 'low' | 'medium' | 'high' + /** 相对于原视频的分辨率比例,取值范围(0, 1] */ + resolution: number + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CompressVideoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CompressVideoFailCallback + /** 接口调用成功的回调函数 */ + success?: CompressVideoSuccessCallback + } + interface CompressVideoSuccessCallbackResult { + /** 压缩后的大小,单位 kB */ + size: string + /** 压缩后的临时文件地址 */ + tempFilePath: string + errMsg: string + } + interface ConnectSocketOption { + /** 开发者服务器 wss 接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectSocketCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectSocketFailCallback + /** HTTP Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 需要基础库: `2.8.0` + * + * 是否开启压缩扩展 */ + perMessageDeflate?: boolean + /** 需要基础库: `1.4.0` + * + * 子协议数组 */ + protocols?: string[] + /** 接口调用成功的回调函数 */ + success?: ConnectSocketSuccessCallback + /** 需要基础库: `2.4.0` + * + * 建立 TCP 连接的时候的 TCP_NODELAY 设置 */ + tcpNoDelay?: boolean + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface ConnectWifiOption { + /** Wi-Fi 设备 SSID */ + SSID: string + /** Wi-Fi 设备密码 */ + password: string + /** Wi-Fi 设备 BSSID */ + BSSID?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectWifiFailCallback + /** 需要基础库: `2.12.0` + * + * 跳转到系统设置页进行连接 */ + maunal?: boolean + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息,仅安卓生效 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: ConnectWifiSuccessCallback + } + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + interface Constraints { + /** 如果指定为true则禁用标准化,默认为false */ + disableNormalization?: boolean + } + interface ContextCallbackResult { + /** 节点对应的 Context 对象 */ + context: IAnyObject + } + interface CopyFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, copyFile ${srcPath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, copyFile ${srcPath} -> ${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface CopyFileOption { + /** 目标文件路径,支持本地路径 */ + destPath: string + /** 源文件路径,支持本地路径 */ + srcPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CopyFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CopyFileFailCallback + /** 接口调用成功的回调函数 */ + success?: CopyFileSuccessCallback + } + interface CreateBLEConnectionOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEConnectionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEConnectionFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEConnectionSuccessCallback + /** 超时时间,单位 ms,不填表示不会超时 */ + timeout?: number + } + interface CreateBLEPeripheralServerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: CreateBLEPeripheralServerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: CreateBLEPeripheralServerFailCallback + /** 接口调用成功的回调函数 */ + success?: CreateBLEPeripheralServerSuccessCallback + } + interface CreateBLEPeripheralServerSuccessCallbackResult { + /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html) + * + * 外围设备的服务端。 */ + server: BLEPeripheralServer + errMsg: string + } + interface CreateCacheManagerOption { + /** 额外的缓存处理 */ + extra?: ExtraOption + /** 全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天 */ + maxAge?: number + /** 缓存模式 + * + * 可选值: + * - 'weakNetwork': 弱网/离线使用缓存返回; + * - 'always': 总是使用缓存返回; + * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */ + mode?: 'weakNetwork' | 'always' | 'none' + /** 全局 origin */ + origin?: string + } + interface CreateInnerAudioContextOption { + /** 需要基础库: `2.19.0` + * + * 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项。 */ + useWebAudioImplement?: boolean + } + /** 选项 */ + interface CreateIntersectionObserverOption { + /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */ + initialRatio?: number + /** 需要基础库: `2.0.0` + * + * 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能) */ + observeAll?: boolean + /** 一个数值数组,包含所有阈值。 */ + thresholds?: number[] + } + interface CreateInterstitialAdOption { + /** 广告单元 id */ + adUnitId: string + } + interface CreateMediaRecorderOption { + /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */ + duration?: number + /** 视频 fps */ + fps?: number + /** 视频关键帧间隔 */ + gop?: number + /** 视频比特率(kbps),最小值 600,最大值 3000 */ + videoBitsPerSecond?: number + } + interface CreateOffscreenCanvasOption { + /** 在自定义组件下,当前组件实例的 this */ + compInst?: Component.TrivialInstance | Page.TrivialInstance + /** 画布高度 */ + height?: number + /** 创建的离屏 canvas 类型 + * + * 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + type?: 'webgl' | '2d' + /** 画布宽度 */ + width?: number + } + interface CreateRewardedVideoAdOption { + /** 广告单元 id */ + adUnitId: string + /** 需要基础库: `2.8.0` + * + * 是否启用多例模式,默认为false */ + multiton?: boolean + } + /** 可选参数 */ + interface CreateWorkerOption { + /** 需要基础库: `2.13.0` + * + * 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升近十倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 */ + useExperimentalWorker?: boolean + } + interface CurrentState { + /** 当前缓存中的日志条数 */ + logCount: number + /** 当前缓存中最大可存日志条数 */ + maxLogCount: number + /** 当前缓存最大可用空间,以字节为单位 */ + maxSize: number + /** 当前缓存中已使用空间,以字节为单位 */ + size: number + } + /** 弹幕内容 */ + interface Danmu { + /** 弹幕文字 */ + text: string + /** 弹幕颜色 */ + color?: string + } + /** 可选的字体描述符 */ + interface DescOption { + /** 字体样式,可选值为 normal / italic / oblique */ + style?: string + /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */ + variant?: string + /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */ + weight?: string + } + /** 描述符的权限 */ + interface DescriptorPermission { + /** 读 */ + read?: boolean + /** 写 */ + write?: boolean + } + /** 指定 marker 移动到的目标点 */ + interface DestinationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + interface DetectFaceOption { + /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。 + * + * 可选值: + * - 0: 小模型; + * - 1: 中模型; + * - 2: 大模型; */ + modelModel?: 0 | 1 | 2 + /** 评分阈值。正常情况传入 0.8 即可。 */ + scoreThreshold?: number + /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果 + * + * 可选值: + * - 1: 表示输入的图片是随机的图片; + * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */ + sourceType?: 1 | 0 + } + interface DeviceInfo { + /** 应用(微信APP)二进制接口类型(仅 Android 支持) */ + abi: string + /** 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 设备品牌 */ + brand: string + /** 需要基础库: `2.25.1` + * + * 设备二进制接口类型(仅 Android 支持) */ + deviceAbi: string + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 客户端平台 */ + platform: string + /** 操作系统及版本 */ + system: string + } + interface DisableAlertBeforeUnloadOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DisableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DisableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: DisableAlertBeforeUnloadSuccessCallback + } + interface DownloadFileOption { + /** 下载资源的 url */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: DownloadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: DownloadFileFailCallback + /** 需要基础库: `1.8.0` + * + * 指定文件下载后存储的路径 (本地路径) */ + filePath?: string + /** HTTP 请求的 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: DownloadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface DownloadFileSuccessCallbackResult { + /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */ + filePath: string + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */ + tempFilePath: string + errMsg: string + } + interface DownloadTaskOnProgressUpdateListenerResult { + /** 下载进度百分比 */ + progress: number + /** 预期需要下载的数据总长度,单位 Bytes */ + totalBytesExpectedToWrite: number + /** 已经下载的数据长度,单位 Bytes */ + totalBytesWritten: number + } + interface EditImageOption { + /** 图片路径,图片的路径,支持本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EditImageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EditImageFailCallback + /** 接口调用成功的回调函数 */ + success?: EditImageSuccessCallback + } + interface EditImageSuccessCallbackResult { + /** 编辑后图片的临时文件路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface EnableAlertBeforeUnloadOption { + /** 询问对话框内容 */ + message: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: EnableAlertBeforeUnloadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: EnableAlertBeforeUnloadFailCallback + /** 接口调用成功的回调函数 */ + success?: EnableAlertBeforeUnloadSuccessCallback + } + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + interface EntriesResult { + /** 文件路径 */ + [path: string]: ZipFileItem + } + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + interface EntryItem { + /** 压缩包内文件路径 */ + path: string + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + } + interface Err { + /** 错误信息 */ + errMsg: string + /** 需要基础库: `2.24.0` + * + * errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/miniprogram/dev/framework/usability/PublicErrno.html) */ + errno: number + } + interface ExitFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitFullScreenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitFullScreenSuccessCallback + } + interface ExitMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitMiniProgramCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitMiniProgramSuccessCallback + } + interface ExitPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitPictureInPictureSuccessCallback + } + interface ExitVoIPChatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ExitVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ExitVoIPChatFailCallback + /** 接口调用成功的回调函数 */ + success?: ExitVoIPChatSuccessCallback + } + /** 客服信息 */ + interface ExtInfoOption { + /** 客服链接 */ + url: string + } + /** 额外的缓存处理 */ + interface ExtraOption { + /** 需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分 + * + * 可选值: + * - 'wx.login': ; + * - 'wx.checkSession': ; + * - 'wx.getSetting': ; */ + apiList?: Array<'wx.login' | 'wx.checkSession' | 'wx.getSetting'> + } + interface ExtractDataSourceOption { + /** 视频源地址,只支持本地文件 */ + source: string + } + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + interface FaceAngel { + /** 仰俯角(点头) */ + pitch: number + /** 翻滚角(左右倾) */ + roll: number + /** 偏航角(摇头) */ + yaw: number + } + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + interface FaceConf { + /** 整体可信度 */ + global: number + /** 左眼可信度 */ + leftEye: number + /** 嘴巴可信度 */ + mouth: number + /** 鼻子可信度 */ + nose: number + /** 右眼可信度 */ + rightEye: number + } + interface FaceDetectOption { + /** 图像像素点数据,每四项表示一个像素点的 RGBA */ + frameBuffer: ArrayBuffer + /** 图像高度 */ + height: number + /** 图像宽度 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FaceDetectCompleteCallback + /** 是否返回当前图像的人脸角度信息 */ + enableAngle?: boolean + /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) */ + enableConf?: boolean + /** 是否返回多张人脸的信息 */ + enableMultiFace?: boolean + /** 是否返回当前图像的人脸(106 个点) */ + enablePoint?: boolean + /** 接口调用失败的回调函数 */ + fail?: FaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: FaceDetectSuccessCallback + } + interface FaceDetectSuccessCallbackResult { + /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */ + angleArray: FaceAngel + /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */ + confArray: FaceConf + /** 脸部方框数值,对象包含 height, weight, originX, originY 四个属性 (origin 为方框左上角坐标) */ + detectRect: IAnyObject + /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */ + faceInfo: IAnyObject[] + /** 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y */ + pointArray: IAnyObject[] + /** 脸部中心点横坐标,检测不到人脸则为 -1 */ + x: number + /** 脸部中心点纵坐标,检测不到人脸则为 -1 */ + y: number + errMsg: string + } + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + interface FaceTrack { + /** 需要基础库: `2.25.0` + * + * 人脸检测模式 + * + * 可选值: + * - 1: 静态图片检测; + * - 2: 通过摄像头实时检测; */ + mode: 1 | 2 + } + interface Fields { + /** 需要基础库: `2.1.0` + * + * 指定样式名列表,返回节点对应样式名的当前值 */ + computedStyle?: string[] + /** 需要基础库: `2.4.2` + * + * 是否返回节点对应的 Context 对象 */ + context?: boolean + /** 是否返回节点 dataset */ + dataset?: boolean + /** 是否返回节点 id */ + id?: boolean + /** 是否返回节点 mark */ + mark?: boolean + /** 需要基础库: `2.7.0` + * + * 是否返回节点对应的 Node 实例 */ + node?: boolean + /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */ + properties?: string[] + /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */ + rect?: boolean + /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */ + scrollOffset?: boolean + /** 是否返回节点尺寸(`width` `height`) */ + size?: boolean + } + interface FileItem { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */ + createTime: number + /** 文件路径 (本地路径) */ + filePath: string + /** 本地文件大小,以字节为单位 */ + size: number + } + interface FileSystemManagerCloseOption { + /** 需要被关闭的文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface FileSystemManagerGetFileInfoOption { + /** 要读取的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetFileInfoSuccessCallback + } + interface FileSystemManagerGetFileInfoSuccessCallbackResult { + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface FileSystemManagerGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerGetSavedFileListSuccessCallback + } + interface FileSystemManagerGetSavedFileListSuccessCallbackResult { + /** 文件数组 */ + fileList: FileItem[] + errMsg: string + } + interface FileSystemManagerRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface FileSystemManagerSaveFileOption { + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FileSystemManagerSaveFileFailCallback + /** 要存储的文件路径 (本地路径) */ + filePath?: string + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + interface ForwardMaterials { + /** 文件名 */ + name: string + /** 文件路径(如果是webview则是url) */ + path: string + /** 文件大小 */ + size: number + /** 文件的mimetype类型 */ + type: string + } + /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */ + interface FrameDataOptions { + /** 帧数据 */ + data: ArrayBuffer + /** 帧数据高度 */ + height: number + /** 帧原始 dts */ + pkDts: number + /** 帧原始 pts */ + pkPts: number + /** 帧数据宽度 */ + width: number + } + interface FromScreenLocationOption { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FromScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FromScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: FromScreenLocationSuccessCallback + } + interface FstatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; */ + errMsg: string + } + interface FstatOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FstatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FstatFailCallback + /** 接口调用成功的回调函数 */ + success?: FstatSuccessCallback + } + interface FstatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) + * + * Stats 对象,包含了文件的状态信息 */ + stats: Stats + errMsg: string + } + interface FstatSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + } + interface FtruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface FtruncateOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FtruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: FtruncateFailCallback + /** 接口调用成功的回调函数 */ + success?: FtruncateSuccessCallback + } + interface FtruncateSyncOption { + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length: number + } + interface GeneralCallbackResult { + /** 错误信息 */ + errMsg: string + } + interface GetAtqaOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAtqaCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAtqaFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAtqaSuccessCallback + } + interface GetAtqaSuccessCallbackResult { + /** 返回 ATQA/SENS_RES 数据 */ + atqa: ArrayBuffer + errMsg: string + } + interface GetAvailableAudioSourcesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetAvailableAudioSourcesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetAvailableAudioSourcesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetAvailableAudioSourcesSuccessCallback + } + interface GetAvailableAudioSourcesSuccessCallbackResult { + /** 支持的音频输入源列表,可在 [RecorderManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) 接口中使用。返回值定义参考 https://developer.android.com/reference/kotlin/android/media/MediaRecorder.AudioSource + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSources: Array< + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + > + errMsg: string + } + interface GetBLEDeviceCharacteristicsOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceCharacteristicsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceCharacteristicsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceCharacteristicsSuccessCallback + } + interface GetBLEDeviceCharacteristicsSuccessCallbackResult { + /** 设备特征列表 */ + characteristics: BLECharacteristic[] + errMsg: string + } + interface GetBLEDeviceRSSIOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceRSSICompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceRSSIFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceRSSISuccessCallback + } + interface GetBLEDeviceRSSISuccessCallbackResult { + /** 信号强度,单位 dBm */ + RSSI: number + errMsg: string + } + interface GetBLEDeviceServicesOption { + /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEDeviceServicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEDeviceServicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEDeviceServicesSuccessCallback + } + interface GetBLEDeviceServicesSuccessCallbackResult { + /** 设备服务列表 */ + services: BLEService[] + errMsg: string + } + interface GetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBLEMTUSuccessCallback + /** 写模式 (iOS 特有参数) + * + * 可选值: + * - 'write': 有回复写; + * - 'writeNoResponse': 无回复写; */ + writeType?: 'write' | 'writeNoResponse' + } + interface GetBLEMTUSuccessCallbackResult { + /** 最大传输单元 */ + mtu: number + errMsg: string + } + interface GetBackgroundAudioPlayerStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundAudioPlayerStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundAudioPlayerStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundAudioPlayerStateSuccessCallback + } + interface GetBackgroundAudioPlayerStateSuccessCallbackResult { + /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */ + currentPosition: number + /** 歌曲数据链接,只有在音乐播放中时返回 */ + dataUrl: string + /** 音频的下载进度百分比,只有在音乐播放中时返回 */ + downloadPercent: number + /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */ + duration: number + /** 播放状态 + * + * 可选值: + * - 0: 暂停中; + * - 1: 播放中; + * - 2: 没有音乐播放; */ + status: 0 | 1 | 2 + errMsg: string + } + interface GetBackgroundFetchDataOption { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchDataSuccessCallback + } + interface GetBackgroundFetchDataSuccessCallbackResult { + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳。(注:安卓 timeStamp 单位是 ms,iOS timeStamp 单位是 s) */ + timeStamp: number + errMsg: string + } + interface GetBackgroundFetchTokenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBackgroundFetchTokenSuccessCallback + } + interface GetBackgroundFetchTokenSuccessCallbackResult { + /** 接口调用结果 */ + errMsg: string + /** 自定义的登录态 */ + token: number + } + interface GetBatteryInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBatteryInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBatteryInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBatteryInfoSuccessCallback + } + interface GetBatteryInfoSuccessCallbackResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + errMsg: string + } + interface GetBatteryInfoSyncResult { + /** 是否正在充电中 */ + isCharging: boolean + /** 设备电量,范围 1 - 100 */ + level: number + } + interface GetBeaconsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBeaconsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBeaconsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBeaconsSuccessCallback + } + interface GetBeaconsSuccessCallbackResult { + /** Beacon 设备列表 */ + beacons: BeaconInfo[] + errMsg: string + } + interface GetBluetoothAdapterStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothAdapterStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothAdapterStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothAdapterStateSuccessCallback + } + interface GetBluetoothAdapterStateSuccessCallbackResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 是否正在搜索设备 */ + discovering: boolean + errMsg: string + } + interface GetBluetoothDevicesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetBluetoothDevicesSuccessCallback + } + interface GetBluetoothDevicesSuccessCallbackResult { + /** UUID 对应的已连接设备列表 */ + devices: BlueToothDevice[] + errMsg: string + } + interface GetCenterLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetCenterLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetCenterLocationFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: GetCenterLocationSuccessCallback + } + interface GetCenterLocationSuccessCallbackResult { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + errMsg: string + } + interface GetChannelsLiveInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveInfoSuccessCallback + } + interface GetChannelsLiveInfoSuccessCallbackResult { + /** 直播主题 */ + description: string + /** 直播 feedId */ + feedId: string + /** 视频号头像 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 直播 nonceId */ + nonceId: string + /** 直播状态,2直播中,3直播结束 */ + status: number + errMsg: string + } + interface GetChannelsLiveNoticeInfoOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsLiveNoticeInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsLiveNoticeInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsLiveNoticeInfoSuccessCallback + } + interface GetChannelsLiveNoticeInfoSuccessCallbackResult { + /** 直播封面 */ + headUrl: string + /** 视频号昵称 */ + nickname: string + /** 预告 id */ + noticeId: string + /** 需要基础库: `2.24.6` + * + * 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 */ + otherInfos: any[] + /** 是否可预约 */ + reservable: boolean + /** 开始时间 */ + startTime: string + /** 预告状态:0可用 1取消 2已用 */ + status: number + errMsg: string + } + interface GetChannelsShareKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetChannelsShareKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetChannelsShareKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetChannelsShareKeySuccessCallback + } + interface GetChannelsShareKeySuccessCallbackResult { + /** 推广员 */ + promoter: PromoterResult + /** 分享者 openid */ + sharerOpenId: string + errMsg: string + } + interface GetClipboardDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetClipboardDataSuccessCallback + } + interface GetClipboardDataSuccessCallbackOption { + /** 剪贴板的内容 */ + data: string + } + interface GetConnectedBluetoothDevicesOption { + /** 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) */ + services: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedBluetoothDevicesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedBluetoothDevicesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetConnectedBluetoothDevicesSuccessCallback + } + interface GetConnectedBluetoothDevicesSuccessCallbackResult { + /** 搜索到的设备列表 */ + devices: BluetoothDeviceInfo[] + errMsg: string + } + interface GetConnectedWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetConnectedWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetConnectedWifiFailCallback + /** 需要基础库: `2.22.0` + * + * 是否需要返回部分 Wi-Fi 信息 */ + partialInfo?: boolean + /** 接口调用成功的回调函数 */ + success?: GetConnectedWifiSuccessCallback + } + interface GetConnectedWifiSuccessCallbackResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + errMsg: string + } + interface GetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetContentsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetContentsFailCallback + /** 接口调用成功的回调函数 */ + success?: GetContentsSuccessCallback + } + interface GetContentsSuccessCallbackResult { + /** 表示内容的delta对象 */ + delta: IAnyObject + /** 带标签的HTML内容 */ + html: string + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetExtConfigOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetExtConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetExtConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: GetExtConfigSuccessCallback + } + interface GetExtConfigSuccessCallbackResult { + /** 第三方平台自定义的数据 */ + extConfig: IAnyObject + errMsg: string + } + interface GetFileInfoFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 filePath 找不到文件; */ + errMsg: string + } + interface GetFuzzyLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFuzzyLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetFuzzyLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: GetFuzzyLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetFuzzyLocationSuccessCallbackResult { + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + errMsg: string + } + interface GetGroupEnterInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetGroupEnterInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetGroupEnterInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetGroupEnterInfoSuccessCallback + } + interface GetGroupEnterInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + encryptedData: string + /** 错误信息 */ + errMsg: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + } + interface GetHCEStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHCEStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHCEStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHCEStateSuccessCallback + } + interface GetHistoricalBytesOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetHistoricalBytesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetHistoricalBytesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetHistoricalBytesSuccessCallback + } + interface GetHistoricalBytesSuccessCallbackResult { + /** 返回历史二进制数据 */ + histBytes: ArrayBuffer + errMsg: string + } + interface GetImageInfoOption { + /** 图片的路径,支持网络路径、本地路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetImageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetImageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetImageInfoSuccessCallback + } + interface GetImageInfoSuccessCallbackResult { + /** 图片原始高度,单位px。不考虑旋转。 */ + height: number + /** 需要基础库: `1.9.90` + * + * [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html) + * + * 可选值: + * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。; + * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2; + * - 'down': 旋转180度,对应 Exif 中的 3; + * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4; + * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5; + * - 'right': 顺时针旋转90度,对应 Exif 中的 6; + * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7; + * - 'left': 逆时针旋转90度,对应 Exif 中的 8; */ + orientation: + | 'up' + | 'up-mirrored' + | 'down' + | 'down-mirrored' + | 'left-mirrored' + | 'right' + | 'right-mirrored' + | 'left' + /** 图片的本地路径 */ + path: string + /** 需要基础库: `1.9.90` + * + * 图片格式 + * + * 可选值: + * - 'unknown': 未知格式; + * - 'jpeg': jpeg压缩格式; + * - 'png': png压缩格式; + * - 'gif': gif压缩格式; + * - 'tiff': tiff压缩格式; */ + type: 'unknown' | 'jpeg' | 'png' | 'gif' | 'tiff' + /** 图片原始宽度,单位px。不考虑旋转。 */ + width: number + errMsg: string + } + interface GetLatestUserKeyOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLatestUserKeyCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLatestUserKeyFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLatestUserKeySuccessCallback + } + interface GetLatestUserKeySuccessCallbackResult { + /** 用户加密密钥 */ + encryptKey: string + /** 密钥过期时间 */ + expireTime: number + /** 密钥初始向量 */ + iv: string + /** 密钥版本 */ + version: number + errMsg: string + } + interface GetLocalIPAddressOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocalIPAddressCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocalIPAddressFailCallback + /** 接口调用成功的回调函数 */ + success?: GetLocalIPAddressSuccessCallback + } + interface GetLocalIPAddressSuccessCallbackResult { + /** 错误信息 */ + errMsg: string + /** 本机局域网IP地址 */ + localip: string + /** 本机局域网子网掩码,基础库 2.24.0 开始支持 */ + netmask: string + } + interface GetLocationOption { + /** 需要基础库: `1.6.0` + * + * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */ + altitude?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetLocationFailCallback + /** 需要基础库: `2.9.0` + * + * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */ + highAccuracyExpireTime?: number + /** 需要基础库: `2.9.0` + * + * 开启高精度定位 */ + isHighAccuracy?: boolean + /** 接口调用成功的回调函数 */ + success?: GetLocationSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface GetLocationSuccessCallbackResult { + /** 位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + errMsg: string + } + interface GetLogManagerOption { + /** 需要基础库: `2.3.2` + * + * 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 */ + level?: number + } + interface GetMaxTransceiveLengthOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetMaxTransceiveLengthCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetMaxTransceiveLengthFailCallback + /** 接口调用成功的回调函数 */ + success?: GetMaxTransceiveLengthSuccessCallback + } + interface GetMaxTransceiveLengthSuccessCallbackResult { + /** 最大传输长度 */ + length: number + errMsg: string + } + interface GetNetworkTypeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetNetworkTypeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetNetworkTypeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetNetworkTypeSuccessCallback + } + interface GetNetworkTypeSuccessCallbackResult { + /** 需要基础库: `2.22.1` + * + * 设备是否使用了网络代理 */ + hasSystemProxy: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + /** 信号强弱,单位 dbm */ + signalStrength: number + errMsg: string + } + interface GetRandomValuesOption { + /** 整数,生成随机数的字节数,最大 1048576 */ + length: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRandomValuesCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRandomValuesFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRandomValuesSuccessCallback + } + interface GetRandomValuesSuccessCallbackResult { + /** 随机数内容,长度为传入的字节数 */ + randomValues: ArrayBuffer + errMsg: string + } + interface GetRegionOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRegionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRegionFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRegionSuccessCallback + } + interface GetRegionSuccessCallbackResult { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + errMsg: string + } + interface GetRotateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetRotateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetRotateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetRotateSuccessCallback + } + interface GetRotateSuccessCallbackResult { + /** 旋转角 */ + rotate: number + errMsg: string + } + interface GetSakOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSakCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSakFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSakSuccessCallback + } + interface GetSakSuccessCallbackResult { + /** 返回 SAK/SEL_RES 数据 */ + sak: number + errMsg: string + } + interface GetSavedFileInfoOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSavedFileInfoSuccessCallback + } + interface GetSavedFileInfoSuccessCallbackResult { + /** 文件保存时的时间戳,从1970/01/01 08:00:00 到该时刻的秒数 */ + createTime: number + /** 文件大小,单位 B */ + size: number + errMsg: string + } + interface GetScaleOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScaleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScaleFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScaleSuccessCallback + } + interface GetScaleSuccessCallbackResult { + /** 缩放值 */ + scale: number + errMsg: string + } + interface GetScreenBrightnessOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenBrightnessSuccessCallback + } + interface GetScreenBrightnessSuccessCallbackOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */ + value: number + } + interface GetScreenRecordingStateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetScreenRecordingStateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetScreenRecordingStateFailCallback + /** 接口调用成功的回调函数 */ + success?: GetScreenRecordingStateSuccessCallback + } + interface GetScreenRecordingStateSuccessCallbackResult { + /** 录屏状态 + * + * 可选值: + * - 'on': 开启; + * - 'off': 关闭; */ + state: 'on' | 'off' + errMsg: string + } + interface GetSelectedTextRangeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectedTextRangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectedTextRangeFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectedTextRangeSuccessCallback + } + interface GetSelectedTextRangeSuccessCallbackResult { + /** 输入框光标结束位置 */ + end: number + /** 输入框光标起始位置 */ + start: number + errMsg: string + } + interface GetSelectionTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSelectionTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSelectionTextFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSelectionTextSuccessCallback + } + interface GetSelectionTextSuccessCallbackResult { + /** 纯文本内容 */ + text: string + errMsg: string + } + interface GetSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSettingSuccessCallback + /** 需要基础库: `2.10.1` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface GetSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.1` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 在插件中调用时,当前宿主小程序的用户授权结果 */ + miniprogramAuthSetting?: AuthSetting + errMsg: string + } + interface GetShareInfoOption { + /** shareTicket */ + shareTicket: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetShareInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetShareInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetShareInfoSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位 ms */ + timeout?: number + } + interface GetSkewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSkewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSkewFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSkewSuccessCallback + } + interface GetSkewSuccessCallbackResult { + /** 倾斜角 */ + skew: number + errMsg: string + } + interface GetStorageInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetStorageInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageInfoSuccessCallback + } + interface GetStorageInfoSuccessCallbackOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageInfoSyncOption { + /** 当前占用的空间大小, 单位 KB */ + currentSize: number + /** 当前 storage 中所有的 key */ + keys: string[] + /** 限制的空间大小,单位 KB */ + limitSize: number + } + interface GetStorageOption<T = any> { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 getStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 解密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: GetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: GetStorageSuccessCallback<T> + } + interface GetStorageSuccessCallbackResult<T = any> { + /** key对应的内容 */ + data: T + errMsg: string + } + interface GetSystemInfoAsyncOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoAsyncCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoAsyncFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoAsyncSuccessCallback + } + interface GetSystemInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSystemInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSystemInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetSystemInfoSuccessCallback + } + interface GetUserInfoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserInfoFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserInfoSuccessCallback + /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */ + withCredentials?: boolean + } + interface GetUserInfoSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 用户信息对象,不包含 openid 等敏感信息 */ + userInfo: UserInfo + errMsg: string + } + interface GetUserProfileOption { + /** 声明获取用户个人信息后的用途,不超过30个字符 */ + desc: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetUserProfileFailCallback + /** 显示用户信息的语言 + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + lang?: 'en' | 'zh_CN' | 'zh_TW' + /** 接口调用成功的回调函数 */ + success?: GetUserProfileSuccessCallback + } + interface GetUserProfileSuccessCallbackResult { + userName: {} | undefined + code: any + /** 需要基础库: `2.10.4` + * + * 敏感数据对应的云 ID,开通[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 需要基础库: `2.10.4` + * + * 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + encryptedData: string + /** 需要基础库: `2.10.4` + * + * 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */ + iv: string + /** 需要基础库: `2.10.4` + * + * 不包括敏感信息的原始数据字符串,用于计算签名 */ + rawData: string + /** 需要基础库: `2.10.4` + * + * 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + signature: string + /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html) + * + * 需要基础库: `2.10.4` + * + * 用户信息对象 */ + userInfo: UserInfo + errMsg: string + } + interface GetVideoInfoOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetVideoInfoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetVideoInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: GetVideoInfoSuccessCallback + } + interface GetVideoInfoSuccessCallbackResult { + /** 视频码率,单位 kbps */ + bitrate: number + /** 视频长度 */ + duration: number + /** 视频帧率 */ + fps: number + /** 视频的长,单位 px */ + height: number + /** 画面方向 + * + * 可选值: + * - 'up': 默认; + * - 'down': 180度旋转; + * - 'left': 逆时针旋转90度; + * - 'right': 顺时针旋转90度; + * - 'up-mirrored': 同up,但水平翻转; + * - 'down-mirrored': 同down,但水平翻转; + * - 'left-mirrored': 同left,但垂直翻转; + * - 'right-mirrored': 同right,但垂直翻转; */ + orientation: + | 'up' + | 'down' + | 'left' + | 'right' + | 'up-mirrored' + | 'down-mirrored' + | 'left-mirrored' + | 'right-mirrored' + /** 视频大小,单位 kB */ + size: number + /** 视频格式 */ + type: string + /** 视频的宽,单位 px */ + width: number + errMsg: string + } + interface GetWeRunDataOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWeRunDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWeRunDataFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWeRunDataSuccessCallback + } + interface GetWeRunDataSuccessCallbackResult { + /** 需要基础库: `2.7.0` + * + * 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */ + cloudID: string + /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */ + encryptedData: string + /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */ + iv: string + errMsg: string + } + interface GetWifiListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: GetWifiListSuccessCallback + } + interface HideHomeButtonOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideHomeButtonCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideHomeButtonFailCallback + /** 接口调用成功的回调函数 */ + success?: HideHomeButtonSuccessCallback + } + interface HideKeyboardOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideKeyboardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideKeyboardFailCallback + /** 接口调用成功的回调函数 */ + success?: HideKeyboardSuccessCallback + } + interface HideLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideLoadingFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: boolean + /** 接口调用成功的回调函数 */ + success?: HideLoadingSuccessCallback + } + interface HideNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: HideNavigationBarLoadingSuccessCallback + } + interface HideShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: HideShareMenuSuccessCallback + } + interface HideTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarSuccessCallback + } + interface HideTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: HideTabBarRedDotSuccessCallback + } + interface HideToastOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: HideToastCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: HideToastFailCallback + /** 需要基础库: `2.22.1` + * + * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */ + noConflict?: number + /** 接口调用成功的回调函数 */ + success?: HideToastSuccessCallback + } + /** 检测结果 */ + interface HitTestRes { + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + } + /** 需要基础库: `2.7.0` + * + * 图片对象 */ + interface Image { + /** 图片的真实高度 */ + height: number + /** 图片加载发生错误后触发的回调函数 */ + onerror: (...args: any[]) => any + /** 图片加载完成后触发的回调函数 */ + onload: (...args: any[]) => any + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */ + src: string + /** 图片的真实宽度 */ + width: number + } + /** 需要基础库: `2.9.0` + * + * ImageData 对象 */ + interface ImageData { + /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */ + data: Uint8ClampedArray + /** 使用像素描述 ImageData 的实际高度 */ + height: number + /** 使用像素描述 ImageData 的实际宽度 */ + width: number + } + /** 需要基础库: `1.2.0` + * + * 图片的本地临时文件列表 */ + interface ImageFile { + /** 本地临时文件路径 (本地路径) */ + path: string + /** 本地临时文件大小,单位 B */ + size: number + } + interface IncludePointsOption { + /** 要显示在可视区域内的坐标点列表 */ + points: MapPostion[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IncludePointsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IncludePointsFailCallback + /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左],安卓上只能识别数组第一项,上下左右的padding一致。开发者工具暂不支持padding参数。 */ + padding?: number[] + /** 接口调用成功的回调函数 */ + success?: IncludePointsSuccessCallback + } + interface InitFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InitFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: InitFaceDetectSuccessCallback + } + interface InitMarkerClusterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InitMarkerClusterCompleteCallback + /** 启用默认的聚合样式 */ + enableDefaultStyle?: boolean + /** 接口调用失败的回调函数 */ + fail?: InitMarkerClusterFailCallback + /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */ + gridSize?: boolean + /** 接口调用成功的回调函数 */ + success?: InitMarkerClusterSuccessCallback + /** 点击已经聚合的标记点时是否实现聚合分离 */ + zoomOnClick?: boolean + } + /** InnerAudioContext 实例,可通过 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 接口获取实例。注意,音频播放过程中,可能被系统中断,可通过 [wx.onAudioInterruptionBegin](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)、[wx.onAudioInterruptionEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)事件来处理这种情况。 +* +* **支持格式** +* +* | 格式 | iOS | Android | +* | ---- | ---- | ------- | +* | flac | x | √ | +* | m4a | √ | √ | +* | ogg | x | √ | +* | ape | x | √ | +* | amr | x | √ | +* | wma | x | √ | +* | wav | √ | √ | +* | mp3 | √ | √ | +* | mp4 | x | √ | +* | aac | √ | √ | +* | aiff | √ | x | +* | caf | √ | x | +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext() +innerAudioContext.autoplay = true +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' +innerAudioContext.onPlay(() => { + console.log('开始播放') +}) +innerAudioContext.onError((res) => { + console.log(res.errMsg) + console.log(res.errCode) +}) +``` */ + interface InnerAudioContext { + /** 是否自动开始播放,默认为 `false` */ + autoplay: boolean + /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */ + buffered: number + /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(只读) */ + currentTime: number + /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */ + duration: number + /** 是否循环播放,默认为 `false` */ + loop: boolean + /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */ + obeyMuteSwitch: boolean + /** 当前是是否暂停或停止状态(只读) */ + paused: boolean + /** 需要基础库: `2.11.0` + * + * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */ + playbackRate: number + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy: string + /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */ + src: string + /** 开始播放的位置(单位:s),默认为 0 */ + startTime: number + /** 需要基础库: `1.9.90` + * + * 音量。范围 0~1。默认为 1 */ + volume: number + } + interface InnerAudioContextOnErrorListenerResult { + /** 可选值: + * - 10001: 系统错误; + * - 10002: 网络错误; + * - 10003: 文件错误; + * - 10004: 格式错误; + * - -1: 未知错误; */ + errCode: 10001 | 10002 | 10003 | 10004 | -1 + errMsg: string + } + interface InsertDividerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertDividerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertDividerFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertDividerSuccessCallback + } + interface InsertImageOption { + /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */ + src: string + /** 图像无法显示时的替代文本 */ + alt?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertImageCompleteCallback + /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */ + data?: IAnyObject + /** 添加到图片 img 标签上的类名 */ + extClass?: string + /** 接口调用失败的回调函数 */ + fail?: InsertImageFailCallback + /** 图片高度 (pixels/百分比) */ + height?: string + /** 插入图片后是否自动换行,默认换行 */ + nowrap?: boolean + /** 接口调用成功的回调函数 */ + success?: InsertImageSuccessCallback + /** 图片宽度(pixels/百分比) */ + width?: string + } + interface InsertTextOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: InsertTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: InsertTextFailCallback + /** 接口调用成功的回调函数 */ + success?: InsertTextSuccessCallback + /** 文本内容 */ + text?: string + } + interface IntersectionObserverObserveCallbackResult { + /** 目标边界 */ + boundingClientRect: BoundingClientRectResult + /** 节点自定义数据属性 */ + dataset: Record<string, any> + /** 节点 ID */ + id: string + /** 相交比例 */ + intersectionRatio: number + /** 相交区域的边界 */ + intersectionRect: IntersectionRectResult + /** 参照区域的边界 */ + relativeRect: RelativeRectResult + /** 相交检测时的时间戳 */ + time: number + } + /** 相交区域的边界 */ + interface IntersectionRectResult { + /** 下边界 */ + bottom: number + /** 高度 */ + height: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + /** 宽度 */ + width: number + } + interface InterstitialAdOnErrorListenerResult { + /** 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface IsBluetoothDevicePairedOption { + /** 蓝牙设备 id */ + deviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsBluetoothDevicePairedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsBluetoothDevicePairedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsBluetoothDevicePairedSuccessCallback + } + interface IsConnectedOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: IsConnectedCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: IsConnectedFailCallback + /** 接口调用成功的回调函数 */ + success?: IsConnectedSuccessCallback + } + interface Join1v1ChatOption { + /** 呼叫方信息 */ + caller: VoIP1v1ChatUser + /** 接听方信息 */ + listener: VoIP1v1ChatUser + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: Join1v1ChatCompleteCallback + /** 不允许切换到语音通话 */ + disableSwitchVoice?: boolean + /** 接口调用失败的回调函数 */ + fail?: Join1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 通话类型 + * + * 可选值: + * - 'voice': 语音通话; + * - 'video': 视频通话; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: Join1v1ChatSuccessCallback + } + interface JoinVoIPChatOption { + /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */ + groupId: string + /** 验证所需的随机字符串 */ + nonceStr: string + /** 签名,用于验证小游戏的身份 */ + signature: string + /** 验证所需的时间戳 */ + timeStamp: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: JoinVoIPChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: JoinVoIPChatFailCallback + /** 静音设置 */ + muteConfig?: MuteConfig + /** 房间类型 + * + * 可选值: + * - 'voice': 音频房间,用于语音通话; + * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */ + roomType?: 'voice' | 'video' + /** 接口调用成功的回调函数 */ + success?: JoinVoIPChatSuccessCallback + } + interface JoinVoIPChatSuccessCallbackResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 在此通话中的成员 openId 名单 */ + openIdList: string[] + } + interface KVArray { + /** key 本地缓存中指定的 key */ + key: string + /** data 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + value: any + } + /** 启动参数 */ + interface LaunchOptionsApp { + /** 需要基础库: `2.20.0` + * + * API 类别 + * + * 可选值: + * - 'default': 默认类别; + * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序; + * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序; + * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */ + apiCategory: + | 'default' + | 'nativeFunctionalized' + | 'browseOnly' + | 'embedded' + /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */ + forwardMaterials: ForwardMaterials[] + /** 启动小程序的路径 (代码包路径) */ + path: string + /** 启动小程序的 query 参数 */ + query: IAnyObject + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + referrerInfo: ReferrerInfo + /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */ + scene: number + /** 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型 + * + * 可选值: + * - 1: 微信联系人单聊; + * - 2: 企业微信联系人单聊; + * - 3: 普通微信群聊; + * - 4: 企业微信互通群聊; */ + chatType?: 1 | 2 | 3 | 4 + /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + shareTicket?: string + } + interface LivePlayerContextRequestFullScreenOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestFullScreenCompleteCallback + /** 设置全屏时的方向 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + /** 接口调用失败的回调函数 */ + fail?: RequestFullScreenFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestFullScreenSuccessCallback + } + interface LivePlayerContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePlayerContextSnapshotSuccessCallback + } + interface LivePlayerContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 (本地路径) */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextSnapshotOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SnapshotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SnapshotFailCallback + /** 需要基础库: `2.10.0` + * + * 图片的质量,默认原图。有效值为 raw、compressed */ + quality?: string + /** 需要基础库: `2.25.0` + * + * 截取的源类型,有效值为 stream(截取视频源)、view(截取渲染后的画面) */ + sourceType?: string + /** 接口调用成功的回调函数 */ + success?: LivePusherContextSnapshotSuccessCallback + } + interface LivePusherContextSnapshotSuccessCallbackResult { + /** 图片的高度 */ + height: string + /** 图片文件的临时路径 */ + tempImagePath: string + /** 图片的宽度 */ + width: string + errMsg: string + } + interface LivePusherContextStartOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSuccessCallback + } + interface LoadFontFaceCompleteCallbackResult { + /** 加载字体结果 */ + status: string + } + interface LoadFontFaceOption { + /** 定义的字体名称 */ + family: string + /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */ + source: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoadFontFaceCompleteCallback + /** 可选的字体描述符 */ + desc?: DescOption + /** 接口调用失败的回调函数 */ + fail?: LoadFontFaceFailCallback + /** 需要基础库: `2.10.0` + * + * 是否全局生效 */ + global?: boolean + /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */ + scopes?: any[] + /** 接口调用成功的回调函数 */ + success?: LoadFontFaceSuccessCallback + } + interface LocalInfo { + /** 接收消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + } + interface LoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: LoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: LoginFailCallback + /** 接口调用成功的回调函数 */ + success?: LoginSuccessCallback + /** 需要基础库: `1.9.90` + * + * 超时时间,单位ms */ + timeout?: number + } + interface LoginSuccessCallbackResult { + /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [auth.code2Session](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html),使用 code 换取 openid、unionid、session_key 等信息 */ + code: string + errMsg: string + } + interface MakeBluetoothPairOption { + /** 蓝牙设备 id */ + deviceId: string + /** pin 码,Base64 格式。 */ + pin: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakeBluetoothPairCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakeBluetoothPairFailCallback + /** 接口调用成功的回调函数 */ + success?: MakeBluetoothPairSuccessCallback + /** 超时时间,单位 ms */ + timeout?: number + } + interface MakePhoneCallOption { + /** 需要拨打的电话号码 */ + phoneNumber: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MakePhoneCallCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MakePhoneCallFailCallback + /** 接口调用成功的回调函数 */ + success?: MakePhoneCallSuccessCallback + } + /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */ + interface ManufacturerData { + /** 制造商ID,0x 开头的十六进制 */ + manufacturerId: string + /** 制造商信息 */ + manufacturerSpecificData?: ArrayBuffer + } + /** 图片覆盖的经纬度范围 */ + interface MapBounds { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + } + interface MapPostion { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + } + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + interface Margins { + /** 节点布局区域的下边界 */ + bottom?: number + /** 节点布局区域的左边界 */ + left?: number + /** 节点布局区域的右边界 */ + right?: number + /** 节点布局区域的上边界 */ + top?: number + } + /** 匹配到的缓存 */ + interface MatchCache { + /** 缓存 id */ + cacheId: string + /** 缓存创建时间 */ + createTime: number + /** 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 */ + data: any + /** 缓存有效时间 */ + maxAge: number + /** 命中的规则 id */ + ruleId: string + } + /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */ + interface MediaAudioPlayer { + /** 音量。范围 0~1。默认为 1 */ + volume: number + } + /** 本地临时文件列表 */ + interface MediaFile { + /** 视频的时间长度 */ + duration: number + /** 文件类型 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + fileType: 'image' | 'video' + /** 视频的高度 */ + height: number + /** 本地临时文件大小,单位 B */ + size: number + /** 本地临时文件路径 (本地路径) */ + tempFilePath: string + /** 视频缩略图临时文件路径 */ + thumbTempFilePath: string + /** 视频的宽度 */ + width: number + } + interface MediaQueryObserverObserveCallbackResult { + /** 页面的当前状态是否满足所指定的 media query */ + matches: boolean + } + /** 需要预览的资源列表 */ + interface MediaSource { + /** 图片或视频的地址 */ + url: string + /** 视频的封面图片 */ + poster?: string + /** 资源的类型,默认为图片 + * + * 可选值: + * - 'image': 图片; + * - 'video': 视频; */ + type?: 'image' | 'video' + } + /** 需要基础库: `2.9.0` + * + * 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。 + * + * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作 */ + interface MediaTrack { + /** 轨道长度,只读 */ + duration: number + /** 轨道类型,只读 + * + * 可选值: + * - 'audio': 音频轨道; + * - 'video': 视频轨道; */ + kind: 'audio' | 'video' + /** 音量,音频轨道下有效,可写 */ + volume: number + } + /** 小程序帐号信息 */ + interface MiniProgram { + /** 小程序 appId */ + appId: string + /** 需要基础库: `2.10.0` + * + * 小程序版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion: 'develop' | 'trial' | 'release' + /** 需要基础库: `2.10.2` + * + * 线上小程序版本号 */ + version: string + } + interface MkdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 上级目录不存在(该错误仅在 recursive = false 时生效); + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail file already exists ${dirPath}': 有同名文件或目录(该错误仅在 recursive = false 时生效); + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface MkdirOption { + /** 创建的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MkdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MkdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: MkdirSuccessCallback + } + interface MoveAlongOption { + /** 平滑移动的时间 */ + duration: number + /** 指定 marker */ + markerId: number + /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */ + path: any[] + /** 根据路径方向自动改变 marker 的旋转角度 */ + autoRotate?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveAlongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveAlongFailCallback + /** 接口调用成功的回调函数 */ + success?: MoveAlongSuccessCallback + } + interface MoveToLocationOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MoveToLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MoveToLocationFailCallback + /** 需要基础库: `2.8.0` + * + * 纬度 */ + latitude?: number + /** 需要基础库: `2.8.0` + * + * 经度 */ + longitude?: number + /** 接口调用成功的回调函数 */ + success?: MoveToLocationSuccessCallback + } + /** 静音设置 */ + interface MuteConfig { + /** 是否静音耳机 */ + muteEarphone?: boolean + /** 是否静音麦克风 */ + muteMicrophone?: boolean + } + interface MuteOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: MuteCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: MuteFailCallback + /** 接口调用成功的回调函数 */ + success?: MuteSuccessCallback + } + /** 需要基础库: `2.11.2` */ + interface NFCAdapter { + /** 标签类型枚举 */ + tech: TechType + } + interface NavigateBackMiniProgramOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackMiniProgramCompleteCallback + /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateBackMiniProgramFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackMiniProgramSuccessCallback + } + interface NavigateBackOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateBackCompleteCallback + /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */ + delta?: number + /** 接口调用失败的回调函数 */ + fail?: NavigateBackFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateBackSuccessCallback + } + interface NavigateToMiniProgramOption { + /** 要打开的小程序 appId */ + appId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 需要基础库: `2.18.1` + * + * 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: NavigateToMiniProgramSuccessCallback + } + interface NavigateToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NavigateToCompleteCallback + /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */ + events?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: NavigateToFailCallback + /** 接口调用成功的回调函数 */ + success?: NavigateToSuccessCallback + } + interface NavigateToSuccessCallbackResult { + /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html) + * + * 和被打开页面进行通信 */ + eventChannel: EventChannel + errMsg: string + } + interface NdefCloseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NdefCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NdefCloseFailCallback + /** 接口调用成功的回调函数 */ + success?: NdefCloseSuccessCallback + } + interface NdefConnectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ConnectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ConnectFailCallback + /** 接口调用成功的回调函数 */ + success?: ConnectSuccessCallback + } + interface NodeCallbackResult { + /** 节点对应的 Node 实例 */ + node: IAnyObject + } + interface NotifyBLECharacteristicValueChangeOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 是否启用 notify */ + state: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: NotifyBLECharacteristicValueChangeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: NotifyBLECharacteristicValueChangeFailCallback + /** 接口调用成功的回调函数 */ + success?: NotifyBLECharacteristicValueChangeSuccessCallback + /** 需要基础库: `2.4.0` + * + * 设置特征订阅类型,有效值有 `notification` 和 `indication` */ + type?: string + } + /** media query 描述符 */ + interface ObserveDescriptor { + /** 页面高度( px 为单位) */ + height: number + /** 页面最大高度( px 为单位) */ + maxHeight: number + /** 页面最大宽度( px 为单位) */ + maxWidth: number + /** 页面最小高度( px 为单位) */ + minHeight: number + /** 页面最小宽度( px 为单位) */ + minWidth: number + /** 屏幕方向( `landscape` 或 `portrait` ) */ + orientation: string + /** 页面宽度( px 为单位) */ + width: number + } + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + interface ObserveOption { + /** 指标类型列表。不能和 type 同时使用。 */ + entryTypes?: string[] + /** 指标类型。不能和 entryTypes 同时使用 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + type?: 'navigation' | 'render' | 'script' + } + /** 需要基础库: `2.7.0` + * + * 离屏 canvas 实例,可通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建。 */ + interface OffscreenCanvas { + /** 画布高度 */ + height: number + /** 画布宽度 */ + width: number + } + interface OnAccelerometerChangeListenerResult { + /** X 轴 */ + x: number + /** Y 轴 */ + y: number + /** Z 轴 */ + z: number + } + interface OnBLECharacteristicValueChangeListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 特征最新的值 */ + value: ArrayBuffer + } + interface OnBLEConnectionStateChangeListenerResult { + /** 是否处于已连接状态 */ + connected: boolean + /** 蓝牙设备 id */ + deviceId: string + } + interface OnBLEMTUChangeListenerResult { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元 */ + mtu: number + } + interface OnBLEPeripheralConnectionStateChangedListenerResult { + /** 连接目前状态 */ + connected: boolean + /** 连接状态变化的设备 id */ + deviceId: string + /** server 的 UUID */ + serverId: string + } + interface OnBackgroundFetchDataListenerResult { + /** 缓存数据类别,取值为 periodic 或 pre */ + fetchType: string + /** 缓存数据 */ + fetchedData: string + /** 小程序页面路径 */ + path: string + /** 传给页面的 query 参数 */ + query: string + /** 进入小程序的场景值 */ + scene: number + /** 客户端拿到缓存数据的时间戳 */ + timeStamp: number + } + interface OnBeaconServiceChangeListenerResult { + /** 服务目前是否可用 */ + available: boolean + /** 目前是否处于搜索状态 */ + discovering: boolean + } + interface OnBeaconUpdateListenerResult { + /** 当前搜寻到的所有 Beacon 设备列表 */ + beacons: BeaconInfo[] + } + interface OnBluetoothAdapterStateChangeListenerResult { + /** 蓝牙适配器是否可用 */ + available: boolean + /** 蓝牙适配器是否处于搜索状态 */ + discovering: boolean + } + interface OnBluetoothDeviceFoundListenerResult { + /** 新搜索到的设备列表 */ + devices: BlueToothDevice[] + } + interface OnCameraFrameCallbackResult { + /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */ + data: ArrayBuffer + /** 图像数据矩形的高度 */ + height: number + /** 图像数据矩形的宽度 */ + width: number + } + interface OnCharacteristicReadRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicSubscribedListenerResult { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + } + interface OnCharacteristicWriteRequestListenerResult { + /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */ + callbackId: number + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 请求写入特征的二进制数据值 */ + value: ArrayBuffer + } + interface OnCheckForUpdateListenerResult { + /** 是否有新版本 */ + hasUpdate: boolean + } + interface OnChunkReceivedListenerResult { + /** 开发者服务器每次返回新chunk时的Response */ + res: Result + } + interface OnCompassChangeListenerResult { + /** 需要基础库: `2.4.0` + * + * 精度 */ + accuracy: number | string + /** 面对的方向度数 */ + direction: number + } + interface OnCopyUrlListenerResult { + /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */ + query: string + } + interface OnDeviceMotionChangeListenerResult { + /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */ + alpha: number + /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */ + beta: number + /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */ + gamma: number + } + interface OnDiscoveredListenerResult { + /** NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */ + messages: any[] + /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */ + techs: any[] + } + interface OnFrameRecordedListenerResult { + /** 录音分片数据 */ + frameBuffer: ArrayBuffer + /** 当前帧是否正常录音结束前的最后一帧 */ + isLastFrame: boolean + } + interface OnGetWifiListListenerResult { + /** Wi-Fi 列表数据 */ + wifiList: WifiInfo[] + } + interface OnGyroscopeChangeListenerResult { + /** x 轴的角速度 */ + x: number + /** y 轴的角速度 */ + y: number + /** z 轴的角速度 */ + z: number + } + interface OnHCEMessageListenerResult { + /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */ + data: ArrayBuffer + /** 消息类型 + * + * 可选值: + * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令; + * - 2: 设备离场事件类型; */ + messageType: 1 | 2 + /** `messageType=2` 时,原因 */ + reason: number + } + interface OnHeadersReceivedListenerResult { + /** 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + } + interface OnKeyboardHeightChangeListenerResult { + /** 键盘高度 */ + height: number + } + interface OnLazyLoadErrorListenerResult { + /** 详细信息 */ + errMsg: string + /** 异步组件所属的分包 */ + subpackage: any[] + /** 'subpackage' 失败类型 */ + type: string + } + interface OnLocalServiceFoundListenerResult { + /** 服务的 ip 地址 */ + ip: string + /** 服务的端口 */ + port: number + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocalServiceLostListenerResult { + /** 服务的名称 */ + serviceName: string + /** 服务的类型 */ + serviceType: string + } + interface OnLocationChangeErrorListenerResult { + /** 错误码 */ + errCode: number + } + interface OnLocationChangeListenerResult { + /** 位置的精确度 */ + accuracy: number + /** 需要基础库: `1.2.0` + * + * 高度,单位 m */ + altitude: number + /** 需要基础库: `1.2.0` + * + * 水平精度,单位 m */ + horizontalAccuracy: number + /** 纬度,范围为 -90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为 -180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 速度,单位 m/s */ + speed: number + /** 需要基础库: `1.2.0` + * + * 垂直精度,单位 m(Android 无法获取,返回 0) */ + verticalAccuracy: number + } + interface OnMemoryWarningListenerResult { + /** 内存告警等级,只有 Android 才有,对应系统宏定义 + * + * 可选值: + * - 5: TRIM_MEMORY_RUNNING_MODERATE; + * - 10: TRIM_MEMORY_RUNNING_LOW; + * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */ + level: 5 | 10 | 15 + } + interface OnNetworkStatusChangeListenerResult { + /** 当前是否有网络连接 */ + isConnected: boolean + /** 网络类型 + * + * 可选值: + * - 'wifi': wifi 网络; + * - '2g': 2g 网络; + * - '3g': 3g 网络; + * - '4g': 4g 网络; + * - '5g': 5g 网络; + * - 'unknown': Android 下不常见的网络类型; + * - 'none': 无网络; */ + networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none' + } + interface OnNetworkWeakChangeListenerResult { + /** 当前网络类型 */ + networkType: string + /** 当前是否处于弱网状态 */ + weakNet: boolean + } + interface OnOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + profile: SocketProfile + } + interface OnPageNotFoundListenerResult { + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + /** 不存在页面的路径 (代码包路径) */ + path: string + /** 打开不存在页面的 query 参数 */ + query: IAnyObject + } + interface OnScreenRecordingStateChangedListenerResult { + /** 录屏状态 + * + * 可选值: + * - 'start': 开始录屏; + * - 'stop': 结束录屏; */ + state: 'start' | 'stop' + } + interface OnSocketOpenListenerResult { + /** 需要基础库: `2.0.0` + * + * 连接成功的 HTTP 响应 Header */ + header: IAnyObject + } + interface OnStopListenerResult { + /** 录音总时长,单位:ms */ + duration: number + /** 录音文件大小,单位:Byte */ + fileSize: number + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + } + interface OnThemeChangeListenerResult { + /** 系统当前的主题,取值为`light`或`dark` + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme: 'dark' | 'light' + } + interface OnUnhandledRejectionListenerResult { + /** 被拒绝的 Promise 对象 */ + promise: Promise<any> + /** 拒绝原因,一般是一个 Error 对象 */ + reason: string + } + interface OnVoIPChatInterruptedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + } + interface OnVoIPChatMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatSpeakersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果(错误原因) */ + errMsg: string + /** 还在实时语音通话中的成员 openId 名单 */ + openIdList: string[] + } + interface OnVoIPChatStateChangedListenerResult { + /** 事件码 */ + code: number + /** 附加信息 */ + data: IAnyObject + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + } + interface OnVoIPVideoMembersChangedListenerResult { + /** 错误码 */ + errCode: number + /** 调用结果 */ + errMsg: string + /** 开启视频的成员名单 */ + openIdList: string[] + } + interface OnWifiConnectedListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * Wi-Fi 信息 */ + wifi: WifiInfo + } + interface OnWifiConnectedWithPartialInfoListenerResult { + /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html) + * + * 只包含 SSID 属性的 WifiInfo 对象 */ + wifi: WifiInfo + } + interface OnWindowResizeListenerResult { + size: Size + } + interface OpenAppAuthorizeSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenAppAuthorizeSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenAppAuthorizeSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenAppAuthorizeSettingSuccessCallback + } + interface OpenBluetoothAdapterOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenBluetoothAdapterCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenBluetoothAdapterFailCallback + /** 需要基础库: `2.10.0` + * + * 蓝牙模式,可作为主/从设备,仅 iOS 需要。 + * + * 可选值: + * - 'central': 主机模式; + * - 'peripheral': 从机(外围设备)模式; */ + mode?: 'central' | 'peripheral' + /** 接口调用成功的回调函数 */ + success?: OpenBluetoothAdapterSuccessCallback + } + interface OpenCardOption { + /** 需要打开的卡券列表 */ + cardList: OpenCardRequestInfo[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCardCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCardFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenCardSuccessCallback + } + /** 需要打开的卡券列表 */ + interface OpenCardRequestInfo { + /** 卡券 ID */ + cardId: string + /** 由 [wx.addCard](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) 的返回对象中的加密 code 通过解密后得到,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */ + code: string + } + interface OpenChannelsActivityOption { + /** 视频 feedId */ + feedId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsActivityCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsActivityFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsActivitySuccessCallback + } + interface OpenChannelsEventOption { + /** 活动 id */ + eventId: string + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsEventCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsEventFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsEventSuccessCallback + } + interface OpenChannelsLiveOption { + /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsLiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsLiveFailCallback + /** 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + feedId?: string + /** 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */ + nonceId?: string + /** 接口调用成功的回调函数 */ + success?: OpenChannelsLiveSuccessCallback + } + interface OpenChannelsUserProfileOption { + /** 视频号 id */ + finderUserName: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenChannelsUserProfileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenChannelsUserProfileFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenChannelsUserProfileSuccessCallback + } + interface OpenCustomerServiceChatOption { + /** 企业ID */ + corpId: string + /** 客服信息 */ + extInfo: ExtInfoOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCustomerServiceChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenCustomerServiceChatFailCallback + /** 气泡消息图片 */ + sendMessageImg?: string + /** 气泡消息小程序路径 */ + sendMessagePath?: string + /** 气泡消息标题 */ + sendMessageTitle?: string + /** 是否发送小程序气泡消息 */ + showMessageCard?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenCustomerServiceChatSuccessCallback + } + interface OpenDocumentOption { + /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenDocumentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenDocumentFailCallback + /** 需要基础库: `1.4.0` + * + * 文件类型,指定文件类型打开文件 + * + * 可选值: + * - 'doc': doc 格式; + * - 'docx': docx 格式; + * - 'xls': xls 格式; + * - 'xlsx': xlsx 格式; + * - 'ppt': ppt 格式; + * - 'pptx': pptx 格式; + * - 'pdf': pdf 格式; */ + fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf' + /** 需要基础库: `2.11.0` + * + * 是否显示右上角菜单 */ + showMenu?: boolean + /** 接口调用成功的回调函数 */ + success?: OpenDocumentSuccessCallback + } + interface OpenEmbeddedMiniProgramOption { + /** 要打开的小程序 appId */ + appId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenEmbeddedMiniProgramCompleteCallback + /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + envVersion?: 'develop' | 'trial' | 'release' + /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */ + extraData?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: OpenEmbeddedMiniProgramFailCallback + /** 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 [wx.onShow](#) 回调函数、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 */ + path?: string + /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 */ + shortLink?: string + /** 接口调用成功的回调函数 */ + success?: OpenEmbeddedMiniProgramSuccessCallback + /** 需要基础库: `2.24.3` + * + * 校验方式。 + * + * 可选值: + * - 'binding': 校验小程序管理后台的绑定关系。; + * - 'unionProduct': 校验目标打开链接是否为[小程序联盟](https://developers.weixin.qq.com/doc/ministore/union/brief-introduction.html)商品。; */ + verify?: 'binding' | 'unionProduct' + } + interface OpenFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory "${filePath}"': 上级目录不存在; */ + errMsg: string + } + interface OpenLocationOption { + /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */ + latitude: number + /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */ + longitude: number + /** 地址的详细说明 */ + address?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenLocationFailCallback + /** 位置名 */ + name?: string + /** 缩放比例,范围5~18 */ + scale?: number + /** 接口调用成功的回调函数 */ + success?: OpenLocationSuccessCallback + } + interface OpenMapAppOption { + /** 目的地名称 */ + destination: string + /** 目的地纬度 */ + latitude: number + /** 目的地经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenMapAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenMapAppFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenMapAppSuccessCallback + } + interface OpenOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenFailCallback + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + /** 接口调用成功的回调函数 */ + success?: OpenSuccessCallback + } + interface OpenSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSettingSuccessCallback + /** 需要基础库: `2.10.3` + * + * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + withSubscriptions?: boolean + } + interface OpenSettingSuccessCallbackResult { + /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html) + * + * 用户授权结果 */ + authSetting: AuthSetting + /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html) + * + * 需要基础库: `2.10.3` + * + * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */ + subscriptionsSetting: SubscriptionsSetting + errMsg: string + } + interface OpenSuccessCallbackResult { + /** 文件描述符 */ + fd: string + errMsg: string + } + interface OpenSyncOption { + /** 文件路径 (本地路径) */ + filePath: string + /** 文件系统标志,默认值: 'r' + * + * 可选值: + * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件; + * - 'ax': 类似于 'a',但如果路径存在,则失败; + * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件; + * - 'ax+': 类似于 'a+',但如果路径存在,则失败; + * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件; + * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常; + * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常; + * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx': 类似于 'w',但如果路径存在,则失败; + * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件; + * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */ + flag?: + | 'a' + | 'ax' + | 'a+' + | 'ax+' + | 'as' + | 'as+' + | 'r' + | 'r+' + | 'w' + | 'wx' + | 'w+' + | 'wx+' + } + interface OpenSystemBluetoothSettingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenSystemBluetoothSettingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenSystemBluetoothSettingFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenSystemBluetoothSettingSuccessCallback + } + interface OpenVideoEditorOption { + /** 视频源的路径,只支持本地路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: OpenVideoEditorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: OpenVideoEditorFailCallback + /** 接口调用成功的回调函数 */ + success?: OpenVideoEditorSuccessCallback + } + interface OpenVideoEditorSuccessCallbackResult { + /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */ + duration: number + /** 剪辑后生成的视频文件大小,单位字节数(byte) */ + size: number + /** 编辑后生成的视频文件的临时路径 */ + tempFilePath: string + /** 编辑后生成的缩略图文件的临时路径 */ + tempThumbPath: string + errMsg: string + } + interface PageScrollToOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PageScrollToCompleteCallback + /** 滚动动画的时长,单位 ms */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PageScrollToFailCallback + /** 需要基础库: `2.23.1` + * + * 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px */ + offsetTop?: number + /** 滚动到页面的目标位置,单位 px */ + scrollTop?: number + /** 需要基础库: `2.7.3` + * + * 选择器 */ + selector?: string + /** 接口调用成功的回调函数 */ + success?: PageScrollToSuccessCallback + } + /** 需要基础库: `2.11.0` + * + * Canvas 2D API 的接口 Path2D 用来声明路径,此路径稍后会被CanvasRenderingContext2D 对象使用。CanvasRenderingContext2D 接口的 路径方法 也存在于 Path2D 这个接口中,允许你在 canvas 中根据需要创建可以保留并重用的路径。 */ + interface Path2D {} + interface PauseBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBGMSuccessCallback + } + interface PauseBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseBackgroundAudioSuccessCallback + } + interface PauseOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseSuccessCallback + } + interface PauseVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PauseVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PauseVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PauseVoiceSuccessCallback + } + /** 单条性能数据。具体数据口径请参考[性能数据文档]((performance/perf_data##_1-4-%E9%80%9A%E8%BF%87-wx-getPerformance-%E5%9C%A8%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%86%85%E8%8E%B7%E5%8F%96)) */ + interface PerformanceEntry { + /** 需要基础库: `2.24.0` + * + * 解析域名结束时间。仅 resourceTiming 指标有效。 */ + domainLookupEnd: number + /** 需要基础库: `2.24.0` + * + * 解析域名开始时间。仅 resourceTiming 指标有效。 */ + domainLookupStart: number + /** 耗时 ms。仅对于表示阶段的指标有效。 */ + duration: number + /** 指标类型 + * + * 可选值: + * - 'navigation': 路由; + * - 'render': 渲染; + * - 'script': 脚本; */ + entryType: 'navigation' | 'render' | 'script' + /** 需要基础库: `2.21.2` + * + * 注入文件列表。仅 evaluateScript 指标有效。 */ + fileList: string[] + /** 需要基础库: `2.21.2` + * + * 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 */ + initDataRecvTime: number + /** 需要基础库: `2.21.2` + * + * 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 */ + initDataSendTime: number + /** 需要基础库: `2.24.0` + * + * 初始化性能条目的资源类型。仅 resourceTiming 指标有效。 + * + * 可选值: + * - 'audio': 音频; + * - 'cover-image': cover-image 组件的图片; + * - 'image': 组件的图片; + * - 'open-data': 组件的图片; */ + initiatorType: 'audio' | 'cover-image' | 'image' | 'open-data' + /** 分包名,主包表示为 __APP__ (2.21.2 开始)。仅 evaluateScript 指标有效。 */ + moduleName: string + /** 指标名称 + * + * 可选值: + * - 'appLaunch': 小程序启动耗时。(entryType: navigation); + * - 'route': 路由处理耗时。(entryType: navigation); + * - 'firstRender': 页面首次渲染耗时。(entryType: render); + * - 'firstPaint': 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'firstContentfulPaint': 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render); + * - 'largestContentfulPaint': 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render); + * - 'evaluateScript': 逻辑层 JS 代码注入耗时。(entryType: script); + * - 'downloadPackage': 代码包下载耗时。(entryType: loadPackage); + * - 'resourceTiming': 视图层资源加载耗时。(entryType: resource); */ + name: + | 'appLaunch' + | 'route' + | 'firstRender' + | 'firstPaint' + | 'firstContentfulPaint' + | 'largestContentfulPaint' + | 'evaluateScript' + | 'downloadPackage' + | 'resourceTiming' + /** 路由真正响应开始时间。仅 navigation 类型指标有效。 */ + navigationStart: number + /** 路由详细类型,与小程序路由方法对应。仅 navigation 类型指标有效。 */ + navigationType: string + /** 需要基础库: `2.24.0` + * + * 代码包名称。仅 downloadPackage 指标有效。 */ + packageName: string + /** 需要基础库: `2.24.0` + * + * 代码包大小。仅 downloadPackage 指标有效。 */ + packageSize: number + /** 需要基础库: `2.23.1` + * + * path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 */ + pageId: number + /** 页面路径。仅 render 和 navigation 类型指标有效。 */ + path: string + /** 需要基础库: `2.23.1` + * + * referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 */ + referrerPageId: number + /** 需要基础库: `2.23.1` + * + * 页面跳转来源页面路径。仅 route 指标有效。 */ + referrerPath: number + /** 开始时间,不同指标的具体含义会有差异。 */ + startTime: number + /** 需要基础库: `2.24.0` + * + * 表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持) */ + transferSize: number + /** 需要基础库: `2.24.0` + * + * 资源路径。仅 resourceTiming 指标有效。 */ + uri: string + /** 需要基础库: `2.21.2` + * + * 渲染层代码注入完成时间。仅 firstRender 指标有效。 */ + viewLayerReadyTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染结束时间。仅 firstRender 指标有效。 */ + viewLayerRenderEndTime: number + /** 需要基础库: `2.21.2` + * + * 渲染层执行渲染开始时间。仅 firstRender 指标有效。 */ + viewLayerRenderStartTime: number + } + /** 需要基础库: `2.11.0` + * + * PerformanceObserver 对象,用于监听性能相关事件 */ + interface PerformanceObserver { + /** 获取当前支持的所有性能指标类型 */ + supportedEntryTypes: any[] + } + /** 平面跟踪配置 */ + interface PlaneTrack { + /** 平面跟踪配置模式 + * + * 可选值: + * - 1: 检测横向平面; + * - 2: 检测纵向平面,只有 v2 版本支持; + * - 3: 检测横向和纵向平面,只有 v2 版本支持; */ + mode: 1 | 2 | 3 + } + interface PlayBGMOption { + /** 加入背景混音的资源地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBGMSuccessCallback + } + interface PlayBackgroundAudioOption { + /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */ + dataUrl: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayBackgroundAudioCompleteCallback + /** 封面URL */ + coverImgUrl?: string + /** 接口调用失败的回调函数 */ + fail?: PlayBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayBackgroundAudioSuccessCallback + /** 音乐标题 */ + title?: string + } + interface PlayOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PlayFailCallback + /** 接口调用成功的回调函数 */ + success?: PlaySuccessCallback + } + interface PlayVoiceOption { + /** 需要播放的语音文件的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PlayVoiceCompleteCallback + /** 需要基础库: `1.6.0` + * + * 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: PlayVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: PlayVoiceSuccessCallback + } + /** 插件帐号信息(仅在插件中调用时包含这一项) */ + interface Plugin { + /** 插件 appId */ + appId: string + /** 插件版本号 */ + version: string + } + interface PluginLoginOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PluginLoginCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PluginLoginFailCallback + /** 接口调用成功的回调函数 */ + success?: PluginLoginSuccessCallback + } + interface PluginLoginSuccessCallbackResult { + /** 用于换取 openpid 的凭证(有效期五分钟)。插件开发者可以用此 code 在开发者服务器后台调用 [auth.getPluginOpenPId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.getPluginOpenPId.html) 换取 openpid。 */ + code: string + errMsg: string + } + interface PreloadAssetsOption { + data: Asset[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadAssetsCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadAssetsFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadAssetsSuccessCallback + } + interface PreloadSkylineViewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadSkylineViewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadSkylineViewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadSkylineViewSuccessCallback + } + interface PreloadWebviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreloadWebviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: PreloadWebviewFailCallback + /** 接口调用成功的回调函数 */ + success?: PreloadWebviewSuccessCallback + } + interface PreviewImageOption { + /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */ + urls: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewImageCompleteCallback + /** 当前显示图片的链接 */ + current?: string + /** 接口调用失败的回调函数 */ + fail?: PreviewImageFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewImageSuccessCallback + } + interface PreviewMediaOption { + /** 需要预览的资源列表 */ + sources: MediaSource[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: PreviewMediaCompleteCallback + /** 当前显示的资源序号 */ + current?: number + /** 接口调用失败的回调函数 */ + fail?: PreviewMediaFailCallback + /** 需要基础库: `2.13.0` + * + * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */ + referrerPolicy?: string + /** 需要基础库: `2.13.0` + * + * 是否显示长按菜单。 */ + showmenu?: boolean + /** 接口调用成功的回调函数 */ + success?: PreviewMediaSuccessCallback + } + /** 推广员 */ + interface PromoterResult { + /** 推广员昵称 */ + finderNickname: string + /** 推广员 id */ + promoterId: string + /** 推广员 openid */ + promoterOpenId: string + } + interface ReLaunchOption { + /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReLaunchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReLaunchFailCallback + /** 接口调用成功的回调函数 */ + success?: ReLaunchSuccessCallback + } + interface ReadBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadBLECharacteristicValueSuccessCallback + } + interface ReadCompressedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail decompress fail': 指定的 compressionAlgorithm 与文件实际压缩格式不符; + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; */ + errMsg: string + } + interface ReadCompressedFileOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompressedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadCompressedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadCompressedFileSuccessCallback + } + interface ReadCompressedFileSuccessCallbackResult { + /** 文件内容 */ + data: ArrayBuffer + errMsg: string + } + interface ReadCompressedFileSyncOption { + /** 文件压缩类型,目前仅支持 'br'。 + * + * 可选值: + * - 'br': brotli压缩文件; */ + compressionAlgorithm: 'br' + /** 要读取的文件的路径 (本地用户文件或代码包文件) */ + filePath: string + } + interface ReadFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有读权限; + * - 'fail the value of "offset" is out of range': 传入的 offset 不合法; + * - 'fail the value of "length" is out of range': 传入的 length 不合法; + * - 'fail sdcard not mounted': android sdcard 挂载失败; + * - 'bad file descriptor': 无效的文件描述符; */ + errMsg: string + } + interface ReadFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; + * - 'native buffer exceed size limit': 文件大小超出上限(100M); */ + errMsg: string + } + interface ReadFileOption { + /** 要读取的文件的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadFileCompleteCallback + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadFileFailCallback + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadFileSuccessCallback + } + interface ReadFileSuccessCallbackResult { + /** 文件内容 */ + data: string | ArrayBuffer + errMsg: string + } + interface ReadOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReadFailCallback + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: ReadSuccessCallback + } + /** 文件读取结果。 通过 [FileSystemManager.readSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) 接口返回 */ + interface ReadResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + } + interface ReadSuccessCallbackResult { + /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */ + arrayBuffer: ArrayBuffer + /** 实际读取的字节数 */ + bytesRead: number + errMsg: string + } + interface ReadSyncOption { + /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */ + arrayBuffer: ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 要从文件中读取的字节数,默认0 */ + length?: number + /** 缓冲区中的写入偏移量,默认0 */ + offset?: number + /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */ + position?: number + } + interface ReadZipEntryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReadZipEntryOption { + /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */ + entries: EntryItem[] | 'all' + /** 要读取的压缩包的路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReadZipEntryCompleteCallback + /** 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: ReadZipEntryFailCallback + /** 接口调用成功的回调函数 */ + success?: ReadZipEntrySuccessCallback + } + interface ReadZipEntrySuccessCallbackResult { + /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */ + entries: EntriesResult + errMsg: string + } + interface ReaddirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail not a directory ${dirPath}': dirPath 不是目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有读权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface ReaddirOption { + /** 要读取的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ReaddirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ReaddirFailCallback + /** 接口调用成功的回调函数 */ + success?: ReaddirSuccessCallback + } + interface ReaddirSuccessCallbackResult { + /** 指定目录下的文件名数组。 */ + files: string[] + errMsg: string + } + interface RecorderManagerStartOption { + /** 需要基础库: `2.1.0` + * + * 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源 + * + * 可选值: + * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用; + * - 'buildInMic': 手机麦克风,仅限 iOS; + * - 'headsetMic': 有线耳机麦克风,仅限 iOS; + * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android; + * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android; + * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android; + * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */ + audioSource?: + | 'auto' + | 'buildInMic' + | 'headsetMic' + | 'mic' + | 'camcorder' + | 'voice_communication' + | 'voice_recognition' + /** 录音的时长,单位 ms,最大值 600000(10 分钟) */ + duration?: number + /** 编码码率,有效值见下表格 */ + encodeBitRate?: number + /** 音频格式 + * + * 可选值: + * - 'mp3': mp3 格式; + * - 'aac': aac 格式; + * - 'wav': wav 格式; + * - 'PCM': pcm 格式; */ + format?: 'mp3' | 'aac' | 'wav' | 'PCM' + /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 */ + frameSize?: number + /** 录音通道数 + * + * 可选值: + * - 1: 1 个通道; + * - 2: 2 个通道; */ + numberOfChannels?: 1 | 2 + /** 采样率(pc不支持) + * + * 可选值: + * - 8000: 8000 采样率; + * - 11025: 11025 采样率; + * - 12000: 12000 采样率; + * - 16000: 16000 采样率; + * - 22050: 22050 采样率; + * - 24000: 24000 采样率; + * - 32000: 32000 采样率; + * - 44100: 44100 采样率; + * - 48000: 48000 采样率; */ + sampleRate?: + | 8000 + | 11025 + | 12000 + | 16000 + | 22050 + | 24000 + | 32000 + | 44100 + | 48000 + } + interface RedirectToOption { + /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedirectToCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedirectToFailCallback + /** 接口调用成功的回调函数 */ + success?: RedirectToSuccessCallback + } + interface RedoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RedoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RedoFailCallback + /** 接口调用成功的回调函数 */ + success?: RedoSuccessCallback + } + /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */ + interface ReferrerInfo { + /** 来源小程序、公众号或 App 的 appId */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData: IAnyObject + } + /** 参照区域的边界 */ + interface RelativeRectResult { + /** 下边界 */ + bottom: number + /** 左边界 */ + left: number + /** 右边界 */ + right: number + /** 上边界 */ + top: number + } + /** 发送端地址信息 */ + interface RemoteInfo { + /** 发送消息的 socket 的地址 */ + address: string + /** 使用的协议族,为 IPv4 或者 IPv6 */ + family: string + /** 端口号 */ + port: number + /** message 的大小,单位:字节 */ + size: number + } + interface RemoveArcOption { + /** 圆弧 id */ + id: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveArcCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveArcFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveArcSuccessCallback + } + interface RemoveCustomLayerOption { + /** 个性化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveCustomLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveCustomLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveCustomLayerSuccessCallback + } + interface RemoveFormatOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveFormatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveFormatFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveFormatSuccessCallback + } + interface RemoveGroundOverlayOption { + /** 图片图层 id */ + id: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveGroundOverlayFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveGroundOverlaySuccessCallback + } + interface RemoveMarkersOption { + /** marker 的 id 集合。 */ + markerIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveMarkersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveMarkersFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveMarkersSuccessCallback + } + interface RemoveSavedFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail file not exist': 指定的 tempFilePath 找不到文件; */ + errMsg: string + } + interface RemoveServiceOption { + /** service 的 UUID */ + serviceId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveServiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveServiceFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveServiceSuccessCallback + } + interface RemoveStorageOption { + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveStorageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveStorageSuccessCallback + } + interface RemoveTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveTabBarBadgeSuccessCallback + } + interface RemoveVisualLayerOption { + /** 可视化图层id */ + layerId: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveVisualLayerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RemoveVisualLayerFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveVisualLayerSuccessCallback + } + interface RenameFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, rename ${oldPath} -> ${newPath}': 指定源文件或目标文件没有写权限; + * - 'fail no such file or directory, rename ${oldPath} -> ${newPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface RenameOption { + /** 新文件路径,支持本地路径 */ + newPath: string + /** 源文件路径,支持本地路径 */ + oldPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RenameCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RenameFailCallback + /** 接口调用成功的回调函数 */ + success?: RenameSuccessCallback + } + /** Canvas 绘图上下文。 + * + * **** + * + * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。 + * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。 + * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象 + * + * **示例代码** + * + * video 画到 2D Canvas 示例 + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */ + interface RenderingContext {} + interface RequestOption< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 开发者服务器接口地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestCompleteCallback + /** 请求的参数 */ + data?: string | IAnyObject | ArrayBuffer + /** 返回的数据格式 + * + * 可选值: + * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse; + * - '其他': 不对返回的内容进行 JSON.parse; */ + dataType?: 'json' | '其他' + /** 需要基础库: `2.10.4` + * + * 开启 cache */ + enableCache?: boolean + /** 需要基础库: `2.20.2` + * + * 开启 transfer-encoding chunked。 */ + enableChunked?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 http2 */ + enableHttp2?: boolean + /** 需要基础库: `2.19.1` + * + * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + enableHttpDNS?: boolean + /** 需要基础库: `2.10.4` + * + * 开启 quic */ + enableQuic?: boolean + /** 接口调用失败的回调函数 */ + fail?: RequestFailCallback + /** 需要基础库: `2.21.0` + * + * wifi下使用移动网络发送请求 */ + forceCellularNetwork?: boolean + /** 设置请求的 header,header 中不能设置 Referer。 + * + * `content-type` 默认为 `application/json` */ + header?: IAnyObject + /** 需要基础库: `2.19.1` + * + * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */ + httpDNSServiceId?: string + /** HTTP 请求方法 + * + * 可选值: + * - 'OPTIONS': HTTP 请求 OPTIONS; + * - 'GET': HTTP 请求 GET; + * - 'HEAD': HTTP 请求 HEAD; + * - 'POST': HTTP 请求 POST; + * - 'PUT': HTTP 请求 PUT; + * - 'DELETE': HTTP 请求 DELETE; + * - 'TRACE': HTTP 请求 TRACE; + * - 'CONNECT': HTTP 请求 CONNECT; */ + method?: + | 'OPTIONS' + | 'GET' + | 'HEAD' + | 'POST' + | 'PUT' + | 'DELETE' + | 'TRACE' + | 'CONNECT' + /** 需要基础库: `1.7.0` + * + * 响应的数据类型 + * + * 可选值: + * - 'text': 响应的数据为文本; + * - 'arraybuffer': 响应的数据为 ArrayBuffer; */ + responseType?: 'text' | 'arraybuffer' + /** 接口调用成功的回调函数 */ + success?: RequestSuccessCallback<T> + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒。默认值为 60000 */ + timeout?: number + } + interface RequestOrderPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestOrderPaymentCompleteCallback + /** 外部APP用户ID */ + extUserUin?: string + /** 接口调用失败的回调函数 */ + fail?: RequestOrderPaymentFailCallback + /** 订单信息,仅在需要校验的场景下需要传递,具体见[接口说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/requestOrderPayment) */ + orderInfo?: IAnyObject + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestOrderPaymentSuccessCallback + } + interface RequestPaymentOption { + /** 随机字符串,长度为32个字符以下 */ + nonceStr: string + /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */ + package: string + /** 签名,具体见微信支付文档 */ + paySign: string + /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */ + timeStamp: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPaymentCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPaymentFailCallback + /** 签名算法,应与后台下单时的值一致 + * + * 可选值: + * - 'MD5': 仅在 v2 版本接口适用; + * - 'HMAC-SHA256': 仅在 v2 版本接口适用; + * - 'RSA': 仅在 v3 版本接口适用; */ + signType?: 'MD5' | 'HMAC-SHA256' | 'RSA' + /** 接口调用成功的回调函数 */ + success?: RequestPaymentSuccessCallback + } + interface RequestPictureInPictureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPictureInPictureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestPictureInPictureFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPictureInPictureSuccessCallback + } + interface RequestPluginPaymentOption { + /** 需要显示在页面中的金额,单位为分 */ + fee: number + /** 任意数据,传递给功能页中的响应函数 */ + paymentArgs: IAnyObject + /** 插件版本 + * + * 可选值: + * - 'develop': 开发版; + * - 'trial': 体验版; + * - 'release': 正式版; */ + version: 'develop' | 'trial' | 'release' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestPluginPaymentCompleteCallback + /** 需要显示在页面中的货币符号的代码 */ + currencyType?: string + /** 接口调用失败的回调函数 */ + fail?: RequestPluginPaymentFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestPluginPaymentSuccessCallback + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + interface RequestProfile { + /** SSL建立完成的时间,如果不是安全连接,则值为 0 */ + SSLconnectionEnd: number + /** SSL建立连接的时间,如果不是安全连接,则值为 0 */ + SSLconnectionStart: number + /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 评估当前网络下载的kbps */ + downstreamThroughputKbpsEstimate: number + /** 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 */ + estimate_nettype: number + /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */ + httpRttEstimate: number + /** 当前请求的IP */ + peerIP: string + /** 当前请求的端口 */ + port: number + /** 使用协议类型,有效值:http1.1, h2, quic, unknown */ + protocol: string + /** 收到字节数 */ + receivedBytedCount: number + /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */ + redirectEnd: number + /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */ + redirectStart: number + /** HTTP请求读取真实文档结束的时间 */ + requestEnd: number + /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */ + requestStart: number + /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */ + responseEnd: number + /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */ + responseStart: number + /** 当次请求连接过程中实时 rtt */ + rtt: number + /** 发送的字节数 */ + sendBytesCount: number + /** 是否复用连接 */ + socketReused: boolean + /** 当前网络的实际下载kbps */ + throughputKbps: number + /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */ + transportRttEstimate: number + } + interface RequestSubscribeDeviceMessageFailCallbackResult { + /** 接口调用失败错误码,有可能为空 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeDeviceMessageOption { + /** 设备型号 id 。通过微信公众平台注册设备获得。 */ + modelId: string + /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */ + sn: string + /** 设备票据,5分钟内有效。 */ + snTicket: string + /** 需要订阅的消息模板的 id 的集合,一次调用最多可订阅3条消息 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeDeviceMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeDeviceMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeDeviceMessageSuccessCallback + } + interface RequestSubscribeDeviceMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'、'acceptWithAudio'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'acceptWithAudio' 表示用户接收订阅消息并开启了语音提醒,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeDeviceMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeDeviceMessage:ok' */ + errMsg: string + } + interface RequestSubscribeMessageFailCallbackResult { + /** 接口调用失败错误码 */ + errCode: number + /** 接口调用失败错误信息 */ + errMsg: string + } + interface RequestSubscribeMessageOption { + /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */ + tmplIds: any[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RequestSubscribeMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RequestSubscribeMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: RequestSubscribeMessageSuccessCallback + } + interface RequestSubscribeMessageSuccessCallbackResult { + /** [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'、'filter'。'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁,'filter'表示该模板因为模板标题同名被后台过滤。例如 { errMsg: "requestSubscribeMessage:ok", zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: "accept"} 表示用户同意订阅zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE这条消息 */ + [TEMPLATE_ID: string]: string + /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */ + errMsg: string + } + interface RequestSuccessCallbackResult< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > { + /** 需要基础库: `2.10.0` + * + * 开发者服务器返回的 cookies,格式为字符串数组 */ + cookies: string[] + /** 开发者服务器返回的数据 */ + data: T + /** 需要基础库: `1.2.0` + * + * 开发者服务器返回的 HTTP Response Header */ + header: IAnyObject + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */ + profile: RequestProfile + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface ReserveChannelsLiveOption { + /** 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 */ + noticeId: string + } + /** 开发者服务器每次返回新chunk时的Response */ + interface Result { + /** 返回的chunk buffer */ + data: ArrayBuffer + } + interface ResumeBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeBGMSuccessCallback + } + interface ResumeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ResumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ResumeFailCallback + /** 接口调用成功的回调函数 */ + success?: ResumeSuccessCallback + } + interface RewardedVideoAdOnCloseListenerResult { + /** 需要基础库: `2.1.0` + * + * 视频是否是在用户完整观看的情况下被关闭的 */ + isEnded: boolean + } + interface RewardedVideoAdOnErrorListenerResult { + /** 需要基础库: `2.2.2` + * + * 错误码 + * + * 可选值: + * - 1000: 后端接口调用失败; + * - 1001: 参数错误; + * - 1002: 广告单元无效; + * - 1003: 内部错误; + * - 1004: 无合适的广告; + * - 1005: 广告组件审核中; + * - 1006: 广告组件被驳回; + * - 1007: 广告组件被封禁; + * - 1008: 广告单元已关闭; */ + errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 + /** 错误信息 */ + errMsg: string + } + interface RmdirFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory ${dirPath}': 目录不存在; + * - 'fail directory not empty': 目录不为空; + * - 'fail permission denied, open ${dirPath}': 指定的 dirPath 路径没有写权限; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface RmdirOption { + /** 要删除的目录路径 (本地路径) */ + dirPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RmdirCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: RmdirFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: RmdirSuccessCallback + } + interface SafeArea { + /** 安全区域右下角纵坐标 */ + bottom: number + /** 安全区域的高度,单位逻辑像素 */ + height: number + /** 安全区域左上角横坐标 */ + left: number + /** 安全区域右下角横坐标 */ + right: number + /** 安全区域左上角纵坐标 */ + top: number + /** 安全区域的宽度,单位逻辑像素 */ + width: number + } + interface SaveFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail tempFilePath file not exist': 指定的 tempFilePath 找不到文件; + * - 'fail permission denied, open "${filePath}"': 指定的 filePath 路径没有写权限; + * - 'fail no such file or directory "${dirPath}"': 上级目录不存在; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface SaveFileSuccessCallbackResult { + /** 存储后的文件路径 (本地路径) */ + savedFilePath: string + errMsg: string + } + interface SaveFileToDiskOption { + /** 待保存文件路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileToDiskCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveFileToDiskFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileToDiskSuccessCallback + } + interface SaveImageToPhotosAlbumOption { + /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveImageToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveImageToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveImageToPhotosAlbumSuccessCallback + } + interface SaveVideoToPhotosAlbumOption { + /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveVideoToPhotosAlbumCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SaveVideoToPhotosAlbumFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveVideoToPhotosAlbumSuccessCallback + } + interface ScanCodeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ScanCodeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ScanCodeFailCallback + /** 需要基础库: `1.2.0` + * + * 是否只能从相机扫码,不允许从相册选择图片 */ + onlyFromCamera?: boolean + /** 需要基础库: `1.7.0` + * + * 扫码类型 + * + * 可选值: + * - 'barCode': 一维码; + * - 'qrCode': 二维码; + * - 'datamatrix': Data Matrix 码; + * - 'pdf417': PDF417 条码; */ + scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'> + /** 接口调用成功的回调函数 */ + success?: ScanCodeSuccessCallback + } + interface ScanCodeSuccessCallbackResult { + /** 所扫码的字符集 */ + charSet: string + /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */ + path: string + /** 原始数据,base64编码 */ + rawData: string + /** 所扫码的内容 */ + result: string + /** 所扫码的类型 + * + * 可选值: + * - 'QR_CODE': 二维码; + * - 'AZTEC': 一维码; + * - 'CODABAR': 一维码; + * - 'CODE_39': 一维码; + * - 'CODE_93': 一维码; + * - 'CODE_128': 一维码; + * - 'DATA_MATRIX': 二维码; + * - 'EAN_8': 一维码; + * - 'EAN_13': 一维码; + * - 'ITF': 一维码; + * - 'MAXICODE': 一维码; + * - 'PDF_417': 二维码; + * - 'RSS_14': 一维码; + * - 'RSS_EXPANDED': 一维码; + * - 'UPC_A': 一维码; + * - 'UPC_E': 一维码; + * - 'UPC_EAN_EXTENSION': 一维码; + * - 'WX_CODE': 二维码; + * - 'CODE_25': 一维码; */ + scanType: + | 'QR_CODE' + | 'AZTEC' + | 'CODABAR' + | 'CODE_39' + | 'CODE_93' + | 'CODE_128' + | 'DATA_MATRIX' + | 'EAN_8' + | 'EAN_13' + | 'ITF' + | 'MAXICODE' + | 'PDF_417' + | 'RSS_14' + | 'RSS_EXPANDED' + | 'UPC_A' + | 'UPC_E' + | 'UPC_EAN_EXTENSION' + | 'WX_CODE' + | 'CODE_25' + errMsg: string + } + interface ScrollOffsetCallbackResult { + /** 节点的 dataset */ + dataset: IAnyObject + /** 节点的 ID */ + id: string + /** 节点的水平滚动位置 */ + scrollLeft: number + /** 节点的竖直滚动位置 */ + scrollTop: number + } + interface ScrollToOption { + /** 是否启用滚动动画 */ + animated?: boolean + /** 滚动动画时长 */ + duration?: number + /** 左边界距离 */ + left?: number + /** 顶部距离 */ + top?: number + /** 初始速度 */ + velocity?: number + } + /** 需要基础库: `2.14.4` +* +* 增强 ScrollView 实例,可通过 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 的 [NodesRef.node](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) 方法获取。 仅在 scroll-view 组件开启 enhanced 属性后生效。 +* +* **示例代码** +* +* ```js +wx.createSelectorQuery() + .select('#scrollview') + .node() + .exec((res) => { + const scrollView = res[0].node; + scrollView.scrollEnabled = false; + }) +``` */ + interface ScrollViewContext { + /** 设置滚动边界弹性 (仅在 iOS 下生效) */ + bounces: boolean + /** 取消滚动惯性 (仅在 iOS 下生效) */ + decelerationDisabled: boolean + /** 设置滚动减速速率 */ + fastDeceleration: boolean + /** 分页滑动开关 */ + pagingEnabled: boolean + /** 滚动开关 */ + scrollEnabled: boolean + /** 设置是否显示滚动条 */ + showScrollbar: boolean + } + interface SeekBackgroundAudioOption { + /** 音乐位置,单位:秒 */ + position: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SeekBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SeekBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: SeekBackgroundAudioSuccessCallback + } + interface SendHCEMessageOption { + /** 二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendHCEMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendHCEMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendHCEMessageSuccessCallback + } + interface SendMessageOption { + /** SEI消息 */ + msg: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendMessageSuccessCallback + } + interface SendSmsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSmsCompleteCallback + /** 预填到发送短信面板的内容 */ + content?: string + /** 接口调用失败的回调函数 */ + fail?: SendSmsFailCallback + /** 预填到发送短信面板的手机号 */ + phoneNumber?: string + /** 接口调用成功的回调函数 */ + success?: SendSmsSuccessCallback + } + interface SendSocketMessageOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendSocketMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendSocketMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSocketMessageSuccessCallback + } + interface SetBGMVolumeOption { + /** 音量大小,范围是 0-1 */ + volume: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBGMVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBGMVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBGMVolumeSuccessCallback + } + interface SetBLEMTUFailCallbackResult { + /** 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 */ + mtu: number + } + interface SetBLEMTUOption { + /** 蓝牙设备 id */ + deviceId: string + /** 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes */ + mtu: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBLEMTUCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBLEMTUFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBLEMTUSuccessCallback + } + interface SetBLEMTUSuccessCallbackResult { + /** 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 */ + mtu: number + errMsg: string + } + interface SetBackgroundColorOption { + /** 窗口的背景色,必须为十六进制颜色值 */ + backgroundColor?: string + /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorBottom?: string + /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */ + backgroundColorTop?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundColorSuccessCallback + } + interface SetBackgroundFetchTokenOption { + /** 自定义的登录态 */ + token: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundFetchTokenCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundFetchTokenFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundFetchTokenSuccessCallback + } + interface SetBackgroundTextStyleOption { + /** 下拉背景字体、loading 图的样式。 + * + * 可选值: + * - 'dark': dark 样式; + * - 'light': light 样式; */ + textStyle: 'dark' | 'light' + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBackgroundTextStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBackgroundTextStyleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBackgroundTextStyleSuccessCallback + } + interface SetBoundaryOption { + /** 东北角经纬度 */ + northeast: MapPostion + /** 西南角经纬度 */ + southwest: MapPostion + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetBoundaryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetBoundaryFailCallback + /** 接口调用成功的回调函数 */ + success?: SetBoundarySuccessCallback + } + interface SetCenterOffsetOption { + /** 偏移量,两位数组 */ + offset: number[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetCenterOffsetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetCenterOffsetFailCallback + /** 接口调用成功的回调函数 */ + success?: SetCenterOffsetSuccessCallback + } + interface SetClipboardDataOption { + /** 剪贴板的内容 */ + data: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetClipboardDataCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetClipboardDataFailCallback + /** 接口调用成功的回调函数 */ + success?: SetClipboardDataSuccessCallback + } + interface SetContentsOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetContentsCompleteCallback + /** 表示内容的delta对象 */ + delta?: IAnyObject + /** 接口调用失败的回调函数 */ + fail?: SetContentsFailCallback + /** 带标签的HTML内容 */ + html?: string + /** 接口调用成功的回调函数 */ + success?: SetContentsSuccessCallback + } + interface SetEnable1v1ChatOption { + /** 是否开启 */ + enable: boolean + /** 窗口背景色(音频通话背景以及小窗模式背景) + * + * 可选值: + * - 0: #262930; + * - 1: #FA5151; + * - 2: #FA9D3B; + * - 3: #3D7257; + * - 4: #1485EE; + * - 5: #6467F0; */ + backgroundType?: 0 | 1 | 2 | 3 | 4 | 5 + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnable1v1ChatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnable1v1ChatFailCallback + /** 小窗样式 */ + minWindowType?: number + /** 接口调用成功的回调函数 */ + success?: SetEnable1v1ChatSuccessCallback + } + interface SetEnableDebugOption { + /** 是否打开调试 */ + enableDebug: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetEnableDebugCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetEnableDebugFailCallback + /** 接口调用成功的回调函数 */ + success?: SetEnableDebugSuccessCallback + } + interface SetInnerAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetInnerAudioOptionCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetInnerAudioOptionFailCallback + /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */ + mixWithOther?: boolean + /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */ + obeyMuteSwitch?: boolean + /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */ + speakerOn?: boolean + /** 接口调用成功的回调函数 */ + success?: SetInnerAudioOptionSuccessCallback + } + interface SetKeepScreenOnOption { + /** 是否保持屏幕常亮 */ + keepScreenOn: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetKeepScreenOnCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetKeepScreenOnFailCallback + /** 接口调用成功的回调函数 */ + success?: SetKeepScreenOnSuccessCallback + } + interface SetLocMarkerIconOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetLocMarkerIconCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetLocMarkerIconFailCallback + /** 图标路径,支持网络路径、本地路径、代码包路径 */ + iconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetLocMarkerIconSuccessCallback + } + interface SetMICVolumeOption { + /** 音量大小,范围是 0.0-1.0 */ + volume: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetMICVolumeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetMICVolumeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetMICVolumeSuccessCallback + } + interface SetNavigationBarColorOption { + /** 背景颜色值,有效值为十六进制颜色 */ + backgroundColor: string + /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */ + frontColor: string + /** 动画效果 */ + animation?: AnimationOption + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarColorCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarColorFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarColorSuccessCallback + } + interface SetNavigationBarTitleOption { + /** 页面标题 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetNavigationBarTitleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetNavigationBarTitleFailCallback + /** 接口调用成功的回调函数 */ + success?: SetNavigationBarTitleSuccessCallback + } + interface SetScreenBrightnessOption { + /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 */ + value: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetScreenBrightnessCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetScreenBrightnessFailCallback + /** 接口调用成功的回调函数 */ + success?: SetScreenBrightnessSuccessCallback + } + interface SetStorageOption<T = any> { + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + /** 本地缓存中指定的 key */ + key: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetStorageCompleteCallback + /** 需要基础库: `2.21.3` + * + * 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB */ + encrypt?: boolean + /** 接口调用失败的回调函数 */ + fail?: SetStorageFailCallback + /** 接口调用成功的回调函数 */ + success?: SetStorageSuccessCallback + } + interface SetTabBarBadgeOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 显示的文本,超过 4 个字符则显示成 ... */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarBadgeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarBadgeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTabBarBadgeSuccessCallback + } + interface SetTabBarItemOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarItemCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarItemFailCallback + /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */ + iconPath?: string + /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */ + selectedIconPath?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarItemSuccessCallback + /** tab 上的按钮文字 */ + text?: string + } + interface SetTabBarStyleOption { + /** tab 的背景色,HexColor */ + backgroundColor?: string + /** tabBar上边框的颜色, 仅支持 black/white */ + borderStyle?: string + /** tab 上的文字默认颜色,HexColor */ + color?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTabBarStyleCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTabBarStyleFailCallback + /** tab 上的文字选中时的颜色,HexColor */ + selectedColor?: string + /** 接口调用成功的回调函数 */ + success?: SetTabBarStyleSuccessCallback + } + interface SetTimeoutOption { + /** 设置超时时间 (ms) */ + timeout: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTimeoutCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTimeoutFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTimeoutSuccessCallback + } + interface SetTopBarTextOption { + /** 置顶栏文字 */ + text: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetTopBarTextCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetTopBarTextFailCallback + /** 接口调用成功的回调函数 */ + success?: SetTopBarTextSuccessCallback + } + interface SetVisualEffectOnCaptureOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetVisualEffectOnCaptureCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetVisualEffectOnCaptureFailCallback + /** 接口调用成功的回调函数 */ + success?: SetVisualEffectOnCaptureSuccessCallback + /** 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 */ + visualEffect?: string + } + interface SetWifiListOption { + /** 提供预设的 Wi-Fi 信息列表 */ + wifiList: WifiData[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWifiListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWifiListFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWifiListSuccessCallback + } + interface SetWindowSizeOption { + /** 窗口高度,以像素为单位 */ + height: number + /** 窗口宽度,以像素为单位 */ + width: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetWindowSizeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetWindowSizeFailCallback + /** 接口调用成功的回调函数 */ + success?: SetWindowSizeSuccessCallback + } + interface SetZoomOption { + /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */ + zoom: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SetZoomCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SetZoomFailCallback + /** 接口调用成功的回调函数 */ + success?: SetZoomSuccessCallback + } + interface SetZoomSuccessCallbackResult { + /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */ + zoom: number + errMsg: string + } + interface ShareFileMessageOption { + /** 要分享的文件地址,必须为本地路径或临时路径 */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareFileMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareFileMessageFailCallback + /** 自定义文件名,若留空则使用filePath中的文件名 */ + fileName?: string + /** 接口调用成功的回调函数 */ + success?: ShareFileMessageSuccessCallback + } + interface ShareToWeRunOption { + /** 运动数据列表 */ + recordList: WxaSportRecord[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareToWeRunCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareToWeRunFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareToWeRunSuccessCallback + } + interface ShareVideoMessageOption { + /** 要分享的视频地址,必须为本地路径或临时路径 */ + videoPath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShareVideoMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShareVideoMessageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShareVideoMessageSuccessCallback + /** 缩略图路径,若留空则使用视频首帧 */ + thumbPath?: string + } + interface ShowActionSheetOption { + /** 按钮的文字数组,数组长度最大为 6 */ + itemList: string[] + /** 需要基础库: `2.14.0` + * + * 警示文案 */ + alertText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowActionSheetCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowActionSheetFailCallback + /** 按钮的文字颜色 */ + itemColor?: string + /** 接口调用成功的回调函数 */ + success?: ShowActionSheetSuccessCallback + } + interface ShowActionSheetSuccessCallbackResult { + /** 用户点击的按钮序号,从上到下的顺序,从0开始 */ + tapIndex: number + errMsg: string + } + interface ShowLoadingOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowLoadingFailCallback + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowLoadingSuccessCallback + } + interface ShowModalOption { + /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + cancelColor?: string + /** 取消按钮的文字,最多 4 个字符 */ + cancelText?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowModalCompleteCallback + /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */ + confirmColor?: string + /** 确认按钮的文字,最多 4 个字符 */ + confirmText?: string + /** 提示的内容 */ + content?: string + /** 需要基础库: `2.17.1` + * + * 是否显示输入框 */ + editable?: boolean + /** 接口调用失败的回调函数 */ + fail?: ShowModalFailCallback + /** 需要基础库: `2.17.1` + * + * 显示输入框时的提示文本 */ + placeholderText?: string + /** 是否显示取消按钮 */ + showCancel?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowModalSuccessCallback + /** 提示的标题 */ + title?: string + } + interface ShowModalSuccessCallbackResult { + /** 需要基础库: `1.1.0` + * + * 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */ + cancel: boolean + /** 为 true 时,表示用户点击了确定按钮 */ + confirm: boolean + /** editable 为 true 时,用户输入的文本 */ + content: string + errMsg: string + } + interface ShowNavigationBarLoadingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowNavigationBarLoadingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowNavigationBarLoadingFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowNavigationBarLoadingSuccessCallback + } + interface ShowRedPackageOption { + /** 封面地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowRedPackageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowRedPackageFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowRedPackageSuccessCallback + } + interface ShowShareImageMenuOption { + /** 要分享的图片地址,必须为本地路径或临时路径 */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareImageMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareImageMenuFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowShareImageMenuSuccessCallback + } + interface ShowShareMenuOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowShareMenuFailCallback + /** 需要基础库: `2.11.3` + * + * 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */ + menus?: string[] + /** 接口调用成功的回调函数 */ + success?: ShowShareMenuSuccessCallback + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface ShowTabBarOption { + /** 是否需要动画效果 */ + animation?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarSuccessCallback + } + interface ShowTabBarRedDotOption { + /** tabBar 的哪一项,从左边算起 */ + index: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowTabBarRedDotCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ShowTabBarRedDotFailCallback + /** 接口调用成功的回调函数 */ + success?: ShowTabBarRedDotSuccessCallback + } + interface ShowToastOption { + /** 提示的内容 */ + title: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ShowToastCompleteCallback + /** 提示的延迟时间 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: ShowToastFailCallback + /** 图标 + * + * 可选值: + * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度; + * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度; + * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度; + * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */ + icon?: 'success' | 'error' | 'loading' | 'none' + /** 需要基础库: `1.1.0` + * + * 自定义图标的本地路径,image 的优先级高于 icon */ + image?: string + /** 是否显示透明蒙层,防止触摸穿透 */ + mask?: boolean + /** 接口调用成功的回调函数 */ + success?: ShowToastSuccessCallback + } + interface Size { + /** 变化后的窗口高度,单位 px */ + windowHeight: number + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + } + /** 需要基础库: `2.10.4` + * + * 网络请求过程中一些调试信息 */ + interface SocketProfile { + /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ + connectEnd: number + /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ + connectStart: number + /** 上层请求到返回的耗时 */ + cost: number + /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupEnd: number + /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ + domainLookupStart: number + /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */ + fetchStart: number + /** 握手耗时 */ + handshakeCost: number + /** 单次连接的耗时,包括 connect ,tls */ + rtt: number + } + interface SocketTaskCloseOption { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: FileSystemManagerCloseCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SocketTaskCloseFailCallback + /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */ + reason?: string + /** 接口调用成功的回调函数 */ + success?: FileSystemManagerCloseSuccessCallback + } + interface SocketTaskOnCloseListenerResult { + /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */ + code: number + /** 一个可读的字符串,表示连接被关闭的原因。 */ + reason: string + } + interface SocketTaskOnMessageListenerResult { + /** 服务器返回的消息 */ + data: string | ArrayBuffer + } + interface SocketTaskSendOption { + /** 需要发送的内容 */ + data: string | ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SendCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SendFailCallback + /** 接口调用成功的回调函数 */ + success?: SendSuccessCallback + } + interface StartAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAccelerometerFailCallback + /** 需要基础库: `2.1.0` + * + * 监听加速度数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartAccelerometerSuccessCallback + } + interface StartAdvertisingObject { + /** 广播自定义参数 */ + advertiseRequest: AdvertiseReqObj + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartAdvertisingFailCallback + /** 广播功率 + * + * 可选值: + * - 'low': 功率低; + * - 'medium': 功率适中; + * - 'high': 功率高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 接口调用成功的回调函数 */ + success?: StartAdvertisingSuccessCallback + } + interface StartBeaconDiscoveryOption { + /** Beacon 设备广播的 UUID 列表 */ + uuids: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBeaconDiscoveryFailCallback + /** 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 */ + ignoreBluetoothAvailable?: boolean + /** 接口调用成功的回调函数 */ + success?: StartBeaconDiscoverySuccessCallback + } + interface StartBluetoothDevicesDiscoveryOption { + /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */ + allowDuplicatesKey?: boolean + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartBluetoothDevicesDiscoveryFailCallback + /** 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */ + interval?: number + /** 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。 + * + * 可选值: + * - 'low': 低; + * - 'medium': 中; + * - 'high': 高; */ + powerLevel?: 'low' | 'medium' | 'high' + /** 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */ + services?: string[] + /** 接口调用成功的回调函数 */ + success?: StartBluetoothDevicesDiscoverySuccessCallback + } + interface StartCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StartCompassSuccessCallback + } + interface StartDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDeviceMotionListeningFailCallback + /** 监听设备方向的变化回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartDeviceMotionListeningSuccessCallback + } + interface StartDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartDiscoverySuccessCallback + } + interface StartGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartGyroscopeFailCallback + /** 监听陀螺仪数据回调函数的执行频率 + * + * 可选值: + * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右; + * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右; + * - 'normal': 普通的回调频率,在 200ms/次 左右; */ + interval?: 'game' | 'ui' | 'normal' + /** 接口调用成功的回调函数 */ + success?: StartGyroscopeSuccessCallback + } + interface StartHCEOption { + /** 需要注册到系统的 AID 列表 */ + aid_list: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StartHCESuccessCallback + } + interface StartLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'invalid param': serviceType 为空; + * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */ + errMsg: string + } + interface StartLocalServiceDiscoveryOption { + /** 要搜索的服务类型 */ + serviceType: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocalServiceDiscoverySuccessCallback + } + interface StartLocationUpdateBackgroundOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateBackgroundCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateBackgroundFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateBackgroundSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StartLocationUpdateSuccessCallback + /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */ + type?: string + } + interface StartPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPreviewSuccessCallback + } + interface StartPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StartPullDownRefreshSuccessCallback + } + interface StartRecordSuccessCallbackResult { + /** 录音文件的临时路径 (本地路径) */ + tempFilePath: string + errMsg: string + } + interface StartRecordTimeoutCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + } + interface StartSoterAuthenticationOption { + /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */ + challenge: string + /** 请求使用的可接受的生物认证方式 + * + * 可选值: + * - 'fingerPrint': 指纹识别; + * - 'facial': 人脸识别; + * - 'speech': 声纹识别(暂未支持); */ + requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'> + /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */ + authContent?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartSoterAuthenticationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartSoterAuthenticationFailCallback + /** 接口调用成功的回调函数 */ + success?: StartSoterAuthenticationSuccessCallback + } + interface StartSoterAuthenticationSuccessCallbackResult { + /** 生物认证方式 */ + authMode: string + /** 错误码 */ + errCode: number + /** 错误信息 */ + errMsg: string + /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */ + resultJSON: string + /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */ + resultJSONSignature: string + } + interface StartWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StartWifiSuccessCallback + } + interface StatFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface StatOption { + /** 文件/目录路径 (本地路径) */ + path: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StatCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StatFailCallback + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + /** 接口调用成功的回调函数 */ + success?: StatSuccessCallback + } + interface StatSuccessCallbackResult { + /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> + * + * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 */ + stats: Stats | Stats[] + errMsg: string + } + /** 描述文件状态的对象 */ + interface Stats { + /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */ + lastAccessedTime: number + /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */ + lastModifiedTime: number + /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */ + mode: string + /** 文件大小,单位:B,对应 POSIX stat.st_size */ + size: number + } + interface StepOption { + /** 动画延迟时间,单位 ms */ + delay?: number + /** 动画持续时间,单位 ms */ + duration?: number + /** 动画的效果 + * + * 可选值: + * - 'linear': 动画从头到尾的速度是相同的; + * - 'ease': 动画以低速开始,然后加快,在结束前变慢; + * - 'ease-in': 动画以低速开始; + * - 'ease-in-out': 动画以低速开始和结束; + * - 'ease-out': 动画以低速结束; + * - 'step-start': 动画第一帧就跳至结束状态直到结束; + * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */ + timingFunction?: + | 'linear' + | 'ease' + | 'ease-in' + | 'ease-in-out' + | 'ease-out' + | 'step-start' + | 'step-end' + transformOrigin?: string + } + interface StopAccelerometerOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAccelerometerCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAccelerometerFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAccelerometerSuccessCallback + } + interface StopAdvertisingOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopAdvertisingCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopAdvertisingFailCallback + /** 接口调用成功的回调函数 */ + success?: StopAdvertisingSuccessCallback + } + interface StopBGMOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBGMCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBGMFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBGMSuccessCallback + } + interface StopBackgroundAudioOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBackgroundAudioCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBackgroundAudioFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBackgroundAudioSuccessCallback + } + interface StopBeaconDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBeaconDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBeaconDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBeaconDiscoverySuccessCallback + } + interface StopBluetoothDevicesDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopBluetoothDevicesDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopBluetoothDevicesDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopBluetoothDevicesDiscoverySuccessCallback + } + interface StopCompassOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompassCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopCompassFailCallback + /** 接口调用成功的回调函数 */ + success?: StopCompassSuccessCallback + } + interface StopDeviceMotionListeningOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDeviceMotionListeningCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDeviceMotionListeningFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDeviceMotionListeningSuccessCallback + } + interface StopDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopDiscoverySuccessCallback + } + interface StopFaceDetectOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopFaceDetectCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFaceDetectFailCallback + /** 接口调用成功的回调函数 */ + success?: StopFaceDetectSuccessCallback + } + interface StopGyroscopeOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopGyroscopeCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopGyroscopeFailCallback + /** 接口调用成功的回调函数 */ + success?: StopGyroscopeSuccessCallback + } + interface StopHCEOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopHCECompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopHCEFailCallback + /** 接口调用成功的回调函数 */ + success?: StopHCESuccessCallback + } + interface StopLocalServiceDiscoveryFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */ + errMsg: string + } + interface StopLocalServiceDiscoveryOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocalServiceDiscoveryCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocalServiceDiscoveryFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocalServiceDiscoverySuccessCallback + } + interface StopLocationUpdateOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopLocationUpdateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopLocationUpdateFailCallback + /** 接口调用成功的回调函数 */ + success?: StopLocationUpdateSuccessCallback + } + interface StopOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopFailCallback + /** 接口调用成功的回调函数 */ + success?: StopSuccessCallback + } + interface StopPreviewOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPreviewCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPreviewFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPreviewSuccessCallback + } + interface StopPullDownRefreshOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopPullDownRefreshCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopPullDownRefreshFailCallback + /** 接口调用成功的回调函数 */ + success?: StopPullDownRefreshSuccessCallback + } + interface StopRecordSuccessCallbackResult { + /** 封面图片文件的临时路径 (本地路径) */ + tempThumbPath: string + /** 视频的文件的临时路径 (本地路径) */ + tempVideoPath: string + errMsg: string + } + interface StopVoiceOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopVoiceCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopVoiceFailCallback + /** 接口调用成功的回调函数 */ + success?: StopVoiceSuccessCallback + } + interface StopWifiOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopWifiCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopWifiFailCallback + /** 接口调用成功的回调函数 */ + success?: StopWifiSuccessCallback + } + interface SubscribeVoIPVideoMembersOption { + /** 订阅的成员列表 */ + openIdList: string[] + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SubscribeVoIPVideoMembersCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SubscribeVoIPVideoMembersFailCallback + /** 接口调用成功的回调函数 */ + success?: SubscribeVoIPVideoMembersSuccessCallback + } + /** 订阅消息设置 +* +* **示例代码** +* +* ```javascript +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + interface SubscriptionsSetting { + /** 订阅消息总开关,true为开启,false为关闭 */ + mainSwitch: boolean + /** 每一项订阅消息的订阅状态。itemSettings对象的键为**一次性订阅消息的模板id**或**系统订阅消息的类型**,值为'accept'、'reject'、'ban'中的其中一种。'accept'表示用户同意订阅这条消息,'reject'表示用户拒绝订阅这条消息,'ban'表示已被后台封禁。一次性订阅消息使用方法详见 [wx.requestSubscribeMessage](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html),永久订阅消息(仅小游戏可用)使用方法详见[wx.requestSubscribeSystemMessage](https://developers.weixin.qq.com/minigame/dev/api/open-api/subscribe-message/wx.requestSubscribeSystemMessage.html) + * ## 注意事项 + * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */ + itemSettings?: IAnyObject + } + interface SwitchCameraOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchCameraCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchCameraFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchCameraSuccessCallback + } + interface SwitchTabOption { + /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SwitchTabCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: SwitchTabFailCallback + /** 接口调用成功的回调函数 */ + success?: SwitchTabSuccessCallback + } + interface SystemInfo { + /** 需要基础库: `1.1.0` + * + * 客户端基础库版本 */ + SDKVersion: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用相册的开关(仅 iOS 有效) */ + albumAuthorized: boolean + /** 需要基础库: `1.8.0` + * + * 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50) */ + benchmarkLevel: number + /** 需要基础库: `2.6.0` + * + * 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 需要基础库: `1.5.0` + * + * 设备品牌 */ + brand: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用摄像头的开关 */ + cameraAuthorized: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 需要基础库: `2.15.0` + * + * 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */ + enableDebug: boolean + /** 需要基础库: `1.5.0` + * + * 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */ + fontSizeSetting: number + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + host: SystemInfoHost + /** 微信设置的语言 */ + language: string + /** 需要基础库: `2.6.0` + * + * 允许微信使用定位的开关 */ + locationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 地理位置的系统开关 */ + locationEnabled: boolean + /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */ + locationReducedAccuracy: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信使用麦克风的开关 */ + microphoneAuthorized: boolean + /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */ + model: string + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有提醒的开关(仅 iOS 有效) */ + notificationAlertAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知的开关 */ + notificationAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有标记的开关(仅 iOS 有效) */ + notificationBadgeAuthorized: boolean + /** 需要基础库: `2.6.0` + * + * 允许微信通知带有声音的开关(仅 iOS 有效) */ + notificationSoundAuthorized: boolean + /** 需要基础库: `2.19.3` + * + * 允许微信使用日历的开关 */ + phoneCalendarAuthorized: boolean + /** 设备像素比 */ + pixelRatio: number + /** 客户端平台 + * + * 可选值: + * - 'ios': iOS微信(包含 iPhone、iPad); + * - 'android': Android微信; + * - 'windows': Windows微信; + * - 'mac': macOS微信; + * - 'devtools': 微信开发者工具; */ + platform: 'ios' | 'android' | 'windows' | 'mac' | 'devtools' + /** 需要基础库: `2.7.0` + * + * 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 需要基础库: `1.1.0` + * + * 屏幕高度,单位px */ + screenHeight: number + /** 需要基础库: `1.1.0` + * + * 屏幕宽度,单位px */ + screenWidth: number + /** 需要基础库: `1.9.0` + * + * 状态栏的高度,单位px */ + statusBarHeight: number + /** 操作系统及版本 */ + system: string + /** 微信版本号 */ + version: string + /** 需要基础库: `2.6.0` + * + * Wi-Fi 的系统开关 */ + wifiEnabled: boolean + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + /** 需要基础库: `2.11.0` + * + * 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏) + * + * 可选值: + * - 'dark': 深色主题; + * - 'light': 浅色主题; */ + theme?: 'dark' | 'light' + } + /** 需要基础库: `2.12.3` + * + * 当前小程序运行的宿主环境 */ + interface SystemInfoHost { + /** 宿主 app 对应的 appId */ + appId: string + } + interface SystemSetting { + /** 蓝牙的系统开关 */ + bluetoothEnabled: boolean + /** 设备方向 + * + * 可选值: + * - 'portrait': 竖屏; + * - 'landscape': 横屏; */ + deviceOrientation: 'portrait' | 'landscape' + /** 地理位置的系统开关 */ + locationEnabled: boolean + /** Wi-Fi 的系统开关 */ + wifiEnabled: boolean + } + interface TCPSocketConnectOption { + /** 套接字要连接的地址 */ + address: string + /** 套接字要连接的端口 */ + port: number + /** 套接字要连接的超时时间,默认为 2s */ + timeout?: number + } + interface TCPSocketOnMessageListenerResult { + /** 接收端地址信息 */ + localInfo: LocalInfo + /** 收到的消息 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface TakePhotoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TakePhotoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TakePhotoFailCallback + /** 成像质量 + * + * 可选值: + * - 'high': 高质量; + * - 'normal': 普通质量; + * - 'low': 低质量; */ + quality?: 'high' | 'normal' | 'low' + /** 需要基础库: `2.22.0` + * + * 是否开启镜像 */ + selfieMirror?: boolean + /** 接口调用成功的回调函数 */ + success?: TakePhotoSuccessCallback + } + interface TakePhotoSuccessCallbackResult { + /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */ + tempImagePath: string + errMsg: string + } + /** 标签类型枚举 */ + interface TechType { + /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + isoDep: string + /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + mifareClassic: string + /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + mifareUltralight: string + /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + ndef: string + /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + nfcA: string + /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + nfcB: string + /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + nfcF: string + /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + nfcV: string + } + interface TextMetrics { + /** 文本的宽度 */ + width: number + } + interface ToScreenLocationOption { + /** 纬度 */ + latitude: number + /** 经度 */ + longitude: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToScreenLocationCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToScreenLocationFailCallback + /** 接口调用成功的回调函数 */ + success?: ToScreenLocationSuccessCallback + } + interface ToScreenLocationSuccessCallbackResult { + /** x 坐标值 */ + x: number + /** y 坐标值 */ + y: number + errMsg: string + } + interface ToggleTorchOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: ToggleTorchCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: ToggleTorchFailCallback + /** 接口调用成功的回调函数 */ + success?: ToggleTorchSuccessCallback + } + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + interface Track { + /** 平面跟踪配置 */ + plane: PlaneTrack + /** 需要基础库: `2.24.5` + * + * OSD 跟踪配置 */ + OSD?: boolean + /** 需要基础库: `2.25.0` + * + * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + face?: FaceTrack + /** 需要基础库: `2.24.5` + * + * marker 跟踪配置 */ + marker?: boolean + } + interface TransceiveOption { + /** 需要传递的二进制数据 */ + data: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TransceiveCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TransceiveFailCallback + /** 接口调用成功的回调函数 */ + success?: TransceiveSuccessCallback + } + interface TransceiveSuccessCallbackResult { + data: ArrayBuffer + errMsg: string + } + interface TranslateMarkerOption { + /** 移动过程中是否自动旋转 marker */ + autoRotate: boolean + /** 指定 marker 移动到的目标点 */ + destination: DestinationOption + /** 指定 marker */ + markerId: number + /** marker 的旋转角度 */ + rotate: number + /** 动画结束回调函数 */ + animationEnd?: (...args: any[]) => any + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TranslateMarkerCompleteCallback + /** 动画持续时长,平移与旋转分别计算 */ + duration?: number + /** 接口调用失败的回调函数 */ + fail?: TranslateMarkerFailCallback + /** 需要基础库: `2.13.0` + * + * 平移和旋转同时进行 */ + moveWithRotate?: boolean + /** 接口调用成功的回调函数 */ + success?: TranslateMarkerSuccessCallback + } + interface TruncateFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail illegal operation on a directory, open "${filePath}"': 指定的 filePath 是一个已经存在的目录; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface TruncateOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: TruncateCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: TruncateFailCallback + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + /** 接口调用成功的回调函数 */ + success?: TruncateSuccessCallback + } + interface TruncateSyncOption { + /** 要截断的文件路径 (本地路径) */ + filePath: string + /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */ + length?: number + } + interface UDPSocketConnectOption { + /** 要发消息的地址 */ + address: string + /** 要发送消息的端口号 */ + port: number + } + interface UDPSocketOnMessageListenerResult { + /** 接收端地址信息,2.18.0 起支持 */ + localInfo: LocalInfo + /** 收到的消息。消息长度需要小于4096。 */ + message: ArrayBuffer + /** 发送端地址信息 */ + remoteInfo: RemoteInfo + } + interface UDPSocketSendOption { + /** 要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名 */ + address: string + /** 要发送的数据 */ + message: string | ArrayBuffer + /** 要发送消息的端口号 */ + port: number + /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */ + length?: number + /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */ + offset?: number + /** 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 */ + setBroadcast?: boolean + } + interface UndoOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UndoCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UndoFailCallback + /** 接口调用成功的回调函数 */ + success?: UndoSuccessCallback + } + interface UnlinkFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, open ${path}': 指定的 path 路径没有读权限; + * - 'fail no such file or directory ${path}': 文件不存在; + * - 'fail operation not permitted, unlink ${filePath}': 传入的 filePath 是一个目录; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface UnlinkOption { + /** 要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnlinkCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnlinkFailCallback + /** 接口调用成功的回调函数 */ + success?: UnlinkSuccessCallback + } + interface UnzipFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail permission denied, unzip ${zipFilePath} -> ${destPath}': 指定目标文件路径没有写权限; + * - 'fail no such file or directory, unzip ${zipFilePath} -> "${destPath}': 源文件不存在,或目标文件路径的上层目录不存在; */ + errMsg: string + } + interface UnzipOption { + /** 目标目录路径, 支持本地路径 */ + targetPath: string + /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */ + zipFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UnzipCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UnzipFailCallback + /** 接口调用成功的回调函数 */ + success?: UnzipSuccessCallback + } + /** 参数列表 */ + interface UpdatableMessageFrontEndParameter { + /** 参数名 */ + name: string + /** 参数值 */ + value: string + } + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + interface UpdatableMessageFrontEndTemplateInfo { + /** 参数列表 */ + parameterList: UpdatableMessageFrontEndParameter[] + } + interface UpdateGroundOverlayOption { + /** 图片覆盖的经纬度范围 */ + bounds: MapBounds + /** 图片图层 id */ + id: string + /** 图片路径,支持网络图片、临时路径、代码包路径 */ + src: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateGroundOverlayCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateGroundOverlayFailCallback + /** 图层透明度 */ + opacity?: number + /** 接口调用成功的回调函数 */ + success?: UpdateGroundOverlaySuccessCallback + /** 是否可见 */ + visible?: boolean + /** 图层绘制顺序 */ + zIndex?: number + } + interface UpdateShareMenuOption { + /** 需要基础库: `2.4.0` + * + * 动态消息的 activityId。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取 */ + activityId?: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateShareMenuCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateShareMenuFailCallback + /** 需要基础库: `2.13.0` + * + * 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) */ + isPrivateMessage?: boolean + /** 需要基础库: `2.4.0` + * + * 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html) */ + isUpdatableMessage?: boolean + /** 接口调用成功的回调函数 */ + success?: UpdateShareMenuSuccessCallback + /** 需要基础库: `2.4.0` + * + * 动态消息的模板信息 */ + templateInfo?: UpdatableMessageFrontEndTemplateInfo + /** 需要基础库: `2.11.0` + * + * 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/updatable-message/updatableMessage.createActivityId.html) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + toDoActivityId?: string + /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */ + withShareTicket?: boolean + } + interface UpdateVoIPChatMuteConfigOption { + /** 静音设置 */ + muteConfig: MuteConfig + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateVoIPChatMuteConfigCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateVoIPChatMuteConfigFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateVoIPChatMuteConfigSuccessCallback + } + interface UpdateWeChatAppOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UpdateWeChatAppCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UpdateWeChatAppFailCallback + /** 接口调用成功的回调函数 */ + success?: UpdateWeChatAppSuccessCallback + } + interface UploadFileOption { + /** 要上传文件资源的路径 (本地路径) */ + filePath: string + /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */ + name: string + /** 开发者服务器地址 */ + url: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: UploadFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: UploadFileFailCallback + /** HTTP 请求中其他额外的 form data */ + formData?: IAnyObject + /** HTTP 请求 Header,Header 中不能设置 Referer */ + header?: IAnyObject + /** 接口调用成功的回调函数 */ + success?: UploadFileSuccessCallback + /** 需要基础库: `2.10.0` + * + * 超时时间,单位为毫秒 */ + timeout?: number + } + interface UploadFileSuccessCallbackResult { + /** 开发者服务器返回的数据 */ + data: string + /** 开发者服务器返回的 HTTP 状态码 */ + statusCode: number + errMsg: string + } + interface UploadTaskOnProgressUpdateListenerResult { + /** 上传进度百分比 */ + progress: number + /** 预期需要上传的数据总长度,单位 Bytes */ + totalBytesExpectedToSend: number + /** 已经上传的数据长度,单位 Bytes */ + totalBytesSent: number + } + /** @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** + * + * 用户信息 */ + interface UserInfo { + /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */ + avatarUrl: string + /** 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + city: string + /** 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + country: string + /** 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 0: 未知; + * - 1: 男性; + * - 2: 女性; */ + gender: 0 | 1 | 2 + /** 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) + * + * 可选值: + * - 'en': 英文; + * - 'zh_CN': 简体中文; + * - 'zh_TW': 繁体中文; */ + language: 'en' | 'zh_CN' | 'zh_TW' + /** 用户昵称 */ + nickName: string + /** 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */ + province: string + } + /** 需要基础库: `2.20.0` + * + * 相机对象 */ + interface VKCamera { + /** 需要基础库: `2.22.0` + * + * 相机内参,只有 v2 版本支持 */ + intrinsics: Float32Array + /** 视图矩阵 */ + viewMatrix: Float32Array + } + interface VKConfig { + /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */ + track: Track + /** 需要基础库: `2.23.0` + * + * 绑定的 WebGLRenderingContext 对象 */ + gl?: WebGLRenderingContext + /** 需要基础库: `2.22.0` + * + * vision kit 版本。 + * + * 可选值: + * - 'v1': v1适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户放置物体时,手机相机倾斜向下对着目标平面点击即可,具有广泛的机型支持; + * - 'v2': v2提供真实物理距离的 ar 定位功能,提供平面识别功能,用户在平面范围点击放置虚拟物体的功能,具有[有限的机型支持](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html#%E9%99%84%E5%BD%95)。iOS 设备在基础库 2.22.0 开始支持v2。安卓设备在基础库 2.25.1 开始支持v2,另外,安卓v2不支持竖直平面。; */ + version?: 'v1' | 'v2' + } + /** 需要基础库: `2.25.0` + * + * 人脸 anchor + * + * **示例代码** + * + * [静态图像人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-face-detect) + * + * [实时摄像头人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect) */ + interface VKFaceAnchor { + /** 人脸角度信息 */ + angle: number[] + /** 关键点的置信度 */ + confidence: number[] + /** 识别序号 */ + detectId: number + /** 唯一标识 */ + id: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 人脸 106 个关键点的坐标 */ + points: VKPoint[] + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 3: 人脸; */ + type: 3 + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKFrame { + /** [VKCamera](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.html) + * + * 相机对象 */ + camera: VKCamera + /** 生成时间 */ + timestamp: number + } + interface VKMarker { + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + } + /** 需要基础库: `2.24.5` + * + * marker anchor + * + * **示例代码** + * + * [2D Marker能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/2dmarker-ar) */ + interface VKMarkerAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 图片路径 */ + path: string + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 1: marker; */ + type: 1 + } + /** 需要基础库: `2.24.5` + * + * OSD anchor + * + * **示例代码** + * + * [单样本检测(OSD)能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/osd-ar) */ + interface VKOSDAnchor { + /** 唯一标识 */ + id: number + /** marker id */ + markerId: number + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + origin: VKOrigin + /** 图片路径 */ + path: string + /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + size: VKSize + /** 类型 + * + * 可选值: + * - 2: OSD; */ + type: 2 + } + /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */ + interface VKOrigin { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.22.0` + * + * 平面 anchor,只有 v2 版本支持 + * + * **示例代码** + * + * v1 版本:[水平面AR能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar) + * v2 版本:[水平面AR能力v2使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar-v2) */ + interface VKPlaneAnchor { + /** 方向 */ + alignment: number + /** 唯一标识 */ + id: number + /** 尺寸 */ + size: VKSize + /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */ + transform: Float32Array + /** 类型 + * + * 可选值: + * - 0: 平面; */ + type: 0 + } + /** 人脸 106 个关键点的坐标 */ + interface VKPoint { + /** 横坐标 */ + x: number + /** 纵坐标 */ + y: number + } + /** 需要基础库: `2.20.0` + * + * vision kit 会话对象。 */ + interface VKSession { + /** 相机尺寸 */ + cameraSize: VKSize + /** 会话配置 */ + config: VKConfig + /** 会话状态 + * + * 可选值: + * - 0: 不可用; + * - 1: 运行中; + * - 2: 暂停中; */ + state: 0 | 1 | 2 + } + interface VKSize { + /** 高度 */ + height: number + /** 宽度 */ + width: number + } + interface VibrateLongOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateLongCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateLongFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateLongSuccessCallback + } + interface VibrateShortFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'style is not support': 当前设备不支持设置震动等级; */ + errMsg: string + } + interface VibrateShortOption { + /** 需要基础库: `2.13.0` + * + * 震动强度类型,有效值为:heavy、medium、light */ + type: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: VibrateShortCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: VibrateShortFailCallback + /** 接口调用成功的回调函数 */ + success?: VibrateShortSuccessCallback + } + interface VideoContextRequestFullScreenOption { + /** 需要基础库: `1.7.0` + * + * 设置全屏时视频的方向,不指定则根据宽高比自动判断。 + * + * 可选值: + * - 0: 正常竖向; + * - 90: 屏幕逆时针90度; + * - -90: 屏幕顺时针90度; */ + direction?: 0 | 90 | -90 + } + interface VideoDecoderStartOption { + /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */ + source: string + /** 需要基础库: `2.15.0` + * + * 是否不需要音频轨道 */ + abortAudio?: boolean + /** 需要基础库: `2.15.0` + * + * 是否不需要视频轨道 */ + abortVideo?: boolean + /** 解码模式。0:按 pts 解码;1:以最快速度解码 */ + mode?: number + } + interface VoIP1v1ChatUser { + /** 昵称 */ + nickname: string + /** 小程序内 openid */ + openid: string + /** 头像 */ + headImage?: string + } + /** 需要基础库: `2.19.0` +* +* WebAudioContext 实例,通过[wx.createWebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) 接口获取该实例。 +* +* **示例代码** +* +* ```js +// 监听状态 +const audioCtx = wx.createWebAudioContext() +audioCtx.onstatechange = () => { + console.log(ctx.state) +} +setTimeout(audioCtx.suspend, 1000) +setTimeout(audioCtx.resume, 2000) +``` */ + interface WebAudioContext { + /** 获取当前上下文的时间戳。 */ + currentTime: number + /** [WebAudioContextNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContextNode.html) + * + * 当前上下文的最终目标节点,一般是音频渲染设备。 */ + destination: WebAudioContextNode + /** 空间音频监听器。 */ + listener: AudioListener + /** 可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。 */ + onstatechange: (...args: any[]) => any + /** 采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。 */ + sampleRate: number + /** 当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性 */ + state: string + } + /** 需要基础库: `2.19.0` + * + * 一类音频处理模块,不同的Node具备不同的功能,如GainNode(音量调整)等。一个WebAudioContextNode可以通过上下文来创建。 + * 目前已经支持以下Node: + * IIRFilterNode + * WaveShaperNode + * ConstantSourceNode + * ChannelMergerNode + * OscillatorNode + * GainNode + * BiquadFilterNode + * PeriodicWaveNode + * BufferSourceNode + * ChannelSplitterNode + * ChannelMergerNode + * DelayNode + * DynamicsCompressorNode + * ScriptProcessorNode + * PannerNode + * AnalyserNode */ + interface WebAudioContextNode { + /** 表示监听器的前向系统在同一笛卡尔坐标系中的水平位置,作为位置(位置x,位置和位置和位置)值。 */ + forwardX: number + /** 表示听众的前向方向在同一笛卡尔坐标系中作为位置(位置x,位置和位置和位置)值的垂直位置。 */ + forwardY: number + /** 表示与position (positionX、positionY和positionZ)值在同一笛卡尔坐标系下的听者前进方向的纵向(前后)位置。 */ + forwardZ: number + /** 右手笛卡尔坐标系中X轴的位置。 */ + positionX: number + /** 右手笛卡尔坐标系中Y轴的位置。 */ + positionY: number + /** 右手笛卡尔坐标系中Z轴的位置。 */ + positionZ: number + /** 设置监听器的方向 */ + setOrientation: (...args: any[]) => any + /** 设置监听器的位置 + * + * /** */ + setPosition: (...args: any[]) => any + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向前方向的水平位置。 */ + upX: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向上方向的水平位置。 */ + upY: number + /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向后方向的水平位置。 */ + upZ: number + } + /** 提供预设的 Wi-Fi 信息列表 */ + interface WifiData { + /** Wi-Fi 的 BSSID */ + BSSID?: string + /** Wi-Fi 的 SSID */ + SSID?: string + /** Wi-Fi 设备密码 */ + password?: string + } + /** Wifi 信息 + * + * **注意** + * + * - 安卓 wx.connectWifi / wx.getConnectedWifi 若设置了 partialInfo:true ,或者调用了 wx.onWifiConnectedWithPartialInfo 事件。将会返回只包含 SSID 属性的 WifiInfo 对象。 + * - iOS wx.getConnectedWifi 若设置了 partialInfo:true ,将会返回只包含 SSID、BSSID 属性的 WifiInfo 对象,且需要用户开启微信定位权限才能正确返回结果。 + * - 在某些情况下,可能 Wi-Fi 已经连接成功,但会因为获取不到完整的 WifiInfo 对象报错。具体错误信息为 errCode: 12010, errMsg: can't gain current wifi 或 no wifi is connected 。如果开发者不需要完整的 WifiInfo 对象,则可以通过采取上述策略解决报错问题。 */ + interface WifiInfo { + /** Wi-Fi 的 BSSID */ + BSSID: string + /** Wi-Fi 的 SSID */ + SSID: string + /** 需要基础库: `2.12.0` + * + * Wi-Fi 频段单位 MHz */ + frequency: number + /** Wi-Fi 是否安全 */ + secure: boolean + /** Wi-Fi 信号强度, 安卓取值 0 ~ 100 ,iOS 取值 0 ~ 1 ,值越大强度越大 */ + signalStrength: number + } + interface WindowInfo { + /** 设备像素比 */ + pixelRatio: number + /** 在竖屏正方向下的安全区域 */ + safeArea: SafeArea + /** 屏幕高度,单位px */ + screenHeight: number + /** 窗口上边缘的y值 */ + screenTop: number + /** 屏幕宽度,单位px */ + screenWidth: number + /** 状态栏的高度,单位px */ + statusBarHeight: number + /** 可使用窗口高度,单位px */ + windowHeight: number + /** 可使用窗口宽度,单位px */ + windowWidth: number + } + /** Worker 实例,主线程中可通过 [wx.createWorker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) 接口获取,worker 线程中可通过全局变量 `worker` 获取。 +* +* **示例代码** +* +* 运行以下代码需先进行基础配置,详细请查阅 [小程序多线程](https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html) | [小游戏多线程](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/worker.html) 文档了解基础知识和配置方法。 +* +* ```js +const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径 + +worker.onMessage(function (res) { + console.log(res) +}) +// 监听worker被系统回收事件 +worker.onProcessKilled(function () { + console.log('worker has been killed') + // 重新创建一个worker + // wx.createWorker() +}) + +worker.postMessage({ + msg: 'hello worker' +}) + +worker.terminate() +``` */ + interface Worker { + /** worker内的环境变量 */ + env: WorkerEnv + } + /** worker内的环境变量 */ + interface WorkerEnv { + /** 文件系统中的用户目录路径 (本地路径) */ + USER_DATA_PATH: string + } + interface WorkerOnMessageListenerResult { + /** 主线程/Worker 线程向当前线程发送的消息 */ + message: IAnyObject + } + interface WriteBLECharacteristicValueOption { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 蓝牙设备 id */ + deviceId: string + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** 蓝牙设备特征对应的二进制值 */ + value: ArrayBuffer + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteBLECharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteBLECharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteBLECharacteristicValueSuccessCallback + /** 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持) + * + * 可选值: + * - 'write': 强制回复写,不支持时报错; + * - 'writeNoResponse': 强制无回复写,不支持时报错; */ + writeType?: 'write' | 'writeNoResponse' + } + interface WriteCharacteristicValueObject { + /** 蓝牙特征的 UUID */ + characteristicId: string + /** 是否需要通知主机 value 已更新 */ + needNotify: boolean + /** 蓝牙特征对应服务的 UUID */ + serviceId: string + /** characteristic 对应的二进制值 */ + value: ArrayBuffer + /** 可选,处理回包时使用 */ + callbackId?: number + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCharacteristicValueCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteCharacteristicValueFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteCharacteristicValueSuccessCallback + } + interface WriteFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'bad file descriptor': 无效的文件描述符; + * - 'fail permission denied': 指定的 fd 路径没有写权限; + * - 'fail sdcard not mounted': android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileFailCallbackResult { + /** 错误信息 + * + * 可选值: + * - 'fail no such file or directory, open ${filePath}': 指定的 filePath 所在目录不存在; + * - 'fail permission denied, open ${dirPath}': 指定的 filePath 路径没有写权限; + * - 'fail the maximum size of the file storage limit is exceeded': 存储空间不足; + * - 'fail sdcard not mounted': Android sdcard 挂载失败; */ + errMsg: string + } + interface WriteFileOption { + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer + /** 要写入的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteFileCompleteCallback + /** 指定写入文件的字符编码 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFileFailCallback + /** 接口调用成功的回调函数 */ + success?: WriteFileSuccessCallback + } + interface WriteNdefMessageOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteNdefMessageCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WriteNdefMessageFailCallback + /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */ + records?: any[] + /** 接口调用成功的回调函数 */ + success?: WriteNdefMessageSuccessCallback + /** text 数组 */ + texts?: any[] + /** uri 数组 */ + uris?: any[] + } + interface WriteOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: WriteCompleteCallback + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 接口调用失败的回调函数 */ + fail?: WriteFailCallback + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + /** 接口调用成功的回调函数 */ + success?: WriteSuccessCallback + } + /** 文件写入结果。 通过 [FileSystemManager.writeSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) 接口返回 */ + interface WriteResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + } + interface WriteSuccessCallbackResult { + /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */ + bytesWritten: number + errMsg: string + } + interface WriteSyncOption { + /** 写入的内容,类型为 String 或 ArrayBuffer */ + data: string | ArrayBuffer + /** 文件描述符。fd 通过 [FileSystemManager.open](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) 或 [FileSystemManager.openSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) 接口获得 */ + fd: string + /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8 + * + * 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 arrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */ + length?: number + /** 只在 data 类型是 ArrayBuffer 时有效,决定 arrayBuffe 中要被写入的部位,即 arrayBuffer 中的索引,默认0 */ + offset?: number + /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */ + position?: number + } + interface WxGetFileInfoOption { + /** 本地文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetFileInfoCompleteCallback + /** 计算文件摘要的算法 + * + * 可选值: + * - 'md5': md5 算法; + * - 'sha1': sha1 算法; */ + digestAlgorithm?: 'md5' | 'sha1' + /** 接口调用失败的回调函数 */ + fail?: WxGetFileInfoFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetFileInfoSuccessCallback + } + interface WxGetFileInfoSuccessCallbackResult { + /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */ + digest: string + /** 文件大小,以字节为单位 */ + size: number + errMsg: string + } + interface WxGetSavedFileListOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: GetSavedFileListCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: GetSavedFileListFailCallback + /** 接口调用成功的回调函数 */ + success?: WxGetSavedFileListSuccessCallback + } + interface WxGetSavedFileListSuccessCallbackResult { + /** 文件数组,每一项是一个 FileItem */ + fileList: FileItem[] + errMsg: string + } + interface WxRemoveSavedFileOption { + /** 需要删除的文件路径 (本地路径) */ + filePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: RemoveSavedFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxRemoveSavedFileFailCallback + /** 接口调用成功的回调函数 */ + success?: RemoveSavedFileSuccessCallback + } + interface WxSaveFileOption { + /** 需要保存的文件的临时路径 (本地路径) */ + tempFilePath: string + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: SaveFileCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: WxSaveFileFailCallback + /** 接口调用成功的回调函数 */ + success?: SaveFileSuccessCallback + } + interface WxStartRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StartRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StartRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStartRecordSuccessCallback + } + interface WxStopRecordOption { + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + complete?: StopRecordCompleteCallback + /** 接口调用失败的回调函数 */ + fail?: StopRecordFailCallback + /** 接口调用成功的回调函数 */ + success?: WxStopRecordSuccessCallback + } + /** 运动数据列表 */ + interface WxaSportRecord { + /** 消耗卡路里 */ + calorie: number + /** 运动距离 */ + distance: number + /** 运动时长 */ + time: number + /** 运动项目id */ + typeId: number + } + /** 帧纹理对象 */ + interface YUVTextureRes { + /** UV 分量纹理 */ + uvTexture: WebGLTexture + /** Y 分量纹理 */ + yTexture: WebGLTexture + } + /** 文件路径 */ + interface ZipFileItem { + /** 文件内容 */ + data: string | ArrayBuffer + /** 错误信息 */ + errMsg: string + } + interface Animation { + /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html) + * + * 在插件中使用:支持 + * + * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */ + export(): AnimationExportResult + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.backgroundColor(string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.backgroundColor.html) + * + * 在插件中使用:支持 + * + * 设置背景色 */ + backgroundColor( + /** 颜色值 */ + value: string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.bottom(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.bottom.html) + * + * 在插件中使用:支持 + * + * 设置 bottom 值 */ + bottom( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.height(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.height.html) + * + * 在插件中使用:支持 + * + * 设置高度 */ + height( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.left(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.left.html) + * + * 在插件中使用:支持 + * + * 设置 left 值 */ + left( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */ + matrix(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.matrix3d()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.matrix3d.html) + * + * 在插件中使用:支持 + * + * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */ + matrix3d(): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.opacity(number value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.opacity.html) + * + * 在插件中使用:支持 + * + * 设置透明度 */ + opacity( + /** 透明度,范围 0-1 */ + value: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.right(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.right.html) + * + * 在插件中使用:支持 + * + * 设置 right 值 */ + right( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate.html) + * + * 在插件中使用:支持 + * + * 从原点顺时针旋转一个角度 */ + rotate( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotate3d(number x, number y, number z, number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotate3d.html) + * + * 在插件中使用:支持 + * + * 从 固定 轴顺时针旋转一个角度 */ + rotate3d( + /** 旋转轴的 x 坐标 */ + x: number, + /** 旋转轴的 y 坐标 */ + y: number, + /** 旋转轴的 z 坐标 */ + z: number, + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateX.html) + * + * 在插件中使用:支持 + * + * 从 X 轴顺时针旋转一个角度 */ + rotateX( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateY.html) + * + * 在插件中使用:支持 + * + * 从 Y 轴顺时针旋转一个角度 */ + rotateY( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.rotateZ(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.rotateZ.html) + * + * 在插件中使用:支持 + * + * 从 Z 轴顺时针旋转一个角度 */ + rotateZ( + /** 旋转的角度。范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale(number sx, number sy)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale( + /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */ + sx: number, + /** 在 Y 轴缩放 sy 倍数 */ + sy?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scale3d(number sx, number sy, number sz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scale3d.html) + * + * 在插件中使用:支持 + * + * 缩放 */ + scale3d( + /** x 轴的缩放倍数 */ + sx: number, + /** y 轴的缩放倍数 */ + sy: number, + /** z 轴的缩放倍数 */ + sz: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleX(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleX.html) + * + * 在插件中使用:支持 + * + * 缩放 X 轴 */ + scaleX( + /** X 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleY(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleY.html) + * + * 在插件中使用:支持 + * + * 缩放 Y 轴 */ + scaleY( + /** Y 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.scaleZ(number scale)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.scaleZ.html) + * + * 在插件中使用:支持 + * + * 缩放 Z 轴 */ + scaleZ( + /** Z 轴的缩放倍数 */ + scale: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skew(number ax, number ay)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skew.html) + * + * 在插件中使用:支持 + * + * 对 X、Y 轴坐标进行倾斜 */ + skew( + /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */ + ax: number, + /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */ + ay: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewX(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴坐标进行倾斜 */ + skewX( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.skewY(number angle)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.skewY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴坐标进行倾斜 */ + skewY( + /** 倾斜的角度,范围 [-180, 180] */ + angle: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.step(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.step.html) + * + * 在插件中使用:支持 + * + * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */ + step(option?: StepOption): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.top(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.top.html) + * + * 在插件中使用:支持 + * + * 设置 top 值 */ + top( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate(number tx, number ty)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate.html) + * + * 在插件中使用:支持 + * + * 平移变换 */ + translate( + /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translate3d(number tx, number ty, number tz)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translate3d.html) + * + * 在插件中使用:支持 + * + * 对 xyz 坐标进行平移变换 */ + translate3d( + /** 在 X 轴平移的距离,单位为 px */ + tx?: number, + /** 在 Y 轴平移的距离,单位为 px */ + ty?: number, + /** 在 Z 轴平移的距离,单位为 px */ + tz?: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateX(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateX.html) + * + * 在插件中使用:支持 + * + * 对 X 轴平移 */ + translateX( + /** 在 X 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateY(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateY.html) + * + * 在插件中使用:支持 + * + * 对 Y 轴平移 */ + translateY( + /** 在 Y 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.translateZ(number translation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.translateZ.html) + * + * 在插件中使用:支持 + * + * 对 Z 轴平移 */ + translateZ( + /** 在 Z 轴平移的距离,单位为 px */ + translation: number + ): Animation + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) Animation.width(number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.width.html) + * + * 在插件中使用:支持 + * + * 设置宽度 */ + width( + /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */ + value: number | string + ): Animation + } + interface AudioBuffer { + /** [AudioBuffer.copyFromChannel()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyFromChannel.html) + * + * 在插件中使用:不支持 + * + * 从AudioBuffer的指定频道复制到数组终端。 */ + copyFromChannel(): void + /** [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyToChannel.html) + * + * 在插件中使用:不支持 + * + * 从指定数组复制样本到audioBuffer的特定通道 + * + * **示例代码** + * + * 示例代码参考AudioBuffer.copyFromChannel */ + copyToChannel( + /** 需要复制的源数组 */ + source: Float32Array, + /** 需要复制到的目的通道号 */ + channelNumber: number, + /** 复制偏移数据量 */ + startInChannel: number + ): void + /** [Float32Array AudioBuffer.getChannelData(number channel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.getChannelData.html) + * + * 在插件中使用:不支持 + * + * 返回一个 Float32Array,包含了带有频道的PCM数据,由频道参数定义(有0代表第一个频道) */ + getChannelData( + /** 要获取特定通道数据的索引 */ + channel: number + ): Float32Array + } + interface AudioContext { + /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 暂停音频。 */ + pause(): void + /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 播放音频。 */ + play(): void + /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 跳转到指定位置。 */ + seek( + /** 跳转位置,单位 s */ + position: number + ): void + /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html) + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 设置音频地址 */ + setSrc( + /** 音频地址 */ + src: string + ): void + } + interface BLEPeripheralServer { + /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 添加服务。 */ + addService(option: AddServiceOption): void + /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 关闭当前服务端。 */ + close(option?: BLEPeripheralServerCloseOption): void + /** [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求读当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicReadRequest(listener) +BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicReadRequest( + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicSubscribed(listener) +BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicSubscribed( + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 移除取消特征订阅事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicUnsubscribed(listener) +BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicUnsubscribed( + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:不支持 +* +* 移除已连接的设备请求写当前外围设备的特征值事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +BLEPeripheralServer.onCharacteristicWriteRequest(listener) +BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCharacteristicWriteRequest( + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicReadRequest( + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicReadRequestCallback + ): void + /** [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听特征订阅事件,仅 iOS 支持。 */ + onCharacteristicSubscribed( + /** 特征订阅事件的监听函数 */ + listener: OnCharacteristicSubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 监听取消特征订阅事件,仅 iOS 支持。 */ + onCharacteristicUnsubscribed( + /** 取消特征订阅事件的监听函数 */ + listener: OnCharacteristicUnsubscribedCallback + ): void + /** [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */ + onCharacteristicWriteRequest( + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + listener: OnCharacteristicWriteRequestCallback + ): void + /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 移除服务。 */ + removeService(option: RemoveServiceOption): void + /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 开始广播本地创建的外围设备。 + * + * **注意** + * + * - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID; + * - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](https://developers.weixin.qq.com/miniprogram/dev/framework/device/ble.html); + * - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。 + * - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。 + * - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 */ + startAdvertising(Object: StartAdvertisingObject): void + /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 停止广播。 */ + stopAdvertising(option?: StopAdvertisingOption): void + /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:不支持 + * + * 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 */ + writeCharacteristicValue(Object: WriteCharacteristicValueObject): void + } + interface BackgroundAudioError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 10001 | | 系统错误 | + * | 10002 | | 网络错误 | + * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length | + * | 10004 | | 格式错误 | + * | -1 | | 未知错误 | */ errCode: number + } + interface BackgroundAudioManager { + /** [BackgroundAudioManager.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */ + onCanplay( + /** 背景音频进入可播放状态事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [BackgroundAudioManager.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听背景音频自然播放结束事件 */ + onEnded( + /** 背景音频自然播放结束事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [BackgroundAudioManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放错误事件 */ + onError( + /** 背景音频播放错误事件的监听函数 */ + listener: BackgroundAudioManagerOnErrorCallback + ): void + /** [BackgroundAudioManager.onNext(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击下一曲事件(仅iOS) */ + onNext( + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + listener: OnNextCallback + ): void + /** [BackgroundAudioManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听背景音频暂停事件 */ + onPause( + /** 背景音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [BackgroundAudioManager.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放事件 */ + onPlay( + /** 背景音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [BackgroundAudioManager.onPrev(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html) + * + * 在插件中使用:支持 + * + * 监听用户在系统音乐播放面板点击上一曲事件(仅iOS) */ + onPrev( + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + listener: OnPrevCallback + ): void + /** [BackgroundAudioManager.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听背景音频完成跳转操作事件 */ + onSeeked( + /** 背景音频完成跳转操作事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [BackgroundAudioManager.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听背景音频开始跳转操作事件 */ + onSeeking( + /** 背景音频开始跳转操作事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [BackgroundAudioManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听背景音频停止事件 */ + onStop( + /** 背景音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [BackgroundAudioManager.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */ + onTimeUpdate( + /** 背景音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [BackgroundAudioManager.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停音乐 */ + pause(): void + /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html) + * + * 在插件中使用:支持 + * + * 播放音乐 */ + play(): void + /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + currentTime: number + ): void + /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止音乐 */ + stop(): void + } + interface BeaconError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 11000 | unsupport | 系统或设备不支持 | + * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 | + * | 11002 | location service unavailable | 位置服务不可用 | + * | 11003 | already start | 已经开始搜索 | + * | 11004 | not startBeaconDiscovery | 还未开始搜索 | + * | 11005 | system error | 系统错误 | + * | 11006 | invalid data | 参数不正确 | */ errCode: number + } + interface BluetoothError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | -1 | already connect | 已连接 | + * | 10000 | not init | 未初始化蓝牙适配器 | + * | 10001 | not available | 当前蓝牙适配器不可用 | + * | 10002 | no device | 没有找到指定设备 | + * | 10003 | connection fail | 连接失败 | + * | 10004 | no service | 没有找到指定服务 | + * | 10005 | no characteristic | 没有找到指定特征 | + * | 10006 | no connection | 当前连接已断开 | + * | 10007 | property not support | 当前特征不支持此操作 | + * | 10008 | system error | 其余所有系统上报的异常 | + * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE | + * | 10012 | operate time out | 连接超时 | + * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number + } + interface CacheManager { + /** [Array.<string> CacheManager.addRules(Object rules)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量添加规则,规则写法可参考 [CacheManager.addRule](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)。 */ + addRules( + /** 规则列表 */ + rules: IAnyObject + ): string[] + /** [CacheManager.clearCaches()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有缓存。 */ + clearCaches(): void + /** [CacheManager.clearRules()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 清空所有规则,同时会删除对应规则下所有缓存。 */ + clearRules(): void + /** [CacheManager.deleteCache(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCache.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除缓存。 */ + deleteCache( + /** 缓存 id */ + id: string + ): void + /** [CacheManager.deleteCaches(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCaches.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除缓存。 */ + deleteCaches( + /** 缓存 id 列表 */ + ids: string[] + ): void + /** [CacheManager.deleteRule(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRule.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 删除规则,同时会删除对应规则下所有缓存。 */ + deleteRule( + /** 规则 id */ + id: string + ): void + /** [CacheManager.deleteRules(Array.<string> ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRules.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 批量删除规则,同时会删除对应规则下所有缓存。 */ + deleteRules( + /** 规则 id 列表 */ + ids: string[] + ): void + /** [CacheManager.off(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.off.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 取消事件监听。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.on(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.on.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 监听事件。 +* +* **** +* +* 这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。 +* +* #### 示例代码 +* +* ```js +async function handler(evt) { + // evt.url - 请求 url + // evt.data - 请求参数 + // evt.method - 请求方法 + // evt.request - 原始 request 方法,返回一个 promise + + // if (evt.url === '/xxx') { + // // 如果有些请求仍然希望走到网络,则可以如下处理 + // const res = await evt.request() + // // res 即为网络请求返回 + // } + + return new Promsie((resolve, reject) => { + // do sth + if (data) { + // 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回 + resolve(data) + } else { + // 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回 + reject('no data') + } + }) +} +cacheManager.on('request', handler) +``` */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'request': 发生 wx.request 请求,只在缓存管理器开启阶段会触发; + * - 'enterWeakNetwork': 进入弱网/离线状态; + * - 'exitWeakNetwork': 离开弱网/离线状态; */ + eventName: 'request' | 'enterWeakNetwork' | 'exitWeakNetwork', + /** 事件句柄 */ + handler: (...args: any[]) => any + ): void + /** [CacheManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.start.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。 */ + start(): void + /** [CacheManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.stop.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。 */ + stop(): void + /** [Object CacheManager.match(Object evt)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.match.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 匹配命中的缓存规则,一般需要和 request 事件搭配使用。 +* +* **示例代码** +* +* ```js +function handler(evt) { + const cache = cacheManager.match(evt) + // 若有重复监听,则取第一个 handler 返回的 promise + return new Promise((resolve, reject) => { + if (cache.data) { + resolve(cache.data) + } else { + reject('no cache') + } + }) +} +cacheManager.on('request', handler) +``` */ + match( + /** request 事件对象 */ + evt: IAnyObject + ): MatchCache + /** [string CacheManager.addRule(Object rule)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 添加规则。 +* +* **规则说明** +* +* 支持的规则写法有字符串、正则和对象三种: +* +* ### 字符串写法 +* +* 1. `addRule('/abc')`:纯 uri 串。 +* 2. `addRule('GET /abc'):带方法的 uri 串,除了匹配 uri 外,还会匹配请求方法。如例子中必须是 GET 方法请求才会被匹配。 +* 3. `addRule('/abc/:id'):带可变部分的 uri 串,id 可以是任意符合标准的字符串,表示这一段可以动态变化。比如 `/abc/123` 和 `/abc/321` 都会被匹配,而 `/abc/123/xxx` 因为多了一段,就不会被匹配。 +* 4. `addRule('/abc?aa'):带 query 参数的 uri 串,包含 aa 参数,值可以为任意值。比如 `/abc?aa=haha` 会被匹配,但是 `/abc` 就不会被匹配,因为缺少规则中声明的 aa 参数;不过如果请求是 `/abc?aa=haha&bb=123`,虽然多带了 bb 参数,但是因为包含了 aa 参数,所以也可以被匹配。 +* 5. `addRule('/abc?dd=haha'):带 query 参数的 uri 串,包含 dd 参数且值为 haha。比如 `/abc?dd=haha` 和 `/abc?dd=haha&bb=123` 会被匹配,而 `/abc?dd=123` 就不会被匹配,因为规则要求了 dd 参数的值。 +* +* > 以上写法中的 uri 串如果只有 path 部分,则会取全局 origin 进行补全。比如全局 origin 是 `https://weixin.qq.com`,而规则是 `/abc`,则会补全为 `https://weixin.qq.com/abc`。因此在前面例子中 `addRule('/abc')` 和 `addRule('https://weixin.qq.com/abc')` 的写法效果一致。所以一般情况下如果需要匹配的请求 origin 和全局 origin 一致,则规则中可忽略不写 orign。 +* +* ### 正则写法 +* +* 1. `addRule(/\/(abc|cba)$/ig)`:直接正则匹配请求的 uri,同时会比对请求 origin 和全局 origin 是否一致。 +* 2. `addRule(/^https:\/\/weixin.qq.com\/(abc|cba)$/ig)`:带有 orign 部分的正则表达式,则只匹配 uri,不再比对 origin。 +* +* ### 对象写法 +* +* 使用规则对象,可以更为详细的描述规则内容。(一般使用规则对象,是为了匹配请求参数) +* +* #### 规则对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | id | string | | 规则 id,如果不填则会由基础库生成 | +* | method | string | | 请求方法,可选值 GET/POST/PATCH/PUT/DELETE,如果为空则表示前面提到的所有方法都能被匹配到 | +* | url | any | 必填 | uri 匹配规则,可参考规则字符串写法和正则写法 | +* | maxAge | number | 7 * 24 * 60 * 60 * 1000 | 缓存有效时间,单位为 ms,不填则默认取缓存管理器全局的缓存有效时间 | +* | dataSchema | Array\<DataRule\> | | 匹配请求参数 | +* +* 其中,dataSchema 用来匹配对象类型的请求参数(比如 wx.request 的 data),默认可以不填,即不做参数匹配。 +* +* dataSchema 的类型是一个 DataRule 对象数组,一个 DataRule 对象描述一个参数,比如一个 wx.request 请求的 data 是 `{a: 123, b: 'haha', c: true}`,你想要用一条规则来匹配其中的 a 和 b 参数,如果 a 是数字且 b 是字符串就能命中该规则,那么就需要在 dataSchema 中补充两个 DataRule 对象,即 `[{name: 'a', schema: {type: 'number'}}, {name: 'b', schema: {type: 'string'}}]`。 +* +* #### DataRule 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | name | string | | 需要匹配的参数名 | +* | schema | DataSchema/Array\<DataSchema\> | 需要匹配的参数模式,支持数组,表示该参数值有多种模式 | +* +* name 表示要匹配的参数名,schema 为 DataSchema 对象,用来描述该参数的类型和值。 +* +* 一个 DataRule 对象也可以匹配可能拥有多种类型的参数,所以 schema 也支持为 DataSchema 对象数组。比如上述例子中,希望匹配的 a 参数必须是数值或者字符串,那么可以这么写:`{name: 'a', schema: [{type: 'number'}, {type: 'string'}]}`。 +* +* #### DataSchema 对象: +* +* | 属性名 | 类型 | 默认值 | 备注 | +* |---|---|---|---| +* | type | string | | 需要匹配的 data 对象的参数类型,string、number、boolean、null、object、any(表示任意类型),同时支持数组模式(数组模式则在类型后面加 [],如 string[] 表示字符串数组) | +* | value | string/regexp/function/Array\<DataRule\> | | 需要匹配的 data 对象的参数值,当 type 为基本类型时,可以用 string/regexp 来匹配固定的值,也可以通过 function 来确定值是否匹配,如果传入的 type 是 object,那么表示需要嵌套匹配值是否正确,可以传入 Array<DataRule> | +* +* type 参数表示要匹配的参数类型,value 表示要匹配的参数值。其中 value 支持多种写法,不同写法有如下匹配方式: +* +* 1. 字符串写法:直接判值的字符串形式是否和给定字符串一样,比如 value 值为 `123`,就要求参数值必须为 123 才能与之匹配。 +* 2. 正则写法:直接判值的字符串形式是否能被正则匹配,比如 value 值为 `/\d+/ig`,就要求参数值必须为数字,如果参数值为 `abc` 则不会被匹配。 +* 3. 函数写法:在匹配时会调用用户传入的函数,交由用户判断是否匹配。 +* 4. DataRule 数组写法:当参数类型为对象时,那么字符串写法和正则写法就无法使用,需要传入 DataRule 数组来进行匹配,即通过嵌套 DataRule 数组的方式来匹配嵌套的对象。 +* +* ### 示例代码 +* +* ```js +const ruleId = cacheManager.addRule({ + id: 'haha-rule', + method: 'GET', + url: '/haha', + maxAge: 123455, + dataSchema: [ + // data 字段的匹配,默认为空,表示不匹配 + // 类型可以是:string、number、boolean、null、object、any(表示任意类型均可),以及这些类型的数组表示方式 + {name: 'aaa', schema: {type: 'string'}}, // 类型为 string + {name: 'bbb', schema: [{type: 'number'}, {type: 'string'}]}, // 类型为 number, string + {name: 'ccc', schema: {type: 'string', value: 'abc'}}, // 值为 abc + {name: 'ddd', schema: {type: 'string', value: /(abc|cba)/ig}}, // 值符合该正则匹配,如果该值不是字符串类型,则会被尝试转成字符串后再进行比较 + {name: 'ddd', schema: {type: 'string', value: val => val === '123'}}, // 传入函数来校验值 + {name: 'eee', schema: {type: 'object', value: [{ // 类型为对象,则通过嵌套的方式来逐层校验 + name: 'aaa', schema: {type: 'string'}, + // ... + // 嵌套 dataSchema,同上面的方式一样来匹配嵌套的对象 + }]}}, + {name: 'fff', schema: {type: 'string[]'}}, // 类型为 string 数组 + {name: 'ggg', schema: {type: 'any'}}, // 类型为任意类型 + {name: 'hhh', schema: {type: 'any[]'}}, // 类型为任意类型的数组 + }], +}) +``` +* +* ### 补充说明 +* +* 用户可以添加多条规则,每条规则都会去解析网络请求,然后判断是否命中规则。假设有多条规则命中,则取第一条命中的规则。 +* +* ### 缓存覆盖 +* +* 不同的网络请求也可能命中同一条规则,所以每条规则可能对应多个缓存。每条规则会有一个规则 id,每个缓存会有一个缓存 id,一个规则 id 可能对应多个缓存 id,而缓存管理器的缓存存储是基于缓存 id 标识的,如果两个不同的请求生成了同样的缓存 id,那么后发生的请求结果缓存会覆盖前者。因此使用时需要思考缓存的覆盖情况,目前缓存 id 生成方式如下: +* +* 1. 规则使用字符串写法:那么按 method + url + 规则中声明的 query 参数来生成缓存 id。 +* +* > 需要注意的是这里不使用真实请求中的 query 参数来生成缓存 id,而是使用规则中匹配到的 query 来生成缓存 id。比如规则是 `/abc?aa=123`,请求是 GET 方法的 `/abc?aa=123&bb=123`,那么就会基于 `GET /abc?aa=123` 来生成缓存 id。而规则里没有声明 `bb=123`,所以 bb 参数不会被纳入缓存 id 的生成基准。 +* +* 2. 规则使用正则写法:那么只按 method + url 生成缓存 id,不考虑 query 参数。 +* 3. 规则使用对象写法:如果规则对象中的 url 是字符串写法,那么按 method + url + 规则中声明的 query 参数 + 规则中 dataSchema 声明的请求参数来生成缓存 id;如果规则对象中的 url 是正则写法,那么按 method + url + 规则中 dataSchema 声明的请求参数来生成缓存 id。 +* +* > 生成缓存 id 时没有使用请求中完整的 query 参数或者请求参数来作为基准,是考虑到很多请求可能会带上 token 或时间戳等参数。因为此参数存在不确定性,会导致每次请求生成的缓存 id 都不同,进而导致缓存命中率下降,故采取规则中声明的 query 参数和 dataSchema 声明的请求参数来作为生成缓存 id 的基准。 */ + addRule( + /** 规则 */ + rule: IAnyObject + ): string + } + interface CameraContext { + /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置缩放级别 */ + setZoom(option: SetZoomOption): void + /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html) + * + * 在插件中使用:支持 + * + * 开始录像 */ + startRecord(option: CameraContextStartRecordOption): void + /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html) + * + * 在插件中使用:支持 + * + * 结束录像 */ + stopRecord(option: CameraContextStopRecordOption): void + /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html) + * + * 在插件中使用:支持 + * + * 拍摄照片 */ + takePhoto(option: TakePhotoOption): void + /** [[CameraFrameListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.html) CameraContext.onCameraFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.onCameraFrame.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 获取 Camera 实时帧数据 +* +* **** +* +* 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。 +* +* **示例代码** +* +* ```js +const context = wx.createCameraContext() +const listener = context.onCameraFrame((frame) => { + console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height) +}) +listener.start() +``` */ + onCameraFrame( + /** 回调函数 */ + callback: OnCameraFrameCallback + ): CameraFrameListener + } + interface CameraFrameListener { + /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html) + * + * 在插件中使用:不支持 + * + * 开始监听帧数据 */ + start(option?: CameraFrameListenerStartOption): void + /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html) + * + * 在插件中使用:不支持 + * + * 停止监听帧数据 */ + stop(option?: StopOption): void + } + interface Canvas { + /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + cancelAnimationFrame(requestID: number): void + /** [[ImageData](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/ImageData.html) Canvas.createImageData()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。 */ + createImageData(): ImageData + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) Canvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImage.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + createImage(): Image + /** [[Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) Canvas.createPath2D([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createPath2D.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 创建 Path2D 对象 */ + createPath2D( + /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) */ + path: Path2D + ): Path2D + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) Canvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 该方法返回 Canvas 的绘图上下文 + * + * **** + * + * 支持获取 2D 和 WebGL 绘图上下文 */ + getContext(contextType: string): any + /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 */ + toDataURL( + /** 图片格式,默认为 image/png */ + type: string, + /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */ + encoderOptions: number + ): string + } + interface CanvasContext { + /** [CanvasContext.arc(number x, number y, number r, number sAngle, number eAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arc.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一条弧线。 +* +* - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。 +* - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw coordinates +ctx.arc(100, 75, 50, 0, 2 * Math.PI) +ctx.setFillStyle('#EEEEEE') +ctx.fill() + +ctx.beginPath() +ctx.moveTo(40, 75) +ctx.lineTo(160, 75) +ctx.moveTo(100, 15) +ctx.lineTo(100, 135) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +ctx.setFontSize(12) +ctx.setFillStyle('black') +ctx.fillText('0', 165, 78) +ctx.fillText('0.5*PI', 83, 145) +ctx.fillText('1*PI', 15, 78) +ctx.fillText('1.5*PI', 83, 10) + +// Draw points +ctx.beginPath() +ctx.arc(100, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(100, 25, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.beginPath() +ctx.arc(150, 75, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +// Draw arc +ctx.beginPath() +ctx.arc(100, 75, 50, 0, 1.5 * Math.PI) +ctx.setStrokeStyle('#333333') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/arc.png) +* +* 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下: +* +* - 绿色: 圆心 (100, 75) +* - 红色: 起始弧度 (0) +* - 蓝色: 终止弧度 (1.5 * Math.PI) */ + arc( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number, + /** 起始弧度,单位弧度(在3点钟方向) */ + sAngle: number, + /** 终止弧度 */ + eAngle: number, + /** 弧度的方向是否是逆时针 */ + counterclockwise?: boolean + ): void + /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 根据控制点和半径绘制圆弧路径。 */ + arcTo( + /** 第一个控制点的 x 轴坐标 */ + x1: number, + /** 第一个控制点的 y 轴坐标 */ + y1: number, + /** 第二个控制点的 x 轴坐标 */ + x2: number, + /** 第二个控制点的 y 轴坐标 */ + y2: number, + /** 圆弧的半径 */ + radius: number + ): void + /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边 +* +* - 在最开始的时候相当于调用了一次 `beginPath`。 +* - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + beginPath(): void + /** [CanvasContext.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.bezierCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.arc(200, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(150, 75) + +ctx.moveTo(200, 20) +ctx.lineTo(200, 100) +ctx.lineTo(70, 75) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.bezierCurveTo(20, 100, 200, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/bezier-curve.png) +* +* 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:两个控制点(20, 100) (200, 100) +* - 绿色:终止点(200, 20) */ + bezierCurveTo( + /** 第一个贝塞尔控制点的 x 坐标 */ + cp1x: number, + /** 第一个贝塞尔控制点的 y 坐标 */ + cp1y: number, + /** 第二个贝塞尔控制点的 x 坐标 */ + cp2x: number, + /** 第二个贝塞尔控制点的 y 坐标 */ + cp2y: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 清除画布上在该矩形区域内的内容 +* +* **示例代码** +* +* clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。 +* ```html +* <canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/> +* ``` +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(0, 0, 150, 200) +ctx.setFillStyle('blue') +ctx.fillRect(150, 0, 150, 200) +ctx.clearRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/clear-rect.png) */ + clearRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.downloadFile({ + url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg', + success: function(res) { + ctx.save() + ctx.beginPath() + ctx.arc(50, 50, 25, 0, 2*Math.PI) + ctx.clip() + ctx.drawImage(res.tempFilePath, 25, 25) + ctx.restore() + ctx.draw() + } +}) +``` +* ![](@program/dev/image/canvas/clip.png) */ + clip(): void + /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.closePath() +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/close-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.closePath() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/close-path.png) */ + closePath(): void + /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 对指定的图像创建模式的方法,可在指定的方向上重复元图像 */ + createPattern( + /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */ + image: string, + /** 如何重复图像 + * + * 参数 repetition 可选值: + * - 'repeat': 水平竖直方向都重复; + * - 'repeat-x': 水平方向重复; + * - 'repeat-y': 竖直方向重复; + * - 'no-repeat': 不重复; */ + repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' + ): void + /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 +* +* **示例代码** +* +* 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw(true) +``` +* ![](@program/dev/image/canvas/reserve.png) +* +* **示例代码** +* +* 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.draw() +ctx.fillRect(50, 50, 150, 100) +ctx.draw() +``` +* ![](@program/dev/image/canvas/un-reserve.png) */ + draw( + /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */ + reserve?: boolean, + /** 绘制完成后执行的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.drawImage(string imageResource, number sx, number sy, number sWidth, number sHeight, number dx, number dy, number dWidth, number dHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.drawImage.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 绘制图像到画布 +* +* **示例代码** +* +* 有三个版本的写法: +* +* - drawImage(imageResource, dx, dy) +* - drawImage(imageResource, dx, dy, dWidth, dHeight) +* - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +wx.chooseImage({ + success: function(res){ + ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100) + ctx.draw() + } +}) + +``` +* ![](@program/dev/image/canvas/draw-image.png) */ + drawImage( + /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */ + imageResource: string, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */ + sx: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */ + sy: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */ + sWidth: number, + /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */ + sHeight: number, + /** imageResource的左上角在目标 canvas 上 x 轴的位置 */ + dx: number, + /** imageResource的左上角在目标 canvas 上 y 轴的位置 */ + dy: number, + /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */ + dWidth: number, + /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */ + dHeight: number + ): void + /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前路径中的内容进行填充。默认的填充色为黑色。 +* +* **示例代码** +* +* 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.fill() +ctx.draw() +``` +* +* fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。 +* +* ![](@program/dev/image/canvas/fill-line.png) +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setFillStyle('yellow') +ctx.fill() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only fill this rect, not in current path +ctx.setFillStyle('blue') +ctx.fillRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will fill current path +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/fill-path.png) */ + fill(): void + /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + fillRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在画布上绘制被填充的文本 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('Hello', 20, 20) +ctx.fillText('MINA', 100, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/text.png) */ + fillText( + /** 在画布上输出的文本 */ + text: string, + /** 绘制文本的左上角 x 坐标位置 */ + x: number, + /** 绘制文本的左上角 y 坐标位置 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.rect(10, 10, 100, 50) +ctx.lineTo(110, 60) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-to.png) */ + lineTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) + +ctx.moveTo(10, 50) +ctx.lineTo(100, 50) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/move-to.png) */ + moveTo( + /** 目标位置的 x 坐标 */ + x: number, + /** 目标位置的 y 坐标 */ + y: number + ): void + /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Draw points +ctx.beginPath() +ctx.arc(20, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('red') +ctx.fill() + +ctx.beginPath() +ctx.arc(200, 20, 2, 0, 2 * Math.PI) +ctx.setFillStyle('lightgreen') +ctx.fill() + +ctx.beginPath() +ctx.arc(20, 100, 2, 0, 2 * Math.PI) +ctx.setFillStyle('blue') +ctx.fill() + +ctx.setFillStyle('black') +ctx.setFontSize(12) + +// Draw guides +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.lineTo(20, 100) +ctx.lineTo(200, 20) +ctx.setStrokeStyle('#AAAAAA') +ctx.stroke() + +// Draw quadratic curve +ctx.beginPath() +ctx.moveTo(20, 20) +ctx.quadraticCurveTo(20, 100, 200, 20) +ctx.setStrokeStyle('black') +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/quadratic-curve-to.png) +* +* 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下: +* +* - 红色:起始点(20, 20) +* - 蓝色:控制点(20, 100) +* - 绿色:终止点(200, 20) */ + quadraticCurveTo( + /** 贝塞尔控制点的 x 坐标 */ + cpx: number, + /** 贝塞尔控制点的 y 坐标 */ + cpy: number, + /** 结束点的 x 坐标 */ + x: number, + /** 结束点的 y 坐标 */ + y: number + ): void + /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个矩形路径。需要用 [`fill`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html) 或者 [`stroke`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) 方法将矩形真正的画到 `canvas` 中 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.rect(10, 10, 150, 75) +ctx.setFillStyle('red') +ctx.fill() +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + rect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 恢复之前保存的绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + restore(): void + /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) +ctx.rotate(20 * Math.PI / 180) +ctx.strokeRect(100, 10, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/rotate.png) */ + rotate( + /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */ + rotate: number + ): void + /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 保存绘图上下文。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// save the default fill style +ctx.save() +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) + +// restore to the previous saved state +ctx.restore() +ctx.fillRect(50, 50, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/save-restore.png) */ + save(): void + /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) +ctx.scale(2, 2) +ctx.strokeRect(10, 10, 25, 15) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/scale.png) */ + scale( + /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleWidth: number, + /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */ + scaleHeight: number + ): void + /** [CanvasContext.setFillStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.fillStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置填充色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/fill-rect.png) */ + setFillStyle( + /** 填充的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.font](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置字体的字号 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFontSize(20) +ctx.fillText('20', 20, 20) +ctx.setFontSize(30) +ctx.fillText('30', 40, 40) +ctx.setFontSize(40) +ctx.fillText('40', 60, 60) +ctx.setFontSize(50) +ctx.fillText('50', 90, 90) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/font-size.png) */ + setFontSize( + /** 字体的字号 */ + fontSize: number + ): void + /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.globalAlpha](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置全局画笔透明度。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setFillStyle('red') +ctx.fillRect(10, 10, 150, 100) +ctx.setGlobalAlpha(0.2) +ctx.setFillStyle('blue') +ctx.fillRect(50, 50, 150, 100) +ctx.setFillStyle('yellow') +ctx.fillRect(100, 100, 150, 100) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/global-alpha.png) */ + setGlobalAlpha( + /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */ + alpha: number + ): void + /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineCap](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的端点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('butt') +ctx.setLineWidth(10) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('round') +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineCap('square') +ctx.setLineWidth(10) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-cap.png) */ + setLineCap( + /** 线条的结束端点样式 + * + * 参数 lineCap 可选值: + * - 'butt': 向线条的每个末端添加平直的边缘。; + * - 'round': 向线条的每个末端添加圆形线帽。; + * - 'square': 向线条的每个末端添加正方形线帽。; */ + lineCap: 'butt' | 'round' | 'square' + ): void + /** [CanvasContext.setLineDash(Array.<number> pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineDashOffset](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置虚线样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setLineDash([10, 20], 5); + +ctx.beginPath(); +ctx.moveTo(0,100); +ctx.lineTo(400, 100); +ctx.stroke(); + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-line-dash.png) */ + setLineDash( + /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */ + pattern: number[], + /** 虚线偏移量 */ + offset: number + ): void + /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineJoin](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的交点样式 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('bevel') +ctx.setLineWidth(10) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('round') +ctx.setLineWidth(10) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineJoin('miter') +ctx.setLineWidth(10) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/line-join.png) */ + setLineJoin( + /** 线条的结束交点样式 + * + * 参数 lineJoin 可选值: + * - 'bevel': 斜角; + * - 'round': 圆角; + * - 'miter': 尖角; */ + lineJoin: 'bevel' | 'round' | 'miter' + ): void + /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.lineWidth](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置线条的宽度 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.moveTo(10, 10) +ctx.lineTo(150, 10) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(5) +ctx.moveTo(10, 30) +ctx.lineTo(150, 30) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.moveTo(10, 50) +ctx.lineTo(150, 50) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(15) +ctx.moveTo(10, 70) +ctx.lineTo(150, 70) +ctx.stroke() + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/line-width.png) */ + setLineWidth( + /** 线条的宽度,单位px */ + lineWidth: number + ): void + /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.miterLimit](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(1) +ctx.moveTo(10, 10) +ctx.lineTo(100, 50) +ctx.lineTo(10, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(2) +ctx.moveTo(50, 10) +ctx.lineTo(140, 50) +ctx.lineTo(50, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(3) +ctx.moveTo(90, 10) +ctx.lineTo(180, 50) +ctx.lineTo(90, 90) +ctx.stroke() + +ctx.beginPath() +ctx.setLineWidth(10) +ctx.setLineJoin('miter') +ctx.setMiterLimit(4) +ctx.moveTo(130, 10) +ctx.lineTo(220, 50) +ctx.lineTo(130, 90) +ctx.stroke() + +ctx.draw() +``` +* ![](@program/dev/image/canvas/miter-limit.png) */ + setMiterLimit( + /** 最大斜接长度 */ + miterLimit: number + ): void + /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.shadowOffsetX|CanvasContext.shadowOffsetY|CanvasContext.shadowColor|CanvasContext.shadowBlur](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设定阴影样式。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setFillStyle('red') +ctx.setShadow(10, 50, 50, 'blue') +ctx.fillRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/shadow.png) */ + setShadow( + /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */ + offsetX: number, + /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */ + offsetY: number, + /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */ + blur: number, + /** 阴影的颜色。默认值为 black。 */ + color: string + ): void + /** [CanvasContext.setStrokeStyle(string|[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [1.9.90](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [CanvasContext.strokeStyle](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置描边颜色。 +* +* **代码示例** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + setStrokeStyle( + /** 描边的颜色,默认颜色为 black。 */ + color: string | CanvasGradient + ): void + /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(150, 20) +ctx.lineTo(150, 170) +ctx.stroke() + +ctx.setFontSize(15) +ctx.setTextAlign('left') +ctx.fillText('textAlign=left', 150, 60) + +ctx.setTextAlign('center') +ctx.fillText('textAlign=center', 150, 80) + +ctx.setTextAlign('right') +ctx.fillText('textAlign=right', 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/set-text-align.png) */ + setTextAlign( + /** 文字的对齐方式 + * + * 参数 align 可选值: + * - 'left': 左对齐; + * - 'center': 居中对齐; + * - 'right': 右对齐; */ + align: 'left' | 'center' | 'right' + ): void + /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 设置文字的竖直对齐 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.setStrokeStyle('red') +ctx.moveTo(5, 75) +ctx.lineTo(295, 75) +ctx.stroke() + +ctx.setFontSize(20) + +ctx.setTextBaseline('top') +ctx.fillText('top', 5, 75) + +ctx.setTextBaseline('middle') +ctx.fillText('middle', 50, 75) + +ctx.setTextBaseline('bottom') +ctx.fillText('bottom', 120, 75) + +ctx.setTextBaseline('normal') +ctx.fillText('normal', 200, 75) + +ctx.draw() +``` +* ![](@program/dev/image/canvas/set-text-baseline.png) */ + setTextBaseline( + /** 文字的竖直对齐方式 + * + * 参数 textBaseline 可选值: + * - 'top': 顶部对齐; + * - 'bottom': 底部对齐; + * - 'middle': 居中对齐; + * - 'normal': ; */ + textBaseline: 'top' | 'bottom' | 'middle' | 'normal' + ): void + /** [CanvasContext.setTransform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTransform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵重新设置(覆盖)当前变换的方法 */ + setTransform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画出当前路径的边框。默认颜色色为黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.moveTo(10, 10) +ctx.lineTo(100, 10) +ctx.lineTo(100, 100) +ctx.stroke() +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-line.png) +* +* stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。 +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +// begin path +ctx.rect(10, 10, 100, 30) +ctx.setStrokeStyle('yellow') +ctx.stroke() + +// begin another path +ctx.beginPath() +ctx.rect(10, 40, 100, 30) + +// only stoke this rect, not in current path +ctx.setStrokeStyle('blue') +ctx.strokeRect(10, 70, 100, 30) + +ctx.rect(10, 100, 100, 30) + +// it will stroke current path +ctx.setStrokeStyle('red') +ctx.stroke() +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/stroke-path.png) */ + stroke(): void + /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') +ctx.setStrokeStyle('red') +ctx.strokeRect(10, 10, 150, 75) +ctx.draw() +``` +* ![](@program/dev/image/canvas/stroke-rect.png) */ + strokeRect( + /** 矩形路径左上角的横坐标 */ + x: number, + /** 矩形路径左上角的纵坐标 */ + y: number, + /** 矩形路径的宽度 */ + width: number, + /** 矩形路径的高度 */ + height: number + ): void + /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 给定的 (x, y) 位置绘制文本描边的方法 */ + strokeText( + /** 要绘制的文本 */ + text: string, + /** 文本起始点的 x 轴坐标 */ + x: number, + /** 文本起始点的 y 轴坐标 */ + y: number, + /** 需要绘制的最大宽度,可选 */ + maxWidth?: number + ): void + /** [CanvasContext.transform(number scaleX, number skewX, number skewY, number scaleY, number translateX, number translateY)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.transform.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 使用矩阵多次叠加当前变换的方法 */ + transform( + /** 水平缩放 */ + scaleX: number, + /** 水平倾斜 */ + skewX: number, + /** 垂直倾斜 */ + skewY: number, + /** 垂直缩放 */ + scaleY: number, + /** 水平移动 */ + translateX: number, + /** 垂直移动 */ + translateY: number + ): void + /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) +ctx.translate(20, 20) +ctx.strokeRect(10, 10, 150, 100) + +ctx.draw() +``` +* +* ![](@program/dev/image/canvas/translate.png) */ + translate( + /** 水平坐标平移量 */ + x: number, + /** 竖直坐标平移量 */ + y: number + ): void + /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 + * + * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** + * + * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。 */ + measureText( + /** 要测量的文本 */ + text: string + ): TextMetrics + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createCircularGradient(number x, number y, number r)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createCircularGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createCircularGradient(75, 50, 50) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/circular-gradient.png) */ + createCircularGradient( + /** 圆心的 x 坐标 */ + x: number, + /** 圆心的 y 坐标 */ + y: number, + /** 圆的半径 */ + r: number + ): CanvasGradient + /** [[CanvasGradient](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.html) CanvasContext.createLinearGradient(number x0, number y0, number x1, number y1)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createLinearGradient.html) +* +* 在插件中使用:支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。 +* +* **示例代码** +* +* ```javascript +const ctx = wx.createCanvasContext('myCanvas') + +// Create linear gradient +const grd = ctx.createLinearGradient(0, 0, 200, 0) +grd.addColorStop(0, 'red') +grd.addColorStop(1, 'white') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/linear-gradient.png) */ + createLinearGradient( + /** 起点的 x 坐标 */ + x0: number, + /** 起点的 y 坐标 */ + y0: number, + /** 终点的 x 坐标 */ + x1: number, + /** 终点的 y 坐标 */ + y1: number + ): CanvasGradient + } + interface CanvasGradient { + /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) 替换 +* +* @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致** +* +* 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染 +* +* **示例代码** +* +* ```js +const ctx = wx.createCanvasContext('myCanvas') + +// Create circular gradient +const grd = ctx.createLinearGradient(30, 10, 120, 10) +grd.addColorStop(0, 'red') +grd.addColorStop(0.16, 'orange') +grd.addColorStop(0.33, 'yellow') +grd.addColorStop(0.5, 'green') +grd.addColorStop(0.66, 'cyan') +grd.addColorStop(0.83, 'blue') +grd.addColorStop(1, 'purple') + +// Fill with gradient +ctx.setFillStyle(grd) +ctx.fillRect(10, 10, 150, 80) +ctx.draw() +``` +* ![](@program/dev/image/canvas/color-stop.png) */ + addColorStop( + /** 表示渐变中开始与结束之间的位置,范围 0-1。 */ + stop: number, + /** 渐变点的颜色。 */ + color: string + ): void + } + interface CloseSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | */ errCode: number + } + interface Console { + /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 error 日志 */ + error( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) + * + * 在插件中使用:不支持 + * + * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + group( + /** 分组标记,可选。 */ + label?: string + ): void + /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html) + * + * 在插件中使用:不支持 + * + * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组 + * + * **注意** + * + * 仅在工具中有效,在 vConsole 中为空函数实现。 */ + groupEnd(): void + /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 info 日志 */ + info( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 log 日志 */ + log( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html) + * + * 在插件中使用:不支持 + * + * 向调试面板中打印 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。 */ + ...args: any[] + ): void + } + interface DownloadTask { + /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断下载任务 */ + abort(): void + /** [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onHeadersReceived(listener) +DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除下载进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +DownloadTask.onProgressUpdate(listener) +DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: DownloadTaskOffProgressUpdateCallback + ): void + /** [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听下载进度变化事件 */ + onProgressUpdate( + /** 下载进度变化事件的监听函数 */ + listener: DownloadTaskOnProgressUpdateCallback + ): void + } + interface EditorContext { + /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 编辑器失焦,同时收起键盘。 */ + blur(option?: BlurOption): void + /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清空编辑器内容 */ + clear(option?: ClearOption): void + /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 修改样式 + * + * **** + * + * ## 支持设置的样式列表 + * | name | value | verson | + * | --------------------------------------------------------- | ------------------------------- | ------ | + * | bold | | 2.7.0 | + * | italic | | 2.7.0 | + * | underline | | 2.7.0 | + * | strike | | 2.7.0 | + * | ins | | 2.7.0 | + * | script | sub / super | 2.7.0 | + * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 | + * | align | left / center / right / justify | 2.7.0 | + * | direction | rtl | 2.7.0 | + * | indent | -1 / +1 | 2.7.0 | + * | list | ordered / bullet / check | 2.7.0 | + * | color | hex color | 2.7.0 | + * | backgroundColor | hex color | 2.7.0 | + * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 | + * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 | + * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 | + * | lineHeight | css style | 2.7.0 | + * | letterSpacing | css style | 2.7.0 | + * | textDecoration | css style | 2.7.0 | + * | textIndent | css style | 2.8.0 | + * | wordWrap | css style | 2.10.2 | + * | wordBreak | css style | 2.10.2 | + * | whiteSpace | css style | 2.10.2 | + * + * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。 */ + format( + /** 属性 */ + name: string, + /** 值 */ + value?: string + ): void + /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 获取编辑器内容 */ + getContents(option?: GetContentsOption): void + /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html) + * + * 需要基础库: `2.10.2` + * + * 在插件中使用:支持 + * + * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。 */ + getSelectionText(option?: GetSelectionTextOption): void + /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 插入分割线 */ + insertDivider(option?: InsertDividerOption): void + /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 插入图片。 +* +* 地址为临时文件时,获取的编辑器html格式内容中 <img> 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。 +* +* 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 <img> 的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。 +* +* **示例代码** +* +* ```javascript +this.editorCtx.insertImage({ + src: 'xx', + width: '100px', + height: '50px', + extClass: className +}) +``` */ + insertImage(option: InsertImageOption): void + /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 覆盖当前选区,设置一段文本 */ + insertText(option: InsertTextOption): void + /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 恢复 */ + redo(option?: RedoOption): void + /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 清除当前选区的样式 */ + removeFormat(option?: RemoveFormatOption): void + /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:支持 + * + * 使得编辑器光标处滚动到窗口可视区域内。 */ + scrollIntoView(): void + /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 初始化编辑器内容,html和delta同时存在时仅delta生效 */ + setContents(option: SetContentsOption): void + /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 撤销 */ + undo(option?: UndoOption): void + } + interface EntryList { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前列表中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + name: string, + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前列表中所有类型为 [entryType] 的性能数据 */ + getEntriesByType(entryType: string): PerformanceEntry[] + } + interface EventChannel { + /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 触发一个事件 */ + emit( + /** 事件名称 */ + eventName: string, + /** 事件参数 */ + ...args: any + ): void + /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 持续监听一个事件 */ + on( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:支持 + * + * 监听一个事件一次,触发后失效 */ + once( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: EventCallback + ): void + } + interface FileSystemManager { + /** [Array.<string> FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdirSync( + /** 要读取的目录路径 (本地路径) */ + dirPath: string + ): string[] + /** [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFileSync.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 同步读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +try { + const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + }) + console.log(data) +} catch (err) { + console.log(err) +} +``` */ + readCompressedFileSync( + option: ReadCompressedFileSyncOption + ): ArrayBuffer + /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 判断文件/目录是否存在 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + access(option: AccessOption): void + /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 判断文件/目录是否存在 +fs.access({ + path: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + // 文件存在 + console.log(res) + }, + fail(res) { + // 文件不存在或其他错误 + console.error(res) + } +}) + +// 同步接口 +try { + fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`) +} catch(e) { + console.error(e) +} +``` */ + accessSync( + /** 要判断是否存在的文件/目录路径 (本地路径) */ + path: string + ): void + /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 在文件结尾追加内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFile(option: AppendFileOption): void + /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +fs.appendFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8') +} catch(e) { + console.error(e) +} +``` */ + appendFileSync( + /** 要追加内容的文件路径 (本地路径) */ + filePath: string, + /** 要追加的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.close.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 关闭文件 + fs.close({ + fd: res.fd + }) + } +}) +``` */ + close(option: FileSystemManagerCloseOption): void + /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 复制文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFile(option: CopyFileOption): void + /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.copyFile({ + srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt` + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.copyFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_copy.txt` + ) +} catch(e) { + console.error(e) +} +``` */ + copyFileSync( + /** 源文件路径,支持本地路径 */ + srcPath: string, + /** 目标文件路径,支持本地路径 */ + destPath: string + ): void + /** [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstat.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 获取文件的状态信息 + fs.fstat({ + fd: res.fd, + success(res) { + console.log(res.stats) + } + }) + } +}) +``` */ + fstat(option: FstatOption): void + /** [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 对文件内容进行截断操作 + fs.ftruncate({ + fd: res.fd, + length: 10, // 从第10个字节开始截断文件 + success(res) { + console.log(res) + } + }) + } +}) +``` */ + ftruncate(option: FtruncateOption): void + /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */ + getFileInfo(option: FileSystemManagerGetFileInfoOption): void + /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html) + * + * 在插件中使用:不支持 + * + * 获取该小程序下已保存的本地缓存文件列表 */ + getSavedFileList(option?: FileSystemManagerGetSavedFileListOption): void + /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 创建目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdir(option: MkdirOption): void + /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.mkdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false) +} catch(e) { + console.error(e) +} +``` */ + mkdirSync( + /** 创建的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */ + recursive?: boolean + ): void + /** [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + console.log(res.fd) + } +}) +``` */ + open(option: OpenOption): void + /** [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.read.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 读取文件到 ArrayBuffer 中 + fs.read({ + fd: res.fd, + arrayBuffer: ab, + length: 10, + success(res) { + console.log(res) + } + }) + } +}) +``` */ + read(option: ReadOption): void + /** [FileSystemManager.readCompressedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFile.html) +* +* 需要基础库: `2.21.1` +* +* 在插件中使用:不支持 +* +* 读取指定压缩类型的本地文件内容 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() + +// 异步接口 +fs.readCompressedFile({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', + success(res) { + console.log(res.data) + }, + fail(res) { + console.log('readCompressedFile fail', res) + } +}) + +// 同步接口 +const data = fs.readCompressedFileSync({ + filePath: '${wx.env.USER_DATA_PATH}/hello.br', + compressionAlgorithm: 'br', +}) +console.log(data) +``` */ + readCompressedFile(option: ReadCompressedFileOption): void + /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取本地文件内容。单个文件大小上限为100M。 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFile(option: ReadFileOption): void + /** [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readZipEntry.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取压缩包内的文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 读取zip内某个或多个文件 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: [{ + path: 'some_folder/my_file.txt', // zip内文件路径 + encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte + length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte + }, { + path: 'other_folder/orther_file.txt', // zip内文件路径 + }], + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // data: (ArrayBuffer) + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) + +// 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度 +fs.readZipEntry({ + filePath: 'wxfile://from/to.zip', + entries: 'all' + encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + success(res) { + console.log(res.entries) + // res.entries === { + // 'some_folder/my_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // }, + // 'other_folder/orther_file.txt': { + // errMsg: 'readZipEntry:ok', + // data: 'xxxxxx' + // } + // } + }, + fail(res) { + console.log(res.errMsg) + }, +}) +``` */ + readZipEntry(option: ReadZipEntryOption): void + /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读取目录内文件列表 +* +* **注意事项 +* - readdir接口无法访问文件系统根路径(wxfile://)。 +* 示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + success(res) { + console.log(res.files) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readdir(option: ReaddirOption): void + /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html) + * + * 在插件中使用:不支持 + * + * 删除该小程序下已保存的本地缓存文件 */ + removeSavedFile(option: FileSystemManagerRemoveSavedFileOption): void + /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 重命名文件。可以把文件从 oldPath 移动到 newPath +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rename(option: RenameOption): void + /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rename({ + oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`, + newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.renameSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + `${wx.env.USER_DATA_PATH}/hello_new.txt` + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + renameSync( + /** 源文件路径,支持本地路径 */ + oldPath: string, + /** 新文件路径,支持本地路径 */ + newPath: string + ): void + /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除目录 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdir(option: RmdirOption): void + /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.rmdir({ + dirPath: `${wx.env.USER_DATA_PATH}/example`, + recursive: false, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + rmdirSync( + /** 要删除的目录路径 (本地路径) */ + dirPath: string, + /** 需要基础库: `2.3.0` + * + * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */ + recursive?: boolean + ): void + /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) + * + * 在插件中使用:不支持 + * + * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */ + saveFile(option: FileSystemManagerSaveFileOption): void + /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取文件 Stats 对象 */ + stat(option: StatOption): void + /** [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncate.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncate({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 + success(res) { + console.log(res) + } +}) +``` */ + truncate(option: TruncateOption): void + /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 删除文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlink(option: UnlinkOption): void + /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unlink({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + unlinkSync( + /** 要删除的文件路径 (本地路径) */ + filePath: string + ): void + /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 解压文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.unzip({ + zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`, + targetPath: '${wx.env.USER_DATA_PATH}/example', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + unzip(option: UnzipOption): void + /** [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.write.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +// 打开文件 +fs.open({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+', + success(res) { + // 写入文件 + fs.write({ + fd: res.fd, + data: 'some text', + success(res) { + console.log(res.bytesWritten) + } + }) + } +}) +``` */ + write(option: WriteOption): void + /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 写文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFile(option: WriteFileOption): void + /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.writeFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + data: 'some text or arrayBuffer', + encoding: 'utf8', + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.writeFileSync( + `${wx.env.USER_DATA_PATH}/hello.txt`, + 'some text or arrayBuffer', + 'utf8' + ) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + writeFileSync( + /** 要写入的文件路径 (本地路径) */ + filePath: string, + /** 要写入的文本或二进制数据 */ + data: string | ArrayBuffer, + /** 指定写入文件的字符编码 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1' + ): void + /** [[ReadResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/ReadResult.html) FileSystemManager.readSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 读文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const ab = new ArrayBuffer(1024) +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.readSync({ + fd: fd, + arrayBuffer: ab, + length: 10 +}) +console.log(res) +``` */ + readSync(option: ReadSyncOption): ReadResult + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html) FileSystemManager.fstatSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstatSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步获取文件的状态信息 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const stats = fs.fstatSync({fd: fd}) +console.log(stats) +``` */ + fstatSync(option: FstatSyncOption): Stats + /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.<[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)> FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */ + statSync( + /** 文件/目录路径 (本地路径) */ + path: string, + /** 需要基础库: `2.3.0` + * + * 是否递归获取目录下的每个文件的 Stats 信息 */ + recursive?: boolean + ): Stats | Stats[] + /** [[WriteResult](https://developers.weixin.qq.com/miniprogram/dev/api/file/WriteResult.html) FileSystemManager.writeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步写入文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +const res = fs.writeSync({ + fd: fd, + data: 'some text' +}) +console.log(res.bytesWritten) +``` */ + writeSync(option: WriteSyncOption): WriteResult + /** [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步打开文件,返回文件描述符 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +console.log(fd) +``` */ + openSync(option: OpenSyncOption): string + /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html) + * + * 在插件中使用:不支持 + * + * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */ + saveFileSync( + /** 临时存储文件路径 (本地路径) */ + tempFilePath: string, + /** 要存储的文件路径 (本地路径) */ + filePath?: string + ): string + /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html) +* +* 在插件中使用:需要基础库 `2.19.2` +* +* [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.readFile({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + encoding: 'utf8', + position: 0, + success(res) { + console.log(res.data) + }, + fail(res) { + console.error(res) + } +}) + +// 同步接口 +try { + const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0) + console.log(res) +} catch(e) { + console.error(e) +} +``` */ + readFileSync( + /** 要读取的文件的路径 (本地路径) */ + filePath: string, + /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容 + * + * 参数 encoding 可选值: + * - 'ascii': ; + * - 'base64': ; + * - 'binary': ; + * - 'hex': ; + * - 'ucs2': 以小端序读取; + * - 'ucs-2': 以小端序读取; + * - 'utf16le': 以小端序读取; + * - 'utf-16le': 以小端序读取; + * - 'utf-8': ; + * - 'utf8': ; + * - 'latin1': ; */ + encoding?: + | 'ascii' + | 'base64' + | 'binary' + | 'hex' + | 'ucs2' + | 'ucs-2' + | 'utf16le' + | 'utf-16le' + | 'utf-8' + | 'utf8' + | 'latin1', + /** 需要基础库: `2.10.0` + * + * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */ + position?: number, + /** 需要基础库: `2.10.0` + * + * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */ + length?: number + ): string | ArrayBuffer + /** [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.closeSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 同步关闭文件 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) + +// 关闭文件 +fs.closeSync({fd: fd}) +``` */ + closeSync(option: CloseSyncOption): undefined + /** [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +const fd = fs.openSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + flag: 'a+' +}) +fs.ftruncateSync({ + fd: fd, + length: 10 // 从第10个字节开始截断文件 +}) +``` */ + ftruncateSync(option: FtruncateSyncOption): undefined + /** [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncateSync.html) +* +* 需要基础库: `2.16.1` +* +* 在插件中使用:需要基础库 `2.19.2` +* +* 对文件内容进行截断操作 (truncate 的同步版本) +* +* **示例代码** +* +* ```js +const fs = wx.getFileSystemManager() +fs.truncateSync({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + length: 10, // 从第10个字节开始截断 +}) +``` */ + truncateSync(option: TruncateSyncOption): undefined + } + interface FstatSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | */ errCode: number + } + interface FtruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface InnerAudioContext { + /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁当前实例 */ + destroy(): void + /** [InnerAudioContext.offCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进入可以播放状态的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onCanplay(listener) +InnerAudioContext.offCanplay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCanplay( + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCanplayCallback + ): void + /** [InnerAudioContext.offEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频自然播放至结束的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onEnded(listener) +InnerAudioContext.offEnded(listener) // 需传入与监听时同一个的函数对象 +``` */ + offEnded( + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffEndedCallback + ): void + /** [InnerAudioContext.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onError(listener) +InnerAudioContext.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InnerAudioContextOffErrorCallback + ): void + /** [InnerAudioContext.offPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频暂停事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPause(listener) +InnerAudioContext.offPause(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPause( + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPauseCallback + ): void + /** [InnerAudioContext.offPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onPlay(listener) +InnerAudioContext.offPlay(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPlay( + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPlayCallback + ): void + /** [InnerAudioContext.offSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频完成跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeked(listener) +InnerAudioContext.offSeeked(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeked( + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekedCallback + ): void + /** [InnerAudioContext.offSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频进行跳转操作的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onSeeking(listener) +InnerAudioContext.offSeeking(listener) // 需传入与监听时同一个的函数对象 +``` */ + offSeeking( + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffSeekingCallback + ): void + /** [InnerAudioContext.offStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频停止事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onStop(listener) +InnerAudioContext.offStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offStop( + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffStopCallback + ): void + /** [InnerAudioContext.offTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频播放进度更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onTimeUpdate(listener) +InnerAudioContext.offTimeUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offTimeUpdate( + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffTimeUpdateCallback + ): void + /** [InnerAudioContext.offWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:支持 +* +* 移除音频加载中事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InnerAudioContext.onWaiting(listener) +InnerAudioContext.offWaiting(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWaiting( + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWaitingCallback + ): void + /** [InnerAudioContext.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html) + * + * 在插件中使用:支持 + * + * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */ + onCanplay( + /** 音频进入可以播放状态的事件的监听函数 */ + listener: OnCanplayCallback + ): void + /** [InnerAudioContext.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html) + * + * 在插件中使用:支持 + * + * 监听音频自然播放至结束的事件 */ + onEnded( + /** 音频自然播放至结束的事件的监听函数 */ + listener: OnEndedCallback + ): void + /** [InnerAudioContext.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html) + * + * 在插件中使用:支持 + * + * 监听音频播放错误事件 + * + * **Tips** + * + * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length + * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */ + onError( + /** 音频播放错误事件的监听函数 */ + listener: InnerAudioContextOnErrorCallback + ): void + /** [InnerAudioContext.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html) + * + * 在插件中使用:支持 + * + * 监听音频暂停事件 */ + onPause( + /** 音频暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [InnerAudioContext.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html) + * + * 在插件中使用:支持 + * + * 监听音频播放事件 */ + onPlay( + /** 音频播放事件的监听函数 */ + listener: OnPlayCallback + ): void + /** [InnerAudioContext.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html) + * + * 在插件中使用:支持 + * + * 监听音频完成跳转操作的事件 */ + onSeeked( + /** 音频完成跳转操作的事件的监听函数 */ + listener: OnSeekedCallback + ): void + /** [InnerAudioContext.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html) + * + * 在插件中使用:支持 + * + * 监听音频进行跳转操作的事件 */ + onSeeking( + /** 音频进行跳转操作的事件的监听函数 */ + listener: OnSeekingCallback + ): void + /** [InnerAudioContext.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html) + * + * 在插件中使用:支持 + * + * 监听音频停止事件 */ + onStop( + /** 音频停止事件的监听函数 */ + listener: InnerAudioContextOnStopCallback + ): void + /** [InnerAudioContext.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html) + * + * 在插件中使用:支持 + * + * 监听音频播放进度更新事件 */ + onTimeUpdate( + /** 音频播放进度更新事件的监听函数 */ + listener: OnTimeUpdateCallback + ): void + /** [InnerAudioContext.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html) + * + * 在插件中使用:支持 + * + * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */ + onWaiting( + /** 音频加载中事件的监听函数 */ + listener: OnWaitingCallback + ): void + /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停。暂停后的音频再播放会从暂停处开始播放 */ + pause(): void + /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(): void + /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */ + position: number + ): void + /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止。停止后的音频再播放会从头开始播放。 */ + stop(): void + } + interface IntersectionObserver { + /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html) + * + * 在插件中使用:支持 + * + * 指定目标节点并开始监听相交状态变化情况 */ + observe( + /** 选择器 */ + targetSelector: string, + /** 监听相交状态变化的回调函数 */ + callback: IntersectionObserverObserveCallback + ): void + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeTo(string selector, Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeTo.html) + * + * 在插件中使用:支持 + * + * 使用选择器指定一个节点,作为参照区域之一。 */ + relativeTo( + /** 选择器 */ + selector: string, + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) IntersectionObserver.relativeToViewport(Object margins)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.relativeToViewport.html) +* +* 在插件中使用:支持 +* +* 指定页面显示区域作为参照区域之一 +* +* **示例代码** +* +* 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。 +* ```javascript +Page({ + onLoad: function(){ + wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => { + res.intersectionRatio // 相交区域占目标节点的布局区域的比例 + res.intersectionRect // 相交区域 + res.intersectionRect.left // 相交区域的左边界坐标 + res.intersectionRect.top // 相交区域的上边界坐标 + res.intersectionRect.width // 相交区域的宽度 + res.intersectionRect.height // 相交区域的高度 + }) + } +}) +``` */ + relativeToViewport( + /** 用来扩展(或收缩)参照节点布局区域的边界 */ + margins?: Margins + ): IntersectionObserver + } + interface InterstitialAd { + /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁插屏广告实例。 */ + destroy(): void + /** [InterstitialAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onClose(listener) +InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除插屏错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onError(listener) +InterstitialAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: InterstitialAdOffErrorCallback + ): void + /** [InterstitialAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除插屏广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +InterstitialAd.onLoad(listener) +InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [InterstitialAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告关闭事件。 */ + onClose( + /** 插屏广告关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听插屏错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 插屏错误事件的监听函数 */ + listener: InterstitialAdOnErrorCallback + ): void + /** [InterstitialAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听插屏广告加载事件。 */ + onLoad( + /** 插屏广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 加载插屏广告。 */ + load(): Promise<any> + /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示插屏广告。 + * + * **错误码信息表** + * + * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。 + * + * | 代码 | 异常情况 | 理由 | + * | ------ | -------------- | -------------------------- | + * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 | + * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 | + * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 | + * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 | + * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */ + show(): Promise<any> + } + interface IsoDep { + /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取复位信息 */ + getHistoricalBytes(option?: GetHistoricalBytesOption): void + /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Join1v1ChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -20000 | not open 1v1 Chat | 未开通双人通话 | + * | -20001 | device not support | 当前设备不支持 | + * | -20002 | on call | 正在通话中 | + * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 | + * | -30000 | system error | 内部系统错误 | + * | -30001 | wechat has no camera authorization | 微信缺失相机权限 | + * | -30002 | wechat has no record authorization | 微信缺失录音权限 | + * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 | + * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 | + * | -1 | | 当前已在房间内 | + * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | + * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | + * | -1000 | | 系统错误 | */ errCode: number + } + interface JoinVoIPChatError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | -1 | 当前已在房间内 | | + * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | | + * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | | + * | -1000 | 系统错误 | | */ errCode: number + } + interface LivePlayerContext { + /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html) + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(option?: ExitFullScreenOption): void + /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html) + * + * 在插件中使用:支持 + * + * 静音 */ + mute(option?: MuteOption): void + /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 暂停 */ + pause(option?: PauseOption): void + /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html) + * + * 在插件中使用:支持 + * + * 播放 */ + play(option?: PlayOption): void + /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html) + * + * 在插件中使用:支持 + * + * 进入全屏 */ + requestFullScreen( + option: LivePlayerContextRequestFullScreenOption + ): void + /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:支持 + * + * 进入小窗 */ + requestPictureInPicture(option?: RequestPictureInPictureOption): void + /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 恢复 */ + resume(option?: ResumeOption): void + /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:支持 + * + * 截图 */ + snapshot(option: LivePlayerContextSnapshotOption): void + /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止 */ + stop(option?: StopOption): void + } + interface LivePusherContext { + /** [LivePusherContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.exitPictureInPicture.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停推流 */ + pause(option?: PauseOption): void + /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 暂停背景音 */ + pauseBGM(option?: PauseBGMOption): void + /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 播放背景音 */ + playBGM(option: PlayBGMOption): void + /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html) + * + * 在插件中使用:支持 + * + * 恢复推流 */ + resume(option?: ResumeOption): void + /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 恢复背景音 */ + resumeBGM(option?: ResumeBGMOption): void + /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 发送SEI消息 */ + sendMessage(option: SendMessageOption): void + /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 设置背景音音量 */ + setBGMVolume(option: SetBGMVolumeOption): void + /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置麦克风音量 */ + setMICVolume(option: SetMICVolumeOption): void + /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:支持 + * + * 快照 */ + snapshot(option: LivePusherContextSnapshotOption): void + /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html) + * + * 在插件中使用:支持 + * + * 开始推流,同时开启摄像头预览 */ + start(option?: LivePusherContextStartOption): void + /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 开启摄像头预览 */ + startPreview(option?: StartPreviewOption): void + /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html) + * + * 在插件中使用:支持 + * + * 停止推流,同时停止摄像头预览 */ + stop(option?: StopOption): void + /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:支持 + * + * 停止背景音 */ + stopBGM(option?: StopBGMOption): void + /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:支持 + * + * 关闭摄像头预览 */ + stopPreview(option?: StopPreviewOption): void + /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html) + * + * 在插件中使用:支持 + * + * 切换前后摄像头 */ + switchCamera(option?: SwitchCameraOption): void + /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 切换手电筒 */ + toggleTorch(option?: ToggleTorchOption): void + } + interface LogManager { + /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html) + * + * 在插件中使用:不支持 + * + * 写 debug 日志 */ + debug( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html) + * + * 在插件中使用:不支持 + * + * 写 info 日志 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html) + * + * 在插件中使用:不支持 + * + * 写 log 日志 */ + log( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html) + * + * 在插件中使用:不支持 + * + * 写 warn 日志 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */ + ...args: any[] + ): void + } + interface MapContext { + /** [MapContext.addArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 添加弧线,途经点与夹角必须设置一个。途经点必须在起终点有效坐标范围内,否则不能生成正确的弧线,同时设置夹角角度时,以夹角角度为准。夹角定义为起点到终点,与起点外切线逆时针旋转的角度。工具侧暂未支持。 */ + addArc(option: AddArcOption): void + /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 添加个性化图层。图层创建[参考文档](https://lbs.qq.com/dev/console/customLayer/create) */ + addCustomLayer(option: AddCustomLayerOption): void + /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 创建自定义图片图层,图片会随着地图缩放而缩放。 */ + addGroundOverlay(option: AddGroundOverlayOption): void + /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 添加 marker。 */ + addMarkers(option: AddMarkersOption): void + /** [MapContext.addVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 添加可视化图层。需要刷新时,interval 可设置的最小值为 15 s。 */ + addVisualLayer(option: AddVisualLayerOption): void + /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。 */ + fromScreenLocation(option: FromScreenLocationOption): void + /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html) + * + * 在插件中使用:支持 + * + * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */ + getCenterLocation(option: GetCenterLocationOption): void + /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的视野范围 */ + getRegion(option?: GetRegionOption): void + /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的旋转角 */ + getRotate(option?: GetRotateOption): void + /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的缩放级别 */ + getScale(option?: GetScaleOption): void + /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:支持 + * + * 获取当前地图的倾斜角 */ + getSkew(option?: GetSkewOption): void + /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 缩放视野展示所有经纬度 */ + includePoints(option: IncludePointsOption): void + /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 初始化点聚合的配置,未调用时采用默认配置。 */ + initMarkerCluster(option: InitMarkerClusterOption): void + /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。 */ + moveAlong(option: MoveAlongOption): void + /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。 */ + moveToLocation(option?: MoveToLocationOption): void + /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 监听地图事件。 +* +* ### markerClusterCreate +* +* 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------ | --------- | +* | clusters | `Array<ClusterInfo>` | 聚合簇数据 | +* +* ### markerClusterClick +* +* 聚合簇的点击事件。 +* +* #### 返回参数 +* +* | 参数 | 类型 | 说明 | +* | --------- | ------------- | --------- | +* | cluster | ClusterInfo | 聚合簇 | +* +* #### ClusterInfo 结构 +* +* | 参数 | 类型 | 说明 | +* | ---------- | -------------------- | -------------------------- | +* | clusterId | Number | 聚合簇的 id | +* | center | LatLng | 聚合簇的坐标 | +* | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 | +* +* **示例代码** +* +* ```js + MapContext.on('markerClusterCreate', (res) => {}) + MapContext.on('markerClusterClick', (res) => {}) +``` */ + on( + /** 事件名 + * + * 参数 event 可选值: + * - 'markerClusterCreate': ; + * - 'markerClusterClick': ; */ + event: 'markerClusterCreate' | 'markerClusterClick', + /** 事件的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 拉起地图APP选择导航。 */ + openMapApp(option: OpenMapAppOption): void + /** [MapContext.removeArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeArc.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 删除弧线。工具侧暂未支持。 */ + removeArc(option: RemoveArcOption): void + /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:支持 + * + * 移除个性化图层。 */ + removeCustomLayer(option: RemoveCustomLayerOption): void + /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 移除自定义图片图层。 */ + removeGroundOverlay(option: RemoveGroundOverlayOption): void + /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:支持 + * + * 移除 marker。 */ + removeMarkers(option: RemoveMarkersOption): void + /** [MapContext.removeVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeVisualLayer.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 移除可视化图层。 */ + removeVisualLayer(option: RemoveVisualLayerOption): void + /** [MapContext.setBoundary(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setBoundary.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:支持 + * + * 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */ + setBoundary(option: SetBoundaryOption): void + /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:支持 + * + * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5] */ + setCenterOffset(option: SetCenterOffsetOption): void + /** [MapContext.setLocMarkerIcon(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setLocMarkerIcon.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:支持 + * + * 设置定位点图标,支持网络路径、本地路径、代码包路径 */ + setLocMarkerIcon(option: SetLocMarkerIconOption): void + /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。 */ + toScreenLocation(option: ToScreenLocationOption): void + /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:支持 + * + * 平移marker,带动画。 */ + translateMarker(option: TranslateMarkerOption): void + /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:支持 + * + * 更新自定义图片图层。 */ + updateGroundOverlay(option: UpdateGroundOverlayOption): void + } + interface MediaAudioPlayer { + /** [Promise MediaAudioPlayer.addAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.addAudioSource.html) + * + * 在插件中使用:支持 + * + * 添加音频源 */ + addAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例。作为音频源添加到音频播放器中 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html) + * + * 在插件中使用:支持 + * + * 销毁播放器 */ + destroy(): Promise<any> + /** [Promise MediaAudioPlayer.removeAudioSource([VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) source)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.removeAudioSource.html) + * + * 在插件中使用:支持 + * + * 移除音频源 */ + removeAudioSource( + /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) + * + * 视频解码器实例 */ + source: VideoDecoder + ): Promise<any> + /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html) + * + * 在插件中使用:支持 + * + * 启动播放器 */ + start(): Promise<any> + /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html) + * + * 在插件中使用:支持 + * + * 停止播放器 */ + stop(): Promise<any> + } + interface MediaContainer { + /** [MediaContainer.addTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.addTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道添加到容器 */ + addTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要添加的音频或视频轨道 */ + track: MediaTrack + ): void + /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器销毁,释放资源 */ + destroy(): void + /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将容器内的轨道合并并导出视频文件 */ + export(): void + /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。 */ + extractDataSource(option: ExtractDataSourceOption): void + /** [MediaContainer.removeTrack([MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) track)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.removeTrack.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:支持 + * + * 将音频或视频轨道从容器中移除 */ + removeTrack( + /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) + * + * 要移除的音频或视频轨道 */ + track: MediaTrack + ): void + } + interface MediaQueryObserver { + /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html) + * + * 在插件中使用:支持 + * + * 停止监听。回调函数将不再触发 */ + disconnect(): void + /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html) + * + * 在插件中使用:支持 + * + * 开始监听页面 media query 变化情况 */ + observe( + /** media query 描述符 */ + descriptor: ObserveDescriptor, + /** 监听 media query 状态变化的回调函数 */ + callback: MediaQueryObserverObserveCallback + ): void + } + interface MediaRecorder { + /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 录制开始事件。; + * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize}; + * - 'pause': 录制暂停事件。; + * - 'resume': 录制继续事件。; + * - 'timeupdate': 录制时间更新事件。; */ + eventName: 'start' | 'stop' | 'pause' | 'resume' | 'timeupdate', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [Promise MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 销毁录制器 */ + destroy(): Promise<any> + /** [Promise MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 暂停录制 */ + pause(): Promise<any> + /** [Promise MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧 */ + requestFrame(callback: (...args: any[]) => any): Promise<any> + /** [Promise MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 恢复录制 */ + resume(): Promise<any> + /** [Promise MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始录制 */ + start(): Promise<any> + /** [Promise MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 结束录制 */ + stop(): Promise<any> + } + interface MifareClassic { + /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface MifareUltralight { + /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NFCAdapter { + /** [NFCAdapter.offDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html) +* +* 需要基础库: `2.11.2` +* +* 在插件中使用:支持 +* +* 移除 NFC Tag的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +NFCAdapter.onDiscovered(listener) +NFCAdapter.offDiscovered(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDiscovered( + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDiscoveredCallback + ): void + /** [NFCAdapter.onDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 NFC Tag */ + onDiscovered( + /** 的监听函数 */ + listener: OnDiscoveredCallback + ): void + /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + startDiscovery(option?: StartDiscoveryOption): void + /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 */ + stopDiscovery(option?: StopDiscoveryOption): void + /** [[IsoDep](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.html) NFCAdapter.getIsoDep()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getIsoDep.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */ + getIsoDep(): IsoDep + /** [[MifareClassic](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.html) NFCAdapter.getMifareClassic()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareClassic.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */ + getMifareClassic(): MifareClassic + /** [[MifareUltralight](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.html) NFCAdapter.getMifareUltralight()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getMifareUltralight.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */ + getMifareUltralight(): MifareUltralight + /** [[Ndef](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.html) NFCAdapter.getNdef()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNdef.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */ + getNdef(): Ndef + /** [[NfcA](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.html) NFCAdapter.getNfcA()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcA.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */ + getNfcA(): NfcA + /** [[NfcB](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.html) NFCAdapter.getNfcB()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcB.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */ + getNfcB(): NfcB + /** [[NfcF](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.html) NFCAdapter.getNfcF()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcF.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */ + getNfcF(): NfcF + /** [[NfcV](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.html) NFCAdapter.getNfcV()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.getNfcV.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */ + getNfcV(): NfcV + } + interface NFCError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 13000 | | 当前设备不支持NFC | + * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 | + * | 13002 | | 当前设备支持NFC,但不支持HCE | + * | 13003 | | AID列表参数格式错误 | + * | 13004 | | 未设置微信为默认NFC支付应用 | + * | 13005 | | 返回的指令不合法 | + * | 13006 | | 注册AID失败 | */ errCode: number + } + interface Ndef { + /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 取消监听 Ndef 消息 */ + offNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 监听 Ndef 消息 */ + onNdefMessage(callback: (...args: any[]) => any): void + /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 重写 Ndef 标签内容 */ + writeNdefMessage(option: WriteNdefMessageOption): void + } + interface NfcA { + /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取ATQA信息 */ + getAtqa(option?: GetAtqaOption): void + /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取SAK信息 */ + getSak(option?: GetSakOption): void + /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcB { + /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcF { + /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface NfcV { + /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 断开连接 */ + close(option?: NdefCloseOption): void + /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 连接 NFC 标签 */ + connect(option?: NdefConnectOption): void + /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 获取最大传输长度 */ + getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void + /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 检查是否已连接 */ + isConnected(option?: IsConnectedOption): void + /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 设置超时时间 */ + setTimeout(option: SetTimeoutOption): void + /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:支持 + * + * 发送数据 */ + transceive(option: TransceiveOption): void + } + interface Nfcrwerror { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 13000 | 设备不支持NFC | | + * | 13001 | 系统NFC开关未打开 | | + * | 13010 | 未知错误 | | + * | 13019 | user is not authorized | 用户未授权 | + * | 13011 | invalid parameter | 参数无效 | + * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 | + * | 13021 | NFC discovery already started | 已经开始NFC扫描 | + * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 | + * | 13022 | Tech already connected | 标签已经连接 | + * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 | + * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 | + * | 13014 | invalid tech | 无效的标签技术 | + * | 13015 | unavailable tech | 从标签上获取对应技术失败 | + * | 13024 | function not support | 当前标签技术不支持该功能 | + * | 13017 | system internal error | 相关读写操作失败 | + * | 13016 | connect fail | 连接失败 | */ errCode: number + } + interface NodesRef { + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.boundingClientRect(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.boundingClientRect.html) +* +* 在插件中使用:支持 +* +* 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getRect () { + wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }).exec() + }, + getAllRects () { + wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){ + rects.forEach(function(rect){ + rect.id // 节点的ID + rect.dataset // 节点的dataset + rect.left // 节点的左边界坐标 + rect.right // 节点的右边界坐标 + rect.top // 节点的上边界坐标 + rect.bottom // 节点的下边界坐标 + rect.width // 节点的宽度 + rect.height // 节点的高度 + }) + }).exec() + } +}) +``` */ + boundingClientRect( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: BoundingClientRectCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.context(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.context.html) +* +* 需要基础库: `2.4.2` +* +* 在插件中使用:支持 +* +* 添加节点的 Context 对象查询请求。目前支持 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html)、[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html)、[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html)、[EditorContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.html)和 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getContext () { + wx.createSelectorQuery().select('.the-video-class').context(function(res){ + console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象 + }).exec() + } +}) +``` */ + context( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: ContextCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.fields(Object fields, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.fields.html) +* +* 在插件中使用:支持 +* +* 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 `nodesRef` 对应的 `selectorQuery` +* +* **注意** +* +* computedStyle 的优先级高于 size,当同时在 computedStyle 里指定了 width/height 和传入了 size: true,则优先返回 computedStyle 获取到的 width/height。 +* +* **示例代码** +* +* ```js +Page({ + getFields () { + wx.createSelectorQuery().select('#the-id').fields({ + dataset: true, + size: true, + scrollOffset: true, + properties: ['scrollX', 'scrollY'], + computedStyle: ['margin', 'backgroundColor'], + context: true, + }, function (res) { + res.dataset // 节点的dataset + res.width // 节点的宽度 + res.height // 节点的高度 + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + res.scrollX // 节点 scroll-x 属性的当前值 + res.scrollY // 节点 scroll-y 属性的当前值 + // 此处返回指定要返回的样式名 + res.margin + res.backgroundColor + res.context // 节点对应的 Context 对象 + }).exec() + } +}) +``` */ + fields( + fields: Fields, + /** 回调函数 */ + callback?: FieldsCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.node(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.node.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:支持 +* +* 获取 Node 节点实例。目前支持 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 和 [ScrollViewContext](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.html) 的获取。 +* +* **示例代码** +* +* ```js +Page({ + getNode() { + wx.createSelectorQuery().select('.canvas').node(function(res){ + console.log(res.node) // 节点对应的 Canvas 实例。 + }).exec() + } +}) +``` */ + node( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + callback?: NodeCallback + ): SelectorQuery + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.scrollOffset(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.scrollOffset.html) +* +* 在插件中使用:支持 +* +* 添加节点的滚动位置查询请求。以像素为单位。节点必须是 `scroll-view` 或者 `viewport`,返回 `NodesRef` 对应的 `SelectorQuery`。 +* +* **示例代码** +* +* ```js +Page({ + getScrollOffset () { + wx.createSelectorQuery().selectViewport().scrollOffset(function(res){ + res.id // 节点的ID + res.dataset // 节点的dataset + res.scrollLeft // 节点的水平滚动位置 + res.scrollTop // 节点的竖直滚动位置 + }).exec() + } +}) +``` */ + scrollOffset( + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + callback?: ScrollOffsetCallback + ): SelectorQuery + } + interface OffscreenCanvas { + /** [[Image](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Image.html) OffscreenCanvas.createImage()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.createImage.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 + * + * **** + * + * 注意不允许混用 webgl 和 2d 画布创建的图片对象,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 */ + createImage(): Image + /** [[RenderingContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/RenderingContext.html) OffscreenCanvas.getContext(string contextType)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.getContext.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 该方法返回 OffscreenCanvas 的绘图上下文 + * + * **** + * + * 注意不允许混用 webgl 和 2d 绘图上下文,传入的 contextType 必须要与 `wx.createOffscreenCanvas` 传入的 type 类型一致。 */ + getContext( + /** 绘图上下文类型,需要与 createOffscreenCanvas 时传入的 type 一致 + * + * 参数 contextType 可选值: + * - 'webgl': webgl类型上下文; + * - '2d': 2d类型上下文; */ + contextType: 'webgl' | '2d' + ): any + } + interface OpenSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory "${filePath}" | 上级目录不存在 | */ errCode: number + } + interface Performance { + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntries.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 该方法返回当前缓冲区中的所有性能数据 */ + getEntries(): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByName.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据 */ + getEntriesByName( + /** 名称 */ + name: string, + /** 类型 */ + entryType?: string + ): PerformanceEntry[] + /** [Array.<[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)> Performance.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByType.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 获取当前缓冲区中所有类型为 [entryType] 的性能数据 */ + getEntriesByType( + /** 类型 */ + entryType: string + ): PerformanceEntry[] + /** [Performance.setBufferSize(number size)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.setBufferSize.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 设置缓冲区大小,默认缓冲 30 条性能数据 */ + setBufferSize(size: number): void + /** [[PerformanceObserver](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.html) Performance.createObserver(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.createObserver.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 创建全局性能事件监听器 */ + createObserver( + /** 回调函数 */ + callback: (...args: any[]) => any + ): PerformanceObserver + } + interface PerformanceObserver { + /** [PerformanceObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.disconnect.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 停止监听 */ + disconnect(): void + /** [PerformanceObserver.observe(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.observe.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 开始监听 */ + observe( + /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */ + options: ObserveOption + ): void + } + interface ReadCompressedFileSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail decompress fail | 指定的 compressionAlgorithm 与文件实际压缩格式不符 | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有读权限 | */ errCode: number + } + interface ReadSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有读权限 | + * | fail the value of "offset" is out of range | 传入的 offset 不合法 | + * | fail the value of "length" is out of range | 传入的 length 不合法 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface RealtimeLogManager { + /** [Object RealtimeLogManager.getCurrentState()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.getCurrentState.html) + * + * 需要基础库: `2.19.4` + * + * 在插件中使用:不支持 + * + * 实时日志会将一定时间间隔内缓存的日志聚合上报,如果该时间内缓存的内容超出限制,则会被丢弃。此方法可以获取当前缓存剩余空间。 + * + * > 注意:基础库内部在对日志进行上报时会补充一些结构化数据,如果遇到上报溢出的情况也会补充警告日志,所以此方法获取到的当前占用信息会比预期的大一些。 */ + getCurrentState(): CurrentState + /** [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html) + * + * 需要基础库: `2.8.1` + * + * 在插件中使用:不支持 + * + * 添加过滤关键字,暂不支持在插件使用 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeLogManager.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.error.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 error 日志,暂不支持在插件使用 */ + error( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.in(Page pageInstance)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.in.html) + * + * 需要基础库: `2.9.1` + * + * 在插件中使用:不支持 + * + * 设置实时日志page参数所在的页面,暂不支持在插件使用 */ + in( + /** page实例 */ + pageInstance: Page.TrivialInstance + ): void + /** [RealtimeLogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.info.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 info 日志,暂不支持在插件使用 */ + info( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html) + * + * 需要基础库: `2.7.3` + * + * 在插件中使用:不支持 + * + * 设置过滤关键字,暂不支持在插件使用 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeLogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.warn.html) + * + * 需要基础库: `2.7.1` + * + * 在插件中使用:不支持 + * + * 写 warn 日志,暂不支持在插件使用 */ + warn( + /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */ + ...args: any[] + ): void + /** [[RealtimeTagLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.html) RealtimeLogManager.tag(string tagName)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.tag.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 获取给定标签的日志管理器实例,目前只支持在插件使用 */ + tag( + /** 标签名 */ + tagName: string + ): RealtimeTagLogManager + } + interface RealtimeTagLogManager { + /** [RealtimeTagLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.addFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 添加过滤关键字 */ + addFilterMsg( + /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */ + msg: string + ): void + /** [RealtimeTagLogManager.error(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.error.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 error 日志 */ + error( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.info(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.info.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 info 日志 */ + info( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + /** [RealtimeTagLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.setFilterMsg.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 设置过滤关键字 */ + setFilterMsg( + /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */ + msg: string + ): void + /** [RealtimeTagLogManager.warn(string key, Object|Array.<any>|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.warn.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 写 warn 日志 */ + warn( + /** 日志的 key */ + key: string, + /** 日志的值,每次调用的参数的总大小不超过5Kb */ + value: IAnyObject | any[] | number | string + ): void + } + interface RecorderManager { + /** [RecorderManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onError.html) + * + * 在插件中使用:支持 + * + * 监听录音错误事件 */ + onError( + /** 录音错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [RecorderManager.onFrameRecorded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onFrameRecorded.html) + * + * 在插件中使用:支持 + * + * 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。 */ + onFrameRecorded( + /** 已录制完指定帧大小的文件事件的监听函数 */ + listener: OnFrameRecordedCallback + ): void + /** [RecorderManager.onInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionBegin.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发 */ + onInterruptionBegin( + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnInterruptionBeginCallback + ): void + /** [RecorderManager.onInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionEnd.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:支持 + * + * 监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。 */ + onInterruptionEnd( + /** 录音中断结束事件的监听函数 */ + listener: OnInterruptionEndCallback + ): void + /** [RecorderManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onPause.html) + * + * 在插件中使用:支持 + * + * 监听录音暂停事件 */ + onPause( + /** 录音暂停事件的监听函数 */ + listener: OnPauseCallback + ): void + /** [RecorderManager.onResume(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onResume.html) + * + * 在插件中使用:支持 + * + * 监听录音继续事件 */ + onResume( + /** 录音继续事件的监听函数 */ + listener: OnResumeCallback + ): void + /** [RecorderManager.onStart(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStart.html) + * + * 在插件中使用:支持 + * + * 监听录音开始事件 */ + onStart( + /** 录音开始事件的监听函数 */ + listener: OnStartCallback + ): void + /** [RecorderManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStop.html) + * + * 在插件中使用:支持 + * + * 监听录音结束事件 */ + onStop( + /** 录音结束事件的监听函数 */ + listener: RecorderManagerOnStopCallback + ): void + /** [RecorderManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.pause.html) + * + * 在插件中使用:支持 + * + * 暂停录音 */ + pause(): void + /** [RecorderManager.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.resume.html) + * + * 在插件中使用:支持 + * + * 继续录音 */ + resume(): void + /** [RecorderManager.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html) + * + * 在插件中使用:支持 + * + * 开始录音 + * + * **采样率与编码码率限制** + * + * 每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。 + * + * | 采样率 | 编码码率 | + * | ------ | -------------- | + * | 8000 | 16000 ~ 48000 | + * | 11025 | 16000 ~ 48000 | + * | 12000 | 24000 ~ 64000 | + * | 16000 | 24000 ~ 96000 | + * | 22050 | 32000 ~ 128000 | + * | 24000 | 32000 ~ 128000 | + * | 32000 | 48000 ~ 192000 | + * | 44100 | 64000 ~ 320000 | + * | 48000 | 64000 ~ 320000 | */ + start(option: RecorderManagerStartOption): void + /** [RecorderManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.stop.html) + * + * 在插件中使用:支持 + * + * 停止录音 */ + stop(): void + } + interface RequestTask { + /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断请求任务 */ + abort(): void + /** [RequestTask.offChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offChunkReceived.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:支持 +* +* 移除 Transfer-Encoding Chunk Received 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onChunkReceived(listener) +RequestTask.offChunkReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offChunkReceived( + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffChunkReceivedCallback + ): void + /** [RequestTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RequestTask.onHeadersReceived(listener) +RequestTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [RequestTask.onChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:支持 + * + * 监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。 */ + onChunkReceived( + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + listener: OnChunkReceivedCallback + ): void + /** [RequestTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + } + interface RewardedVideoAd { + /** [Promise RewardedVideoAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html) + * + * 在插件中使用:不支持 + * + * 加载激励视频广告。 */ + load(): Promise<any> + /** [Promise RewardedVideoAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html) + * + * 在插件中使用:不支持 + * + * 显示激励视频广告。激励视频广告将从屏幕下方推入。 */ + show(): Promise<any> + /** [RewardedVideoAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 销毁激励视频广告实例。 */ + destroy(): void + /** [RewardedVideoAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除用户点击 `关闭广告` 按钮的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onClose(listener) +RewardedVideoAd.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffCloseCallback + ): void + /** [RewardedVideoAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onError(listener) +RewardedVideoAd.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: RewardedVideoAdOffErrorCallback + ): void + /** [RewardedVideoAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html) +* +* 在插件中使用:不支持 +* +* 移除激励视频广告加载事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +RewardedVideoAd.onLoad(listener) +RewardedVideoAd.offLoad(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLoad( + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLoadCallback + ): void + /** [RewardedVideoAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听用户点击 `关闭广告` 按钮的事件。 */ + onClose( + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + listener: RewardedVideoAdOnCloseCallback + ): void + /** [RewardedVideoAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频错误事件。 + * + * **错误码信息与解决方案表** + * + * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。 + * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。 + * + * | 代码 | 异常情况 | 理由 | 解决方案 | + * | ------ | -------------- | --------------- | -------------------------- | + * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 | + * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。| + * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 | + * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。| + * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 | + * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。| + * | 1007 | 广告组件被驳回 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 | + * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */ + onError( + /** 激励视频错误事件的监听函数 */ + listener: RewardedVideoAdOnErrorCallback + ): void + /** [RewardedVideoAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html) + * + * 在插件中使用:不支持 + * + * 监听激励视频广告加载事件。 */ + onLoad( + /** 激励视频广告加载事件的监听函数 */ + listener: OnLoadCallback + ): void + } + interface ScrollViewContext { + /** [ScrollViewContext.scrollIntoView(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollIntoView( + /** 元素选择器 */ + selector: string + ): void + /** [ScrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollTo.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:支持 + * + * 滚动至指定位置 */ + scrollTo(option: ScrollToOption): void + } + interface SelectorQuery { + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.exec(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.exec.html) + * + * 在插件中使用:支持 + * + * 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 */ + exec( + /** 回调函数 */ + callback?: (...args: any[]) => any + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.select(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.select.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + select( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectAll(string selector)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectAll.html) + * + * 在插件中使用:支持 + * + * 在当前页面下选择匹配选择器 selector 的所有节点。 + * + * **selector 语法** + * + * selector类似于 CSS 的选择器,但仅支持下列语法。 + * + * - ID选择器:#the-id + * - class选择器(可以连续指定多个):.a-class.another-class + * - 子元素选择器:.the-parent > .the-child + * - 后代选择器:.the-ancestor .the-descendant + * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant + * - 多选择器的并集:#a-node, .some-other-nodes */ + selectAll( + /** 选择器 */ + selector: string + ): NodesRef + /** [[NodesRef](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.html) SelectorQuery.selectViewport()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.selectViewport.html) + * + * 在插件中使用:支持 + * + * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 */ + selectViewport(): NodesRef + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) SelectorQuery.in(Component component)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.in.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:支持 +* +* 将选择器的选取范围更改为自定义组件 `component` 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。 +* +* **示例代码** +* +* ```js +Component({ + queryMultipleNodes (){ + const query = wx.createSelectorQuery().in(this) + query.select('#the-id').boundingClientRect(function(res){ + res.top // 这个组件内 #the-id 节点的上边界坐标 + }).exec() + } +}) +``` */ + in( + /** 自定义组件实例 */ + component: Component.TrivialInstance | Page.TrivialInstance + ): SelectorQuery + } + interface SocketTask { + /** [SocketTask.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.close.html) + * + * 在插件中使用:支持 + * + * 关闭 WebSocket 连接 */ + close(option: SocketTaskCloseOption): void + /** [SocketTask.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onClose.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接关闭事件 */ + onClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: SocketTaskOnCloseCallback + ): void + /** [SocketTask.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onError.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 错误事件 */ + onError( + /** WebSocket 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [SocketTask.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onMessage.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 接受到服务器的消息事件 */ + onMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: SocketTaskOnMessageCallback + ): void + /** [SocketTask.onOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onOpen.html) + * + * 在插件中使用:支持 + * + * 监听 WebSocket 连接打开事件 */ + onOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnOpenCallback + ): void + /** [SocketTask.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.send.html) + * + * 在插件中使用:支持 + * + * 通过 WebSocket 连接发送数据 */ + send(option: SocketTaskSendOption): void + } + interface Stats { + /** [boolean Stats.isDirectory()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isDirectory.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个目录 */ + isDirectory(): boolean + /** [boolean Stats.isFile()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isFile.html) + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 判断当前文件是否一个普通文件 */ + isFile(): boolean + } + interface TCPSocket { + /** [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.bindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) */ + bindWifi(options: BindWifiOption): void + /** [TCPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.close.html) + * + * 在插件中使用:不支持 + * + * 关闭连接 */ + close(): void + /** [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.connect.html) + * + * 在插件中使用:不支持 + * + * 在给定的套接字上启动连接 */ + connect(options: TCPSocketConnectOption): void + /** [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offBindWifi.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onBindWifi(listener) +TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBindWifi( + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBindWifiCallback + ): void + /** [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offClose.html) +* +* 在插件中使用:不支持 +* +* 移除一旦 socket 完全关闭就发出该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onClose(listener) +TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offConnect.html) +* +* 在插件中使用:不支持 +* +* 移除当一个 socket 连接成功建立的时候触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onConnect(listener) +TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象 +``` */ + offConnect( + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffConnectCallback + ): void + /** [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offError.html) +* +* 在插件中使用:不支持 +* +* 移除当错误发生时触发的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onError(listener) +TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offMessage.html) +* +* 在插件中使用:不支持 +* +* 移除当接收到数据的时触发该事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +TCPSocket.onMessage(listener) +TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: TCPSocketOffMessageCallback + ): void + /** [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onBindWifi.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 */ + onBindWifi( + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + listener: OnBindWifiCallback + ): void + /** [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onClose.html) + * + * 在插件中使用:不支持 + * + * 监听一旦 socket 完全关闭就发出该事件 */ + onClose( + /** 一旦 socket 完全关闭就发出该事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onConnect.html) + * + * 在插件中使用:不支持 + * + * 监听当一个 socket 连接成功建立的时候触发该事件 */ + onConnect( + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + listener: OnConnectCallback + ): void + /** [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onError.html) + * + * 在插件中使用:不支持 + * + * 监听当错误发生时触发 */ + onError( + /** 的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听当接收到数据的时触发该事件 */ + onMessage( + /** 当接收到数据的时触发该事件的监听函数 */ + listener: TCPSocketOnMessageCallback + ): void + /** [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.write.html) + * + * 在插件中使用:不支持 + * + * 在 socket 上发送数据 */ + write( + /** 要发送的数据 */ + data: string | ArrayBuffer + ): void + } + interface TruncateSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | fail no such file or directory, open ${filePath} | 指定的 filePath 所在目录不存在 | + * | fail illegal operation on a directory, open "${filePath}" | 指定的 filePath 是一个已经存在的目录 | + * | fail permission denied, open ${dirPath} | 指定的 filePath 路径没有写权限 | + * | fail the maximum size of the file storage limit is exceeded | 存储空间不足 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface UDPSocket { + /** [UDPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.close.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 */ + close(): void + /** [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.connect.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 */ + connect(option: UDPSocketConnectOption): void + /** [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offClose.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除关闭事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onClose(listener) +UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象 +``` */ + offClose( + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffCloseCallback + ): void + /** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offError.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onError(listener) +UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffErrorCallback + ): void + /** [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offListening.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除开始监听数据包消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onListening(listener) +UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象 +``` */ + offListening( + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffListeningCallback + ): void + /** [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offMessage.html) +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 移除收到消息的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UDPSocket.onMessage(listener) +UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMessage( + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UDPSocketOffMessageCallback + ): void + /** [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onClose.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听关闭事件 */ + onClose( + /** 关闭事件的监听函数 */ + listener: UDPSocketOnCloseCallback + ): void + /** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onError.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听错误事件 */ + onError( + /** 错误事件的监听函数 */ + listener: UDPSocketOnErrorCallback + ): void + /** [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听开始监听数据包消息的事件 */ + onListening( + /** 开始监听数据包消息的事件的监听函数 */ + listener: OnListeningCallback + ): void + /** [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 监听收到消息的事件 */ + onMessage( + /** 收到消息的事件的监听函数 */ + listener: UDPSocketOnMessageCallback + ): void + /** [UDPSocket.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.send.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 */ + send(option: UDPSocketSendOption): void + /** [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.setTTL.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 */ + setTTL( + /** ttl 参数可以是 0 到 255 之间 */ + ttl: number + ): void + /** [UDPSocket.write()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.write.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) */ + write(): void + /** [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.bind.html) + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 */ + bind( + /** 需要基础库: `2.9.0` + * + * 指定要绑定的端口号,不传则返回系统随机分配的可用端口 */ + port?: number + ): number + } + interface UpdateManager { + /** [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.applyUpdate.html) + * + * 在插件中使用:不支持 + * + * 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + applyUpdate(): void + /** [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html) + * + * 在插件中使用:不支持 + * + * 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onCheckForUpdate( + /** 向微信后台请求检查更新结果事件的监听函数 */ + listener: OnCheckForUpdateCallback + ): void + /** [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateFailed.html) + * + * 在插件中使用:不支持 + * + * 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateFailed( + /** 小程序更新失败事件的监听函数 */ + listener: OnUpdateFailedCallback + ): void + /** [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateReady.html) + * + * 在插件中使用:不支持 + * + * 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + onUpdateReady( + /** 小程序有版本更新事件的监听函数 */ + listener: OnUpdateReadyCallback + ): void + } + interface UploadTask { + /** [UploadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 中断上传任务 */ + abort(): void + /** [UploadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offHeadersReceived.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除 HTTP Response Header 事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onHeadersReceived(listener) +UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHeadersReceived( + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHeadersReceivedCallback + ): void + /** [UploadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offProgressUpdate.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:支持 +* +* 移除上传进度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +UploadTask.onProgressUpdate(listener) +UploadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offProgressUpdate( + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: UploadTaskOffProgressUpdateCallback + ): void + /** [UploadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onHeadersReceived.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 监听 HTTP Response Header 事件。会比请求完成事件更早 */ + onHeadersReceived( + /** HTTP Response Header 事件的监听函数 */ + listener: OnHeadersReceivedCallback + ): void + /** [UploadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onProgressUpdate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 监听上传进度变化事件 */ + onProgressUpdate( + /** 上传进度变化事件的监听函数 */ + listener: UploadTaskOnProgressUpdateCallback + ): void + } + interface UserCryptoManager { + /** [UserCryptoManager.getLatestUserKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getLatestUserKey.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取最新的用户加密密钥 +* +* **示例代码** +* +* ```js +const userCryptoManager = wx.getUserCryptoManager() +userCryptoManager.getLatestUserKey({ + success: res => { + const {encryptKey, iv, version, expireTime} = res + console.log(encryptKey, iv, version, expireTime) + } +}) +``` */ + getLatestUserKey(option?: GetLatestUserKeyOption): void + /** [UserCryptoManager.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getRandomValues.html) +* +* 需要基础库: `2.17.3` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues(option: GetRandomValuesOption): void + } + interface VKCamera { + /** [Float32Array VKCamera.getProjectionMatrix(number near, number far)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.getProjectionMatrix.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取投影矩阵 */ + getProjectionMatrix( + /** 近视点 */ + near: number, + /** 远视点 */ + far: number + ): Float32Array + } + interface VKFrame { + /** [ArrayBuffer VKFrame.getCameraBuffer(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 获取当前帧 rgba buffer。目前仅iOS端支持。按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。 */ + getCameraBuffer( + /** 宽度,受系统限制,必须是 16 的整数倍 */ + width: number, + /** 高度 */ + height: number + ): ArrayBuffer + /** [Float32Array VKFrame.getDisplayTransform()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪。 */ + getDisplayTransform(): Float32Array + /** [Object VKFrame.getCameraTexture(WebGLRenderingContext gl)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取当前帧纹理,目前只支持 YUV 纹理。 */ + getCameraTexture( + /** 画布 */ + gl: WebGLRenderingContext + ): YUVTextureRes + } + interface VKSession { + /** [Array.<Object> VKSession.getAllMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + getAllMarker(): VKMarker[] + /** [Array.<Object> VKSession.getAllOSDMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 获取所有 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + getAllOSDMarker(): VKMarker[] + /** [Array.<Object> VKSession.hitTest(number x, number y, Object reset)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。 */ + hitTest( + /** 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 */ + x: number, + /** 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 */ + y: number, + /** 是否需要重新识别其他平面,v2 版本不再需要此参数 */ + reset: IAnyObject + ): HitTestRes[] + /** [VKSession.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.cancelAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。 */ + cancelAnimationFrame(requestID: number): void + /** [VKSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.destroy.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 销毁会话。 */ + destroy(): void + /** [VKSession.detectFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:需要基础库 `2.25.0` + * + * 静态图像人脸关键点检测。当 wx.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */ + detectFace(option: DetectFaceOption): void + /** [VKSession.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 取消监听会话事件。 */ + off( + /** 事件名称 */ + eventName: string, + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 监听会话事件。 */ + on( + /** 事件名称 + * + * 参数 eventName 可选值: + * - 'resize': 相机尺寸变化事件,回调参数为相机尺寸; + * - 'addAnchors': 增加 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持); + * - 'updateAnchors': 更新 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); + * - 'removeAnchors': 删除 anchor 事件,回调参数为 [VKPlaneAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKPlaneAnchor.html)/[VKMarkerAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKMarkerAnchor.html)/[VKOSDAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOSDAnchor.html) 列表(只有v2版本支持) 或 [VKFaceAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFaceAnchor.html) 列表(v1、v2都支持); */ + eventName: + | 'resize' + | 'addAnchors' + | 'updateAnchors' + | 'removeAnchors', + /** 事件监听函数 */ + fn: (...args: any[]) => any + ): void + /** [VKSession.removeMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */ + removeMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.removeOSDMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 删除一个 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + removeOSDMarker( + /** marker id */ + markerId: number + ): void + /** [VKSession.start(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 开启会话。 */ + start( + /** 开启会话回调 */ + callback: VKSessionStartCallback + ): void + /** [VKSession.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.stop.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 停止会话。 */ + stop(): void + /** [VKSession.updateOSDThreshold(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 更新 OSD 识别精确度,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */ + updateOSDThreshold( + /** 阈值 */ + threshold: number + ): void + /** [[VKFrame](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.html) VKSession.getVKFrame(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getVKFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 获取帧对象,每调用一次都会触发一次帧分析过程。 */ + getVKFrame( + /** 宽度 */ + width: number, + /** 高度 */ + height: number + ): VKFrame + /** [number VKSession.addMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addMarker 接口之前,需要在 createVKSession 的时候声明开启 marker 跟踪。即 wx.createVKSession({ track: { marker: true } }) + * 2. 可以添加多个 marker 图片,但不能重复添加相同的 marker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg/png 格式三通道彩图或者 1 通道灰度图 + * 2. 分辨率:尺寸在 480x480 ~ 1920x1920 之间,建议为 1080 分辨率 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标图像为平面模型,需要占画面主体,避免大面积留白,建议用扫描件 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrtaOpjb6Yc6mDhJKdUmrIpmtbWBMfAUAFavtKT6-tEZIh-8zT8tfBJBtvH048ge5Vw" alt="image.png" /> + * + * 建议: + * + * 1. 图片具有丰富的细节 + * 2. 避免重复单一的纹理,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq3iLsNXMvLiM6Wb5ZHOrVVGR2u5ixbQlbiSSuNHzVcMQQY5V0dvnlyOGihUIbyTvA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq-_lR2j4eOi23IOJ2LHFQY_PWufbx3s3uROgLi_flJMHQA8DNvlebs9UwumozPlXg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dr9IaSPF18UPnz4KrbAhGW9pIb8oWxzHgmClGIRZK59N4gUnJh69yoQW1TFGqce8ew" alt="image.png" /> + * <br> + * + * 3. 避免使用柔和平滑边缘的纹理及大量渐变图像,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq6DPj88qSVwHFZiumbE0IMq9ibzbnhjewzUSa-n5_VgF_lF9g07FFHHYyrY14KTSfA" alt="image.png" /> + * + * 4. 避免模糊,建议采用高清、高对比度图像作为识别对象 + * 5. 建议图像有均匀的特征(角点)分布,正确示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrrBRWB_Cw2aFXAn1KY0YtfjnQ7WNt854gA8H2zfmZUztlFcJbdEHouBGs63hUO4Mxg" alt="image.png" /> + * + * 避免角点较少、中间大量空白、没有特征及角点的图像,错误示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqzjY2LY-ylRjFS7TVD-cZsEE8TTB-xzR2YiWKhWyWg1bgpbRqQq-4l6OWPDii4S3Xg" alt="image.png" /> */ + addMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.addOSDMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html) + * + * 需要基础库: `2.24.5` + * + * 在插件中使用:需要基础库 `2.24.5` + * + * 添加一个 OSD marker(one-shot detection marker),要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true + * + * **使用提示** + * + * 注意事项: + * 1. 使用 addOSDMarker 接口之前,需要在 createVKSession 的时候声明开启 OSD 跟踪。即 wx.createVKSession({ track: { OSD: true } }) + * 2. 可以添加多个 OSDMarker 图片,但不能重复添加相同的 OSDMarker 图片。 + * + * 对传入的图片有如下要求: + * 1. 格式:jpg 格式彩色图片 + * 2. 分辨率:尺寸不低于 240x240 + * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片 + * 4. 质量:目标物体需要占画面主体,避免大面积留白,避免大面积文字,不能含其他物体。 + * + * 示例: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq_Mq0ReXEA5nOzDIvnYYPttmwxn0V1e_yI6UUgkNT6K6aOQj2QRba5IHQglHULkrKg" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqwiRcyGk9oenkCpd3vAHWSTSZPPJcgIrPzcpwnSpmk_9bMiCqUdS8Ds789Rjhy0CtA" alt="image.png" /> + * <br> + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqx8fYUYypBmFmB1_zX-APH06j1oMZDz7K0CE2To_982NDOB5fmM4Y2Rrr1uQF6J4gg" alt="image.png" /> + * <br> + * + * 建议: + * + * 1. 具有丰富的细节,避免纯色且形状特点不鲜明的物体,例如: + * + * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq-6WwSZKlNbN-if0NCag-Dm6AmNJeBFi5dvR-bRZINlZmuA9G1e4wpngvhlr2z6CXQ" alt="image.png" /> + * + * 2. 避免模糊,最好采用高清图片 */ + addOSDMarker( + /** 图片路径,目前只支持本地用户图片 */ + path: string + ): number + /** [number VKSession.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html) + * + * 需要基础库: `2.20.0` + * + * 在插件中使用:需要基础库 `2.20.0` + * + * 在下次进行重绘时执行。 */ + requestAnimationFrame( + /** 执行的 callback */ + callback: (...args: any[]) => any + ): number + } + interface VideoContext { + /** [VideoContext.exitBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 退出后台音频播放模式。 */ + exitBackgroundPlayback(): void + /** [VideoContext.exitFullScreen()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 退出全屏 */ + exitFullScreen(): void + /** [VideoContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitPictureInPicture.html) + * + * 在插件中使用:支持 + * + * 退出小窗,该方法可在任意页面调用 */ + exitPictureInPicture(option?: ExitPictureInPictureOption): void + /** [VideoContext.hideStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.hideStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 隐藏状态栏,仅在iOS全屏下有效 */ + hideStatusBar(): void + /** [VideoContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.pause.html) + * + * 在插件中使用:支持 + * + * 暂停视频 */ + pause(): void + /** [VideoContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.play.html) + * + * 在插件中使用:支持 + * + * 播放视频 */ + play(): void + /** [VideoContext.playbackRate(number rate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.playbackRate.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 设置倍速播放 */ + playbackRate( + /** 倍率,支持 0.5/0.8/1.0/1.25/1.5,2.6.3 起支持 2.0 倍速 */ + rate: number + ): void + /** [VideoContext.requestBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestBackgroundPlayback.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:支持 + * + * 进入后台音频播放模式。 */ + requestBackgroundPlayback(): void + /** [VideoContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestFullScreen.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:支持 + * + * 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */ + requestFullScreen(option: VideoContextRequestFullScreenOption): void + /** [VideoContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.seek.html) + * + * 在插件中使用:支持 + * + * 跳转到指定位置 */ + seek( + /** 跳转到的位置,单位 s */ + position: number + ): void + /** [VideoContext.sendDanmu(Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.sendDanmu.html) + * + * 在插件中使用:支持 + * + * 发送弹幕 */ + sendDanmu( + /** 弹幕内容 */ + data: Danmu + ): void + /** [VideoContext.showStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.showStatusBar.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:支持 + * + * 显示状态栏,仅在iOS全屏下有效 */ + showStatusBar(): void + /** [VideoContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.stop.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:支持 + * + * 停止视频 */ + stop(): void + } + interface VideoDecoder { + /** [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取下一帧的解码数据 */ + getFrameData(): FrameDataOptions + /** [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 移除解码器 */ + remove(): Promise<any> + /** [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 跳到某个时间点解码 */ + seek( + /** 跳转的解码位置,单位 ms */ + position: number + ): Promise<any> + /** [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 开始解码 */ + start(option: VideoDecoderStartOption): Promise<any> + /** [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 停止解码 */ + stop(): Promise<any> + /** [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 取消监听录制事件。当对应事件触发时,该回调函数不再执行 */ + off( + /** 事件名 */ + eventName: string, + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + /** [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 */ + on( + /** 事件名 + * + * 参数 eventName 可选值: + * - 'start': 开始事件。返回 {width, height}; + * - 'stop': 结束事件。; + * - 'seek': seek 完成事件。; + * - 'bufferchange': 缓冲区变化事件。; + * - 'ended': 解码结束事件。; */ + eventName: 'start' | 'stop' | 'seek' | 'bufferchange' | 'ended', + /** 事件触发时执行的回调函数 */ + callback: (...args: any[]) => any + ): void + } + interface WebAudioContext { + /** [AnalyserNode WebAudioContext.createAnalyser()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createAnalyser.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:不支持 + * + * 创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。 */ + createAnalyser(): AnalyserNode + /** [BiquadFilterNode WebAudioContext.createBiquadFilter()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBiquadFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个BiquadFilterNode */ + createBiquadFilter(): BiquadFilterNode + /** [BufferSourceNode WebAudioContext.createBufferSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。 */ + createBufferSource(): BufferSourceNode + /** [ChannelMergerNode WebAudioContext.createChannelMerger(number numberOfInputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelMerger.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelMergerNode */ + createChannelMerger( + /** 输出流中需要保持的输入流的个数 */ + numberOfInputs: number + ): ChannelMergerNode + /** [ChannelSplitterNode WebAudioContext.createChannelSplitter(number numberOfOutputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelSplitter.html) + * + * 在插件中使用:不支持 + * + * 创建一个ChannelSplitterNode */ + createChannelSplitter( + /** 要分别输出的输入音频流中的通道数 */ + numberOfOutputs: number + ): ChannelSplitterNode + /** [ConstantSourceNode WebAudioContext.createConstantSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createConstantSource.html) + * + * 在插件中使用:不支持 + * + * 创建一个ConstantSourceNode */ + createConstantSource(): ConstantSourceNode + /** [DelayNode WebAudioContext.createDelay(number maxDelayTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDelay.html) + * + * 在插件中使用:不支持 + * + * 创建一个DelayNode */ + createDelay( + /** 最大延迟时间 */ + maxDelayTime: number + ): DelayNode + /** [DynamicsCompressorNode WebAudioContext.createDynamicsCompressor()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDynamicsCompressor.html) + * + * 在插件中使用:不支持 + * + * 创建一个DynamicsCompressorNode */ + createDynamicsCompressor(): DynamicsCompressorNode + /** [GainNode WebAudioContext.createGain()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createGain.html) + * + * 在插件中使用:不支持 + * + * 创建一个GainNode */ + createGain(): GainNode + /** [IIRFilterNode WebAudioContext.createIIRFilter(Array.<number> feedforward, Array.<number> feedback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createIIRFilter.html) + * + * 在插件中使用:不支持 + * + * 创建一个IIRFilterNode */ + createIIRFilter( + /** 一个浮点值数组,指定IIR滤波器传递函数的前馈(分子)系数。 */ + feedforward: number[], + /** 一个浮点值数组,指定IIR滤波器传递函数的反馈(分母)系数。 */ + feedback: number[] + ): IIRFilterNode + /** [OscillatorNode WebAudioContext.createOscillator()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createOscillator.html) + * + * 在插件中使用:不支持 + * + * 创建一个OscillatorNode */ + createOscillator(): OscillatorNode + /** [PannerNode WebAudioContext.createPanner()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPanner.html) + * + * 在插件中使用:不支持 + * + * 创建一个PannerNode */ + createPanner(): PannerNode + /** [PeriodicWaveNode WebAudioContext.createPeriodicWave(Float32Array real, Float32Array imag, object constraints)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPeriodicWave.html) +* +* 在插件中使用:不支持 +* +* 创建一个PeriodicWaveNode +* +* **注意** +* +* `real`和`imag`数组必须拥有一样的长度,否则抛出错误 +* ```js +const real = new Float32Array(2) +const imag = new Float32Array(2) +real[0] = 0 +imag[0] = 0 +real[1] = 1 +imag[1] = 0 + +const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true}) +``` */ + createPeriodicWave( + /** 一组余弦项(传统上是A项) */ + real: Float32Array, + /** 一组余弦项(传统上是A项) */ + imag: Float32Array, + /** 一个字典对象,它指定是否应该禁用规范化(默认启用规范化) */ + constraints: Constraints + ): PeriodicWaveNode + /** [Promise WebAudioContext.close()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.close.html) +* +* 在插件中使用:不支持 +* +* 关闭WebAudioContext +* +* **注意事项** +* +* 同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,<b>不要在close后再次访问state属性。</b> +* ```js +const audioCtx = wx.createWebAudioContext() +audioCtx.close().then(() => { + console.log(audioCtx.state) // bad case:不应该在close后再访问state +}) +``` */ + close(): Promise<any> + /** [Promise WebAudioContext.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.resume.html) + * + * 在插件中使用:不支持 + * + * 同步恢复已经被暂停的WebAudioContext上下文 */ + resume(): Promise<any> + /** [Promise WebAudioContext.suspend()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.suspend.html) + * + * 在插件中使用:不支持 + * + * 同步暂停WebAudioContext上下文 */ + suspend(): Promise<any> + /** [ScriptProcessorNode WebAudioContext.createScriptProcessor(number bufferSize, number numberOfInputChannels, number numberOfOutputChannels)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createScriptProcessor.html) + * + * 在插件中使用:不支持 + * + * 创建一个ScriptProcessorNode */ + createScriptProcessor( + /** 缓冲区大小,以样本帧为单位 */ + bufferSize: number, + /** 用于指定输入node的声道的数量 */ + numberOfInputChannels: number, + /** 用于指定输出node的声道的数量 */ + numberOfOutputChannels: number + ): ScriptProcessorNode + /** [WaveShaperNode WebAudioContext.createWaveShaper()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createWaveShaper.html) + * + * 在插件中使用:不支持 + * + * 创建一个WaveShaperNode */ + createWaveShaper(): WaveShaperNode + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.createBuffer(number numOfChannels, number length, number sampleRate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBuffer.html) + * + * 在插件中使用:不支持 + * + * 创建一个AudioBuffer,代表着一段驻留在内存中的短音频 */ + createBuffer( + /** 定义了 buffer 中包含的声频通道数量的整数 */ + numOfChannels: number, + /** 代表 buffer 中的样本帧数的整数 */ + length: number, + /** 线性音频样本的采样率,即每一秒包含的关键帧的个数 */ + sampleRate: number + ): AudioBuffer + /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.decodeAudioData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html) + * + * 在插件中使用:不支持 + * + * 异步解码一段资源为AudioBuffer。 */ + decodeAudioData(): AudioBuffer + } + interface WifiError { + /** 错误信息 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errMsg: string + /** 错误码 + * + * | 错误码 | 错误信息 | 说明 | + * | - | - | - | + * | 0 | ok | 正常 | + * | 12000 | not init | 未先调用 `startWifi` 接口 | + * | 12001 | system not support | 当前系统不支持相关能力 | + * | 12002 | password error Wi-Fi | 密码错误 | + * | 12003 | connection timeout | 连接超时, 仅 Android 支持 | + * | 12004 | duplicate request | 重复连接 Wi-Fi | + * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 | + * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 | + * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi | + * | 12008 | invalid SSID | 无效 SSID | + * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi | + * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 | + * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi | + * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 | + * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errCode: number + } + interface Worker { + /** [ArrayBuffer Worker.getCameraFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) +* +* 需要基础库: `2.25.1` +* +* 在插件中使用:不支持 +* +* 获取摄像头当前帧图像,返回ArrayBuffer数据。仅限在 worker 线程中使用。 +* +* **示例代码** +* +* ```js +// app.js +const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true +}) + +const cameraContext = wx.createCameraContext() +const cameraFrameListener = cameraContext.onCameraFrame(function() {}) +cameraFrameListener.start({ + worker: worker +}) +``` +* +* ```js +// workers/index.js +const data = worker.getCameraFrameData() +console.log(data) +``` */ + getCameraFrameData(): ArrayBuffer + /** [Worker.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onMessage.html) + * + * 在插件中使用:不支持 + * + * 监听主线程/Worker 线程向当前线程发送的消息的事件。 */ + onMessage( + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + listener: WorkerOnMessageCallback + ): void + /** [Worker.onProcessKilled(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html) + * + * 在插件中使用:不支持 + * + * 监听 worker线程被系统回收事件(当iOS系统资源紧张时,worker线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker)。仅限在主线程 worker 对象上调用。 */ + onProcessKilled( + /** worker线程被系统回收事件的监听函数 */ + listener: OnProcessKilledCallback + ): void + /** [Worker.postMessage(Object message)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.postMessage.html) +* +* 在插件中使用:不支持 +* +* 向主线程/Worker 线程发送的消息。 +* +* **示例代码** +* +* worker 线程中 +* ```js +worker.postMessage({ + msg: 'hello from worker' +}) +``` +* +* 主线程中 +* ```js +const worker = wx.createWorker('workers/request/index.js') + +worker.postMessage({ + msg: 'hello from main' +}) +``` +* +* **提醒** +* +* 在基础库版本2.20.2之前,postMessage仅支持传递可序列化的key-value对象。 +* 在基础库2.20.2之后,postMessage支持传递任意类型的数据。 */ + postMessage( + /** 需要发送的消息。 */ + message: IAnyObject + ): void + /** [Worker.terminate()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.terminate.html) + * + * 在插件中使用:不支持 + * + * 结束当前 Worker 线程。仅限在主线程 worker 对象上调用。 */ + terminate(): void + } + interface WriteSyncError { + /** 错误信息 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errMsg: string + /** 错误码 + * + * | 错误信息 | 说明 | + * | - | - | + * | bad file descriptor | 无效的文件描述符 | + * | fail permission denied | 指定的 fd 路径没有写权限 | + * | fail sdcard not mounted | android sdcard 挂载失败 | */ errCode: number + } + interface Wx { + bindLocalAccount(arg0: { desc: string; success: (res: any) => void }) + /** [Array.<any> wx.batchGetStorageSync(Array.<string> keyList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中同步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +try { + var valueList = wx.batchGetStorageSync(['key']) + if (valueList) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` +* +* **** +* +* 对于多个key的读取, 批量读取在性能上优于多次getStorageSync读取 */ + batchGetStorageSync( + /** 本地缓存中指定的 key 数组 */ + keyList: string[] + ): any[] + /** [ArrayBuffer wx.base64ToArrayBuffer(string base64)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.base64ToArrayBuffer.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 Base64 字符串转成 ArrayBuffer 对象 */ + base64ToArrayBuffer( + /** 要转化成 ArrayBuffer 对象的 Base64 字符串 */ + base64: string + ): ArrayBuffer + /** [Object wx.getAccountInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html) +* +* 需要基础库: `2.2.2` +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 获取当前帐号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。 +* +* **示例代码** +* +* ```js +const accountInfo = wx.getAccountInfoSync(); +console.log(accountInfo.miniProgram.appId) // 小程序 appId +console.log(accountInfo.plugin.appId) // 插件 appId +console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式 +``` */ + getAccountInfoSync(): AccountInfo + /** [Object wx.getAppAuthorizeSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP授权设置 +* +* **示例代码** +* +* ```js +const appAuthorizeSetting = wx.getAppAuthorizeSetting() + +console.log(appAuthorizeSetting.albumAuthorized) +console.log(appAuthorizeSetting.bluetoothAuthorized) +console.log(appAuthorizeSetting.cameraAuthorized) +console.log(appAuthorizeSetting.locationAuthorized) +console.log(appAuthorizeSetting.locationReducedAccuracy) +console.log(appAuthorizeSetting.microphoneAuthorized) +console.log(appAuthorizeSetting.notificationAlertAuthorized) +console.log(appAuthorizeSetting.notificationAuthorized) +console.log(appAuthorizeSetting.notificationBadgeAuthorized) +console.log(appAuthorizeSetting.notificationSoundAuthorized) +console.log(appAuthorizeSetting.phoneCalendarAuthorized) +``` +* +* **返回值说明** +* +* `'authorized'` 表示已经获得授权,无需再次请求授权; +* `'denied'` 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户[打开系统设置](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html),在设置页中打开权限) +* `'non determined'` 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) */ + getAppAuthorizeSetting(): AppAuthorizeSetting + /** [Object wx.getAppBaseInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取微信APP基础信息 +* +* **示例代码** +* +* ```js +const appBaseInfo = wx.getAppBaseInfo() + +console.log(appBaseInfo.SDKVersion) +console.log(appBaseInfo.enableDebug) +console.log(appBaseInfo.host) +console.log(appBaseInfo.language) +console.log(appBaseInfo.version) +console.log(appBaseInfo.theme) +``` */ + getAppBaseInfo(): AppBaseInfo + /** [Object wx.getBatteryInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * [wx.getBatteryInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) 的同步版本 */ + getBatteryInfoSync(): GetBatteryInfoSyncResult + /** [Object wx.getDeviceInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备基础信息 +* +* **示例代码** +* +* ```js +const deviceInfo = wx.getDeviceInfo() + +console.log(deviceInfo.abi) +console.log(deviceInfo.benchmarkLevel) +console.log(deviceInfo.brand) +console.log(deviceInfo.model) +console.log(deviceInfo.platform) +console.log(deviceInfo.system) +``` */ + getDeviceInfo(): DeviceInfo + /** [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html) + * + * 需要基础库: `2.9.4` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onLaunch-Object-object) 的回调参数一致;如果当前是热启动,则返回值与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onShow-Object-object) 一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无 `referrerInfo` 的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getEnterOptionsSync(): LaunchOptionsApp + /** [Object wx.getExptInfoSync(Array.<string> keys)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html) + * + * 需要基础库: `2.17.0` + * + * 在插件中使用:不支持 + * + * 给定实验参数数组,获取对应的实验参数值 + * + * **提示** + * + * 假设实验参数有 `color`, `size` + * 调用 wx.getExptInfoSync() 会返回 `{color:'#fff',size:20}` 类似的结果 + * 而 wx.getExptInfoSync(['color']) 则只会返回 `{color:'#fff'}` */ + getExptInfoSync( + /** 实验参数数组,不填则获取所有实验参数 */ + keys?: string[] + ): IAnyObject + /** [Object wx.getExtConfigSync()](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 的同步版本。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfigSync](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html) 是否存在来兼容 +* +* **** +* +* ```js +let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {} +console.log(extConfig) +``` */ + getExtConfigSync(): IAnyObject + /** [Object wx.getLaunchOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:需要基础库 `2.9.4` + * + * 获取小程序启动时的参数。与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onlaunchobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * | 1069 | 移动应用 | 来源App | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + getLaunchOptionsSync(): LaunchOptionsApp + /** [Object wx.getMenuButtonBoundingClientRect()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.getMenuButtonBoundingClientRect.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。 +* +* **示例代码** +* +* ```js +const res = wx.getMenuButtonBoundingClientRect() + +console.log(res.width) +console.log(res.height) +console.log(res.top) +console.log(res.right) +console.log(res.bottom) +console.log(res.left) +``` */ + getMenuButtonBoundingClientRect(): ClientRect + /** [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html) +* +* 在插件中使用:不支持 +* +* [wx.getStorageInfo](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfoSync(): GetStorageInfoSyncOption + /** [Object wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.getSystemInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) 的同步版本 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfoSync(): SystemInfo + /** [Object wx.getSystemSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取设备设置 +* +* **示例代码** +* +* ```js +const systemSetting = wx.getSystemSetting() + +console.log(systemSetting.bluetoothEnabled) +console.log(systemSetting.deviceOrientation) +console.log(systemSetting.locationEnabled) +console.log(systemSetting.wifiEnabled) +``` */ + getSystemSetting(): SystemSetting + /** [Object wx.getWindowInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取窗口信息 +* +* **示例代码** +* +* ```js +const windowInfo = wx.getWindowInfo() + +console.log(windowInfo.pixelRatio) +console.log(windowInfo.screenWidth) +console.log(windowInfo.screenHeight) +console.log(windowInfo.windowWidth) +console.log(windowInfo.windowHeight) +console.log(windowInfo.statusBarHeight) +console.log(windowInfo.safeArea) +console.log(windowInfo.screenTop) +``` */ + getWindowInfo(): WindowInfo + /** [[Animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html) wx.createAnimation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/wx.createAnimation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建一个动画实例 [animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html)。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。 */ + createAnimation(option: StepOption): Animation + /** [[AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) wx.createAudioContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createAudioContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 + * + * 创建 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) 对象。 */ + createAudioContext( + /** [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): AudioContext + /** [[BackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html) wx.getBackgroundAudioManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取**全局唯一**的背景音频管理器。 + * 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。 + * + * 从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 [app.json](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html) 中配置 `requiredBackgroundModes` 属性。开发版和体验版上可以直接生效,正式版还需通过审核。 */ + getBackgroundAudioManager(): BackgroundAudioManager + /** [[CacheManager](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.html) wx.createCacheManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/wx.createCacheManager.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 创建缓存管理器 +* +* **示例代码** +* +* <a href="https://github.com/wechat-miniprogram/miniprogram-offline-demo" target="_blank">查看完整示例代码</a> +* +* ```js +const cacheManager = createCacheManager() +cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配 + +cacheManager.on('request', evt => { + // 在弱网时接收到 wx.request 请求 + return new Promise((resolve, reject) => { + const matchRes = cm.match(evt) + if (matchRes && matchRes.data) { + // 有缓存,返回 + resolve(matchRes.data) + } else { + // 没缓存,抛错 + reject({ errMsg: 'no cache' }) + } + }) +}) +``` */ + createCacheManager(option: CreateCacheManagerOption): CacheManager + /** [[CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) wx.createCameraContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/wx.createCameraContext.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 上下文 [CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) 对象。 */ + createCameraContext(): CameraContext + /** [[CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) wx.createCanvasContext(string canvasId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createCanvasContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * @deprecated 基础库版本 [2.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [Canvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.html) 替换 + * + * 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 */ + createCanvasContext( + /** 要获取上下文的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 canvas-id 属性 */ + canvasId: string, + /** 在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) ,如果省略则不在任何自定义组件内查找 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): CanvasContext + /** [[DownloadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.html) wx.downloadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* 注意:请在服务端响应的 header 中指定合理的 `Content-Type` 字段,以保证客户端正确处理文件类型。 +* +* **示例代码** +* +* ```js +wx.downloadFile({ + url: 'https://example.com/audio/123', //仅为示例,并非真实的资源 + success (res) { + // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容 + if (res.statusCode === 200) { + wx.playVoice({ + filePath: res.tempFilePath + }) + } + } +}) +``` */ + downloadFile(option: DownloadFileOption): DownloadTask + /** [[FileSystemManager](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.html) wx.getFileSystemManager()](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileSystemManager.html) + * + * 需要基础库: `1.9.9` + * + * 在插件中使用:需要基础库 `2.19.2` + * + * 获取全局唯一的文件管理器 */ + getFileSystemManager(): FileSystemManager + /** [[InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) wx.createInnerAudioContext(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 创建内部 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 对象。 +* +* **示例代码** +* +* ```js +const innerAudioContext = wx.createInnerAudioContext({ + useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项 +}) +innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' + +innerAudioContext.play() // 播放 + +innerAudioContext.pause() // 暂停 + +innerAudioContext.stop() // 停止 +``` */ + createInnerAudioContext( + option?: CreateInnerAudioContextOption + ): InnerAudioContext + /** [[IntersectionObserver](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.html) wx.createIntersectionObserver(Object component, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createIntersectionObserver.html) + * + * 需要基础库: `1.9.3` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createIntersectionObserver([options])` 来代替。 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/LAbMxkmI7F2A) */ + createIntersectionObserver( + /** 自定义组件实例 */ + component: IAnyObject, + /** 选项 */ + options?: CreateIntersectionObserverOption + ): IntersectionObserver + /** [[InterstitialAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.html) wx.createInterstitialAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createInterstitialAd.html) + * + * 需要基础库: `2.6.0` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建插屏广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。 */ + createInterstitialAd(option: CreateInterstitialAdOption): InterstitialAd + /** [[LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) wx.createLivePlayerContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePlayerContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 上下文 [LivePlayerContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createLivePlayerContext( + /** [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): LivePlayerContext + /** [[LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) wx.createLivePusherContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/wx.createLivePusherContext.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [live-pusher](https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html) 上下文 [LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) 对象。 */ + createLivePusherContext(): LivePusherContext + /** [[LogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.html) wx.getLogManager(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getLogManager.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:不支持 +* +* 获取日志管理器对象。 +* +* **示例代码** +* +* ```js +const logger = wx.getLogManager({level: 1}) +logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3]) +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) +``` */ + getLogManager(option: GetLogManagerOption): LogManager + /** [[MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) wx.createMapContext(string mapId, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/wx.createMapContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 上下文 [MapContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createMapContext( + /** [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件的 id */ + mapId: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): MapContext + /** [[MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) wx.createMediaAudioPlayer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:支持 +* +* 创建媒体音频播放器对象 [MediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.html) 对象,可用于播放视频解码器 [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) 输出的音频。 +* +* **示例代码** +* +* ```js + // 创建视频解码器,具体参数见 createVideoDecoder 文档 + const videoDecoder = wx.createVideoDecoder() + // 创建媒体音频播放器 + const mediaAudioPlayer = wx.createMediaAudioPlayer() + // 启动视频解码器 + videoDecoder.start() + // 启动播放器 + mediaAudioPlayer.start().then(() => { + // 添加播放器音频来源 + mediaAudioPlayer.addAudioSource(videoDecoder).then(res => { + videoDecoder.getFrameData() // 建议在 requestAnimationFrame 里获取每一帧视频数据 + console.log(res) + }) + + // 移除播放器音频来源 + mediaAudioPlayer.removeAudioSource(videoDecoder).then() + // 停止播放器 + mediaAudioPlayer.stop().then() + // 销毁播放器 + mediaAudioPlayer.destroy().then() + // 设置播放器音量 + mediaAudioPlayer.volume = 0.5 + }) +``` +* +* **完整demo(小游戏)** +* +* - https://developers.weixin.qq.com/s/SF2duHmb7MjI */ + createMediaAudioPlayer(): MediaAudioPlayer + /** [[MediaContainer](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.html) wx.createMediaContainer()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/wx.createMediaContainer.html) + * + * 需要基础库: `2.9.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 创建音视频处理容器,最终可将容器中的轨道合成一个视频 */ + createMediaContainer(): MediaContainer + /** [[MediaRecorder](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.html) wx.createMediaRecorder(Object canvas, Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.11.0` +* +* 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MCz3kPmC7zpa) +* +* **低版本异步接口兼容** +* +* 对基础库 2.16.1 版本前的 mediaRecorder,所有的接口都没有返回 Promise 对象,若需要兼容低版本,则可采用如下方式的写法: +* ```javascript +// 启动 mediaRecorder +await new Promise(resolve => { + recorder.on('start', resolve) + recorder.start() +}) + +// 逐帧绘制 +while (frames--) { + await new Promise(resolve => recorder.requestFrame(resolve)) + render() +} + +// 绘制完成,生成视频 +const {tempFilePath} = await new Promise(resolve => { + recorder.on('stop', resolve) + recorder.stop() +}) +``` */ + createMediaRecorder( + /** WebGL 对象,通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取到的 node 对象或通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建的离屏 WebGL Canvas 对象 */ + canvas: IAnyObject, + options: CreateMediaRecorderOption + ): MediaRecorder + /** [[NFCAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.html) wx.getNFCAdapter()](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/wx.getNFCAdapter.html) + * + * 需要基础库: `2.11.2` + * + * 在插件中使用:需要基础库 `2.11.2` + * + * 获取 NFC 实例 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/1WsbDwmb75ig) */ + getNFCAdapter(): NFCAdapter + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + /** 画布宽度 */ + width: number, + /** 画布高度 */ + height: number, + /** 在自定义组件下,当前组件实例的 this */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): OffscreenCanvas + /** [[OffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/OffscreenCanvas.html) wx.createOffscreenCanvas(object object, number width, number height, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 创建离屏 canvas 实例 + * + * **离屏 Canvas 类型不可混用** + * + * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。 + * + * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。 + * + * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 + * + * **与 MediaRecorder 结合** + * + * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。 + * + * **旧版 createOffscreenCanvas** + * + * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持 + * + * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。 + * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */ + createOffscreenCanvas( + option: CreateOffscreenCanvasOption + ): OffscreenCanvas + /** [[Performance](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.html) wx.getPerformance()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.getPerformance.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:支持 +* +* 获取当前小程序性能相关的信息。关于小程序启动性能优化的更多内容,请参考[启动性能指南](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/start.html)。 +* +* **** +* +* 目前支持获取以下几类性能指标,具体内容请参考 [PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html): +* +* | 指标类型(entryType) | 指标名称 | 最低版本 | +* | ------------------- | ---------------- | ------ | +* | 路由(navigation) | route: 路由性能 | | +* | 路由(navigation) | appLaunch: 小程序启动耗时 | | +* | 渲染(render) | firstRender: 页面首次渲染耗时 | | +* | 渲染(render) | firstPaint: 页面首次绘制 | <2.21.2> | +* | 渲染(render) | firstContentfulPaint: 页面首次内容绘制 | <2.21.2> | +* | 渲染(render) | largestContentfulPaint: 页面最大内容绘制 | <2.23.1> | +* | 脚本(script) | evaluateScript: 注入脚本耗时 | | +* | 包加载(loadPackage)| downloadPackage: 代码包下载耗时 | <2.24.0> | +* | 资源(resource) | resourceTiming: 视图层资源加载耗时 | <2.24.0> | +* +* **示例代码** +* +* ```js +const performance = wx.getPerformance() +const observer = performance.createObserver((entryList) => { + console.log(entryList.getEntries()) +}) +observer.observe({ entryTypes: ['render', 'script', 'navigation'] }) +``` +* +* **注意** +* +* - 目前,当开启代码 [按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html) 时,`evaluateScript` 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 `firstRender` 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(`appLaunch`)来评估。 +* - firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。 */ + getPerformance(): Performance + /** [[RealtimeLogManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.html) wx.getRealtimeLogManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getRealtimeLogManager.html) +* +* 需要基础库: `2.7.1` +* +* 在插件中使用:需要基础库 `2.16.0` +* +* 获取实时日志管理器对象。 +* +* **示例代码** +* +* ```js +// 小程序端 +const logger = wx.getRealtimeLogManager() +logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3]) +logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3]) +logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3]) + +// 插件端,基础库 2.16.0 版本后支持,只允许采用 key-value 的新格式上报 +const logManager = wx.getRealtimeLogManager() +const logger = logManager.tag('plugin-log1') +logger.info('key1', 'value1') +logger.error('key2', {str: 'value2'}) +logger.warn('key3', 'value3') +``` */ + getRealtimeLogManager(): RealtimeLogManager + /** [[RecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.html) wx.getRecorderManager()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `1.9.94` + * + * 获取**全局唯一**的录音管理器 RecorderManager */ + getRecorderManager(): RecorderManager + /** [[RequestTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.html) wx.request(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **data 参数说明** +* +* 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下: +* - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`) +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化 +* - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)` +* +* **示例代码** +* +* ```js +wx.request({ + url: 'example.php', //仅为示例,并非真实的接口地址 + data: { + x: '', + y: '' + }, + header: { + 'content-type': 'application/json' // 默认值 + }, + success (res) { + console.log(res.data) + } +}) +``` */ + request< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + >( + option: RequestOption<T> + ): RequestTask + /** [[RewardedVideoAd](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.html) wx.createRewardedVideoAd(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/wx.createRewardedVideoAd.html) + * + * 需要基础库: `2.0.4` + * + * 在插件中使用:需要基础库 `2.8.1` + * + * 创建激励视频广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API(小游戏端要求 >= 2.0.4, 小程序端要求 >= 2.6.0)。调用该方法创建的激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。 */ + createRewardedVideoAd( + option: CreateRewardedVideoAdOption + ): RewardedVideoAd + /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) wx.createSelectorQuery()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createSelectorQuery()` 来代替。 +* +* **示例代码** +* +* ```js +const query = wx.createSelectorQuery() +query.select('#the-id').boundingClientRect() +query.selectViewport().scrollOffset() +query.exec(function(res){ + res[0].top // #the-id节点的上边界坐标 + res[1].scrollTop // 显示区域的竖直滚动位置 +}) +``` */ + createSelectorQuery(): SelectorQuery + /** [[SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) wx.connectSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.connectSocket.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 创建一个 WebSocket 连接。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **并发数** +* +* - 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。 +* - 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'wss://example.qq.com', + header:{ + 'content-type': 'application/json' + }, + protocols: ['protocol1'] +}) +``` */ + connectSocket(option: ConnectSocketOption): SocketTask + /** [[TCPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.html) wx.createTCPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/wx.createTCPSocket.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:支持 + * + * 创建一个 TCP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 + * + * **连接限制** + * + * - 允许与局域网内的非本机 IP 通信 + * - 允许与配置过的服务器域名通信,详见[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html) + * - 禁止与以下端口号连接:`1024 以下` `1099` `1433` `1521` `1719` `1720` `1723` `2049` `2375` `3128` `3306` `3389` `3659` `4045` `5060` `5061` `5432` `5984` `6379` `6000` `6566` `7001` `7002` `8000-8100` `8443` `8888` `9200` `9300` `10051` `10080` `11211` `27017` `27018` `27019` + * - 每 5 分钟内最多创建 20 个 TCPSocket */ + createTCPSocket(): TCPSocket + /** [[UDPSocket](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.html) wx.createUDPSocket()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/wx.createUDPSocket.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 创建一个 UDP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 */ + createUDPSocket(): UDPSocket + /** [[UpdateManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html) wx.getUpdateManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.getUpdateManager.html) + * + * 需要基础库: `1.9.90` + * + * 在插件中使用:不支持 + * + * 获取**全局唯一**的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看[运行机制](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html)文档。 + * + * **示例代码** + * + * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */ + getUpdateManager(): UpdateManager + /** [[UploadTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.html) wx.uploadFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/wx.uploadFile.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 `content-type` 为 `multipart/form-data`。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success (res) { + const tempFilePaths = res.tempFilePaths + wx.uploadFile({ + url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 + filePath: tempFilePaths[0], + name: 'file', + formData: { + 'user': 'test' + }, + success (res){ + const data = res.data + //do something + } + }) + } +}) +``` */ + uploadFile(option: UploadFileOption): UploadTask + /** [[UserCryptoManager](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.html) wx.getUserCryptoManager()](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/wx.getUserCryptoManager.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 获取用户加密模块 */ + getUserCryptoManager(): UserCryptoManager + /** [[VKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.html) wx.createVKSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:需要基础库 `2.20.0` +* +* 创建 vision kit 会话对象。 +* +* **示例代码** +* +* v1 版本:[VisionKit基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic) +* v2 版本:[VisionKit-v2基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic-v2) +* ```js +// 以下 demo 以 v2 为例 +// 创建 session 对象 +const ssession = wx.createVKSession({ + track: { + plane: {mode: 3}, + }, + version: 'v2', + gl, // WebGLRenderingContext +}) + +// 逐帧分析 +const onFrame = timestamp => { + // 开发者可以自己控制帧率 + const frame = session.getVKFrame(canvasWidth, canvasHeight) + if (frame) { + // 分析完毕,可以拿到帧对象 + doRender(frame) + } + + session.requestAnimationFrame(onFrame) +} +session.start(err => { + if (!err) session.requestAnimationFrame(onFrame) +}) + +// 渲染函数 +const doRender = frame => { + // ... +} +``` */ + createVKSession(option: VKConfig): VKSession + /** [[VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) wx.createVideoContext(string id, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.createVideoContext.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 创建 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 上下文 [VideoContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html) 对象。建议使用 [wx.createSelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createSelectorQuery.html) 获取 context 对象。 */ + createVideoContext( + /** [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件的 id */ + id: string, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): VideoContext + /** [[VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html) wx.createVideoDecoder()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 创建视频解码器,可逐帧获取解码后的数据 */ + createVideoDecoder(): VideoDecoder + /** [[WebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.html) wx.createWebAudioContext()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 创建 WebAudio 上下文。 */ + createWebAudioContext(): WebAudioContext + /** [[Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html) wx.createWorker(string scriptPath, object options)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) +* +* 需要基础库: `1.9.90` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 创建一个 Worker 线程 +* +* **示例代码** +* +* ```js +// 创建普通worker +wx.createWorker('workers/index.js') +``` +* ```js +function createNewWorker() { + const worker = wx.createWorker('workers/index.js', { + useExperimentalWorker: true + }) + // 监听worker被系统回收事件 + worker.onProcessKilled(() => { + // 重新创建一个worker + createNewWorker() + }) +} +// 创建实验worker +createNewWorker() +``` */ + createWorker( + /** worker 入口文件的**绝对路径** */ + scriptPath: string, + /** 可选参数 */ + options?: CreateWorkerOption + ): Worker + /** [any wx.getStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中同步获取指定 key 的内容。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + var value = wx.getStorageSync('key') + if (value) { + // Do something with return value + } +} catch (e) { + // Do something when catch error +} +``` */ + getStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string + ): T + /** [boolean wx.canIUse(string schema)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) +* +* 需要基础库: `1.1.1` +* +* 在插件中使用:不支持 +* +* 判断小程序的API,回调,参数,组件等是否在当前版本可用。 +* +* **参数说明** +* +* - `${API}` 代表 API 名字 +* - `${method}` 代表调用方式,有效值为return, success, object, callback +* - `${param}` 代表参数或者返回值 +* - `${option}` 代表参数的可选值或者返回值的属性 +* - `${component}` 代表组件名字 +* - `${attribute}` 代表组件属性 +* - `${option}` 代表组件属性的可选值 +* +* **示例代码** +* +* ```js +// 对象的属性或方法 +wx.canIUse('console.log') +wx.canIUse('CameraContext.onCameraFrame') +wx.canIUse('CameraFrameListener.start') +wx.canIUse('Image.src') + +// wx接口参数、回调或者返回值 +wx.canIUse('openBluetoothAdapter') +wx.canIUse('getSystemInfoSync.return.safeArea.left') +wx.canIUse('getSystemInfo.success.screenWidth') +wx.canIUse('showToast.object.image') +wx.canIUse('onCompassChange.callback.direction') +wx.canIUse('request.object.method.GET') + +// 组件的属性 +wx.canIUse('live-player') +wx.canIUse('text.selectable') +wx.canIUse('button.open-type.contact') +``` */ + canIUse( + /** 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 */ + schema: string + ): boolean + /** [boolean wx.isVKSupport(string version)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.isVKSupport.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.0` +* +* 判断支持版本 +* +* **示例代码** +* +* ```js +const isSupportV2 = wx.isVKSupport('v2') +``` */ + isVKSupport( + /** 参数 version 可选值: + * - 'v1': 旧版本; + * - 'v2': v2 版本,目前只有 iOS 基础库 2.22.0 以上支持; */ + version: 'v1' | 'v2' + ): boolean + /** [string wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:支持 + * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 将 ArrayBuffer 对象转成 Base64 字符串 */ + arrayBufferToBase64( + /** 要转换成 Base64 字符串的 ArrayBuffer 对象 */ + arrayBuffer: ArrayBuffer + ): string + /** [wx.addCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 批量添加卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **cardExt 说明** +* +* cardExt 是卡券的扩展参数,其值是一个 JSON 字符串。 +* +* **示例代码** +* +* ```js +wx.addCard({ + cardList: [ + { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + }, { + cardId: '', + cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' + } + ], + success (res) { + console.log(res.cardList) // 卡券添加结果 + } +}) +``` */ + addCard<T extends AddCardOption = AddCardOption>( + option: T + ): PromisifySuccessResult<T, AddCardOption> + /** [wx.addFileToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addFileToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏文件 */ + addFileToFavorites< + T extends AddFileToFavoritesOption = AddFileToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddFileToFavoritesOption> + /** [wx.addPhoneCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加事件 */ + addPhoneCalendar< + T extends AddPhoneCalendarOption = AddPhoneCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneCalendarOption> + /** [wx.addPhoneContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 添加手机通讯录联系人。用户可以选择将该表单以「新增联系人」或「添加到已有联系人」的方式,写入手机系统通讯录。 */ + addPhoneContact< + T extends AddPhoneContactOption = AddPhoneContactOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneContactOption> + /** [wx.addPhoneRepeatCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 向系统日历添加重复事件 */ + addPhoneRepeatCalendar< + T extends AddPhoneRepeatCalendarOption = AddPhoneRepeatCalendarOption + >( + option: T + ): PromisifySuccessResult<T, AddPhoneRepeatCalendarOption> + /** [wx.addVideoToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addVideoToFavorites.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 收藏视频 */ + addVideoToFavorites< + T extends AddVideoToFavoritesOption = AddVideoToFavoritesOption + >( + option: T + ): PromisifySuccessResult<T, AddVideoToFavoritesOption> + /** [wx.authPrivateMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.authPrivateMessage.html) +* +* 需要基础库: `2.13.0` +* +* 在插件中使用:不支持 +* +* 验证私密消息。用法详情见 [小程序私密消息使用指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) +* +* **示例代码** +* +* ```js +wx.authPrivateMessage({ + shareTicket: 'xxxxxx', + success(res) { + console.log('authPrivateMessage success', res) + // res + // { + // errMsg: 'authPrivateMessage:ok' + // valid: true + // iv: 'xxxx', + // encryptedData: 'xxxxxx' + // } + }, + fail(res) { + console.log('authPrivateMessage fail', res) + } +}) +``` */ + authPrivateMessage(option?: AuthPrivateMessageOption): void + /** [wx.authorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)。 +* > 小程序插件可以使用 [wx.authorizeForMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* **示例代码** +* +* ```js +// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope +wx.getSetting({ + success(res) { + if (!res.authSetting['scope.record']) { + wx.authorize({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } + }) + } + } +}) +``` */ + authorize<T extends AuthorizeOption = AuthorizeOption>( + option: T + ): PromisifySuccessResult<T, AuthorizeOption> + /** [wx.authorizeForMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html) +* +* 需要基础库: `2.14.4` +* +* 在插件中使用:需要基础库 `2.14.4` +* +* **仅小程序插件中能调用该接口**,用法同 [wx.authorize](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)。目前仅支持三种 scope(见下) +* +* **示例代码** +* +* ```js +wx.authorizeForMiniProgram({ + scope: 'scope.record', + success () { + // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问 + wx.startRecord() + } +}) +``` */ + authorizeForMiniProgram(option: AuthorizeForMiniProgramOption): void + /** [wx.batchGetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:不支持 +* +* 从本地缓存中异步批量获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.batchGetStorage({ + keyList: ['key'], + success (res) { + console.log(res) + } +}) +``` */ + batchGetStorage< + T extends BatchGetStorageOption = BatchGetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchGetStorageOption> + /** [wx.batchSetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorage.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.batchSetStorage({ + kvList: { + key: 'key', + value: 'value', + } +}) +``` */ + batchSetStorage< + T extends BatchSetStorageOption = BatchSetStorageOption + >( + option: T + ): PromisifySuccessResult<T, BatchSetStorageOption> + /** [wx.batchSetStorageSync(KVArray kvList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorageSync.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +try { + wx.batchSetStorageSync([{key: 'key', value: 'value'}]) +} catch (e) { } +``` */ + batchSetStorageSync(kvList: KVArray): void + /** [wx.canvasGetImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取 canvas 区域隐含的像素数据。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/yufmRjmZ7W8f) +* +* ```js +wx.canvasGetImageData({ + canvasId: 'myCanvas', + x: 0, + y: 0, + width: 100, + height: 100, + success(res) { + console.log(res.width) // 100 + console.log(res.height) // 100 + console.log(res.data instanceof Uint8ClampedArray) // true + console.log(res.data.length) // 100 * 100 * 4 + } +}) +``` */ + canvasGetImageData< + T extends CanvasGetImageDataOption = CanvasGetImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasGetImageDataOption> + /** [wx.canvasPutImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件 */ + canvasPutImageData< + T extends CanvasPutImageDataOption = CanvasPutImageDataOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasPutImageDataOption> + /** [wx.canvasToTempFilePath(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 */ + canvasToTempFilePath< + T extends CanvasToTempFilePathOption = CanvasToTempFilePathOption + >( + option: T, + /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */ + component?: Component.TrivialInstance | Page.TrivialInstance + ): PromisifySuccessResult<T, CanvasToTempFilePathOption> + /** [wx.checkIsOpenAccessibility(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accessibility/wx.checkIsOpenAccessibility.html) + * + * 需要基础库: `2.13.0` + * + * 在插件中使用:不支持 + * + * 检测是否开启视觉无障碍功能。 */ + checkIsOpenAccessibility< + T extends CheckIsOpenAccessibilityOption = CheckIsOpenAccessibilityOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsOpenAccessibilityOption> + /** [wx.checkIsSoterEnrolledInDevice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSoterEnrolledInDevice.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:不支持 +* +* 获取设备内是否录入如指纹等生物信息的接口 +* +* **示例代码** +* +* ```js +wx.checkIsSoterEnrolledInDevice({ + checkAuthMode: 'fingerPrint', + success(res) { + console.log(res.isEnrolled) + } +}) +``` */ + checkIsSoterEnrolledInDevice< + T extends CheckIsSoterEnrolledInDeviceOption = CheckIsSoterEnrolledInDeviceOption + >( + option: T + ): PromisifySuccessResult<T, CheckIsSoterEnrolledInDeviceOption> + /** [wx.checkIsSupportSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSupportSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 获取本机支持的 SOTER 生物认证方式 +* +* **示例代码** +* +* ```js +wx.checkIsSupportSoterAuthentication({ + success(res) { + // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式 + // res.supportMode = ['fingerPrint'] 只支持指纹识别 + // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别 + } +}) +``` */ + checkIsSupportSoterAuthentication< + T extends CheckIsSupportSoterAuthenticationOption = CheckIsSupportSoterAuthenticationOption + >( + option?: T + ): PromisifySuccessResult<T, CheckIsSupportSoterAuthenticationOption> + /** [wx.checkSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html) +* +* 在插件中使用:不支持 +* +* 检查登录态是否过期。 +* 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。 +* +* 登录态过期后开发者可以再调用 wx.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。 +* +* **示例代码** +* +* ```js +wx.checkSession({ + success () { + //session_key 未过期,并且在本生命周期一直有效 + }, + fail () { + // session_key 已经失效,需要重新执行登录流程 + wx.login() //重新登录 + } +}) +``` */ + checkSession<T extends CheckSessionOption = CheckSessionOption>( + option?: T + ): PromisifySuccessResult<T, CheckSessionOption> + /** [wx.chooseAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/024hHnmd772y) +* ```js +wx.chooseAddress({ + success (res) { + console.log(res.userName) + console.log(res.postalCode) + console.log(res.provinceName) + console.log(res.cityName) + console.log(res.countyName) + console.log(res.detailInfo) + console.log(res.nationalCode) + console.log(res.telNumber) + } +}) +``` */ + chooseAddress<T extends ChooseAddressOption = ChooseAddressOption>( + option?: T + ): PromisifySuccessResult<T, ChooseAddressOption> + /** [wx.chooseContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.chooseContact.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉起手机通讯录,选择联系人。 */ + chooseContact(option?: ChooseContactOption): void + /** [wx.chooseImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 从本地相册选择图片或使用相机拍照。 +* +* **** +* +* ```js +wx.chooseImage({ + count: 1, + sizeType: ['original', 'compressed'], + sourceType: ['album', 'camera'], + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFilePaths + } +}) +``` */ + chooseImage<T extends ChooseImageOption = ChooseImageOption>( + option?: T + ): PromisifySuccessResult<T, ChooseImageOption> + /** [wx.chooseInvoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.16.1` + * + * 选择用户已有的发票。 + * + * **通过 cardId 和 encryptCode 获得报销发票的信息** + * + * 请参考[微信电子发票文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21517918939oae3U)中,「查询报销发票信息」部分。 + * 其中 `access_token` 的获取请参考[auth.getAccessToken](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html)文档 */ + chooseInvoice<T extends ChooseInvoiceOption = ChooseInvoiceOption>( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceOption> + /** [wx.chooseInvoiceTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.16.1` +* +* 选择用户的发票抬头。当前小程序必须关联一个公众号,且这个公众号是完成了[微信认证](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496554031_RD4xe)的,才能调用 chooseInvoiceTitle。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/GJ4S9nmQ7x2E) +* +* ```js +wx.chooseInvoiceTitle({ + success(res) {} +}) +``` */ + chooseInvoiceTitle< + T extends ChooseInvoiceTitleOption = ChooseInvoiceTitleOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseInvoiceTitleOption> + /** [wx.chooseLicensePlate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/license-plate/wx.chooseLicensePlate.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 选择车牌号 */ + chooseLicensePlate< + T extends ChooseLicensePlateOption = ChooseLicensePlateOption + >( + option?: T + ): PromisifySuccessResult<T, ChooseLicensePlateOption> + /** [wx.chooseLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开地图选择位置。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/WDFC8aB4FI8rJ9oEmbYfbH_Fl3EIv91471YVxezVfLRESkUuCgfODZcbOoyteKU4j-OLZa2EFKY9BDPd3g-tfg) */ + chooseLocation<T extends ChooseLocationOption = ChooseLocationOption>( + option: T + ): PromisifySuccessResult<T, ChooseLocationOption> + /** [wx.chooseMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:需要基础库 `2.11.1` +* +* 拍摄或从手机相册中选择图片或视频。 +* +* **示例代码** +* +* ```js +wx.chooseMedia({ + count: 9, + mediaType: ['image','video'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success(res) { + console.log(res.tempFiles.tempFilePath) + console.log(res.tempFiles.size) + } +}) +``` */ + chooseMedia<T extends ChooseMediaOption = ChooseMediaOption>( + option: T + ): PromisifySuccessResult<T, ChooseMediaOption> + /** [wx.chooseMessageFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html) +* +* 需要基础库: `2.5.0` +* +* 在插件中使用:不支持 +* +* 从客户端会话选择文件。 +* +* **** +* +* ```js +wx.chooseMessageFile({ + count: 10, + type: 'image', + success (res) { + // tempFilePath可以作为img标签的src属性显示图片 + const tempFilePaths = res.tempFiles + } +}) +``` */ + chooseMessageFile< + T extends ChooseMessageFileOption = ChooseMessageFileOption + >( + option: T + ): PromisifySuccessResult<T, ChooseMessageFileOption> + /** [wx.choosePoi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.choosePoi.html) + * + * 在插件中使用:不支持 + * + * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)** + * + * 打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * ## 申请开通 + * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 + * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * **示例** + * + * ![](https://res.wx.qq.com/op_res/lzDsNyBNifLczyLX0ms7ZpPQysgAgdhrQTGzzTQPiXkAB2HJIf1Slvl4rnN9I1q0AT3xqoGTg98jMsNexDLbbA) */ + choosePoi<T extends ChoosePoiOption = ChoosePoiOption>( + option: T + ): PromisifySuccessResult<T, ChoosePoiOption> + /** [wx.chooseVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [2.21.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.chooseMedia](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html) 替换 +* +* 拍摄视频或从手机相册中选视频。 +* +* **示例代码** +* +* ```js +wx.chooseVideo({ + sourceType: ['album','camera'], + maxDuration: 60, + camera: 'back', + success(res) { + console.log(res.tempFilePath) + } +}) +``` */ + chooseVideo<T extends ChooseVideoOption = ChooseVideoOption>( + option: T + ): PromisifySuccessResult<T, ChooseVideoOption> + /** [wx.clearStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) +* +* 在插件中使用:不支持 +* +* 清理本地数据缓存。 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorage<T extends ClearStorageOption = ClearStorageOption>( + option?: T + ): PromisifySuccessResult<T, ClearStorageOption> + /** [wx.clearStorageSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html) +* +* 在插件中使用:不支持 +* +* [wx.clearStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.clearStorage() +``` +* +* ```js +try { + wx.clearStorageSync() +} catch(e) { + // Do something when catch error +} +``` */ + clearStorageSync(): void + /** [wx.closeBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 断开与蓝牙低功耗设备的连接。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + closeBLEConnection< + T extends CloseBLEConnectionOption = CloseBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CloseBLEConnectionOption> + /** [wx.closeBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 成对调用。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.closeBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + closeBluetoothAdapter< + T extends CloseBluetoothAdapterOption = CloseBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, CloseBluetoothAdapterOption> + /** [wx.closeSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.closeSocket.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 关闭 WebSocket 连接。 +* +* **示例代码** +* +* ```js +wx.connectSocket({ + url: 'test.php' +}) + +//注意这里有时序问题, +//如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。 +//必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。 +wx.onSocketOpen(function() { + wx.closeSocket() +}) + +wx.onSocketClose(function(res) { + console.log('WebSocket 已关闭!') +}) +``` */ + closeSocket<T extends CloseSocketOption = CloseSocketOption>( + option?: T + ): PromisifySuccessResult<T, CloseSocketOption> + /** [wx.compressImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.compressImage.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.12.0` +* +* 压缩图片接口,可选压缩质量 +* +* **示例代码** +* +* ```js +wx.compressImage({ + src: '', // 图片路径 + quality: 80 // 压缩质量 +}) +``` */ + compressImage<T extends CompressImageOption = CompressImageOption>( + option: T + ): PromisifySuccessResult<T, CompressImageOption> + /** [wx.compressVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.compressVideo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.1` + * + * 压缩视频接口。开发者可指定压缩质量 `quality` 进行压缩。当需要更精细的控制时,可指定 `bitrate`、`fps`、和 `resolution`,当 `quality` 传入时,这三个参数将被忽略。原视频的相关信息可通过 [getVideoInfo](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) 获取。 */ + compressVideo<T extends CompressVideoOption = CompressVideoOption>( + option: T + ): PromisifySuccessResult<T, CompressVideoOption> + /** [wx.connectWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.connectWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。 +* +* **示例代码** +* +* ```js +wx.connectWifi({ + SSID: '', + password: '', + success (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 微信客户端 7.0.22 以上版本,connectWifi 的实现在 Android 10 及以上的手机无法生效,对于 Android 10 及以上版本,设备连接 wifi 之后,(受系统能力限制)其他进程无法使用当前连接的 wifi ;即连接上的 wifi 只对当前小程序有效,如果想要对整个系统生效,需要配置 maunal 来连接 wifi。 +* - iOS 系统底层没有给开发者提供因 wifi 密码错误而连接失败的事件,但用户可以收到密码错误的系统弹窗。建议开发者通过 onWifiConnected 事件来判断 wifi 是否连接成功;即设置定时器,若超时后仍没有 onWifiConnected 事件,则认定此次 wifi 连接无效。 +* - Android / iOS 在系统已经连上目标 wifi 的情况下,小程序再次连接目标 wifi,此时无论输入的密码是否正确,系统都会默认此次连接成功,且没有 onWifiConnected 事件。 +* - onWifiConnected 事件可能会返回空对象,此时代表 wifi 断开连接,开发者可忽略这种情况。 */ + connectWifi<T extends ConnectWifiOption = ConnectWifiOption>( + option: T + ): PromisifySuccessResult<T, ConnectWifiOption> + /** [wx.createBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 连接蓝牙低功耗设备。 +* +* 若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需再次进行搜索操作。 +* +* **注意** +* +* - 请保证尽量成对的调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 和 [wx.closeBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html) 接口。安卓如果重复调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用 `closeBLEConnection` 的时候并不能真正的断开与设备的连接。 +* - 蓝牙连接随时可能断开,建议监听 [wx.onBLEConnectionStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) 回调事件,当蓝牙设备断开时按需执行重连操作 +* - 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.createBLEConnection({ + deviceId, + success (res) { + console.log(res) + } +}) +``` */ + createBLEConnection< + T extends CreateBLEConnectionOption = CreateBLEConnectionOption + >( + option: T + ): PromisifySuccessResult<T, CreateBLEConnectionOption> + /** [wx.createBLEPeripheralServer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 建立本地作为蓝牙低功耗外围设备的服务端,可创建多个。 */ + createBLEPeripheralServer< + T extends CreateBLEPeripheralServerOption = CreateBLEPeripheralServerOption + >( + option?: T + ): PromisifySuccessResult<T, CreateBLEPeripheralServerOption> + /** [wx.createBufferURL(ArrayBuffer|TypedArray buffer)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据传入的 buffer 创建一个唯一的 URL 存在内存中 */ + createBufferURL( + /** 需要存入内存的二进制数据 */ + buffer: + | ArrayBuffer + | Int8Array + | Uint8Array + | Uint8ClampedArray + | Int16Array + | Uint16Array + | Int32Array + | Uint32Array + | Float32Array + | Float64Array + ): void + /** [wx.disableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.disableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 关闭小程序页面返回询问对话框。 */ + disableAlertBeforeUnload(option?: DisableAlertBeforeUnloadOption): void + /** [wx.editImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.editImage.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:不支持 +* +* 编辑图片接口 +* +* **示例代码** +* +* ```js +wx.editImage({ + src: '', // 图片路径 +}) +``` */ + editImage(option: EditImageOption): void + /** [wx.enableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:不支持 + * + * 开启小程序页面返回询问对话框。 + * + * ## 弹窗条件 + * * 当用户在小程序内非首页页面/最底层页 + * * 官方导航栏上的的返回 + * * 全屏模式下自绘返回键 + * * android 系统 back 键时 + * + * ## 注意事项 + * * 手势滑动返回时不做拦截 + * * 在任何场景下,此功能都不应拦住用户退出小程序的行为 + * + * **示例代码** + * + * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MTPm9Cmh7VfT) */ + enableAlertBeforeUnload(option: EnableAlertBeforeUnloadOption): void + /** [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html) + * + * 需要基础库: `2.17.3` + * + * 在插件中使用:不支持 + * + * 退出当前小程序。必须有点击行为才能调用成功。 */ + exitMiniProgram< + T extends ExitMiniProgramOption = ExitMiniProgramOption + >( + option?: T + ): PromisifySuccessResult<T, ExitMiniProgramOption> + /** [wx.exitVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.exitVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 退出(销毁)实时语音通话 */ + exitVoIPChat<T extends ExitVoIPChatOption = ExitVoIPChatOption>( + option?: T + ): PromisifySuccessResult<T, ExitVoIPChatOption> + /** [wx.faceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 人脸检测,使用前需要通过 wx.initFaceDetect 进行一次初始化,推荐使用相机接口返回的帧数据。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + faceDetect(option: FaceDetectOption): void + /** [wx.getAvailableAudioSources(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) + * + * 需要基础库: `2.1.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取当前支持的音频输入源 */ + getAvailableAudioSources< + T extends GetAvailableAudioSourcesOption = GetAvailableAudioSourcesOption + >( + option?: T + ): PromisifySuccessResult<T, GetAvailableAudioSourcesOption> + /** [wx.getBLEDeviceCharacteristics(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备某个服务中所有特征 (characteristic)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceCharacteristics({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 wx.getBLEDeviceServices 接口中获取 + serviceId, + success (res) { + console.log('device getBLEDeviceCharacteristics:', res.characteristics) + } +}) +``` */ + getBLEDeviceCharacteristics< + T extends GetBLEDeviceCharacteristicsOption = GetBLEDeviceCharacteristicsOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceCharacteristicsOption> + /** [wx.getBLEDeviceRSSI(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。 */ + getBLEDeviceRSSI< + T extends GetBLEDeviceRSSIOption = GetBLEDeviceRSSIOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceRSSIOption> + /** [wx.getBLEDeviceServices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取蓝牙低功耗设备所有服务 (service)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEDeviceServices({ + // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立连接 + deviceId, + success (res) { + console.log('device services:', res.services) + } +}) +``` */ + getBLEDeviceServices< + T extends GetBLEDeviceServicesOption = GetBLEDeviceServicesOption + >( + option: T + ): PromisifySuccessResult<T, GetBLEDeviceServicesOption> + /** [wx.getBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEMTU.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 获取蓝牙低功耗的最大传输单元。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。 +* +* **注意** +* +* - 小程序中 MTU 为 ATT_MTU,包含 Op-Code 和 Attribute Handle 的长度,实际可以传输的数据长度为 `ATT_MTU - 3` +* - iOS 系统中 MTU 为固定值;安卓系统中,MTU 会在系统协商成功之后发生改变,建议使用 [wx.onBLEMTUChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) 监听。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBLEMTU({ + deviceId: '', + writeType: 'write', + success (res) { + console.log(res) + } +}) +``` */ + getBLEMTU<T extends GetBLEMTUOption = GetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, GetBLEMTUOption> + /** [wx.getBackgroundAudioPlayerState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioPlayerState.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 获取后台音乐播放状态。 +* +* **示例代码** +* +* ```js +wx.getBackgroundAudioPlayerState({ + success (res) { + const status = res.status + const dataUrl = res.dataUrl + const currentPosition = res.currentPosition + const duration = res.duration + const downloadPercent = res.downloadPercent + } +}) +``` */ + getBackgroundAudioPlayerState< + T extends GetBackgroundAudioPlayerStateOption = GetBackgroundAudioPlayerStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundAudioPlayerStateOption> + /** [wx.getBackgroundFetchData(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 拉取 backgroundFetch 客户端缓存数据。 + * 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据会返回失败,而不会等待请求完成。 */ + getBackgroundFetchData< + T extends GetBackgroundFetchDataOption = GetBackgroundFetchDataOption + >( + option: T + ): PromisifySuccessResult<T, GetBackgroundFetchDataOption> + /** [wx.getBackgroundFetchToken(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 获取设置过的自定义登录态。若无,则返回 fail。 */ + getBackgroundFetchToken< + T extends GetBackgroundFetchTokenOption = GetBackgroundFetchTokenOption + >( + option?: T + ): PromisifySuccessResult<T, GetBackgroundFetchTokenOption> + /** [wx.getBatteryInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 获取设备电量。同步 API [wx.getBatteryInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) 在 iOS 上不可用。 */ + getBatteryInfo<T extends GetBatteryInfoOption = GetBatteryInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetBatteryInfoOption> + /** [wx.getBeacons(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.getBeacons.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取所有已搜索到的 Beacon 设备 */ + getBeacons<T extends GetBeaconsOption = GetBeaconsOption>( + option?: T + ): PromisifySuccessResult<T, GetBeaconsOption> + /** [wx.getBluetoothAdapterState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothAdapterState.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取本机蓝牙适配器状态。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getBluetoothAdapterState({ + success (res) { + console.log(res) + } +}) +``` */ + getBluetoothAdapterState< + T extends GetBluetoothAdapterStateOption = GetBluetoothAdapterStateOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothAdapterStateOption> + /** [wx.getBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.getBluetoothDevices({ + success: function (res) { + console.log(res) + if (res.devices[0]) { + console.log(ab2hex(res.devices[0].advertisData)) + } + } +}) +``` +* +* **注意** +* +* - 该接口获取到的设备列表为**蓝牙模块生效期间所有搜索到的蓝牙设备**,若在蓝牙模块使用流程结束后未及时调用 [wx.closeBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) 释放资源,会存在调用该接口会返回之前的蓝牙使用流程中搜索到的蓝牙设备,可能设备已经不在用户身边,无法连接。 */ + getBluetoothDevices< + T extends GetBluetoothDevicesOption = GetBluetoothDevicesOption + >( + option?: T + ): PromisifySuccessResult<T, GetBluetoothDevicesOption> + /** [wx.getChannelsLiveInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveInfo.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播信息 */ + getChannelsLiveInfo(option: GetChannelsLiveInfoOption): void + /** [wx.getChannelsLiveNoticeInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveNoticeInfo.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 获取视频号直播预告信息 */ + getChannelsLiveNoticeInfo(option: GetChannelsLiveNoticeInfoOption): void + /** [wx.getChannelsShareKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsShareKey.html) + * + * 需要基础库: `2.22.1` + * + * 在插件中使用:不支持 + * + * 获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用。 */ + getChannelsShareKey(option?: GetChannelsShareKeyOption): void + /** [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.getClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统剪贴板的内容 +* +* **示例代码** +* +* ```js +wx.getClipboardData({ + success (res){ + console.log(res.data) + } +}) +``` */ + getClipboardData< + T extends GetClipboardDataOption = GetClipboardDataOption + >( + option?: T + ): PromisifySuccessResult<T, GetClipboardDataOption> + /** [wx.getConnectedBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getConnectedBluetoothDevices.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 根据主服务 UUID 获取已连接的蓝牙设备。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.getConnectedBluetoothDevices({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + getConnectedBluetoothDevices< + T extends GetConnectedBluetoothDevicesOption = GetConnectedBluetoothDevicesOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedBluetoothDevicesOption> + /** [wx.getConnectedWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getConnectedWifi.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 获取已连接中的 Wi-Fi 信息。 */ + getConnectedWifi< + T extends GetConnectedWifiOption = GetConnectedWifiOption + >( + option: T + ): PromisifySuccessResult<T, GetConnectedWifiOption> + /** [wx.getExtConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 获取[第三方平台](https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html)自定义的数据字段。 +* +* **Tips** +* +* 1. 本接口暂时无法通过 [wx.canIUse](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html) 判断是否兼容,开发者需要自行判断 [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 是否存在来兼容 +* +* **** +* +* ```js +if (wx.getExtConfig) { + wx.getExtConfig({ + success (res) { + console.log(res.extConfig) + } + }) +} +``` */ + getExtConfig<T extends GetExtConfigOption = GetExtConfigOption>( + option?: T + ): PromisifySuccessResult<T, GetExtConfigOption> + /** [wx.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileInfo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取文件信息。 +* +* **示例代码** +* +* ```js +wx.getFileInfo({ + success (res) { + console.log(res.size) + console.log(res.digest) + } +}) +``` */ + getFileInfo<T extends WxGetFileInfoOption = WxGetFileInfoOption>( + option: T + ): PromisifySuccessResult<T, WxGetFileInfoOption> + /** [wx.getFuzzyLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html) +* +* 需要基础库: `2.25.0` +* +* 在插件中使用:支持 +* +* 获取当前的模糊地理位置。 +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* ## 申请开通 +* 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 从2022年7月14日开始在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* **示例代码** +* +* ```js + wx.getFuzzyLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + } +}) + ``` */ + getFuzzyLocation(option: GetFuzzyLocationOption): void + /** [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* 获取微信群聊场景下的小程序启动信息。群聊场景包括群聊小程序消息卡片、群待办、群工具。可用于获取当前群的 opengid。 +* ## 注意事项 +* - 基础库 v2.10.4 开始支持获取群工具小程序启动信息 +* - 基础库 v2.17.3 开始支持获取群聊小程序消息卡片、群待办小程序启动信息 +* +* **示例代码** +* +* ```js +wx.getGroupEnterInfo({ + success(res) { + // res + { + errMsg: 'getGroupEnterInfo:ok', + encryptedData: '', + iv: '' + } + }, + fail() { + + } +}) +``` +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识): +* +* ```json +{ + "opengid": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用[开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 `wx.getGroupInfo` 接口获取群名称 */ + getGroupEnterInfo(option: GetGroupEnterInfoOption): void + /** [wx.getHCEState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.getHCEState.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 判断当前设备是否支持 HCE 能力。 +* +* **示例代码** +* +* ```js +wx.getHCEState({ + success (res) { + console.log(res.errCode) + } +}) +``` */ + getHCEState<T extends GetHCEStateOption = GetHCEStateOption>( + option?: T + ): PromisifySuccessResult<T, GetHCEStateOption> + /** [wx.getImageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.getImageInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取图片信息。网络图片需先配置download域名才能生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/Kd47Sbmr6yYu) +* +* ```js +wx.getImageInfo({ + src: 'images/a.jpg', + success (res) { + console.log(res.width) + console.log(res.height) + } +}) + +wx.chooseImage({ + success (res) { + wx.getImageInfo({ + src: res.tempFilePaths[0], + success (res) { + console.log(res.width) + console.log(res.height) + } + }) + } +}) +``` */ + getImageInfo<T extends GetImageInfoOption = GetImageInfoOption>( + option: T + ): PromisifySuccessResult<T, GetImageInfoOption> + /** [wx.getLocalIPAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 获取局域网IP地址 +* +* **示例代码** +* +* ```js +wx.getLocalIPAddress({ + success (res) { + const localip = res.localip + } +}) +``` */ + getLocalIPAddress(option: GetLocalIPAddressOption): void + /** [wx.getLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。 +* 高频率调用会导致耗电,如有需要可使用持续定位接口 `wx.onLocationChange`。 +* 基础库 `2.17.0` 版本起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台、餐饮服务场所/餐饮服务管理企业 | 线下送餐服务 | +* | 工具 | 天气、信息查询、办公、设备管理 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询、智能穿戴、智能门禁、与地理位置相关的打卡服务等 | +* | 金融 | 银行、非金融机构自营小额贷款/融资担保/商业保理、保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务、住宿服务 | 提供景区导航、导览服务、酒店导航服务 | +* | 汽车服务 | 维修保养、汽车用品、汽车经销商/4S店、汽车厂商、汽车预售、二手车 | 提供汽车售卖、维保洗美服务、查找附近的维修点/洗车网点等导航服务 | +* | IT科技 | 基础电信运营商、电信业务代理商 | 提供运营商线下网点的预约、基于地理位置取号并现场报到、网点导航等服务 | +* | 房地产服务 | 物业管理、房屋中介、房屋装修 | 提供房地产开发商及物业公司门店导览导航服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货、超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'wgs84', + success (res) { + const latitude = res.latitude + const longitude = res.longitude + const speed = res.speed + const accuracy = res.accuracy + } +}) + ``` +* +* **注意** +* +* - `2.17.0 起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801) +* - 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。 +* - 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。 */ + getLocation<T extends GetLocationOption = GetLocationOption>( + option: T + ): PromisifySuccessResult<T, GetLocationOption> + /** [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取网络类型 +* +* **示例代码** +* +* ```js +wx.getNetworkType({ + success (res) { + const networkType = res.networkType + } +}) +``` */ + getNetworkType<T extends GetNetworkTypeOption = GetNetworkTypeOption>( + option?: T + ): PromisifySuccessResult<T, GetNetworkTypeOption> + /** [wx.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html) +* +* 需要基础库: `2.15.0` +* +* 在插件中使用:不支持 +* +* 获取密码学安全随机数 +* +* **示例代码** +* +* ```js +wx.getRandomValues({ + length: 6 // 生成 6 个字节长度的随机数, + success: res => { + console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印 + } +}) +``` */ + getRandomValues< + T extends GetRandomValuesOption = GetRandomValuesOption + >( + option: T + ): PromisifySuccessResult<T, GetRandomValuesOption> + /** [wx.getSavedFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileInfo.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getFileInfo](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)** +* +* 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileInfo< + T extends GetSavedFileInfoOption = GetSavedFileInfoOption + >( + option: T + ): PromisifySuccessResult<T, GetSavedFileInfoOption> + /** [wx.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getSavedFileList.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.getSavedFileList](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)** +* +* 获取该小程序下已保存的本地缓存文件列表。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + console.log(res.fileList) + } +}) +``` */ + getSavedFileList< + T extends WxGetSavedFileListOption = WxGetSavedFileListOption + >( + option?: T + ): PromisifySuccessResult<T, WxGetSavedFileListOption> + /** [wx.getScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 获取屏幕亮度 + * + * **说明** + * + * - 若安卓系统设置中开启了自动调节亮度功能,则屏幕亮度会根据光线自动调整,该接口仅能获取自动调节亮度之前的值,而非实时的亮度值。 */ + getScreenBrightness< + T extends GetScreenBrightnessOption = GetScreenBrightnessOption + >( + option?: T + ): PromisifySuccessResult<T, GetScreenBrightnessOption> + /** [wx.getScreenRecordingState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenRecordingState.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 查询用户是否在录屏。 + * + * **示例代码** + * + * ```js + * wx.getScreenRecordingState({ + * success: function (res) { + * console.log(res.state) + * }, + * }) */ + getScreenRecordingState(option?: GetScreenRecordingStateOption): void + /** [wx.getSelectedTextRange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.getSelectedTextRange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。 +* +* **示例代码** +* +* ```js +wx.getSelectedTextRange({ + complete: res => { + console.log('getSelectedTextRange res', res.start, res.end) + } +}) +``` */ + getSelectedTextRange< + T extends GetSelectedTextRangeOption = GetSelectedTextRangeOption + >( + option?: T + ): PromisifySuccessResult<T, GetSelectedTextRangeOption> + /** [wx.getSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.6.3` +* +* 在插件中使用时,接口有以下不同: +* - `withSubscriptions` 无效(插件暂无订阅消息) +* - 返回值中的 `authSetting` 字段中是插件的权限(如用户信息功能页授权) +* - [2.14.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起返回值中有 `miniprogramAuthSetting` 字段,内容等于当前小程序 `getSetting` 的结果(不含订阅状态) +* +* 获取用户的当前设置。**返回值中只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **示例代码** +* +* ```js +wx.getSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` +* +* ```js +wx.getSetting({ + withSubscriptions: true, + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + console.log(res.subscriptionsSetting) + // res.subscriptionsSetting = { + // mainSwitch: true, // 订阅消息总开关 + // itemSettings: { // 每一项开关 + // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息 + // SYS_MSG_TYPE_RANK: 'accept' + // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息 + // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban', + // } + // } + } +}) +``` */ + getSetting<T extends GetSettingOption = GetSettingOption>( + option?: T + ): PromisifySuccessResult<T, GetSettingOption> + /** [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 获取转发详细信息 +* +* **示例代码** +* +* 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识): +* +* ```json +{ + "openGId": "OPENGID" +} +``` +* +* **Tips** +* +* - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html) +* - 小游戏可以通过 [`wx.getGroupInfo`](#) 接口获取群名称 */ + getShareInfo<T extends GetShareInfoOption = GetShareInfoOption>( + option: T + ): PromisifySuccessResult<T, GetShareInfoOption> + /** [wx.getStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中异步获取指定 key 的内容。 +* +* **示例代码** +* +* ```js +wx.getStorage({ + key: 'key', + success (res) { + console.log(res.data) + } +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + getStorage< + T = any, + U extends GetStorageOption<T> = GetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, GetStorageOption<T>> + /** [wx.getStorageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) +* +* 在插件中使用:不支持 +* +* 异步获取当前storage的相关信息。 +* +* **示例代码** +* +* ```js +wx.getStorageInfo({ + success (res) { + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) + } +}) +``` +* +* ```js +try { + const res = wx.getStorageInfoSync() + console.log(res.keys) + console.log(res.currentSize) + console.log(res.limitSize) +} catch (e) { + // Do something when catch error +} +``` */ + getStorageInfo<T extends GetStorageInfoOption = GetStorageInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetStorageInfoOption> + /** [wx.getSystemInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 获取系统信息。**由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 [wx.getSystemInfoAsync](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)。** +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfo({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` +* +* ```js +try { + const res = wx.getSystemInfoSync() + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) +} catch (e) { + // Do something when catch error +} +``` */ + getSystemInfo<T extends GetSystemInfoOption = GetSystemInfoOption>( + option?: T + ): PromisifySuccessResult<T, GetSystemInfoOption> + /** [wx.getSystemInfoAsync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html) +* +* 需要基础库: `2.14.1` +* +* 在插件中使用:不支持 +* +* 异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO) +* +* ```js +wx.getSystemInfoAsync({ + success (res) { + console.log(res.model) + console.log(res.pixelRatio) + console.log(res.windowWidth) + console.log(res.windowHeight) + console.log(res.language) + console.log(res.version) + console.log(res.platform) + } +}) +``` */ + getSystemInfoAsync(option?: GetSystemInfoAsyncOption): void + /** [wx.getUserInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。 +* +* **示例代码** +* +* ```js +// 必须是在用户已经授权的情况下调用 +wx.getUserInfo({ + success: function(res) { + var userInfo = res.userInfo + var nickName = userInfo.nickName + var avatarUrl = userInfo.avatarUrl + var gender = userInfo.gender //性别 0:未知、1:男、2:女 + var province = userInfo.province + var city = userInfo.city + var country = userInfo.country + } +}) +``` +* +* 敏感数据有两种获取方式: +* 1. 使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) +* 2. 使用 [云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#云调用直接获取开放数据) +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "openId": "OPENID", + "nickName": "NICKNAME", + "gender": GENDER, + "city": "CITY", + "province": "PROVINCE", + "country": "COUNTRY", + "avatarUrl": "AVATARURL", + "unionId": "UNIONID", + "watermark": { + "appid":"APPID", + "timestamp":TIMESTAMP + } +} +``` +* +* **小程序用户信息组件示例代码** +* +* ```html +* <!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 --> +* <open-data type="userAvatarUrl"></open-data> +* <open-data type="userNickName"></open-data> +* <!-- 需要使用 button 来授权登录 --> +* <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button> +* <view wx:else>请升级微信版本</view> +* ``` +* +* ```js +Page({ + data: { + canIUse: wx.canIUse('button.open-type.getUserInfo') + }, + onLoad: function() { + // 查看是否授权 + wx.getSetting({ + success (res){ + if (res.authSetting['scope.userInfo']) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function(res) { + console.log(res.userInfo) + } + }) + } + } + }) + }, + bindGetUserInfo (e) { + console.log(e.detail.userInfo) + } +}) +``` */ + getUserInfo<T extends GetUserInfoOption = GetUserInfoOption>( + option: T + ): PromisifySuccessResult<T, GetUserInfoOption> + /** [wx.getUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html) +* +* 需要基础库: `2.10.4` +* +* 在插件中使用:不支持 +* +* @warning **用户头像昵称获取规则已调整,参考 [小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)** +* +* 获取用户信息。页面产生点击事件(例如 `button` 上 `bindtap` 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 `userInfo`。该接口用于替换 `wx.getUserInfo`,详见 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tsJaq2mP7Mp4) +* +* **Bug & Tip** +* +* 1. `tip`:仅小程序中 `wx.getUserInfo` 接口进行调整,小游戏中不受影响; +* 2. `tip`:开发者工具中仅 2.10.4 及以上版本可访问 `wx.getUserProfile` 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 `canIUse` 进行条件。 +* 3. `tip`:`wx.getUserProfile` 返回的加密数据中不包含 `openId` 和 `unionId` 字段。 +* 4. `bug`:开发者工具中 `2.10.4`~`2.16.1` 基础库版本通过 `<button open-type="getUserInfo">` 会返回真实数据,真机上此区间会按照公告返回匿名数据。 +* +* ```html +* <view class="container"> +* <view class="userinfo"> +* <block wx:if="{{!hasUserInfo}}"> +* <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button> +* <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button> +* </block> +* <block wx:else> +* <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> +* <text class="userinfo-nickname">{{userInfo.nickName}}</text> +* </block> +* </view> +* </view> +* ``` +* +* ```js +Page({ + data: { + userInfo: {}, + hasUserInfo: false, + canIUseGetUserProfile: false, + }, + onLoad() { + if (wx.getUserProfile) { + this.setData({ + canIUseGetUserProfile: true + }) + } + }, + getUserProfile(e) { + // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 + // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 + wx.getUserProfile({ + desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + this.setData({ + userInfo: res.userInfo, + hasUserInfo: true + }) + } + }) + }, + getUserInfo(e) { + // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息 + this.setData({ + userInfo: e.detail.userInfo, + hasUserInfo: true + }) + }, +}) +``` */ + getUserProfile<T extends GetUserProfileOption = GetUserProfileOption>( + option: T + ): PromisifySuccessResult<T, GetUserProfileOption> + /** [wx.getVideoInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:支持 + * + * 获取视频详细信息。 */ + getVideoInfo<T extends GetVideoInfoOption = GetVideoInfoOption>( + option: T + ): PromisifySuccessResult<T, GetVideoInfoOption> + /** [wx.getWeRunData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:不支持 +* +* 获取用户过去三十天微信运动步数。需要先调用 [wx.login](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) 接口。步数信息会在用户主动进入小程序时更新。 +* +* **示例代码** +* +* ```js +wx.getWeRunData({ + success (res) { + // 拿 encryptedData 到开发者后台解密开放数据 + const encryptedData = res.encryptedData + // 或拿 cloudID 通过云调用直接获取开放数据 + const cloudID = res.cloudID + } +}) +``` +* +* **开放数据 JSON 结构** +* +* 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。 +* 获取得到的开放数据为以下 json 结构: +* +* ```json +{ + "stepInfoList": [ + { + "timestamp": 1445866601, + "step": 100 + }, + { + "timestamp": 1445876601, + "step": 120 + } + ] +} +``` +* +* stepInfoList 中,每一项结构如下: +* +* | 属性 | 类型 | 说明 | +* | --- | ---- | --- | +* | timestamp | number | 时间戳,表示数据对应的时间 | +* | step | number | 微信运动步数 | */ + getWeRunData<T extends GetWeRunDataOption = GetWeRunDataOption>( + option?: T + ): PromisifySuccessResult<T, GetWeRunDataOption> + /** [wx.getWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 请求获取 Wi-Fi 列表。`wifiList` 数据会在 [`onGetWifiList`](#) 注册的回调中返回。 **Android 调用前需要 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) scope.userLocation。** + * + * iOS 上将跳转到系统设置中的微信设置页,需要用户手动进入「无线局域网」设置页,并在系统扫描到设备后,小程序才能收到 onGetWifiList 回调。Android 不会跳转。 + * + * **注意** + * + * 因系统问题,本方法在 iOS 11.0 及 11.1 两个版本失效。但在 iOS 11.2 中已修复。 */ + getWifiList<T extends GetWifiListOption = GetWifiListOption>( + option?: T + ): PromisifySuccessResult<T, GetWifiListOption> + /** [wx.hideHomeButton(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideHomeButton.html) + * + * 需要基础库: `2.8.3` + * + * 在插件中使用:不支持 + * + * 隐藏返回首页按钮。微信7.0.7版本起,当用户打开的小程序最底层页面是非首页时,默认展示“返回首页”按钮,开发者可在页面 onShow 中调用 hideHomeButton 进行隐藏。 */ + hideHomeButton<T extends HideHomeButtonOption = HideHomeButtonOption>( + option?: T + ): PromisifySuccessResult<T, HideHomeButtonOption> + /** [wx.hideKeyboard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.hideKeyboard.html) +* +* 需要基础库: `2.8.2` +* +* 在插件中使用:不支持 +* +* 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘 +* +* **示例代码** +* +* ```js +wx.hideKeyboard({ + complete: res => { + console.log('hideKeyboard res', res) + } +}) +``` */ + hideKeyboard<T extends HideKeyboardOption = HideKeyboardOption>( + option?: T + ): PromisifySuccessResult<T, HideKeyboardOption> + /** [wx.hideLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) + * + * 需要基础库: `1.1.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏 loading 提示框 */ + hideLoading<T extends HideLoadingOption = HideLoadingOption>( + option?: T + ): PromisifySuccessResult<T, HideLoadingOption> + /** [wx.hideNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面隐藏导航条加载动画 */ + hideNavigationBarLoading< + T extends HideNavigationBarLoadingOption = HideNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, HideNavigationBarLoadingOption> + /** [wx.hideShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.hideShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 隐藏当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮 +* +* **示例代码** +* +* ```js +wx.hideShareMenu({ + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + hideShareMenu<T extends HideShareMenuOption = HideShareMenuOption>( + option?: T + ): PromisifySuccessResult<T, HideShareMenuOption> + /** [wx.hideTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar */ + hideTabBar<T extends HideTabBarOption = HideTabBarOption>( + option: T + ): PromisifySuccessResult<T, HideTabBarOption> + /** [wx.hideTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 隐藏 tabBar 某一项的右上角的红点 */ + hideTabBarRedDot< + T extends HideTabBarRedDotOption = HideTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, HideTabBarRedDotOption> + /** [wx.hideToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 隐藏消息提示框 */ + hideToast<T extends HideToastOption = HideToastOption>( + option?: T + ): PromisifySuccessResult<T, HideToastOption> + /** [wx.initFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 初始化人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + initFaceDetect(option?: InitFaceDetectOption): void + /** [wx.isBluetoothDevicePaired(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.isBluetoothDevicePaired.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.19.1` + * + * 查询蓝牙设备是否配对,仅安卓支持。 */ + isBluetoothDevicePaired< + T extends IsBluetoothDevicePairedOption = IsBluetoothDevicePairedOption + >( + option: T + ): PromisifySuccessResult<T, IsBluetoothDevicePairedOption> + /** [wx.join1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.join1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 加入(创建)双人通话。 */ + join1v1Chat(option: Join1v1ChatOption): void + /** [wx.joinVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.joinVoIPChat.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 加入 (创建) 实时语音通话,更多信息可见 [实时语音指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/voip-chat.html)。调用前需要用户授权 `scope.record`,若房间类型为视频房间需要用户授权 `scope.camera`。 */ + joinVoIPChat<T extends JoinVoIPChatOption = JoinVoIPChatOption>( + option: T + ): PromisifySuccessResult<T, JoinVoIPChatOption> + /** [wx.loadFontFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 动态加载网络字体,文件地址需为下载类型。[2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)起支持全局生效,需在 `app.js` 中调用。 +* +* 注意: +* 1. 字体文件返回的 contet-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。 +* 2. 字体链接必须是https(ios不支持http) +* 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com` +* 4. 工具里提示 Faild to load font可以忽略 +* 5. [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 以前仅在调用页面生效。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/b6Zrajm67R2x) +* ```js +wx.loadFontFace({ + family: 'Bitstream Vera Serif Bold', + source: 'url("https://sungd.github.io/Pacifico.ttf")', + success: console.log +}) +``` */ + loadFontFace<T extends LoadFontFaceOption = LoadFontFaceOption>( + option: T + ): PromisifySuccessResult<T, LoadFontFaceOption> + /** [wx.login(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html) +* +* 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 +* +* **示例代码** +* +* ```js +wx.login({ + success (res) { + if (res.code) { + //发起网络请求 + wx.request({ + url: 'https://example.com/onLogin', + data: { + code: res.code + } + }) + } else { + console.log('登录失败!' + res.errMsg) + } + } +}) +``` */ + login<T extends LoginOption = LoginOption>( + option?: T + ): PromisifySuccessResult<T, LoginOption> + /** [wx.makeBluetoothPair(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.makeBluetoothPair.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 蓝牙配对接口,仅安卓支持。 + * + * 通常情况下(需要指定 `pin` 码或者密码时)系统会接管配对流程,直接调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 即可。该接口只应当在开发者不想让用户手动输入 `pin` 码且真机验证确认可以正常生效情况下用。 */ + makeBluetoothPair< + T extends MakeBluetoothPairOption = MakeBluetoothPairOption + >( + option: T + ): PromisifySuccessResult<T, MakeBluetoothPairOption> + /** [wx.makePhoneCall(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/phone/wx.makePhoneCall.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 拨打电话 +* +* **示例代码** +* +* ```js +wx.makePhoneCall({ + phoneNumber: '1340000' //仅为示例,并非真实的电话号码 +}) +``` */ + makePhoneCall<T extends MakePhoneCallOption = MakePhoneCallOption>( + option: T + ): PromisifySuccessResult<T, MakePhoneCallOption> + /** [wx.navigateBack(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages](https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html) 获取当前的页面栈,决定需要返回几层。 */ + navigateBack<T extends NavigateBackOption = NavigateBackOption>( + option?: T + ): PromisifySuccessResult<T, NavigateBackOption> + /** [wx.navigateBackMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:不支持 +* +* 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 +* +* 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持** +* +* **示例代码** +* +* ```js +wx.navigateBackMiniProgram({ + extraData: { + foo: 'bar' + }, + success(res) { + // 返回成功 + } +}) +``` */ + navigateBackMiniProgram< + T extends NavigateBackMiniProgramOption = NavigateBackMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateBackMiniProgramOption> + /** [wx.navigateTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) 可以返回到原页面。小程序中页面栈最多十层。 +* +* **示例代码** +* +* ```js +wx.navigateTo({ + url: 'test?id=1', + events: { + // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 + acceptDataFromOpenedPage: function(data) { + console.log(data) + }, + someEvent: function(data) { + console.log(data) + } + ... + }, + success: function(res) { + // 通过eventChannel向被打开页面传送数据 + res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' }) + } +}) +``` +* +* ```javascript +//test.js +Page({ + onLoad: function(option){ + console.log(option.query) + const eventChannel = this.getOpenerEventChannel() + eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'}); + eventChannel.emit('someEvent', {data: 'test'}); + // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 + eventChannel.on('acceptDataFromOpenerPage', function(data) { + console.log(data) + }) + } +}) +``` */ + navigateTo<T extends NavigateToOption = NavigateToOption>( + option: T + ): PromisifySuccessResult<T, NavigateToOption> + /** [wx.navigateToMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html) +* +* 需要基础库: `1.3.0` +* +* 在插件中使用:需要基础库 `2.18.1` +* +* 打开另一个小程序 +* +* **使用限制** +* +* ##### 需要用户触发跳转 +* 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。 +* ##### 需要用户确认跳转 +* 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。 +* ##### 无需声明跳转名单,不限跳转数量(众测中) +* 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。 +* 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。 +* +* **运营规范** +* +* 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。 +* +* **关于调试** +* +* - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持) +* +* **示例代码** +* +* ```js +wx.navigateToMiniProgram({ + appId: '', + path: 'page/index/index?id=123', + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success(res) { + // 打开成功 + } +}) +``` */ + navigateToMiniProgram< + T extends NavigateToMiniProgramOption = NavigateToMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, NavigateToMiniProgramOption> + /** [wx.nextTick(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html) +* +* 需要基础库: `2.2.3` +* +* 在插件中使用:需要基础库 `2.7.1` +* +* 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout) +* +* **说明** +* +* 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。 +* +* 一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。 +* +* **示例代码** +* +* ```js +Component({ + doSth() { + this.setData({ number: 1 }) // 直接在当前同步流程中执行 + + wx.nextTick(() => { + this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行 + }) + + this.setData({ number: 2 }) // 直接在当前同步流程中执行 + } +}) +``` */ + nextTick(callback: (...args: any[]) => any): void + /** [wx.notifyBLECharacteristicValueChange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征。注意:必须设备的特征支持 notify 或者 indicate 才可以成功调用。 +* +* 另外,必须先启用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 才能监听到设备 `characteristicValueChange` 事件 +* +* **注意** +* +* - 订阅操作成功后需要设备主动更新特征的 value,才会触发 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 回调。 +* - 安卓平台上,在本接口调用成功后立即调用 [wx.writeBLECharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) 接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.notifyBLECharacteristicValueChange({ + state: true, // 启用 notify 功能 + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('notifyBLECharacteristicValueChange success', res.errMsg) + } +}) +``` */ + notifyBLECharacteristicValueChange< + T extends NotifyBLECharacteristicValueChangeOption = NotifyBLECharacteristicValueChangeOption + >( + option: T + ): PromisifySuccessResult<T, NotifyBLECharacteristicValueChangeOption> + /** [wx.offAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.offAccelerometerChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除加速度数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAccelerometerChange(listener) +wx.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAccelerometerChange( + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAccelerometerChangeCallback + ): void + /** [wx.offAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppHide.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切后台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppHide(listener) +wx.offAppHide(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppHide( + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppHideCallback + ): void + /** [wx.offAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppShow.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序切前台事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAppShow(listener) +wx.offAppShow(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAppShow( + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAppShowCallback + ): void + /** [wx.offAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionBegin.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频因为受到系统占用而被中断开始事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionBegin(listener) +wx.offAudioInterruptionBegin(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionBegin( + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionBeginCallback + ): void + /** [wx.offAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionEnd.html) +* +* 需要基础库: `2.6.2` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除音频中断结束事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onAudioInterruptionEnd(listener) +wx.offAudioInterruptionEnd(listener) // 需传入与监听时同一个的函数对象 +``` */ + offAudioInterruptionEnd( + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffAudioInterruptionEndCallback + ): void + /** [wx.offBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLECharacteristicValueChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗设备的特征值变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLECharacteristicValueChange(listener) +wx.offBLECharacteristicValueChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLECharacteristicValueChange( + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLECharacteristicValueChangeCallback + ): void + /** [wx.offBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙低功耗连接状态改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEConnectionStateChange(listener) +wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEConnectionStateChange( + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEConnectionStateChangeCallback + ): void + /** [wx.offBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 移除蓝牙低功耗的最大传输单元变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEMTUChange(listener) +wx.offBLEMTUChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEMTUChange( + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEMTUChangeCallback + ): void + /** [wx.offBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.offBLEPeripheralConnectionStateChanged.html) +* +* 需要基础库: `2.10.3` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除当前外围设备被连接或断开连接事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBLEPeripheralConnectionStateChanged(listener) +wx.offBLEPeripheralConnectionStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBLEPeripheralConnectionStateChanged( + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.offBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconServiceChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 服务状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconServiceChange(listener) +wx.offBeaconServiceChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconServiceChange( + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconServiceChangeCallback + ): void + /** [wx.offBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconUpdate.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除 Beacon 设备更新事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBeaconUpdate(listener) +wx.offBeaconUpdate(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBeaconUpdate( + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBeaconUpdateCallback + ): void + /** [wx.offBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothAdapterStateChange.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除蓝牙适配器状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothAdapterStateChange(listener) +wx.offBluetoothAdapterStateChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothAdapterStateChange( + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothAdapterStateChangeCallback + ): void + /** [wx.offBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothDeviceFound.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除搜索到新设备的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onBluetoothDeviceFound(listener) +wx.offBluetoothDeviceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offBluetoothDeviceFound( + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffBluetoothDeviceFoundCallback + ): void + /** [wx.offCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.offCompassChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除罗盘数据变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCompassChange(listener) +wx.offCompassChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCompassChange( + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCompassChangeCallback + ): void + /** [wx.offCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.offCopyUrl.html) +* +* 需要基础库: `2.14.3` +* +* 在插件中使用:不支持 +* +* 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onCopyUrl(listener) +wx.offCopyUrl(listener) // 需传入与监听时同一个的函数对象 +``` */ + offCopyUrl( + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffCopyUrlCallback + ): void + /** [wx.offDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.offDeviceMotionChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除设备方向变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onDeviceMotionChange(listener) +wx.offDeviceMotionChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offDeviceMotionChange( + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffDeviceMotionChangeCallback + ): void + /** [wx.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offError.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序错误事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onError(listener) +wx.offError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offError( + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: WxOffErrorCallback + ): void + /** [wx.offGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offGetWifiList.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除获取到 Wi-Fi 列表数据事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onGetWifiList(listener) +wx.offGetWifiList(listener) // 需传入与监听时同一个的函数对象 +``` */ + offGetWifiList( + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffGetWifiListCallback + ): void + /** [wx.offHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.offHCEMessage.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除接收 NFC 设备消息事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onHCEMessage(listener) +wx.offHCEMessage(listener) // 需传入与监听时同一个的函数对象 +``` */ + offHCEMessage( + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffHCEMessageCallback + ): void + /** [wx.offKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.offKeyboardHeightChange.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:不支持 +* +* 移除键盘高度变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onKeyboardHeightChange(listener) +wx.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offKeyboardHeightChange( + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffKeyboardHeightChangeCallback + ): void + /** [wx.offLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offLazyLoadError.html) +* +* 需要基础库: `2.24.3` +* +* 在插件中使用:不支持 +* +* 移除小程序异步组件加载失败事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLazyLoadError(listener) +wx.offLazyLoadError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLazyLoadError( + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLazyLoadErrorCallback + ): void + /** [wx.offLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceDiscoveryStop.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务停止搜索的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceDiscoveryStop(listener) +wx.offLocalServiceDiscoveryStop(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceDiscoveryStop( + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceDiscoveryStopCallback + ): void + /** [wx.offLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceFound.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务发现的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceFound(listener) +wx.offLocalServiceFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceFound( + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceFoundCallback + ): void + /** [wx.offLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceLost.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务离开的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceLost(listener) +wx.offLocalServiceLost(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceLost( + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceLostCallback + ): void + /** [wx.offLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceResolveFail.html) +* +* 需要基础库: `2.4.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 移除 mDNS 服务解析失败的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocalServiceResolveFail(listener) +wx.offLocalServiceResolveFail(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocalServiceResolveFail( + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocalServiceResolveFailCallback + ): void + /** [wx.offLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 移除实时地理位置变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChange(listener) +wx.offLocationChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChange( + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeCallback + ): void + /** [wx.offLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChangeError.html) +* +* 需要基础库: `2.19.5` +* +* 在插件中使用:不支持 +* +* 移除持续定位接口返回失败时触发。的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onLocationChangeError(listener) +wx.offLocationChangeError(listener) // 需传入与监听时同一个的函数对象 +``` */ + offLocationChangeError( + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffLocationChangeErrorCallback + ): void + /** [wx.offMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.offMemoryWarning.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:不支持 +* +* 移除内存不足告警事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onMemoryWarning(listener) +wx.offMemoryWarning(listener) // 需传入与监听时同一个的函数对象 +``` */ + offMemoryWarning( + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffMemoryWarningCallback + ): void + /** [wx.offNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html) +* +* 需要基础库: `2.9.3` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除网络状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkStatusChange(listener) +wx.offNetworkStatusChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkStatusChange( + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkStatusChangeCallback + ): void + /** [wx.offNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 移除弱网状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onNetworkWeakChange(listener) +wx.offNetworkWeakChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offNetworkWeakChange( + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffNetworkWeakChangeCallback + ): void + /** [wx.offPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offPageNotFound.html) +* +* 需要基础库: `2.1.2` +* +* 在插件中使用:不支持 +* +* 移除小程序要打开的页面不存在事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onPageNotFound(listener) +wx.offPageNotFound(listener) // 需传入与监听时同一个的函数对象 +``` */ + offPageNotFound( + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffPageNotFoundCallback + ): void + /** [wx.offScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offScreenRecordingStateChanged.html) +* +* 需要基础库: `2.24.0` +* +* 在插件中使用:不支持 +* +* 移除用户录屏事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onScreenRecordingStateChanged(listener) +wx.offScreenRecordingStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offScreenRecordingStateChanged( + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffScreenRecordingStateChangedCallback + ): void + /** [wx.offThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offThemeChange.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除系统主题改变事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onThemeChange(listener) +wx.offThemeChange(listener) // 需传入与监听时同一个的函数对象 +``` */ + offThemeChange( + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffThemeChangeCallback + ): void + /** [wx.offUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offUnhandledRejection.html) +* +* 需要基础库: `2.10.0` +* +* 在插件中使用:不支持 +* +* 移除未处理的 Promise 拒绝事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onUnhandledRejection(listener) +wx.offUnhandledRejection(listener) // 需传入与监听时同一个的函数对象 +``` */ + offUnhandledRejection( + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffUnhandledRejectionCallback + ): void + /** [wx.offUserCaptureScreen(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offUserCaptureScreen.html) + * + * 需要基础库: `2.9.3` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 用户主动截屏事件。取消事件监听。 */ + offUserCaptureScreen( + /** 用户主动截屏事件的回调函数 */ + callback?: (...args: any[]) => any + ): void + /** [wx.offVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatInterrupted.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除被动断开实时语音通话事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatInterrupted(listener) +wx.offVoIPChatInterrupted(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatInterrupted( + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatInterruptedCallback + ): void + /** [wx.offVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatMembersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员在线状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatMembersChanged(listener) +wx.offVoIPChatMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatMembersChanged( + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatMembersChangedCallback + ): void + /** [wx.offVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatSpeakersChanged.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除实时语音通话成员通话状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatSpeakersChanged(listener) +wx.offVoIPChatSpeakersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatSpeakersChanged( + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatSpeakersChangedCallback + ): void + /** [wx.offVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatStateChanged.html) +* +* 需要基础库: `2.16.0` +* +* 在插件中使用:不支持 +* +* 移除房间状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPChatStateChanged(listener) +wx.offVoIPChatStateChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPChatStateChanged( + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPChatStateChangedCallback + ): void + /** [wx.offVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPVideoMembersChanged.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:不支持 +* +* 移除实时语音通话成员视频状态变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onVoIPVideoMembersChanged(listener) +wx.offVoIPVideoMembersChanged(listener) // 需传入与监听时同一个的函数对象 +``` */ + offVoIPVideoMembersChanged( + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffVoIPVideoMembersChangedCallback + ): void + /** [wx.offWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnected.html) +* +* 需要基础库: `2.9.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnected(listener) +wx.offWifiConnected(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnected( + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedCallback + ): void + /** [wx.offWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnectedWithPartialInfo.html) +* +* 需要基础库: `2.22.0` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 移除连接上 Wi-Fi 的事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWifiConnectedWithPartialInfo(listener) +wx.offWifiConnectedWithPartialInfo(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWifiConnectedWithPartialInfo( + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWifiConnectedWithPartialInfoCallback + ): void + /** [wx.offWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.offWindowResize.html) +* +* 需要基础库: `2.3.0` +* +* 在插件中使用:不支持 +* +* 移除窗口尺寸变化事件的监听函数 +* +* **示例代码** +* +* ```js +const listener = function (res) { console.log(res) } + +wx.onWindowResize(listener) +wx.offWindowResize(listener) // 需传入与监听时同一个的函数对象 +``` */ + offWindowResize( + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + listener?: OffWindowResizeCallback + ): void + /** [wx.onAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.onAccelerometerChange.html) +* +* 在插件中使用:不支持 +* +* 监听加速度数据事件。频率根据 [wx.startAccelerometer()](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) 的 interval 参数, 接口调用后会自动开始监听。 +* +* **示例代码** +* +* ```js +wx.onAccelerometerChange(callback) +``` */ + onAccelerometerChange( + /** 加速度数据事件的监听函数 */ + listener: OnAccelerometerChangeCallback + ): void + /** [wx.onAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppHide.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切后台事件。该事件与 [`App.onHide`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onhide) 的回调时机一致。 */ + onAppHide( + /** 小程序切后台事件的监听函数 */ + listener: OnAppHideCallback + ): void + /** [wx.onAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序切前台事件。该事件与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onshowobject-object) 的回调参数一致。 + * + * **返回有效 referrerInfo 的场景** + * + * | 场景值 | 场景 | appId含义 | + * | ------ | ------------------------------- | ---------- | + * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 | + * | 1035 | 公众号自定义菜单 | 来源公众号 | + * | 1036 | App 分享消息卡片 | 来源App | + * | 1037 | 小程序打开小程序 | 来源小程序 | + * | 1038 | 从另一个小程序返回 | 来源小程序 | + * | 1043 | 公众号模板消息 | 来源公众号 | + * + * **不同 apiCategory 场景下的 API 限制** + * + * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。 + * + * | | default | nativeFunctionalized | browseOnly | embedded | + * |-|-|-|-|-| + * |navigateToMiniProgram | | `X` | `X` | | + * |openSetting | | | `X` | | + * |<button open-type="share"> | | `X` | `X` | `X` | + * |<button open-type="feedback"> | | | `X` | | + * |<button open-type="open-setting">| | | `X` | | + * |openEmbeddedMiniProgram | | `X` | `X` | `X` | + * + * **注意** + * + * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */ + onAppShow( + /** 小程序切前台事件的监听函数 */ + listener: OnAppShowCallback + ): void + /** [wx.onAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频因为受到系统占用而被中断开始事件。以下场景会触发此事件:闹钟、电话、FaceTime 通话、微信语音聊天、微信视频聊天。此事件触发后,小程序内所有音频会暂停。 */ + onAudioInterruptionBegin( + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + listener: OnAudioInterruptionBeginCallback + ): void + /** [wx.onAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html) + * + * 需要基础库: `2.6.2` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听音频中断结束事件。在收到 onAudioInterruptionBegin 事件之后,小程序内所有音频会暂停,收到此事件之后才可再次播放成功 */ + onAudioInterruptionEnd( + /** 音频中断结束事件的监听函数 */ + listener: OnAudioInterruptionEndCallback + ): void + /** [wx.onBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗设备的特征值变化事件。必须先调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 接口才能接收到设备推送的 notification。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进制字符串示例 +function ab2hex(buffer) { + let hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBLECharacteristicValueChange(function(res) { + console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`) + console.log(ab2hex(res.value)) +}) +``` */ + onBLECharacteristicValueChange( + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + listener: OnBLECharacteristicValueChangeCallback + ): void + /** [wx.onBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙低功耗连接状态改变事件。包括开发者主动连接或断开连接,设备丢失,连接异常断开等等 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEConnectionStateChange(function(res) { + // 该方法回调中可以用于处理连接意外断开等异常情况 + console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`) +}) +``` */ + onBLEConnectionStateChange( + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + listener: OnBLEConnectionStateChangeCallback + ): void + /** [wx.onBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.20.1` +* +* 监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBLEMTUChange(function (res) { + console.log('bluetooth mtu is', res.mtu) +}) +``` */ + onBLEMTUChange( + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + listener: OnBLEMTUChangeCallback + ): void + /** [wx.onBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.onBLEPeripheralConnectionStateChanged.html) + * + * 需要基础库: `2.10.3` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听当前外围设备被连接或断开连接事件 */ + onBLEPeripheralConnectionStateChanged( + /** 当前外围设备被连接或断开连接事件的监听函数 */ + listener: OnBLEPeripheralConnectionStateChangedCallback + ): void + /** [wx.onBackgroundAudioPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPause.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐暂停事件。 */ + onBackgroundAudioPause( + /** 音乐暂停事件的监听函数 */ + listener: OnBackgroundAudioPauseCallback + ): void + /** [wx.onBackgroundAudioPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPlay.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐播放事件。 */ + onBackgroundAudioPlay( + /** 音乐播放事件的监听函数 */ + listener: OnBackgroundAudioPlayCallback + ): void + /** [wx.onBackgroundAudioStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioStop.html) + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 + * + * 监听音乐停止事件。 */ + onBackgroundAudioStop( + /** 音乐停止事件的监听函数 */ + listener: OnBackgroundAudioStopCallback + ): void + /** [wx.onBackgroundFetchData(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和 [wx.getBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) 配合使用 */ + onBackgroundFetchData( + /** 收到 backgroundFetch 数据事件的监听函数 */ + listener: OnBackgroundFetchDataCallback + ): void + /** [wx.onBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconServiceChange.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 服务状态变化事件,仅能注册一个监听 */ + onBeaconServiceChange( + /** Beacon 服务状态变化事件的监听函数 */ + listener: OnBeaconServiceChangeCallback + ): void + /** [wx.onBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconUpdate.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 监听 Beacon 设备更新事件,仅能注册一个监听 */ + onBeaconUpdate( + /** Beacon 设备更新事件的监听函数 */ + listener: OnBeaconUpdateCallback + ): void + /** [wx.onBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听蓝牙适配器状态变化事件 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.onBluetoothAdapterStateChange(function (res) { + console.log('adapterState changed, now is', res) +}) +``` */ + onBluetoothAdapterStateChange( + /** 蓝牙适配器状态变化事件的监听函数 */ + listener: OnBluetoothAdapterStateChangeCallback + ): void + /** [wx.onBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 监听搜索到新设备的事件 +* +* **注意** +* +* - 若在 [wx.onBluetoothDeviceFound](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html) 回调了某个设备,则此设备会添加到 [wx.getBluetoothDevices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html) 接口获取到的数组中。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* +* ```js +// ArrayBuffer转16进度字符串示例 +function ab2hex(buffer) { + var hexArr = Array.prototype.map.call( + new Uint8Array(buffer), + function(bit) { + return ('00' + bit.toString(16)).slice(-2) + } + ) + return hexArr.join(''); +} +wx.onBluetoothDeviceFound(function(res) { + var devices = res.devices; + console.log('new device list has founded') + console.dir(devices) + console.log(ab2hex(devices[0].advertisData)) +}) +``` +* +* **注意** +* +* - 蓝牙设备在被搜索到时,系统返回的 `name` 字段一般为广播包中的 `LocalName` 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 `name` 字段会改为从蓝牙设备上获取到的 `GattName`。若需要动态改变设备名称并展示,建议使用 `localName` 字段。 +* - 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限 */ + onBluetoothDeviceFound( + /** 搜索到新设备的事件的监听函数 */ + listener: OnBluetoothDeviceFoundCallback + ): void + /** [wx.onCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.onCompassChange.html) + * + * 在插件中使用:不支持 + * + * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。 + * + * **accuracy 在 iOS/Android 的差异** + * + * 由于平台差异,accuracy 在 iOS/Android 的值不同。 + * + * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。 + * - Android:accuracy 是一个 string 类型的枚举值。 + * + * | 值 | 说明 | + * | --------------- | -------------------------------------------------------------------------------------- | + * | high | 高精度 | + * | medium | 中等精度 | + * | low | 低精度 | + * | no-contact | 不可信,传感器失去连接 | + * | unreliable | 不可信,原因未知 | + * | unknow ${value} | 未知的精度枚举值,即该 Android 系统此时返回的表示精度的 value 不是一个标准的精度枚举值 | */ + onCompassChange( + /** 罗盘数据变化事件的监听函数 */ + listener: OnCompassChangeCallback + ): void + /** [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.onCopyUrl.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:不支持 + * + * 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。 */ + onCopyUrl( + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + listener: OnCopyUrlCallback + ): void + /** [wx.onDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.onDeviceMotionChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听设备方向变化事件。频率根据 [wx.startDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) 的 interval 参数。可以使用 [wx.stopDeviceMotionListening()](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) 停止监听。 */ + onDeviceMotionChange( + /** 设备方向变化事件的监听函数 */ + listener: OnDeviceMotionChangeCallback + ): void + /** [wx.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 [`App.onError`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onerrorstring-error) 的回调时机与参数一致。 */ + onError( + /** 小程序错误事件的监听函数 */ + listener: WxOnErrorCallback + ): void + /** [wx.onGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听获取到 Wi-Fi 列表数据事件 */ + onGetWifiList( + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + listener: OnGetWifiListCallback + ): void + /** [wx.onGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.onGyroscopeChange.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听陀螺仪数据变化事件。频率根据 [wx.startGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) 的 interval 参数。可以使用 [wx.stopGyroscope()](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) 停止监听。 */ + onGyroscopeChange( + /** 陀螺仪数据变化事件的监听函数 */ + listener: OnGyroscopeChangeCallback + ): void + /** [wx.onHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.onHCEMessage.html) + * + * 需要基础库: `1.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听接收 NFC 设备消息事件。仅能注册一个监听 */ + onHCEMessage( + /** 接收 NFC 设备消息事件的监听函数 */ + listener: OnHCEMessageCallback + ): void + /** [wx.onKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.onKeyboardHeightChange.html) +* +* 需要基础库: `2.7.0` +* +* 在插件中使用:不支持 +* +* 监听键盘高度变化事件 +* +* **示例代码** +* +* ```js +wx.onKeyboardHeightChange(res => { + console.log(res.height) +}) +``` */ + onKeyboardHeightChange( + /** 键盘高度变化事件的监听函数 */ + listener: OnKeyboardHeightChangeCallback + ): void + /** [wx.onLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onLazyLoadError.html) + * + * 需要基础库: `2.24.3` + * + * 在插件中使用:不支持 + * + * 监听小程序异步组件加载失败事件。 + * + * **注意** + * + * - 加载异步组件通常需要下载分包,若分包下载超时,则会触发 errMsg 为 "loadSubpackage: timeout" 的回调,默认超时等待时间为 5 秒。 + * - 可以通过第二个参数指定超时时间(单位:ms),该设置全局有效,多次指定超时时间则覆盖前面。 + * - 分包确认下载失败时,会再次触发 errMsg 为 "loadSubpackage: fail" 的回调。 + * - 若在页面中使用该接口进行监听,请确保在必要时手动调用 offLazyLoadError 取消监听,以避免非预期的内存泄漏。 */ + onLazyLoadError( + /** 小程序异步组件加载失败事件的监听函数 */ + listener: OnLazyLoadErrorCallback + ): void + /** [wx.onLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceDiscoveryStop.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务停止搜索的事件 */ + onLocalServiceDiscoveryStop( + /** mDNS 服务停止搜索的事件的监听函数 */ + listener: OnLocalServiceDiscoveryStopCallback + ): void + /** [wx.onLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceFound.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务发现的事件 */ + onLocalServiceFound( + /** mDNS 服务发现的事件的监听函数 */ + listener: OnLocalServiceFoundCallback + ): void + /** [wx.onLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceLost.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务离开的事件 */ + onLocalServiceLost( + /** mDNS 服务离开的事件的监听函数 */ + listener: OnLocalServiceLostCallback + ): void + /** [wx.onLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceResolveFail.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 监听 mDNS 服务解析失败的事件 */ + onLocalServiceResolveFail( + /** mDNS 服务解析失败的事件的监听函数 */ + listener: OnLocalServiceResolveFailCallback + ): void + /** [wx.onLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html) +* +* 需要基础库: `2.8.1` +* +* 在插件中使用:不支持 +* +* 监听实时地理位置变化事件,需结合 [wx.startLocationUpdateBackground](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html)、[wx.startLocationUpdate](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html)使用。 +* +* ## 使用方法 +* 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) +* +* ## 申请开通 +* 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 +* 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 +* +* ### 国内主体开放类目 +* +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | +* | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | +* | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | +* | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | +* | 生活服务 | / | 上门服务作业等线下场景 | +* | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | +* | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | +* | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | +* | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | +* | 旅游 | 景区服务 | 提供景区导航、导览服务 | +* | 政务民生 | / | 提供政务单位相关业务 | +* | 政府主体帐号 | / | 提供政务单位相关业务 | +* +* ### 海外主体开放类目 +* | 一级类目/主体类型 | 二级类目 | 应用场景 | +* | -------------- | -------| -------- | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 快递业与邮政 | / | 快递/货物收发服务 | +* | 餐饮 | / | 线下送餐服务 | +* | 电商平台 | / | 售卖商品线下发货、线下收货服务 | +* | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | +* | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | +* | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | +* | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | +* +* **示例代码** +* +* ```js + const _locationChangeFn = function(res) { + console.log('location change', res) + } + wx.onLocationChange(_locationChangeFn) + wx.offLocationChange(_locationChangeFn) +``` */ + onLocationChange( + /** 实时地理位置变化事件的监听函数 */ + listener: OnLocationChangeCallback + ): void + /** [wx.onLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChangeError.html) + * + * 需要基础库: `2.19.5` + * + * 在插件中使用:不支持 + * + * 监听持续定位接口返回失败时触发。 */ + onLocationChangeError( + /** 的监听函数 */ + listener: OnLocationChangeErrorCallback + ): void + /** [wx.onMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.onMemoryWarning.html) + * + * 需要基础库: `2.0.2` + * + * 在插件中使用:不支持 + * + * 监听内存不足告警事件。 + * + * 当 iOS/Android 向小程序进程发出内存警告时,触发该事件。触发该事件不意味小程序被杀,大部分情况下仅仅是告警,开发者可在收到通知后回收一些不必要资源避免进一步加剧内存紧张。 + * + * **示例代码** + * + * ```js + * wx.onMemoryWarning(function () { + * console.log('onMemoryWarningReceive') + * }) + * `` */ + onMemoryWarning( + /** 内存不足告警事件的监听函数 */ + listener: OnMemoryWarningCallback + ): void + /** [wx.onNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:支持 +* +* 监听网络状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkStatusChange(function (res) { + console.log(res.isConnected) + console.log(res.networkType) +}) +``` */ + onNetworkStatusChange( + /** 网络状态变化事件的监听函数 */ + listener: OnNetworkStatusChangeCallback + ): void + /** [wx.onNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html) +* +* 需要基础库: `2.21.0` +* +* 在插件中使用:不支持 +* +* 监听弱网状态变化事件 +* +* **示例代码** +* +* ```js +wx.onNetworkWeakChange(function (res) { + console.log(res.weakNet) + console.log(res.networkType) +}) +// 取消监听 +wx.offNetworkWeakChange() +``` */ + onNetworkWeakChange( + /** 弱网状态变化事件的监听函数 */ + listener: OnNetworkWeakChangeCallback + ): void + /** [wx.onPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) + * + * 需要基础库: `2.1.2` + * + * 在插件中使用:不支持 + * + * 监听小程序要打开的页面不存在事件。该事件与 [`App.onPageNotFound`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onpagenotfoundobject-object) 的回调时机一致。 + * + * **注意** + * + * - 开发者可以在回调中进行页面重定向,但必须在回调中**同步**处理,异步处理(例如 `setTimeout` 异步执行)无效。 + * - 若开发者没有调用 [wx.onPageNotFound](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) 绑定监听,也没有声明 `App.onPageNotFound`,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * - 如果回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再第二次回调。 */ + onPageNotFound( + /** 小程序要打开的页面不存在事件的监听函数 */ + listener: OnPageNotFoundCallback + ): void + /** [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onScreenRecordingStateChanged.html) + * + * 需要基础库: `2.24.0` + * + * 在插件中使用:不支持 + * + * 监听用户录屏事件。 */ + onScreenRecordingStateChanged( + /** 用户录屏事件的监听函数 */ + listener: OnScreenRecordingStateChangedCallback + ): void + /** [wx.onSocketClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketClose.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接关闭事件。 */ + onSocketClose( + /** WebSocket 连接关闭事件的监听函数 */ + listener: OnSocketCloseCallback + ): void + /** [wx.onSocketError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketError.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 错误事件。 */ + onSocketError( + /** WebSocket 错误事件的监听函数 */ + listener: OnSocketErrorCallback + ): void + /** [wx.onSocketMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketMessage.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 接受到服务器的消息事件。 */ + onSocketMessage( + /** WebSocket 接受到服务器的消息事件的监听函数 */ + listener: OnSocketMessageCallback + ): void + /** [wx.onSocketOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketOpen.html) + * + * 在插件中使用:不支持 + * + * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** + * + * 监听 WebSocket 连接打开事件。 */ + onSocketOpen( + /** WebSocket 连接打开事件的监听函数 */ + listener: OnSocketOpenCallback + ): void + /** [wx.onThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onThemeChange.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听系统主题改变事件。该事件与 [`App.onThemeChange`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onThemeChange-Object-object) 的回调时机一致。 + * + * **注意** + * + * - 只有在全局配置"darkmode": true时才会触发此事件。 */ + onThemeChange( + /** 系统主题改变事件的监听函数 */ + listener: OnThemeChangeCallback + ): void + /** [wx.onUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 监听未处理的 Promise 拒绝事件。该事件与 [`App.onUnhandledRejection`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onUnhandledRejection-Object-object) 的回调时机与参数一致。 + * + * **注意** + * + * - 所有的 unhandledRejection 都可以被这一监听捕获,但只有 Error 类型的才会在小程序后台触发报警。 */ + onUnhandledRejection( + /** 未处理的 Promise 拒绝事件的监听函数 */ + listener: OnUnhandledRejectionCallback + ): void + /** [wx.onUserCaptureScreen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onUserCaptureScreen.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听 +* +* **示例代码** +* +* ```js +wx.onUserCaptureScreen(function (res) { + console.log('用户截屏了') +}) +``` */ + onUserCaptureScreen( + /** 用户主动截屏事件的监听函数 */ + listener: OnUserCaptureScreenCallback + ): void + /** [wx.onVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatInterrupted.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听被动断开实时语音通话事件。包括小游戏切入后端时断开 */ + onVoIPChatInterrupted( + /** 被动断开实时语音通话事件的监听函数 */ + listener: OnVoIPChatInterruptedCallback + ): void + /** [wx.onVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatMembersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 */ + onVoIPChatMembersChanged( + /** 实时语音通话成员在线状态变化事件的监听函数 */ + listener: OnVoIPChatMembersChangedCallback + ): void + /** [wx.onVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatSpeakersChanged.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听实时语音通话成员通话状态变化事件。有成员开始/停止说话时触发回调 */ + onVoIPChatSpeakersChanged( + /** 实时语音通话成员通话状态变化事件的监听函数 */ + listener: OnVoIPChatSpeakersChangedCallback + ): void + /** [wx.onVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatStateChanged.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 监听房间状态变化事件。 */ + onVoIPChatStateChanged( + /** 房间状态变化事件的监听函数 */ + listener: OnVoIPChatStateChangedCallback + ): void + /** [wx.onVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPVideoMembersChanged.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:不支持 + * + * 监听实时语音通话成员视频状态变化事件。 */ + onVoIPVideoMembersChanged( + /** 实时语音通话成员视频状态变化事件的监听函数 */ + listener: OnVoIPVideoMembersChangedCallback + ): void + /** [wx.onWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnected.html) + * + * 需要基础库: `1.6.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnected( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedCallback + ): void + /** [wx.onWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnectedWithPartialInfo.html) + * + * 需要基础库: `2.22.0` + * + * 在插件中使用:需要基础库 `2.22.1` + * + * 监听连接上 Wi-Fi 的事件 */ + onWifiConnectedWithPartialInfo( + /** 连接上 Wi-Fi 的事件的监听函数 */ + listener: OnWifiConnectedWithPartialInfoCallback + ): void + /** [wx.onWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.onWindowResize.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:不支持 + * + * 监听窗口尺寸变化事件 */ + onWindowResize( + /** 窗口尺寸变化事件的监听函数 */ + listener: OnWindowResizeCallback + ): void + /** [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统微信授权管理页 +* +* **示例代码** +* +* ```js +wx.openAppAuthorizeSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openAppAuthorizeSetting< + T extends OpenAppAuthorizeSettingOption = OpenAppAuthorizeSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenAppAuthorizeSettingOption> + /** [wx.openBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 初始化蓝牙模块。iOS 上开启主机/从机(外围设备)模式时需分别调用一次,并指定对应的 `mode`。 +* +* **object.fail 回调函数返回的 state 参数(仅 iOS)** +* +* | 状态码 | 说明 | +* | ------ | ------ | +* | 0 | 未知 | +* | 1 | 重置中 | +* | 2 | 不支持 | +* | 3 | 未授权 | +* | 4 | 未开启 | +* +* **注意** +* +* - 其他蓝牙相关 API 必须在 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 调用之后使用。否则 API 会返回错误(errCode=10000)。 +* - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 会返回错误(errCode=10001),表示手机蓝牙功能不可用。此时小程序蓝牙模块已经初始化完成,可通过 [wx.onBluetoothAdapterStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html) 监听手机蓝牙状态的改变,也可以调用蓝牙模块的所有API。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.openBluetoothAdapter({ + success (res) { + console.log(res) + } +}) +``` */ + openBluetoothAdapter< + T extends OpenBluetoothAdapterOption = OpenBluetoothAdapterOption + >( + option?: T + ): PromisifySuccessResult<T, OpenBluetoothAdapterOption> + /** [wx.openCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.openCard.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:不支持 +* +* 查看微信卡包中的卡券。只有通过 [认证](https://developers.weixin.qq.com/miniprogram/product/renzheng.html) 的小程序或文化互动类目的小游戏才能使用。更多文档请参考 [微信卡券接口文档](https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2)。 +* +* **示例代码** +* +* ```js +wx.openCard({ + cardList: [{ + cardId: '', + code: '' + }, { + cardId: '', + code: '' + }], + success (res) { } +}) +``` */ + openCard<T extends OpenCardOption = OpenCardOption>( + option: T + ): PromisifySuccessResult<T, OpenCardOption> + /** [wx.openChannelsActivity(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsActivity.html) + * + * 需要基础库: `2.19.2` + * + * 在插件中使用:不支持 + * + * 打开视频号视频 */ + openChannelsActivity(option: OpenChannelsActivityOption): void + /** [wx.openChannelsEvent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsEvent.html) + * + * 需要基础库: `2.21.0` + * + * 在插件中使用:不支持 + * + * 打开视频号活动页 */ + openChannelsEvent(option: OpenChannelsEventOption): void + /** [wx.openChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsLive.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:不支持 + * + * 打开视频号直播 */ + openChannelsLive(option: OpenChannelsLiveOption): void + /** [wx.openChannelsUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsUserProfile.html) + * + * 需要基础库: `2.21.2` + * + * 在插件中使用:不支持 + * + * 打开视频号主页 */ + openChannelsUserProfile(option: OpenChannelsUserProfileOption): void + /** [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html) +* +* 需要基础库: `2.19.0` +* +* 在插件中使用:不支持 +* +* 打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用。了解更多信息,可以参考[微信客服介绍](https://work.weixin.qq.com/kf/)。 +* +* **示例代码** +* +* ```js +wx.openCustomerServiceChat({ + extInfo: {url: ''}, + corpId: '', + success(res) {} +}) +``` */ + openCustomerServiceChat(option: OpenCustomerServiceChatOption): void + /** [wx.openDocument(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html) + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 新开页面打开文档。微信客户端 `7.0.12` 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 `showMenu`。 */ + openDocument<T extends OpenDocumentOption = OpenDocumentOption>( + option: T + ): PromisifySuccessResult<T, OpenDocumentOption> + /** [wx.openEmbeddedMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 */ + openEmbeddedMiniProgram< + T extends OpenEmbeddedMiniProgramOption = OpenEmbeddedMiniProgramOption + >( + option: T + ): PromisifySuccessResult<T, OpenEmbeddedMiniProgramOption> + /** [wx.openLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 使用微信内置地图查看位置 +* +* **示例代码** +* +* ```js + wx.getLocation({ + type: 'gcj02', //返回可以用于wx.openLocation的经纬度 + success (res) { + const latitude = res.latitude + const longitude = res.longitude + wx.openLocation({ + latitude, + longitude, + scale: 18 + }) + } +}) + ``` */ + openLocation<T extends OpenLocationOption = OpenLocationOption>( + option: T + ): PromisifySuccessResult<T, OpenLocationOption> + /** [wx.openSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.openSetting.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.10.3` +* +* 调起客户端小程序设置界面,返回用户设置的操作结果。**设置界面只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。 +* +* **** +* +* - 注意:[2.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。[详情](https://developers.weixin.qq.com/community/develop/doc/000cea2305cc5047af5733de751008) +* +* **示例代码** +* +* ```js +wx.openSetting({ + success (res) { + console.log(res.authSetting) + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + } +}) +``` */ + openSetting<T extends OpenSettingOption = OpenSettingOption>( + option?: T + ): PromisifySuccessResult<T, OpenSettingOption> + /** [wx.openSystemBluetoothSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openSystemBluetoothSetting.html) +* +* 需要基础库: `2.20.1` +* +* 在插件中使用:需要基础库 `2.21.3` +* +* 跳转系统蓝牙设置页。仅支持安卓。 +* +* **示例代码** +* +* ```js +wx.openSystemBluetoothSetting({ + success (res) { + console.log(res) + } +}) +``` */ + openSystemBluetoothSetting< + T extends OpenSystemBluetoothSettingOption = OpenSystemBluetoothSettingOption + >( + option?: T + ): PromisifySuccessResult<T, OpenSystemBluetoothSettingOption> + /** [wx.openVideoEditor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.openVideoEditor.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 打开视频编辑器 */ + openVideoEditor(option: OpenVideoEditorOption): void + /** [wx.pageScrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 将页面滚动到目标位置,支持选择器和滚动距离两种方式定位 +* +* **selector 语法** +* +* selector类似于 CSS 的选择器,但仅支持下列语法。 +* +* + ID选择器:#the-id +* + class选择器(可以连续指定多个):.a-class.another-class +* + 子元素选择器:.the-parent > .the-child +* + 后代选择器:.the-ancestor .the-descendant +* + 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant +* + 多选择器的并集:#a-node, .some-other-nodes +* +* **示例代码** +* +* ```js +wx.pageScrollTo({ + scrollTop: 0, + duration: 300 +}) +``` */ + pageScrollTo<T extends PageScrollToOption = PageScrollToOption>( + option: T + ): PromisifySuccessResult<T, PageScrollToOption> + /** [wx.pauseBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.pauseBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 暂停播放音乐。 +* +* **示例代码** +* +* ```js +wx.pauseBackgroundAudio() +``` */ + pauseBackgroundAudio< + T extends PauseBackgroundAudioOption = PauseBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, PauseBackgroundAudioOption> + /** [wx.pauseVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.pauseVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 暂停正在播放的语音。再次调用 [wx.playVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) 播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 [wx.stopVoice](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html)。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath + }) + + setTimeout(() => { wx.pauseVoice() }, 5000) + } +}) +``` */ + pauseVoice<T extends PauseVoiceOption = PauseVoiceOption>( + option?: T + ): PromisifySuccessResult<T, PauseVoiceOption> + /** [wx.playBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.playBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 使用后台播放器播放音乐。对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。 +* +* **示例代码** +* +* ```js +wx.playBackgroundAudio({ + dataUrl: '', + title: '', + coverImgUrl: '' +}) +``` */ + playBackgroundAudio< + T extends PlayBackgroundAudioOption = PlayBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, PlayBackgroundAudioOption> + /** [wx.playVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + complete () { } + }) + } +}) +``` */ + playVoice<T extends PlayVoiceOption = PlayVoiceOption>( + option: T + ): PromisifySuccessResult<T, PlayVoiceOption> + /** [wx.pluginLogin(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.20.1` + * + * __该接口仅在小程序插件中可调用__,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。 */ + pluginLogin(args?: PluginLoginOption): void + /** [wx.preloadAssets(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadAssets.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:不支持 +* +* 为视图层预加载媒体资源文件, 目前支持:font,image +* +* **示例代码** +* +* ```js +wx.preloadAssets({ + data: [ + { + type: 'image', + src: imgUrl, + }, + ], + success(resp) { + console.log('preloadAssets success', resp) + }, + fail(err) { + console.log('preloadAssets fail', err) + }, +}) +``` +* +* **** +* +* - 开发过程中,可在开发者工具network面板查看预加载情况。 */ + preloadAssets(option: PreloadAssetsOption): void + /** [wx.preloadSkylineView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadSkylineView.html) + * + * 需要基础库: `2.24.7` + * + * 在插件中使用:需要基础库 `2.24.7` + * + * 预加载下个页面所需要的 [Skyline](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 运行环境。 */ + preloadSkylineView(option?: PreloadSkylineViewOption): void + /** [wx.preloadWebview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadWebview.html) + * + * 需要基础库: `2.15.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预加载下个页面的 WebView。参见[预加载下个页面的时机](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_nav.html#_2-4-控制预加载下个页面的时机) */ + preloadWebview(option?: PreloadWebviewOption): void + /** [wx.previewImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。 +* +* **支持长按识别的码** +* +* | 类型 | 说明 | 最低版本 | +* |------|------| -------| +* | 小程序码 | | +* | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | +* +* **示例代码** +* +* ```js +wx.previewImage({ + current: '', // 当前显示图片的http链接 + urls: [] // 需要预览的图片http链接列表 +}) +``` */ + previewImage<T extends PreviewImageOption = PreviewImageOption>( + option: T + ): PromisifySuccessResult<T, PreviewImageOption> + /** [wx.previewMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 预览图片和视频。 + * + * **支持长按识别的码** + * + * | 类型 | 说明 | 最低版本 | + * |------|------| -------| + * | 小程序码 | | + * | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | + * | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | */ + previewMedia<T extends PreviewMediaOption = PreviewMediaOption>( + option: T + ): PromisifySuccessResult<T, PreviewMediaOption> + /** [wx.reLaunch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭所有页面,打开到应用内的某个页面 +* +* **示例代码** +* +* ```js +wx.reLaunch({ + url: 'test?id=1' +}) +``` +* +* ```html +* // test +* Page({ +* onLoad (option) { +* console.log(option.query) +* } +* }) +* ``` */ + reLaunch<T extends ReLaunchOption = ReLaunchOption>( + option: T + ): PromisifySuccessResult<T, ReLaunchOption> + /** [wx.readBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.readBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 读取蓝牙低功耗设备特征值的二进制数据。注意:必须设备的特征支持 read 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在读失败的可能性。 +* - 接口读取到的信息需要在 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 方法注册的回调中获取。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 必须在这里的回调才能获取 +wx.onBLECharacteristicValueChange(function(characteristic) { + console.log('characteristic value comed:', characteristic) +}) + +wx.readBLECharacteristicValue({ + // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + success (res) { + console.log('readBLECharacteristicValue:', res.errCode) + } +}) +``` */ + readBLECharacteristicValue< + T extends ReadBLECharacteristicValueOption = ReadBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, ReadBLECharacteristicValueOption> + /** [wx.redirectTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html) +* +* 在插件中使用:需要基础库 `2.2.2` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 +* +* **示例代码** +* +* ```js +wx.redirectTo({ + url: 'test?id=1' +}) +``` */ + redirectTo<T extends RedirectToOption = RedirectToOption>( + option: T + ): PromisifySuccessResult<T, RedirectToOption> + /** [wx.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.removeSavedFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.removeSavedFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)** +* +* 删除本地缓存文件。 +* +* **示例代码** +* +* ```js +wx.getSavedFileList({ + success (res) { + if (res.fileList.length > 0){ + wx.removeSavedFile({ + filePath: res.fileList[0].filePath, + complete (res) { + console.log(res) + } + }) + } + } +}) +``` */ + removeSavedFile< + T extends WxRemoveSavedFileOption = WxRemoveSavedFileOption + >( + option: T + ): PromisifySuccessResult<T, WxRemoveSavedFileOption> + /** [wx.removeStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 从本地缓存中移除指定 key。 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorage<T extends RemoveStorageOption = RemoveStorageOption>( + option: T + ): PromisifySuccessResult<T, RemoveStorageOption> + /** [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* [wx.removeStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) 的同步版本 +* +* **示例代码** +* +* ```js +wx.removeStorage({ + key: 'key', + success (res) { + console.log(res) + } +}) +``` +* +* ```js +try { + wx.removeStorageSync('key') +} catch (e) { + // Do something when catch error +} +``` */ + removeStorageSync( + /** 本地缓存中指定的 key */ + key: string + ): void + /** [wx.removeTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.removeTabBarBadge.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 移除 tabBar 某一项右上角的文本 */ + removeTabBarBadge< + T extends RemoveTabBarBadgeOption = RemoveTabBarBadgeOption + >( + option: T + ): PromisifySuccessResult<T, RemoveTabBarBadgeOption> + /** [wx.reportAnalytics(string eventName, Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 在插件中使用时,可以被正常调用,但目前不会进行统计展示 +* +* 自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段。 +* +* **示例代码** +* +* ```js +wx.reportAnalytics('purchase', { + price: 120, + color: 'red' +}) +``` */ + reportAnalytics( + /** 事件名 */ + eventName: string, + /** 上报的自定义数据,key 为配置中的字段名,value 为上报的数据。 */ + data: IAnyObject + ): void + /** [wx.reportEvent(string eventId, object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) + * + * 需要基础库: `2.14.4` + * + * 在插件中使用:不支持 + * + * 事件上报 */ + reportEvent( + /** 在 mp 实验系统中设置的事件英文名 */ + eventId: string, + /** 可被 JSON.stringify 的对象,将一起上报至系统 */ + data?: IAnyObject + ): void + /** [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportMonitor.html) +* +* 需要基础库: `2.0.1` +* +* 在插件中使用:不支持 +* +* 自定义业务数据监控上报接口。 +* +* **使用说明** +* +* 使用前,需要在「小程序管理后台-运维中心-性能监控-业务数据监控」中新建监控事件,配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。 +* +* **示例代码** +* +* ```js +wx.reportMonitor('1', 1) +``` */ + reportMonitor( + /** 监控ID,在「小程序管理后台」新建数据指标后获得 */ + name: string, + /** 上报数值,经处理后会在「小程序管理后台」上展示每分钟的上报总量 */ + value: number + ): void + /** [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.reportPerformance.html) +* +* 需要基础库: `2.9.2` +* +* 在插件中使用:需要基础库 `2.9.3` +* +* 小程序测速上报。使用前,需要在小程序管理后台配置。 +* +* **示例代码** +* +* ```js +wx.reportPerformance(1101, 680) +wx.reportPerformance(1101, 680, 'custom') +``` */ + reportPerformance( + /** 指标 id */ + id: number, + /** 需要上报的数值 */ + value: number, + /** 自定义维度 (选填) */ + dimensions?: string | any[] + ): void + /** [wx.requestOrderPayment(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestOrderPayment.html) + * + * 需要基础库: `2.16.0` + * + * 在插件中使用:不支持 + * + * 仅接入了[自定义版交易组件](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/Introduction2)的小程序需要使用,普通小程序可直接使用 [`wx.requestPayment`](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html)。 + * + * **前置检查** + * + * 接入自定义版交易组件之后,若要发起微信支付,请先查询[需要校验的场景](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。 + * 在需要校验的场景中,发起微信支付时,必须使用该接口,需要按照要求传入相关的[订单信息](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验,校验通过后用户才可以完成当前订单的支付,非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。 */ + requestOrderPayment< + T extends RequestOrderPaymentOption = RequestOrderPaymentOption + >( + args: T + ): PromisifySuccessResult<T, RequestOrderPaymentOption> + /** [wx.requestPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html) +* +* 在插件中使用:不支持 +* +* 发起微信支付。调用前需在[小程序微信公众平台](https://mp.weixin.qq.com/) -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml): +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter2_3.shtml) +* - [下单接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_2.shtml) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_12.shtml) +* - 旧版本 (v2) +* - [开发指引](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1) +* - [支付接口](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3) +* +* 如果使用[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html),则 `wx.requestPayment` 所需参数可以通过云开发微信支付统一下单接口免鉴权获取、并可免证书、免签名的安全调用微信支付服务端接口、及接收异步支付结果回调,详见[云开发微信支付](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/wechatpay/wechatpay.html)。 +* +* **示例代码** +* +* ```js +wx.requestPayment({ + timeStamp: '', + nonceStr: '', + package: '', + signType: 'MD5', + paySign: '', + success (res) { }, + fail (res) { } +}) +``` +* +* 注:如果服务端有使用云开发,可以通过云开发微信支付[统一下单](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html)接口免鉴权获取以上所需所有参数,示例: +* +* ```js +// 云函数代码 +const cloud = require('wx-server-sdk') +cloud.init({ + env: cloud.DYNAMIC_CURRENT_ENV +}) + +exports.main = async (event, context) => { + const res = await cloud.cloudPay.unifiedOrder({ + "body" : "小秋TIT店-超市", + "outTradeNo" : "1217752501201407033233368018", + "spbillCreateIp" : "127.0.0.1", + "subMchId" : "1900009231", + "totalFee" : 1, + "envId": "test-f0b102", + "functionName": "pay_cb" + }) + return res +} + +// 小程序代码 +wx.cloud.callFunction({ + name: '函数名', + data: { + // ... + }, + success: res => { + const payment = res.result.payment + wx.requestPayment({ + ...payment, + success (res) { + console.log('pay success', res) + }, + fail (err) { + console.error('pay fail', err) + } + }) + }, + fail: console.error, +}) +``` */ + requestPayment<T extends RequestPaymentOption = RequestPaymentOption>( + option: T + ): PromisifySuccessResult<T, RequestPaymentOption> + /** [wx.requestPluginPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPluginPayment.html) +* +* 需要基础库: `2.22.1` +* +* 在插件中使用:需要基础库 `2.22.1` +* +* 插件中发起支付。 +* +* **Tip** +* +* 1. `tip`: 小程序与插件绑定在同一个open平台账号上且小程序与插件均为open账号的同主体/关联主体时,调用此接口将直接拉起支付收银台。 +* 1. `tip`: 这个接口本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。 +* 1. `tip`: 跳转支付功能页需要在 `app.json` 中配置 `"functionalPages": true` +* +* **示例代码** +* +* 具体用法及参数说明可参考 [插件支付文档](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/request-payment.html) +* ```js +wx.requestPluginPayment({ + version: 'release', + fee: 1, + paymentArgs: {}, + currencyType: 'CNY', + success (res) { }, + fail (res) { } +}) +``` */ + requestPluginPayment(option: RequestPluginPaymentOption): void + /** [wx.requestSubscribeDeviceMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeDeviceMessage.html) +* +* 需要基础库: `2.20.0` +* +* 在插件中使用:不支持 +* +* 订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。 +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | tmplIds 为空 | +* | 10004 | Invalid template id | tmplId 参数类型错误 | +* | 20001 | No template data return, verify the template id exist | tmplId 为空 | +* | 20003 | Templates count out of max bounds | tmplId 数量超过上限 | +* | 19720726 | check sn_ticket fail | snTicket 不合法 | +* | 19720727 | sn_ticket expire | snTicket 过期 | +* | 19720728 | err_not_found_tid | tmplId 不存在 | +* | 19720736 | template_id do not match model_id | modelId 类型与 tmplId 类型不符 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeDeviceMessage({ + tmplIds: ['xxxxx'], + sn: 'xxxx', + snTicket: 'xxxxx', + modelId: 'xxx', + success(res) { + console.log(res) + }, + fail(res) { + console.log(res) + } +}) +``` */ + requestSubscribeDeviceMessage< + T extends RequestSubscribeDeviceMessageOption = RequestSubscribeDeviceMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeDeviceMessageOption> + /** [wx.requestSubscribeMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html) +* +* 需要基础库: `2.4.4` +* +* 在插件中使用:不支持 +* +* 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 [wx.getSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) 接口可获取用户对相关模板消息的订阅状态。 +* +* ## 注意事项 +* - 一次性模板 id 和永久模板 id 不可同时使用。 +* - 低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。 +* - [2.8.2](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。 +* - 一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。 +* - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,支持订阅语音消息提醒,[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html) +* +* **错误码** +* +* | errCode | errMsg | 说明 | +* | ------- | ------------------------------------------------------ | -------------------------------------------------------------- | +* | 10001 | TmplIds can't be empty | 参数传空了 | +* | 10002 | Request list fail | 网络问题,请求消息列表失败 | +* | 10003 | Request subscribe fail | 网络问题,订阅请求发送失败 | +* | 10004 | Invalid template id | 参数类型错误 | +* | 10005 | Cannot show subscribe message UI | 无法展示 UI,一般是小程序这个时候退后台了导致的 | +* | 20001 | No template data return, verify the template id exist | 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 | +* | 20002 | Templates type must be same | 模板消息类型 既有一次性的又有永久的 | +* | 20003 | Templates count out of max bounds | 模板消息数量超过上限 | +* | 20004 | The main switch is switched off | 用户关闭了主开关,无法进行订阅 | +* | 20005 | This mini program was banned from subscribing messages | 小程序被禁封 | +* | 20013 | Reject DeviceMsg Template | 不允许通过该接口订阅设备消息 | +* +* **示例代码** +* +* ```js +wx.requestSubscribeMessage({ + tmplIds: [''], + success (res) { } +}) +``` */ + requestSubscribeMessage< + T extends RequestSubscribeMessageOption = RequestSubscribeMessageOption + >( + option: T + ): PromisifySuccessResult<T, RequestSubscribeMessageOption> + /** [wx.reserveChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.reserveChannelsLive.html) + * + * 需要基础库: `2.19.0` + * + * 在插件中使用:不支持 + * + * 预约视频号直播 */ + reserveChannelsLive(option: ReserveChannelsLiveOption): void + /** [wx.revokeBufferURL(string url)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html) + * + * 需要基础库: `2.14.0` + * + * 在插件中使用:不支持 + * + * 根据 URL 销毁存在内存中的数据 */ + revokeBufferURL( + /** 需要销毁的二进制数据 URL */ + url: string + ): void + /** [wx.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFile.html) +* +* 在插件中使用:不支持 +* +* @warning **该接口已停止维护,推荐使用 [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)** +* +* 保存文件到本地。注意:**saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用**。 +* +* **示例代码** +* +* ```js +wx.chooseImage({ + success: function(res) { + const tempFilePaths = res.tempFilePaths + wx.saveFile({ + tempFilePath: tempFilePaths[0], + success (res) { + const savedFilePath = res.savedFilePath + } + }) + } +}) +``` */ + saveFile<T extends WxSaveFileOption = WxSaveFileOption>( + option: T + ): PromisifySuccessResult<T, WxSaveFileOption> + /** [wx.saveFileToDisk(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html) +* +* 需要基础库: `2.11.0` +* +* 在插件中使用:需要基础库 `2.15.0` +* +* 保存文件系统的文件到用户磁盘,仅在 PC 端支持 +* +* **示例代码** +* +* ```js +wx.saveFileToDisk({ + filePath: `${wx.env.USER_DATA_PATH}/hello.txt`, + success(res) { + console.log(res) + }, + fail(res) { + console.error(res) + } +}) +``` */ + saveFileToDisk(option: SaveFileToDiskOption): void + /** [wx.saveImageToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存图片到系统相册。 +* +* **示例代码** +* +* ```js +wx.saveImageToPhotosAlbum({ + success(res) { } +}) +``` */ + saveImageToPhotosAlbum< + T extends SaveImageToPhotosAlbumOption = SaveImageToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveImageToPhotosAlbumOption> + /** [wx.saveVideoToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 保存视频到系统相册。支持mp4视频格式。 +* +* **示例代码** +* +* ```js +wx.saveVideoToPhotosAlbum({ + filePath: 'wxfile://xxx', + success (res) { + console.log(res.errMsg) + } +}) +``` */ + saveVideoToPhotosAlbum< + T extends SaveVideoToPhotosAlbumOption = SaveVideoToPhotosAlbumOption + >( + option: T + ): PromisifySuccessResult<T, SaveVideoToPhotosAlbumOption> + /** [wx.scanCode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/scan/wx.scanCode.html) +* +* 需要基础库: `1.0.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 调起客户端扫码界面进行扫码 +* +* **示例代码** +* +* ```js +// 允许从相机和相册扫码 +wx.scanCode({ + success (res) { + console.log(res) + } +}) + +// 只允许从相机扫码 +wx.scanCode({ + onlyFromCamera: true, + success (res) { + console.log(res) + } +}) +``` */ + scanCode<T extends ScanCodeOption = ScanCodeOption>( + option: T + ): PromisifySuccessResult<T, ScanCodeOption> + /** [wx.seekBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.seekBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 控制音乐播放进度。 +* +* **示例代码** +* +* ```js +wx.seekBackgroundAudio({ + position: 30 +}) +``` */ + seekBackgroundAudio< + T extends SeekBackgroundAudioOption = SeekBackgroundAudioOption + >( + option: T + ): PromisifySuccessResult<T, SeekBackgroundAudioOption> + /** [wx.sendHCEMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.sendHCEMessage.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 发送 NFC 消息。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +const buffer = new ArrayBuffer(1) +const dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.startHCE({ + success (res) { + wx.onHCEMessage(function(res) { + if (res.messageType === 1) { + wx.sendHCEMessage({data: buffer}) + } + }) + } +}) +``` */ + sendHCEMessage<T extends SendHCEMessageOption = SendHCEMessageOption>( + option: T + ): PromisifySuccessResult<T, SendHCEMessageOption> + /** [wx.sendSms(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/sms/wx.sendSms.html) + * + * 需要基础库: `2.25.0` + * + * 在插件中使用:不支持 + * + * 拉起手机发送短信界面。 */ + sendSms(option: SendSmsOption): void + /** [wx.sendSocketMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html) +* +* 在插件中使用:不支持 +* +* @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。** +* +* 通过 WebSocket 连接发送数据。需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。 +* +* **示例代码** +* +* ```js +let socketOpen = false +let socketMsgQueue = [] +wx.connectSocket({ + url: 'test.php' +}) + +wx.onSocketOpen(function(res) { + socketOpen = true + for (let i = 0; i < socketMsgQueue.length; i++){ + sendSocketMessage(socketMsgQueue[i]) + } + socketMsgQueue = [] +}) + +function sendSocketMessage(msg) { + if (socketOpen) { + wx.sendSocketMessage({ + data:msg + }) + } else { + socketMsgQueue.push(msg) + } +} +``` */ + sendSocketMessage< + T extends SendSocketMessageOption = SendSocketMessageOption + >( + option: T + ): PromisifySuccessResult<T, SendSocketMessageOption> + /** [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。仅安卓系统 5.1 以上版本有效,iOS 因系统限制不支持。 */ + setBLEMTU<T extends SetBLEMTUOption = SetBLEMTUOption>( + option: T + ): PromisifySuccessResult<T, SetBLEMTUOption> + /** [wx.setBackgroundColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundColor.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置窗口的背景色 +* +* **示例代码** +* +* ```js +wx.setBackgroundColor({ + backgroundColor: '#ffffff', // 窗口的背景色为白色 +}) + +wx.setBackgroundColor({ + backgroundColorTop: '#ffffff', // 顶部窗口的背景色为白色 + backgroundColorBottom: '#ffffff', // 底部窗口的背景色为白色 +}) +``` */ + setBackgroundColor< + T extends SetBackgroundColorOption = SetBackgroundColorOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundColorOption> + /** [wx.setBackgroundFetchToken(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.setBackgroundFetchToken.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性 */ + setBackgroundFetchToken< + T extends SetBackgroundFetchTokenOption = SetBackgroundFetchTokenOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundFetchTokenOption> + /** [wx.setBackgroundTextStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.html) +* +* 需要基础库: `2.1.0` +* +* 在插件中使用:需要基础库 `2.4.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置下拉背景字体、loading 图的样式 +* +* **示例代码** +* +* ```js +wx.setBackgroundTextStyle({ + textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark +}) +``` */ + setBackgroundTextStyle< + T extends SetBackgroundTextStyleOption = SetBackgroundTextStyleOption + >( + option: T + ): PromisifySuccessResult<T, SetBackgroundTextStyleOption> + /** [wx.setClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.setClipboardData.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s +* +* **示例代码** +* +* ```js +wx.setClipboardData({ + data: 'data', + success (res) { + wx.getClipboardData({ + success (res) { + console.log(res.data) // data + } + }) + } +}) +``` */ + setClipboardData< + T extends SetClipboardDataOption = SetClipboardDataOption + >( + option: T + ): PromisifySuccessResult<T, SetClipboardDataOption> + /** [wx.setEnable1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.setEnable1v1Chat.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:不支持 + * + * 开启双人通话。设置 `enable` 为 `false` 时,无法接听呼叫。 */ + setEnable1v1Chat(option: SetEnable1v1ChatOption): void + /** [wx.setEnableDebug(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:不支持 +* +* 设置是否打开调试开关。此开关对正式版也能生效。 +* +* **示例代码** +* +* ```javascript +// 打开调试 +wx.setEnableDebug({ + enableDebug: true +}) + +// 关闭调试 +wx.setEnableDebug({ + enableDebug: false +}) +``` +* +* **Tips** +* +* - 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。 */ + setEnableDebug<T extends SetEnableDebugOption = SetEnableDebugOption>( + option: T + ): PromisifySuccessResult<T, SetEnableDebugOption> + /** [wx.setInnerAudioOption(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.10.0` + * + * 设置 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 的播放选项。设置之后对当前小程序全局生效。 + * + * **** + * + * ## 注意事项 + * - 为保证微信整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOthers 参数的内容,强制与其它音频互斥 + * - 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频 + * - 目前 wx.setInnerAudioOption 接口不兼容 wx.createWebAudioContext 接口,也不兼容 wx.createInnerAudioContext 开启 useWebAudioImplement 的情况,将在后续版本中支持 */ + setInnerAudioOption< + T extends SetInnerAudioOption = SetInnerAudioOption + >( + option: T + ): PromisifySuccessResult<T, SetInnerAudioOption> + /** [wx.setKeepScreenOn(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setKeepScreenOn.html) +* +* 需要基础库: `1.4.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。 +* +* **示例代码** +* +* ```js +wx.setKeepScreenOn({ + keepScreenOn: true +}) +``` */ + setKeepScreenOn< + T extends SetKeepScreenOnOption = SetKeepScreenOnOption + >( + option: T + ): PromisifySuccessResult<T, SetKeepScreenOnOption> + /** [wx.setNavigationBarColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarColor.html) + * + * 需要基础库: `1.4.0` + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 设置页面导航条颜色 */ + setNavigationBarColor< + T extends SetNavigationBarColorOption = SetNavigationBarColorOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarColorOption> + /** [wx.setNavigationBarTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarTitle.html) +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 动态设置当前页面的标题 +* +* **示例代码** +* +* ```js +wx.setNavigationBarTitle({ + title: '当前页面' +}) +``` */ + setNavigationBarTitle< + T extends SetNavigationBarTitleOption = SetNavigationBarTitleOption + >( + option: T + ): PromisifySuccessResult<T, SetNavigationBarTitleOption> + /** [wx.setScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setScreenBrightness.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 设置屏幕亮度 */ + setScreenBrightness< + T extends SetScreenBrightnessOption = SetScreenBrightnessOption + >( + option: T + ): PromisifySuccessResult<T, SetScreenBrightnessOption> + /** [wx.setStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **示例代码** +* +* ```js +wx.setStorage({ + key:"key", + data:"value" +}) +``` +* +* ```js +// 开启加密存储 +wx.setStorage({ + key: "key", + data: "value", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success() { + wx.getStorage({ + key: "key", + encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true + success(res) { + console.log(res.data) + } + }) + } +}) +``` */ + setStorage< + T = any, + U extends SetStorageOption<T> = SetStorageOption<T> + >( + option: U + ): PromisifySuccessResult<U, SetStorageOption<T>> + /** [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 +* +* **注意** +* +* storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。 +* +* **示例代码** +* +* ```js +try { + wx.setStorageSync('key', 'value') +} catch (e) { } +``` */ + setStorageSync<T = any>( + /** 本地缓存中指定的 key */ + key: string, + /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */ + data: T + ): void + /** [wx.setTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarBadge.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 为 tabBar 某一项的右上角添加文本 +* +* **示例代码** +* +* ```js +wx.setTabBarBadge({ + index: 0, + text: '1' +}) +``` */ + setTabBarBadge<T extends SetTabBarBadgeOption = SetTabBarBadgeOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarBadgeOption> + /** [wx.setTabBarItem(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarItem.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 某一项的内容,`2.7.0` 起图片支持临时文件和网络文件。 +* +* **示例代码** +* +* ```js +wx.setTabBarItem({ + index: 0, + text: 'text', + iconPath: '/path/to/iconPath', + selectedIconPath: '/path/to/selectedIconPath' +}) +``` */ + setTabBarItem<T extends SetTabBarItemOption = SetTabBarItemOption>( + option: T + ): PromisifySuccessResult<T, SetTabBarItemOption> + /** [wx.setTabBarStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarStyle.html) +* +* 需要基础库: `1.9.0` +* +* 在插件中使用:不支持 +* +* 动态设置 tabBar 的整体样式 +* +* **示例代码** +* +* ```js +wx.setTabBarStyle({ + color: '#FF0000', + selectedColor: '#00FF00', + backgroundColor: '#0000FF', + borderStyle: 'white' +}) +``` */ + setTabBarStyle<T extends SetTabBarStyleOption = SetTabBarStyleOption>( + option?: T + ): PromisifySuccessResult<T, SetTabBarStyleOption> + /** [wx.setTopBarText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/sticky/wx.setTopBarText.html) +* +* 需要基础库: `1.4.3` +* +* 在插件中使用:不支持 +* @deprecated 基础库版本 [1.9.9](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 +* +* 动态设置置顶栏文字内容。只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容. +* +* **示例代码** +* +* ```js +wx.setTopBarText({ + text: 'hello, world!' +}) +``` +* +* **注意** +* +* - 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:"setTopBarText: fail invoke too frequently" */ + setTopBarText<T extends SetTopBarTextOption = SetTopBarTextOption>( + option: T + ): PromisifySuccessResult<T, SetTopBarTextOption> + /** [wx.setVisualEffectOnCapture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setVisualEffectOnCapture.html) + * + * 需要基础库: `2.20.1` + * + * 在插件中使用:需要基础库 `2.21.3` + * + * 设置截屏/录屏时屏幕表现,仅支持在 Android 端调用 */ + setVisualEffectOnCapture(option: SetVisualEffectOnCaptureOption): void + /** [wx.setWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.setWifiList.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 设置 `wifiList` 中 AP 的相关信息。在 `onGetWifiList` 回调后调用,**iOS特有接口**。 +* +* **注意** +* +* - 该接口只能在 `onGetWifiList` 回调之后才能调用。 +* - 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。 +* - 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。 +* +* **示例代码** +* +* ```js +wx.onGetWifiList(function(res) { + if (res.wifiList.length) { + wx.setWifiList({ + wifiList: [{ + SSID: res.wifiList[0].SSID, + BSSID: res.wifiList[0].BSSID, + password: '123456' + }] + }) + } else { + wx.setWifiList({ + wifiList: [] + }) + } +}) +wx.getWifiList() +``` */ + setWifiList<T extends SetWifiListOption = SetWifiListOption>( + option: T + ): PromisifySuccessResult<T, SetWifiListOption> + /** [wx.setWindowSize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.setWindowSize.html) + * + * 需要基础库: `2.10.1` + * + * 在插件中使用:不支持 + * @deprecated 基础库版本 [2.11.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南 */ + setWindowSize(option: SetWindowSizeOption): void + /** [wx.shareFileMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareFileMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发文件到聊天 */ + shareFileMessage< + T extends ShareFileMessageOption = ShareFileMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareFileMessageOption> + /** [wx.shareToWeRun(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.shareToWeRun.html) + * + * 在插件中使用:不支持 + * + * 分享数据到微信运动。 */ + shareToWeRun<T extends ShareToWeRunOption = ShareToWeRunOption>( + option: T + ): PromisifySuccessResult<T, ShareToWeRunOption> + /** [wx.shareVideoMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareVideoMessage.html) + * + * 需要基础库: `2.16.1` + * + * 在插件中使用:不支持 + * + * 转发视频到聊天 */ + shareVideoMessage< + T extends ShareVideoMessageOption = ShareVideoMessageOption + >( + option: T + ): PromisifySuccessResult<T, ShareVideoMessageOption> + /** [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showActionSheet.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示操作菜单 +* +* **示例代码** +* +* ```js +wx.showActionSheet({ + itemList: ['A', 'B', 'C'], + success (res) { + console.log(res.tapIndex) + }, + fail (res) { + console.log(res.errMsg) + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 */ + showActionSheet< + T extends ShowActionSheetOption = ShowActionSheetOption + >( + option: T + ): PromisifySuccessResult<T, ShowActionSheetOption> + /** [wx.showLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框 +* +* **示例代码** +* +* ```js +wx.showLoading({ + title: '加载中', +}) + +setTimeout(function () { + wx.hideLoading() +}, 2000) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 应与 [wx.hideLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html) 配对使用 */ + showLoading<T extends ShowLoadingOption = ShowLoadingOption>( + option: T + ): PromisifySuccessResult<T, ShowLoadingOption> + /** [wx.showModal(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示模态对话框 +* +* **示例代码** +* +* ```js +wx.showModal({ + title: '提示', + content: '这是一个模态弹窗', + success (res) { + if (res.confirm) { + console.log('用户点击确定') + } else if (res.cancel) { + console.log('用户点击取消') + } + } +}) +``` +* +* **注意** +* +* - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel"; +* - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 +* - 自基础库 2.17.1 版本起,支持传入 editable 参数,显示带输入框的弹窗 */ + showModal<T extends ShowModalOption = ShowModalOption>( + option: T + ): PromisifySuccessResult<T, ShowModalOption> + /** [wx.showNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.html) + * + * 在插件中使用:需要基础库 `2.1.0` + * + * 在插件中使用时,只能在当前插件的页面中调用 + * + * 在当前页面显示导航条加载动画 */ + showNavigationBarLoading< + T extends ShowNavigationBarLoadingOption = ShowNavigationBarLoadingOption + >( + option?: T + ): PromisifySuccessResult<T, ShowNavigationBarLoadingOption> + /** [wx.showRedPackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html) + * + * 需要基础库: `2.10.0` + * + * 在插件中使用:不支持 + * + * 拉取h5领取红包封面页。获取参考红包封面地址参考 [微信红包封面开发平台](https://cover.weixin.qq.com/cgi-bin/mmcover-bin/readtemplate?t=page/index#/doc?page=introduce)。 */ + showRedPackage<T extends ShowRedPackageOption = ShowRedPackageOption>( + option: T + ): PromisifySuccessResult<T, ShowRedPackageOption> + /** [wx.showShareImageMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareImageMenu.html) + * + * 需要基础库: `2.14.3` + * + * 在插件中使用:需要基础库 `2.16.0` + * + * 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载 */ + showShareImageMenu< + T extends ShowShareImageMenuOption = ShowShareImageMenuOption + >( + option: T + ): PromisifySuccessResult<T, ShowShareImageMenuOption> + /** [wx.showShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 显示当前页面的转发按钮 +* +* **** +* +* ## 注意事项 +* - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮 +* - 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮 +* +* **示例代码** +* +* ```js +wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'] +}) +``` */ + showShareMenu<T extends ShowShareMenuOption = ShowShareMenuOption>( + option: T + ): PromisifySuccessResult<T, ShowShareMenuOption> + /** [wx.showTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBar.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar */ + showTabBar<T extends ShowTabBarOption = ShowTabBarOption>( + option: T + ): PromisifySuccessResult<T, ShowTabBarOption> + /** [wx.showTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.html) + * + * 需要基础库: `1.9.0` + * + * 在插件中使用:不支持 + * + * 显示 tabBar 某一项的右上角的红点 */ + showTabBarRedDot< + T extends ShowTabBarRedDotOption = ShowTabBarRedDotOption + >( + option: T + ): PromisifySuccessResult<T, ShowTabBarRedDotOption> + /** [wx.showToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 显示消息提示框 +* +* **示例代码** +* +* ```js +wx.showToast({ + title: '成功', + icon: 'success', + duration: 2000 +}) +``` +* +* **注意** +* +* - [wx.showLoading](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html) 和 [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 同时只能显示一个 +* - [wx.showToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html) 应与 [wx.hideToast](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html) 配对使用 */ + showToast<T extends ShowToastOption = ShowToastOption>( + option: T + ): PromisifySuccessResult<T, ShowToastOption> + /** [wx.startAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.startAccelerometer({ + interval: 'game' +}) +``` +* +* **注意** +* +* - 根据机型性能、当前 CPU 与内存的占用情况,`interval` 的设置与实际 `wx.onAccelerometerChange()` 回调函数的执行频率会有一些出入。 */ + startAccelerometer< + T extends StartAccelerometerOption = StartAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StartAccelerometerOption> + /** [wx.startBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜索附近的 Beacon 设备 +* +* **示例代码** +* +* ```js +wx.startBeaconDiscovery({ + success(res) { } +}) +``` */ + startBeaconDiscovery< + T extends StartBeaconDiscoveryOption = StartBeaconDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBeaconDiscoveryOption> + /** [wx.startBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始搜寻附近的蓝牙外围设备。 +* +* **此操作比较耗费系统资源,请在搜索到需要的设备后及时调用 [wx.stopBluetoothDevicesDiscovery](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) 停止搜索。** +* +* **注意** +* +* - 考虑到蓝牙功能可以间接进行定位,安卓 6.0 及以上版本,无定位权限或定位开关未打开时,无法进行设备搜索。这种情况下,安卓 8.0.16 前,接口调用成功但无法扫描设备;8.0.16 及以上版本,会返回错误。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/m7klFDmZ72i1) +* +* ```js +// 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备 +wx.startBluetoothDevicesDiscovery({ + services: ['FEE7'], + success (res) { + console.log(res) + } +}) +``` */ + startBluetoothDevicesDiscovery< + T extends StartBluetoothDevicesDiscoveryOption = StartBluetoothDevicesDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartBluetoothDevicesDiscoveryOption> + /** [wx.startCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.startCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 开始监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.startCompass() +``` */ + startCompass<T extends StartCompassOption = StartCompassOption>( + option?: T + ): PromisifySuccessResult<T, StartCompassOption> + /** [wx.startDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听设备方向的变化。 */ + startDeviceMotionListening< + T extends StartDeviceMotionListeningOption = StartDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StartDeviceMotionListeningOption> + /** [wx.startGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 开始监听陀螺仪数据。 */ + startGyroscope<T extends StartGyroscopeOption = StartGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StartGyroscopeOption> + /** [wx.startHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.startHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 初始化 NFC 模块。(HCE 模式仅安卓支持) +* +* **示例代码** +* +* ```js +wx.startHCE({ + aid_list: ['F222222222'], + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startHCE<T extends StartHCEOption = StartHCEOption>( + option: T + ): PromisifySuccessResult<T, StartHCEOption> + /** [wx.startLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 开始搜索局域网下的 mDNS 服务。搜索的结果会通过 wx.onLocalService* 事件返回。 + * + * **注意** + * + * 1. 由于操作系统相关能力变更,iOS 微信客户端 7.0.18 及以上版本无法使用 mDNS 相关接口,安卓版本不受影响 + * 2. wx.startLocalServiceDiscovery 是一个消耗性能的行为,开始 30 秒后会自动 stop 并执行 wx.onLocalServiceDiscoveryStop 注册的回调函数。 + * 3. 在调用 wx.startLocalServiceDiscovery 后,在这次搜索行为停止后才能发起下次 wx.startLocalServiceDiscovery。停止本次搜索行为的操作包括调用 wx.stopLocalServiceDiscovery 和 30 秒后系统自动 stop 本次搜索。 */ + startLocalServiceDiscovery< + T extends StartLocalServiceDiscoveryOption = StartLocalServiceDiscoveryOption + >( + option: T + ): PromisifySuccessResult<T, StartLocalServiceDiscoveryOption> + /** [wx.startLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 开启小程序进入前台时接收位置消息。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 | + * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 | + * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 | + * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 | + * | 生活服务 | / | 上门服务作业等线下场景 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 | + * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 | + * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 | + * | 旅游 | 景区服务 | 提供景区导航、导览服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 快递业与邮政 | / | 快递/货物收发服务 | + * | 餐饮 | / | 线下送餐服务 | + * | 电商平台 | / | 售卖商品线下发货、线下收货服务 | + * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 | + * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 | + * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 | + * + * **注意** + * + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdate< + T extends StartLocationUpdateOption = StartLocationUpdateOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateOption> + /** [wx.startLocationUpdateBackground(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:不支持 + * + * 开启小程序进入前后台时均接收位置消息,需引导用户开启[授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#后台定位)。授权以后,小程序在运行中或进入后台均可接受位置消息变化。 + * ## 使用方法 + * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01) + * + * ## 申请开通 + * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。 + * + * ### 国内主体开放类目 + * + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 商家自营 | / | 在小程序内提供线下商超导览、导航服务 | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 跑腿、共享服务 | 含有B端小程序配送服务,基于地理位置共享工具类服务 | + * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 点餐平台、外卖平台 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 工具 | 健康管理 | 基于实时地理位置提供身体管理记录等服务 | + * | 旅游 | 景区服务、住宿服务 | 在小程序内提供景区导航、导览服务、酒店导航服务 | + * | 政务民生 | / | 提供政务单位相关业务 | + * | 政府主体帐号 | / | 提供政务单位相关业务 | + * + * ### 海外主体开放类目 + * | 一级类目/主体类型 | 二级类目 | 应用场景 | + * | -------------- | -------| -------- | + * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 | + * | 生活服务 | 家政、外送 | 含有B端小程序配送服务,基于地理位置导航上门服务 | + * | 快递业与邮政 | / | 提供B端小程序快递/货物收发服务 | + * | 餐饮服务 | 外卖点餐 | 提供B端小程序餐饮配送服务、线下门店实时导航 | + * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 | + * | 跨境电商 | / | 在小程序内提供线下商超导览、导航服务 | + * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 在小程序内提供线下商超导览、导航服务 | + * + * **注意** + * + * - 安卓微信7.0.6版本,iOS 7.0.5版本起支持该接口 + * - 需在app.json中配置requiredBackgroundModes: ['location']后使用 + * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */ + startLocationUpdateBackground< + T extends StartLocationUpdateBackgroundOption = StartLocationUpdateBackgroundOption + >( + option: T + ): PromisifySuccessResult<T, StartLocationUpdateBackgroundOption> + /** [wx.startPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 +* +* **示例代码** +* +* ```js +wx.startPullDownRefresh() +``` */ + startPullDownRefresh< + T extends StartPullDownRefreshOption = StartPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StartPullDownRefreshOption> + /** [wx.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 开始录音。当主动调用 [wx.stopRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html),或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + startRecord<T extends WxStartRecordOption = WxStartRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStartRecordOption> + /** [wx.startSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:不支持 +* +* 开始 SOTER 生物认证。验证流程请参考[说明](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html)。 +* +* **resultJSON 说明** +* +* 此数据为设备TEE中,将传入的challenge和TEE内其他安全信息组成的数据进行组装而来的JSON,对下述字段的解释如下表。例子如下: +* | 字段名 | 说明 | +* |---------|-------------------------------------------------------------------------------------------| +* | raw | 调用者传入的challenge | +* | fid | (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号) | +* | counter | 防重放特征参数 | +* | tee_n | TEE名称(如高通或者trustonic等) | +* | tee_v | TEE版本号 | +* | fp_n | 指纹以及相关逻辑模块提供商(如FPC等) | +* | fp_v | 指纹以及相关模块版本号 | +* | cpu_id | 机器唯一识别ID | +* | uid | 概念同Android系统定义uid,即应用程序编号 | +* +* ```json +{ + "raw":"msg", + "fid":"2", + "counter":123, + "tee_n":"TEE Name", + "tee_v":"TEE Version", + "fp_n":"Fingerprint Sensor Name", + "fp_v":"Fingerprint Sensor Version", + "cpu_id":"CPU Id", + "uid":"21" +} +``` +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/q3tCKkmJ7g2e) +* ```js +wx.startSoterAuthentication({ + requestAuthModes: ['fingerPrint'], + challenge: '123456', + authContent: '请用指纹解锁', + success(res) { + } +}) +``` */ + startSoterAuthentication< + T extends StartSoterAuthenticationOption = StartSoterAuthenticationOption + >( + option: T + ): PromisifySuccessResult<T, StartSoterAuthenticationOption> + /** [wx.startWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.startWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 初始化 Wi-Fi 模块。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/8P7zrkmd7r2n) +* ```js +wx.startWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + startWifi<T extends StartWifiOption = StartWifiOption>( + option?: T + ): PromisifySuccessResult<T, StartWifiOption> + /** [wx.stopAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.stopAccelerometer.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听加速度数据。 +* +* **示例代码** +* +* ```js +wx.stopAccelerometer() +``` */ + stopAccelerometer< + T extends StopAccelerometerOption = StopAccelerometerOption + >( + option?: T + ): PromisifySuccessResult<T, StopAccelerometerOption> + /** [wx.stopBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.stopBackgroundAudio.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 替换 +* +* 停止播放音乐。 +* +* **示例代码** +* +* ```js +wx.stopBackgroundAudio() +``` */ + stopBackgroundAudio< + T extends StopBackgroundAudioOption = StopBackgroundAudioOption + >( + option?: T + ): PromisifySuccessResult<T, StopBackgroundAudioOption> + /** [wx.stopBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.stopBeaconDiscovery.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 停止搜索附近的 Beacon 设备 */ + stopBeaconDiscovery< + T extends StopBeaconDiscoveryOption = StopBeaconDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBeaconDiscoveryOption> + /** [wx.stopBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +wx.stopBluetoothDevicesDiscovery({ + success (res) { + console.log(res) + } +}) +``` */ + stopBluetoothDevicesDiscovery< + T extends StopBluetoothDevicesDiscoveryOption = StopBluetoothDevicesDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopBluetoothDevicesDiscoveryOption> + /** [wx.stopCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.stopCompass.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 停止监听罗盘数据 +* +* **示例代码** +* +* ```js +wx.stopCompass() +``` */ + stopCompass<T extends StopCompassOption = StopCompassOption>( + option?: T + ): PromisifySuccessResult<T, StopCompassOption> + /** [wx.stopDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听设备方向的变化。 */ + stopDeviceMotionListening< + T extends StopDeviceMotionListeningOption = StopDeviceMotionListeningOption + >( + option?: T + ): PromisifySuccessResult<T, StopDeviceMotionListeningOption> + /** [wx.stopFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html) + * + * 需要基础库: `2.18.0` + * + * 在插件中使用:需要基础库 `2.21.3` + * @deprecated 基础库版本 [2.25.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃 + * + * 停止人脸检测。本接口不再维护,请使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 接口代替。详情参考[人脸检测指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html) */ + stopFaceDetect(option?: StopFaceDetectOption): void + /** [wx.stopGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html) + * + * 需要基础库: `2.3.0` + * + * 在插件中使用:需要基础库 `2.9.1` + * + * 停止监听陀螺仪数据。 */ + stopGyroscope<T extends StopGyroscopeOption = StopGyroscopeOption>( + option?: T + ): PromisifySuccessResult<T, StopGyroscopeOption> + /** [wx.stopHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.stopHCE.html) +* +* 需要基础库: `1.7.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 关闭 NFC 模块。仅在安卓系统下有效。 +* +* **示例代码** +* +* ```js +wx.stopHCE({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopHCE<T extends StopHCEOption = StopHCEOption>( + option?: T + ): PromisifySuccessResult<T, StopHCEOption> + /** [wx.stopLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.stopLocalServiceDiscovery.html) + * + * 需要基础库: `2.4.0` + * + * 在插件中使用:需要基础库 `2.15.0` + * + * 停止搜索 mDNS 服务 */ + stopLocalServiceDiscovery< + T extends StopLocalServiceDiscoveryOption = StopLocalServiceDiscoveryOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocalServiceDiscoveryOption> + /** [wx.stopLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.stopLocationUpdate.html) + * + * 需要基础库: `2.8.0` + * + * 在插件中使用:需要基础库 `2.8.0` + * + * 关闭监听实时位置变化,前后台都停止消息接收 */ + stopLocationUpdate< + T extends StopLocationUpdateOption = StopLocationUpdateOption + >( + option?: T + ): PromisifySuccessResult<T, StopLocationUpdateOption> + /** [wx.stopPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.stopPullDownRefresh.html) +* +* 需要基础库: `1.5.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 停止当前页面下拉刷新。 +* +* **示例代码** +* +* ```js +Page({ + onPullDownRefresh () { + wx.stopPullDownRefresh() + } +}) +``` */ + stopPullDownRefresh< + T extends StopPullDownRefreshOption = StopPullDownRefreshOption + >( + option?: T + ): PromisifySuccessResult<T, StopPullDownRefreshOption> + /** [wx.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getRecorderManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.getRecorderManager.html) 替换 +* +* 停止录音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + } +}) +setTimeout(function () { + wx.stopRecord() // 结束录音 +}, 10000) +``` */ + stopRecord<T extends WxStopRecordOption = WxStopRecordOption>( + option?: T + ): PromisifySuccessResult<T, WxStopRecordOption> + /** [wx.stopVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html) +* +* 在插件中使用:需要基础库 `1.9.6` +* @deprecated 基础库版本 [1.6.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.createInnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html) 替换 +* +* 结束播放语音。 +* +* **示例代码** +* +* ```js +wx.startRecord({ + success (res) { + const tempFilePath = res.tempFilePath + wx.playVoice({ + filePath: tempFilePath, + }) + + setTimeout(() => { wx.stopVoice() }, 5000) + } +}) +``` */ + stopVoice<T extends StopVoiceOption = StopVoiceOption>( + option?: T + ): PromisifySuccessResult<T, StopVoiceOption> + /** [wx.stopWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.stopWifi.html) +* +* 需要基础库: `1.6.0` +* +* 在插件中使用:需要基础库 `2.9.1` +* +* 关闭 Wi-Fi 模块。 +* +* **示例代码** +* +* ```js +wx.stopWifi({ + success (res) { + console.log(res.errMsg) + } +}) +``` */ + stopWifi<T extends StopWifiOption = StopWifiOption>( + option?: T + ): PromisifySuccessResult<T, StopWifiOption> + /** [wx.subscribeVoIPVideoMembers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.subscribeVoIPVideoMembers.html) + * + * 需要基础库: `2.11.0` + * + * 在插件中使用:需要基础库 `2.11.0` + * + * 订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 */ + subscribeVoIPVideoMembers< + T extends SubscribeVoIPVideoMembersOption = SubscribeVoIPVideoMembersOption + >( + option: T + ): PromisifySuccessResult<T, SubscribeVoIPVideoMembersOption> + /** [wx.switchTab(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html) +* +* 在插件中使用:需要基础库 `2.3.1` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 +* +* **示例代码** +* +* ```json +// app.json +{ + "tabBar": { + "list": [{ + "pagePath": "index", + "text": "首页" + },{ + "pagePath": "other", + "text": "其他" + }] + } +} +``` +* +* ```js +wx.switchTab({ + url: '/index' +}) +``` */ + switchTab<T extends SwitchTabOption = SwitchTabOption>( + option: T + ): PromisifySuccessResult<T, SwitchTabOption> + /** [wx.updateShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html) +* +* 需要基础库: `1.2.0` +* +* 在插件中使用:需要基础库 `2.1.0` +* +* 在插件中使用时,只能在当前插件的页面中调用 +* +* 更新转发属性 +* +* **示例代码** +* +* ```js +wx.updateShareMenu({ + withShareTicket: true, + success () { } +}) +``` +* ```js +// 转发私密消息 +wx.updateShareMenu({ + isPrivateMessage: true, + activityId: 'xxx', + templateInfo: {}, + success () { }, + fail () {} +}) +``` */ + updateShareMenu< + T extends UpdateShareMenuOption = UpdateShareMenuOption + >( + option: T + ): PromisifySuccessResult<T, UpdateShareMenuOption> + /** [wx.updateVoIPChatMuteConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.updateVoIPChatMuteConfig.html) + * + * 需要基础库: `2.7.0` + * + * 在插件中使用:需要基础库 `2.9.0` + * + * 更新实时语音静音设置 */ + updateVoIPChatMuteConfig< + T extends UpdateVoIPChatMuteConfigOption = UpdateVoIPChatMuteConfigOption + >( + option: T + ): PromisifySuccessResult<T, UpdateVoIPChatMuteConfigOption> + /** [wx.updateWeChatApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.updateWeChatApp.html) + * + * 需要基础库: `2.12.0` + * + * 在插件中使用:需要基础库 `2.12.0` + * + * 更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。 */ + updateWeChatApp< + T extends UpdateWeChatAppOption = UpdateWeChatAppOption + >( + option?: T + ): PromisifySuccessResult<T, UpdateWeChatAppOption> + /** [wx.vibrateLong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateLong.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较长时间的振动(400 ms) */ + vibrateLong<T extends VibrateLongOption = VibrateLongOption>( + option?: T + ): PromisifySuccessResult<T, VibrateLongOption> + /** [wx.vibrateShort(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html) + * + * 需要基础库: `1.2.0` + * + * 在插件中使用:需要基础库 `1.9.6` + * + * 使手机发生较短时间的振动(15 ms)。仅在 iPhone `7 / 7 Plus` 以上及 Android 机型生效 */ + vibrateShort<T extends VibrateShortOption = VibrateShortOption>( + option: T + ): PromisifySuccessResult<T, VibrateShortOption> + /** [wx.writeBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) +* +* 需要基础库: `1.1.0` +* +* 在插件中使用:需要基础库 `1.9.6` +* +* 向蓝牙低功耗设备特征值中写入二进制数据。注意:必须设备的特征支持 write 才可以成功调用。 +* +* **注意** +* +* - 并行调用多次会存在写失败的可能性。 +* - 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。 +* - 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。 +* - 安卓平台上,在调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 成功后立即调用本接口,在部分机型上会发生 10008 系统错误 +* +* **示例代码** +* +* [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K) +* ```js +// 向蓝牙设备发送一个0x00的16进制数据 +let buffer = new ArrayBuffer(1) +let dataView = new DataView(buffer) +dataView.setUint8(0, 0) + +wx.writeBLECharacteristicValue({ + // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取 + deviceId, + // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取 + serviceId, + // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取 + characteristicId, + // 这里的value是ArrayBuffer类型 + value: buffer, + success (res) { + console.log('writeBLECharacteristicValue success', res.errMsg) + } +}) +``` */ + writeBLECharacteristicValue< + T extends WriteBLECharacteristicValueOption = WriteBLECharacteristicValueOption + >( + option: T + ): PromisifySuccessResult<T, WriteBLECharacteristicValueOption> + /** 小程序云开发 */ + cloud: WxCloud + /** 文件系统中的用户目录路径 */ + env: { USER_DATA_PATH: string } + } + + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AccessCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AccessFailCallback = (result: AccessFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AccessSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCardSuccessCallback = (result: AddCardSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddCustomLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddFileToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddFileToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddFileToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddGroundOverlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddGroundOverlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneCalendarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneCalendarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneCalendarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddPhoneContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddPhoneContactSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddPhoneRepeatCalendarCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddPhoneRepeatCalendarFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AddPhoneRepeatCalendarSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVideoToFavoritesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AddVideoToFavoritesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVideoToFavoritesSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AddVisualLayerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AddVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AddVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AppendFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AppendFileFailCallback = (result: AppendFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AppendFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthPrivateMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthPrivateMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type AuthPrivateMessageSuccessCallback = ( + result: AuthPrivateMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type AuthorizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type AuthorizeForMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type AuthorizeForMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeForMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type AuthorizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 背景音频播放错误事件的监听函数 */ + type BackgroundAudioManagerOnErrorCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchGetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchGetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchGetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BatchSetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BatchSetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BatchSetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type BlurCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type BlurFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type BlurSuccessCallback = (res: GeneralCallbackResult) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type BoundingClientRectCallback = ( + result: BoundingClientRectCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStartRecordSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CameraContextStopRecordSuccessCallback = ( + result: StopRecordSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasGetImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasGetImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasGetImageDataSuccessCallback = ( + result: CanvasGetImageDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasPutImageDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasPutImageDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasPutImageDataSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CanvasToTempFilePathCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CanvasToTempFilePathFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CanvasToTempFilePathSuccessCallback = ( + result: CanvasToTempFilePathSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsOpenAccessibilityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsOpenAccessibilityFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsOpenAccessibilitySuccessCallback = ( + option: CheckIsOpenAccessibilitySuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSoterEnrolledInDeviceCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSoterEnrolledInDeviceFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSoterEnrolledInDeviceSuccessCallback = ( + result: CheckIsSoterEnrolledInDeviceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckIsSupportSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CheckIsSupportSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CheckIsSupportSoterAuthenticationSuccessCallback = ( + result: CheckIsSupportSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CheckSessionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CheckSessionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CheckSessionSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseAddressCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseAddressSuccessCallback = ( + result: ChooseAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseContactCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseContactFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseContactSuccessCallback = ( + option: ChooseContactSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseImageSuccessCallback = ( + result: ChooseImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceSuccessCallback = ( + result: ChooseInvoiceSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseInvoiceTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseInvoiceTitleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseInvoiceTitleSuccessCallback = ( + result: ChooseInvoiceTitleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLicensePlateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseLicensePlateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLicensePlateSuccessCallback = ( + result: ChooseLicensePlateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseLocationSuccessCallback = ( + result: ChooseLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMediaSuccessCallback = ( + result: ChooseMediaSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseMessageFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ChooseMessageFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseMessageFileSuccessCallback = ( + result: ChooseMessageFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChoosePoiCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChoosePoiFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChoosePoiSuccessCallback = ( + result: ChoosePoiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ChooseVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ChooseVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ChooseVideoSuccessCallback = ( + result: ChooseVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ClearStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ClearStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ClearSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CloseBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CloseBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CloseSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CloseSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CloseSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressImageSuccessCallback = ( + result: CompressImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CompressVideoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CompressVideoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CompressVideoSuccessCallback = ( + result: CompressVideoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type ConnectFailCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectSocketCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ConnectSocketFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSocketSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ConnectSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ConnectWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type ConnectWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type ConnectWifiSuccessCallback = (res: WifiError) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type ContextCallback = (result: ContextCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CopyFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type CopyFileFailCallback = (result: CopyFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type CopyFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEConnectionCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type CreateBLEConnectionFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type CreateBLEConnectionSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type CreateBLEPeripheralServerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type CreateBLEPeripheralServerFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type CreateBLEPeripheralServerSuccessCallback = ( + result: CreateBLEPeripheralServerSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DisableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type DisableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type DisableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type DownloadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type DownloadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type DownloadFileSuccessCallback = ( + result: DownloadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type DownloadTaskOffProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 下载进度变化事件的监听函数 */ + type DownloadTaskOnProgressUpdateCallback = ( + result: DownloadTaskOnProgressUpdateListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EditImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type EditImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type EditImageSuccessCallback = ( + result: EditImageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type EnableAlertBeforeUnloadCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type EnableAlertBeforeUnloadFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type EnableAlertBeforeUnloadSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 事件监听函数 */ + type EventCallback = ( + /** 触发事件参数 */ + ...args: any + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitFullScreenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitMiniProgramCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitMiniProgramFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitMiniProgramSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ExitPictureInPictureFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ExitVoIPChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ExitVoIPChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ExitVoIPChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FaceDetectSuccessCallback = ( + result: FaceDetectSuccessCallbackResult + ) => void + /** 回调函数 */ + type FieldsCallback = ( + /** 节点的相关信息 */ + res: IAnyObject + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FileSystemManagerCloseCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerCloseFailCallback = ( + result: CloseFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerCloseSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerGetFileInfoFailCallback = ( + result: GetFileInfoFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetFileInfoSuccessCallback = ( + result: FileSystemManagerGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type FileSystemManagerGetSavedFileListSuccessCallback = ( + result: FileSystemManagerGetSavedFileListSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerRemoveSavedFileFailCallback = ( + result: RemoveSavedFileFailCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FileSystemManagerSaveFileFailCallback = ( + result: SaveFileFailCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FromScreenLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type FromScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FromScreenLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FstatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FstatFailCallback = (result: FstatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FstatSuccessCallback = (result: FstatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type FtruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type FtruncateFailCallback = (result: FtruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type FtruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAtqaCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetAtqaFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetAtqaSuccessCallback = (result: GetAtqaSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetAvailableAudioSourcesCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetAvailableAudioSourcesFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetAvailableAudioSourcesSuccessCallback = ( + result: GetAvailableAudioSourcesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceCharacteristicsCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceCharacteristicsFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceCharacteristicsSuccessCallback = ( + result: GetBLEDeviceCharacteristicsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceRSSICompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceRSSIFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceRSSISuccessCallback = ( + result: GetBLEDeviceRSSISuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEDeviceServicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEDeviceServicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEDeviceServicesSuccessCallback = ( + result: GetBLEDeviceServicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBLEMTUCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBLEMTUFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBLEMTUSuccessCallback = ( + result: GetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundAudioPlayerStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundAudioPlayerStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundAudioPlayerStateSuccessCallback = ( + result: GetBackgroundAudioPlayerStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchDataCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchDataFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchDataSuccessCallback = ( + result: GetBackgroundFetchDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetBackgroundFetchTokenSuccessCallback = ( + result: GetBackgroundFetchTokenSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBatteryInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetBatteryInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetBatteryInfoSuccessCallback = ( + result: GetBatteryInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBeaconsCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type GetBeaconsFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type GetBeaconsSuccessCallback = ( + result: GetBeaconsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothAdapterStateCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothAdapterStateFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothAdapterStateSuccessCallback = ( + result: GetBluetoothAdapterStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetBluetoothDevicesCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type GetBluetoothDevicesFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type GetBluetoothDevicesSuccessCallback = ( + result: GetBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetCenterLocationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetCenterLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetCenterLocationSuccessCallback = ( + result: GetCenterLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveInfoSuccessCallback = ( + result: GetChannelsLiveInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsLiveNoticeInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsLiveNoticeInfoFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetChannelsLiveNoticeInfoSuccessCallback = ( + result: GetChannelsLiveNoticeInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetChannelsShareKeyCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetChannelsShareKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetChannelsShareKeySuccessCallback = ( + result: GetChannelsShareKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetClipboardDataSuccessCallback = ( + option: GetClipboardDataSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedBluetoothDevicesCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type GetConnectedBluetoothDevicesFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type GetConnectedBluetoothDevicesSuccessCallback = ( + result: GetConnectedBluetoothDevicesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetConnectedWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetConnectedWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetConnectedWifiSuccessCallback = ( + result: GetConnectedWifiSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetContentsSuccessCallback = ( + result: GetContentsSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetExtConfigCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetExtConfigFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetExtConfigSuccessCallback = ( + result: GetExtConfigSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetFuzzyLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetFuzzyLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetFuzzyLocationSuccessCallback = ( + result: GetFuzzyLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetGroupEnterInfoCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetGroupEnterInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetGroupEnterInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHCEStateCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type GetHCEStateFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type GetHCEStateSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetHistoricalBytesCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetHistoricalBytesFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetHistoricalBytesSuccessCallback = ( + result: GetHistoricalBytesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetImageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetImageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetImageInfoSuccessCallback = ( + result: GetImageInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLatestUserKeyCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLatestUserKeyFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLatestUserKeySuccessCallback = ( + result: GetLatestUserKeySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocalIPAddressCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetLocalIPAddressFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocalIPAddressSuccessCallback = ( + result: GetLocalIPAddressSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetLocationSuccessCallback = ( + result: GetLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetMaxTransceiveLengthCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetMaxTransceiveLengthFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetMaxTransceiveLengthSuccessCallback = ( + result: GetMaxTransceiveLengthSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetNetworkTypeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetNetworkTypeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetNetworkTypeSuccessCallback = ( + result: GetNetworkTypeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRandomValuesCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRandomValuesFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRandomValuesSuccessCallback = ( + result: GetRandomValuesSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRegionCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRegionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRegionSuccessCallback = ( + result: GetRegionSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetRotateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetRotateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetRotateSuccessCallback = ( + result: GetRotateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSakCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type GetSakFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type GetSakSuccessCallback = (result: GetSakSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSavedFileInfoSuccessCallback = ( + result: GetSavedFileInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSavedFileListCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSavedFileListFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScaleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetScaleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScaleSuccessCallback = ( + result: GetScaleSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetScreenBrightnessSuccessCallback = ( + option: GetScreenBrightnessSuccessCallbackOption + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetScreenRecordingStateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetScreenRecordingStateFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type GetScreenRecordingStateSuccessCallback = ( + result: GetScreenRecordingStateSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectedTextRangeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSelectedTextRangeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectedTextRangeSuccessCallback = ( + result: GetSelectedTextRangeSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSelectionTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSelectionTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSelectionTextSuccessCallback = ( + result: GetSelectionTextSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSettingSuccessCallback = ( + result: GetSettingSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetShareInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetShareInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetShareInfoSuccessCallback = ( + result: GetGroupEnterInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSkewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSkewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSkewSuccessCallback = (result: GetSkewSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetStorageInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetStorageInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetStorageInfoSuccessCallback = ( + option: GetStorageInfoSuccessCallbackOption + ) => void + /** 接口调用成功的回调函数 */ + type GetStorageSuccessCallback<T = any> = ( + result: GetStorageSuccessCallbackResult<T> + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoAsyncCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoAsyncFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoAsyncSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetSystemInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetSystemInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetSystemInfoSuccessCallback = (result: SystemInfo) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserInfoSuccessCallback = ( + result: GetUserInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetUserProfileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetUserProfileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetUserProfileSuccessCallback = ( + result: GetUserProfileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetVideoInfoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetVideoInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetVideoInfoSuccessCallback = ( + result: GetVideoInfoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWeRunDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type GetWeRunDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type GetWeRunDataSuccessCallback = ( + result: GetWeRunDataSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type GetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type GetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type GetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideHomeButtonCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideHomeButtonFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideHomeButtonSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideKeyboardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideKeyboardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideKeyboardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type HideNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type HideNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type HideToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type HideToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type HideToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IncludePointsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type IncludePointsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type IncludePointsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InitFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InitMarkerClusterCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type InitMarkerClusterFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InitMarkerClusterSuccessCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InnerAudioContextOffErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + /** 音频播放错误事件的监听函数 */ + type InnerAudioContextOnErrorCallback = ( + result: InnerAudioContextOnErrorListenerResult + ) => void + type InnerAudioContextOnStopCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertDividerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertDividerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertDividerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type InsertTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type InsertTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type InsertTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听相交状态变化的回调函数 */ + type IntersectionObserverObserveCallback = ( + result: IntersectionObserverObserveCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type InterstitialAdOffErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 插屏错误事件的监听函数 */ + type InterstitialAdOnErrorCallback = ( + result: InterstitialAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsBluetoothDevicePairedCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type IsBluetoothDevicePairedFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type IsBluetoothDevicePairedSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type IsConnectedCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type IsConnectedFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type IsConnectedSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type Join1v1ChatCompleteCallback = (res: Join1v1ChatError) => void + /** 接口调用失败的回调函数 */ + type Join1v1ChatFailCallback = (res: Join1v1ChatError) => void + /** 接口调用成功的回调函数 */ + type Join1v1ChatSuccessCallback = (res: Join1v1ChatError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type JoinVoIPChatCompleteCallback = (res: JoinVoIPChatError) => void + /** 接口调用失败的回调函数 */ + type JoinVoIPChatFailCallback = (res: JoinVoIPChatError) => void + /** 接口调用成功的回调函数 */ + type JoinVoIPChatSuccessCallback = ( + result: JoinVoIPChatSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePlayerContextSnapshotSuccessCallback = ( + result: LivePlayerContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LivePusherContextSnapshotSuccessCallback = ( + result: LivePusherContextSnapshotSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoadFontFaceCompleteCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type LoadFontFaceFailCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type LoadFontFaceSuccessCallback = ( + result: LoadFontFaceCompleteCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type LoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type LoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type LoginSuccessCallback = (result: LoginSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakeBluetoothPairCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type MakeBluetoothPairFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakeBluetoothPairSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MakePhoneCallCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MakePhoneCallFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MakePhoneCallSuccessCallback = (res: GeneralCallbackResult) => void + /** 监听 media query 状态变化的回调函数 */ + type MediaQueryObserverObserveCallback = ( + result: MediaQueryObserverObserveCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MkdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MkdirFailCallback = (result: MkdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MkdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveAlongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveAlongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveAlongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MoveToLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MoveToLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MoveToLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type MuteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type MuteFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type MuteSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateBackFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateBackMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateBackMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateBackSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type NavigateToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NavigateToMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type NavigateToMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type NavigateToSuccessCallback = ( + result: NavigateToSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NdefCloseCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type NdefCloseFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type NdefCloseSuccessCallback = (res: Nfcrwerror) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */ + type NodeCallback = (result: NodeCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type NotifyBLECharacteristicValueChangeCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type NotifyBLECharacteristicValueChangeFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type NotifyBLECharacteristicValueChangeSuccessCallback = ( + res: BluetoothError + ) => void + /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAccelerometerChangeCallback = (res: GeneralCallbackResult) => void + /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppHideCallback = (res: GeneralCallbackResult) => void + /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAppShowCallback = (res: GeneralCallbackResult) => void + /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionBeginCallback = ( + res: GeneralCallbackResult + ) => void + /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** onBLECharacteristicValueChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEMTUChangeCallback = ( + result: OnBLEMTUChangeListenerResult + ) => void + /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** onBeaconServiceChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconServiceChangeCallback = (res: GeneralCallbackResult) => void + /** onBeaconUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBeaconUpdateCallback = (res: GeneralCallbackResult) => void + /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBindWifiCallback = (res: GeneralCallbackResult) => void + /** onBluetoothAdapterStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** onBluetoothDeviceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffBluetoothDeviceFoundCallback = (res: GeneralCallbackResult) => void + /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCanplayCallback = (res: GeneralCallbackResult) => void + /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCompassChangeCallback = (res: GeneralCallbackResult) => void + /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffConnectCallback = (res: GeneralCallbackResult) => void + /** onCopyUrl 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDeviceMotionChangeCallback = (res: GeneralCallbackResult) => void + /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffEndedCallback = (res: GeneralCallbackResult) => void + /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffListeningCallback = (res: GeneralCallbackResult) => void + /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLoadCallback = (res: GeneralCallbackResult) => void + /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkStatusChangeCallback = (res: GeneralCallbackResult) => void + /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPageNotFoundCallback = ( + result: OnPageNotFoundListenerResult + ) => void + /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPauseCallback = (res: GeneralCallbackResult) => void + /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffPlayCallback = (res: GeneralCallbackResult) => void + /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekedCallback = (res: GeneralCallbackResult) => void + /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffSeekingCallback = (res: GeneralCallbackResult) => void + /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffStopCallback = (res: GeneralCallbackResult) => void + /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWaitingCallback = (res: GeneralCallbackResult) => void + /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */ + type OffWindowResizeCallback = ( + result: OnWindowResizeListenerResult + ) => void + /** 加速度数据事件的监听函数 */ + type OnAccelerometerChangeCallback = ( + result: OnAccelerometerChangeListenerResult + ) => void + /** 小程序切后台事件的监听函数 */ + type OnAppHideCallback = (res: GeneralCallbackResult) => void + /** 小程序切前台事件的监听函数 */ + type OnAppShowCallback = ( + /** 启动参数 */ + options: LaunchOptionsApp + ) => void + /** 音频因为受到系统占用而被中断开始事件的监听函数 */ + type OnAudioInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 音频中断结束事件的监听函数 */ + type OnAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 蓝牙低功耗设备的特征值变化事件的监听函数 */ + type OnBLECharacteristicValueChangeCallback = ( + result: OnBLECharacteristicValueChangeListenerResult + ) => void + /** 蓝牙低功耗连接状态改变事件的监听函数 */ + type OnBLEConnectionStateChangeCallback = ( + result: OnBLEConnectionStateChangeListenerResult + ) => void + /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */ + type OnBLEMTUChangeCallback = (result: OnBLEMTUChangeListenerResult) => void + /** 当前外围设备被连接或断开连接事件的监听函数 */ + type OnBLEPeripheralConnectionStateChangedCallback = ( + result: OnBLEPeripheralConnectionStateChangedListenerResult + ) => void + /** 音乐暂停事件的监听函数 */ + type OnBackgroundAudioPauseCallback = (res: GeneralCallbackResult) => void + /** 音乐播放事件的监听函数 */ + type OnBackgroundAudioPlayCallback = (res: GeneralCallbackResult) => void + /** 音乐停止事件的监听函数 */ + type OnBackgroundAudioStopCallback = (res: GeneralCallbackResult) => void + /** 收到 backgroundFetch 数据事件的监听函数 */ + type OnBackgroundFetchDataCallback = ( + result: OnBackgroundFetchDataListenerResult + ) => void + /** Beacon 服务状态变化事件的监听函数 */ + type OnBeaconServiceChangeCallback = ( + result: OnBeaconServiceChangeListenerResult + ) => void + /** Beacon 设备更新事件的监听函数 */ + type OnBeaconUpdateCallback = (result: OnBeaconUpdateListenerResult) => void + /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */ + type OnBindWifiCallback = (res: GeneralCallbackResult) => void + /** 蓝牙适配器状态变化事件的监听函数 */ + type OnBluetoothAdapterStateChangeCallback = ( + result: OnBluetoothAdapterStateChangeListenerResult + ) => void + /** 搜索到新设备的事件的监听函数 */ + type OnBluetoothDeviceFoundCallback = ( + result: OnBluetoothDeviceFoundListenerResult + ) => void + /** 回调函数 */ + type OnCameraFrameCallback = (result: OnCameraFrameCallbackResult) => void + type OnCanplayCallback = (res: GeneralCallbackResult) => void + /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicReadRequestCallback = ( + result: OnCharacteristicReadRequestListenerResult + ) => void + /** 特征订阅事件的监听函数 */ + type OnCharacteristicSubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 取消特征订阅事件的监听函数 */ + type OnCharacteristicUnsubscribedCallback = ( + result: OnCharacteristicSubscribedListenerResult + ) => void + /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */ + type OnCharacteristicWriteRequestCallback = ( + result: OnCharacteristicWriteRequestListenerResult + ) => void + /** 向微信后台请求检查更新结果事件的监听函数 */ + type OnCheckForUpdateCallback = ( + result: OnCheckForUpdateListenerResult + ) => void + /** Transfer-Encoding Chunk Received 事件的监听函数 */ + type OnChunkReceivedCallback = ( + result: OnChunkReceivedListenerResult + ) => void + /** 罗盘数据变化事件的监听函数 */ + type OnCompassChangeCallback = ( + result: OnCompassChangeListenerResult + ) => void + /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */ + type OnConnectCallback = (res: GeneralCallbackResult) => void + /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */ + type OnCopyUrlCallback = (result: OnCopyUrlListenerResult) => void + /** 设备方向变化事件的监听函数 */ + type OnDeviceMotionChangeCallback = ( + result: OnDeviceMotionChangeListenerResult + ) => void + /** 的监听函数 */ + type OnDiscoveredCallback = (result: OnDiscoveredListenerResult) => void + type OnEndedCallback = (res: GeneralCallbackResult) => void + /** 已录制完指定帧大小的文件事件的监听函数 */ + type OnFrameRecordedCallback = ( + result: OnFrameRecordedListenerResult + ) => void + /** 获取到 Wi-Fi 列表数据事件的监听函数 */ + type OnGetWifiListCallback = (result: OnGetWifiListListenerResult) => void + /** 陀螺仪数据变化事件的监听函数 */ + type OnGyroscopeChangeCallback = ( + result: OnGyroscopeChangeListenerResult + ) => void + /** 接收 NFC 设备消息事件的监听函数 */ + type OnHCEMessageCallback = (result: OnHCEMessageListenerResult) => void + /** HTTP Response Header 事件的监听函数 */ + type OnHeadersReceivedCallback = ( + result: OnHeadersReceivedListenerResult + ) => void + /** 录音因为受到系统占用而被中断开始事件的监听函数 */ + type OnInterruptionBeginCallback = (res: GeneralCallbackResult) => void + /** 录音中断结束事件的监听函数 */ + type OnInterruptionEndCallback = (res: GeneralCallbackResult) => void + /** 键盘高度变化事件的监听函数 */ + type OnKeyboardHeightChangeCallback = ( + result: OnKeyboardHeightChangeListenerResult + ) => void + /** 小程序异步组件加载失败事件的监听函数 */ + type OnLazyLoadErrorCallback = ( + result: OnLazyLoadErrorListenerResult + ) => void + /** 开始监听数据包消息的事件的监听函数 */ + type OnListeningCallback = (res: GeneralCallbackResult) => void + type OnLoadCallback = (res: GeneralCallbackResult) => void + /** mDNS 服务停止搜索的事件的监听函数 */ + type OnLocalServiceDiscoveryStopCallback = ( + res: GeneralCallbackResult + ) => void + /** mDNS 服务发现的事件的监听函数 */ + type OnLocalServiceFoundCallback = ( + result: OnLocalServiceFoundListenerResult + ) => void + /** mDNS 服务离开的事件的监听函数 */ + type OnLocalServiceLostCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** mDNS 服务解析失败的事件的监听函数 */ + type OnLocalServiceResolveFailCallback = ( + result: OnLocalServiceLostListenerResult + ) => void + /** 实时地理位置变化事件的监听函数 */ + type OnLocationChangeCallback = ( + result: OnLocationChangeListenerResult + ) => void + /** 的监听函数 */ + type OnLocationChangeErrorCallback = ( + result: OnLocationChangeErrorListenerResult + ) => void + /** 内存不足告警事件的监听函数 */ + type OnMemoryWarningCallback = ( + result: OnMemoryWarningListenerResult + ) => void + /** 网络状态变化事件的监听函数 */ + type OnNetworkStatusChangeCallback = ( + result: OnNetworkStatusChangeListenerResult + ) => void + /** 弱网状态变化事件的监听函数 */ + type OnNetworkWeakChangeCallback = ( + result: OnNetworkWeakChangeListenerResult + ) => void + /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */ + type OnNextCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnOpenCallback = (result: OnOpenListenerResult) => void + /** 小程序要打开的页面不存在事件的监听函数 */ + type OnPageNotFoundCallback = (result: OnPageNotFoundListenerResult) => void + type OnPauseCallback = (res: GeneralCallbackResult) => void + type OnPlayCallback = (res: GeneralCallbackResult) => void + /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */ + type OnPrevCallback = (res: GeneralCallbackResult) => void + /** worker线程被系统回收事件的监听函数 */ + type OnProcessKilledCallback = (res: GeneralCallbackResult) => void + /** 录音继续事件的监听函数 */ + type OnResumeCallback = (res: GeneralCallbackResult) => void + /** 用户录屏事件的监听函数 */ + type OnScreenRecordingStateChangedCallback = ( + result: OnScreenRecordingStateChangedListenerResult + ) => void + type OnSeekedCallback = (res: GeneralCallbackResult) => void + type OnSeekingCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type OnSocketCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 错误事件的监听函数 */ + type OnSocketErrorCallback = (result: GeneralCallbackResult) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type OnSocketMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** WebSocket 连接打开事件的监听函数 */ + type OnSocketOpenCallback = (result: OnSocketOpenListenerResult) => void + /** 录音开始事件的监听函数 */ + type OnStartCallback = (res: GeneralCallbackResult) => void + /** 系统主题改变事件的监听函数 */ + type OnThemeChangeCallback = (result: OnThemeChangeListenerResult) => void + type OnTimeUpdateCallback = (res: GeneralCallbackResult) => void + /** 未处理的 Promise 拒绝事件的监听函数 */ + type OnUnhandledRejectionCallback = ( + result: OnUnhandledRejectionListenerResult + ) => void + /** 小程序更新失败事件的监听函数 */ + type OnUpdateFailedCallback = (res: GeneralCallbackResult) => void + /** 小程序有版本更新事件的监听函数 */ + type OnUpdateReadyCallback = (res: GeneralCallbackResult) => void + /** 用户主动截屏事件的监听函数 */ + type OnUserCaptureScreenCallback = (res: GeneralCallbackResult) => void + /** 被动断开实时语音通话事件的监听函数 */ + type OnVoIPChatInterruptedCallback = ( + result: OnVoIPChatInterruptedListenerResult + ) => void + /** 实时语音通话成员在线状态变化事件的监听函数 */ + type OnVoIPChatMembersChangedCallback = ( + result: OnVoIPChatMembersChangedListenerResult + ) => void + /** 实时语音通话成员通话状态变化事件的监听函数 */ + type OnVoIPChatSpeakersChangedCallback = ( + result: OnVoIPChatSpeakersChangedListenerResult + ) => void + /** 房间状态变化事件的监听函数 */ + type OnVoIPChatStateChangedCallback = ( + result: OnVoIPChatStateChangedListenerResult + ) => void + /** 实时语音通话成员视频状态变化事件的监听函数 */ + type OnVoIPVideoMembersChangedCallback = ( + result: OnVoIPVideoMembersChangedListenerResult + ) => void + /** 音频加载中事件的监听函数 */ + type OnWaitingCallback = (res: GeneralCallbackResult) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedCallback = ( + result: OnWifiConnectedListenerResult + ) => void + /** 连接上 Wi-Fi 的事件的监听函数 */ + type OnWifiConnectedWithPartialInfoCallback = ( + result: OnWifiConnectedWithPartialInfoListenerResult + ) => void + /** 窗口尺寸变化事件的监听函数 */ + type OnWindowResizeCallback = (result: OnWindowResizeListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenAppAuthorizeSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenAppAuthorizeSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenAppAuthorizeSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenBluetoothAdapterCompleteCallback = (res: BluetoothError) => void + /** 接口调用失败的回调函数 */ + type OpenBluetoothAdapterFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type OpenBluetoothAdapterSuccessCallback = (res: BluetoothError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCardCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenCardFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenCardSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsActivityCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsActivityFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsActivitySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsEventCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsEventFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsEventSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsLiveCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsLiveFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsLiveSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenChannelsUserProfileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenChannelsUserProfileFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenChannelsUserProfileSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenCustomerServiceChatCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenCustomerServiceChatFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenCustomerServiceChatSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenDocumentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenDocumentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenDocumentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenEmbeddedMiniProgramCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenEmbeddedMiniProgramFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenEmbeddedMiniProgramSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenFailCallback = (result: OpenFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenLocationSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenMapAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenMapAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenMapAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSettingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenSettingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenSettingSuccessCallback = ( + result: OpenSettingSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSuccessCallback = (result: OpenSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenSystemBluetoothSettingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type OpenSystemBluetoothSettingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type OpenSystemBluetoothSettingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type OpenVideoEditorCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type OpenVideoEditorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type OpenVideoEditorSuccessCallback = ( + result: OpenVideoEditorSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PageScrollToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PageScrollToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PageScrollToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PauseBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PauseVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PauseVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PauseVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PlayBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlaySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PlayVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PlayVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PlayVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PluginLoginCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PluginLoginFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PluginLoginSuccessCallback = ( + result: PluginLoginSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadAssetsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadAssetsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadAssetsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadSkylineViewCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type PreloadSkylineViewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadSkylineViewSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreloadWebviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreloadWebviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreloadWebviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewImageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewImageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewImageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type PreviewMediaCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type PreviewMediaFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type PreviewMediaSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReLaunchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReLaunchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReLaunchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type ReadBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type ReadBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadCompressedFileCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadCompressedFileFailCallback = ( + result: ReadCompressedFileFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadCompressedFileSuccessCallback = ( + result: ReadCompressedFileSuccessCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ReadFailCallback = (result: ReadFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadFileFailCallback = (result: ReadFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReadFileSuccessCallback = ( + result: ReadFileSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadSuccessCallback = (result: ReadSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReadZipEntryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReadZipEntryFailCallback = ( + result: ReadZipEntryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ReadZipEntrySuccessCallback = ( + result: ReadZipEntrySuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ReaddirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ReaddirFailCallback = (result: ReaddirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ReaddirSuccessCallback = (result: ReaddirSuccessCallbackResult) => void + /** 录音结束事件的监听函数 */ + type RecorderManagerOnStopCallback = (result: OnStopListenerResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedirectToCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedirectToFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedirectToSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RedoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RedoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RedoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveArcCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveArcFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveArcSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveCustomLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveCustomLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveFormatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveFormatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveFormatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveMarkersCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveMarkersFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveMarkersSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveSavedFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveSavedFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveServiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveServiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveServiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RemoveStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveTabBarBadgeCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RemoveVisualLayerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RemoveVisualLayerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RemoveVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RenameCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RenameFailCallback = (result: RenameFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RenameSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestFailCallback = (err: Err) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestFullScreenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestFullScreenFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestFullScreenSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestOrderPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestOrderPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestOrderPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPaymentCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RequestPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPaymentSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPictureInPictureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPictureInPictureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestPictureInPictureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestPluginPaymentCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestPluginPaymentFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RequestPluginPaymentSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeDeviceMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeDeviceMessageFailCallback = ( + result: RequestSubscribeDeviceMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeDeviceMessageSuccessCallback = ( + result: RequestSubscribeDeviceMessageSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RequestSubscribeMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type RequestSubscribeMessageFailCallback = ( + result: RequestSubscribeMessageFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSubscribeMessageSuccessCallback = ( + result: RequestSubscribeMessageSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type RequestSuccessCallback< + T extends string | IAnyObject | ArrayBuffer = + | string + | IAnyObject + | ArrayBuffer + > = (result: RequestSuccessCallbackResult<T>) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ResumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ResumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ResumeSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type RewardedVideoAdOffErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 用户点击 `关闭广告` 按钮的事件的监听函数 */ + type RewardedVideoAdOnCloseCallback = ( + result: RewardedVideoAdOnCloseListenerResult + ) => void + /** 激励视频错误事件的监听函数 */ + type RewardedVideoAdOnErrorCallback = ( + result: RewardedVideoAdOnErrorListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type RmdirCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type RmdirFailCallback = (result: RmdirFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type RmdirSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileSuccessCallback = ( + result: SaveFileSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveFileToDiskCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SaveFileToDiskFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SaveFileToDiskSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveImageToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveImageToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveImageToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SaveVideoToPhotosAlbumCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SaveVideoToPhotosAlbumFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SaveVideoToPhotosAlbumSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ScanCodeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ScanCodeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ScanCodeSuccessCallback = ( + result: ScanCodeSuccessCallbackResult + ) => void + /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */ + type ScrollOffsetCallback = (result: ScrollOffsetCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SeekBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SeekBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SeekBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendHCEMessageCompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type SendHCEMessageFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type SendHCEMessageSuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSmsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SendSmsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSmsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SendSocketMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SendSocketMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSocketMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SendSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBGMVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBGMVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBGMVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBLEMTUCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBLEMTUFailCallback = (result: SetBLEMTUFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBLEMTUSuccessCallback = ( + result: SetBLEMTUSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundColorFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundFetchTokenCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundFetchTokenFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundFetchTokenSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBackgroundTextStyleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetBackgroundTextStyleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetBackgroundTextStyleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetBoundaryCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetBoundaryFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetBoundarySuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetCenterOffsetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetCenterOffsetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetCenterOffsetSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetClipboardDataFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetClipboardDataSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetContentsCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetContentsFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetContentsSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnable1v1ChatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnable1v1ChatFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnable1v1ChatSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetEnableDebugCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetEnableDebugFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetEnableDebugSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetInnerAudioOptionCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetInnerAudioOptionFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetInnerAudioOptionSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetKeepScreenOnCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetKeepScreenOnFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetKeepScreenOnSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetLocMarkerIconCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetLocMarkerIconFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetLocMarkerIconSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetMICVolumeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetMICVolumeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetMICVolumeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarColorCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarColorFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarColorSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetNavigationBarTitleCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetNavigationBarTitleFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetNavigationBarTitleSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetScreenBrightnessCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetScreenBrightnessSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetStorageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetStorageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetStorageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarBadgeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarItemCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarItemFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarItemSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTabBarStyleCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTabBarStyleFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTabBarStyleSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTimeoutCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type SetTimeoutFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type SetTimeoutSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetTopBarTextCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetTopBarTextFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetTopBarTextSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetVisualEffectOnCaptureCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SetVisualEffectOnCaptureFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SetVisualEffectOnCaptureSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWifiListCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type SetWifiListFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type SetWifiListSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetWindowSizeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetWindowSizeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetWindowSizeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SetZoomCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SetZoomFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SetZoomSuccessCallback = (result: SetZoomSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareFileMessageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareFileMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareFileMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareToWeRunCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShareToWeRunFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareToWeRunSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShareVideoMessageCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShareVideoMessageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShareVideoMessageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowActionSheetCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowActionSheetFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowActionSheetSuccessCallback = ( + result: ShowActionSheetSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowLoadingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowLoadingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowLoadingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowModalCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowModalFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowModalSuccessCallback = ( + result: ShowModalSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowNavigationBarLoadingCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowNavigationBarLoadingFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type ShowNavigationBarLoadingSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowRedPackageCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowRedPackageFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowRedPackageSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareImageMenuCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type ShowShareImageMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareImageMenuSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowTabBarSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ShowToastCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ShowToastFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ShowToastSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SnapshotCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SnapshotFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SocketTaskCloseFailCallback = (res: GeneralCallbackResult) => void + /** WebSocket 连接关闭事件的监听函数 */ + type SocketTaskOnCloseCallback = ( + result: SocketTaskOnCloseListenerResult + ) => void + /** WebSocket 接受到服务器的消息事件的监听函数 */ + type SocketTaskOnMessageCallback = ( + result: SocketTaskOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAccelerometerSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StartBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StartBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StartBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StartBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StartDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StartFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StartHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StartHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocalServiceDiscoveryFailCallback = ( + result: StartLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateBackgroundCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateBackgroundFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateBackgroundSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StartPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StartRecordFailCallback = (res: GeneralCallbackResult) => void + /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */ + type StartRecordTimeoutCallback = ( + result: StartRecordTimeoutCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartSoterAuthenticationCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StartSoterAuthenticationFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSoterAuthenticationSuccessCallback = ( + result: StartSoterAuthenticationSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StartSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StartWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StartWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StartWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StatCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StatFailCallback = (result: StatFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StatSuccessCallback = (result: StatSuccessCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAccelerometerCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopAccelerometerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAccelerometerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopAdvertisingFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBGMCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopBGMFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBGMSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBackgroundAudioCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopBackgroundAudioSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBeaconDiscoveryCompleteCallback = (res: BeaconError) => void + /** 接口调用失败的回调函数 */ + type StopBeaconDiscoveryFailCallback = (res: BeaconError) => void + /** 接口调用成功的回调函数 */ + type StopBeaconDiscoverySuccessCallback = (res: BeaconError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopBluetoothDevicesDiscoveryCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type StopBluetoothDevicesDiscoveryFailCallback = ( + res: BluetoothError + ) => void + /** 接口调用成功的回调函数 */ + type StopBluetoothDevicesDiscoverySuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompassCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopCompassFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopCompassSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDeviceMotionListeningCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopDeviceMotionListeningFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopDeviceMotionListeningSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopDiscoveryCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type StopDiscoveryFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type StopDiscoverySuccessCallback = (res: Nfcrwerror) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFaceDetectFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopGyroscopeFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopHCECompleteCallback = (res: NFCError) => void + /** 接口调用失败的回调函数 */ + type StopHCEFailCallback = (res: NFCError) => void + /** 接口调用成功的回调函数 */ + type StopHCESuccessCallback = (res: NFCError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocalServiceDiscoveryCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocalServiceDiscoveryFailCallback = ( + result: StopLocalServiceDiscoveryFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type StopLocalServiceDiscoverySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopLocationUpdateCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopLocationUpdateFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopLocationUpdateSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPreviewCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopPreviewFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPreviewSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopPullDownRefreshCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type StopPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopPullDownRefreshSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopRecordCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopRecordFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopVoiceCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type StopVoiceFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type StopVoiceSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type StopWifiCompleteCallback = (res: WifiError) => void + /** 接口调用失败的回调函数 */ + type StopWifiFailCallback = (res: WifiError) => void + /** 接口调用成功的回调函数 */ + type StopWifiSuccessCallback = (res: WifiError) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SubscribeVoIPVideoMembersCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type SubscribeVoIPVideoMembersFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type SubscribeVoIPVideoMembersSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchCameraCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchCameraFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchCameraSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type SwitchTabCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type SwitchTabFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type SwitchTabSuccessCallback = (res: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type TCPSocketOffMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 当接收到数据的时触发该事件的监听函数 */ + type TCPSocketOnMessageCallback = ( + result: TCPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TakePhotoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TakePhotoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TakePhotoSuccessCallback = ( + result: TakePhotoSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToScreenLocationCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToScreenLocationFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToScreenLocationSuccessCallback = ( + result: ToScreenLocationSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type ToggleTorchCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type ToggleTorchFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type ToggleTorchSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TransceiveCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type TransceiveFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type TransceiveSuccessCallback = ( + result: TransceiveSuccessCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TranslateMarkerCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TranslateMarkerFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TranslateMarkerSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type TruncateCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type TruncateFailCallback = (result: TruncateFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type TruncateSuccessCallback = (res: GeneralCallbackResult) => void + /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void + /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UDPSocketOffMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void + type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void + /** 收到消息的事件的监听函数 */ + type UDPSocketOnMessageCallback = ( + result: UDPSocketOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UndoCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UndoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UndoSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnlinkCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnlinkFailCallback = (result: UnlinkFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnlinkSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UnzipCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UnzipFailCallback = (result: UnzipFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UnzipSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateGroundOverlayCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateGroundOverlayFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateGroundOverlaySuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateShareMenuCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateShareMenuFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateShareMenuSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateVoIPChatMuteConfigCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type UpdateVoIPChatMuteConfigFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type UpdateVoIPChatMuteConfigSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UpdateWeChatAppCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UpdateWeChatAppFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UpdateWeChatAppSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type UploadFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type UploadFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type UploadFileSuccessCallback = ( + result: UploadFileSuccessCallbackResult + ) => void + /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */ + type UploadTaskOffProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 上传进度变化事件的监听函数 */ + type UploadTaskOnProgressUpdateCallback = ( + result: UploadTaskOnProgressUpdateListenerResult + ) => void + /** 开启会话回调 */ + type VKSessionStartCallback = ( + /** 参数 status 可选值: + * - 0: 成功; + * - 2000001: 参数错误; + * - 2003000: 会话不可用; + * - 2000000: 系统错误; + * - 2000002: 设备不支持; + * - 2000003: 系统不支持; + * - 2000004: 设备不支持; + * - 2003001: 未开启系统相机权限; + * - 2003002: 未开启小程序相机权限; */ + status: + | 0 + | 2000001 + | 2003000 + | 2000000 + | 2000002 + | 2000003 + | 2000004 + | 2003001 + | 2003002 + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateLongCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateLongFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type VibrateLongSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type VibrateShortCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type VibrateShortFailCallback = ( + result: VibrateShortFailCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type VibrateShortSuccessCallback = (res: GeneralCallbackResult) => void + /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */ + type WorkerOnMessageCallback = ( + result: WorkerOnMessageListenerResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteBLECharacteristicValueCompleteCallback = ( + res: BluetoothError + ) => void + /** 接口调用失败的回调函数 */ + type WriteBLECharacteristicValueFailCallback = (res: BluetoothError) => void + /** 接口调用成功的回调函数 */ + type WriteBLECharacteristicValueSuccessCallback = ( + res: BluetoothError + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCharacteristicValueCompleteCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用失败的回调函数 */ + type WriteCharacteristicValueFailCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WriteCharacteristicValueSuccessCallback = ( + res: GeneralCallbackResult + ) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFailCallback = (result: WriteFailCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteFileCompleteCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WriteFileFailCallback = (result: WriteFileFailCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WriteFileSuccessCallback = (res: GeneralCallbackResult) => void + /** 接口调用结束的回调函数(调用成功、失败都会执行) */ + type WriteNdefMessageCompleteCallback = (res: Nfcrwerror) => void + /** 接口调用失败的回调函数 */ + type WriteNdefMessageFailCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteNdefMessageSuccessCallback = (res: Nfcrwerror) => void + /** 接口调用成功的回调函数 */ + type WriteSuccessCallback = (result: WriteSuccessCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxGetFileInfoFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxGetFileInfoSuccessCallback = ( + result: WxGetFileInfoSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxGetSavedFileListSuccessCallback = ( + result: WxGetSavedFileListSuccessCallbackResult + ) => void + /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */ + type WxOffErrorCallback = (res: GeneralCallbackResult) => void + /** 小程序错误事件的监听函数 */ + type WxOnErrorCallback = ( + /** 错误信息,包含堆栈 */ + error: string + ) => void + /** 接口调用失败的回调函数 */ + type WxRemoveSavedFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用失败的回调函数 */ + type WxSaveFileFailCallback = (res: GeneralCallbackResult) => void + /** 接口调用成功的回调函数 */ + type WxStartRecordSuccessCallback = ( + result: StartRecordSuccessCallbackResult + ) => void + /** 接口调用成功的回调函数 */ + type WxStopRecordSuccessCallback = (res: GeneralCallbackResult) => void +} diff --git a/src/minigram/typings/types/wx/lib.wx.app.d.ts b/src/minigram/typings/types/wx/lib.wx.app.d.ts new file mode 100644 index 0000000..ef90d8e --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.app.d.ts @@ -0,0 +1,270 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.App { + interface ReferrerInfo { + /** 来源小程序或公众号或App的 appId + * + * 以下场景支持返回 referrerInfo.appId: + * - 1020(公众号 profile 页相关小程序列表): appId + * - 1035(公众号自定义菜单):来源公众号 appId + * - 1036(App 分享消息卡片):来源应用 appId + * - 1037(小程序打开小程序):来源小程序 appId + * - 1038(从另一个小程序返回):来源小程序 appId + * - 1043(公众号模板消息):来源公众号 appId + */ + appId: string + /** 来源小程序传过来的数据,scene=1037或1038时支持 */ + extraData?: any + } + + type SceneValues = + | 1001 + | 1005 + | 1006 + | 1007 + | 1008 + | 1011 + | 1012 + | 1013 + | 1014 + | 1017 + | 1019 + | 1020 + | 1023 + | 1024 + | 1025 + | 1026 + | 1027 + | 1028 + | 1029 + | 1030 + | 1031 + | 1032 + | 1034 + | 1035 + | 1036 + | 1037 + | 1038 + | 1039 + | 1042 + | 1043 + | 1044 + | 1045 + | 1046 + | 1047 + | 1048 + | 1049 + | 1052 + | 1053 + | 1056 + | 1057 + | 1058 + | 1059 + | 1064 + | 1067 + | 1069 + | 1071 + | 1072 + | 1073 + | 1074 + | 1077 + | 1078 + | 1079 + | 1081 + | 1082 + | 1084 + | 1089 + | 1090 + | 1091 + | 1092 + | 1095 + | 1096 + | 1097 + | 1099 + | 1102 + | 1124 + | 1125 + | 1126 + | 1129 + + interface LaunchShowOption { + /** 打开小程序的路径 */ + path: string + /** 打开小程序的query */ + query: IAnyObject + /** 打开小程序的场景值 + * - 1001:发现栏小程序主入口,「最近使用」列表(基础库2.2.4版本起包含「我的小程序」列表) + * - 1005:微信首页顶部搜索框的搜索结果页 + * - 1006:发现栏小程序主入口搜索框的搜索结果页 + * - 1007:单人聊天会话中的小程序消息卡片 + * - 1008:群聊会话中的小程序消息卡片 + * - 1011:扫描二维码 + * - 1012:长按图片识别二维码 + * - 1013:扫描手机相册中选取的二维码 + * - 1014:小程序模板消息 + * - 1017:前往小程序体验版的入口页 + * - 1019:微信钱包(微信客户端7.0.0版本改为支付入口) + * - 1020:公众号 profile 页相关小程序列表 + * - 1023:安卓系统桌面图标 + * - 1024:小程序 profile 页 + * - 1025:扫描一维码 + * - 1026:发现栏小程序主入口,「附近的小程序」列表 + * - 1027:微信首页顶部搜索框搜索结果页「使用过的小程序」列表 + * - 1028:我的卡包 + * - 1029:小程序中的卡券详情页 + * - 1030:自动化测试下打开小程序 + * - 1031:长按图片识别一维码 + * - 1032:扫描手机相册中选取的一维码 + * - 1034:微信支付完成页 + * - 1035:公众号自定义菜单 + * - 1036:App 分享消息卡片 + * - 1037:小程序打开小程序 + * - 1038:从另一个小程序返回 + * - 1039:摇电视 + * - 1042:添加好友搜索框的搜索结果页 + * - 1043:公众号模板消息 + * - 1044:带 shareTicket 的小程序消息卡片 [详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) + * - 1045:朋友圈广告 + * - 1046:朋友圈广告详情页 + * - 1047:扫描小程序码 + * - 1048:长按图片识别小程序码 + * - 1049:扫描手机相册中选取的小程序码 + * - 1052:卡券的适用门店列表 + * - 1053:搜一搜的结果页 + * - 1056:聊天顶部音乐播放器右上角菜单 + * - 1057:钱包中的银行卡详情页 + * - 1058:公众号文章 + * - 1059:体验版小程序绑定邀请页 + * - 1064:微信首页连Wi-Fi状态栏 + * - 1067:公众号文章广告 + * - 1069:移动应用 + * - 1071:钱包中的银行卡列表页 + * - 1072:二维码收款页面 + * - 1073:客服消息列表下发的小程序消息卡片 + * - 1074:公众号会话下发的小程序消息卡片 + * - 1077:摇周边 + * - 1078:微信连Wi-Fi成功提示页 + * - 1079:微信游戏中心 + * - 1081:客服消息下发的文字链 + * - 1082:公众号会话下发的文字链 + * - 1084:朋友圈广告原生页 + * - 1089:微信聊天主界面下拉,「最近使用」栏(基础库2.2.4版本起包含「我的小程序」栏) + * - 1090:长按小程序右上角菜单唤出最近使用历史 + * - 1091:公众号文章商品卡片 + * - 1092:城市服务入口 + * - 1095:小程序广告组件 + * - 1096:聊天记录 + * - 1097:微信支付签约页 + * - 1099:页面内嵌插件 + * - 1102:公众号 profile 页服务预览 + * - 1124:扫“一物一码”打开小程序 + * - 1125:长按图片识别“一物一码” + * - 1126:扫描手机相册中选取的“一物一码” + * - 1129:微信爬虫访问 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html) + */ + scene: SceneValues + /** shareTicket,详见 [获取更多转发信息]((转发#获取更多转发信息)) */ + shareTicket: string + /** 当场景为由从另一个小程序或公众号或App打开时,返回此字段 */ + referrerInfo?: ReferrerInfo + } + + interface PageNotFoundOption { + /** 不存在页面的路径 */ + path: string + /** 打开不存在页面的 query */ + query: IAnyObject + /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */ + isEntryPage: boolean + } + + interface Option { + /** 生命周期回调—监听小程序初始化 + * + * 小程序初始化完成时触发,全局只触发一次。 + */ + onLaunch(options: LaunchShowOption): void + /** 生命周期回调—监听小程序显示 + * + * 小程序启动,或从后台进入前台显示时 + */ + onShow(options: LaunchShowOption): void + /** 生命周期回调—监听小程序隐藏 + * + * 小程序从前台进入后台时 + */ + onHide(): void + /** 错误监听函数 + * + * 小程序发生脚本错误,或者 api + */ + onError(/** 错误信息,包含堆栈 */ error: string): void + /** 页面不存在监听函数 + * + * 小程序要打开的页面不存在时触发,会带上页面信息回调该函数 + * + * **注意:** + * 1. 如果开发者没有添加 `onPageNotFound` 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。 + * 2. 如果 `onPageNotFound` 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 `onPageNotFound`。 + * + * 最低基础库: 1.9.90 + */ + onPageNotFound(options: PageNotFoundOption): void + /** + * 小程序有未处理的 Promise 拒绝时触发。也可以使用 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 绑定监听。注意事项请参考 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html)。 + * **参数**:与 [wx.onUnhandledRejection](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html) 一致 + */ + onUnhandledRejection: OnUnhandledRejectionCallback + /** + * 系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。 + * + * 最低基础库: 2.11.0 + */ + onThemeChange: OnThemeChangeCallback + } + + type Instance<T extends IAnyObject> = Option & T + type Options<T extends IAnyObject> = Partial<Option> & + T & + ThisType<Instance<T>> + type TrivialInstance = Instance<IAnyObject> + + interface Constructor { + <T extends IAnyObject>(options: Options<T>): void + } + + interface GetAppOption { + /** 在 `App` 未定义时返回默认实现。当App被调用时,默认实现中定义的属性会被覆盖合并到App中。一般用于独立分包 + * + * 最低基础库: 2.2.4 + */ + allowDefault?: boolean + } + + interface GetApp { + <T extends IAnyObject = IAnyObject>(opts?: GetAppOption): Instance<T> + } +} + +declare let App: WechatMiniprogram.App.Constructor +declare let getApp: WechatMiniprogram.App.GetApp diff --git a/src/minigram/typings/types/wx/lib.wx.behavior.d.ts b/src/minigram/typings/types/wx/lib.wx.behavior.d.ts new file mode 100644 index 0000000..f33605b --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.behavior.d.ts @@ -0,0 +1,68 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Behavior { + type BehaviorIdentifier = string + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Component.Instance<TData, TProperty, TMethod, TCustomInstanceProperty> + type TrivialInstance = Instance<IAnyObject, IAnyObject, IAnyObject> + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType<Instance<TData, TProperty, TMethod, TCustomInstanceProperty>> + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = Record<string, never> + >( + options: Options<TData, TProperty, TMethod, TCustomInstanceProperty> + ): BehaviorIdentifier + } + + type DataOption = Component.DataOption + type PropertyOption = Component.PropertyOption + type MethodOption = Component.MethodOption + type Data<D extends DataOption> = Component.Data<D> + type Property<P extends PropertyOption> = Component.Property<P> + type Method<M extends MethodOption> = Component.Method<M> + + type DefinitionFilter = Component.DefinitionFilter + type Lifetimes = Component.Lifetimes + + type OtherOption = Omit<Component.OtherOption, 'options'> +} +/** 注册一个 `behavior`,接受一个 `Object` 类型的参数。*/ +declare let Behavior: WechatMiniprogram.Behavior.Constructor diff --git a/src/minigram/typings/types/wx/lib.wx.cloud.d.ts b/src/minigram/typings/types/wx/lib.wx.cloud.d.ts new file mode 100644 index 0000000..95c43d3 --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.cloud.d.ts @@ -0,0 +1,979 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +interface IAPIError { + errMsg: string +} + +interface IAPIParam<T = any> { + config?: ICloudConfig + success?: (res: T) => void + fail?: (err: IAPIError) => void + complete?: (val: T | IAPIError) => void +} + +interface IAPISuccessParam { + errMsg: string +} + +type IAPICompleteParam = IAPISuccessParam | IAPIError + +type IAPIFunction<T, P extends IAPIParam<T>> = (param?: P) => Promise<T> + +interface IInitCloudConfig { + env?: + | string + | { + database?: string + functions?: string + storage?: string + } + traceUser?: boolean +} + +interface ICloudConfig { + env?: string + traceUser?: boolean +} + +interface IICloudAPI { + init: (config?: IInitCloudConfig) => void + [api: string]: AnyFunction | IAPIFunction<any, any> +} + +interface ICloudService { + name: string + + getAPIs: () => { [name: string]: IAPIFunction<any, any> } +} + +interface ICloudServices { + [serviceName: string]: ICloudService +} + +interface ICloudMetaData { + session_id: string +} + +declare class InternalSymbol {} + +interface AnyObject { + [x: string]: any +} + +type AnyArray = any[] + +type AnyFunction = (...args: any[]) => any + +/** + * extend wx with cloud + */ +interface WxCloud { + init: (config?: ICloudConfig) => void + + callFunction(param: OQ<ICloud.CallFunctionParam>): void + callFunction( + param: RQ<ICloud.CallFunctionParam> + ): Promise<ICloud.CallFunctionResult> + + uploadFile(param: OQ<ICloud.UploadFileParam>): WechatMiniprogram.UploadTask + uploadFile( + param: RQ<ICloud.UploadFileParam> + ): Promise<ICloud.UploadFileResult> + + downloadFile( + param: OQ<ICloud.DownloadFileParam> + ): WechatMiniprogram.DownloadTask + downloadFile( + param: RQ<ICloud.DownloadFileParam> + ): Promise<ICloud.DownloadFileResult> + + getTempFileURL(param: OQ<ICloud.GetTempFileURLParam>): void + getTempFileURL( + param: RQ<ICloud.GetTempFileURLParam> + ): Promise<ICloud.GetTempFileURLResult> + + deleteFile(param: OQ<ICloud.DeleteFileParam>): void + deleteFile( + param: RQ<ICloud.DeleteFileParam> + ): Promise<ICloud.DeleteFileResult> + + database: (config?: ICloudConfig) => DB.Database + + CloudID: ICloud.ICloudIDConstructor + CDN: ICloud.ICDNConstructor + + callContainer(param: OQ<ICloud.CallContainerParam>): void + callContainer( + param: RQ<ICloud.CallContainerParam> + ): Promise<ICloud.CallContainerResult> + + connectContainer(param: OQ<ICloud.ConnectContainerParam>): void + connectContainer( + param: RQ<ICloud.ConnectContainerParam> + ): Promise<ICloud.ConnectContainerResult> +} + +declare namespace ICloud { + interface ICloudAPIParam<T = any> extends IAPIParam<T> { + config?: ICloudConfig + } + + // === API: callFunction === + type CallFunctionData = AnyObject + + interface CallFunctionResult extends IAPISuccessParam { + result: AnyObject | string | undefined + } + + interface CallFunctionParam extends ICloudAPIParam<CallFunctionResult> { + name: string + data?: CallFunctionData + slow?: boolean + } + // === end === + + // === API: container === + type CallContainerData = AnyObject + + interface CallContainerResult extends IAPISuccessParam { + data: any + statusCode: number + header: Record<string, any> + callID: string + } + + interface CallContainerParam extends ICloudAPIParam<CallContainerResult> { + path: string + service?: string + method?: string + header?: Record<string, any> + data?: any // string, object, ArrayBuffer + dataType?: string + responseType?: string + timeout?: number + verbose?: boolean + followRedirect?: boolean + } + + interface ConnectContainerResult extends IAPISuccessParam { + socketTask: WechatMiniprogram.SocketTask + } + + interface ConnectSocketOptions extends IAPIParam<void> { + header?: Record<string, string> + protocols?: string[] + tcpNoDelay?: boolean + perMessageDeflate?: boolean + timeout?: number + } + + type ConnectContainerParam = Omit< + ConnectSocketOptions, + 'success' | 'fail' | 'complete' + > & + ICloudAPIParam<ConnectContainerResult> & { + service: string + path?: string + } + // === end === + + // === API: uploadFile === + interface UploadFileResult extends IAPISuccessParam { + fileID: string + statusCode: number + } + + interface UploadFileParam extends ICloudAPIParam<UploadFileResult> { + cloudPath: string + filePath: string + header?: AnyObject + } + // === end === + + // === API: downloadFile === + interface DownloadFileResult extends IAPISuccessParam { + tempFilePath: string + statusCode: number + } + + interface DownloadFileParam extends ICloudAPIParam<DownloadFileResult> { + fileID: string + cloudPath?: string + } + // === end === + + // === API: getTempFileURL === + interface GetTempFileURLResult extends IAPISuccessParam { + fileList: GetTempFileURLResultItem[] + } + + interface GetTempFileURLResultItem { + fileID: string + tempFileURL: string + maxAge: number + status: number + errMsg: string + } + + interface GetTempFileURLParam extends ICloudAPIParam<GetTempFileURLResult> { + fileList: string[] + } + // === end === + + // === API: deleteFile === + interface DeleteFileResult extends IAPISuccessParam { + fileList: DeleteFileResultItem[] + } + + interface DeleteFileResultItem { + fileID: string + status: number + errMsg: string + } + + interface DeleteFileParam extends ICloudAPIParam<DeleteFileResult> { + fileList: string[] + } + // === end === + + // === API: CloudID === + abstract class CloudID { + constructor(cloudID: string) + } + + interface ICloudIDConstructor { + new (cloudId: string): CloudID + (cloudId: string): CloudID + } + // === end === + + // === API: CDN === + abstract class CDN { + target: string | ArrayBuffer | ICDNFilePathSpec + constructor(target: string | ArrayBuffer | ICDNFilePathSpec) + } + + interface ICDNFilePathSpec { + type: 'filePath' + filePath: string + } + + interface ICDNConstructor { + new (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + (options: string | ArrayBuffer | ICDNFilePathSpec): CDN + } + // === end === +} + +// === Database === +declare namespace DB { + /** + * The class of all exposed cloud database instances + */ + class Database { + readonly config: ICloudConfig + readonly command: DatabaseCommand + readonly Geo: IGeo + readonly serverDate: () => ServerDate + readonly RegExp: IRegExpConstructor + + private constructor() + + collection(collectionName: string): CollectionReference + } + + class CollectionReference extends Query { + readonly collectionName: string + + private constructor(name: string, database: Database) + + doc(docId: string | number): DocumentReference + + add(options: OQ<IAddDocumentOptions>): void + add(options: RQ<IAddDocumentOptions>): Promise<IAddResult> + } + + class DocumentReference { + private constructor(docId: string | number, database: Database) + + field(object: Record<string, any>): this + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQuerySingleResult> + + set(options: OQ<ISetSingleDocumentOptions>): void + set(options?: RQ<ISetSingleDocumentOptions>): Promise<ISetResult> + + update(options: OQ<IUpdateSingleDocumentOptions>): void + update( + options?: RQ<IUpdateSingleDocumentOptions> + ): Promise<IUpdateResult> + + remove(options: OQ<IRemoveSingleDocumentOptions>): void + remove( + options?: RQ<IRemoveSingleDocumentOptions> + ): Promise<IRemoveResult> + + watch(options: IWatchOptions): RealtimeListener + } + + class RealtimeListener { + // "And Now His Watch Is Ended" + close: () => Promise<void> + } + + class Query { + where(condition: IQueryCondition): Query + + orderBy(fieldPath: string, order: string): Query + + limit(max: number): Query + + skip(offset: number): Query + + field(object: Record<string, any>): Query + + get(options: OQ<IGetDocumentOptions>): void + get(options?: RQ<IGetDocumentOptions>): Promise<IQueryResult> + + count(options: OQ<ICountDocumentOptions>): void + count(options?: RQ<ICountDocumentOptions>): Promise<ICountResult> + + watch(options: IWatchOptions): RealtimeListener + } + + interface DatabaseCommand { + eq(val: any): DatabaseQueryCommand + neq(val: any): DatabaseQueryCommand + gt(val: any): DatabaseQueryCommand + gte(val: any): DatabaseQueryCommand + lt(val: any): DatabaseQueryCommand + lte(val: any): DatabaseQueryCommand + in(val: any[]): DatabaseQueryCommand + nin(val: any[]): DatabaseQueryCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseQueryCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseQueryCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseQueryCommand + + and( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + or( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + nor( + ...expressions: Array<DatabaseLogicCommand | IQueryCondition> + ): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + + exists(val: boolean): DatabaseQueryCommand + + mod(divisor: number, remainder: number): DatabaseQueryCommand + + all(val: any[]): DatabaseQueryCommand + elemMatch(val: any): DatabaseQueryCommand + size(val: number): DatabaseQueryCommand + + set(val: any): DatabaseUpdateCommand + remove(): DatabaseUpdateCommand + inc(val: number): DatabaseUpdateCommand + mul(val: number): DatabaseUpdateCommand + min(val: number): DatabaseUpdateCommand + max(val: number): DatabaseUpdateCommand + rename(val: string): DatabaseUpdateCommand + bit(val: number): DatabaseUpdateCommand + + push(...values: any[]): DatabaseUpdateCommand + pop(): DatabaseUpdateCommand + shift(): DatabaseUpdateCommand + unshift(...values: any[]): DatabaseUpdateCommand + addToSet(val: any): DatabaseUpdateCommand + pull(val: any): DatabaseUpdateCommand + pullAll(val: any): DatabaseUpdateCommand + + project: { + slice(val: number | [number, number]): DatabaseProjectionCommand + } + + aggregate: { + __safe_props__?: Set<string> + + abs(val: any): DatabaseAggregateCommand + add(val: any): DatabaseAggregateCommand + addToSet(val: any): DatabaseAggregateCommand + allElementsTrue(val: any): DatabaseAggregateCommand + and(val: any): DatabaseAggregateCommand + anyElementTrue(val: any): DatabaseAggregateCommand + arrayElemAt(val: any): DatabaseAggregateCommand + arrayToObject(val: any): DatabaseAggregateCommand + avg(val: any): DatabaseAggregateCommand + ceil(val: any): DatabaseAggregateCommand + cmp(val: any): DatabaseAggregateCommand + concat(val: any): DatabaseAggregateCommand + concatArrays(val: any): DatabaseAggregateCommand + cond(val: any): DatabaseAggregateCommand + convert(val: any): DatabaseAggregateCommand + dateFromParts(val: any): DatabaseAggregateCommand + dateToParts(val: any): DatabaseAggregateCommand + dateFromString(val: any): DatabaseAggregateCommand + dateToString(val: any): DatabaseAggregateCommand + dayOfMonth(val: any): DatabaseAggregateCommand + dayOfWeek(val: any): DatabaseAggregateCommand + dayOfYear(val: any): DatabaseAggregateCommand + divide(val: any): DatabaseAggregateCommand + eq(val: any): DatabaseAggregateCommand + exp(val: any): DatabaseAggregateCommand + filter(val: any): DatabaseAggregateCommand + first(val: any): DatabaseAggregateCommand + floor(val: any): DatabaseAggregateCommand + gt(val: any): DatabaseAggregateCommand + gte(val: any): DatabaseAggregateCommand + hour(val: any): DatabaseAggregateCommand + ifNull(val: any): DatabaseAggregateCommand + in(val: any): DatabaseAggregateCommand + indexOfArray(val: any): DatabaseAggregateCommand + indexOfBytes(val: any): DatabaseAggregateCommand + indexOfCP(val: any): DatabaseAggregateCommand + isArray(val: any): DatabaseAggregateCommand + isoDayOfWeek(val: any): DatabaseAggregateCommand + isoWeek(val: any): DatabaseAggregateCommand + isoWeekYear(val: any): DatabaseAggregateCommand + last(val: any): DatabaseAggregateCommand + let(val: any): DatabaseAggregateCommand + literal(val: any): DatabaseAggregateCommand + ln(val: any): DatabaseAggregateCommand + log(val: any): DatabaseAggregateCommand + log10(val: any): DatabaseAggregateCommand + lt(val: any): DatabaseAggregateCommand + lte(val: any): DatabaseAggregateCommand + ltrim(val: any): DatabaseAggregateCommand + map(val: any): DatabaseAggregateCommand + max(val: any): DatabaseAggregateCommand + mergeObjects(val: any): DatabaseAggregateCommand + meta(val: any): DatabaseAggregateCommand + min(val: any): DatabaseAggregateCommand + millisecond(val: any): DatabaseAggregateCommand + minute(val: any): DatabaseAggregateCommand + mod(val: any): DatabaseAggregateCommand + month(val: any): DatabaseAggregateCommand + multiply(val: any): DatabaseAggregateCommand + neq(val: any): DatabaseAggregateCommand + not(val: any): DatabaseAggregateCommand + objectToArray(val: any): DatabaseAggregateCommand + or(val: any): DatabaseAggregateCommand + pow(val: any): DatabaseAggregateCommand + push(val: any): DatabaseAggregateCommand + range(val: any): DatabaseAggregateCommand + reduce(val: any): DatabaseAggregateCommand + reverseArray(val: any): DatabaseAggregateCommand + rtrim(val: any): DatabaseAggregateCommand + second(val: any): DatabaseAggregateCommand + setDifference(val: any): DatabaseAggregateCommand + setEquals(val: any): DatabaseAggregateCommand + setIntersection(val: any): DatabaseAggregateCommand + setIsSubset(val: any): DatabaseAggregateCommand + setUnion(val: any): DatabaseAggregateCommand + size(val: any): DatabaseAggregateCommand + slice(val: any): DatabaseAggregateCommand + split(val: any): DatabaseAggregateCommand + sqrt(val: any): DatabaseAggregateCommand + stdDevPop(val: any): DatabaseAggregateCommand + stdDevSamp(val: any): DatabaseAggregateCommand + strcasecmp(val: any): DatabaseAggregateCommand + strLenBytes(val: any): DatabaseAggregateCommand + strLenCP(val: any): DatabaseAggregateCommand + substr(val: any): DatabaseAggregateCommand + substrBytes(val: any): DatabaseAggregateCommand + substrCP(val: any): DatabaseAggregateCommand + subtract(val: any): DatabaseAggregateCommand + sum(val: any): DatabaseAggregateCommand + switch(val: any): DatabaseAggregateCommand + toBool(val: any): DatabaseAggregateCommand + toDate(val: any): DatabaseAggregateCommand + toDecimal(val: any): DatabaseAggregateCommand + toDouble(val: any): DatabaseAggregateCommand + toInt(val: any): DatabaseAggregateCommand + toLong(val: any): DatabaseAggregateCommand + toObjectId(val: any): DatabaseAggregateCommand + toString(val: any): DatabaseAggregateCommand + toLower(val: any): DatabaseAggregateCommand + toUpper(val: any): DatabaseAggregateCommand + trim(val: any): DatabaseAggregateCommand + trunc(val: any): DatabaseAggregateCommand + type(val: any): DatabaseAggregateCommand + week(val: any): DatabaseAggregateCommand + year(val: any): DatabaseAggregateCommand + zip(val: any): DatabaseAggregateCommand + } + } + + class DatabaseAggregateCommand {} + + enum LOGIC_COMMANDS_LITERAL { + AND = 'and', + OR = 'or', + NOT = 'not', + NOR = 'nor' + } + + class DatabaseLogicCommand { + and(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + or(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + nor(...expressions: DatabaseLogicCommand[]): DatabaseLogicCommand + not(expression: DatabaseLogicCommand): DatabaseLogicCommand + } + + enum QUERY_COMMANDS_LITERAL { + // comparison + EQ = 'eq', + NEQ = 'neq', + GT = 'gt', + GTE = 'gte', + LT = 'lt', + LTE = 'lte', + IN = 'in', + NIN = 'nin', + // geo + GEO_NEAR = 'geoNear', + GEO_WITHIN = 'geoWithin', + GEO_INTERSECTS = 'geoIntersects', + // element + EXISTS = 'exists', + // evaluation + MOD = 'mod', + // array + ALL = 'all', + ELEM_MATCH = 'elemMatch', + SIZE = 'size' + } + + class DatabaseQueryCommand extends DatabaseLogicCommand { + eq(val: any): DatabaseLogicCommand + neq(val: any): DatabaseLogicCommand + gt(val: any): DatabaseLogicCommand + gte(val: any): DatabaseLogicCommand + lt(val: any): DatabaseLogicCommand + lte(val: any): DatabaseLogicCommand + in(val: any[]): DatabaseLogicCommand + nin(val: any[]): DatabaseLogicCommand + + exists(val: boolean): DatabaseLogicCommand + + mod(divisor: number, remainder: number): DatabaseLogicCommand + + all(val: any[]): DatabaseLogicCommand + elemMatch(val: any): DatabaseLogicCommand + size(val: number): DatabaseLogicCommand + + geoNear(options: IGeoNearCommandOptions): DatabaseLogicCommand + geoWithin(options: IGeoWithinCommandOptions): DatabaseLogicCommand + geoIntersects( + options: IGeoIntersectsCommandOptions + ): DatabaseLogicCommand + } + + enum PROJECTION_COMMANDS_LITERAL { + SLICE = 'slice' + } + + class DatabaseProjectionCommand {} + + enum UPDATE_COMMANDS_LITERAL { + // field + SET = 'set', + REMOVE = 'remove', + INC = 'inc', + MUL = 'mul', + MIN = 'min', + MAX = 'max', + RENAME = 'rename', + // bitwise + BIT = 'bit', + // array + PUSH = 'push', + POP = 'pop', + SHIFT = 'shift', + UNSHIFT = 'unshift', + ADD_TO_SET = 'addToSet', + PULL = 'pull', + PULL_ALL = 'pullAll' + } + + class DatabaseUpdateCommand {} + + class Batch {} + + /** + * A contract that all API provider must adhere to + */ + class APIBaseContract< + PromiseReturn, + CallbackReturn, + Param extends IAPIParam, + Context = any + > { + getContext(param: Param): Context + + /** + * In case of callback-style invocation, this function will be called + */ + getCallbackReturn(param: Param, context: Context): CallbackReturn + + getFinalParam<T extends Param>(param: Param, context: Context): T + + run<T extends Param>(param: T): Promise<PromiseReturn> + } + + interface IGeoPointConstructor { + new (longitude: number, latitide: number): GeoPoint + new (geojson: IGeoJSONPoint): GeoPoint + (longitude: number, latitide: number): GeoPoint + (geojson: IGeoJSONPoint): GeoPoint + } + + interface IGeoMultiPointConstructor { + new (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + (points: GeoPoint[] | IGeoJSONMultiPoint): GeoMultiPoint + } + + interface IGeoLineStringConstructor { + new (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + (points: GeoPoint[] | IGeoJSONLineString): GeoLineString + } + + interface IGeoMultiLineStringConstructor { + new ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + ( + lineStrings: GeoLineString[] | IGeoJSONMultiLineString + ): GeoMultiLineString + } + + interface IGeoPolygonConstructor { + new (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + (lineStrings: GeoLineString[] | IGeoJSONPolygon): GeoPolygon + } + + interface IGeoMultiPolygonConstructor { + new (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + (polygons: GeoPolygon[] | IGeoJSONMultiPolygon): GeoMultiPolygon + } + + interface IGeo { + Point: IGeoPointConstructor + MultiPoint: IGeoMultiPointConstructor + LineString: IGeoLineStringConstructor + MultiLineString: IGeoMultiLineStringConstructor + Polygon: IGeoPolygonConstructor + MultiPolygon: IGeoMultiPolygonConstructor + } + + interface IGeoJSONPoint { + type: 'Point' + coordinates: [number, number] + } + + interface IGeoJSONMultiPoint { + type: 'MultiPoint' + coordinates: Array<[number, number]> + } + + interface IGeoJSONLineString { + type: 'LineString' + coordinates: Array<[number, number]> + } + + interface IGeoJSONMultiLineString { + type: 'MultiLineString' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONPolygon { + type: 'Polygon' + coordinates: Array<Array<[number, number]>> + } + + interface IGeoJSONMultiPolygon { + type: 'MultiPolygon' + coordinates: Array<Array<Array<[number, number]>>> + } + + type IGeoJSONObject = + | IGeoJSONPoint + | IGeoJSONMultiPoint + | IGeoJSONLineString + | IGeoJSONMultiLineString + | IGeoJSONPolygon + | IGeoJSONMultiPolygon + + abstract class GeoPoint { + longitude: number + latitude: number + + constructor(longitude: number, latitude: number) + + toJSON(): Record<string, any> + toString(): string + } + + abstract class GeoMultiPoint { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONMultiPoint + toString(): string + } + + abstract class GeoLineString { + points: GeoPoint[] + + constructor(points: GeoPoint[]) + + toJSON(): IGeoJSONLineString + toString(): string + } + + abstract class GeoMultiLineString { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONMultiLineString + toString(): string + } + + abstract class GeoPolygon { + lines: GeoLineString[] + + constructor(lines: GeoLineString[]) + + toJSON(): IGeoJSONPolygon + toString(): string + } + + abstract class GeoMultiPolygon { + polygons: GeoPolygon[] + + constructor(polygons: GeoPolygon[]) + + toJSON(): IGeoJSONMultiPolygon + toString(): string + } + + type GeoInstance = + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + + interface IGeoNearCommandOptions { + geometry: GeoPoint + maxDistance?: number + minDistance?: number + } + + interface IGeoWithinCommandOptions { + geometry: GeoPolygon | GeoMultiPolygon + } + + interface IGeoIntersectsCommandOptions { + geometry: + | GeoPoint + | GeoMultiPoint + | GeoLineString + | GeoMultiLineString + | GeoPolygon + | GeoMultiPolygon + } + + interface IServerDateOptions { + offset: number + } + + abstract class ServerDate { + readonly options: IServerDateOptions + constructor(options?: IServerDateOptions) + } + + interface IRegExpOptions { + regexp: string + options?: string + } + + interface IRegExpConstructor { + new (options: IRegExpOptions): RegExp + (options: IRegExpOptions): RegExp + } + + abstract class RegExp { + readonly regexp: string + readonly options: string + constructor(options: IRegExpOptions) + } + + type DocumentId = string | number + + interface IDocumentData { + _id?: DocumentId + [key: string]: any + } + + type IDBAPIParam = IAPIParam + + interface IAddDocumentOptions extends IDBAPIParam { + data: IDocumentData + } + + type IGetDocumentOptions = IDBAPIParam + + type ICountDocumentOptions = IDBAPIParam + + interface IUpdateDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IUpdateSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface ISetSingleDocumentOptions extends IDBAPIParam { + data: IUpdateCondition + } + + interface IRemoveDocumentOptions extends IDBAPIParam { + query: IQueryCondition + } + + type IRemoveSingleDocumentOptions = IDBAPIParam + + interface IWatchOptions { + // server realtime data init & change event + onChange: (snapshot: ISnapshot) => void + // error while connecting / listening + onError: (error: any) => void + } + + interface ISnapshot { + id: number + docChanges: ISingleDBEvent[] + docs: Record<string, any> + type?: SnapshotType + } + + type SnapshotType = 'init' + + interface ISingleDBEvent { + id: number + dataType: DataType + queueType: QueueType + docId: string + doc: Record<string, any> + updatedFields?: Record<string, any> + removedFields?: string[] + } + + type DataType = 'init' | 'update' | 'replace' | 'add' | 'remove' | 'limit' + + type QueueType = 'init' | 'enqueue' | 'dequeue' | 'update' + + interface IQueryCondition { + [key: string]: any + } + + type IStringQueryCondition = string + + interface IQueryResult extends IAPISuccessParam { + data: IDocumentData[] + } + + interface IQuerySingleResult extends IAPISuccessParam { + data: IDocumentData + } + + interface IUpdateCondition { + [key: string]: any + } + + type IStringUpdateCondition = string + + interface IAddResult extends IAPISuccessParam { + _id: DocumentId + } + + interface IUpdateResult extends IAPISuccessParam { + stats: { + updated: number + // created: number, + } + } + + interface ISetResult extends IAPISuccessParam { + _id: DocumentId + stats: { + updated: number + created: number + } + } + + interface IRemoveResult extends IAPISuccessParam { + stats: { + removed: number + } + } + + interface ICountResult extends IAPISuccessParam { + total: number + } +} + +type Optional<T> = { [K in keyof T]+?: T[K] } + +type OQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = + | (RQ<T> & Required<Pick<T, 'success'>>) + | (RQ<T> & Required<Pick<T, 'fail'>>) + | (RQ<T> & Required<Pick<T, 'complete'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'fail'>>) + | (RQ<T> & Required<Pick<T, 'success' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete'>>) + | (RQ<T> & Required<Pick<T, 'fail' | 'complete' | 'success'>>) + +type RQ< + T extends Optional< + Record<'complete' | 'success' | 'fail', (...args: any[]) => any> + > +> = Pick<T, Exclude<keyof T, 'complete' | 'success' | 'fail'>> diff --git a/src/minigram/typings/types/wx/lib.wx.component.d.ts b/src/minigram/typings/types/wx/lib.wx.component.d.ts new file mode 100644 index 0000000..c744fe1 --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.component.d.ts @@ -0,0 +1,676 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Component { + type Instance< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends Partial<MethodOption>, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = InstanceProperties & + InstanceMethods<TData> & + TMethod & + (TIsPage extends true ? Page.ILifetime : {}) & + TCustomInstanceProperty & { + /** 组件数据,**包括内部数据和属性值** */ + data: TData & PropertyOptionToData<TProperty> + /** 组件数据,**包括内部数据和属性值**(与 `data` 一致) */ + properties: TData & PropertyOptionToData<TProperty> + } + type TrivialInstance = Instance< + IAnyObject, + IAnyObject, + IAnyObject, + IAnyObject + > + type TrivialOption = Options<IAnyObject, IAnyObject, IAnyObject, IAnyObject> + type Options< + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + > = Partial<Data<TData>> & + Partial<Property<TProperty>> & + Partial<Method<TMethod, TIsPage>> & + Partial<OtherOption> & + Partial<Lifetimes> & + ThisType< + Instance< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + > + interface Constructor { + < + TData extends DataOption, + TProperty extends PropertyOption, + TMethod extends MethodOption, + TCustomInstanceProperty extends IAnyObject = {}, + TIsPage extends boolean = false + >( + options: Options< + TData, + TProperty, + TMethod, + TCustomInstanceProperty, + TIsPage + > + ): string + } + type DataOption = Record<string, any> + type PropertyOption = Record<string, AllProperty> + type MethodOption = Record<string, Function> + + interface Data<D extends DataOption> { + /** 组件的内部数据,和 `properties` 一同用于组件的模板渲染 */ + data?: D + } + interface Property<P extends PropertyOption> { + /** 组件的对外属性,是属性名到属性设置的映射表 */ + properties: P + } + interface Method<M extends MethodOption, TIsPage extends boolean = false> { + /** 组件的方法,包括事件响应函数和任意的自定义方法,关于事件响应函数的使用,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) */ + methods: M & (TIsPage extends true ? Partial<Page.ILifetime> : {}) + } + type PropertyType = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type ValueType<T extends PropertyType> = T extends null + ? any + : T extends StringConstructor + ? string + : T extends NumberConstructor + ? number + : T extends BooleanConstructor + ? boolean + : T extends ArrayConstructor + ? any[] + : T extends ObjectConstructor + ? IAnyObject + : never + type FullProperty<T extends PropertyType> = { + /** 属性类型 */ + type: T + /** 属性初始值 */ + value?: ValueType<T> + /** 属性值被更改时的响应函数 */ + observer?: + | string + | (( + newVal: ValueType<T>, + oldVal: ValueType<T>, + changedPath: Array<string | number> + ) => void) + /** 属性的类型(可以指定多个) */ + optionalTypes?: ShortProperty[] + } + type AllFullProperty = + | FullProperty<StringConstructor> + | FullProperty<NumberConstructor> + | FullProperty<BooleanConstructor> + | FullProperty<ArrayConstructor> + | FullProperty<ObjectConstructor> + | FullProperty<null> + type ShortProperty = + | StringConstructor + | NumberConstructor + | BooleanConstructor + | ArrayConstructor + | ObjectConstructor + | null + type AllProperty = AllFullProperty | ShortProperty + type PropertyToData<T extends AllProperty> = T extends ShortProperty + ? ValueType<T> + : FullPropertyToData<Exclude<T, ShortProperty>> + type FullPropertyToData<T extends AllFullProperty> = ValueType<T['type']> + // type FullPropertyToData<T extends AllFullProperty> = unknown extends T['value'] ? ValueType<T['type']> : T['value'] + type PropertyOptionToData<P extends PropertyOption> = { + [name in keyof P]: PropertyToData<P[name]> + } + + interface InstanceProperties { + /** 组件的文件路径 */ + is: string + /** 节点id */ + id: string + /** 节点dataset */ + dataset: Record<string, string> + } + + interface InstanceMethods<D extends DataOption> { + /** `setData` 函数用于将数据从逻辑层发送到视图层 + *(异步),同时改变对应的 `this.data` 的值(同步)。 + * + * **注意:** + * + * 1. **直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致**。 + * 1. 仅支持设置可 JSON 化的数据。 + * 1. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。 + * 1. 请不要把 data 中任何一项的 value 设为 `undefined` ,否则这一项将不被设置并可能遗留一些潜在问题。 + */ + setData( + /** 这次要改变的数据 + * + * 以 `key: value` 的形式表示,将 `this.data` 中的 `key` 对应的值改变成 `value`。 + * + * 其中 `key` 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 `array[2].message`,`a.b.c.d`,并且不需要在 this.data 中预先定义。 + */ + data: Partial<D> & IAnyObject, + /** setData引起的界面更新渲染完毕后的回调函数,最低基础库: `1.5.0` */ + callback?: () => void + ): void + + /** 检查组件是否具有 `behavior` (检查时会递归检查被直接或间接引入的所有behavior) */ + hasBehavior(behavior: Behavior.BehaviorIdentifier): void + /** 触发事件,参见组件事件 */ + triggerEvent<DetailType = any>( + name: string, + detail?: DetailType, + options?: TriggerEventOption + ): void + /** 创建一个 SelectorQuery 对象,选择器选取范围为这个组件实例内 */ + createSelectorQuery(): SelectorQuery + /** 创建一个 IntersectionObserver 对象,选择器选取范围为这个组件实例内 */ + createIntersectionObserver( + options: CreateIntersectionObserverOption + ): IntersectionObserver + /** 使用选择器选择组件实例节点,返回匹配到的第一个组件实例对象(会被 `wx://component-export` 影响) */ + selectComponent(selector: string): TrivialInstance + /** 使用选择器选择组件实例节点,返回匹配到的全部组件实例对象组成的数组 */ + selectAllComponents(selector: string): TrivialInstance[] + /** + * 选取当前组件节点所在的组件实例(即组件的引用者),返回它的组件实例对象(会被 `wx://component-export` 影响) + * + * 最低基础库版本:[`2.8.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + selectOwnerComponent(): TrivialInstance + /** 获取这个关系所对应的所有关联节点,参见 组件间关系 */ + getRelationNodes(relationKey: string): TrivialInstance[] + /** + * 立刻执行 callback ,其中的多个 setData 之间不会触发界面绘制(只有某些特殊场景中需要,如用于在不同组件同时 setData 时进行界面绘制同步) + * + * 最低基础库版本:[`2.4.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + groupSetData(callback?: () => void): void + /** + * 返回当前页面的 custom-tab-bar 的组件实例 + * + * 最低基础库版本:[`2.6.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getTabBar(): TrivialInstance + /** + * 返回页面标识符(一个字符串),可以用来判断几个自定义组件实例是不是在同一个页面内 + * + * 最低基础库版本:[`2.7.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + getPageId(): string + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: KeyFrame[], + duration: number, + callback?: () => void + ): void + /** + * 执行关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + animate( + selector: string, + keyFrames: ScrollTimelineKeyframe[], + duration: number, + scrollTimeline: ScrollTimelineOption + ): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation(selector: string, callback: () => void): void + /** + * 清除关键帧动画,详见[动画](https://developers.weixin.qq.com/miniprogram/dev/framework/view/animation.html) + * + * 最低基础库版本:[`2.9.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + **/ + clearAnimation( + selector: string, + options?: ClearAnimationOptions, + callback?: () => void + ): void + /** + * 当从另一页面跳转到该页面时,获得与来源页面实例通信当事件通道,详见 [wx.navigateTo]((wx.navigateTo)) + * + * 最低基础库版本:[`2.7.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + getOpenerEventChannel(): EventChannel + /** + * 获取更新性能统计信息,详见 [获取更新性能统计信息]((custom-component/update-perf-stat)) + * + * + * 最低基础库版本:[`2.12.0`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + setUpdatePerformanceListener<WithDataPath extends boolean = false>( + options: SetUpdatePerformanceListenerOption<WithDataPath>, + callback?: UpdatePerformanceListener<WithDataPath> + ): void + } + + interface ComponentOptions { + /** + * [启用多slot支持](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件wxml的slot) + */ + multipleSlots?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + addGlobalClass?: boolean + /** + * [组件样式隔离](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#组件样式隔离) + */ + styleIsolation?: + | 'isolated' + | 'apply-shared' + | 'shared' + | 'page-isolated' + | 'page-apply-shared' + | 'page-shared' + /** + * [纯数据字段](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/pure-data.html) 是一些不用于界面渲染的 data 字段,可以用于提升页面更新性能。从小程序基础库版本 2.8.2 开始支持。 + */ + pureDataPattern?: RegExp + /** + * [虚拟化组件节点](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E8%99%9A%E6%8B%9F%E5%8C%96%E7%BB%84%E4%BB%B6%E8%8A%82%E7%82%B9) 使自定义组件内部的第一层节点由自定义组件本身完全决定。从小程序基础库版本 [`2.11.2`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持 */ + virtualHost?: boolean + } + + interface TriggerEventOption { + /** 事件是否冒泡 + * + * 默认值: `false` + */ + bubbles?: boolean + /** 事件是否可以穿越组件边界,为false时,事件将只能在引用组件的节点树上触发,不进入其他任何组件内部 + * + * 默认值: `false` + */ + composed?: boolean + /** 事件是否拥有捕获阶段 + * + * 默认值: `false` + */ + capturePhase?: boolean + } + + interface RelationOption { + /** 目标组件的相对关系 */ + type: 'parent' | 'child' | 'ancestor' | 'descendant' + /** 关系生命周期函数,当关系被建立在页面节点树中时触发,触发时机在组件attached生命周期之后 */ + linked?(target: TrivialInstance): void + /** 关系生命周期函数,当关系在页面节点树中发生改变时触发,触发时机在组件moved生命周期之后 */ + linkChanged?(target: TrivialInstance): void + /** 关系生命周期函数,当关系脱离页面节点树时触发,触发时机在组件detached生命周期之后 */ + unlinked?(target: TrivialInstance): void + /** 如果这一项被设置,则它表示关联的目标节点所应具有的behavior,所有拥有这一behavior的组件节点都会被关联 */ + target?: string + } + + interface PageLifetimes { + /** 页面生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + show(): void + /** 页面生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + hide(): void + /** 页面生命周期回调—监听页面尺寸变化 + * + * 所在页面尺寸变化时执行 + */ + resize(size: Page.IResizeOption): void + } + + type DefinitionFilter = <T extends TrivialOption>( + /** 使用该 behavior 的 component/behavior 的定义对象 */ + defFields: T, + /** 该 behavior 所使用的 behavior 的 definitionFilter 函数列表 */ + definitionFilterArr?: DefinitionFilter[] + ) => void + + interface Lifetimes { + /** 组件生命周期声明对象,组件的生命周期:`created`、`attached`、`ready`、`moved`、`detached` 将收归到 `lifetimes` 字段内进行声明,原有声明方式仍旧有效,如同时存在两种声明方式,则 `lifetimes` 字段内声明方式优先级最高 + * + * 最低基础库: `2.2.3` */ + lifetimes: Partial<{ + /** + * 在组件实例刚刚被创建时执行,注意此时不能调用 `setData` + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + }> + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例刚刚被创建时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + created(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例进入页面节点树时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + attached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件在视图层布局完成后执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + ready(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被移动到节点树另一个位置时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + moved(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 在组件实例被从页面节点树移除时执行 + * + * 最低基础库版本:[`1.6.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + detached(): void + /** + * @deprecated 旧式的定义方式,基础库 `2.2.3` 起请在 lifetimes 中定义 + * + * 每当组件方法抛出错误时执行 + * + * 最低基础库版本:[`2.4.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + error(err: Error): void + } + + interface OtherOption { + /** 类似于mixins和traits的组件间代码复用机制,参见 [behaviors](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/behaviors.html) */ + behaviors: Behavior.BehaviorIdentifier[] + /** + * 组件数据字段监听器,用于监听 properties 和 data 的变化,参见 [数据监听器](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html) + * + * 最低基础库版本:[`2.6.1`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) + */ + observers: Record<string, (...args: any[]) => any> + /** 组件间关系定义,参见 [组件间关系](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) */ + relations: { + [componentName: string]: RelationOption + } + /** 组件接受的外部样式类,参见 [外部样式类](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html) */ + externalClasses?: string[] + /** 组件所在页面的生命周期声明对象,参见 [组件生命周期](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + pageLifetimes?: Partial<PageLifetimes> + /** 一些选项(文档中介绍相关特性时会涉及具体的选项设置,这里暂不列举) */ + options: ComponentOptions + + /** 定义段过滤器,用于自定义组件扩展,参见 [自定义组件扩展](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/extend.html) + * + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + definitionFilter?: DefinitionFilter + /** + * 组件自定义导出,当使用 `behavior: wx://component-export` 时,这个定义段可以用于指定组件被 selectComponent 调用时的返回值,参见 [组件间通信与事件](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html) + * 最低基础库版本: [`2.2.3`](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) */ + export: () => IAnyObject + } + + interface KeyFrame { + /** 关键帧的偏移,范围[0-1] */ + offset?: number + /** 动画缓动函数 */ + ease?: string + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: string + /** 背景颜色,即 CSS background-color */ + backgroundColor?: string + /** 底边位置,即 CSS bottom */ + bottom?: number | string + /** 高度,即 CSS height */ + height?: number | string + /** 左边位置,即 CSS left */ + left?: number | string + /** 宽度,即 CSS width */ + width?: number | string + /** 不透明度,即 CSS opacity */ + opacity?: number | string + /** 右边位置,即 CSS right */ + right?: number | string + /** 顶边位置,即 CSS top */ + top?: number | string + /** 变换矩阵,即 CSS transform matrix */ + matrix?: number[] + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: number[] + /** 旋转,即 CSS transform rotate */ + rotate?: number + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: number[] + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: number + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: number + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: number + /** 缩放,即 CSS transform scale */ + scale?: number[] + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: number[] + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: number + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: number + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: number + /** 倾斜,即 CSS transform skew */ + skew?: number[] + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: number + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: number + /** 位移,即 CSS transform translate */ + translate?: Array<number | string> + /** 三维位移,即 CSS transform translate3d */ + translate3d?: Array<number | string> + /** X 方向位移,即 CSS transform translateX */ + translateX?: number | string + /** Y 方向位移,即 CSS transform translateY */ + translateY?: number | string + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: number | string + } + interface ClearAnimationOptions { + /** 基点位置,即 CSS transform-origin */ + transformOrigin?: boolean + /** 背景颜色,即 CSS background-color */ + backgroundColor?: boolean + /** 底边位置,即 CSS bottom */ + bottom?: boolean + /** 高度,即 CSS height */ + height?: boolean + /** 左边位置,即 CSS left */ + left?: boolean + /** 宽度,即 CSS width */ + width?: boolean + /** 不透明度,即 CSS opacity */ + opacity?: boolean + /** 右边位置,即 CSS right */ + right?: boolean + /** 顶边位置,即 CSS top */ + top?: boolean + /** 变换矩阵,即 CSS transform matrix */ + matrix?: boolean + /** 三维变换矩阵,即 CSS transform matrix3d */ + matrix3d?: boolean + /** 旋转,即 CSS transform rotate */ + rotate?: boolean + /** 三维旋转,即 CSS transform rotate3d */ + rotate3d?: boolean + /** X 方向旋转,即 CSS transform rotateX */ + rotateX?: boolean + /** Y 方向旋转,即 CSS transform rotateY */ + rotateY?: boolean + /** Z 方向旋转,即 CSS transform rotateZ */ + rotateZ?: boolean + /** 缩放,即 CSS transform scale */ + scale?: boolean + /** 三维缩放,即 CSS transform scale3d */ + scale3d?: boolean + /** X 方向缩放,即 CSS transform scaleX */ + scaleX?: boolean + /** Y 方向缩放,即 CSS transform scaleY */ + scaleY?: boolean + /** Z 方向缩放,即 CSS transform scaleZ */ + scaleZ?: boolean + /** 倾斜,即 CSS transform skew */ + skew?: boolean + /** X 方向倾斜,即 CSS transform skewX */ + skewX?: boolean + /** Y 方向倾斜,即 CSS transform skewY */ + skewY?: boolean + /** 位移,即 CSS transform translate */ + translate?: boolean + /** 三维位移,即 CSS transform translate3d */ + translate3d?: boolean + /** X 方向位移,即 CSS transform translateX */ + translateX?: boolean + /** Y 方向位移,即 CSS transform translateY */ + translateY?: boolean + /** Z 方向位移,即 CSS transform translateZ */ + translateZ?: boolean + } + interface ScrollTimelineKeyframe { + composite?: 'replace' | 'add' | 'accumulate' | 'auto' + easing?: string + offset?: number | null + [property: string]: string | number | null | undefined + } + interface ScrollTimelineOption { + /** 指定滚动元素的选择器(只支持 scroll-view),该元素滚动时会驱动动画的进度 */ + scrollSource: string + /** 指定滚动的方向。有效值为 horizontal 或 vertical */ + orientation?: string + /** 指定开始驱动动画进度的滚动偏移量,单位 px */ + startScrollOffset: number + /** 指定停止驱动动画进度的滚动偏移量,单位 px */ + endScrollOffset: number + /** 起始和结束的滚动范围映射的时间长度,该时间可用于与关键帧动画里的时间 (duration) 相匹配,单位 ms */ + timeRange: number + } + + interface SetUpdatePerformanceListenerOption<WithDataPath> { + /** 是否返回变更的 data 字段信息 */ + withDataPaths?: WithDataPath + } + interface UpdatePerformanceListener<WithDataPath> { + (res: UpdatePerformance<WithDataPath>): void + } + interface UpdatePerformance<WithDataPath> { + /** 此次更新过程的 ID */ + updateProcessId: number + /** 对于子更新,返回它所属的更新过程 ID */ + parentUpdateProcessId?: number + /** 是否是被合并更新,如果是,则 updateProcessId 表示被合并到的更新过程 ID */ + isMergedUpdate: boolean + /** 此次更新的 data 字段信息,只有 withDataPaths 设为 true 时才会返回 */ + dataPaths: WithDataPath extends true ? string[] : undefined + /** 此次更新进入等待队列时的时间戳 */ + pendingStartTimestamp: number + /** 更新运算开始时的时间戳 */ + updateStartTimestamp: number + /** 更新运算结束时的时间戳 */ + updateEndTimestamp: number + } +} +/** Component构造器可用于定义组件,调用Component构造器时可以指定组件的属性、数据、方法等。 + * + * * 使用 `this.data` 可以获取内部数据和属性值,但不要直接修改它们,应使用 `setData` 修改。 + * * 生命周期函数无法在组件方法中通过 `this` 访问到。 + * * 属性名应避免以 data 开头,即不要命名成 `dataXyz` 这样的形式,因为在 WXML 中, `data-xyz=""` 会被作为节点 dataset 来处理,而不是组件属性。 + * * 在一个组件的定义和使用时,组件的属性名和 data 字段相互间都不能冲突(尽管它们位于不同的定义段中)。 + * * 从基础库 `2.0.9` 开始,对象类型的属性和 data 字段中可以包含函数类型的子字段,即可以通过对象类型的属性字段来传递函数。低于这一版本的基础库不支持这一特性。 + * * `bug` : 对于 type 为 Object 或 Array 的属性,如果通过该组件自身的 `this.setData` 来改变属性值的一个子字段,则依旧会触发属性 observer ,且 observer 接收到的 `newVal` 是变化的那个子字段的值, `oldVal` 为空, `changedPath` 包含子字段的字段名相关信息。 + */ +declare let Component: WechatMiniprogram.Component.Constructor diff --git a/src/minigram/typings/types/wx/lib.wx.event.d.ts b/src/minigram/typings/types/wx/lib.wx.event.d.ts new file mode 100644 index 0000000..08edd87 --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.event.d.ts @@ -0,0 +1,1435 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram { + interface Target<DataSet extends IAnyObject = IAnyObject> { + /** 事件组件的 id */ + id: string + /** 当前组件的类型 */ + tagName?: string + /** 事件组件上由 `data-` 开头的自定义属性组成的集合 */ + dataset: DataSet + /** 距离页面顶部的偏移量 */ + offsetTop: number + /** 距离页面左边的偏移量 */ + offsetLeft: number + } + + /** 基础事件参数 */ + interface BaseEvent< + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > { + /** 事件类型 */ + type: string + /** 页面打开到触发事件所经过的毫秒数 */ + timeStamp: number + /** 事件冒泡路径上所有由 `mark:` 开头的自定义属性组成的集合 */ + mark?: Mark + /** 触发事件的源组件 */ + target: Target<TargetDataset> + /** 事件绑定的当前组件 */ + currentTarget: Target<CurrentTargetDataset> + } + + /** 自定义事件 */ + interface CustomEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> { + /** 额外的信息 */ + detail: Detail + } + + /** Touch 对象 */ + interface TouchDetail { + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,横向为 X 轴 */ + clientX: number + /** 距离页面可显示区域 (屏幕除去导航条) 左上角距离,纵向为 Y 轴 */ + clientY: number + /** 触摸点的标识符 */ + identifier: number + /** 距离文档左上角的距离,文档的左上角为原点,横向为 X 轴 */ + pageX: number + /** 距离文档左上角的距离,文档的左上角为原点,纵向为 Y 轴 */ + pageY: number + } + + /** canvas Touch 对象 */ + interface TouchCanvasDetail { + /** 触摸点的标识符 */ + identifier: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 ,横向为X轴 */ + x: number + /** 距离 Canvas 左上角的距离,Canvas 的左上角为原点 纵向为Y轴 */ + y: number + } + + /** 触摸事件 */ + interface Touch< + Detail extends IAnyObject = IAnyObject, + T extends TouchDetail | TouchCanvasDetail = TouchDetail, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > extends CustomEvent<Detail, Mark, CurrentTargetDataset, TargetDataset> { + /** 触摸事件,当前停留在屏幕中的触摸点信息的数组 */ + touches: T[] + /** 触摸事件,当前变化的触摸点信息的数组 */ + changedTouches: T[] + } + + /** 触摸事件响应 */ + type TouchEvent< + Detail extends IAnyObject = IAnyObject, + Mark extends IAnyObject = IAnyObject, + CurrentTargetDataset extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = CurrentTargetDataset + > = Touch<Detail, TouchDetail, Mark, CurrentTargetDataset, TargetDataset> + + /** canvas 触摸事件响应 */ + interface TouchCanvas< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > extends Touch<never, TouchCanvasDetail, Mark, never, TargetDataset> { + // canvas 中的触摸事件不可冒泡,所以没有 currentTarget。 + currentTarget: never + } + + /** + * 图片加载成功时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageLoad< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 图片宽度 */ + width: number + /** 图片高度 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 图片加载失败时触发 + * + * 最低基础库: 2.1.0 + */ + type CoverImageError = CustomEvent<GeneralCallbackResult> + + /** + * 拖动过程中触发的事件,event.detail = {x, y, source} + * + * 最低基础库: 1.9.90 + */ + type MovableViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + x: number + y: number + /** + * 产生移动的原因 + * + * - `touch` 拖动 + * - `touch-out-of-bounds` 超出移动范围 + * - `out-of-bounds` 超出移动范围后的回弹 + * - `friction` 惯性 + * - `空字符串` setData + */ + source: + | 'touch' + | 'touch-out-of-bounds' + | 'out-of-bounds' + | 'friction' + | '' + }, + Mark, + TargetDataset + > + + /** + * 缩放过程中触发的事件 + * + * event.detail = {x, y, scale} + * + * x 和 y 字段在 2.1.0 之后支持 + * + * 最低基础库: 1.9.90 + */ + type MovableViewScale< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 最低基础库: 2.1.0 */ + x: number + /** 最低基础库: 2.1.0 */ + y: number + scale: number + }, + Mark, + TargetDataset + > + + /** + * 滑动开始事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** + * 滑动结束事件 (同时开启 enhanced 属性后生效) + * + * detail { scrollTop, scrollLeft } + * + * 最低基础库: 2.12.0 + */ + type ScrollViewDragEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollTop: number + scrollLeft: number + }, + Mark, + TargetDataset + > + + /** 滚动到顶部/左边时触发 */ + type ScrollViewScrollToUpper< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'top' | 'left' + }, + Mark, + TargetDataset + > + + /** 滚动到底部/右边时触发 */ + type ScrollViewScrollToLower< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + direction: 'bottom' | 'right' + }, + Mark, + TargetDataset + > + + /** + * 滚动时触发 + * + * event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} + */ + type ScrollViewScroll< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + scrollLeft: number + scrollTop: number + scrollHeight: number + scrollWidth: number + deltaX: number + deltaY: number + }, + Mark, + TargetDataset + > + + type ScrollViewRefresherPulling< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRefresh< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherRestore< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + type ScrollViewRefresherAbort< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * current 改变时会触发 change 事件 + * + * event.detail = {current, source} + * + * **Tip**: 如果在 bindchange 的事件回调函数中使用 setData 改变 current 值,则有可能导致 setData 被不停地调用,因而通常情况下请在改变 current 值前检测 source 字段来判断是否是由于用户触摸引起。 + */ + type SwiperChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + current: number + /** + * 表示导致变更的原因 + * + * - `autoplay` 自动播放导致 swiper 变化; + * - `touch` 用户划动引起 swiper 变化; + * - 其它原因将用空字符串表示。 + * + * 最低基础库: 1.4.0 + */ + source: '' | 'autoplay' | 'touch' + /** 该 swiper-item 的标识符 */ + currentItemId: string + }, + Mark, + TargetDataset + > + + /** + * swiper-item 的位置发生改变时会触发 transition 事件 + * + * event.detail = {dx: dx, dy: dy} + * + * 最低基础库: 2.4.3 + */ + type SwiperTransition< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + dx: number + dy: number + }, + Mark, + TargetDataset + > + + /** + * 动画结束时会触发 animationfinish 事件 + * + * 最低基础库: 1.9.0 + */ + type SwiperAnimationFinish< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SwiperChange<Mark, TargetDataset> + + /** + * progress 动画完成事件 + * + * 最低基础库 2.4.1 + */ + type ProgressActiveEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + curPercent: number + }, + Mark, + TargetDataset + > + + /** + * 用户点击该按钮时,会返回获取到的用户信息,回调的 detail 数据与 `wx. getUserInfo` 返回的一致,`open-type="getUserInfo"` 时有效 + * + * 最低基础库: 1.3.0 + */ + type ButtonGetUserInfo = CustomEvent< + GeneralCallbackResult & GetUserInfoSuccessCallbackResult + > + + /** + * 客服消息回调,`open-type="contact"` 时有效 + * + * 最低基础库: 1.5.0 + */ + type ButtonContact = CustomEvent<GeneralCallbackResult> + + /** + * 获取用户手机号回调,`open-type=getPhoneNumber` 时有效 + * + * 最低基础库: 1.2.0 + */ + type ButtonGetPhoneNumber = CustomEvent< + GeneralCallbackResult & Partial<GetWeRunDataSuccessCallbackResult> + > + + /** + * 当使用开放能力时,发生错误的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 1.9.5 + */ + type ButtonError = CustomEvent<GeneralCallbackResult> + + /** + * 在打开授权设置页后回调,`open-type=openSetting` 时有效 + * + * 最低基础库: 2.0.7 + */ + type ButtonOpenSetting = CustomEvent< + GeneralCallbackResult & OpenSettingSuccessCallbackResult + > + + /** + * 打开 APP 成功的回调,`open-type=launchApp` 时有效 + * + * 最低基础库: 2.4.4 + */ + type ButtonLaunchApp = CustomEvent<GeneralCallbackResult> + + /** + * checkbox-group 中选中项发生改变时触发 change 事件 + * + * detail = { value: ['选中的checkbox 的 value 的数组'] } + */ + type CheckboxGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 选中的 checkbox 的 value 的数组 */ + value: string[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type EditorReady< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 编辑器聚焦时触发 + * + * event.detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + html: string + text: string + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delta: any[] + }, + Mark, + TargetDataset + > + + /** + * 编辑器失去焦点时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 编辑器内容改变时触发 + * + * detail = {html, text, delta} + * + * 最低基础库: 2.7.0 + */ + type EditorInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = EditorFocus<Mark, TargetDataset> + + /** + * 通过 Context 方法改变编辑器内样式时触发,返回选区已设置的样式 + * + * 最低基础库: 2.7.0 + */ + type EditorStatusChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + Partial<{ + align: 'left' | 'center' | 'right' | 'justify' + bold: 'strong' + italic: 'em' + underline: true + strike: 'del' + lineHeight: string + letterSpacing: string + marginTop: string + marginBottom: string + fontFamily: string + fontSize: string + color: string + backgroundColor: string + list: 'checked' | 'unchecked' | 'ordered' | 'bullet' + indent: number + header: number + script: 'sub' | 'super' + direction: 'rtl' + }>, + Mark, + TargetDataset + > + + /** + * 携带 form 中的数据触发 submit 事件 + * + * event.detail = {value : {'name': 'value'} , formId: ''} + */ + type FormSubmit< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + formId?: unknown + target: Target + /** 表单中的数据,需要在表单组件中加上 name 来作为 key。 */ + value: IAnyObject + }, + Mark, + TargetDataset + > + + /** 表单重置时会触发 reset 事件 */ + type FormReset< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + target: Target + }, + Mark, + TargetDataset + > + + /** 键盘输入时触发 + * + * event.detail = {value, cursor, keyCode} + * + * 处理函数可以直接 return 一个字符串,将替换输入框的内容。 + */ + type Input< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 光标位置 */ + cursor: number + /** keyCode 为键值 (目前工具还不支持返回keyCode参数) `2.1.0` 起支持 */ + keyCode?: number + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height } + */ + type InputFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + /** 键盘高度, 在基础库 `1.9.90` 起支持 */ + height: number + }, + Mark, + TargetDataset + > + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value: value} + */ + type InputBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 点击完成按钮时触发 + * + * event.detail = {value: value} + */ + type InputConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框内容 */ + value: string + }, + Mark, + TargetDataset + > + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange 事件可能会多次触发,开发者对于相同的 height 值应该忽略掉 + * + * 最低基础库: `2.7.0` + */ + type InputKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 键盘高度 */ + height: number + duration: number + }, + Mark, + TargetDataset + > + + /** + * 取消选择时触发 + * + * 最低基础库: 1.9.90 + */ + type PickerCancel< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * value 改变时触发 change 事件 + * + * event.detail = {value} + * + * 当 mode = region 时 (最低基础库: 1.4.0) + * + * value 改变时触发 change 事件,event.detail = {value, code, postcode},其中字段 code 是统计用区划代码,postcode 是邮政编码 + */ + type PickerChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** + * 当 mode = selector 时, 返回当前选择的 value + * + * 当 mode = multiSelector 时, 返回一个索引数组 + * + * 当 mode = time | date 时, 返回 `"12:01"` | `"2016-09-01"` + * + * 当 mode = region 时, 返回 `["广东省", "广州市", "海珠区"]` + */ + value: string | number[] | [string, string, string] + /** 统计用区划代码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + code: [string, string, string] + /** 邮政编码 当 mode = region 时有效 (最低基础库: 1.4.0) */ + postcode: string + }, + Mark, + TargetDataset + > + + /** 列改变时触发 当 `mode = multiSelector` 时有效 */ + type PickerColumnChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 修改的列 */ + column: number + value: number + }, + Mark, + TargetDataset + > + + /** + * 滚动选择时触发 change 事件 + * + * event.detail = {value} + */ + type PickerViewChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** value 为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项 (下标从 0 开始) */ + value: number[] + }, + Mark, + TargetDataset + > + + /** + * 当滚动选择开始时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickStart< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** + * 当滚动选择结束时候触发事件 + * + * 最低基础库: 2.3.1 + */ + type PickerViewPickEnd< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent<never, Mark, TargetDataset> + + /** radio-group 切换事件 */ + type RadioGroupChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + /** radio-group 中选中项的 value */ + { + value: string + }, + Mark, + TargetDataset + > + + /** + * 完成一次拖动后触发的事件 + * + * event.detail = {value} + */ + type SliderChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** slider 的数值 0 - 100 */ + value: number + }, + Mark, + TargetDataset + > + + /** + * 拖动过程中触发的事件 + * + * event.detail = {value} + * + * 最低基础库: 1.7.0 + */ + type SliderChanging< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = SliderChange<Mark, TargetDataset> + + /** + * checked 改变时触发 change 事件 + * + * event.detail={ value} + */ + type SwitchChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + value: boolean + }, + Mark, + TargetDataset + > + + /** + * 输入框聚焦时触发 + * + * event.detail = { value, height },height 为键盘高度 + * + * 在基础库 1.9.90 起支持 + */ + type TextareaFocus< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputFocus<Mark, TargetDataset> + + /** + * 输入框失去焦点时触发 + * + * event.detail = {value, cursor} + * + * **tip**: textarea 的 blur 事件会晚于页面上的 tap 事件,如果需要在 button 的点击事件获取 textarea,可以使用 form 的 bindsubmit。 + */ + type TextareaBlur< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputBlur<Mark, TargetDataset> + + /** + * 输入框行数变化时调用 + * + * event.detail = {height: 0, heightRpx: 0, lineCount: 0} + */ + type TextareaLineChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = CustomEvent< + { + /** 输入框高度(px) */ + height: number + /** 输入框高度(rpx) */ + heightRpx: number + /** 行数 */ + lineCount: number + /** 行高 */ + lineHeight: number + }, + Mark, + TargetDataset + > + + /** + * 当键盘输入时,触发 input 事件 + * + * event.detail = {value, cursor, keyCode} + * + * keyCode 为键值,目前工具还不支持返回 keyCode 参数。 + * + * **tip**: 不建议在多行文本上对用户的输入进行修改,所以 **bindinput 处理函数的返回值并不会反映到 textarea 上** + */ + type TextareaInput< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = Input<Mark, TargetDataset> + + /** + * 点击完成时, 触发 confirm 事件 + * + * event.detail = {value: value} + */ + type TextareaConfirm< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputConfirm<Mark, TargetDataset> + + /** + * 键盘高度发生变化的时候触发此事件 + * + * event.detail = {height: height, duration: duration} + * + * **tip**: 键盘高度发生变化,keyboardheightchange事件可能会多次触发,开发者对于相同的height值应该忽略掉 + * + * 最低基础库: 2.7.0 + */ + type TextareaKeyboardHeightChange< + Mark extends IAnyObject = IAnyObject, + TargetDataset extends IAnyObject = IAnyObject + > = InputKeyboardHeightChange<Mark, TargetDataset> + + /** + * 功能页返回,且操作成功时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorSuccess< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 功能页返回,且操作失败时触发, detail 格式与具体功能页相关 + * + * 最低基础库: 2.1.0 + */ + type FunctionalNavigatorFail< + Detail extends IAnyObject = IAnyObject + > = CustomEvent<Detail, never, never> + + /** + * 当 `target="miniProgram"` 时有效,跳转小程序成功 + * + * 最低基础库: 2.0.7 + */ + type NavigatorSuccess = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序失败 + * + * `tips`: 需要用户确认跳转 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。 + * + * 最低基础库: 2.0.7 + */ + type NavigatorFail = CustomEvent + /** + * 当 `target="miniProgram"` 时有效,跳转小程序完成 + * + * 最低基础库: 2.0.7 + */ + type NavigatorComplete = CustomEvent + + /** + * 当发生错误时触发 error 事件 + * + * detail = {errMsg:MediaError.code} + */ + type AudioError = CustomEvent<{ + /** + * MediaError.code + * + * - 1 获取资源被用户禁止 + * - 2 网络错误 + * - 3 解码错误 + * - 4 不合适资源 + */ + errMsg: 1 | 2 | 3 | 4 + }> + + /** 当开始/继续播放时触发play事件 */ + type AudioPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type AudioPause = CustomEvent + + /** + * 当播放进度改变时触发 timeupdate 事件 + * + * detail = {currentTime, duration} + */ + type AudioTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** 当播放到末尾时触发 ended 事件 */ + type AudioEnded = CustomEvent + + /** 摄像头在非正常终止时触发,如退出后台等情况 */ + type CameraStop = CustomEvent + + /** 用户不允许使用摄像头时触发 */ + type CameraError = CustomEvent + + /** + * 相机初始化完成时触发 + * + * 最低基础库: 2.7.0 + */ + type CameraInitDone = CustomEvent + + /** + * 在扫码识别成功时触发,仅在 mode="scanCode" 时生效 + * + * 最低基础库: 2.1.0 + */ + type CameraScanCode = CustomEvent + + /** 当错误发生时触发,event.detail = {errMsg} */ + type ImageError = CoverImageError + /** 当图片载入完毕时触发,event.detail = {height, width} */ + type ImageLoad = CoverImageLoad + + /** + * 播放状态变化事件,detail = {code} + * + * 最低基础库 1.7.0 + */ + type LivePlayerStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `2001` 已经连接服务器 + * - `2002` 已经连接服务器,开始拉流 + * - `2003` 网络接收到首个视频数据包(IDR) + * - `2004` 视频播放开始 + * - `2005` 视频播放进度 + * - `2006` 视频播放结束 + * - `2007` 视频播放Loading + * - `2008` 解码器启动 + * - `2009` 视频分辨率改变 + * - `-2301` 网络断连,且经多次重连抢救无效,更多重试请自行重启播放 + * - `-2302` 获取加速拉流地址失败 + * - `2101` 当前视频帧解码失败 + * - `2102` 当前音频帧解码失败 + * - `2103` 网络断连, 已启动自动重连 + * - `2104` 网络来包不稳: 可能是下行带宽不足,或由于主播端出流不均匀 + * - `2105` 当前视频播放出现卡顿 + * - `2106` 硬解启动失败,采用软解 + * - `2107` 当前视频帧不连续,可能丢帧 + * - `2108` 当前流硬解第一个I帧失败,SDK自动切软解 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 全屏变化事件,detail = {direction, fullScreen} + * + * 最低基础库 1.7.0 + */ + type LivePlayerFullScreenChange = CustomEvent<{ + direction: 'vertical' | 'horizontal' + fullScreen: boolean + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库 1.9.0 + */ + type LivePlayerNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * + * - `videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * - `audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * - `videoFPS` 当前视频帧率 + * - `videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * - `netSpeed` 当前的发送/接收速度 + * - `netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * - `videoWidth` 视频画面的宽度 + * - `videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 状态变化事件,detail = {code} + * + * 最低基础库: 1.7.0 + */ + type LivePusherStateChange = CustomEvent<{ + /** + * 状态码 + * + * - `1001` 已经连接推流服务器 + * - `1002` 已经与服务器握手完毕,开始推流 + * - `1003` 打开摄像头成功 + * - `1004` 录屏启动成功 + * - `1005` 推流动态调整分辨率 + * - `1006` 推流动态调整码率 + * - `1007` 首帧画面采集完成 + * - `1008` 编码器启动 + * - `-1301` 打开摄像头失败 + * - `-1302` 打开麦克风失败 + * - `-1303` 视频编码失败 + * - `-1304` 音频编码失败 + * - `-1305` 不支持的视频分辨率 + * - `-1306` 不支持的音频采样率 + * - `-1307` 网络断连,且经多次重连抢救无效,更多重试请自行重启推流 + * - `-1308` 开始录屏失败,可能是被用户拒绝 + * - `-1309` 录屏失败,不支持的Android系统版本,需要5.0以上的系统 + * - `-1310` 录屏被其他应用打断了 + * - `-1311` Android Mic打开成功,但是录不到音频数据 + * - `-1312` 录屏动态切横竖屏失败 + * - `1101` 网络状况不佳: 上行带宽太小,上传数据受阻 + * - `1102` 网络断连, 已启动自动重连 + * - `1103` 硬编码启动失败,采用软编码 + * - `1104` 视频编码失败 + * - `1105` 新美颜软编码启动失败,采用老的软编码 + * - `1106` 新美颜软编码启动失败,采用老的软编码 + * - `3001` RTMP -DNS解析失败 + * - `3002` RTMP服务器连接失败 + * - `3003` RTMP服务器握手失败 + * - `3004` RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期 + * - `3005` RTMP 读/写失败 + */ + code: number + }> + + /** + * 网络状态通知,detail = {info} + * + * 最低基础库: 1.9.0 + */ + type LivePusherNetStatus = CustomEvent<{ + /** + * 网络状态数据 + * + * -`videoBitrate` 当前视频编/码器输出的比特率,单位 kbps + * -`audioBitrate` 当前音频编/码器输出的比特率,单位 kbps + * -`videoFPS` 当前视频帧率 + * -`videoGOP` 当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s + * -`netSpeed` 当前的发送/接收速度 + * -`netJitter` 网络抖动情况,抖动越大,网络越不稳定 + * -`videoWidth` 视频画面的宽度 + * -`videoHeight` 视频画面的高度 + */ + info: + | 'videoBitrate' + | 'audioBitrate' + | 'videoFPS' + | 'videoGOP' + | 'netSpeed' + | 'netJitter' + | 'videoWidth' + | 'videoHeight' + }> + + /** + * 渲染错误事件,detail = {errMsg, errCode} + * + * `tip`: 开发者工具上暂不支持 live-pusher + * + * 最低基础库: 1.7.4 + */ + type LivePusherError = CustomEvent<{ + errMsg: string + /** + * 错误码 + * + * - `10001` 用户禁止使用摄像头 + * - `10002` 用户禁止使用录音 + * - `10003` 背景音资源 (BGM) 加载失败 + * - `10004` 等待画面资源 (waiting-image) 加载失败 + */ + errCode: number + }> + + /** + * 背景音开始播放时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmStart = CustomEvent + + /** + * 背景音进度变化时触发,detail = {progress, duration} + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmProgress = CustomEvent<{ + progress: number + duration: number + }> + + /** + * 背景音播放完成时触发 + * + * 最低基础库: 2.4.0 + */ + type LivePusherBgmComplete = CustomEvent + + /** 当开始/继续播放时触发play事件 */ + type VideoPlay = CustomEvent + + /** 当暂停播放时触发 pause 事件 */ + type VideoPause = CustomEvent + + /** 当播放到末尾时触发 ended 事件 */ + type VideoEnded = CustomEvent + + /** 播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次 */ + type VideoTimeUpdate = CustomEvent<{ + currentTime: number + duration: number + }> + + /** + * 视频进入和退出全屏时触发,event.detail = {fullScreen, direction} + * + * 最低基础库: 1.4.0 + */ + type VideoFullScreenChange = CustomEvent<{ + fullScreen: boolean + direction: 'vertical' | 'horizontal' + }> + + /** + * 视频出现缓冲时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoWaiting = CustomEvent + + /** + * 视频播放出错时触发 + * + * 最低基础库: 1.7.0 + */ + type VideoError = CustomEvent + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VideoPregress = CustomEvent<{ + /** 百分比 */ + buffered: number + }> + + /** + * 加载进度变化时触发,只支持一段加载。 + * + * 最低基础库: 2.4.0 + */ + type VoipRoomError = CustomEvent + + /** + * 点击地图时触发 + * + * 2.9.0 起返回经纬度信息 + */ + type MapTap = CustomEvent<{ + /** 经度,最低基础库 2.9.0 */ + longitude: number + /** 纬度,最低基础库 2.9.0 */ + latitude: number + }> + + /** + * 点击标记点时触发 + * + * e.detail = {markerId} + */ + type MarkerTap = CustomEvent<{ + /** 标记点 ID */ + markerId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 2.9.0 + */ + type LabelTap = MarkerTap + + /** + * 点击控件时触发 + * + * e.detail = {controlId} + */ + type ControlTap = CustomEvent<{ + /** 控件 ID */ + controlId: number + }> + + /** + * 点击 label 时触发 + * + * e.detail = {markerId} + * + * 最低基础库: 1.2.0 + */ + type CalloutTap = MarkerTap + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type MapUpdated = CustomEvent + + /** + * 在地图渲染更新完成时触发 + * + * 最低基础库: 1.6.0 + */ + type RegionChange = CustomEvent<{ + /** 旋转程度,最低基础库 2.3.0 */ + rotate: number + /** 缩放程度,最低基础库 2.3.0 */ + skew: number + }> & + ( + | { + /** + * 视野变化开始、结束时触发 + * + * 视野变化开始为 `begin` + */ + type: 'begin' + /** + * 导致视野变化的原因 + * + * - gesture: 用户手势 + * - update: 调用接口导致 + */ + causedBy: 'gesture' | 'update' + } + | { + /** + * 视野变化结束时触发 + * + * 视野变化结束为 `end` + */ + type: 'end' + /** + * 导致视野变化的原因 + * + * - drag: 拖动地图导致 + * - scale: 缩放导致 + * - update: 调用接口导致 + */ + causedBy: 'drag' | 'scale' | 'update' + } + ) + + /** + * 广告加载成功的回调 + * + * 最低基础库: 2.2.1 + */ + type AdLoad = CustomEvent + + /** + * 广告加载失败的回调,event.detail = {errCode: 1002} + * + * `tip`: 监听到error回调后,开发者可以针对性的处理,比如隐藏广告组件的父容器,以保证用户体验,但不要移除广告组件,否则将无法收到bindload的回调。 + * + * 最低基础库: 2.2.1 + */ + type AdError = CustomEvent<{ + /** + * 错误码 + * + * - `1000` 后端错误调用失败 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1001` 参数错误 使用方法错误 可以前往developers.weixin.qq.com 确认具体教程 (小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换)。 + * - `1002` 广告单元无效 可能是拼写错误、或者误用了其他APP的广告ID 请重新前往mp.weixin.qq.com确认广告位ID。 + * - `1003` 内部错误 该项错误不是开发者的异常情况 一般情况下忽略一段时间即可恢复。 + * - `1004` 无适合的广告 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 + * - `1005` 广告组件审核中 你的广告正在被审核,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1006` 广告组件被驳回 你的广告审核失败,无法展现广告 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。 + * - `1007` 广告组件被驳回 你的广告能力已经被封禁,封禁期间无法展现广告 请前往mp.weixin.qq.com确认小程序广告封禁状态。 + * - `1008` 广告单元已关闭 该广告位的广告能力已经被关闭 请前往mp.weixin.qq.com重新打开对应广告位的展现。 + */ + errCode: number + }> + + /** + * 广告关闭的回调 + * + * 最低基础库: 2.6.5 + */ + type AdClose = CustomEvent + + /** + * 网页向小程序 postMessage 时,会在特定时机 (小程序后退、组件销毁、分享) 触发并收到消息。e.detail = { data } + * + * 最低基础库: 1.6.4 + */ + type WebviewMessage = CustomEvent<{ + /** 多次 postMessage 的参数组成的数组 */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + data: any[] + }> + + /** + * 网页加载成功时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewLoad = CustomEvent<{ + src: string + }> + + /** + * 网页加载失败的时候触发此事件。e.detail = { src } + * + * 最低基础库: 1.6.4 + */ + type WebviewError = CustomEvent<{ + src: string + }> +} diff --git a/src/minigram/typings/types/wx/lib.wx.page.d.ts b/src/minigram/typings/types/wx/lib.wx.page.d.ts new file mode 100644 index 0000000..4e1cb51 --- /dev/null +++ b/src/minigram/typings/types/wx/lib.wx.page.d.ts @@ -0,0 +1,263 @@ +/*! ***************************************************************************** +Copyright (c) 2022 Tencent, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +***************************************************************************** */ + +declare namespace WechatMiniprogram.Page { + type Instance< + TData extends DataOption, + TCustom extends CustomOption + > = OptionalInterface<ILifetime> & + InstanceProperties & + InstanceMethods<TData> & + Data<TData> & + TCustom + type Options< + TData extends DataOption, + TCustom extends CustomOption + > = (TCustom & + Partial<Data<TData>> & + Partial<ILifetime> & { + options?: Component.ComponentOptions + }) & + ThisType<Instance<TData, TCustom>> + type TrivialInstance = Instance<IAnyObject, IAnyObject> + interface Constructor { + <TData extends DataOption, TCustom extends CustomOption>( + options: Options<TData, TCustom> + ): void + } + interface ILifetime { + /** 生命周期回调—监听页面加载 + * + * 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。 + */ + onLoad( + /** 打开当前页面路径中的参数 */ + query: Record<string, string | undefined> + ): void | Promise<void> + /** 生命周期回调—监听页面显示 + * + * 页面显示/切入前台时触发。 + */ + onShow(): void | Promise<void> + /** 生命周期回调—监听页面初次渲染完成 + * + * 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 + * + + * 注意:对界面内容进行设置的 API 如`wx.setNavigationBarTitle`,请在`onReady`之后进行。 + */ + onReady(): void | Promise<void> + /** 生命周期回调—监听页面隐藏 + * + * 页面隐藏/切入后台时触发。 如 `navigateTo` 或底部 `tab` 切换到其他页面,小程序切入后台等。 + */ + onHide(): void | Promise<void> + /** 生命周期回调—监听页面卸载 + * + * 页面卸载时触发。如`redirectTo`或`navigateBack`到其他页面时。 + */ + onUnload(): void | Promise<void> + /** 监听用户下拉动作 + * + * 监听用户下拉刷新事件。 + * - 需要在`app.json`的`window`选项中或页面配置中开启`enablePullDownRefresh`。 + * - 可以通过`wx.startPullDownRefresh`触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。 + * - 当处理完数据刷新后,`wx.stopPullDownRefresh`可以停止当前页面的下拉刷新。 + */ + onPullDownRefresh(): void | Promise<void> + /** 页面上拉触底事件的处理函数 + * + * 监听用户上拉触底事件。 + * - 可以在`app.json`的`window`选项中或页面配置中设置触发距离`onReachBottomDistance`。 + * - 在触发距离内滑动期间,本事件只会被触发一次。 + */ + onReachBottom(): void | Promise<void> + /** 用户点击右上角转发 + * + * 监听用户点击页面内转发按钮(`<button>` 组件 `open-type="share"`)或右上角菜单“转发”按钮的行为,并自定义转发内容。 + * + * **注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮** + * + * 此事件需要 return 一个 Object,用于自定义转发内容 + */ + onShareAppMessage( + /** 分享发起来源参数 */ + options: IShareAppMessageOption + ): ICustomShareContent | void + /** + * 监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容 + * + * 本接口为 Beta 版本,暂只在 Android 平台支持,详见 [分享到朋友圈 (Beta)](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html) + * + * 基础库 2.11.3 开始支持,低版本需做兼容处理。 + */ + onShareTimeline(): ICustomTimelineContent | void + + /** 页面滚动触发事件的处理函数 + * + * 监听用户滑动页面事件。 + */ + onPageScroll( + /** 页面滚动参数 */ + options: IPageScrollOption + ): void | Promise<void> + + /** 当前是 tab 页时,点击 tab 时触发,最低基础库: `1.9.0` */ + onTabItemTap( + /** tab 点击参数 */ + options: ITabItemTapOption + ): void | Promise<void> + + /** 窗口尺寸改变时触发,最低基础库:`2.4.0` */ + onResize( + /** 窗口尺寸参数 */ + options: IResizeOption + ): void | Promise<void> + + /** + * 监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容。 + * 基础库 2.10.3,安卓 7.0.15 版本起支持,iOS 暂不支持 + */ + onAddToFavorites(options: IAddToFavoritesOption): IAddToFavoritesContent + } + interface InstanceProperties { + /** 页面的文件路径 */ + is: string + + /** 到当前页面的路径 */ + route: string + + /** 打开当前页面路径中的参数 */ + options: Record<string, string | undefined> + } + + type DataOption = Record<string, any> + type CustomOption = Record<string, any> + + type InstanceMethods<D extends DataOption> = Component.InstanceMethods<D> + + interface Data<D extends DataOption> { + /** 页面的初始数据 + * + * `data` 是页面第一次渲染使用的**初始数据**。 + * + * 页面加载时,`data` 将会以`JSON`字符串的形式由逻辑层传至渲染层,因此`data`中的数据必须是可以转成`JSON`的类型:字符串,数字,布尔值,对象,数组。 + * + * 渲染层可以通过 `WXML` 对数据进行绑定。 + */ + data: D + } + + interface ICustomShareContent { + /** 转发标题。默认值:当前小程序名称 */ + title?: string + /** 转发路径,必须是以 / 开头的完整路径。默认值:当前页面 path */ + path?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4,最低基础库: `1.5.0`。默认值:使用默认截图 */ + imageUrl?: string + } + + interface ICustomTimelineContent { + /** 自定义标题,即朋友圈列表页上显示的标题。默认值:当前小程序名称 */ + title?: string + /** 自定义页面路径中携带的参数,如 `path?a=1&b=2` 的 “?” 后面部分 默认值:当前页面路径携带的参数 */ + query?: string + /** 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持 PNG 及 JPG。显示图片长宽比是 1:1。默认值:默认使用小程序 Logo*/ + imageUrl?: string + } + + interface IPageScrollOption { + /** 页面在垂直方向已滚动的距离(单位px) */ + scrollTop: number + } + + interface IShareAppMessageOption { + /** 转发事件来源。 + * + * 可选值: + * - `button`:页面内转发按钮; + * - `menu`:右上角转发菜单。 + * + * 最低基础库: `1.2.4` + */ + from: 'button' | 'menu' | string + /** 如果 `from` 值是 `button`,则 `target` 是触发这次转发事件的 `button`,否则为 `undefined` + * + * 最低基础库: `1.2.4` */ + target: any + /** 页面中包含`<web-view>`组件时,返回当前`<web-view>`的url + * + * 最低基础库: `1.6.4` + */ + webViewUrl?: string + } + + interface ITabItemTapOption { + /** 被点击tabItem的序号,从0开始,最低基础库: `1.9.0` */ + index: string + /** 被点击tabItem的页面路径,最低基础库: `1.9.0` */ + pagePath: string + /** 被点击tabItem的按钮文字,最低基础库: `1.9.0` */ + text: string + } + + interface IResizeOption { + size: { + /** 变化后的窗口宽度,单位 px */ + windowWidth: number + /** 变化后的窗口高度,单位 px */ + windowHeight: number + } + } + + interface IAddToFavoritesOption { + /** 页面中包含web-view组件时,返回当前web-view的url */ + webviewUrl?: string + } + + interface IAddToFavoritesContent { + /** 自定义标题,默认值:页面标题或账号名称 */ + title?: string + /** 自定义图片,显示图片长宽比为 1:1,默认值:页面截图 */ + imageUrl?: string + /** 自定义query字段,默认值:当前页面的query */ + query?: string + } + + interface GetCurrentPages { + (): Array<Instance<IAnyObject, IAnyObject>> + } +} + +/** + * 注册小程序中的一个页面。接受一个 `Object` 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。 + */ +declare let Page: WechatMiniprogram.Page.Constructor +/** + * 获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。 + + * __注意:__ + + * - __不要尝试修改页面栈,会导致路由以及页面状态错误。__ + * - 不要在 `App.onLaunch` 的时候调用 `getCurrentPages()`,此时 `page` 还没有生成。 + */ +declare let getCurrentPages: WechatMiniprogram.Page.GetCurrentPages

    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