lib.wx.api.d.ts 1.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753
  1. /*! *****************************************************************************
  2. Copyright (c) 2024 Tencent, Inc. All rights reserved.
  3. Permission is hereby granted, free of charge, to any person obtaining a copy of
  4. this software and associated documentation files (the "Software"), to deal in
  5. the Software without restriction, including without limitation the rights to
  6. use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  7. of the Software, and to permit persons to whom the Software is furnished to do
  8. so, subject to the following conditions:
  9. The above copyright notice and this permission notice shall be included in all
  10. copies or substantial portions of the Software.
  11. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  12. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  13. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  14. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  15. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  16. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  17. SOFTWARE.
  18. ***************************************************************************** */
  19. /// <reference path="./lib.wx.xr-frame.d.ts" />
  20. declare namespace WechatMiniprogram {
  21. interface AccessOption {
  22. /** 要判断是否存在的文件/目录路径 (本地路径) */
  23. path: string
  24. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  25. complete?: AccessCompleteCallback
  26. /** 接口调用失败的回调函数 */
  27. fail?: AccessFailCallback
  28. /** 接口调用成功的回调函数 */
  29. success?: AccessSuccessCallback
  30. }
  31. /** 账号信息 */
  32. interface AccountInfo {
  33. /** 小程序账号信息 */
  34. miniProgram: MiniProgram
  35. /** 插件账号信息(仅在插件中调用时包含这一项) */
  36. plugin: Plugin
  37. }
  38. interface AddArcOption {
  39. /** 终点 */
  40. end: MapPostion
  41. /** 圆弧 id */
  42. id: number
  43. /** 起始点 */
  44. start: MapPostion
  45. /** 夹角角度 */
  46. angle?: number
  47. /** 线的颜色 */
  48. color?: number
  49. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  50. complete?: AddArcCompleteCallback
  51. /** 接口调用失败的回调函数 */
  52. fail?: AddArcFailCallback
  53. /** 途经点 */
  54. pass?: MapPostion
  55. /** 接口调用成功的回调函数 */
  56. success?: AddArcSuccessCallback
  57. /** 线宽 */
  58. width?: number
  59. }
  60. interface AddCardOption {
  61. /** 需要添加的卡券列表 */
  62. cardList: AddCardRequestInfo[]
  63. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  64. complete?: AddCardCompleteCallback
  65. /** 接口调用失败的回调函数 */
  66. fail?: AddCardFailCallback
  67. /** 接口调用成功的回调函数 */
  68. success?: AddCardSuccessCallback
  69. }
  70. /** 需要添加的卡券列表 */
  71. interface AddCardRequestInfo {
  72. /** 卡券的扩展参数。需将 CardExt 对象 JSON 序列化为**字符串**传入 */
  73. cardExt: string
  74. /** 卡券 ID */
  75. cardId: string
  76. }
  77. /** 卡券添加结果列表 */
  78. interface AddCardResponseInfo {
  79. /** 卡券的扩展参数,结构请参考下文 */
  80. cardExt: string
  81. /** 用户领取到卡券的 ID */
  82. cardId: string
  83. /** 加密 code,为用户领取到卡券的code加密后的字符串,解密请参照:[code 解码接口](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V) */
  84. code: string
  85. /** 是否成功 */
  86. isSuccess: boolean
  87. }
  88. interface AddCardSuccessCallbackResult {
  89. /** 卡券添加结果列表 */
  90. cardList: AddCardResponseInfo[]
  91. errMsg: string
  92. }
  93. interface AddCustomLayerOption {
  94. /** 个性化图层id */
  95. layerId: string
  96. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  97. complete?: AddCustomLayerCompleteCallback
  98. /** 接口调用失败的回调函数 */
  99. fail?: AddCustomLayerFailCallback
  100. /** 接口调用成功的回调函数 */
  101. success?: AddCustomLayerSuccessCallback
  102. }
  103. interface AddFileToFavoritesOption {
  104. /** 要收藏的文件地址,必须为本地路径或临时路径 */
  105. filePath: string
  106. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  107. complete?: AddFileToFavoritesCompleteCallback
  108. /** 接口调用失败的回调函数 */
  109. fail?: AddFileToFavoritesFailCallback
  110. /** 自定义文件名,若留空则使用filePath中的文件名 */
  111. fileName?: string
  112. /** 接口调用成功的回调函数 */
  113. success?: AddFileToFavoritesSuccessCallback
  114. }
  115. interface AddGroundOverlayOption {
  116. /** 图片覆盖的经纬度范围 */
  117. bounds: MapBounds
  118. /** 图片图层 id */
  119. id: string
  120. /** 图片路径,支持网络图片、临时路径、代码包路径 */
  121. src: string
  122. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  123. complete?: AddGroundOverlayCompleteCallback
  124. /** 接口调用失败的回调函数 */
  125. fail?: AddGroundOverlayFailCallback
  126. /** 图层透明度 */
  127. opacity?: number
  128. /** 接口调用成功的回调函数 */
  129. success?: AddGroundOverlaySuccessCallback
  130. /** 是否可见 */
  131. visible?: boolean
  132. /** 图层绘制顺序 */
  133. zIndex?: number
  134. }
  135. interface AddMarkersOption {
  136. /** 同传入 map 组件的 marker 属性 */
  137. markers: any[]
  138. /** 是否先清空地图上所有 marker */
  139. clear?: boolean
  140. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  141. complete?: AddMarkersCompleteCallback
  142. /** 接口调用失败的回调函数 */
  143. fail?: AddMarkersFailCallback
  144. /** 接口调用成功的回调函数 */
  145. success?: AddMarkersSuccessCallback
  146. }
  147. interface AddPhoneCalendarOption {
  148. /** 开始时间的 unix 时间戳 */
  149. startTime: number
  150. /** 日历事件标题 */
  151. title: string
  152. /** 是否提醒,默认 true */
  153. alarm?: boolean
  154. /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */
  155. alarmOffset?: number
  156. /** 是否全天事件,默认 false */
  157. allDay?: boolean
  158. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  159. complete?: AddPhoneCalendarCompleteCallback
  160. /** 事件说明 */
  161. description?: string
  162. /** 结束时间的 unix 时间戳,默认与开始时间相同 */
  163. endTime?: string
  164. /** 接口调用失败的回调函数 */
  165. fail?: AddPhoneCalendarFailCallback
  166. /** 事件位置 */
  167. location?: string
  168. /** 接口调用成功的回调函数 */
  169. success?: AddPhoneCalendarSuccessCallback
  170. }
  171. interface AddPhoneContactOption {
  172. /** 名字 */
  173. firstName: string
  174. /** 联系地址城市 */
  175. addressCity?: string
  176. /** 联系地址国家 */
  177. addressCountry?: string
  178. /** 联系地址邮政编码 */
  179. addressPostalCode?: string
  180. /** 联系地址省份 */
  181. addressState?: string
  182. /** 联系地址街道 */
  183. addressStreet?: string
  184. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  185. complete?: AddPhoneContactCompleteCallback
  186. /** 电子邮件 */
  187. email?: string
  188. /** 接口调用失败的回调函数 */
  189. fail?: AddPhoneContactFailCallback
  190. /** 住宅地址城市 */
  191. homeAddressCity?: string
  192. /** 住宅地址国家 */
  193. homeAddressCountry?: string
  194. /** 住宅地址邮政编码 */
  195. homeAddressPostalCode?: string
  196. /** 住宅地址省份 */
  197. homeAddressState?: string
  198. /** 住宅地址街道 */
  199. homeAddressStreet?: string
  200. /** 住宅传真 */
  201. homeFaxNumber?: string
  202. /** 住宅电话 */
  203. homePhoneNumber?: string
  204. /** 公司电话 */
  205. hostNumber?: string
  206. /** 姓氏 */
  207. lastName?: string
  208. /** 中间名 */
  209. middleName?: string
  210. /** 手机号 */
  211. mobilePhoneNumber?: string
  212. /** 昵称 */
  213. nickName?: string
  214. /** 公司 */
  215. organization?: string
  216. /** 头像本地文件路径 */
  217. photoFilePath?: string
  218. /** 备注 */
  219. remark?: string
  220. /** 接口调用成功的回调函数 */
  221. success?: AddPhoneContactSuccessCallback
  222. /** 职位 */
  223. title?: string
  224. /** 网站 */
  225. url?: string
  226. /** 微信号 */
  227. weChatNumber?: string
  228. /** 工作地址城市 */
  229. workAddressCity?: string
  230. /** 工作地址国家 */
  231. workAddressCountry?: string
  232. /** 工作地址邮政编码 */
  233. workAddressPostalCode?: string
  234. /** 工作地址省份 */
  235. workAddressState?: string
  236. /** 工作地址街道 */
  237. workAddressStreet?: string
  238. /** 工作传真 */
  239. workFaxNumber?: string
  240. /** 工作电话 */
  241. workPhoneNumber?: string
  242. }
  243. interface AddPhoneRepeatCalendarOption {
  244. /** 开始时间的 unix 时间戳 (1970年1月1日开始所经过的秒数) */
  245. startTime: number
  246. /** 日历事件标题 */
  247. title: string
  248. /** 是否提醒,默认 true */
  249. alarm?: boolean
  250. /** 提醒提前量,单位秒,默认 0 表示开始时提醒 */
  251. alarmOffset?: number
  252. /** 是否全天事件,默认 false */
  253. allDay?: boolean
  254. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  255. complete?: AddPhoneRepeatCalendarCompleteCallback
  256. /** 事件说明 */
  257. description?: string
  258. /** 结束时间的 unix 时间戳,默认与开始时间相同 */
  259. endTime?: string
  260. /** 接口调用失败的回调函数 */
  261. fail?: AddPhoneRepeatCalendarFailCallback
  262. /** 事件位置 */
  263. location?: string
  264. /** 重复周期结束时间的 unix 时间戳,不填表示一直重复 */
  265. repeatEndTime?: number
  266. /** 重复周期,默认 month 每月重复
  267. *
  268. * 可选值:
  269. * - 'day': 每天重复;
  270. * - 'week': 每周重复;
  271. * - 'month': 每月重复。该模式日期不能大于 28 日;
  272. * - 'year': 每年重复; */
  273. repeatInterval?: 'day' | 'week' | 'month' | 'year'
  274. /** 接口调用成功的回调函数 */
  275. success?: AddPhoneRepeatCalendarSuccessCallback
  276. }
  277. interface AddServiceOption {
  278. /** 描述service的Object */
  279. service: BLEPeripheralService
  280. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  281. complete?: AddServiceCompleteCallback
  282. /** 接口调用失败的回调函数 */
  283. fail?: AddServiceFailCallback
  284. /** 接口调用成功的回调函数 */
  285. success?: AddServiceSuccessCallback
  286. }
  287. interface AddVideoToFavoritesOption {
  288. /** 要收藏的视频地址,必须为本地路径或临时路径 */
  289. videoPath: string
  290. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  291. complete?: AddVideoToFavoritesCompleteCallback
  292. /** 接口调用失败的回调函数 */
  293. fail?: AddVideoToFavoritesFailCallback
  294. /** 接口调用成功的回调函数 */
  295. success?: AddVideoToFavoritesSuccessCallback
  296. /** 缩略图路径,若留空则使用视频首帧 */
  297. thumbPath?: string
  298. }
  299. interface AddVisualLayerOption {
  300. /** 可视化图层id([创建图层指引](https://lbs.qq.com/dev/console/layers/layerEdit)) */
  301. layerId: string
  302. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  303. complete?: AddVisualLayerCompleteCallback
  304. /** 接口调用失败的回调函数 */
  305. fail?: AddVisualLayerFailCallback
  306. /** 刷新周期,单位秒 */
  307. interval?: number
  308. /** 图层透明度 */
  309. opacity?: number
  310. /** 接口调用成功的回调函数 */
  311. success?: AddVisualLayerSuccessCallback
  312. /** 图层绘制顺序 */
  313. zIndex?: number
  314. }
  315. /** 广播自定义参数 */
  316. interface AdvertiseReqObj {
  317. /** 需要基础库: `2.20.1`
  318. *
  319. * 以 beacon 设备形式广播的参数。 */
  320. beacon?: BeaconInfoObj
  321. /** 当前设备是否可连接 */
  322. connectable?: boolean
  323. /** 广播中 deviceName 字段,默认为空 */
  324. deviceName?: string
  325. /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */
  326. manufacturerData?: ManufacturerData[]
  327. /** 要广播的服务 UUID 列表。使用 16/32 位 UUID 时请参考注意事项。 */
  328. serviceUuids?: string[]
  329. }
  330. /** 订单金额信息。 */
  331. interface Amount {
  332. /** 订单总需支付金额,也即是真正下单总金额,单位为分。示例值:1300 */
  333. order_amount: number
  334. /** 货币类型。示例值:CNY
  335. *
  336. * 可选值:
  337. * - 'CNY': 人民币; */
  338. currency?: 'CNY'
  339. /** 订单总计优惠金额,单位为分。示例值:500 */
  340. discount?: number
  341. /** 订单运费,单位为分。示例值:200 */
  342. freight?: number
  343. /** 订单其他费用总金额,单位为分。示例值:600 */
  344. other_fee?: number
  345. /** 订单所有商品的原价总和,单位为分。示例值:1000 */
  346. product_amount?: number
  347. }
  348. /** animationData */
  349. interface AnimationExportResult {
  350. actions: IAnyObject[]
  351. }
  352. /** 动画效果 */
  353. interface AnimationOption {
  354. /** 动画变化时间,单位 ms */
  355. duration?: number
  356. /** 动画变化方式
  357. *
  358. * 可选值:
  359. * - 'linear': 动画从头到尾的速度是相同的;
  360. * - 'easeIn': 动画以低速开始;
  361. * - 'easeOut': 动画以低速结束;
  362. * - 'easeInOut': 动画以低速开始和结束; */
  363. timingFunc?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut'
  364. }
  365. interface AppAuthorizeSetting {
  366. /** 允许微信使用相册的开关(仅 iOS 有效) */
  367. albumAuthorized: 'authorized' | 'denied' | 'not determined'
  368. /** 允许微信使用蓝牙的开关(安卓基础库 3.5.0 以上有效) */
  369. bluetoothAuthorized: 'authorized' | 'denied' | 'not determined'
  370. /** 允许微信使用摄像头的开关 */
  371. cameraAuthorized: 'authorized' | 'denied' | 'not determined'
  372. /** 允许微信使用定位的开关 */
  373. locationAuthorized: 'authorized' | 'denied' | 'not determined'
  374. /** 定位准确度。true 表示模糊定位,false 表示精确定位(仅 iOS 有效) */
  375. locationReducedAccuracy: boolean
  376. /** 允许微信使用麦克风的开关 */
  377. microphoneAuthorized: 'authorized' | 'denied' | 'not determined'
  378. /** 允许微信通知带有提醒的开关(仅 iOS 有效) */
  379. notificationAlertAuthorized: 'authorized' | 'denied' | 'not determined'
  380. /** 允许微信通知的开关 */
  381. notificationAuthorized: 'authorized' | 'denied' | 'not determined'
  382. /** 允许微信通知带有标记的开关(仅 iOS 有效) */
  383. notificationBadgeAuthorized: 'authorized' | 'denied' | 'not determined'
  384. /** 允许微信通知带有声音的开关(仅 iOS 有效) */
  385. notificationSoundAuthorized: 'authorized' | 'denied' | 'not determined'
  386. /** 允许微信读写日历的开关 */
  387. phoneCalendarAuthorized: 'authorized' | 'denied' | 'not determined'
  388. }
  389. interface AppBaseInfo {
  390. /** 客户端基础库版本 */
  391. SDKVersion: string
  392. /** 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */
  393. enableDebug: boolean
  394. /** 微信字体大小缩放比例 */
  395. fontSizeScaleFactor: number
  396. /** 需要基础库: `2.23.4`
  397. *
  398. * 微信字体大小,单位px */
  399. fontSizeSetting: number
  400. /** 当前小程序运行的宿主环境 */
  401. host: AppBaseInfoHost
  402. /** 微信设置的语言 */
  403. language: string
  404. /** 微信版本号 */
  405. version: string
  406. /** 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏)
  407. *
  408. * 可选值:
  409. * - 'dark': 深色主题;
  410. * - 'light': 浅色主题; */
  411. theme?: 'dark' | 'light'
  412. }
  413. /** 当前小程序运行的宿主环境 */
  414. interface AppBaseInfoHost {
  415. /** 宿主 app(第三方App) 对应的 appId (当小程序运行在第三方App环境时才返回) */
  416. appId: string
  417. }
  418. interface AppendFileOption {
  419. /** 要追加的文本或二进制数据 */
  420. data: string | ArrayBuffer
  421. /** 要追加内容的文件路径 (本地路径) */
  422. filePath: string
  423. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  424. complete?: AppendFileCompleteCallback
  425. /** 指定写入文件的字符编码
  426. *
  427. * 可选值:
  428. * - 'ascii': ;
  429. * - 'base64': ;
  430. * - 'binary': ;
  431. * - 'hex': ;
  432. * - 'ucs2': 以小端序读取;
  433. * - 'ucs-2': 以小端序读取;
  434. * - 'utf16le': 以小端序读取;
  435. * - 'utf-16le': 以小端序读取;
  436. * - 'utf-8': ;
  437. * - 'utf8': ;
  438. * - 'latin1': ; */
  439. encoding?:
  440. | 'ascii'
  441. | 'base64'
  442. | 'binary'
  443. | 'hex'
  444. | 'ucs2'
  445. | 'ucs-2'
  446. | 'utf16le'
  447. | 'utf-16le'
  448. | 'utf-8'
  449. | 'utf8'
  450. | 'latin1'
  451. /** 接口调用失败的回调函数 */
  452. fail?: AppendFileFailCallback
  453. /** 接口调用成功的回调函数 */
  454. success?: AppendFileSuccessCallback
  455. }
  456. interface ApplyBlusherStickMakeupOption {
  457. /** 上色程度 0-1 */
  458. alpha: number
  459. blendMode: string
  460. /** 左腮红资源路径 */
  461. path: string
  462. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  463. complete?: ApplyBlusherStickMakeupCompleteCallback
  464. /** 接口调用失败的回调函数 */
  465. fail?: ApplyBlusherStickMakeupFailCallback
  466. /** 接口调用成功的回调函数 */
  467. success?: ApplyBlusherStickMakeupSuccessCallback
  468. }
  469. interface ApplyEyeBrowMakeupOption {
  470. /** 上色程度 0-1 */
  471. alpha: number
  472. blendMode: string
  473. path: string
  474. shrinkRate: number
  475. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  476. complete?: ApplyEyeBrowMakeupCompleteCallback
  477. /** 接口调用失败的回调函数 */
  478. fail?: ApplyEyeBrowMakeupFailCallback
  479. /** 接口调用成功的回调函数 */
  480. success?: ApplyEyeBrowMakeupSuccessCallback
  481. }
  482. interface ApplyEyeShadowMakeupOption {
  483. /** 上色程度 0-1 */
  484. alpha: number
  485. blendMode: string
  486. /** 眼影资源路径 */
  487. path: string
  488. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  489. complete?: ApplyEyeShadowMakeupCompleteCallback
  490. /** 接口调用失败的回调函数 */
  491. fail?: ApplyEyeShadowMakeupFailCallback
  492. /** 细致效果图片资源路径 */
  493. shimmerPosition?: string
  494. /** 细致效果图片资源 md5 */
  495. shimmerPositionMD5?: string
  496. /** 接口调用成功的回调函数 */
  497. success?: ApplyEyeShadowMakeupSuccessCallback
  498. }
  499. interface ApplyFaceContourMakeupOption {
  500. alpha: number
  501. /** 高光资源路径 */
  502. path: string
  503. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  504. complete?: ApplyFaceContourMakeupCompleteCallback
  505. /** 接口调用失败的回调函数 */
  506. fail?: ApplyFaceContourMakeupFailCallback
  507. /** 接口调用成功的回调函数 */
  508. success?: ApplyFaceContourMakeupSuccessCallback
  509. }
  510. interface ApplyFilterOption {
  511. /** 滤镜效果透明度,范围是 0-1 */
  512. alpha: number
  513. /** 滤镜资源路径 */
  514. path: string
  515. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  516. complete?: ApplyFilterCompleteCallback
  517. /** 接口调用失败的回调函数 */
  518. fail?: ApplyFilterFailCallback
  519. /** 滤镜资源 md5 */
  520. md5?: string
  521. /** 接口调用成功的回调函数 */
  522. success?: ApplyFilterSuccessCallback
  523. }
  524. interface ApplyLipStickMakeupOption {
  525. /** 上色程度 0-1 */
  526. alpha: number
  527. blendMode: string
  528. faceModel: string
  529. path: string
  530. shimmerPath: string
  531. shimmerType: string
  532. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  533. complete?: ApplyLipStickMakeupCompleteCallback
  534. /** 接口调用失败的回调函数 */
  535. fail?: ApplyLipStickMakeupFailCallback
  536. /** 接口调用成功的回调函数 */
  537. success?: ApplyLipStickMakeupSuccessCallback
  538. }
  539. interface ApplyStickerOption {
  540. /** 贴纸类型 */
  541. stickers: Sticker[]
  542. /** 贴纸类型 */
  543. type: string
  544. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  545. complete?: ApplyStickerCompleteCallback
  546. /** 接口调用失败的回调函数 */
  547. fail?: ApplyStickerFailCallback
  548. /** 接口调用成功的回调函数 */
  549. success?: ApplyStickerSuccessCallback
  550. templateTransSet?: IAnyObject
  551. }
  552. interface Asset {
  553. src: string
  554. /** 可选值:
  555. * - 'font': 字体;
  556. * - 'image': 图片; */
  557. type: 'font' | 'image'
  558. }
  559. /** 需要基础库: `2.19.0`
  560. *
  561. * AudioBuffer接口表示存在内存里的一段短小的音频资源,利用[WebAudioContext.decodeAudioData](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)方法从一个音频文件构建,或者利用 [WebAudioContext.createBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBuffer.html)从原始数据构建。把音频放入AudioBuffer后,可以传入到一个 AudioBufferSourceNode进行播放。 */
  562. interface AudioBuffer {
  563. /** 返回存储在缓存区的PCM数据的时长(单位为秒) */
  564. duration: number
  565. /** 返回存储在缓存区的PCM数据的采样帧率 */
  566. length: number
  567. /** 储存在缓存区的PCM数据的通道数 */
  568. numberOfChannels: number
  569. /** 存储在缓存区的PCM数据的采样率(单位为sample/s) */
  570. sampleRate: number
  571. /** [AudioBuffer.copyFromChannel()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyFromChannel.html)
  572. *
  573. * 在插件中使用:不支持
  574. *
  575. * 从AudioBuffer的指定频道复制到数组终端。 */
  576. copyFromChannel(): void
  577. /** [AudioBuffer.copyToChannel(Float32Array source, number channelNumber, number startInChannel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.copyToChannel.html)
  578. *
  579. * 在插件中使用:不支持
  580. *
  581. * 从指定数组复制样本到audioBuffer的特定通道
  582. *
  583. * **示例代码**
  584. *
  585. * 示例代码参考AudioBuffer.copyFromChannel */
  586. copyToChannel(
  587. /** 需要复制的源数组 */
  588. source: Float32Array,
  589. /** 需要复制到的目的通道号 */
  590. channelNumber: number,
  591. /** 复制偏移数据量 */
  592. startInChannel: number
  593. ): void
  594. /** [Float32Array AudioBuffer.getChannelData(number channel)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.getChannelData.html)
  595. *
  596. * 在插件中使用:不支持
  597. *
  598. * 返回一个 Float32Array,包含了带有频道的PCM数据,由频道参数定义(有0代表第一个频道) */
  599. getChannelData(
  600. /** 要获取特定通道数据的索引 */
  601. channel: number
  602. ): Float32Array
  603. }
  604. /** 空间音频监听器,代表在一个音频场景内唯一的位置和方向信息。 */
  605. interface AudioListener {
  606. /** 表示监听器的前向系统在同一笛卡尔坐标系中的水平位置,作为位置(位置x,位置和位置和位置)值。 */
  607. forwardX: number
  608. /** 表示听众的前向方向在同一笛卡尔坐标系中作为位置(位置x,位置和位置和位置)值的垂直位置。 */
  609. forwardY: number
  610. /** 表示与position (positionX、positionY和positionZ)值在同一笛卡尔坐标系下的听者前进方向的纵向(前后)位置。 */
  611. forwardZ: number
  612. /** 右手笛卡尔坐标系中X轴的位置。 */
  613. positionX: number
  614. /** 右手笛卡尔坐标系中Y轴的位置。 */
  615. positionY: number
  616. /** 右手笛卡尔坐标系中Z轴的位置。 */
  617. positionZ: number
  618. /** 设置监听器的方向 */
  619. setOrientation: (...args: any[]) => any
  620. /** 设置监听器的位置 */
  621. setPosition: (...args: any[]) => any
  622. /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向前方向的水平位置。 */
  623. upX: number
  624. /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向上方向的水平位置。 */
  625. upY: number
  626. /** 表示在与position (positionX、positionY和positionZ)值相同的笛卡尔坐标系中侦听器向后方向的水平位置。 */
  627. upZ: number
  628. }
  629. /** 需要基础库: `2.19.0`
  630. *
  631. * AudioParam 接口代表音频相关的参数,通常是 AudioNode(例如 GainNode.gain)的参数 */
  632. interface AudioParam {
  633. /** 代表被具体的 AudioNode 创建的 AudioParam 的属性的初始值(只读) */
  634. defaultValue: number
  635. /** 代表参数有效范围的最大可能值(只读) */
  636. maxValue: number
  637. /** 代表参数有效范围的最小可能值(只读) */
  638. minValue: number
  639. /** 当前属性的值(比如音量值或播放倍速值)(可读可写) */
  640. value: number
  641. }
  642. interface AuthPrivateMessageOption {
  643. /** shareTicket。可以从 wx.getEnterOptionsSync 中获取。详情 [shareTicket](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
  644. shareTicket: string
  645. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  646. complete?: AuthPrivateMessageCompleteCallback
  647. /** 接口调用失败的回调函数 */
  648. fail?: AuthPrivateMessageFailCallback
  649. /** 接口调用成功的回调函数 */
  650. success?: AuthPrivateMessageSuccessCallback
  651. }
  652. interface AuthPrivateMessageSuccessCallbackResult {
  653. /** 经过加密的activityId,解密后可得到原始的activityId。若解密后得到的activityId可以与开发者后台的活动id对应上则验证通过,否则表明valid字段不可靠(被篡改) 详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  654. encryptedData: string
  655. /** 错误信息 */
  656. errMsg: string
  657. /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  658. iv: string
  659. /** 验证是否通过 */
  660. valid: boolean
  661. }
  662. /** 用户授权设置信息,详情参考[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) */
  663. interface AuthSetting {
  664. /** 是否授权系统日历,对应接口 [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) */
  665. 'scope.addPhoneCalendar'?: boolean
  666. /** 是否添加通讯录联系人,对应接口 [wx.addPhoneContact](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html) */
  667. 'scope.addPhoneContact'?: boolean
  668. /** 是否授权通讯地址,已取消此项授权,会默认返回true */
  669. 'scope.address'?: boolean
  670. /** 是否授权蓝牙,对应接口 [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) */
  671. 'scope.bluetooth'?: boolean
  672. /** 是否授权摄像头,对应[[camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html)](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件 */
  673. 'scope.camera'?: boolean
  674. /** 是否授权获取发票,已取消此项授权,会默认返回true */
  675. 'scope.invoice'?: boolean
  676. /** 是否授权发票抬头,已取消此项授权,会默认返回true */
  677. 'scope.invoiceTitle'?: boolean
  678. /** 是否授权录音功能,对应接口 [wx.startRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html) */
  679. 'scope.record'?: boolean
  680. /** 是否授权模糊地理位置,对应接口 [wx.getFuzzyLocation](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html) */
  681. 'scope.userFuzzyLocation'?: boolean
  682. /** 是否授权用户信息,对应接口 [wx.getUserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html) */
  683. 'scope.userInfo'?: boolean
  684. /** 是否授权精确地理位置,对应接口 [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) */
  685. 'scope.userLocation'?: boolean
  686. /** 是否授权微信运动步数,对应接口 [wx.getWeRunData](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html) */
  687. 'scope.werun'?: boolean
  688. /** 是否授权保存到相册 [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) */
  689. 'scope.writePhotosAlbum'?: boolean
  690. }
  691. interface AuthorizeForMiniProgramOption {
  692. /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表)
  693. *
  694. * 可选值:
  695. * - 'scope.record': ;
  696. * - 'scope.writePhotosAlbum': ;
  697. * - 'scope.camera': ; */
  698. scope: 'scope.record' | 'scope.writePhotosAlbum' | 'scope.camera'
  699. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  700. complete?: AuthorizeForMiniProgramCompleteCallback
  701. /** 接口调用失败的回调函数 */
  702. fail?: AuthorizeForMiniProgramFailCallback
  703. /** 接口调用成功的回调函数 */
  704. success?: AuthorizeForMiniProgramSuccessCallback
  705. }
  706. interface AuthorizeOption {
  707. /** 需要获取权限的 scope,详见 [scope 列表](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#scope-列表) */
  708. scope: string
  709. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  710. complete?: AuthorizeCompleteCallback
  711. /** 接口调用失败的回调函数 */
  712. fail?: AuthorizeFailCallback
  713. /** 接口调用成功的回调函数 */
  714. success?: AuthorizeSuccessCallback
  715. }
  716. /** 设备特征列表 */
  717. interface BLECharacteristic {
  718. /** 该特征支持的操作类型 */
  719. properties: BLECharacteristicProperties
  720. /** 蓝牙设备特征的 UUID */
  721. uuid: string
  722. }
  723. /** 该特征支持的操作类型 */
  724. interface BLECharacteristicProperties {
  725. /** 该特征是否支持 indicate 操作 */
  726. indicate: boolean
  727. /** 该特征是否支持 notify 操作 */
  728. notify: boolean
  729. /** 该特征是否支持 read 操作 */
  730. read: boolean
  731. /** 该特征是否支持 write 操作 */
  732. write: boolean
  733. /** 该特征是否支持有回复写操作 */
  734. writeDefault: boolean
  735. /** 该特征是否支持无回复写操作 */
  736. writeNoResponse: boolean
  737. }
  738. interface BLEPeripheralServerCloseOption {
  739. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  740. complete?: SocketTaskCloseCompleteCallback
  741. /** 接口调用失败的回调函数 */
  742. fail?: SocketTaskCloseFailCallback
  743. /** 接口调用成功的回调函数 */
  744. success?: SocketTaskCloseSuccessCallback
  745. }
  746. /** 描述service的Object */
  747. interface BLEPeripheralService {
  748. /** characteristics列表 */
  749. characteristics: Characteristic[]
  750. /** 蓝牙服务的 UUID */
  751. uuid: string
  752. }
  753. /** 设备服务列表 */
  754. interface BLEService {
  755. /** 该服务是否为主服务 */
  756. isPrimary: boolean
  757. /** 蓝牙设备服务的 UUID */
  758. uuid: string
  759. }
  760. /** BackgroundAudioManager 实例,可通过 [wx.getBackgroundAudioManager](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioManager.html) 获取。
  761. *
  762. * **示例代码**
  763. *
  764. * ```js
  765. const backgroundAudioManager = wx.getBackgroundAudioManager()
  766. backgroundAudioManager.title = '此时此刻'
  767. backgroundAudioManager.epname = '此时此刻'
  768. backgroundAudioManager.singer = '许巍'
  769. backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
  770. // 设置了 src 之后会自动播放
  771. backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
  772. ``` */
  773. interface BackgroundAudioManager {
  774. /** 需要基础库: `3.4.8`
  775. *
  776. * 音频类型。可设置 "audio" 和 "music" 两种值,默认为 "audio"。不同音频类型对应的播放器样式不一样(实验特性,目前仅iOS和Android端支持) */
  777. audioType: string
  778. /** 音频已缓冲的时间,仅保证当前播放时间点到此时间点内容已缓冲。(只读) */
  779. buffered: number
  780. /** 封面图 URL,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图。 */
  781. coverImgUrl: string
  782. /** 当前音频的播放位置(单位:s),只有在有合法 src 时返回。(只读) */
  783. currentTime: number
  784. /** 当前音频的长度(单位:s),只有在有合法 src 时返回。(只读) */
  785. duration: number
  786. /** 专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
  787. epname: string
  788. /** 当前是否暂停或停止。(只读) */
  789. paused: boolean
  790. /** 需要基础库: `2.11.0`
  791. *
  792. * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */
  793. playbackRate: number
  794. /** 需要基础库: `1.9.94`
  795. *
  796. * 音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频。 */
  797. protocol: string
  798. /** 需要基础库: `3.4.8`
  799. *
  800. * 关联页面路径。设置后,当点击播放器上的小程序跳转链接时,将跳转到这个关联页面路径(实验特性,目前仅Android端支持) */
  801. referrerPath: string
  802. /** 需要基础库: `2.13.0`
  803. *
  804. * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */
  805. referrerPolicy: string
  806. /** 歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
  807. singer: string
  808. /** 音频的数据源([2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID)。默认为空字符串,**当设置了新的 src 时,会自动开始播放**,目前支持的格式有 m4a, aac, mp3, wav。 */
  809. src: string
  810. /** 音频开始播放的位置(单位:s)。 */
  811. startTime: number
  812. /** 音频标题,用于原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值。 */
  813. title: string
  814. /** 页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值。 */
  815. webUrl: string
  816. /** [BackgroundAudioManager.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onCanplay.html)
  817. *
  818. * 在插件中使用:支持
  819. *
  820. * 监听背景音频进入可播放状态事件。 但不保证后面可以流畅播放 */
  821. onCanplay(
  822. /** 背景音频进入可播放状态事件的监听函数 */
  823. listener: OnCanplayCallback
  824. ): void
  825. /** [BackgroundAudioManager.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onEnded.html)
  826. *
  827. * 在插件中使用:支持
  828. *
  829. * 监听背景音频自然播放结束事件 */
  830. onEnded(
  831. /** 背景音频自然播放结束事件的监听函数 */
  832. listener: OnEndedCallback
  833. ): void
  834. /** [BackgroundAudioManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onError.html)
  835. *
  836. * 在插件中使用:支持
  837. *
  838. * 监听背景音频播放错误事件 */
  839. onError(
  840. /** 背景音频播放错误事件的监听函数 */
  841. listener: BackgroundAudioManagerOnErrorCallback
  842. ): void
  843. /** [BackgroundAudioManager.onNext(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onNext.html)
  844. *
  845. * 在插件中使用:支持
  846. *
  847. * 监听用户在系统音乐播放面板点击下一曲事件 */
  848. onNext(
  849. /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */
  850. listener: OnNextCallback
  851. ): void
  852. /** [BackgroundAudioManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPause.html)
  853. *
  854. * 在插件中使用:支持
  855. *
  856. * 监听背景音频暂停事件 */
  857. onPause(
  858. /** 背景音频暂停事件的监听函数 */
  859. listener: OnPauseCallback
  860. ): void
  861. /** [BackgroundAudioManager.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPlay.html)
  862. *
  863. * 在插件中使用:支持
  864. *
  865. * 监听背景音频播放事件 */
  866. onPlay(
  867. /** 背景音频播放事件的监听函数 */
  868. listener: OnPlayCallback
  869. ): void
  870. /** [BackgroundAudioManager.onPrev(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onPrev.html)
  871. *
  872. * 在插件中使用:支持
  873. *
  874. * 监听用户在系统音乐播放面板点击上一曲事件 */
  875. onPrev(
  876. /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */
  877. listener: OnPrevCallback
  878. ): void
  879. /** [BackgroundAudioManager.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeked.html)
  880. *
  881. * 在插件中使用:支持
  882. *
  883. * 监听背景音频完成跳转操作事件 */
  884. onSeeked(
  885. /** 背景音频完成跳转操作事件的监听函数 */
  886. listener: OnSeekedCallback
  887. ): void
  888. /** [BackgroundAudioManager.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onSeeking.html)
  889. *
  890. * 在插件中使用:支持
  891. *
  892. * 监听背景音频开始跳转操作事件 */
  893. onSeeking(
  894. /** 背景音频开始跳转操作事件的监听函数 */
  895. listener: OnSeekingCallback
  896. ): void
  897. /** [BackgroundAudioManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onStop.html)
  898. *
  899. * 在插件中使用:支持
  900. *
  901. * 监听背景音频停止事件 */
  902. onStop(
  903. /** 背景音频停止事件的监听函数 */
  904. listener: InnerAudioContextOnStopCallback
  905. ): void
  906. /** [BackgroundAudioManager.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html)
  907. *
  908. * 在插件中使用:支持
  909. *
  910. * 监听背景音频播放进度更新事件,只有小程序在前台时会回调。 */
  911. onTimeUpdate(
  912. /** 背景音频播放进度更新事件的监听函数 */
  913. listener: OnTimeUpdateCallback
  914. ): void
  915. /** [BackgroundAudioManager.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onWaiting.html)
  916. *
  917. * 在插件中使用:支持
  918. *
  919. * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */
  920. onWaiting(
  921. /** 音频加载中事件的监听函数 */
  922. listener: OnWaitingCallback
  923. ): void
  924. /** [BackgroundAudioManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.pause.html)
  925. *
  926. * 在插件中使用:支持
  927. *
  928. * 暂停音乐 */
  929. pause(): void
  930. /** [BackgroundAudioManager.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.play.html)
  931. *
  932. * 在插件中使用:支持
  933. *
  934. * 播放音乐 */
  935. play(): void
  936. /** [BackgroundAudioManager.seek(number currentTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.seek.html)
  937. *
  938. * 在插件中使用:支持
  939. *
  940. * 跳转到指定位置 */
  941. seek(
  942. /** 跳转的位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */
  943. currentTime: number
  944. ): void
  945. /** [BackgroundAudioManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.stop.html)
  946. *
  947. * 在插件中使用:支持
  948. *
  949. * 停止音乐 */
  950. stop(): void
  951. }
  952. interface BatchGetStorageOption {
  953. /** 本地缓存中指定的 keyList */
  954. keyList: string[]
  955. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  956. complete?: BatchGetStorageCompleteCallback
  957. /** 接口调用失败的回调函数 */
  958. fail?: BatchGetStorageFailCallback
  959. /** 接口调用成功的回调函数 */
  960. success?: BatchGetStorageSuccessCallback
  961. }
  962. interface BatchSetStorageOption {
  963. /** [{ key, value }] */
  964. kvList: any[]
  965. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  966. complete?: BatchSetStorageCompleteCallback
  967. /** 接口调用失败的回调函数 */
  968. fail?: BatchSetStorageFailCallback
  969. /** 接口调用成功的回调函数 */
  970. success?: BatchSetStorageSuccessCallback
  971. }
  972. /** Beacon 设备 */
  973. interface BeaconInfo {
  974. /** Beacon 设备的距离,单位 m。iOS 上,proximity 为 0 时,accuracy 为 -1。 */
  975. accuracy: number
  976. /** Beacon 设备的主 ID */
  977. major: number
  978. /** Beacon 设备的次 ID */
  979. minor: number
  980. /** 表示设备距离的枚举值(仅iOS)
  981. *
  982. * 可选值:
  983. * - 0: 信号太弱不足以计算距离,或非 iOS 设备;
  984. * - 1: 十分近;
  985. * - 2: 比较近;
  986. * - 3: 远; */
  987. proximity: 0 | 1 | 2 | 3
  988. /** 表示设备的信号强度,单位 dBm */
  989. rssi: number
  990. /** Beacon 设备广播的 UUID */
  991. uuid: string
  992. }
  993. /** 需要基础库: `2.20.1`
  994. *
  995. * 以 beacon 设备形式广播的参数。 */
  996. interface BeaconInfoObj {
  997. /** Beacon 设备的主 ID */
  998. major: number
  999. /** Beacon 设备的次 ID */
  1000. minor: number
  1001. /** Beacon 设备广播的 UUID */
  1002. uuid: string
  1003. /** 用于判断距离设备 1 米时 RSSI 大小的参考值 */
  1004. measuredPower?: number
  1005. }
  1006. interface BindWifiOption {
  1007. /** 当前 wifi 网络的 BSSID ,可通过 wx.getConnectedWifi 获取 */
  1008. BSSID: string
  1009. }
  1010. interface BlueToothDevice {
  1011. /** 当前蓝牙设备的信号强度,单位 dBm */
  1012. RSSI: number
  1013. /** 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段。 */
  1014. advertisData: ArrayBuffer
  1015. /** 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 */
  1016. advertisServiceUUIDs: string[]
  1017. /** 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) */
  1018. connectable: boolean
  1019. /** 蓝牙设备 id */
  1020. deviceId: string
  1021. /** 当前蓝牙设备的广播数据段中的 LocalName 数据段 */
  1022. localName: string
  1023. /** 蓝牙设备名称,某些设备可能没有 */
  1024. name: string
  1025. /** 当前蓝牙设备的广播数据段中的 ServiceData 数据段 */
  1026. serviceData: IAnyObject
  1027. }
  1028. /** 搜索到的设备列表 */
  1029. interface BluetoothDeviceInfo {
  1030. /** 用于区分设备的 id */
  1031. deviceId: string
  1032. /** 蓝牙设备名称,某些设备可能没有 */
  1033. name: string
  1034. }
  1035. interface BlurOption {
  1036. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  1037. complete?: BlurCompleteCallback
  1038. /** 接口调用失败的回调函数 */
  1039. fail?: BlurFailCallback
  1040. /** 接口调用成功的回调函数 */
  1041. success?: BlurSuccessCallback
  1042. }
  1043. /** 需要基础库: `2.28.0`
  1044. *
  1045. * 人体检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/body.html)。 */
  1046. interface BodyTrack {
  1047. /** 需要基础库: `2.28.0`
  1048. *
  1049. * 人体检测模式
  1050. *
  1051. * 可选值:
  1052. * - 1: 通过摄像头实时检测;
  1053. * - 2: 静态图片检测; */
  1054. mode: 1 | 2
  1055. }
  1056. interface BoundingClientRectCallbackResult {
  1057. /** 节点的下边界坐标 */
  1058. bottom: number
  1059. /** 节点的 dataset */
  1060. dataset: IAnyObject
  1061. /** 节点的高度 */
  1062. height: number
  1063. /** 节点的 ID */
  1064. id: string
  1065. /** 节点的左边界坐标 */
  1066. left: number
  1067. /** 节点的右边界坐标 */
  1068. right: number
  1069. /** 节点的上边界坐标 */
  1070. top: number
  1071. /** 节点的宽度 */
  1072. width: number
  1073. }
  1074. /** 目标边界 */
  1075. interface BoundingClientRectResult {
  1076. /** 下边界 */
  1077. bottom: number
  1078. /** 高度 */
  1079. height: number
  1080. /** 左边界 */
  1081. left: number
  1082. /** 右边界 */
  1083. right: number
  1084. /** 上边界 */
  1085. top: number
  1086. /** 宽度 */
  1087. width: number
  1088. }
  1089. /** 音频源节点,通过 [WebAudioContext.createBufferSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html)方法获得。
  1090. *
  1091. * **示例代码**
  1092. *
  1093. * ```js
  1094. const source = audioCtx.createBufferSource()
  1095. source.buffer = AudioBuffer
  1096. source.connect(audioCtx.destination)
  1097. source.start()
  1098. ``` */
  1099. interface BufferSourceNode {
  1100. /** [AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html)
  1101. *
  1102. * 是一个 AudioBuffer, 它定义了要播放的音频,当设置它的值为 0 时,它会定义一个静默的单通道。(可读可写) */
  1103. buffer: AudioBuffer
  1104. /** 定义音频是否循环播放(可读可写) */
  1105. loop?: boolean
  1106. /** 定义音频循环播放时,结束播放的位置。单位是秒,默认值是0(可读可写) */
  1107. loopEnd?: number
  1108. /** 定义音频循环播放时,开始播放的位置。单位是秒,默认值是0(可读可写) */
  1109. loopStart?: number
  1110. /** 定义音频播放结束事件回调函数(可读可写) */
  1111. onended?: (...args: any[]) => any
  1112. /** [AudioParam](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioParam.html)
  1113. *
  1114. * 定义音频的播放倍速,数值越大速度越快,默认速度1.0,有效范围为 0 < playbackRate <= 2.0(可读可写) */
  1115. playbackRate?: AudioParam
  1116. /** [BufferSourceNode.connect(AudioNode|[AudioParam](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioParam.html) destination)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/BufferSourceNode.connect.html)
  1117. *
  1118. * 在插件中使用:不支持
  1119. *
  1120. * 连接到一个指定目标。这个指定的目标可能是另一个 AudioNode(从而将音频数据引导到下一个指定节点)或一个AudioParam, 以便上一个节点的输出数据随着时间流逝能自动地对下一个参数值进行改变 */
  1121. connect(
  1122. /** 要建立连接的目标节点 */
  1123. destination: AudioNode | AudioParam
  1124. ): void
  1125. /** [BufferSourceNode.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/BufferSourceNode.disconnect.html)
  1126. *
  1127. * 在插件中使用:不支持
  1128. *
  1129. * 与已连接的目标节点断开连接 */
  1130. disconnect(): void
  1131. /** [BufferSourceNode.start(number when, number offset, number duration)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/BufferSourceNode.start.html)
  1132. *
  1133. * 在插件中使用:不支持
  1134. *
  1135. * 音频源开始播放 */
  1136. start(
  1137. /** 延迟播放的时间,单位是秒。与 AudioContext 使用相同的时间坐标系统。如果 when 小于 AudioContext.currentTime, 或者是 0,声音立即被播放。 默认值是 0 */
  1138. when?: number,
  1139. /** 音频开始播放的位置,单位是秒。默认值是 0 */
  1140. offset?: number,
  1141. /** 音频播放的持续时间,单位是秒。如果这个参数没有被指定,声音播放到自然结束或者使用stop() 方法结束。使用这个参数的功能与调用 start(when, offset) 和调用 stop(when+duration)效果完全相同 */
  1142. duration?: number
  1143. ): void
  1144. /** [BufferSourceNode.stop(number when)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/BufferSourceNode.stop.html)
  1145. *
  1146. * 在插件中使用:不支持
  1147. *
  1148. * 停止播放 */
  1149. stop(
  1150. /** 延迟停止播放的时间,单位是秒。与 AudioContext 使用相同的时间坐标系统。省略此参数、指定值 0 或传递负值会使声音立即停止播放。 */
  1151. when?: number
  1152. ): void
  1153. }
  1154. /** 需要基础库: `2.24.0`
  1155. *
  1156. * 缓存管理器。全局只有唯一实例,一旦被创建出来即表示接入缓存管理器。其有以下几个能力:
  1157. *
  1158. * 1. 在网络通畅时,符合一定规则的用户网络请求(目前只包括普通 wx.request 请求)会被缓存。
  1159. * 2. 在网络通畅时,某些 wx api 调用会被缓存。
  1160. * 3. 进入弱网/离线状态时,会提供事件给用户,用户可以决定是否使用缓存返回。
  1161. * 4. 提供进入和退出弱网/离线状态的事件。
  1162. *
  1163. * > 1. 缓存管理器中涉及的网络请求如无特指,均指普通的 wx.request 异步请求,参数和返回值中均不考虑涉及 ArrayBuffer 或 TypedArray 的情形。
  1164. * > 2. 缓存管理器中的缓存不会占用 storage 空间,但是有大小限制,请勿在非必要的请求上使用缓存。 */
  1165. interface CacheManager {
  1166. /** 全局缓存有效时间 */
  1167. maxAge: number
  1168. /** 当前缓存模式
  1169. *
  1170. * 可选值:
  1171. * - 'weakNetwork': 默认值,弱网/离线使用缓存返回;
  1172. * - 'always': 总是使用缓存返回;
  1173. * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */
  1174. mode: 'weakNetwork' | 'always' | 'none'
  1175. /** 全局 origin */
  1176. origin: string
  1177. /** 当前缓存管理器状态
  1178. *
  1179. * 可选值:
  1180. * - 0: 不使用缓存返回;
  1181. * - 1: 使用缓存返回;
  1182. * - 2: 未知; */
  1183. state: 0 | 1 | 2
  1184. /** [Array.&lt;string&gt; CacheManager.addRules(Object rules)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRules.html)
  1185. *
  1186. * 需要基础库: `2.24.0`
  1187. *
  1188. * 在插件中使用:不支持
  1189. *
  1190. * 批量添加规则,规则写法可参考 [CacheManager.addRule](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)。 */
  1191. addRules(
  1192. /** 规则列表 */
  1193. rules: IAnyObject
  1194. ): string[]
  1195. /** [CacheManager.clearCaches()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearCaches.html)
  1196. *
  1197. * 需要基础库: `2.24.0`
  1198. *
  1199. * 在插件中使用:不支持
  1200. *
  1201. * 清空所有缓存。 */
  1202. clearCaches(): void
  1203. /** [CacheManager.clearRules()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.clearRules.html)
  1204. *
  1205. * 需要基础库: `2.24.0`
  1206. *
  1207. * 在插件中使用:不支持
  1208. *
  1209. * 清空所有规则,同时会删除对应规则下所有缓存。 */
  1210. clearRules(): void
  1211. /** [CacheManager.deleteCache(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCache.html)
  1212. *
  1213. * 需要基础库: `2.24.0`
  1214. *
  1215. * 在插件中使用:不支持
  1216. *
  1217. * 删除缓存。 */
  1218. deleteCache(
  1219. /** 缓存 id */
  1220. id: string
  1221. ): void
  1222. /** [CacheManager.deleteCaches(Array.&lt;string&gt; ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteCaches.html)
  1223. *
  1224. * 需要基础库: `2.24.0`
  1225. *
  1226. * 在插件中使用:不支持
  1227. *
  1228. * 批量删除缓存。 */
  1229. deleteCaches(
  1230. /** 缓存 id 列表 */
  1231. ids: string[]
  1232. ): void
  1233. /** [CacheManager.deleteRule(string id)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRule.html)
  1234. *
  1235. * 需要基础库: `2.24.0`
  1236. *
  1237. * 在插件中使用:不支持
  1238. *
  1239. * 删除规则,同时会删除对应规则下所有缓存。 */
  1240. deleteRule(
  1241. /** 规则 id */
  1242. id: string
  1243. ): void
  1244. /** [CacheManager.deleteRules(Array.&lt;string&gt; ids)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.deleteRules.html)
  1245. *
  1246. * 需要基础库: `2.24.0`
  1247. *
  1248. * 在插件中使用:不支持
  1249. *
  1250. * 批量删除规则,同时会删除对应规则下所有缓存。 */
  1251. deleteRules(
  1252. /** 规则 id 列表 */
  1253. ids: string[]
  1254. ): void
  1255. /** [CacheManager.off(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.off.html)
  1256. *
  1257. * 需要基础库: `2.24.0`
  1258. *
  1259. * 在插件中使用:不支持
  1260. *
  1261. * 取消事件监听。 */
  1262. off(
  1263. /** 事件名 */
  1264. eventName: string,
  1265. /** 事件句柄 */
  1266. handler: (...args: any[]) => any
  1267. ): void
  1268. /** [CacheManager.on(string eventName, function handler)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.on.html)
  1269. *
  1270. * 需要基础库: `2.24.0`
  1271. *
  1272. * 在插件中使用:不支持
  1273. *
  1274. * 监听事件。
  1275. *
  1276. * ****
  1277. *
  1278. * 这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。
  1279. *
  1280. * #### 示例代码
  1281. *
  1282. * ```js
  1283. async function handler(evt) {
  1284. // evt.url - 请求 url
  1285. // evt.data - 请求参数
  1286. // evt.method - 请求方法
  1287. // evt.request - 原始 request 方法,返回一个 promise
  1288. // if (evt.url === '/xxx') {
  1289. // // 如果有些请求仍然希望走到网络,则可以如下处理
  1290. // const res = await evt.request()
  1291. // // res 即为网络请求返回
  1292. // }
  1293. return new Promsie((resolve, reject) => {
  1294. // do sth
  1295. if (data) {
  1296. // 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回
  1297. resolve(data)
  1298. } else {
  1299. // 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回
  1300. reject('no data')
  1301. }
  1302. })
  1303. }
  1304. cacheManager.on('request', handler)
  1305. ``` */
  1306. on(
  1307. /** 事件名
  1308. *
  1309. * 参数 eventName 可选值:
  1310. * - 'request': 发生 wx.request 请求,只在缓存管理器开启阶段会触发;
  1311. * - 'enterWeakNetwork': 进入弱网/离线状态;
  1312. * - 'exitWeakNetwork': 离开弱网/离线状态; */
  1313. eventName: 'request' | 'enterWeakNetwork' | 'exitWeakNetwork',
  1314. /** 事件句柄 */
  1315. handler: (...args: any[]) => any
  1316. ): void
  1317. /** [CacheManager.start()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.start.html)
  1318. *
  1319. * 需要基础库: `2.24.0`
  1320. *
  1321. * 在插件中使用:不支持
  1322. *
  1323. * 开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。 */
  1324. start(): void
  1325. /** [CacheManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.stop.html)
  1326. *
  1327. * 需要基础库: `2.24.0`
  1328. *
  1329. * 在插件中使用:不支持
  1330. *
  1331. * 关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。 */
  1332. stop(): void
  1333. /** [Object CacheManager.match(Object evt)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.match.html)
  1334. *
  1335. * 需要基础库: `2.24.0`
  1336. *
  1337. * 在插件中使用:不支持
  1338. *
  1339. * 匹配命中的缓存规则,一般需要和 request 事件搭配使用。
  1340. *
  1341. * **示例代码**
  1342. *
  1343. * ```js
  1344. function handler(evt) {
  1345. const cache = cacheManager.match(evt)
  1346. // 若有重复监听,则取第一个 handler 返回的 promise
  1347. return new Promise((resolve, reject) => {
  1348. if (cache.data) {
  1349. resolve(cache.data)
  1350. } else {
  1351. reject('no cache')
  1352. }
  1353. })
  1354. }
  1355. cacheManager.on('request', handler)
  1356. ``` */
  1357. match(
  1358. /** request 事件对象 */
  1359. evt: IAnyObject
  1360. ): MatchCache
  1361. /** [string CacheManager.addRule(Object rule)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/cachemanager/CacheManager.addRule.html)
  1362. *
  1363. * 需要基础库: `2.24.0`
  1364. *
  1365. * 在插件中使用:不支持
  1366. *
  1367. * 添加规则。
  1368. *
  1369. * **规则说明**
  1370. *
  1371. * 支持的规则写法有字符串、正则和对象三种:
  1372. *
  1373. * ### 字符串写法
  1374. *
  1375. * 1. `addRule('/abc')`:纯 uri 串。
  1376. * 2. `addRule('GET /abc'):带方法的 uri 串,除了匹配 uri 外,还会匹配请求方法。如例子中必须是 GET 方法请求才会被匹配。
  1377. * 3. `addRule('/abc/:id'):带可变部分的 uri 串,id 可以是任意符合标准的字符串,表示这一段可以动态变化。比如 `/abc/123` 和 `/abc/321` 都会被匹配,而 `/abc/123/xxx` 因为多了一段,就不会被匹配。
  1378. * 4. `addRule('/abc?aa'):带 query 参数的 uri 串,包含 aa 参数,值可以为任意值。比如 `/abc?aa=haha` 会被匹配,但是 `/abc` 就不会被匹配,因为缺少规则中声明的 aa 参数;不过如果请求是 `/abc?aa=haha&bb=123`,虽然多带了 bb 参数,但是因为包含了 aa 参数,所以也可以被匹配。
  1379. * 5. `addRule('/abc?dd=haha'):带 query 参数的 uri 串,包含 dd 参数且值为 haha。比如 `/abc?dd=haha` 和 `/abc?dd=haha&bb=123` 会被匹配,而 `/abc?dd=123` 就不会被匹配,因为规则要求了 dd 参数的值。
  1380. *
  1381. * > 以上写法中的 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。
  1382. *
  1383. * ### 正则写法
  1384. *
  1385. * 1. `addRule(/\/(abc|cba)$/ig)`:直接正则匹配请求的 uri,同时会比对请求 origin 和全局 origin 是否一致。
  1386. * 2. `addRule(/^https:\/\/weixin.qq.com\/(abc|cba)$/ig)`:带有 orign 部分的正则表达式,则只匹配 uri,不再比对 origin。
  1387. *
  1388. * ### 对象写法
  1389. *
  1390. * 使用规则对象,可以更为详细的描述规则内容。(一般使用规则对象,是为了匹配请求参数)
  1391. *
  1392. * #### 规则对象:
  1393. *
  1394. * | 属性名 | 类型 | 默认值 | 备注 |
  1395. * |---|---|---|---|
  1396. * | id | string | | 规则 id,如果不填则会由基础库生成 |
  1397. * | method | string | | 请求方法,可选值 GET/POST/PATCH/PUT/DELETE,如果为空则表示前面提到的所有方法都能被匹配到 |
  1398. * | url | any | 必填 | uri 匹配规则,可参考规则字符串写法和正则写法 |
  1399. * | maxAge | number | 7 * 24 * 60 * 60 * 1000 | 缓存有效时间,单位为 ms,不填则默认取缓存管理器全局的缓存有效时间 |
  1400. * | dataSchema | Array\<DataRule\> | | 匹配请求参数 |
  1401. *
  1402. * 其中,dataSchema 用来匹配对象类型的请求参数(比如 wx.request 的 data),默认可以不填,即不做参数匹配。
  1403. *
  1404. * 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'}}]`。
  1405. *
  1406. * #### DataRule 对象:
  1407. *
  1408. * | 属性名 | 类型 | 默认值 | 备注 |
  1409. * |---|---|---|---|
  1410. * | name | string | | 需要匹配的参数名 |
  1411. * | schema | DataSchema/Array\<DataSchema\> | 需要匹配的参数模式,支持数组,表示该参数值有多种模式 |
  1412. *
  1413. * name 表示要匹配的参数名,schema 为 DataSchema 对象,用来描述该参数的类型和值。
  1414. *
  1415. * 一个 DataRule 对象也可以匹配可能拥有多种类型的参数,所以 schema 也支持为 DataSchema 对象数组。比如上述例子中,希望匹配的 a 参数必须是数值或者字符串,那么可以这么写:`{name: 'a', schema: [{type: 'number'}, {type: 'string'}]}`。
  1416. *
  1417. * #### DataSchema 对象:
  1418. *
  1419. * | 属性名 | 类型 | 默认值 | 备注 |
  1420. * |---|---|---|---|
  1421. * | type | string | | 需要匹配的 data 对象的参数类型,string、number、boolean、null、object、any(表示任意类型),同时支持数组模式(数组模式则在类型后面加 [],如 string[] 表示字符串数组) |
  1422. * | value | string/regexp/function/Array\<DataRule\> | | 需要匹配的 data 对象的参数值,当 type 为基本类型时,可以用 string/regexp 来匹配固定的值,也可以通过 function 来确定值是否匹配,如果传入的 type 是 object,那么表示需要嵌套匹配值是否正确,可以传入 Array<DataRule> |
  1423. *
  1424. * type 参数表示要匹配的参数类型,value 表示要匹配的参数值。其中 value 支持多种写法,不同写法有如下匹配方式:
  1425. *
  1426. * 1. 字符串写法:直接判值的字符串形式是否和给定字符串一样,比如 value 值为 `123`,就要求参数值必须为 123 才能与之匹配。
  1427. * 2. 正则写法:直接判值的字符串形式是否能被正则匹配,比如 value 值为 `/\d+/ig`,就要求参数值必须为数字,如果参数值为 `abc` 则不会被匹配。
  1428. * 3. 函数写法:在匹配时会调用用户传入的函数,交由用户判断是否匹配。
  1429. * 4. DataRule 数组写法:当参数类型为对象时,那么字符串写法和正则写法就无法使用,需要传入 DataRule 数组来进行匹配,即通过嵌套 DataRule 数组的方式来匹配嵌套的对象。
  1430. *
  1431. * ### 示例代码
  1432. *
  1433. * ```js
  1434. const ruleId = cacheManager.addRule({
  1435. id: 'haha-rule',
  1436. method: 'GET',
  1437. url: '/haha',
  1438. maxAge: 123455,
  1439. dataSchema: [
  1440. // data 字段的匹配,默认为空,表示不匹配
  1441. // 类型可以是:string、number、boolean、null、object、any(表示任意类型均可),以及这些类型的数组表示方式
  1442. {name: 'aaa', schema: {type: 'string'}}, // 类型为 string
  1443. {name: 'bbb', schema: [{type: 'number'}, {type: 'string'}]}, // 类型为 number, string
  1444. {name: 'ccc', schema: {type: 'string', value: 'abc'}}, // 值为 abc
  1445. {name: 'ddd', schema: {type: 'string', value: /(abc|cba)/ig}}, // 值符合该正则匹配,如果该值不是字符串类型,则会被尝试转成字符串后再进行比较
  1446. {name: 'ddd', schema: {type: 'string', value: val => val === '123'}}, // 传入函数来校验值
  1447. {name: 'eee', schema: {type: 'object', value: [{ // 类型为对象,则通过嵌套的方式来逐层校验
  1448. name: 'aaa', schema: {type: 'string'},
  1449. // ...
  1450. // 嵌套 dataSchema,同上面的方式一样来匹配嵌套的对象
  1451. }]}},
  1452. {name: 'fff', schema: {type: 'string[]'}}, // 类型为 string 数组
  1453. {name: 'ggg', schema: {type: 'any'}}, // 类型为任意类型
  1454. {name: 'hhh', schema: {type: 'any[]'}}, // 类型为任意类型的数组
  1455. }],
  1456. })
  1457. ```
  1458. *
  1459. * ### 补充说明
  1460. *
  1461. * 用户可以添加多条规则,每条规则都会去解析网络请求,然后判断是否命中规则。假设有多条规则命中,则取第一条命中的规则。
  1462. *
  1463. * ### 缓存覆盖
  1464. *
  1465. * 不同的网络请求也可能命中同一条规则,所以每条规则可能对应多个缓存。每条规则会有一个规则 id,每个缓存会有一个缓存 id,一个规则 id 可能对应多个缓存 id,而缓存管理器的缓存存储是基于缓存 id 标识的,如果两个不同的请求生成了同样的缓存 id,那么后发生的请求结果缓存会覆盖前者。因此使用时需要思考缓存的覆盖情况,目前缓存 id 生成方式如下:
  1466. *
  1467. * 1. 规则使用字符串写法:那么按 method + url + 规则中声明的 query 参数来生成缓存 id。
  1468. *
  1469. * > 需要注意的是这里不使用真实请求中的 query 参数来生成缓存 id,而是使用规则中匹配到的 query 来生成缓存 id。比如规则是 `/abc?aa=123`,请求是 GET 方法的 `/abc?aa=123&bb=123`,那么就会基于 `GET /abc?aa=123` 来生成缓存 id。而规则里没有声明 `bb=123`,所以 bb 参数不会被纳入缓存 id 的生成基准。
  1470. *
  1471. * 2. 规则使用正则写法:那么只按 method + url 生成缓存 id,不考虑 query 参数。
  1472. * 3. 规则使用对象写法:如果规则对象中的 url 是字符串写法,那么按 method + url + 规则中声明的 query 参数 + 规则中 dataSchema 声明的请求参数来生成缓存 id;如果规则对象中的 url 是正则写法,那么按 method + url + 规则中 dataSchema 声明的请求参数来生成缓存 id。
  1473. *
  1474. * > 生成缓存 id 时没有使用请求中完整的 query 参数或者请求参数来作为基准,是考虑到很多请求可能会带上 token 或时间戳等参数。因为此参数存在不确定性,会导致每次请求生成的缓存 id 都不同,进而导致缓存命中率下降,故采取规则中声明的 query 参数和 dataSchema 声明的请求参数来作为生成缓存 id 的基准。 */
  1475. addRule(
  1476. /** 规则 */
  1477. rule: IAnyObject
  1478. ): string
  1479. }
  1480. interface CameraContextSetZoomOption {
  1481. /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。 */
  1482. zoom: number
  1483. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  1484. complete?: SetZoomCompleteCallback
  1485. /** 接口调用失败的回调函数 */
  1486. fail?: SetZoomFailCallback
  1487. /** 接口调用成功的回调函数 */
  1488. success?: CameraContextSetZoomSuccessCallback
  1489. }
  1490. interface CameraContextStartRecordOption {
  1491. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  1492. complete?: StartRecordCompleteCallback
  1493. /** 接口调用失败的回调函数 */
  1494. fail?: StartRecordFailCallback
  1495. /** 需要基础库: `2.22.0`
  1496. *
  1497. * 是否开启镜像 */
  1498. selfieMirror?: boolean
  1499. /** 接口调用成功的回调函数 */
  1500. success?: CameraContextStartRecordSuccessCallback
  1501. /** 需要基础库: `2.22.0`
  1502. *
  1503. * 录制时长上限,单位为秒,最长不能超过 5 分钟 */
  1504. timeout?: number
  1505. /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */
  1506. timeoutCallback?: StartRecordTimeoutCallback
  1507. }
  1508. interface CameraContextStopRecordOption {
  1509. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  1510. complete?: StopRecordCompleteCallback
  1511. /** 启动视频压缩,压缩效果同`chooseVideo` */
  1512. compressed?: boolean
  1513. /** 接口调用失败的回调函数 */
  1514. fail?: StopRecordFailCallback
  1515. /** 接口调用成功的回调函数 */
  1516. success?: CameraContextStopRecordSuccessCallback
  1517. }
  1518. interface CameraFrameListenerStartOption {
  1519. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  1520. complete?: StartCompleteCallback
  1521. /** 接口调用失败的回调函数 */
  1522. fail?: StartFailCallback
  1523. /** 接口调用成功的回调函数 */
  1524. success?: StartSuccessCallback
  1525. /** [Worker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.html)
  1526. *
  1527. * 需要基础库: `2.25.1`
  1528. *
  1529. * 可选参数。如果需要在 iOS ExperimentalWorker 内监听摄像头帧数据,则需要传入对应 Worker 对象。详情 [Worker.getCameraFrameData](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html) */
  1530. worker?: Worker
  1531. }
  1532. /** 需要基础库: `2.7.0`
  1533. *
  1534. * Canvas 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。
  1535. *
  1536. * **示例代码**
  1537. *
  1538. * 2D Canvas 示例
  1539. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/SHfgCmmq7UcM)
  1540. *
  1541. * WebGL 示例
  1542. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/qEGUOqmf7T8z) */
  1543. interface Canvas {
  1544. /** 画布高度 */
  1545. height: number
  1546. /** 画布宽度 */
  1547. width: number
  1548. /** [Canvas.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.cancelAnimationFrame.html)
  1549. *
  1550. * 需要基础库: `2.7.0`
  1551. *
  1552. * 在插件中使用:支持
  1553. *
  1554. * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */
  1555. cancelAnimationFrame(requestID: number): void
  1556. /** [[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)
  1557. *
  1558. * 需要基础库: `2.9.0`
  1559. *
  1560. * 在插件中使用:支持
  1561. *
  1562. * 创建一个 ImageData 对象。仅支持在 2D Canvas 中使用。 */
  1563. createImageData(): ImageData
  1564. /** [[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)
  1565. *
  1566. * 需要基础库: `2.7.0`
  1567. *
  1568. * 在插件中使用:支持
  1569. *
  1570. * 创建一个图片对象。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */
  1571. createImage(): Image
  1572. /** [[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)
  1573. *
  1574. * 需要基础库: `2.11.0`
  1575. *
  1576. * 在插件中使用:支持
  1577. *
  1578. * 创建 Path2D 对象 */
  1579. createPath2D(
  1580. /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) */
  1581. path: Path2D
  1582. ): Path2D
  1583. /** [[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)
  1584. *
  1585. * 需要基础库: `2.7.0`
  1586. *
  1587. * 在插件中使用:支持
  1588. *
  1589. * 该方法返回 Canvas 的绘图上下文
  1590. *
  1591. * ****
  1592. *
  1593. * 支持获取 2D 和 WebGL 绘图上下文 */
  1594. getContext(
  1595. /** 上下文类型
  1596. *
  1597. * 参数 contextType 可选值:
  1598. * - '2d': 2d 绘图上下文; */
  1599. contextType: '2d'
  1600. ): CanvasRenderingContext.CanvasRenderingContext2D
  1601. /** [[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)
  1602. *
  1603. * 需要基础库: `2.7.0`
  1604. *
  1605. * 在插件中使用:支持
  1606. *
  1607. * 该方法返回 Canvas 的绘图上下文
  1608. *
  1609. * ****
  1610. *
  1611. * 支持获取 2D 和 WebGL 绘图上下文 */
  1612. getContext(
  1613. /** 上下文类型
  1614. *
  1615. * 参数 contextType 可选值:
  1616. * - 'webgl': webgl 绘图上下文; */
  1617. contextType: 'webgl'
  1618. ): CanvasRenderingContext.WebGLRenderingContext
  1619. /** [[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)
  1620. *
  1621. * 需要基础库: `2.7.0`
  1622. *
  1623. * 在插件中使用:支持
  1624. *
  1625. * 该方法返回 Canvas 的绘图上下文
  1626. *
  1627. * ****
  1628. *
  1629. * 支持获取 2D 和 WebGL 绘图上下文 */
  1630. getContext(
  1631. /** 上下文类型
  1632. *
  1633. * 参数 contextType 可选值:
  1634. * - 'webgl2': webgl2 绘图上下文; */
  1635. contextType: 'webgl2'
  1636. ): CanvasRenderingContext.WebGL2RenderingContext
  1637. /** [number Canvas.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.requestAnimationFrame.html)
  1638. *
  1639. * 需要基础库: `2.7.0`
  1640. *
  1641. * 在插件中使用:支持
  1642. *
  1643. * 在下次进行重绘时执行。 支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。 */
  1644. requestAnimationFrame(
  1645. /** 执行的 callback */
  1646. callback: (...args: any[]) => any
  1647. ): number
  1648. /** [string Canvas.toDataURL(string type, number encoderOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.toDataURL.html)
  1649. *
  1650. * 需要基础库: `2.11.0`
  1651. *
  1652. * 在插件中使用:支持
  1653. *
  1654. * 返回一个包含图片展示的 data URI 。可以使用 type 参数其类型,默认为 PNG 格式。 */
  1655. toDataURL(
  1656. /** 图片格式,默认为 image/png */
  1657. type: string,
  1658. /** 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。 */
  1659. encoderOptions: number
  1660. ): string
  1661. }
  1662. /** @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) 替换
  1663. *
  1664. * canvas 组件的绘图上下文。CanvasContext 是旧版的接口, 新版 Canvas 2D 接口与 Web 一致。 */
  1665. interface CanvasContext {
  1666. /** 需要基础库: `1.9.90`
  1667. *
  1668. * 填充颜色。用法同 [CanvasContext.setFillStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html)。 */
  1669. fillStyle: string | CanvasGradient
  1670. /** 需要基础库: `1.9.90`
  1671. *
  1672. * 当前字体样式的属性。符合 [CSS font 语法](https://developer.mozilla.org/zh-CN/docs/Web/CSS/font) 的 DOMString 字符串,至少需要提供字体大小和字体族名。默认值为 10px sans-serif。 */
  1673. font: string
  1674. /** 全局画笔透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */
  1675. globalAlpha: number
  1676. /** 需要基础库: `1.9.90`
  1677. *
  1678. * 在绘制新形状时应用的合成操作的类型。目前安卓版本只适用于 `fill` 填充块的合成,用于 `stroke` 线段的合成效果都是 `source-over`。
  1679. *
  1680. * 目前支持的操作有
  1681. * - 安卓:xor, source-over, source-atop, destination-out, lighter, overlay, darken, lighten, hard-light
  1682. * - 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 */
  1683. globalCompositeOperation: string
  1684. /** 需要基础库: `1.9.90`
  1685. *
  1686. * 线条的端点样式。用法同 [CanvasContext.setLineCap()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)。 */
  1687. lineCap: string
  1688. /** 需要基础库: `1.9.90`
  1689. *
  1690. * 虚线偏移量,初始值为0 */
  1691. lineDashOffset: number
  1692. /** 需要基础库: `1.9.90`
  1693. *
  1694. * 线条的交点样式。用法同 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)。
  1695. *
  1696. * 可选值:
  1697. * - 'bevel': 斜角;
  1698. * - 'round': 圆角;
  1699. * - 'miter': 尖角; */
  1700. lineJoin: 'bevel' | 'round' | 'miter'
  1701. /** 需要基础库: `1.9.90`
  1702. *
  1703. * 线条的宽度。用法同 [CanvasContext.setLineWidth()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)。 */
  1704. lineWidth: number
  1705. /** 需要基础库: `1.9.90`
  1706. *
  1707. * 最大斜接长度。用法同 [CanvasContext.setMiterLimit()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)。 */
  1708. miterLimit: number
  1709. /** 需要基础库: `1.9.90`
  1710. *
  1711. * 阴影的模糊级别 */
  1712. shadowBlur: number
  1713. /** 需要基础库: `1.9.90`
  1714. *
  1715. * 阴影的颜色 */
  1716. shadowColor: number
  1717. /** 需要基础库: `1.9.90`
  1718. *
  1719. * 阴影相对于形状在水平方向的偏移 */
  1720. shadowOffsetX: number
  1721. /** 需要基础库: `1.9.90`
  1722. *
  1723. * 阴影相对于形状在竖直方向的偏移 */
  1724. shadowOffsetY: number
  1725. /** 需要基础库: `1.9.90`
  1726. *
  1727. * 边框颜色。用法同 [CanvasContext.setStrokeStyle()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html)。 */
  1728. strokeStyle: string | CanvasGradient
  1729. /** [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)
  1730. *
  1731. * 在插件中使用:支持
  1732. * @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) 替换
  1733. *
  1734. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1735. *
  1736. * 创建一条弧线。
  1737. *
  1738. * - 创建一个圆可以指定起始弧度为 0,终止弧度为 2 * Math.PI。
  1739. * - 用 `stroke` 或者 `fill` 方法来在 `canvas` 中画弧线。
  1740. *
  1741. * **示例代码**
  1742. *
  1743. * ```javascript
  1744. const ctx = wx.createCanvasContext('myCanvas')
  1745. // Draw coordinates
  1746. ctx.arc(100, 75, 50, 0, 2 * Math.PI)
  1747. ctx.setFillStyle('#EEEEEE')
  1748. ctx.fill()
  1749. ctx.beginPath()
  1750. ctx.moveTo(40, 75)
  1751. ctx.lineTo(160, 75)
  1752. ctx.moveTo(100, 15)
  1753. ctx.lineTo(100, 135)
  1754. ctx.setStrokeStyle('#AAAAAA')
  1755. ctx.stroke()
  1756. ctx.setFontSize(12)
  1757. ctx.setFillStyle('black')
  1758. ctx.fillText('0', 165, 78)
  1759. ctx.fillText('0.5*PI', 83, 145)
  1760. ctx.fillText('1*PI', 15, 78)
  1761. ctx.fillText('1.5*PI', 83, 10)
  1762. // Draw points
  1763. ctx.beginPath()
  1764. ctx.arc(100, 75, 2, 0, 2 * Math.PI)
  1765. ctx.setFillStyle('lightgreen')
  1766. ctx.fill()
  1767. ctx.beginPath()
  1768. ctx.arc(100, 25, 2, 0, 2 * Math.PI)
  1769. ctx.setFillStyle('blue')
  1770. ctx.fill()
  1771. ctx.beginPath()
  1772. ctx.arc(150, 75, 2, 0, 2 * Math.PI)
  1773. ctx.setFillStyle('red')
  1774. ctx.fill()
  1775. // Draw arc
  1776. ctx.beginPath()
  1777. ctx.arc(100, 75, 50, 0, 1.5 * Math.PI)
  1778. ctx.setStrokeStyle('#333333')
  1779. ctx.stroke()
  1780. ctx.draw()
  1781. ```
  1782. *
  1783. * ![](@program/dev/image/canvas/arc.png)
  1784. *
  1785. * 针对 arc(100, 75, 50, 0, 1.5 * Math.PI)的三个关键坐标如下:
  1786. *
  1787. * - 绿色: 圆心 (100, 75)
  1788. * - 红色: 起始弧度 (0)
  1789. * - 蓝色: 终止弧度 (1.5 * Math.PI) */
  1790. arc(
  1791. /** 圆心的 x 坐标 */
  1792. x: number,
  1793. /** 圆心的 y 坐标 */
  1794. y: number,
  1795. /** 圆的半径 */
  1796. r: number,
  1797. /** 起始弧度,单位弧度(在3点钟方向) */
  1798. sAngle: number,
  1799. /** 终止弧度 */
  1800. eAngle: number,
  1801. /** 弧度的方向是否是逆时针 */
  1802. counterclockwise?: boolean
  1803. ): void
  1804. /** [CanvasContext.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.arcTo.html)
  1805. *
  1806. * 需要基础库: `1.9.90`
  1807. *
  1808. * 在插件中使用:支持
  1809. * @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) 替换
  1810. *
  1811. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1812. *
  1813. * 根据控制点和半径绘制圆弧路径。 */
  1814. arcTo(
  1815. /** 第一个控制点的 x 轴坐标 */
  1816. x1: number,
  1817. /** 第一个控制点的 y 轴坐标 */
  1818. y1: number,
  1819. /** 第二个控制点的 x 轴坐标 */
  1820. x2: number,
  1821. /** 第二个控制点的 y 轴坐标 */
  1822. y2: number,
  1823. /** 圆弧的半径 */
  1824. radius: number
  1825. ): void
  1826. /** [CanvasContext.beginPath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.beginPath.html)
  1827. *
  1828. * 在插件中使用:支持
  1829. * @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) 替换
  1830. *
  1831. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1832. *
  1833. * 开始创建一个路径。需要调用 `fill` 或者 `stroke` 才会使用路径进行填充或描边
  1834. *
  1835. * - 在最开始的时候相当于调用了一次 `beginPath`。
  1836. * - 同一个路径内的多次 `setFillStyle`、`setStrokeStyle`、`setLineWidth`等设置,以最后一次设置为准。
  1837. *
  1838. * **示例代码**
  1839. *
  1840. * ```javascript
  1841. const ctx = wx.createCanvasContext('myCanvas')
  1842. // begin path
  1843. ctx.rect(10, 10, 100, 30)
  1844. ctx.setFillStyle('yellow')
  1845. ctx.fill()
  1846. // begin another path
  1847. ctx.beginPath()
  1848. ctx.rect(10, 40, 100, 30)
  1849. // only fill this rect, not in current path
  1850. ctx.setFillStyle('blue')
  1851. ctx.fillRect(10, 70, 100, 30)
  1852. ctx.rect(10, 100, 100, 30)
  1853. // it will fill current path
  1854. ctx.setFillStyle('red')
  1855. ctx.fill()
  1856. ctx.draw()
  1857. ```
  1858. *
  1859. * ![](@program/dev/image/canvas/fill-path.png) */
  1860. beginPath(): void
  1861. /** [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)
  1862. *
  1863. * 在插件中使用:支持
  1864. * @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) 替换
  1865. *
  1866. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1867. *
  1868. * 创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。
  1869. *
  1870. * **示例代码**
  1871. *
  1872. * ```javascript
  1873. const ctx = wx.createCanvasContext('myCanvas')
  1874. // Draw points
  1875. ctx.beginPath()
  1876. ctx.arc(20, 20, 2, 0, 2 * Math.PI)
  1877. ctx.setFillStyle('red')
  1878. ctx.fill()
  1879. ctx.beginPath()
  1880. ctx.arc(200, 20, 2, 0, 2 * Math.PI)
  1881. ctx.setFillStyle('lightgreen')
  1882. ctx.fill()
  1883. ctx.beginPath()
  1884. ctx.arc(20, 100, 2, 0, 2 * Math.PI)
  1885. ctx.arc(200, 100, 2, 0, 2 * Math.PI)
  1886. ctx.setFillStyle('blue')
  1887. ctx.fill()
  1888. ctx.setFillStyle('black')
  1889. ctx.setFontSize(12)
  1890. // Draw guides
  1891. ctx.beginPath()
  1892. ctx.moveTo(20, 20)
  1893. ctx.lineTo(20, 100)
  1894. ctx.lineTo(150, 75)
  1895. ctx.moveTo(200, 20)
  1896. ctx.lineTo(200, 100)
  1897. ctx.lineTo(70, 75)
  1898. ctx.setStrokeStyle('#AAAAAA')
  1899. ctx.stroke()
  1900. // Draw quadratic curve
  1901. ctx.beginPath()
  1902. ctx.moveTo(20, 20)
  1903. ctx.bezierCurveTo(20, 100, 200, 100, 200, 20)
  1904. ctx.setStrokeStyle('black')
  1905. ctx.stroke()
  1906. ctx.draw()
  1907. ```
  1908. *
  1909. * ![](@program/dev/image/canvas/bezier-curve.png)
  1910. *
  1911. * 针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下:
  1912. *
  1913. * - 红色:起始点(20, 20)
  1914. * - 蓝色:两个控制点(20, 100) (200, 100)
  1915. * - 绿色:终止点(200, 20) */
  1916. bezierCurveTo(
  1917. /** 第一个贝塞尔控制点的 x 坐标 */
  1918. cp1x: number,
  1919. /** 第一个贝塞尔控制点的 y 坐标 */
  1920. cp1y: number,
  1921. /** 第二个贝塞尔控制点的 x 坐标 */
  1922. cp2x: number,
  1923. /** 第二个贝塞尔控制点的 y 坐标 */
  1924. cp2y: number,
  1925. /** 结束点的 x 坐标 */
  1926. x: number,
  1927. /** 结束点的 y 坐标 */
  1928. y: number
  1929. ): void
  1930. /** [CanvasContext.clearRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clearRect.html)
  1931. *
  1932. * 在插件中使用:支持
  1933. * @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) 替换
  1934. *
  1935. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1936. *
  1937. * 清除画布上在该矩形区域内的内容
  1938. *
  1939. * **示例代码**
  1940. *
  1941. * clearRect 并非画一个白色的矩形在地址区域,而是清空,为了有直观感受,对 canvas 加了一层背景色。
  1942. * ```html
  1943. * <canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/>
  1944. * ```
  1945. * ```javascript
  1946. const ctx = wx.createCanvasContext('myCanvas')
  1947. ctx.setFillStyle('red')
  1948. ctx.fillRect(0, 0, 150, 200)
  1949. ctx.setFillStyle('blue')
  1950. ctx.fillRect(150, 0, 150, 200)
  1951. ctx.clearRect(10, 10, 150, 75)
  1952. ctx.draw()
  1953. ```
  1954. * ![](@program/dev/image/canvas/clear-rect.png) */
  1955. clearRect(
  1956. /** 矩形路径左上角的横坐标 */
  1957. x: number,
  1958. /** 矩形路径左上角的纵坐标 */
  1959. y: number,
  1960. /** 矩形路径的宽度 */
  1961. width: number,
  1962. /** 矩形路径的高度 */
  1963. height: number
  1964. ): void
  1965. /** [CanvasContext.clip()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.clip.html)
  1966. *
  1967. * 需要基础库: `1.6.0`
  1968. *
  1969. * 在插件中使用:支持
  1970. * @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) 替换
  1971. *
  1972. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  1973. *
  1974. * 从原始画布中剪切任意形状和尺寸。一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内(不能访问画布上的其他区域)。可以在使用 `clip` 方法前通过使用 `save` 方法对当前画布区域进行保存,并在以后的任意时间通过`restore`方法对其进行恢复。
  1975. *
  1976. * **示例代码**
  1977. *
  1978. * ```javascript
  1979. const ctx = wx.createCanvasContext('myCanvas')
  1980. wx.downloadFile({
  1981. url: 'http://is5.mzstatic.com/image/thumb/Purple128/v4/75/3b/90/753b907c-b7fb-5877-215a-759bd73691a4/source/50x50bb.jpg',
  1982. success: function(res) {
  1983. ctx.save()
  1984. ctx.beginPath()
  1985. ctx.arc(50, 50, 25, 0, 2*Math.PI)
  1986. ctx.clip()
  1987. ctx.drawImage(res.tempFilePath, 25, 25)
  1988. ctx.restore()
  1989. ctx.draw()
  1990. }
  1991. })
  1992. ```
  1993. * ![](@program/dev/image/canvas/clip.png) */
  1994. clip(): void
  1995. /** [CanvasContext.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.closePath.html)
  1996. *
  1997. * 在插件中使用:支持
  1998. * @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) 替换
  1999. *
  2000. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2001. *
  2002. * 关闭一个路径。会连接起点和终点。如果关闭路径后没有调用 `fill` 或者 `stroke` 并开启了新的路径,那之前的路径将不会被渲染。
  2003. *
  2004. * **示例代码**
  2005. *
  2006. * ```javascript
  2007. const ctx = wx.createCanvasContext('myCanvas')
  2008. ctx.moveTo(10, 10)
  2009. ctx.lineTo(100, 10)
  2010. ctx.lineTo(100, 100)
  2011. ctx.closePath()
  2012. ctx.stroke()
  2013. ctx.draw()
  2014. ```
  2015. * ![](@program/dev/image/canvas/close-line.png)
  2016. *
  2017. * ```javascript
  2018. const ctx = wx.createCanvasContext('myCanvas')
  2019. // begin path
  2020. ctx.rect(10, 10, 100, 30)
  2021. ctx.closePath()
  2022. // begin another path
  2023. ctx.beginPath()
  2024. ctx.rect(10, 40, 100, 30)
  2025. // only fill this rect, not in current path
  2026. ctx.setFillStyle('blue')
  2027. ctx.fillRect(10, 70, 100, 30)
  2028. ctx.rect(10, 100, 100, 30)
  2029. // it will fill current path
  2030. ctx.setFillStyle('red')
  2031. ctx.fill()
  2032. ctx.draw()
  2033. ```
  2034. *
  2035. * ![](@program/dev/image/canvas/close-path.png) */
  2036. closePath(): void
  2037. /** [CanvasContext.createPattern(string image, string repetition)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.createPattern.html)
  2038. *
  2039. * 需要基础库: `1.9.90`
  2040. *
  2041. * 在插件中使用:支持
  2042. * @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) 替换
  2043. *
  2044. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2045. *
  2046. * 对指定的图像创建模式的方法,可在指定的方向上重复元图像 */
  2047. createPattern(
  2048. /** 重复的图像源,支持代码包路径和本地临时路径 (本地路径) */
  2049. image: string,
  2050. /** 如何重复图像
  2051. *
  2052. * 参数 repetition 可选值:
  2053. * - 'repeat': 水平竖直方向都重复;
  2054. * - 'repeat-x': 水平方向重复;
  2055. * - 'repeat-y': 竖直方向重复;
  2056. * - 'no-repeat': 不重复; */
  2057. repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'
  2058. ): void
  2059. /** [CanvasContext.draw(boolean reserve, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.draw.html)
  2060. *
  2061. * 在插件中使用:支持
  2062. * @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) 替换
  2063. *
  2064. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2065. *
  2066. * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
  2067. *
  2068. * **示例代码**
  2069. *
  2070. * 第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle 'red' 也变成了默认的 'black'。
  2071. *
  2072. * ```javascript
  2073. const ctx = wx.createCanvasContext('myCanvas')
  2074. ctx.setFillStyle('red')
  2075. ctx.fillRect(10, 10, 150, 100)
  2076. ctx.draw()
  2077. ctx.fillRect(50, 50, 150, 100)
  2078. ctx.draw(true)
  2079. ```
  2080. * ![](@program/dev/image/canvas/reserve.png)
  2081. *
  2082. * **示例代码**
  2083. *
  2084. * 第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle 'red'。
  2085. *
  2086. * ```javascript
  2087. const ctx = wx.createCanvasContext('myCanvas')
  2088. ctx.setFillStyle('red')
  2089. ctx.fillRect(10, 10, 150, 100)
  2090. ctx.draw()
  2091. ctx.fillRect(50, 50, 150, 100)
  2092. ctx.draw()
  2093. ```
  2094. * ![](@program/dev/image/canvas/un-reserve.png) */
  2095. draw(
  2096. /** 本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。 */
  2097. reserve?: boolean,
  2098. /** 绘制完成后执行的回调函数 */
  2099. callback?: (...args: any[]) => any
  2100. ): void
  2101. /** [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)
  2102. *
  2103. * 在插件中使用:支持
  2104. * @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) 替换
  2105. *
  2106. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2107. *
  2108. * 绘制图像到画布
  2109. *
  2110. * **示例代码**
  2111. *
  2112. * 有三个版本的写法:
  2113. *
  2114. * - drawImage(imageResource, dx, dy)
  2115. * - drawImage(imageResource, dx, dy, dWidth, dHeight)
  2116. * - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
  2117. *
  2118. * ```javascript
  2119. const ctx = wx.createCanvasContext('myCanvas')
  2120. wx.chooseImage({
  2121. success: function(res){
  2122. ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
  2123. ctx.draw()
  2124. }
  2125. })
  2126. ```
  2127. * ![](@program/dev/image/canvas/draw-image.png) */
  2128. drawImage(
  2129. /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
  2130. imageResource: string,
  2131. /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
  2132. dx: number,
  2133. /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
  2134. dy: number
  2135. ): void
  2136. /** [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)
  2137. *
  2138. * 在插件中使用:支持
  2139. * @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) 替换
  2140. *
  2141. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2142. *
  2143. * 绘制图像到画布
  2144. *
  2145. * **示例代码**
  2146. *
  2147. * 有三个版本的写法:
  2148. *
  2149. * - drawImage(imageResource, dx, dy)
  2150. * - drawImage(imageResource, dx, dy, dWidth, dHeight)
  2151. * - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
  2152. *
  2153. * ```javascript
  2154. const ctx = wx.createCanvasContext('myCanvas')
  2155. wx.chooseImage({
  2156. success: function(res){
  2157. ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
  2158. ctx.draw()
  2159. }
  2160. })
  2161. ```
  2162. * ![](@program/dev/image/canvas/draw-image.png) */
  2163. drawImage(
  2164. /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
  2165. imageResource: string,
  2166. /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
  2167. dx: number,
  2168. /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
  2169. dy: number,
  2170. /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */
  2171. dWidth: number,
  2172. /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */
  2173. dHeight: number
  2174. ): void
  2175. /** [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)
  2176. *
  2177. * 在插件中使用:支持
  2178. * @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) 替换
  2179. *
  2180. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2181. *
  2182. * 绘制图像到画布
  2183. *
  2184. * **示例代码**
  2185. *
  2186. * 有三个版本的写法:
  2187. *
  2188. * - drawImage(imageResource, dx, dy)
  2189. * - drawImage(imageResource, dx, dy, dWidth, dHeight)
  2190. * - drawImage(imageResource, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) 从 1.9.0 起支持
  2191. *
  2192. * ```javascript
  2193. const ctx = wx.createCanvasContext('myCanvas')
  2194. wx.chooseImage({
  2195. success: function(res){
  2196. ctx.drawImage(res.tempFilePaths[0], 0, 0, 150, 100)
  2197. ctx.draw()
  2198. }
  2199. })
  2200. ```
  2201. * ![](@program/dev/image/canvas/draw-image.png) */
  2202. drawImage(
  2203. /** 所要绘制的图片资源(网络图片要通过 getImageInfo / downloadFile 先下载) */
  2204. imageResource: string,
  2205. /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 x 坐标 */
  2206. sx: number,
  2207. /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的左上角 y 坐标 */
  2208. sy: number,
  2209. /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的宽度 */
  2210. sWidth: number,
  2211. /** 需要绘制到画布中的,imageResource的矩形(裁剪)选择框的高度 */
  2212. sHeight: number,
  2213. /** imageResource的左上角在目标 canvas 上 x 轴的位置 */
  2214. dx: number,
  2215. /** imageResource的左上角在目标 canvas 上 y 轴的位置 */
  2216. dy: number,
  2217. /** 在目标画布上绘制imageResource的宽度,允许对绘制的imageResource进行缩放 */
  2218. dWidth: number,
  2219. /** 在目标画布上绘制imageResource的高度,允许对绘制的imageResource进行缩放 */
  2220. dHeight: number
  2221. ): void
  2222. /** [CanvasContext.fill()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fill.html)
  2223. *
  2224. * 在插件中使用:支持
  2225. * @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) 替换
  2226. *
  2227. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2228. *
  2229. * 对当前路径中的内容进行填充。默认的填充色为黑色。
  2230. *
  2231. * **示例代码**
  2232. *
  2233. * 如果当前路径没有闭合,fill() 方法会将起点和终点进行连接,然后填充。
  2234. *
  2235. * ```javascript
  2236. const ctx = wx.createCanvasContext('myCanvas')
  2237. ctx.moveTo(10, 10)
  2238. ctx.lineTo(100, 10)
  2239. ctx.lineTo(100, 100)
  2240. ctx.fill()
  2241. ctx.draw()
  2242. ```
  2243. *
  2244. * fill() 填充的的路径是从 beginPath() 开始计算,但是不会将 fillRect() 包含进去。
  2245. *
  2246. * ![](@program/dev/image/canvas/fill-line.png)
  2247. *
  2248. * ```javascript
  2249. const ctx = wx.createCanvasContext('myCanvas')
  2250. // begin path
  2251. ctx.rect(10, 10, 100, 30)
  2252. ctx.setFillStyle('yellow')
  2253. ctx.fill()
  2254. // begin another path
  2255. ctx.beginPath()
  2256. ctx.rect(10, 40, 100, 30)
  2257. // only fill this rect, not in current path
  2258. ctx.setFillStyle('blue')
  2259. ctx.fillRect(10, 70, 100, 30)
  2260. ctx.rect(10, 100, 100, 30)
  2261. // it will fill current path
  2262. ctx.setFillStyle('red')
  2263. ctx.fill()
  2264. ctx.draw()
  2265. ```
  2266. *
  2267. * ![](@program/dev/image/canvas/fill-path.png) */
  2268. fill(): void
  2269. /** [CanvasContext.fillRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillRect.html)
  2270. *
  2271. * 在插件中使用:支持
  2272. * @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) 替换
  2273. *
  2274. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2275. *
  2276. * 填充一个矩形。用 [`setFillStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFillStyle.html) 设置矩形的填充色,如果没设置默认是黑色。
  2277. *
  2278. * **示例代码**
  2279. *
  2280. * ```javascript
  2281. const ctx = wx.createCanvasContext('myCanvas')
  2282. ctx.setFillStyle('red')
  2283. ctx.fillRect(10, 10, 150, 75)
  2284. ctx.draw()
  2285. ```
  2286. * ![](@program/dev/image/canvas/fill-rect.png) */
  2287. fillRect(
  2288. /** 矩形路径左上角的横坐标 */
  2289. x: number,
  2290. /** 矩形路径左上角的纵坐标 */
  2291. y: number,
  2292. /** 矩形路径的宽度 */
  2293. width: number,
  2294. /** 矩形路径的高度 */
  2295. height: number
  2296. ): void
  2297. /** [CanvasContext.fillText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.fillText.html)
  2298. *
  2299. * 在插件中使用:支持
  2300. * @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) 替换
  2301. *
  2302. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2303. *
  2304. * 在画布上绘制被填充的文本
  2305. *
  2306. * **示例代码**
  2307. *
  2308. * ```javascript
  2309. const ctx = wx.createCanvasContext('myCanvas')
  2310. ctx.setFontSize(20)
  2311. ctx.fillText('Hello', 20, 20)
  2312. ctx.fillText('MINA', 100, 100)
  2313. ctx.draw()
  2314. ```
  2315. * ![](@program/dev/image/canvas/text.png) */
  2316. fillText(
  2317. /** 在画布上输出的文本 */
  2318. text: string,
  2319. /** 绘制文本的左上角 x 坐标位置 */
  2320. x: number,
  2321. /** 绘制文本的左上角 y 坐标位置 */
  2322. y: number,
  2323. /** 需要绘制的最大宽度,可选 */
  2324. maxWidth?: number
  2325. ): void
  2326. /** [CanvasContext.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.lineTo.html)
  2327. *
  2328. * 在插件中使用:支持
  2329. * @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) 替换
  2330. *
  2331. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2332. *
  2333. * 增加一个新点,然后创建一条从上次指定点到目标点的线。用 `stroke` 方法来画线条
  2334. *
  2335. * **示例代码**
  2336. *
  2337. * ```javascript
  2338. const ctx = wx.createCanvasContext('myCanvas')
  2339. ctx.moveTo(10, 10)
  2340. ctx.rect(10, 10, 100, 50)
  2341. ctx.lineTo(110, 60)
  2342. ctx.stroke()
  2343. ctx.draw()
  2344. ```
  2345. * ![](@program/dev/image/canvas/line-to.png) */
  2346. lineTo(
  2347. /** 目标位置的 x 坐标 */
  2348. x: number,
  2349. /** 目标位置的 y 坐标 */
  2350. y: number
  2351. ): void
  2352. /** [CanvasContext.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.moveTo.html)
  2353. *
  2354. * 在插件中使用:支持
  2355. * @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) 替换
  2356. *
  2357. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2358. *
  2359. * 把路径移动到画布中的指定点,不创建线条。用 `stroke` 方法来画线条
  2360. *
  2361. * **示例代码**
  2362. *
  2363. * ```javascript
  2364. const ctx = wx.createCanvasContext('myCanvas')
  2365. ctx.moveTo(10, 10)
  2366. ctx.lineTo(100, 10)
  2367. ctx.moveTo(10, 50)
  2368. ctx.lineTo(100, 50)
  2369. ctx.stroke()
  2370. ctx.draw()
  2371. ```
  2372. * ![](@program/dev/image/canvas/move-to.png) */
  2373. moveTo(
  2374. /** 目标位置的 x 坐标 */
  2375. x: number,
  2376. /** 目标位置的 y 坐标 */
  2377. y: number
  2378. ): void
  2379. /** [CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.quadraticCurveTo.html)
  2380. *
  2381. * 在插件中使用:支持
  2382. * @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) 替换
  2383. *
  2384. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2385. *
  2386. * 创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。
  2387. *
  2388. * **示例代码**
  2389. *
  2390. * ```javascript
  2391. const ctx = wx.createCanvasContext('myCanvas')
  2392. // Draw points
  2393. ctx.beginPath()
  2394. ctx.arc(20, 20, 2, 0, 2 * Math.PI)
  2395. ctx.setFillStyle('red')
  2396. ctx.fill()
  2397. ctx.beginPath()
  2398. ctx.arc(200, 20, 2, 0, 2 * Math.PI)
  2399. ctx.setFillStyle('lightgreen')
  2400. ctx.fill()
  2401. ctx.beginPath()
  2402. ctx.arc(20, 100, 2, 0, 2 * Math.PI)
  2403. ctx.setFillStyle('blue')
  2404. ctx.fill()
  2405. ctx.setFillStyle('black')
  2406. ctx.setFontSize(12)
  2407. // Draw guides
  2408. ctx.beginPath()
  2409. ctx.moveTo(20, 20)
  2410. ctx.lineTo(20, 100)
  2411. ctx.lineTo(200, 20)
  2412. ctx.setStrokeStyle('#AAAAAA')
  2413. ctx.stroke()
  2414. // Draw quadratic curve
  2415. ctx.beginPath()
  2416. ctx.moveTo(20, 20)
  2417. ctx.quadraticCurveTo(20, 100, 200, 20)
  2418. ctx.setStrokeStyle('black')
  2419. ctx.stroke()
  2420. ctx.draw()
  2421. ```
  2422. *
  2423. * ![](@program/dev/image/canvas/quadratic-curve-to.png)
  2424. *
  2425. * 针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下:
  2426. *
  2427. * - 红色:起始点(20, 20)
  2428. * - 蓝色:控制点(20, 100)
  2429. * - 绿色:终止点(200, 20) */
  2430. quadraticCurveTo(
  2431. /** 贝塞尔控制点的 x 坐标 */
  2432. cpx: number,
  2433. /** 贝塞尔控制点的 y 坐标 */
  2434. cpy: number,
  2435. /** 结束点的 x 坐标 */
  2436. x: number,
  2437. /** 结束点的 y 坐标 */
  2438. y: number
  2439. ): void
  2440. /** [CanvasContext.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rect.html)
  2441. *
  2442. * 在插件中使用:支持
  2443. * @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) 替换
  2444. *
  2445. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2446. *
  2447. * 创建一个矩形路径。需要用 [`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` 中
  2448. *
  2449. * **示例代码**
  2450. *
  2451. * ```javascript
  2452. const ctx = wx.createCanvasContext('myCanvas')
  2453. ctx.rect(10, 10, 150, 75)
  2454. ctx.setFillStyle('red')
  2455. ctx.fill()
  2456. ctx.draw()
  2457. ```
  2458. * ![](@program/dev/image/canvas/fill-rect.png) */
  2459. rect(
  2460. /** 矩形路径左上角的横坐标 */
  2461. x: number,
  2462. /** 矩形路径左上角的纵坐标 */
  2463. y: number,
  2464. /** 矩形路径的宽度 */
  2465. width: number,
  2466. /** 矩形路径的高度 */
  2467. height: number
  2468. ): void
  2469. /** [CanvasContext.restore()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.restore.html)
  2470. *
  2471. * 在插件中使用:支持
  2472. * @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) 替换
  2473. *
  2474. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2475. *
  2476. * 恢复之前保存的绘图上下文。
  2477. *
  2478. * **示例代码**
  2479. *
  2480. * ```javascript
  2481. const ctx = wx.createCanvasContext('myCanvas')
  2482. // save the default fill style
  2483. ctx.save()
  2484. ctx.setFillStyle('red')
  2485. ctx.fillRect(10, 10, 150, 100)
  2486. // restore to the previous saved state
  2487. ctx.restore()
  2488. ctx.fillRect(50, 50, 150, 100)
  2489. ctx.draw()
  2490. ```
  2491. * ![](@program/dev/image/canvas/save-restore.png) */
  2492. restore(): void
  2493. /** [CanvasContext.rotate(number rotate)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.rotate.html)
  2494. *
  2495. * 在插件中使用:支持
  2496. * @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) 替换
  2497. *
  2498. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2499. *
  2500. * 以原点为中心顺时针旋转当前坐标轴。多次调用旋转的角度会叠加。原点可以用 `translate` 方法修改。
  2501. *
  2502. * **示例代码**
  2503. *
  2504. * ```javascript
  2505. const ctx = wx.createCanvasContext('myCanvas')
  2506. ctx.strokeRect(100, 10, 150, 100)
  2507. ctx.rotate(20 * Math.PI / 180)
  2508. ctx.strokeRect(100, 10, 150, 100)
  2509. ctx.rotate(20 * Math.PI / 180)
  2510. ctx.strokeRect(100, 10, 150, 100)
  2511. ctx.draw()
  2512. ```
  2513. * ![](@program/dev/image/canvas/rotate.png) */
  2514. rotate(
  2515. /** 旋转角度,以弧度计 degrees * Math.PI/180;degrees 范围为 0-360 */
  2516. rotate: number
  2517. ): void
  2518. /** [CanvasContext.save()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.save.html)
  2519. *
  2520. * 在插件中使用:支持
  2521. * @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) 替换
  2522. *
  2523. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2524. *
  2525. * 保存绘图上下文。
  2526. *
  2527. * **示例代码**
  2528. *
  2529. * ```javascript
  2530. const ctx = wx.createCanvasContext('myCanvas')
  2531. // save the default fill style
  2532. ctx.save()
  2533. ctx.setFillStyle('red')
  2534. ctx.fillRect(10, 10, 150, 100)
  2535. // restore to the previous saved state
  2536. ctx.restore()
  2537. ctx.fillRect(50, 50, 150, 100)
  2538. ctx.draw()
  2539. ```
  2540. * ![](@program/dev/image/canvas/save-restore.png) */
  2541. save(): void
  2542. /** [CanvasContext.scale(number scaleWidth, number scaleHeight)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.scale.html)
  2543. *
  2544. * 在插件中使用:支持
  2545. * @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) 替换
  2546. *
  2547. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2548. *
  2549. * 在调用后,之后创建的路径其横纵坐标会被缩放。多次调用倍数会相乘。
  2550. *
  2551. * **示例代码**
  2552. *
  2553. * ```javascript
  2554. const ctx = wx.createCanvasContext('myCanvas')
  2555. ctx.strokeRect(10, 10, 25, 15)
  2556. ctx.scale(2, 2)
  2557. ctx.strokeRect(10, 10, 25, 15)
  2558. ctx.scale(2, 2)
  2559. ctx.strokeRect(10, 10, 25, 15)
  2560. ctx.draw()
  2561. ```
  2562. * ![](@program/dev/image/canvas/scale.png) */
  2563. scale(
  2564. /** 横坐标缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */
  2565. scaleWidth: number,
  2566. /** 纵坐标轴缩放的倍数 (1 = 100%,0.5 = 50%,2 = 200%) */
  2567. scaleHeight: number
  2568. ): void
  2569. /** [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)
  2570. *
  2571. * 在插件中使用:支持
  2572. * @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) 替换
  2573. *
  2574. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2575. *
  2576. * 设置填充色。
  2577. *
  2578. * **代码示例**
  2579. *
  2580. * ```js
  2581. const ctx = wx.createCanvasContext('myCanvas')
  2582. ctx.setFillStyle('red')
  2583. ctx.fillRect(10, 10, 150, 75)
  2584. ctx.draw()
  2585. ```
  2586. * ![](@program/dev/image/canvas/fill-rect.png) */
  2587. setFillStyle(
  2588. /** 填充的颜色,默认颜色为 black。 */
  2589. color: string | CanvasGradient
  2590. ): void
  2591. /** [CanvasContext.setFontSize(number fontSize)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setFontSize.html)
  2592. *
  2593. * 在插件中使用:支持
  2594. * @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) 替换
  2595. *
  2596. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2597. *
  2598. * 设置字体的字号
  2599. *
  2600. * **示例代码**
  2601. *
  2602. * ```javascript
  2603. const ctx = wx.createCanvasContext('myCanvas')
  2604. ctx.setFontSize(20)
  2605. ctx.fillText('20', 20, 20)
  2606. ctx.setFontSize(30)
  2607. ctx.fillText('30', 40, 40)
  2608. ctx.setFontSize(40)
  2609. ctx.fillText('40', 60, 60)
  2610. ctx.setFontSize(50)
  2611. ctx.fillText('50', 90, 90)
  2612. ctx.draw()
  2613. ```
  2614. * ![](@program/dev/image/canvas/font-size.png) */
  2615. setFontSize(
  2616. /** 字体的字号 */
  2617. fontSize: number
  2618. ): void
  2619. /** [CanvasContext.setGlobalAlpha(number alpha)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setGlobalAlpha.html)
  2620. *
  2621. * 在插件中使用:支持
  2622. * @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) 替换
  2623. *
  2624. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2625. *
  2626. * 设置全局画笔透明度。
  2627. *
  2628. * **示例代码**
  2629. *
  2630. * ```javascript
  2631. const ctx = wx.createCanvasContext('myCanvas')
  2632. ctx.setFillStyle('red')
  2633. ctx.fillRect(10, 10, 150, 100)
  2634. ctx.setGlobalAlpha(0.2)
  2635. ctx.setFillStyle('blue')
  2636. ctx.fillRect(50, 50, 150, 100)
  2637. ctx.setFillStyle('yellow')
  2638. ctx.fillRect(100, 100, 150, 100)
  2639. ctx.draw()
  2640. ```
  2641. * ![](@program/dev/image/canvas/global-alpha.png) */
  2642. setGlobalAlpha(
  2643. /** 透明度。范围 0-1,0 表示完全透明,1 表示完全不透明。 */
  2644. alpha: number
  2645. ): void
  2646. /** [CanvasContext.setLineCap(string lineCap)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineCap.html)
  2647. *
  2648. * 在插件中使用:支持
  2649. * @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) 替换
  2650. *
  2651. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2652. *
  2653. * 设置线条的端点样式
  2654. *
  2655. * **示例代码**
  2656. *
  2657. * ```javascript
  2658. const ctx = wx.createCanvasContext('myCanvas')
  2659. ctx.beginPath()
  2660. ctx.moveTo(10, 10)
  2661. ctx.lineTo(150, 10)
  2662. ctx.stroke()
  2663. ctx.beginPath()
  2664. ctx.setLineCap('butt')
  2665. ctx.setLineWidth(10)
  2666. ctx.moveTo(10, 30)
  2667. ctx.lineTo(150, 30)
  2668. ctx.stroke()
  2669. ctx.beginPath()
  2670. ctx.setLineCap('round')
  2671. ctx.setLineWidth(10)
  2672. ctx.moveTo(10, 50)
  2673. ctx.lineTo(150, 50)
  2674. ctx.stroke()
  2675. ctx.beginPath()
  2676. ctx.setLineCap('square')
  2677. ctx.setLineWidth(10)
  2678. ctx.moveTo(10, 70)
  2679. ctx.lineTo(150, 70)
  2680. ctx.stroke()
  2681. ctx.draw()
  2682. ```
  2683. * ![](@program/dev/image/canvas/line-cap.png) */
  2684. setLineCap(
  2685. /** 线条的结束端点样式
  2686. *
  2687. * 参数 lineCap 可选值:
  2688. * - 'butt': 向线条的每个末端添加平直的边缘。;
  2689. * - 'round': 向线条的每个末端添加圆形线帽。;
  2690. * - 'square': 向线条的每个末端添加正方形线帽。; */
  2691. lineCap: 'butt' | 'round' | 'square'
  2692. ): void
  2693. /** [CanvasContext.setLineDash(Array.&lt;number&gt; pattern, number offset)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineDash.html)
  2694. *
  2695. * 需要基础库: `1.6.0`
  2696. *
  2697. * 在插件中使用:支持
  2698. * @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) 替换
  2699. *
  2700. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2701. *
  2702. * 设置虚线样式。
  2703. *
  2704. * **示例代码**
  2705. *
  2706. * ```javascript
  2707. const ctx = wx.createCanvasContext('myCanvas')
  2708. ctx.setLineDash([10, 20], 5);
  2709. ctx.beginPath();
  2710. ctx.moveTo(0,100);
  2711. ctx.lineTo(400, 100);
  2712. ctx.stroke();
  2713. ctx.draw()
  2714. ```
  2715. * ![](@program/dev/image/canvas/set-line-dash.png) */
  2716. setLineDash(
  2717. /** 一组描述交替绘制线段和间距(坐标空间单位)长度的数字 */
  2718. pattern: number[],
  2719. /** 虚线偏移量 */
  2720. offset: number
  2721. ): void
  2722. /** [CanvasContext.setLineJoin(string lineJoin)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html)
  2723. *
  2724. * 在插件中使用:支持
  2725. * @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) 替换
  2726. *
  2727. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2728. *
  2729. * 设置线条的交点样式
  2730. *
  2731. * **示例代码**
  2732. *
  2733. * ```javascript
  2734. const ctx = wx.createCanvasContext('myCanvas')
  2735. ctx.beginPath()
  2736. ctx.moveTo(10, 10)
  2737. ctx.lineTo(100, 50)
  2738. ctx.lineTo(10, 90)
  2739. ctx.stroke()
  2740. ctx.beginPath()
  2741. ctx.setLineJoin('bevel')
  2742. ctx.setLineWidth(10)
  2743. ctx.moveTo(50, 10)
  2744. ctx.lineTo(140, 50)
  2745. ctx.lineTo(50, 90)
  2746. ctx.stroke()
  2747. ctx.beginPath()
  2748. ctx.setLineJoin('round')
  2749. ctx.setLineWidth(10)
  2750. ctx.moveTo(90, 10)
  2751. ctx.lineTo(180, 50)
  2752. ctx.lineTo(90, 90)
  2753. ctx.stroke()
  2754. ctx.beginPath()
  2755. ctx.setLineJoin('miter')
  2756. ctx.setLineWidth(10)
  2757. ctx.moveTo(130, 10)
  2758. ctx.lineTo(220, 50)
  2759. ctx.lineTo(130, 90)
  2760. ctx.stroke()
  2761. ctx.draw()
  2762. ```
  2763. * ![](@program/dev/image/canvas/line-join.png) */
  2764. setLineJoin(
  2765. /** 线条的结束交点样式
  2766. *
  2767. * 参数 lineJoin 可选值:
  2768. * - 'bevel': 斜角;
  2769. * - 'round': 圆角;
  2770. * - 'miter': 尖角; */
  2771. lineJoin: 'bevel' | 'round' | 'miter'
  2772. ): void
  2773. /** [CanvasContext.setLineWidth(number lineWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineWidth.html)
  2774. *
  2775. * 在插件中使用:支持
  2776. * @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) 替换
  2777. *
  2778. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2779. *
  2780. * 设置线条的宽度
  2781. *
  2782. * **示例代码**
  2783. *
  2784. * ```javascript
  2785. const ctx = wx.createCanvasContext('myCanvas')
  2786. ctx.beginPath()
  2787. ctx.moveTo(10, 10)
  2788. ctx.lineTo(150, 10)
  2789. ctx.stroke()
  2790. ctx.beginPath()
  2791. ctx.setLineWidth(5)
  2792. ctx.moveTo(10, 30)
  2793. ctx.lineTo(150, 30)
  2794. ctx.stroke()
  2795. ctx.beginPath()
  2796. ctx.setLineWidth(10)
  2797. ctx.moveTo(10, 50)
  2798. ctx.lineTo(150, 50)
  2799. ctx.stroke()
  2800. ctx.beginPath()
  2801. ctx.setLineWidth(15)
  2802. ctx.moveTo(10, 70)
  2803. ctx.lineTo(150, 70)
  2804. ctx.stroke()
  2805. ctx.draw()
  2806. ```
  2807. *
  2808. * ![](@program/dev/image/canvas/line-width.png) */
  2809. setLineWidth(
  2810. /** 线条的宽度,单位px */
  2811. lineWidth: number
  2812. ): void
  2813. /** [CanvasContext.setMiterLimit(number miterLimit)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setMiterLimit.html)
  2814. *
  2815. * 在插件中使用:支持
  2816. * @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) 替换
  2817. *
  2818. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2819. *
  2820. * 设置最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。当 [CanvasContext.setLineJoin()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setLineJoin.html) 为 miter 时才有效。超过最大倾斜长度的,连接处将以 lineJoin 为 bevel 来显示。
  2821. *
  2822. * **示例代码**
  2823. *
  2824. * ```javascript
  2825. const ctx = wx.createCanvasContext('myCanvas')
  2826. ctx.beginPath()
  2827. ctx.setLineWidth(10)
  2828. ctx.setLineJoin('miter')
  2829. ctx.setMiterLimit(1)
  2830. ctx.moveTo(10, 10)
  2831. ctx.lineTo(100, 50)
  2832. ctx.lineTo(10, 90)
  2833. ctx.stroke()
  2834. ctx.beginPath()
  2835. ctx.setLineWidth(10)
  2836. ctx.setLineJoin('miter')
  2837. ctx.setMiterLimit(2)
  2838. ctx.moveTo(50, 10)
  2839. ctx.lineTo(140, 50)
  2840. ctx.lineTo(50, 90)
  2841. ctx.stroke()
  2842. ctx.beginPath()
  2843. ctx.setLineWidth(10)
  2844. ctx.setLineJoin('miter')
  2845. ctx.setMiterLimit(3)
  2846. ctx.moveTo(90, 10)
  2847. ctx.lineTo(180, 50)
  2848. ctx.lineTo(90, 90)
  2849. ctx.stroke()
  2850. ctx.beginPath()
  2851. ctx.setLineWidth(10)
  2852. ctx.setLineJoin('miter')
  2853. ctx.setMiterLimit(4)
  2854. ctx.moveTo(130, 10)
  2855. ctx.lineTo(220, 50)
  2856. ctx.lineTo(130, 90)
  2857. ctx.stroke()
  2858. ctx.draw()
  2859. ```
  2860. * ![](@program/dev/image/canvas/miter-limit.png) */
  2861. setMiterLimit(
  2862. /** 最大斜接长度 */
  2863. miterLimit: number
  2864. ): void
  2865. /** [CanvasContext.setShadow(number offsetX, number offsetY, number blur, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setShadow.html)
  2866. *
  2867. * 在插件中使用:支持
  2868. * @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) 替换
  2869. *
  2870. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2871. *
  2872. * 设定阴影样式。
  2873. *
  2874. * **示例代码**
  2875. *
  2876. * ```javascript
  2877. const ctx = wx.createCanvasContext('myCanvas')
  2878. ctx.setFillStyle('red')
  2879. ctx.setShadow(10, 50, 50, 'blue')
  2880. ctx.fillRect(10, 10, 150, 75)
  2881. ctx.draw()
  2882. ```
  2883. * ![](@program/dev/image/canvas/shadow.png) */
  2884. setShadow(
  2885. /** 阴影相对于形状在水平方向的偏移,默认值为 0。 */
  2886. offsetX: number,
  2887. /** 阴影相对于形状在竖直方向的偏移,默认值为 0。 */
  2888. offsetY: number,
  2889. /** 阴影的模糊级别,数值越大越模糊。范围 0- 100。,默认值为 0。 */
  2890. blur: number,
  2891. /** 阴影的颜色。默认值为 black。 */
  2892. color: string
  2893. ): void
  2894. /** [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)
  2895. *
  2896. * 在插件中使用:支持
  2897. * @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) 替换
  2898. *
  2899. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2900. *
  2901. * 设置描边颜色。
  2902. *
  2903. * **代码示例**
  2904. *
  2905. * ```js
  2906. const ctx = wx.createCanvasContext('myCanvas')
  2907. ctx.setStrokeStyle('red')
  2908. ctx.strokeRect(10, 10, 150, 75)
  2909. ctx.draw()
  2910. ```
  2911. * ![](@program/dev/image/canvas/stroke-rect.png) */
  2912. setStrokeStyle(
  2913. /** 描边的颜色,默认颜色为 black。 */
  2914. color: string | CanvasGradient
  2915. ): void
  2916. /** [CanvasContext.setTextAlign(string align)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextAlign.html)
  2917. *
  2918. * 需要基础库: `1.1.0`
  2919. *
  2920. * 在插件中使用:支持
  2921. * @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) 替换
  2922. *
  2923. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2924. *
  2925. * 设置文字的对齐
  2926. *
  2927. * **示例代码**
  2928. *
  2929. * ```javascript
  2930. const ctx = wx.createCanvasContext('myCanvas')
  2931. ctx.setStrokeStyle('red')
  2932. ctx.moveTo(150, 20)
  2933. ctx.lineTo(150, 170)
  2934. ctx.stroke()
  2935. ctx.setFontSize(15)
  2936. ctx.setTextAlign('left')
  2937. ctx.fillText('textAlign=left', 150, 60)
  2938. ctx.setTextAlign('center')
  2939. ctx.fillText('textAlign=center', 150, 80)
  2940. ctx.setTextAlign('right')
  2941. ctx.fillText('textAlign=right', 150, 100)
  2942. ctx.draw()
  2943. ```
  2944. *
  2945. * ![](@program/dev/image/canvas/set-text-align.png) */
  2946. setTextAlign(
  2947. /** 文字的对齐方式
  2948. *
  2949. * 参数 align 可选值:
  2950. * - 'left': 左对齐;
  2951. * - 'center': 居中对齐;
  2952. * - 'right': 右对齐; */
  2953. align: 'left' | 'center' | 'right'
  2954. ): void
  2955. /** [CanvasContext.setTextBaseline(string textBaseline)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setTextBaseline.html)
  2956. *
  2957. * 需要基础库: `1.4.0`
  2958. *
  2959. * 在插件中使用:支持
  2960. * @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) 替换
  2961. *
  2962. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  2963. *
  2964. * 设置文字的竖直对齐
  2965. *
  2966. * **示例代码**
  2967. *
  2968. * ```javascript
  2969. const ctx = wx.createCanvasContext('myCanvas')
  2970. ctx.setStrokeStyle('red')
  2971. ctx.moveTo(5, 75)
  2972. ctx.lineTo(295, 75)
  2973. ctx.stroke()
  2974. ctx.setFontSize(20)
  2975. ctx.setTextBaseline('top')
  2976. ctx.fillText('top', 5, 75)
  2977. ctx.setTextBaseline('middle')
  2978. ctx.fillText('middle', 50, 75)
  2979. ctx.setTextBaseline('bottom')
  2980. ctx.fillText('bottom', 120, 75)
  2981. ctx.setTextBaseline('normal')
  2982. ctx.fillText('normal', 200, 75)
  2983. ctx.draw()
  2984. ```
  2985. * ![](@program/dev/image/canvas/set-text-baseline.png) */
  2986. setTextBaseline(
  2987. /** 文字的竖直对齐方式
  2988. *
  2989. * 参数 textBaseline 可选值:
  2990. * - 'top': 顶部对齐;
  2991. * - 'bottom': 底部对齐;
  2992. * - 'middle': 居中对齐;
  2993. * - 'normal': ; */
  2994. textBaseline: 'top' | 'bottom' | 'middle' | 'normal'
  2995. ): void
  2996. /** [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)
  2997. *
  2998. * 需要基础库: `1.9.90`
  2999. *
  3000. * 在插件中使用:支持
  3001. * @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) 替换
  3002. *
  3003. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3004. *
  3005. * 使用矩阵重新设置(覆盖)当前变换的方法 */
  3006. setTransform(
  3007. /** 水平缩放 */
  3008. scaleX: number,
  3009. /** 水平倾斜 */
  3010. skewX: number,
  3011. /** 垂直倾斜 */
  3012. skewY: number,
  3013. /** 垂直缩放 */
  3014. scaleY: number,
  3015. /** 水平移动 */
  3016. translateX: number,
  3017. /** 垂直移动 */
  3018. translateY: number
  3019. ): void
  3020. /** [CanvasContext.stroke()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.stroke.html)
  3021. *
  3022. * 在插件中使用:支持
  3023. * @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) 替换
  3024. *
  3025. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3026. *
  3027. * 画出当前路径的边框。默认颜色色为黑色。
  3028. *
  3029. * **示例代码**
  3030. *
  3031. * ```javascript
  3032. const ctx = wx.createCanvasContext('myCanvas')
  3033. ctx.moveTo(10, 10)
  3034. ctx.lineTo(100, 10)
  3035. ctx.lineTo(100, 100)
  3036. ctx.stroke()
  3037. ctx.draw()
  3038. ```
  3039. * ![](@program/dev/image/canvas/stroke-line.png)
  3040. *
  3041. * stroke() 描绘的的路径是从 beginPath() 开始计算,但是不会将 strokeRect() 包含进去。
  3042. *
  3043. * ```javascript
  3044. const ctx = wx.createCanvasContext('myCanvas')
  3045. // begin path
  3046. ctx.rect(10, 10, 100, 30)
  3047. ctx.setStrokeStyle('yellow')
  3048. ctx.stroke()
  3049. // begin another path
  3050. ctx.beginPath()
  3051. ctx.rect(10, 40, 100, 30)
  3052. // only stoke this rect, not in current path
  3053. ctx.setStrokeStyle('blue')
  3054. ctx.strokeRect(10, 70, 100, 30)
  3055. ctx.rect(10, 100, 100, 30)
  3056. // it will stroke current path
  3057. ctx.setStrokeStyle('red')
  3058. ctx.stroke()
  3059. ctx.draw()
  3060. ```
  3061. *
  3062. * ![](@program/dev/image/canvas/stroke-path.png) */
  3063. stroke(): void
  3064. /** [CanvasContext.strokeRect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeRect.html)
  3065. *
  3066. * 在插件中使用:支持
  3067. * @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) 替换
  3068. *
  3069. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3070. *
  3071. * 画一个矩形(非填充)。 用 [`setStrokeStyle`](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.setStrokeStyle.html) 设置矩形线条的颜色,如果没设置默认是黑色。
  3072. *
  3073. * **示例代码**
  3074. *
  3075. * ```javascript
  3076. const ctx = wx.createCanvasContext('myCanvas')
  3077. ctx.setStrokeStyle('red')
  3078. ctx.strokeRect(10, 10, 150, 75)
  3079. ctx.draw()
  3080. ```
  3081. * ![](@program/dev/image/canvas/stroke-rect.png) */
  3082. strokeRect(
  3083. /** 矩形路径左上角的横坐标 */
  3084. x: number,
  3085. /** 矩形路径左上角的纵坐标 */
  3086. y: number,
  3087. /** 矩形路径的宽度 */
  3088. width: number,
  3089. /** 矩形路径的高度 */
  3090. height: number
  3091. ): void
  3092. /** [CanvasContext.strokeText(string text, number x, number y, number maxWidth)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.strokeText.html)
  3093. *
  3094. * 需要基础库: `1.9.90`
  3095. *
  3096. * 在插件中使用:支持
  3097. * @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) 替换
  3098. *
  3099. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3100. *
  3101. * 给定的 (x, y) 位置绘制文本描边的方法 */
  3102. strokeText(
  3103. /** 要绘制的文本 */
  3104. text: string,
  3105. /** 文本起始点的 x 轴坐标 */
  3106. x: number,
  3107. /** 文本起始点的 y 轴坐标 */
  3108. y: number,
  3109. /** 需要绘制的最大宽度,可选 */
  3110. maxWidth?: number
  3111. ): void
  3112. /** [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)
  3113. *
  3114. * 需要基础库: `1.9.90`
  3115. *
  3116. * 在插件中使用:支持
  3117. * @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) 替换
  3118. *
  3119. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3120. *
  3121. * 使用矩阵多次叠加当前变换的方法 */
  3122. transform(
  3123. /** 水平缩放 */
  3124. scaleX: number,
  3125. /** 水平倾斜 */
  3126. skewX: number,
  3127. /** 垂直倾斜 */
  3128. skewY: number,
  3129. /** 垂直缩放 */
  3130. scaleY: number,
  3131. /** 水平移动 */
  3132. translateX: number,
  3133. /** 垂直移动 */
  3134. translateY: number
  3135. ): void
  3136. /** [CanvasContext.translate(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.translate.html)
  3137. *
  3138. * 在插件中使用:支持
  3139. * @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) 替换
  3140. *
  3141. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3142. *
  3143. * 对当前坐标系的原点 (0, 0) 进行变换。默认的坐标系原点为页面左上角。
  3144. *
  3145. * **示例代码**
  3146. *
  3147. * ```javascript
  3148. const ctx = wx.createCanvasContext('myCanvas')
  3149. ctx.strokeRect(10, 10, 150, 100)
  3150. ctx.translate(20, 20)
  3151. ctx.strokeRect(10, 10, 150, 100)
  3152. ctx.translate(20, 20)
  3153. ctx.strokeRect(10, 10, 150, 100)
  3154. ctx.draw()
  3155. ```
  3156. *
  3157. * ![](@program/dev/image/canvas/translate.png) */
  3158. translate(
  3159. /** 水平坐标平移量 */
  3160. x: number,
  3161. /** 竖直坐标平移量 */
  3162. y: number
  3163. ): void
  3164. /** [Object CanvasContext.measureText(string text)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.measureText.html)
  3165. *
  3166. * 需要基础库: `1.9.90`
  3167. *
  3168. * 在插件中使用:支持
  3169. * @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) 替换
  3170. *
  3171. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3172. *
  3173. * 测量文本尺寸信息。目前仅返回文本宽度。同步接口。 */
  3174. measureText(
  3175. /** 要测量的文本 */
  3176. text: string
  3177. ): TextMetrics
  3178. /** [[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)
  3179. *
  3180. * 在插件中使用:支持
  3181. * @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) 替换
  3182. *
  3183. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3184. *
  3185. * 创建一个圆形的渐变颜色。起点在圆心,终点在圆环。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。
  3186. *
  3187. * **示例代码**
  3188. *
  3189. * ```javascript
  3190. const ctx = wx.createCanvasContext('myCanvas')
  3191. // Create circular gradient
  3192. const grd = ctx.createCircularGradient(75, 50, 50)
  3193. grd.addColorStop(0, 'red')
  3194. grd.addColorStop(1, 'white')
  3195. // Fill with gradient
  3196. ctx.setFillStyle(grd)
  3197. ctx.fillRect(10, 10, 150, 80)
  3198. ctx.draw()
  3199. ```
  3200. * ![](@program/dev/image/canvas/circular-gradient.png) */
  3201. createCircularGradient(
  3202. /** 圆心的 x 坐标 */
  3203. x: number,
  3204. /** 圆心的 y 坐标 */
  3205. y: number,
  3206. /** 圆的半径 */
  3207. r: number
  3208. ): CanvasGradient
  3209. /** [[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)
  3210. *
  3211. * 在插件中使用:支持
  3212. * @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) 替换
  3213. *
  3214. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  3215. *
  3216. * 创建一个线性的渐变颜色。返回的`CanvasGradient`对象需要使用 [CanvasGradient.addColorStop()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html) 来指定渐变点,至少要两个。
  3217. *
  3218. * **示例代码**
  3219. *
  3220. * ```javascript
  3221. const ctx = wx.createCanvasContext('myCanvas')
  3222. // Create linear gradient
  3223. const grd = ctx.createLinearGradient(0, 0, 200, 0)
  3224. grd.addColorStop(0, 'red')
  3225. grd.addColorStop(1, 'white')
  3226. // Fill with gradient
  3227. ctx.setFillStyle(grd)
  3228. ctx.fillRect(10, 10, 150, 80)
  3229. ctx.draw()
  3230. ```
  3231. * ![](@program/dev/image/canvas/linear-gradient.png) */
  3232. createLinearGradient(
  3233. /** 起点的 x 坐标 */
  3234. x0: number,
  3235. /** 起点的 y 坐标 */
  3236. y0: number,
  3237. /** 终点的 x 坐标 */
  3238. x1: number,
  3239. /** 终点的 y 坐标 */
  3240. y1: number
  3241. ): CanvasGradient
  3242. }
  3243. interface CanvasGetImageDataOption {
  3244. /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 `canvas-id` 属性。 */
  3245. canvasId: string
  3246. /** 将要被提取的图像数据矩形区域的高度 */
  3247. height: number
  3248. /** 将要被提取的图像数据矩形区域的宽度 */
  3249. width: number
  3250. /** 将要被提取的图像数据矩形区域的左上角横坐标 */
  3251. x: number
  3252. /** 将要被提取的图像数据矩形区域的左上角纵坐标 */
  3253. y: number
  3254. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3255. complete?: CanvasGetImageDataCompleteCallback
  3256. /** 接口调用失败的回调函数 */
  3257. fail?: CanvasGetImageDataFailCallback
  3258. /** 接口调用成功的回调函数 */
  3259. success?: CanvasGetImageDataSuccessCallback
  3260. }
  3261. interface CanvasGetImageDataSuccessCallbackResult {
  3262. /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
  3263. data: Uint8ClampedArray
  3264. /** 图像数据矩形的高度 */
  3265. height: number
  3266. /** 图像数据矩形的宽度 */
  3267. width: number
  3268. errMsg: string
  3269. }
  3270. interface CanvasPutImageDataOption {
  3271. /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id 属性。 */
  3272. canvasId: string
  3273. /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
  3274. data: Uint8ClampedArray
  3275. /** 源图像数据矩形区域的高度 */
  3276. height: number
  3277. /** 源图像数据矩形区域的宽度 */
  3278. width: number
  3279. /** 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量) */
  3280. x: number
  3281. /** 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量) */
  3282. y: number
  3283. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3284. complete?: CanvasPutImageDataCompleteCallback
  3285. /** 接口调用失败的回调函数 */
  3286. fail?: CanvasPutImageDataFailCallback
  3287. /** 接口调用成功的回调函数 */
  3288. success?: CanvasPutImageDataSuccessCallback
  3289. }
  3290. interface CanvasToTempFilePathOption {
  3291. /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件实例 (canvas type="2d" 时使用该属性)。 */
  3292. canvas?: IAnyObject
  3293. /** 画布标识,传入 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件的 canvas-id */
  3294. canvasId?: string
  3295. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3296. complete?: CanvasToTempFilePathCompleteCallback
  3297. /** 需要基础库: `1.2.0`
  3298. *
  3299. * 输出的图片的高度 */
  3300. destHeight?: number
  3301. /** 需要基础库: `1.2.0`
  3302. *
  3303. * 输出的图片的宽度 */
  3304. destWidth?: number
  3305. /** 接口调用失败的回调函数 */
  3306. fail?: CanvasToTempFilePathFailCallback
  3307. /** 需要基础库: `1.7.0`
  3308. *
  3309. * 目标文件的类型
  3310. *
  3311. * 可选值:
  3312. * - 'jpg': jpg 图片;
  3313. * - 'png': png 图片; */
  3314. fileType?: 'jpg' | 'png'
  3315. /** 需要基础库: `1.2.0`
  3316. *
  3317. * 指定的画布区域的高度 */
  3318. height?: number
  3319. /** 需要基础库: `1.7.0`
  3320. *
  3321. * 图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 */
  3322. quality?: number
  3323. /** 接口调用成功的回调函数 */
  3324. success?: CanvasToTempFilePathSuccessCallback
  3325. /** 需要基础库: `1.2.0`
  3326. *
  3327. * 指定的画布区域的宽度 */
  3328. width?: number
  3329. /** 需要基础库: `1.2.0`
  3330. *
  3331. * 指定的画布区域的左上角横坐标 */
  3332. x?: number
  3333. /** 需要基础库: `1.2.0`
  3334. *
  3335. * 指定的画布区域的左上角纵坐标 */
  3336. y?: number
  3337. }
  3338. interface CanvasToTempFilePathSuccessCallbackResult {
  3339. /** 生成文件的临时路径 (本地路径) */
  3340. tempFilePath: string
  3341. errMsg: string
  3342. }
  3343. /** characteristics列表 */
  3344. interface Characteristic {
  3345. /** characteristic 的 UUID */
  3346. uuid: string
  3347. /** 描述符数据 */
  3348. descriptors?: CharacteristicDescriptor[]
  3349. /** 特征权限 */
  3350. permission?: CharacteristicPermission
  3351. /** 特征支持的操作 */
  3352. properties?: CharacteristicProperties
  3353. /** 特征对应的二进制值 */
  3354. value?: ArrayBuffer
  3355. }
  3356. /** 描述符数据 */
  3357. interface CharacteristicDescriptor {
  3358. /** Descriptor 的 UUID */
  3359. uuid: string
  3360. /** 描述符的权限 */
  3361. permission?: DescriptorPermission
  3362. /** 描述符数据 */
  3363. value?: ArrayBuffer
  3364. }
  3365. /** 特征权限 */
  3366. interface CharacteristicPermission {
  3367. /** 加密读请求 */
  3368. readEncryptionRequired?: boolean
  3369. /** 可读 */
  3370. readable?: boolean
  3371. /** 加密写请求 */
  3372. writeEncryptionRequired?: boolean
  3373. /** 可写 */
  3374. writeable?: boolean
  3375. }
  3376. /** 特征支持的操作 */
  3377. interface CharacteristicProperties {
  3378. /** 回包 */
  3379. indicate?: boolean
  3380. /** 订阅 */
  3381. notify?: boolean
  3382. /** 读 */
  3383. read?: boolean
  3384. /** 写 */
  3385. write?: boolean
  3386. /** 无回复写 */
  3387. writeNoResponse?: boolean
  3388. }
  3389. interface CheckIsAddedToMyMiniProgramOption {
  3390. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3391. complete?: CheckIsAddedToMyMiniProgramCompleteCallback
  3392. /** 接口调用失败的回调函数 */
  3393. fail?: CheckIsAddedToMyMiniProgramFailCallback
  3394. /** 接口调用成功的回调函数 */
  3395. success?: CheckIsAddedToMyMiniProgramSuccessCallback
  3396. }
  3397. interface CheckIsAddedToMyMiniProgramSuccessCallbackResult {
  3398. /** 是否被添加至 「我的小程序」 */
  3399. added: boolean
  3400. errMsg: string
  3401. }
  3402. interface CheckIsOpenAccessibilityOption {
  3403. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3404. complete?: CheckIsOpenAccessibilityCompleteCallback
  3405. /** 接口调用失败的回调函数 */
  3406. fail?: CheckIsOpenAccessibilityFailCallback
  3407. /** 接口调用成功的回调函数 */
  3408. success?: CheckIsOpenAccessibilitySuccessCallback
  3409. }
  3410. interface CheckIsOpenAccessibilitySuccessCallbackOption {
  3411. /** iOS 上开启辅助功能旁白,安卓开启 talkback 时返回 true */
  3412. open: boolean
  3413. errMsg: string
  3414. }
  3415. interface CheckIsSoterEnrolledInDeviceOption {
  3416. /** 认证方式
  3417. *
  3418. * 可选值:
  3419. * - 'fingerPrint': 指纹识别;
  3420. * - 'facial': 人脸识别;
  3421. * - 'speech': 声纹识别(暂未支持); */
  3422. checkAuthMode: 'fingerPrint' | 'facial' | 'speech'
  3423. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3424. complete?: CheckIsSoterEnrolledInDeviceCompleteCallback
  3425. /** 接口调用失败的回调函数 */
  3426. fail?: CheckIsSoterEnrolledInDeviceFailCallback
  3427. /** 接口调用成功的回调函数 */
  3428. success?: CheckIsSoterEnrolledInDeviceSuccessCallback
  3429. }
  3430. interface CheckIsSoterEnrolledInDeviceSuccessCallbackResult {
  3431. /** 错误信息 */
  3432. errMsg: string
  3433. /** 是否已录入信息 */
  3434. isEnrolled: boolean
  3435. }
  3436. interface CheckIsSupportSoterAuthenticationOption {
  3437. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3438. complete?: CheckIsSupportSoterAuthenticationCompleteCallback
  3439. /** 接口调用失败的回调函数 */
  3440. fail?: CheckIsSupportSoterAuthenticationFailCallback
  3441. /** 接口调用成功的回调函数 */
  3442. success?: CheckIsSupportSoterAuthenticationSuccessCallback
  3443. }
  3444. interface CheckIsSupportSoterAuthenticationSuccessCallbackResult {
  3445. /** 该设备支持的可被SOTER识别的生物识别方式
  3446. *
  3447. * 可选值:
  3448. * - 'fingerPrint': 指纹识别;
  3449. * - 'facial': 人脸识别;
  3450. * - 'speech': 声纹识别(暂未支持); */
  3451. supportMode: Array<'fingerPrint' | 'facial' | 'speech'>
  3452. errMsg: string
  3453. }
  3454. interface CheckSessionOption {
  3455. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3456. complete?: CheckSessionCompleteCallback
  3457. /** 接口调用失败的回调函数 */
  3458. fail?: CheckSessionFailCallback
  3459. /** 接口调用成功的回调函数 */
  3460. success?: CheckSessionSuccessCallback
  3461. }
  3462. interface ChooseAddressOption {
  3463. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3464. complete?: ChooseAddressCompleteCallback
  3465. /** 接口调用失败的回调函数 */
  3466. fail?: ChooseAddressFailCallback
  3467. /** 接口调用成功的回调函数 */
  3468. success?: ChooseAddressSuccessCallback
  3469. }
  3470. interface ChooseAddressSuccessCallbackResult {
  3471. /** 国标收货地址第二级地址 */
  3472. cityName: string
  3473. /** 国标收货地址第三级地址 */
  3474. countyName: string
  3475. /** 详细收货地址信息(包括街道地址) */
  3476. detailInfo: string
  3477. /** 新选择器详细收货地址信息 */
  3478. detailInfoNew: string
  3479. /** 错误信息 */
  3480. errMsg: string
  3481. /** 收货地址国家码 */
  3482. nationalCode: string
  3483. /** 邮编 */
  3484. postalCode: string
  3485. /** 国标收货地址第一级地址 */
  3486. provinceName: string
  3487. /** 国标收货地址第四级地址 */
  3488. streetName: string
  3489. /** 收货人手机号码 */
  3490. telNumber: string
  3491. /** 收货人姓名 */
  3492. userName: string
  3493. }
  3494. interface ChooseContactOption {
  3495. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3496. complete?: ChooseContactCompleteCallback
  3497. /** 接口调用失败的回调函数 */
  3498. fail?: ChooseContactFailCallback
  3499. /** 接口调用成功的回调函数 */
  3500. success?: ChooseContactSuccessCallback
  3501. }
  3502. interface ChooseContactSuccessCallbackOption {
  3503. /** 联系人姓名 */
  3504. displayName: string
  3505. /** 手机号 */
  3506. phoneNumber: string
  3507. /** 选定联系人的所有手机号(部分 Android 系统只能选联系人而不能选特定手机号) */
  3508. phoneNumberList: string
  3509. errMsg: string
  3510. }
  3511. /** 返回选择的文件的本地临时文件对象数组 */
  3512. interface ChooseFile {
  3513. /** 选择的文件名称 */
  3514. name: string
  3515. /** 本地临时文件路径 (本地路径) */
  3516. path: string
  3517. /** 本地临时文件大小,单位 B */
  3518. size: number
  3519. /** 选择的文件的会话发送时间,Unix时间戳,工具暂不支持此属性 */
  3520. time: number
  3521. /** 选择的文件类型
  3522. *
  3523. * 可选值:
  3524. * - 'video': 选择了视频文件;
  3525. * - 'image': 选择了图片文件;
  3526. * - 'file': 选择了除图片和视频的文件; */
  3527. type: 'video' | 'image' | 'file'
  3528. }
  3529. interface ChooseImageOption {
  3530. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3531. complete?: ChooseImageCompleteCallback
  3532. /** 最多可以选择的图片张数 */
  3533. count?: number
  3534. /** 接口调用失败的回调函数 */
  3535. fail?: ChooseImageFailCallback
  3536. /** 所选的图片的尺寸
  3537. *
  3538. * 可选值:
  3539. * - 'original': 原图;
  3540. * - 'compressed': 压缩图; */
  3541. sizeType?: Array<'original' | 'compressed'>
  3542. /** 选择图片的来源
  3543. *
  3544. * 可选值:
  3545. * - 'album': 从相册选图;
  3546. * - 'camera': 使用相机; */
  3547. sourceType?: Array<'album' | 'camera'>
  3548. /** 接口调用成功的回调函数 */
  3549. success?: ChooseImageSuccessCallback
  3550. }
  3551. interface ChooseImageSuccessCallbackResult {
  3552. /** 图片的本地临时文件路径列表 (本地路径) */
  3553. tempFilePaths: string[]
  3554. /** 需要基础库: `1.2.0`
  3555. *
  3556. * 图片的本地临时文件列表 */
  3557. tempFiles: ImageFile[]
  3558. errMsg: string
  3559. }
  3560. interface ChooseInvoiceOption {
  3561. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3562. complete?: ChooseInvoiceCompleteCallback
  3563. /** 接口调用失败的回调函数 */
  3564. fail?: ChooseInvoiceFailCallback
  3565. /** 接口调用成功的回调函数 */
  3566. success?: ChooseInvoiceSuccessCallback
  3567. }
  3568. interface ChooseInvoiceSuccessCallbackResult {
  3569. /** 用户选中的发票信息,格式为一个 JSON 字符串,包含三个字段: card_id:所选发票卡券的 cardId,encrypt_code:所选发票卡券的加密 code,报销方可以通过 cardId 和 encryptCode 获得报销发票的信息,app_id: 发票方的 appId。 */
  3570. invoiceInfo: string
  3571. errMsg: string
  3572. }
  3573. interface ChooseInvoiceTitleOption {
  3574. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3575. complete?: ChooseInvoiceTitleCompleteCallback
  3576. /** 接口调用失败的回调函数 */
  3577. fail?: ChooseInvoiceTitleFailCallback
  3578. /** 接口调用成功的回调函数 */
  3579. success?: ChooseInvoiceTitleSuccessCallback
  3580. }
  3581. interface ChooseInvoiceTitleSuccessCallbackResult {
  3582. /** 银行账号 */
  3583. bankAccount: string
  3584. /** 银行名称 */
  3585. bankName: string
  3586. /** 单位地址 */
  3587. companyAddress: string
  3588. /** 错误信息 */
  3589. errMsg: string
  3590. /** 抬头税号 */
  3591. taxNumber: string
  3592. /** 手机号码 */
  3593. telephone: string
  3594. /** 抬头名称 */
  3595. title: string
  3596. /** 抬头类型
  3597. *
  3598. * 可选值:
  3599. * - 0: 单位;
  3600. * - 1: 个人; */
  3601. type: 0 | 1
  3602. }
  3603. interface ChooseLicensePlateOption {
  3604. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3605. complete?: ChooseLicensePlateCompleteCallback
  3606. /** 接口调用失败的回调函数 */
  3607. fail?: ChooseLicensePlateFailCallback
  3608. /** 接口调用成功的回调函数 */
  3609. success?: ChooseLicensePlateSuccessCallback
  3610. }
  3611. interface ChooseLicensePlateSuccessCallbackResult {
  3612. /** 用户选择的车牌号 */
  3613. plateNumber: string
  3614. errMsg: string
  3615. }
  3616. interface ChooseLocationOption {
  3617. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3618. complete?: ChooseLocationCompleteCallback
  3619. /** 接口调用失败的回调函数 */
  3620. fail?: ChooseLocationFailCallback
  3621. /** 需要基础库: `2.9.0`
  3622. *
  3623. * 目标地纬度 */
  3624. latitude?: number
  3625. /** 需要基础库: `2.9.0`
  3626. *
  3627. * 目标地经度 */
  3628. longitude?: number
  3629. /** 接口调用成功的回调函数 */
  3630. success?: ChooseLocationSuccessCallback
  3631. }
  3632. interface ChooseLocationSuccessCallbackResult {
  3633. /** 详细地址 */
  3634. address: string
  3635. /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
  3636. latitude: number
  3637. /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */
  3638. longitude: number
  3639. /** 位置名称 */
  3640. name: string
  3641. errMsg: string
  3642. }
  3643. interface ChooseMediaOption {
  3644. /** 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头
  3645. *
  3646. * 可选值:
  3647. * - 'back': 使用后置摄像头;
  3648. * - 'front': 使用前置摄像头; */
  3649. camera?: 'back' | 'front'
  3650. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3651. complete?: ChooseMediaCompleteCallback
  3652. /** 最多可以选择的文件个数,基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件 */
  3653. count?: number
  3654. /** 接口调用失败的回调函数 */
  3655. fail?: ChooseMediaFailCallback
  3656. /** 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。 */
  3657. maxDuration?: number
  3658. /** 文件类型
  3659. *
  3660. * 可选值:
  3661. * - 'image': 只能拍摄图片或从相册选择图片;
  3662. * - 'video': 只能拍摄视频或从相册选择视频;
  3663. * - 'mix': 可同时选择图片和视频; */
  3664. mediaType?: Array<'image' | 'video' | 'mix'>
  3665. /** 是否压缩所选文件,基础库2.25.0前仅对 mediaType 为 image 时有效,2.25.0及以后对全量 mediaType 有效 */
  3666. sizeType?: string[]
  3667. /** 图片和视频选择的来源
  3668. *
  3669. * 可选值:
  3670. * - 'album': 从相册选择;
  3671. * - 'camera': 使用相机拍摄; */
  3672. sourceType?: Array<'album' | 'camera'>
  3673. /** 接口调用成功的回调函数 */
  3674. success?: ChooseMediaSuccessCallback
  3675. }
  3676. interface ChooseMediaSuccessCallbackResult {
  3677. /** 本地临时文件列表 */
  3678. tempFiles: MediaFile[]
  3679. /** 文件类型,有效值有 image 、video、mix */
  3680. type: string
  3681. errMsg: string
  3682. }
  3683. interface ChooseMessageFileOption {
  3684. /** 最多可以选择的文件个数,可以 0~100 */
  3685. count: number
  3686. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3687. complete?: ChooseMessageFileCompleteCallback
  3688. /** 需要基础库: `2.6.0`
  3689. *
  3690. * 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。 */
  3691. extension?: string[]
  3692. /** 接口调用失败的回调函数 */
  3693. fail?: ChooseMessageFileFailCallback
  3694. /** 接口调用成功的回调函数 */
  3695. success?: ChooseMessageFileSuccessCallback
  3696. /** 所选的文件的类型
  3697. *
  3698. * 可选值:
  3699. * - 'all': 从所有文件选择;
  3700. * - 'video': 只能选择视频文件;
  3701. * - 'image': 只能选择图片文件;
  3702. * - 'file': 可以选择除了图片和视频之外的其它的文件; */
  3703. type?: 'all' | 'video' | 'image' | 'file'
  3704. }
  3705. interface ChooseMessageFileSuccessCallbackResult {
  3706. /** 返回选择的文件的本地临时文件对象数组 */
  3707. tempFiles: ChooseFile[]
  3708. errMsg: string
  3709. }
  3710. interface ChoosePoiOption {
  3711. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3712. complete?: ChoosePoiCompleteCallback
  3713. /** 接口调用失败的回调函数 */
  3714. fail?: ChoosePoiFailCallback
  3715. /** 接口调用成功的回调函数 */
  3716. success?: ChoosePoiSuccessCallback
  3717. }
  3718. interface ChoosePoiSuccessCallbackResult {
  3719. /** 详细地址 */
  3720. address: string
  3721. /** 城市名称 */
  3722. city: number
  3723. /** 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系(即将废弃) */
  3724. latitude: number
  3725. /** 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系(即将废弃) */
  3726. longitude: number
  3727. /** 位置名称 */
  3728. name: string
  3729. /** 选择城市时,值为 1,选择精确位置时,值为 2 */
  3730. type: number
  3731. errMsg: string
  3732. }
  3733. interface ChooseVideoOption {
  3734. /** 默认拉起的是前置或者后置摄像头。部分 Android 手机下由于系统 ROM 不支持无法生效
  3735. *
  3736. * 可选值:
  3737. * - 'back': 默认拉起后置摄像头;
  3738. * - 'front': 默认拉起前置摄像头; */
  3739. camera?: 'back' | 'front'
  3740. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3741. complete?: ChooseVideoCompleteCallback
  3742. /** 需要基础库: `1.6.0`
  3743. *
  3744. * 是否压缩所选择的视频文件 */
  3745. compressed?: boolean
  3746. /** 接口调用失败的回调函数 */
  3747. fail?: ChooseVideoFailCallback
  3748. /** 拍摄视频最长拍摄时间,单位秒 */
  3749. maxDuration?: number
  3750. /** 视频选择的来源
  3751. *
  3752. * 可选值:
  3753. * - 'album': 从相册选择视频;
  3754. * - 'camera': 使用相机拍摄视频; */
  3755. sourceType?: Array<'album' | 'camera'>
  3756. /** 接口调用成功的回调函数 */
  3757. success?: ChooseVideoSuccessCallback
  3758. }
  3759. interface ChooseVideoSuccessCallbackResult {
  3760. /** 选定视频的时间长度 */
  3761. duration: number
  3762. /** 返回选定视频的高度 */
  3763. height: number
  3764. /** 选定视频的数据量大小 */
  3765. size: number
  3766. /** 选定视频的临时文件路径 (本地路径) */
  3767. tempFilePath: string
  3768. /** 返回选定视频的宽度 */
  3769. width: number
  3770. errMsg: string
  3771. }
  3772. interface ClearFiltersOption {
  3773. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3774. complete?: ClearFiltersCompleteCallback
  3775. /** 接口调用失败的回调函数 */
  3776. fail?: ClearFiltersFailCallback
  3777. /** 接口调用成功的回调函数 */
  3778. success?: ClearFiltersSuccessCallback
  3779. }
  3780. interface ClearMakeupsOption {
  3781. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3782. complete?: ClearMakeupsCompleteCallback
  3783. /** 接口调用失败的回调函数 */
  3784. fail?: ClearMakeupsFailCallback
  3785. /** 接口调用成功的回调函数 */
  3786. success?: ClearMakeupsSuccessCallback
  3787. }
  3788. interface ClearOption {
  3789. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3790. complete?: ClearCompleteCallback
  3791. /** 接口调用失败的回调函数 */
  3792. fail?: ClearFailCallback
  3793. /** 接口调用成功的回调函数 */
  3794. success?: ClearSuccessCallback
  3795. }
  3796. interface ClearStickersOption {
  3797. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3798. complete?: ClearStickersCompleteCallback
  3799. /** 接口调用失败的回调函数 */
  3800. fail?: ClearStickersFailCallback
  3801. /** 接口调用成功的回调函数 */
  3802. success?: ClearStickersSuccessCallback
  3803. }
  3804. interface ClearStorageOption {
  3805. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3806. complete?: ClearStorageCompleteCallback
  3807. /** 接口调用失败的回调函数 */
  3808. fail?: ClearStorageFailCallback
  3809. /** 接口调用成功的回调函数 */
  3810. success?: ClearStorageSuccessCallback
  3811. }
  3812. /** 菜单按钮的布局位置信息 */
  3813. interface ClientRect {
  3814. /** 下边界坐标,单位:px */
  3815. bottom: number
  3816. /** 高度,单位:px */
  3817. height: number
  3818. /** 左边界坐标,单位:px */
  3819. left: number
  3820. /** 右边界坐标,单位:px */
  3821. right: number
  3822. /** 上边界坐标,单位:px */
  3823. top: number
  3824. /** 宽度,单位:px */
  3825. width: number
  3826. }
  3827. interface CloseBLEConnectionOption {
  3828. /** 蓝牙设备 id */
  3829. deviceId: string
  3830. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3831. complete?: CloseBLEConnectionCompleteCallback
  3832. /** 接口调用失败的回调函数 */
  3833. fail?: CloseBLEConnectionFailCallback
  3834. /** 接口调用成功的回调函数 */
  3835. success?: CloseBLEConnectionSuccessCallback
  3836. }
  3837. interface CloseBluetoothAdapterOption {
  3838. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3839. complete?: CloseBluetoothAdapterCompleteCallback
  3840. /** 接口调用失败的回调函数 */
  3841. fail?: CloseBluetoothAdapterFailCallback
  3842. /** 接口调用成功的回调函数 */
  3843. success?: CloseBluetoothAdapterSuccessCallback
  3844. }
  3845. interface CloseSocketOption {
  3846. /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
  3847. code?: number
  3848. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  3849. complete?: CloseSocketCompleteCallback
  3850. /** 接口调用失败的回调函数 */
  3851. fail?: CloseSocketFailCallback
  3852. /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */
  3853. reason?: string
  3854. /** 接口调用成功的回调函数 */
  3855. success?: CloseSocketSuccessCallback
  3856. }
  3857. interface CloseSyncOption {
  3858. /** 需要被关闭的文件描述符。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) 接口获得 */
  3859. fd: string
  3860. }
  3861. /** 颜色。可以用以下几种方式来表示 canvas 中使用的颜色:
  3862. *
  3863. * - RGB 颜色: 如 `'rgb(255, 0, 0)'`
  3864. * - RGBA 颜色:如 `'rgba(255, 0, 0, 0.3)'`
  3865. * - 16 进制颜色: 如 `'#FF0000'`
  3866. * - 预定义的颜色: 如 `'red'`
  3867. *
  3868. * 其中预定义颜色有以下148个:
  3869. * *注意**: Color Name 大小写不敏感
  3870. *
  3871. * | Color Name | HEX |
  3872. * | -------------------- | ------- |
  3873. * | AliceBlue | #F0F8FF |
  3874. * | AntiqueWhite | #FAEBD7 |
  3875. * | Aqua | #00FFFF |
  3876. * | Aquamarine | #7FFFD4 |
  3877. * | Azure | #F0FFFF |
  3878. * | Beige | #F5F5DC |
  3879. * | Bisque | #FFE4C4 |
  3880. * | Black | #000000 |
  3881. * | BlanchedAlmond | #FFEBCD |
  3882. * | Blue | #0000FF |
  3883. * | BlueViolet | #8A2BE2 |
  3884. * | Brown | #A52A2A |
  3885. * | BurlyWood | #DEB887 |
  3886. * | CadetBlue | #5F9EA0 |
  3887. * | Chartreuse | #7FFF00 |
  3888. * | Chocolate | #D2691E |
  3889. * | Coral | #FF7F50 |
  3890. * | CornflowerBlue | #6495ED |
  3891. * | Cornsilk | #FFF8DC |
  3892. * | Crimson | #DC143C |
  3893. * | Cyan | #00FFFF |
  3894. * | DarkBlue | #00008B |
  3895. * | DarkCyan | #008B8B |
  3896. * | DarkGoldenRod | #B8860B |
  3897. * | DarkGray | #A9A9A9 |
  3898. * | DarkGrey | #A9A9A9 |
  3899. * | DarkGreen | #006400 |
  3900. * | DarkKhaki | #BDB76B |
  3901. * | DarkMagenta | #8B008B |
  3902. * | DarkOliveGreen | #556B2F |
  3903. * | DarkOrange | #FF8C00 |
  3904. * | DarkOrchid | #9932CC |
  3905. * | DarkRed | #8B0000 |
  3906. * | DarkSalmon | #E9967A |
  3907. * | DarkSeaGreen | #8FBC8F |
  3908. * | DarkSlateBlue | #483D8B |
  3909. * | DarkSlateGray | #2F4F4F |
  3910. * | DarkSlateGrey | #2F4F4F |
  3911. * | DarkTurquoise | #00CED1 |
  3912. * | DarkViolet | #9400D3 |
  3913. * | DeepPink | #FF1493 |
  3914. * | DeepSkyBlue | #00BFFF |
  3915. * | DimGray | #696969 |
  3916. * | DimGrey | #696969 |
  3917. * | DodgerBlue | #1E90FF |
  3918. * | FireBrick | #B22222 |
  3919. * | FloralWhite | #FFFAF0 |
  3920. * | ForestGreen | #228B22 |
  3921. * | Fuchsia | #FF00FF |
  3922. * | Gainsboro | #DCDCDC |
  3923. * | GhostWhite | #F8F8FF |
  3924. * | Gold | #FFD700 |
  3925. * | GoldenRod | #DAA520 |
  3926. * | Gray | #808080 |
  3927. * | Grey | #808080 |
  3928. * | Green | #008000 |
  3929. * | GreenYellow | #ADFF2F |
  3930. * | HoneyDew | #F0FFF0 |
  3931. * | HotPink | #FF69B4 |
  3932. * | IndianRed | #CD5C5C |
  3933. * | Indigo | #4B0082 |
  3934. * | Ivory | #FFFFF0 |
  3935. * | Khaki | #F0E68C |
  3936. * | Lavender | #E6E6FA |
  3937. * | LavenderBlush | #FFF0F5 |
  3938. * | LawnGreen | #7CFC00 |
  3939. * | LemonChiffon | #FFFACD |
  3940. * | LightBlue | #ADD8E6 |
  3941. * | LightCoral | #F08080 |
  3942. * | LightCyan | #E0FFFF |
  3943. * | LightGoldenRodYellow | #FAFAD2 |
  3944. * | LightGray | #D3D3D3 |
  3945. * | LightGrey | #D3D3D3 |
  3946. * | LightGreen | #90EE90 |
  3947. * | LightPink | #FFB6C1 |
  3948. * | LightSalmon | #FFA07A |
  3949. * | LightSeaGreen | #20B2AA |
  3950. * | LightSkyBlue | #87CEFA |
  3951. * | LightSlateGray | #778899 |
  3952. * | LightSlateGrey | #778899 |
  3953. * | LightSteelBlue | #B0C4DE |
  3954. * | LightYellow | #FFFFE0 |
  3955. * | Lime | #00FF00 |
  3956. * | LimeGreen | #32CD32 |
  3957. * | Linen | #FAF0E6 |
  3958. * | Magenta | #FF00FF |
  3959. * | Maroon | #800000 |
  3960. * | MediumAquaMarine | #66CDAA |
  3961. * | MediumBlue | #0000CD |
  3962. * | MediumOrchid | #BA55D3 |
  3963. * | MediumPurple | #9370DB |
  3964. * | MediumSeaGreen | #3CB371 |
  3965. * | MediumSlateBlue | #7B68EE |
  3966. * | MediumSpringGreen | #00FA9A |
  3967. * | MediumTurquoise | #48D1CC |
  3968. * | MediumVioletRed | #C71585 |
  3969. * | MidnightBlue | #191970 |
  3970. * | MintCream | #F5FFFA |
  3971. * | MistyRose | #FFE4E1 |
  3972. * | Moccasin | #FFE4B5 |
  3973. * | NavajoWhite | #FFDEAD |
  3974. * | Navy | #000080 |
  3975. * | OldLace | #FDF5E6 |
  3976. * | Olive | #808000 |
  3977. * | OliveDrab | #6B8E23 |
  3978. * | Orange | #FFA500 |
  3979. * | OrangeRed | #FF4500 |
  3980. * | Orchid | #DA70D6 |
  3981. * | PaleGoldenRod | #EEE8AA |
  3982. * | PaleGreen | #98FB98 |
  3983. * | PaleTurquoise | #AFEEEE |
  3984. * | PaleVioletRed | #DB7093 |
  3985. * | PapayaWhip | #FFEFD5 |
  3986. * | PeachPuff | #FFDAB9 |
  3987. * | Peru | #CD853F |
  3988. * | Pink | #FFC0CB |
  3989. * | Plum | #DDA0DD |
  3990. * | PowderBlue | #B0E0E6 |
  3991. * | Purple | #800080 |
  3992. * | RebeccaPurple | #663399 |
  3993. * | Red | #FF0000 |
  3994. * | RosyBrown | #BC8F8F |
  3995. * | RoyalBlue | #4169E1 |
  3996. * | SaddleBrown | #8B4513 |
  3997. * | Salmon | #FA8072 |
  3998. * | SandyBrown | #F4A460 |
  3999. * | SeaGreen | #2E8B57 |
  4000. * | SeaShell | #FFF5EE |
  4001. * | Sienna | #A0522D |
  4002. * | Silver | #C0C0C0 |
  4003. * | SkyBlue | #87CEEB |
  4004. * | SlateBlue | #6A5ACD |
  4005. * | SlateGray | #708090 |
  4006. * | SlateGrey | #708090 |
  4007. * | Snow | #FFFAFA |
  4008. * | SpringGreen | #00FF7F |
  4009. * | SteelBlue | #4682B4 |
  4010. * | Tan | #D2B48C |
  4011. * | Teal | #008080 |
  4012. * | Thistle | #D8BFD8 |
  4013. * | Tomato | #FF6347 |
  4014. * | Turquoise | #40E0D0 |
  4015. * | Violet | #EE82EE |
  4016. * | Wheat | #F5DEB3 |
  4017. * | White | #FFFFFF |
  4018. * | WhiteSmoke | #F5F5F5 |
  4019. * | Yellow | #FFFF00 |
  4020. * | YellowGreen | #9ACD32 | */
  4021. interface Color {}
  4022. interface CompressImageOption {
  4023. /** 图片路径,图片的路径,支持本地路径、代码包路径 */
  4024. src: string
  4025. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4026. complete?: CompressImageCompleteCallback
  4027. /** 需要基础库: `2.26.0`
  4028. *
  4029. * 压缩后图片的高度,单位为px,若不填写则默认以compressedWidth为准等比缩放 */
  4030. compressedHeight?: number
  4031. /** 需要基础库: `2.26.0`
  4032. *
  4033. * 压缩后图片的宽度,单位为px,若不填写则默认以compressedHeight为准等比缩放。 */
  4034. compressedWidth?: number
  4035. /** 接口调用失败的回调函数 */
  4036. fail?: CompressImageFailCallback
  4037. /** 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。 */
  4038. quality?: number
  4039. /** 接口调用成功的回调函数 */
  4040. success?: CompressImageSuccessCallback
  4041. }
  4042. interface CompressImageSuccessCallbackResult {
  4043. /** 压缩后图片的临时文件路径 (本地路径) */
  4044. tempFilePath: string
  4045. errMsg: string
  4046. }
  4047. interface CompressVideoOption {
  4048. /** 码率,单位 kbps */
  4049. bitrate: number
  4050. /** 帧率 */
  4051. fps: number
  4052. /** 相对于原视频的分辨率比例,取值范围(0, 1] */
  4053. resolution: number
  4054. /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */
  4055. src: string
  4056. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4057. complete?: CompressVideoCompleteCallback
  4058. /** 接口调用失败的回调函数 */
  4059. fail?: CompressVideoFailCallback
  4060. /** 压缩质量
  4061. *
  4062. * 可选值:
  4063. * - 'low': 低;
  4064. * - 'medium': 中;
  4065. * - 'high': 高; */
  4066. quality?: 'low' | 'medium' | 'high'
  4067. /** 接口调用成功的回调函数 */
  4068. success?: CompressVideoSuccessCallback
  4069. }
  4070. interface CompressVideoSuccessCallbackResult {
  4071. /** 压缩后的大小,单位 kB */
  4072. size: string
  4073. /** 压缩后的临时文件地址 */
  4074. tempFilePath: string
  4075. errMsg: string
  4076. }
  4077. interface ConnectSocketOption {
  4078. /** 开发者服务器 wss 接口地址 */
  4079. url: string
  4080. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4081. complete?: ConnectSocketCompleteCallback
  4082. /** 接口调用失败的回调函数 */
  4083. fail?: ConnectSocketFailCallback
  4084. /** 需要基础库: `2.29.0`
  4085. *
  4086. * 强制使用蜂窝网络发送请求 */
  4087. forceCellularNetwork?: boolean
  4088. /** HTTP Header,Header 中不能设置 Referer */
  4089. header?: IAnyObject
  4090. /** 需要基础库: `2.8.0`
  4091. *
  4092. * 是否开启压缩扩展 */
  4093. perMessageDeflate?: boolean
  4094. /** 需要基础库: `1.4.0`
  4095. *
  4096. * 子协议数组 */
  4097. protocols?: string[]
  4098. /** 接口调用成功的回调函数 */
  4099. success?: ConnectSocketSuccessCallback
  4100. /** 需要基础库: `2.4.0`
  4101. *
  4102. * 建立 TCP 连接的时候的 TCP_NODELAY 设置 */
  4103. tcpNoDelay?: boolean
  4104. /** 需要基础库: `2.10.0`
  4105. *
  4106. * 超时时间,单位为毫秒 */
  4107. timeout?: number
  4108. }
  4109. interface ConnectWifiOption {
  4110. /** Wi-Fi 设备 SSID */
  4111. SSID: string
  4112. /** Wi-Fi 设备密码 */
  4113. password: string
  4114. /** Wi-Fi 设备 BSSID */
  4115. BSSID?: string
  4116. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4117. complete?: ConnectWifiCompleteCallback
  4118. /** 接口调用失败的回调函数 */
  4119. fail?: ConnectWifiFailCallback
  4120. /** 需要基础库: `2.12.0`
  4121. *
  4122. * 跳转到系统设置页进行连接 */
  4123. maunal?: boolean
  4124. /** 需要基础库: `2.22.0`
  4125. *
  4126. * 是否需要返回部分 Wi-Fi 信息,仅安卓生效 */
  4127. partialInfo?: boolean
  4128. /** 接口调用成功的回调函数 */
  4129. success?: ConnectWifiSuccessCallback
  4130. }
  4131. /** 一个字典对象,用于指定是否禁用规范化(默认启用规范化) */
  4132. interface Constraints {
  4133. /** 如果指定为true则禁用标准化,默认为false */
  4134. disableNormalization?: boolean
  4135. }
  4136. interface ContextCallbackResult {
  4137. /** 节点对应的 Context 对象 */
  4138. context: IAnyObject
  4139. }
  4140. interface CopyFileOption {
  4141. /** 目标文件路径,支持本地路径 */
  4142. destPath: string
  4143. /** 源文件路径,支持本地路径 */
  4144. srcPath: string
  4145. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4146. complete?: CopyFileCompleteCallback
  4147. /** 接口调用失败的回调函数 */
  4148. fail?: CopyFileFailCallback
  4149. /** 接口调用成功的回调函数 */
  4150. success?: CopyFileSuccessCallback
  4151. }
  4152. interface CreateBLEConnectionOption {
  4153. /** 蓝牙设备 id */
  4154. deviceId: string
  4155. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4156. complete?: CreateBLEConnectionCompleteCallback
  4157. /** 接口调用失败的回调函数 */
  4158. fail?: CreateBLEConnectionFailCallback
  4159. /** 接口调用成功的回调函数 */
  4160. success?: CreateBLEConnectionSuccessCallback
  4161. /** 超时时间,单位 ms,不填表示不会超时 */
  4162. timeout?: number
  4163. }
  4164. interface CreateBLEPeripheralServerOption {
  4165. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4166. complete?: CreateBLEPeripheralServerCompleteCallback
  4167. /** 接口调用失败的回调函数 */
  4168. fail?: CreateBLEPeripheralServerFailCallback
  4169. /** 接口调用成功的回调函数 */
  4170. success?: CreateBLEPeripheralServerSuccessCallback
  4171. }
  4172. interface CreateBLEPeripheralServerSuccessCallbackResult {
  4173. /** [BLEPeripheralServer](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.html)
  4174. *
  4175. * 外围设备的服务端。 */
  4176. server: BLEPeripheralServer
  4177. errMsg: string
  4178. }
  4179. interface CreateCacheManagerOption {
  4180. /** 额外的缓存处理 */
  4181. extra?: ExtraOption
  4182. /** 全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天 */
  4183. maxAge?: number
  4184. /** 缓存模式
  4185. *
  4186. * 可选值:
  4187. * - 'weakNetwork': 弱网/离线使用缓存返回;
  4188. * - 'always': 总是使用缓存返回;
  4189. * - 'none': 不开启,后续可手动开启/停止使用缓存返回; */
  4190. mode?: 'weakNetwork' | 'always' | 'none'
  4191. /** 全局 origin */
  4192. origin?: string
  4193. }
  4194. interface CreateInferenceSessionOption {
  4195. /** 模型文件路径,目前只执行后缀为.onnx格式(支持代码包路径,和本地文件系统路径) */
  4196. model: string
  4197. /** 是否使用NPU推理,仅对IOS有效 */
  4198. allowNPU?: boolean
  4199. /** 是否生成量化模型推理 */
  4200. allowQuantize?: boolean
  4201. /** 推理精度,有效值为 0 - 4。一般来说,使用的precesionLevel等级越低,推理速度越快,但可能会损失精度。推荐开发者在开发时,在效果满足需求时优先使用更低精度以提高推理速度,节约能耗。
  4202. *
  4203. * 可选值:
  4204. * - 0: 使用fp16 存储浮点,fp16计算,Winograd 算法也采取fp16 计算,开启近似math计算;
  4205. * - 1: 使用fp16 存储浮点,fp16计算,禁用 Winograd 算法,开启近似math计算;
  4206. * - 2: 使用fp16 存储浮点,fp32计算,开启 Winograd,开启近似math计算;
  4207. * - 3: 使用fp32 存储浮点,fp32计算,开启 Winograd,开启近似math计算;
  4208. * - 4: 使用fp32 存储浮点,fp32计算,开启 Winograd,关闭近似math计算; */
  4209. precesionLevel?: 0 | 1 | 2 | 3 | 4
  4210. /** 输入典型分辨率 */
  4211. typicalShape?: IAnyObject
  4212. }
  4213. interface CreateInnerAudioContextOption {
  4214. /** 需要基础库: `2.19.0`
  4215. *
  4216. * 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项。 */
  4217. useWebAudioImplement?: boolean
  4218. }
  4219. /** 选项 */
  4220. interface CreateIntersectionObserverOption {
  4221. /** 初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。 */
  4222. initialRatio?: number
  4223. /** 需要基础库: `3.5.7`
  4224. *
  4225. * 是否使用原生观察器模式。 */
  4226. nativeMode?: boolean
  4227. /** 需要基础库: `2.0.0`
  4228. *
  4229. * 是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能) */
  4230. observeAll?: boolean
  4231. /** 一个数值数组,包含所有阈值。 */
  4232. thresholds?: number[]
  4233. }
  4234. interface CreateInterstitialAdOption {
  4235. /** 广告单元 id */
  4236. adUnitId: string
  4237. }
  4238. interface CreateMediaRecorderOption {
  4239. /** 指定录制的时长(s),到达自动停止。最大 7200,最小 5 */
  4240. duration?: number
  4241. /** 视频 fps */
  4242. fps?: number
  4243. /** 视频关键帧间隔 */
  4244. gop?: number
  4245. /** 画布录制高度 */
  4246. height?: number
  4247. /** 视频比特率(kbps),最小值 600,最大值 3000 */
  4248. videoBitsPerSecond?: number
  4249. /** 画布录制宽度 */
  4250. width?: number
  4251. }
  4252. interface CreateOffscreenCanvasOption {
  4253. /** 在自定义组件下,当前组件实例的 this */
  4254. compInst?: Component.TrivialInstance | Page.TrivialInstance
  4255. /** 画布高度 */
  4256. height?: number
  4257. /** 创建的离屏 canvas 类型
  4258. *
  4259. * 可选值:
  4260. * - 'webgl': webgl类型上下文;
  4261. * - '2d': 2d类型上下文; */
  4262. type?: 'webgl' | '2d'
  4263. /** 画布宽度 */
  4264. width?: number
  4265. }
  4266. interface CreateRewardedVideoAdOption {
  4267. /** 广告单元 id */
  4268. adUnitId: string
  4269. /** 需要基础库: `2.8.0`
  4270. *
  4271. * 是否启用多例模式,默认为false */
  4272. multiton?: boolean
  4273. }
  4274. /** 可选参数 */
  4275. interface CreateWorkerOption {
  4276. /** 需要基础库: `2.13.0`
  4277. *
  4278. * 是否使用实验worker。在iOS下,实验worker的JS运行效率比非实验worker提升数倍,如需在worker内进行重度计算的建议开启此选项。同时,实验worker存在极小概率会在系统资源紧张时被系统回收,因此建议配合 worker.onProcessKilled 事件使用,在worker被回收后可重新创建一个。 */
  4279. useExperimentalWorker?: boolean
  4280. }
  4281. interface CropImageOption {
  4282. /** 裁剪比例
  4283. *
  4284. * 可选值:
  4285. * - '16:9': 宽高比为16比9;
  4286. * - '9:16': 宽高比为9比16;
  4287. * - '4:3': 宽高比为4比3;
  4288. * - '3:4': 宽高比为3比4;
  4289. * - '5:4': 宽高比为5比4;
  4290. * - '4:5': 宽高比为4比5;
  4291. * - '1:1': 宽高比为1比1; */
  4292. cropScale: '16:9' | '9:16' | '4:3' | '3:4' | '5:4' | '4:5' | '1:1'
  4293. /** 图片路径,图片的路径,支持本地路径、代码包路径 */
  4294. src: string
  4295. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4296. complete?: CropImageCompleteCallback
  4297. /** 接口调用失败的回调函数 */
  4298. fail?: CropImageFailCallback
  4299. /** 接口调用成功的回调函数 */
  4300. success?: CropImageSuccessCallback
  4301. }
  4302. interface CropImageSuccessCallbackResult {
  4303. /** 编辑后图片的临时文件路径 (本地路径) */
  4304. tempFilePath: string
  4305. errMsg: string
  4306. }
  4307. interface CurrentState {
  4308. /** 当前缓存中的日志条数 */
  4309. logCount: number
  4310. /** 当前缓存中最大可存日志条数 */
  4311. maxLogCount: number
  4312. /** 当前缓存最大可用空间,以字节为单位 */
  4313. maxSize: number
  4314. /** 当前缓存中已使用空间,以字节为单位 */
  4315. size: number
  4316. }
  4317. /** 自定义路由动画配置 */
  4318. interface CustomRouteConfig {
  4319. /** 遮罩层背景色,支持 `rgba()` 和 `#RRGGBBAA` 写法 */
  4320. barrierColor: string
  4321. /** 点击遮罩层返回上一页 */
  4322. barrierDismissible: boolean
  4323. /** 无障碍语义 */
  4324. barrierLabel: string
  4325. /** 是否与前一个页面联动,决定前一个页 `secondaryAnimation` 是否生效 */
  4326. canTransitionFrom: boolean
  4327. /** 是否与下一个页面联动,决定当前页 `secondaryAnimation` 是否生效 */
  4328. canTransitionTo: boolean
  4329. /** 是否保持前一个页面状态 */
  4330. maintainState: boolean
  4331. /** 下一个页面推入后,不显示前一个页面 */
  4332. opaque: boolean
  4333. /** 页面推出动画时长,单位 ms */
  4334. reverseTransitionDuration: number
  4335. /** 页面推入动画时长,单位 ms */
  4336. transitionDuration: number
  4337. }
  4338. /** 自定义路由上下文对象 */
  4339. interface CustomRouteContext {
  4340. /** 返回上一级,效果同 `wx.navigateBack`,仅可用于 `worklet` 函数内 */
  4341. didPop: (...args: any[]) => any
  4342. /** 动画控制器,影响推入页面的进入和退出过渡效果 */
  4343. primaryAnimation: SharedValue<number>
  4344. /** 动画控制器状态 */
  4345. primaryAnimationStatus: SharedValue<number>
  4346. /** 动画控制器,影响栈顶页面的推出过渡效果 */
  4347. secondaryAnimation: SharedValue<number>
  4348. /** 动画控制器状态 */
  4349. secondaryAnimationStatus: SharedValue<number>
  4350. /** 手势开始控制路由,与共享元素动画有关 */
  4351. startUserGesture: (...args: any[]) => any
  4352. /** 手势不再控制路由,与 `startUserGesture` 成对调用 */
  4353. stopUserGesture: (...args: any[]) => any
  4354. /** 当前路由进度由手势控制 */
  4355. userGestureInProgress: SharedValue<number>
  4356. }
  4357. /** 弹幕内容 */
  4358. interface Danmu {
  4359. /** 弹幕文字 */
  4360. text: string
  4361. /** 弹幕颜色 */
  4362. color?: string
  4363. }
  4364. /** 动画配置 */
  4365. interface DecayOption {
  4366. /** 边界值,长度为 2 的数组 */
  4367. clamp?: any[]
  4368. /** 衰减速率 */
  4369. deceleration?: number
  4370. /** 初速度 */
  4371. velocity?: number
  4372. }
  4373. /** 帧深度纹理buffer对象 */
  4374. interface DepthBufferRes {
  4375. /** 深度纹理buffer */
  4376. DepthAddress: ArrayBuffer
  4377. /** 深度纹理高 */
  4378. height: number
  4379. /** 深度纹理宽 */
  4380. width: number
  4381. }
  4382. /** 需要基础库: `3.0.0`
  4383. *
  4384. * 深度识别配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/depth.html)。 */
  4385. interface DepthTrack {
  4386. /** 需要基础库: `3.0.0`
  4387. *
  4388. * 深度识别模式
  4389. *
  4390. * 可选值:
  4391. * - 1: 通过摄像头实时检测;
  4392. * - 2: 静态图片检测; */
  4393. mode: 1 | 2
  4394. }
  4395. /** 可选的字体描述符 */
  4396. interface DescOption {
  4397. /** 字体样式,可选值为 normal / italic / oblique */
  4398. style?: string
  4399. /** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */
  4400. variant?: string
  4401. /** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */
  4402. weight?: string
  4403. }
  4404. /** 描述符的权限 */
  4405. interface DescriptorPermission {
  4406. /** 读 */
  4407. read?: boolean
  4408. /** 写 */
  4409. write?: boolean
  4410. }
  4411. /** 指定 marker 移动到的目标点 */
  4412. interface DestinationOption {
  4413. /** 纬度 */
  4414. latitude: number
  4415. /** 经度 */
  4416. longitude: number
  4417. }
  4418. interface DetectBodyOption {
  4419. /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */
  4420. frameBuffer: ArrayBuffer
  4421. /** 图像高度 */
  4422. height: number
  4423. /** 图像宽度 */
  4424. width: number
  4425. /** 评分阈值。正常情况传入 0.8 即可。 */
  4426. scoreThreshold?: number
  4427. /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果
  4428. *
  4429. * 可选值:
  4430. * - 1: 表示输入的图片是随机的图片;
  4431. * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */
  4432. sourceType?: 1 | 0
  4433. }
  4434. interface DetectDepthOption {
  4435. /** 需要识别深度的图像像素点数据,每四项表示一个像素点的 RGBA */
  4436. frameBuffer: ArrayBuffer
  4437. /** 图像高度 */
  4438. height: number
  4439. /** 图像宽度 */
  4440. width: number
  4441. }
  4442. interface DetectFaceOption {
  4443. /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */
  4444. frameBuffer: ArrayBuffer
  4445. /** 图像高度 */
  4446. height: number
  4447. /** 图像宽度 */
  4448. width: number
  4449. /** 算法模型类型。正常情况传入 1 即可。0、1、2 分别表示小、中、大模型,模型越大识别准确率越高,但资源占用也越高。建议根据用户设备性能进行选择。
  4450. *
  4451. * 可选值:
  4452. * - 0: 小模型;
  4453. * - 1: 中模型;
  4454. * - 2: 大模型; */
  4455. modelModel?: 0 | 1 | 2
  4456. /** 评分阈值。正常情况传入 0.8 即可。 */
  4457. scoreThreshold?: number
  4458. /** 图像源类型。正常情况传入 1 即可。当输入的图片是来自一个连续视频的每一帧图像时,sourceType 传入 0 会得到更优的效果
  4459. *
  4460. * 可选值:
  4461. * - 1: 表示输入的图片是随机的图片;
  4462. * - 0: 表示输入的图片是来自一个连续视频的每一帧图像; */
  4463. sourceType?: 1 | 0
  4464. }
  4465. interface DetectHandOption {
  4466. /** 人脸图像像素点数据,每四项表示一个像素点的 RGBA */
  4467. frameBuffer: ArrayBuffer
  4468. /** 图像高度 */
  4469. height: number
  4470. /** 图像宽度 */
  4471. width: number
  4472. /** 算法检测模式
  4473. *
  4474. * 可选值:
  4475. * - 0: 检测模式,输出框和点;
  4476. * - 1: 手势模式,输出框和手势分类;
  4477. * - 2: 结合0和1模式,输出框、点、手势分类; */
  4478. algoMode?: 0 | 1 | 2
  4479. /** 评分阈值。正常情况传入 0.8 即可。 */
  4480. scoreThreshold?: number
  4481. }
  4482. interface DeviceInfo {
  4483. /** 应用(微信APP)二进制接口类型(仅 Android 支持) */
  4484. abi: string
  4485. /** 设备性能等级(仅 Android 支持)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不到50)<br> 注意:从基础库3.4.5开始,本返回值停止维护,请使用[wx.getDeviceBenchmarkInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceBenchmarkInfo.html)获取设备性能等级 */
  4486. benchmarkLevel: number
  4487. /** 设备品牌 */
  4488. brand: string
  4489. /** 需要基础库: `2.29.0`
  4490. *
  4491. * 设备 CPU 型号(仅 Android 支持)(Tips: GPU 型号可通过 WebGLRenderingContext.getExtension('WEBGL_debug_renderer_info') 来获取) */
  4492. cpuType: string
  4493. /** 需要基础库: `2.25.1`
  4494. *
  4495. * 设备二进制接口类型(仅 Android 支持) */
  4496. deviceAbi: string
  4497. /** 需要基础库: `2.30.0`
  4498. *
  4499. * 设备内存大小,单位为 MB */
  4500. memorySize: string
  4501. /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */
  4502. model: string
  4503. /** 客户端平台 */
  4504. platform: string
  4505. /** 操作系统及版本 */
  4506. system: string
  4507. }
  4508. interface DeviceVoIPInfo {
  4509. /** 需要基础库: `2.30.4`
  4510. *
  4511. * 设备组的唯一标识 id(仅设备组时) */
  4512. group_id: string
  4513. /** 设备型号 id。通过微信公众平台注册设备获得。(仅单台设备时) */
  4514. model_id: string
  4515. /** 设备唯一序列号。(仅单台设备时) */
  4516. sn: string
  4517. /** 设备(组)授权状态。0:未授权;1:已授权 */
  4518. status: number
  4519. }
  4520. interface DisableAlertBeforeUnloadOption {
  4521. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4522. complete?: DisableAlertBeforeUnloadCompleteCallback
  4523. /** 接口调用失败的回调函数 */
  4524. fail?: DisableAlertBeforeUnloadFailCallback
  4525. /** 接口调用成功的回调函数 */
  4526. success?: DisableAlertBeforeUnloadSuccessCallback
  4527. }
  4528. interface DownloadFileOption {
  4529. /** 下载资源的 url */
  4530. url: string
  4531. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4532. complete?: DownloadFileCompleteCallback
  4533. /** 需要基础库: `2.10.4`
  4534. *
  4535. * 是否开启 http2 */
  4536. enableHttp2?: boolean
  4537. /** 是否开启 profile,默认开启。开启后可在接口回调的 res.profile 中查看性能调试信息。 */
  4538. enableProfile?: boolean
  4539. /** 需要基础库: `2.10.4`
  4540. *
  4541. * 是否开启 Quic 协议(gQUIC Q43) */
  4542. enableQuic?: boolean
  4543. /** 接口调用失败的回调函数 */
  4544. fail?: DownloadFileFailCallback
  4545. /** 需要基础库: `1.8.0`
  4546. *
  4547. * 指定文件下载后存储的路径 (本地路径) */
  4548. filePath?: string
  4549. /** HTTP 请求的 Header,Header 中不能设置 Referer */
  4550. header?: IAnyObject
  4551. /** 接口调用成功的回调函数 */
  4552. success?: DownloadFileSuccessCallback
  4553. /** 需要基础库: `2.10.0`
  4554. *
  4555. * 超时时间,单位为毫秒,默认值为 60000 即一分钟。 */
  4556. timeout?: number
  4557. /** 需要基础库: `3.4.1`
  4558. *
  4559. * 使用高性能模式,暂仅支持 Android,默认关闭。该模式下有更优的网络性能表现。 */
  4560. useHighPerformanceMode?: boolean
  4561. }
  4562. interface DownloadFileSuccessCallbackResult {
  4563. /** 用户文件路径 (本地路径)。传入 filePath 时会返回,跟传入的 filePath 一致 */
  4564. filePath: string
  4565. /** 需要基础库: `2.10.4`
  4566. *
  4567. * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */
  4568. profile: RequestProfile
  4569. /** 开发者服务器返回的 HTTP 状态码 */
  4570. statusCode: number
  4571. /** 临时文件路径 (本地路径)。没传入 filePath 指定文件存储路径时会返回,下载后的文件会存储到一个临时文件 */
  4572. tempFilePath: string
  4573. errMsg: string
  4574. }
  4575. interface DownloadTaskOnHeadersReceivedListenerResult {
  4576. /** 开发者服务器返回的 HTTP Response Header */
  4577. header: IAnyObject
  4578. }
  4579. interface DownloadTaskOnProgressUpdateListenerResult {
  4580. /** 下载进度百分比 */
  4581. progress: number
  4582. /** 预期需要下载的数据总长度,单位 Bytes */
  4583. totalBytesExpectedToWrite: number
  4584. /** 已经下载的数据长度,单位 Bytes */
  4585. totalBytesWritten: number
  4586. }
  4587. interface DraggableSheetContextScrollToOption {
  4588. /** 是否启用滚动动画 */
  4589. animated?: boolean
  4590. /** 滚动动画时长(ms) */
  4591. duration?: number
  4592. /** 缓动函数 */
  4593. easingFunction?: string
  4594. /** 绝对目标位置 */
  4595. pixels?: number
  4596. /** 相对目标位置 */
  4597. size?: number
  4598. }
  4599. interface EditImageOption {
  4600. /** 图片路径,图片的路径,支持本地路径、代码包路径 */
  4601. src: string
  4602. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4603. complete?: EditImageCompleteCallback
  4604. /** 接口调用失败的回调函数 */
  4605. fail?: EditImageFailCallback
  4606. /** 接口调用成功的回调函数 */
  4607. success?: EditImageSuccessCallback
  4608. }
  4609. interface EnableAlertBeforeUnloadOption {
  4610. /** 询问对话框内容 */
  4611. message: string
  4612. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4613. complete?: EnableAlertBeforeUnloadCompleteCallback
  4614. /** 接口调用失败的回调函数 */
  4615. fail?: EnableAlertBeforeUnloadFailCallback
  4616. /** 接口调用成功的回调函数 */
  4617. success?: EnableAlertBeforeUnloadSuccessCallback
  4618. }
  4619. /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */
  4620. interface EntriesResult {
  4621. /** 文件路径 */
  4622. [path: string]: ZipFileItem
  4623. }
  4624. /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */
  4625. interface EntryItem {
  4626. /** 压缩包内文件路径 */
  4627. path: string
  4628. /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  4629. *
  4630. * 可选值:
  4631. * - 'ascii': ;
  4632. * - 'base64': ;
  4633. * - 'binary': ;
  4634. * - 'hex': ;
  4635. * - 'ucs2': 以小端序读取;
  4636. * - 'ucs-2': 以小端序读取;
  4637. * - 'utf16le': 以小端序读取;
  4638. * - 'utf-16le': 以小端序读取;
  4639. * - 'utf-8': ;
  4640. * - 'utf8': ;
  4641. * - 'latin1': ; */
  4642. encoding?:
  4643. | 'ascii'
  4644. | 'base64'
  4645. | 'binary'
  4646. | 'hex'
  4647. | 'ucs2'
  4648. | 'ucs-2'
  4649. | 'utf16le'
  4650. | 'utf-16le'
  4651. | 'utf-8'
  4652. | 'utf8'
  4653. | 'latin1'
  4654. /** 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */
  4655. length?: number
  4656. /** 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */
  4657. position?: number
  4658. }
  4659. /** 要擦除的线段数组。详见 [polyline 属性](https://developers.weixin.qq.com/miniprogram/dev/component/map.html#polyline)。 */
  4660. interface EraseLineOptions {
  4661. /** 线段的 id。 */
  4662. id: number
  4663. /** 指定线段的某一段,线段起点 index 为 0 */
  4664. index: number
  4665. /** 指定线段某一段中的点 */
  4666. point: MapPostion
  4667. /** 为 true 时擦除,false 时置灰 */
  4668. clear?: boolean
  4669. }
  4670. interface EraseLinesOption {
  4671. /** 要擦除的线段数组。详见 [polyline 属性](https://developers.weixin.qq.com/miniprogram/dev/component/map.html#polyline)。 */
  4672. lines: EraseLineOptions[]
  4673. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4674. complete?: EraseLinesCompleteCallback
  4675. /** 接口调用失败的回调函数 */
  4676. fail?: EraseLinesFailCallback
  4677. /** 接口调用成功的回调函数 */
  4678. success?: EraseLinesSuccessCallback
  4679. }
  4680. /** 错误 */
  4681. interface Error {
  4682. /** 错误 */
  4683. message: string
  4684. /** 错误调用堆栈 */
  4685. stack: string
  4686. }
  4687. /** 需要基础库: `3.4.0`
  4688. *
  4689. * 网络请求过程中的一些异常信息(例如:TCPSocket.connect 传了 enableHttpDNS: true,但最终未使用 HttpDNS 时,exception 就会说明未使用 HttpDNS 的原因) */
  4690. interface Exception {
  4691. /** 需要基础库: `3.4.0`
  4692. *
  4693. * 异常信息 */
  4694. reasons: TCPExceptionReason[]
  4695. }
  4696. /** 本次请求底层失败信息,所有失败信息均符合Errno错误码 */
  4697. interface ExceptionReason {
  4698. /** 错误原因 */
  4699. errMsg: string
  4700. /** 错误码 */
  4701. errno: string
  4702. }
  4703. interface ExecuteVisualLayerCommandOption {
  4704. /** 图层指令 */
  4705. command: string
  4706. /** 可视化图层id */
  4707. layerId: string
  4708. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4709. complete?: ExecuteVisualLayerCommandCompleteCallback
  4710. /** 接口调用失败的回调函数 */
  4711. fail?: ExecuteVisualLayerCommandFailCallback
  4712. /** 接口调用成功的回调函数 */
  4713. success?: ExecuteVisualLayerCommandSuccessCallback
  4714. }
  4715. interface ExecuteVisualLayerCommandSuccessCallbackResult {
  4716. /** SDK 返回的 JSON 数据 */
  4717. data: string
  4718. /** 调用结果 */
  4719. errMsg: string
  4720. }
  4721. interface ExitCastingOption {
  4722. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4723. complete?: ExitCastingCompleteCallback
  4724. /** 接口调用失败的回调函数 */
  4725. fail?: ExitCastingFailCallback
  4726. /** 接口调用成功的回调函数 */
  4727. success?: ExitCastingSuccessCallback
  4728. }
  4729. interface ExitFullScreenOption {
  4730. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4731. complete?: ExitFullScreenCompleteCallback
  4732. /** 接口调用失败的回调函数 */
  4733. fail?: ExitFullScreenFailCallback
  4734. /** 接口调用成功的回调函数 */
  4735. success?: ExitFullScreenSuccessCallback
  4736. }
  4737. interface ExitMiniProgramOption {
  4738. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4739. complete?: ExitMiniProgramCompleteCallback
  4740. /** 接口调用失败的回调函数 */
  4741. fail?: ExitMiniProgramFailCallback
  4742. /** 接口调用成功的回调函数 */
  4743. success?: ExitMiniProgramSuccessCallback
  4744. }
  4745. interface ExitPictureInPictureOption {
  4746. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4747. complete?: ExitPictureInPictureCompleteCallback
  4748. /** 接口调用失败的回调函数 */
  4749. fail?: ExitPictureInPictureFailCallback
  4750. /** 接口调用成功的回调函数 */
  4751. success?: ExitPictureInPictureSuccessCallback
  4752. }
  4753. interface ExitVoIPChatOption {
  4754. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4755. complete?: ExitVoIPChatCompleteCallback
  4756. /** 接口调用失败的回调函数 */
  4757. fail?: ExitVoIPChatFailCallback
  4758. /** 接口调用成功的回调函数 */
  4759. success?: ExitVoIPChatSuccessCallback
  4760. }
  4761. /** 客服信息 */
  4762. interface ExtInfoOption {
  4763. /** 客服链接 */
  4764. url: string
  4765. }
  4766. /** 额外的缓存处理 */
  4767. interface ExtraOption {
  4768. /** 需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分
  4769. *
  4770. * 可选值:
  4771. * - 'wx.login': ;
  4772. * - 'wx.checkSession': ;
  4773. * - 'wx.getSetting': ; */
  4774. apiList?: Array<'wx.login' | 'wx.checkSession' | 'wx.getSetting'>
  4775. }
  4776. interface ExtractDataSourceOption {
  4777. /** 视频源地址,只支持本地文件 */
  4778. source: string
  4779. }
  4780. /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */
  4781. interface FaceAngel {
  4782. /** 仰俯角(点头) */
  4783. pitch: number
  4784. /** 翻滚角(左右倾) */
  4785. roll: number
  4786. /** 偏航角(摇头) */
  4787. yaw: number
  4788. }
  4789. /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */
  4790. interface FaceConf {
  4791. /** 整体可信度 */
  4792. global: number
  4793. /** 左眼可信度 */
  4794. leftEye: number
  4795. /** 嘴巴可信度 */
  4796. mouth: number
  4797. /** 鼻子可信度 */
  4798. nose: number
  4799. /** 右眼可信度 */
  4800. rightEye: number
  4801. }
  4802. interface FaceDetectOption {
  4803. /** 图像像素点数据,每四项表示一个像素点的 RGBA */
  4804. frameBuffer: ArrayBuffer
  4805. /** 图像高度 */
  4806. height: number
  4807. /** 图像宽度 */
  4808. width: number
  4809. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4810. complete?: FaceDetectCompleteCallback
  4811. /** 是否返回当前图像的人脸角度信息 */
  4812. enableAngle?: boolean
  4813. /** 是否返回当前图像的人脸的置信度(可表示器官遮挡情况) */
  4814. enableConf?: boolean
  4815. /** 是否返回多张人脸的信息 */
  4816. enableMultiFace?: boolean
  4817. /** 是否返回当前图像的人脸(106 个点) */
  4818. enablePoint?: boolean
  4819. /** 接口调用失败的回调函数 */
  4820. fail?: FaceDetectFailCallback
  4821. /** 接口调用成功的回调函数 */
  4822. success?: FaceDetectSuccessCallback
  4823. }
  4824. interface FaceDetectSuccessCallbackResult {
  4825. /** 人脸角度信息,取值范围 [-1, 1],数值越接近 0 表示越正对摄像头 */
  4826. angleArray: FaceAngel
  4827. /** 人脸置信度,取值范围 [0, 1],数值越大置信度越高(遮挡越少) */
  4828. confArray: FaceConf
  4829. /** 脸部方框数值,对象包含 height, width, originX, originY 四个属性 (origin 为方框左上角坐标) */
  4830. detectRect: IAnyObject
  4831. /** 多人模式(enableMultiFace)下的人脸信息,每个对象包含上述其它属性 */
  4832. faceInfo: IAnyObject[]
  4833. /** 标记人脸轮廓的 106 个点位置数组,数组每个对象包含 x 和 y */
  4834. pointArray: IAnyObject[]
  4835. /** 脸部中心点横坐标,检测不到人脸则为 -1 */
  4836. x: number
  4837. /** 脸部中心点纵坐标,检测不到人脸则为 -1 */
  4838. y: number
  4839. errMsg: string
  4840. }
  4841. /** 需要基础库: `2.25.0`
  4842. *
  4843. * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */
  4844. interface FaceTrack {
  4845. /** 需要基础库: `2.25.0`
  4846. *
  4847. * 人脸检测模式
  4848. *
  4849. * 可选值:
  4850. * - 1: 通过摄像头实时检测;
  4851. * - 2: 静态图片检测; */
  4852. mode: 1 | 2
  4853. }
  4854. interface Fields {
  4855. /** 需要基础库: `2.1.0`
  4856. *
  4857. * 指定样式名列表,返回节点对应样式名的当前值 */
  4858. computedStyle?: string[]
  4859. /** 需要基础库: `2.4.2`
  4860. *
  4861. * 是否返回节点对应的 Context 对象 */
  4862. context?: boolean
  4863. /** 是否返回节点 dataset */
  4864. dataset?: boolean
  4865. /** 是否返回节点 id */
  4866. id?: boolean
  4867. /** 是否返回节点 mark */
  4868. mark?: boolean
  4869. /** 需要基础库: `2.7.0`
  4870. *
  4871. * 是否返回节点对应的 Node 实例 */
  4872. node?: boolean
  4873. /** 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) */
  4874. properties?: string[]
  4875. /** 是否返回节点布局位置(`left` `right` `top` `bottom`) */
  4876. rect?: boolean
  4877. /** 需要基础库: `3.3.0`
  4878. *
  4879. * 是否返回节点对应的 Ref 对象,仅 `Skyline` 下支持 */
  4880. ref?: boolean
  4881. /** 否 是否返回节点的 `scrollLeft` `scrollTop`,节点必须是 `scroll-view` 或者 `viewport` */
  4882. scrollOffset?: boolean
  4883. /** 是否返回节点尺寸(`width` `height`) */
  4884. size?: boolean
  4885. }
  4886. /** 文件数组 */
  4887. interface FileItem {
  4888. /** 文件保存时的时间戳,从1970/01/01 08:00:00 到当前时间的秒数 */
  4889. createTime: number
  4890. /** 文件路径 (本地路径) */
  4891. filePath: string
  4892. /** 本地文件大小,以字节为单位 */
  4893. size: number
  4894. }
  4895. /** 每个 FileStats 对象包含 path 和 Stats */
  4896. interface FileStats {
  4897. /** 文件/目录路径 */
  4898. path: string
  4899. /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)
  4900. *
  4901. * Stats 对象,即描述文件状态的对象 */
  4902. stats: Stats
  4903. }
  4904. interface FileSystemManagerCloseOption {
  4905. /** 需要被关闭的文件描述符。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) 接口获得 */
  4906. fd: string
  4907. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4908. complete?: FileSystemManagerCloseCompleteCallback
  4909. /** 接口调用失败的回调函数 */
  4910. fail?: FileSystemManagerCloseFailCallback
  4911. /** 接口调用成功的回调函数 */
  4912. success?: FileSystemManagerCloseSuccessCallback
  4913. }
  4914. /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */
  4915. interface ForwardMaterials {
  4916. /** 文件名 */
  4917. name: string
  4918. /** 文件路径(如果是webview则是url) */
  4919. path: string
  4920. /** 文件大小 */
  4921. size: number
  4922. /** 文件的mimetype类型 */
  4923. type: string
  4924. }
  4925. /** 视频帧数据,若取不到则返回 null。当缓冲区为空的时候可能暂停取不到数据。 */
  4926. interface FrameDataOptions {
  4927. /** 帧数据 */
  4928. data: ArrayBuffer
  4929. /** 帧数据高度 */
  4930. height: number
  4931. /** 帧原始 dts */
  4932. pkDts: number
  4933. /** 帧原始 pts */
  4934. pkPts: number
  4935. /** 帧数据宽度 */
  4936. width: number
  4937. }
  4938. interface FromScreenLocationOption {
  4939. /** x 坐标值 */
  4940. x: number
  4941. /** y 坐标值 */
  4942. y: number
  4943. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4944. complete?: FromScreenLocationCompleteCallback
  4945. /** 接口调用失败的回调函数 */
  4946. fail?: FromScreenLocationFailCallback
  4947. /** 接口调用成功的回调函数 */
  4948. success?: FromScreenLocationSuccessCallback
  4949. }
  4950. interface FstatOption {
  4951. /** 文件描述符。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) 接口获得 */
  4952. fd: string
  4953. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4954. complete?: FstatCompleteCallback
  4955. /** 接口调用失败的回调函数 */
  4956. fail?: FstatFailCallback
  4957. /** 接口调用成功的回调函数 */
  4958. success?: FstatSuccessCallback
  4959. }
  4960. interface FstatSuccessCallbackResult {
  4961. /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)
  4962. *
  4963. * Stats 对象,包含了文件的状态信息 */
  4964. stats: Stats
  4965. errMsg: string
  4966. }
  4967. interface FstatSyncOption {
  4968. /** 文件描述符。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) 接口获得 */
  4969. fd: string
  4970. }
  4971. interface FtruncateOption {
  4972. /** 文件描述符。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) 接口获得 */
  4973. fd: string
  4974. /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */
  4975. length: number
  4976. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4977. complete?: FtruncateCompleteCallback
  4978. /** 接口调用失败的回调函数 */
  4979. fail?: FtruncateFailCallback
  4980. /** 接口调用成功的回调函数 */
  4981. success?: FtruncateSuccessCallback
  4982. }
  4983. interface FtruncateSyncOption {
  4984. /** 文件描述符。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) 接口获得 */
  4985. fd: string
  4986. /** 截断位置,默认0。如果 length 小于文件长度(单位:字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */
  4987. length: number
  4988. }
  4989. interface GeneralCallbackResult {
  4990. /** 错误信息 */
  4991. errMsg: string
  4992. }
  4993. interface GetAtqaOption {
  4994. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  4995. complete?: GetAtqaCompleteCallback
  4996. /** 接口调用失败的回调函数 */
  4997. fail?: GetAtqaFailCallback
  4998. /** 接口调用成功的回调函数 */
  4999. success?: GetAtqaSuccessCallback
  5000. }
  5001. interface GetAtqaSuccessCallbackResult {
  5002. /** 返回 ATQA/SENS_RES 数据 */
  5003. atqa: ArrayBuffer
  5004. errMsg: string
  5005. }
  5006. interface GetAvailableAudioSourcesOption {
  5007. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5008. complete?: GetAvailableAudioSourcesCompleteCallback
  5009. /** 接口调用失败的回调函数 */
  5010. fail?: GetAvailableAudioSourcesFailCallback
  5011. /** 接口调用成功的回调函数 */
  5012. success?: GetAvailableAudioSourcesSuccessCallback
  5013. }
  5014. interface GetAvailableAudioSourcesSuccessCallbackResult {
  5015. /** 支持的音频输入源列表,可在 [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
  5016. *
  5017. * 可选值:
  5018. * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用;
  5019. * - 'buildInMic': 手机麦克风,仅限 iOS;
  5020. * - 'headsetMic': 耳机麦克风,仅限 iOS;
  5021. * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android;
  5022. * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android;
  5023. * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android;
  5024. * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */
  5025. audioSources: Array<
  5026. | 'auto'
  5027. | 'buildInMic'
  5028. | 'headsetMic'
  5029. | 'mic'
  5030. | 'camcorder'
  5031. | 'voice_communication'
  5032. | 'voice_recognition'
  5033. >
  5034. errMsg: string
  5035. }
  5036. interface GetBLEDeviceCharacteristicsOption {
  5037. /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */
  5038. deviceId: string
  5039. /** 蓝牙服务 UUID。需要先调用 [wx.getBLEDeviceServices](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html) 获取 */
  5040. serviceId: string
  5041. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5042. complete?: GetBLEDeviceCharacteristicsCompleteCallback
  5043. /** 接口调用失败的回调函数 */
  5044. fail?: GetBLEDeviceCharacteristicsFailCallback
  5045. /** 接口调用成功的回调函数 */
  5046. success?: GetBLEDeviceCharacteristicsSuccessCallback
  5047. }
  5048. interface GetBLEDeviceCharacteristicsSuccessCallbackResult {
  5049. /** 设备特征列表 */
  5050. characteristics: BLECharacteristic[]
  5051. errMsg: string
  5052. }
  5053. interface GetBLEDeviceRSSIOption {
  5054. /** 蓝牙设备 id */
  5055. deviceId: string
  5056. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5057. complete?: GetBLEDeviceRSSICompleteCallback
  5058. /** 接口调用失败的回调函数 */
  5059. fail?: GetBLEDeviceRSSIFailCallback
  5060. /** 接口调用成功的回调函数 */
  5061. success?: GetBLEDeviceRSSISuccessCallback
  5062. }
  5063. interface GetBLEDeviceRSSISuccessCallbackResult {
  5064. /** 信号强度,单位 dBm */
  5065. RSSI: number
  5066. errMsg: string
  5067. }
  5068. interface GetBLEDeviceServicesOption {
  5069. /** 蓝牙设备 id。需要已经通过 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 建立连接 */
  5070. deviceId: string
  5071. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5072. complete?: GetBLEDeviceServicesCompleteCallback
  5073. /** 接口调用失败的回调函数 */
  5074. fail?: GetBLEDeviceServicesFailCallback
  5075. /** 接口调用成功的回调函数 */
  5076. success?: GetBLEDeviceServicesSuccessCallback
  5077. }
  5078. interface GetBLEDeviceServicesSuccessCallbackResult {
  5079. /** 设备服务列表 */
  5080. services: BLEService[]
  5081. errMsg: string
  5082. }
  5083. interface GetBLEMTUOption {
  5084. /** 蓝牙设备 id */
  5085. deviceId: string
  5086. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5087. complete?: GetBLEMTUCompleteCallback
  5088. /** 接口调用失败的回调函数 */
  5089. fail?: GetBLEMTUFailCallback
  5090. /** 接口调用成功的回调函数 */
  5091. success?: GetBLEMTUSuccessCallback
  5092. /** 写模式 (iOS 特有参数)
  5093. *
  5094. * 可选值:
  5095. * - 'write': 有回复写;
  5096. * - 'writeNoResponse': 无回复写; */
  5097. writeType?: 'write' | 'writeNoResponse'
  5098. }
  5099. interface GetBLEMTUSuccessCallbackResult {
  5100. /** 最大传输单元 */
  5101. mtu: number
  5102. errMsg: string
  5103. }
  5104. interface GetBackgroundAudioPlayerStateOption {
  5105. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5106. complete?: GetBackgroundAudioPlayerStateCompleteCallback
  5107. /** 接口调用失败的回调函数 */
  5108. fail?: GetBackgroundAudioPlayerStateFailCallback
  5109. /** 接口调用成功的回调函数 */
  5110. success?: GetBackgroundAudioPlayerStateSuccessCallback
  5111. }
  5112. interface GetBackgroundAudioPlayerStateSuccessCallbackResult {
  5113. /** 选定音频的播放位置(单位:s),只有在音乐播放中时返回 */
  5114. currentPosition: number
  5115. /** 歌曲数据链接,只有在音乐播放中时返回 */
  5116. dataUrl: string
  5117. /** 音频的下载进度百分比,只有在音乐播放中时返回 */
  5118. downloadPercent: number
  5119. /** 选定音频的长度(单位:s),只有在音乐播放中时返回 */
  5120. duration: number
  5121. /** 播放状态
  5122. *
  5123. * 可选值:
  5124. * - 0: 暂停中;
  5125. * - 1: 播放中;
  5126. * - 2: 没有音乐播放; */
  5127. status: 0 | 1 | 2
  5128. errMsg: string
  5129. }
  5130. interface GetBackgroundFetchDataOption {
  5131. /** 缓存数据类别,取值为 periodic 或 pre */
  5132. fetchType: string
  5133. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5134. complete?: GetBackgroundFetchDataCompleteCallback
  5135. /** 接口调用失败的回调函数 */
  5136. fail?: GetBackgroundFetchDataFailCallback
  5137. /** 接口调用成功的回调函数 */
  5138. success?: GetBackgroundFetchDataSuccessCallback
  5139. }
  5140. interface GetBackgroundFetchDataSuccessCallbackResult {
  5141. /** 缓存数据 */
  5142. fetchedData: string
  5143. /** 小程序页面路径 */
  5144. path: string
  5145. /** 传给页面的 query 参数 */
  5146. query: string
  5147. /** 进入小程序的场景值 */
  5148. scene: number
  5149. /** 客户端拿到缓存数据的时间戳 ms。(iOS 时间戳存在异常,8.0.27 修复) */
  5150. timeStamp: number
  5151. errMsg: string
  5152. }
  5153. interface GetBackgroundFetchTokenOption {
  5154. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5155. complete?: GetBackgroundFetchTokenCompleteCallback
  5156. /** 接口调用失败的回调函数 */
  5157. fail?: GetBackgroundFetchTokenFailCallback
  5158. /** 接口调用成功的回调函数 */
  5159. success?: GetBackgroundFetchTokenSuccessCallback
  5160. }
  5161. interface GetBackgroundFetchTokenSuccessCallbackResult {
  5162. /** 接口调用结果 */
  5163. errMsg: string
  5164. /** 自定义的登录态 */
  5165. token: string
  5166. }
  5167. interface GetBatteryInfoOption {
  5168. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5169. complete?: GetBatteryInfoCompleteCallback
  5170. /** 接口调用失败的回调函数 */
  5171. fail?: GetBatteryInfoFailCallback
  5172. /** 接口调用成功的回调函数 */
  5173. success?: GetBatteryInfoSuccessCallback
  5174. }
  5175. interface GetBatteryInfoSuccessCallbackResult {
  5176. /** 是否正在充电中 */
  5177. isCharging: boolean
  5178. /** 需要基础库: `3.4.3`
  5179. *
  5180. * 是否处于省电模式,目前仅 iOS 端支持 */
  5181. isLowPowerModeEnabled: boolean
  5182. /** 设备电量,范围 1 - 100 */
  5183. level: number
  5184. errMsg: string
  5185. }
  5186. interface GetBatteryInfoSyncResult {
  5187. /** 是否正在充电中 */
  5188. isCharging: boolean
  5189. /** 需要基础库: `3.4.3`
  5190. *
  5191. * 是否处于省电模式,目前仅 iOS 端支持 */
  5192. isLowPowerModeEnabled: boolean
  5193. /** 设备电量,范围 1 - 100 */
  5194. level: number
  5195. }
  5196. interface GetBeaconsOption {
  5197. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5198. complete?: GetBeaconsCompleteCallback
  5199. /** 接口调用失败的回调函数 */
  5200. fail?: GetBeaconsFailCallback
  5201. /** 接口调用成功的回调函数 */
  5202. success?: GetBeaconsSuccessCallback
  5203. }
  5204. interface GetBeaconsSuccessCallbackResult {
  5205. /** Beacon 设备列表 */
  5206. beacons: BeaconInfo[]
  5207. errMsg: string
  5208. }
  5209. interface GetBluetoothAdapterStateOption {
  5210. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5211. complete?: GetBluetoothAdapterStateCompleteCallback
  5212. /** 接口调用失败的回调函数 */
  5213. fail?: GetBluetoothAdapterStateFailCallback
  5214. /** 接口调用成功的回调函数 */
  5215. success?: GetBluetoothAdapterStateSuccessCallback
  5216. }
  5217. interface GetBluetoothAdapterStateSuccessCallbackResult {
  5218. /** 蓝牙适配器是否可用 */
  5219. available: boolean
  5220. /** 是否正在搜索设备 */
  5221. discovering: boolean
  5222. errMsg: string
  5223. }
  5224. interface GetBluetoothDevicesOption {
  5225. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5226. complete?: GetBluetoothDevicesCompleteCallback
  5227. /** 接口调用失败的回调函数 */
  5228. fail?: GetBluetoothDevicesFailCallback
  5229. /** 接口调用成功的回调函数 */
  5230. success?: GetBluetoothDevicesSuccessCallback
  5231. }
  5232. interface GetBluetoothDevicesSuccessCallbackResult {
  5233. /** UUID 对应的已连接设备列表 */
  5234. devices: BlueToothDevice[]
  5235. errMsg: string
  5236. }
  5237. interface GetCenterLocationOption {
  5238. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5239. complete?: GetCenterLocationCompleteCallback
  5240. /** 接口调用失败的回调函数 */
  5241. fail?: GetCenterLocationFailCallback
  5242. /** 图标路径,支持网络路径、本地路径、代码包路径 */
  5243. iconPath?: string
  5244. /** 接口调用成功的回调函数 */
  5245. success?: GetCenterLocationSuccessCallback
  5246. }
  5247. interface GetCenterLocationSuccessCallbackResult {
  5248. /** 纬度 */
  5249. latitude: number
  5250. /** 经度 */
  5251. longitude: number
  5252. errMsg: string
  5253. }
  5254. interface GetChannelsLiveInfoOption {
  5255. /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */
  5256. finderUserName: string
  5257. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5258. complete?: GetChannelsLiveInfoCompleteCallback
  5259. /** 需要基础库: `2.29.0`
  5260. *
  5261. * 结束时间,筛选指定时间段的直播。若上传了startTime,未上传endTime,则endTime默认取当前时间 */
  5262. endTime?: number
  5263. /** 接口调用失败的回调函数 */
  5264. fail?: GetChannelsLiveInfoFailCallback
  5265. /** 需要基础库: `2.29.0`
  5266. *
  5267. * 起始时间,筛选指定时间段的直播。若上传了endTime,未上传startTime,则startTime默认为0 */
  5268. startTime?: number
  5269. /** 接口调用成功的回调函数 */
  5270. success?: GetChannelsLiveInfoSuccessCallback
  5271. }
  5272. interface GetChannelsLiveInfoSuccessCallbackResult {
  5273. /** 直播主题 */
  5274. description: string
  5275. /** 直播 feedId */
  5276. feedId: string
  5277. /** 视频号头像 */
  5278. headUrl: string
  5279. /** 视频号昵称 */
  5280. nickname: string
  5281. /** 直播 nonceId */
  5282. nonceId: string
  5283. /** 需要基础库: `2.29.0`
  5284. *
  5285. * 除最近的一条直播外,其他的直播列表(注意:每次最多返回按时间戳增序排列的15个直播信息,其中时间最近的那个直播会在接口其他的返回参数中展示,其余的直播会在该字段中展示)。 */
  5286. otherInfos: any[]
  5287. /** 需要基础库: `2.29.0`
  5288. *
  5289. * 直播回放状态
  5290. *
  5291. * 可选值:
  5292. * - 0: 未生成;
  5293. * - 1: 已生成;
  5294. * - 3: 生成中;
  5295. * - 6: 已过期; */
  5296. replayStatus: 0 | 1 | 3 | 6
  5297. /** 直播状态
  5298. *
  5299. * 可选值:
  5300. * - 1: 直播状态不存在(针对未开过直播的主播);
  5301. * - 2: 直播中;
  5302. * - 3: 直播已结束;
  5303. * - 4: 直播准备中(未开播); */
  5304. status: 1 | 2 | 3 | 4
  5305. errMsg: string
  5306. }
  5307. interface GetChannelsLiveNoticeInfoOption {
  5308. /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */
  5309. finderUserName: string
  5310. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5311. complete?: GetChannelsLiveNoticeInfoCompleteCallback
  5312. /** 接口调用失败的回调函数 */
  5313. fail?: GetChannelsLiveNoticeInfoFailCallback
  5314. /** 接口调用成功的回调函数 */
  5315. success?: GetChannelsLiveNoticeInfoSuccessCallback
  5316. }
  5317. interface GetChannelsLiveNoticeInfoSuccessCallbackResult {
  5318. /** 直播封面 */
  5319. headUrl: string
  5320. /** 视频号昵称 */
  5321. nickname: string
  5322. /** 预告 id */
  5323. noticeId: string
  5324. /** 需要基础库: `2.24.6`
  5325. *
  5326. * 除最近的一条预告信息外,其他的预告信息列表(注意:每次最多返回按时间戳增序排列的15个预告信息,其中时间最近的那个预告信息会在接口其他的返回参数中展示,其余的预告信息会在该字段中展示)。 */
  5327. otherInfos: any[]
  5328. /** 是否可预约 */
  5329. reservable: boolean
  5330. /** 开始时间 */
  5331. startTime: string
  5332. /** 预告状态:0可用 1取消 2已用 */
  5333. status: number
  5334. errMsg: string
  5335. }
  5336. interface GetChannelsShareKeyOption {
  5337. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5338. complete?: GetChannelsShareKeyCompleteCallback
  5339. /** 接口调用失败的回调函数 */
  5340. fail?: GetChannelsShareKeyFailCallback
  5341. /** 接口调用成功的回调函数 */
  5342. success?: GetChannelsShareKeySuccessCallback
  5343. }
  5344. interface GetChannelsShareKeySuccessCallbackResult {
  5345. /** 推广员 */
  5346. promoter: PromoterResult
  5347. /** 分享者 openid */
  5348. sharerOpenId: string
  5349. errMsg: string
  5350. }
  5351. interface GetClipboardDataOption {
  5352. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5353. complete?: GetClipboardDataCompleteCallback
  5354. /** 接口调用失败的回调函数 */
  5355. fail?: GetClipboardDataFailCallback
  5356. /** 接口调用成功的回调函数 */
  5357. success?: GetClipboardDataSuccessCallback
  5358. }
  5359. interface GetClipboardDataSuccessCallbackOption {
  5360. /** 剪贴板的内容 */
  5361. data: string
  5362. errMsg: string
  5363. }
  5364. interface GetCommonConfigOption {
  5365. /** 0:通用配置模式 1:实验模式, 参数与返回结果的使用等效于接口[wx.getExptInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html) */
  5366. mode: number
  5367. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5368. complete?: GetCommonConfigCompleteCallback
  5369. /** 接口调用失败的回调函数 */
  5370. fail?: GetCommonConfigFailCallback
  5371. /** 需要获取的数据指标的对象数组,每个string的格式约定:配置类型_分表key */
  5372. keys?: string[]
  5373. /** 接口调用成功的回调函数 */
  5374. success?: GetCommonConfigSuccessCallback
  5375. }
  5376. interface GetCommonConfigSuccessCallbackResult {
  5377. /** 根据conf_type来确定conf内容,conf_type为1时conf是一个json数组, 类似"[{xxx},{xxx}]", 每一项对应表类型每一行配置内容, 其中conf_type为2时conf是一个json对象,类似"{xxxx}" */
  5378. conf: string
  5379. /** 配置类型, 1-表类型 2-kv类型 */
  5380. conf_type: number
  5381. /** 错误码 */
  5382. errcode: number
  5383. /** 错误信息 */
  5384. errmsg: string
  5385. /** 过期时间,单位秒. 0表示当次有效 */
  5386. expire_sec: number
  5387. errMsg: string
  5388. }
  5389. interface GetConnectedBluetoothDevicesOption {
  5390. /** 蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID) */
  5391. services: string[]
  5392. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5393. complete?: GetConnectedBluetoothDevicesCompleteCallback
  5394. /** 接口调用失败的回调函数 */
  5395. fail?: GetConnectedBluetoothDevicesFailCallback
  5396. /** 接口调用成功的回调函数 */
  5397. success?: GetConnectedBluetoothDevicesSuccessCallback
  5398. }
  5399. interface GetConnectedBluetoothDevicesSuccessCallbackResult {
  5400. /** 搜索到的设备列表 */
  5401. devices: BluetoothDeviceInfo[]
  5402. errMsg: string
  5403. }
  5404. interface GetConnectedWifiOption {
  5405. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5406. complete?: GetConnectedWifiCompleteCallback
  5407. /** 接口调用失败的回调函数 */
  5408. fail?: GetConnectedWifiFailCallback
  5409. /** 需要基础库: `2.22.0`
  5410. *
  5411. * 是否需要返回部分 Wi-Fi 信息 */
  5412. partialInfo?: boolean
  5413. /** 接口调用成功的回调函数 */
  5414. success?: GetConnectedWifiSuccessCallback
  5415. }
  5416. interface GetConnectedWifiSuccessCallbackResult {
  5417. /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html)
  5418. *
  5419. * Wi-Fi 信息 */
  5420. wifi: WifiInfo
  5421. errMsg: string
  5422. }
  5423. interface GetContentsOption {
  5424. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5425. complete?: GetContentsCompleteCallback
  5426. /** 接口调用失败的回调函数 */
  5427. fail?: GetContentsFailCallback
  5428. /** 接口调用成功的回调函数 */
  5429. success?: GetContentsSuccessCallback
  5430. }
  5431. interface GetContentsSuccessCallbackResult {
  5432. /** 表示内容的delta对象 */
  5433. delta: IAnyObject
  5434. /** 带标签的HTML内容 */
  5435. html: string
  5436. /** 纯文本内容 */
  5437. text: string
  5438. errMsg: string
  5439. }
  5440. interface GetDeviceBenchmarkInfoOption {
  5441. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5442. complete?: GetDeviceBenchmarkInfoCompleteCallback
  5443. /** 接口调用失败的回调函数 */
  5444. fail?: GetDeviceBenchmarkInfoFailCallback
  5445. /** 接口调用成功的回调函数 */
  5446. success?: GetDeviceBenchmarkInfoSuccessCallback
  5447. }
  5448. interface GetDeviceBenchmarkInfoSuccessCallbackResult {
  5449. /** 需要基础库: `3.4.5`
  5450. *
  5451. * 设备性能等级。-1(性能未知),>=1(设备性能值,该值越高,设备性能越好,目前最高不超过50)<br> 注意:设备的benchmarkLevel值不会随着时间的推移而变化 */
  5452. benchmarkLevel: number
  5453. /** 需要基础库: `3.4.5`
  5454. *
  5455. * 设备机型档位。0(档位未知),1(高档机),2(中档机),3(低档机)<br> 注意:设备的机型档位会随着时间的推移而变化,因此在使用时请谨慎对待;若业务逻辑依赖于机型档位,但担心受到机型档位变化的影响,请参考[设备档位映射文档](https://developers.weixin.qq.com/minigame/dev/guide/performance/perf-benchmarkLevel.html)自行判断机型档位 */
  5456. modelLevel: number
  5457. errMsg: string
  5458. }
  5459. interface GetDeviceVoIPListOption {
  5460. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5461. complete?: GetDeviceVoIPListCompleteCallback
  5462. /** 接口调用失败的回调函数 */
  5463. fail?: GetDeviceVoIPListFailCallback
  5464. /** 接口调用成功的回调函数 */
  5465. success?: GetDeviceVoIPListSuccessCallback
  5466. }
  5467. interface GetDeviceVoIPListSuccessCallbackResult {
  5468. list: DeviceVoIPInfo[]
  5469. errMsg: string
  5470. }
  5471. interface GetExtConfigOption {
  5472. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5473. complete?: GetExtConfigCompleteCallback
  5474. /** 接口调用失败的回调函数 */
  5475. fail?: GetExtConfigFailCallback
  5476. /** 接口调用成功的回调函数 */
  5477. success?: GetExtConfigSuccessCallback
  5478. }
  5479. interface GetExtConfigSuccessCallbackResult {
  5480. /** 第三方平台自定义的数据 */
  5481. extConfig: IAnyObject
  5482. errMsg: string
  5483. }
  5484. interface GetFileInfoOption {
  5485. /** 要读取的文件路径 (本地路径) */
  5486. filePath: string
  5487. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5488. complete?: GetFileInfoCompleteCallback
  5489. /** 计算文件摘要的算法
  5490. *
  5491. * 可选值:
  5492. * - 'md5': md5 算法;
  5493. * - 'sha1': sha1 算法;
  5494. * - 'sha256': sha256 算法; */
  5495. digestAlgorithm?: 'md5' | 'sha1' | 'sha256'
  5496. /** 接口调用失败的回调函数 */
  5497. fail?: GetFileInfoFailCallback
  5498. /** 接口调用成功的回调函数 */
  5499. success?: GetFileInfoSuccessCallback
  5500. }
  5501. interface GetFileInfoSuccessCallbackResult {
  5502. /** 按照传入的 digestAlgorithm 计算得出的的文件摘要 */
  5503. digest: string
  5504. /** 文件大小,以字节为单位 */
  5505. size: number
  5506. errMsg: string
  5507. }
  5508. interface GetFuzzyLocationOption {
  5509. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5510. complete?: GetFuzzyLocationCompleteCallback
  5511. /** 接口调用失败的回调函数 */
  5512. fail?: GetFuzzyLocationFailCallback
  5513. /** 接口调用成功的回调函数 */
  5514. success?: GetFuzzyLocationSuccessCallback
  5515. /** 返回的坐标类型
  5516. *
  5517. * 可选值:
  5518. * - 'wgs84': 返回 gps 坐标;
  5519. * - 'gcj02': 返回 gcj02 坐标,可用于 wx.openLocation; */
  5520. type?: 'wgs84' | 'gcj02'
  5521. }
  5522. interface GetFuzzyLocationSuccessCallbackResult {
  5523. /** 纬度,范围为 -90~90,负数表示南纬 */
  5524. latitude: number
  5525. /** 经度,范围为 -180~180,负数表示西经 */
  5526. longitude: number
  5527. errMsg: string
  5528. }
  5529. interface GetGroupEnterInfoOption {
  5530. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5531. complete?: GetGroupEnterInfoCompleteCallback
  5532. /** 接口调用失败的回调函数 */
  5533. fail?: GetGroupEnterInfoFailCallback
  5534. /** 接口调用成功的回调函数 */
  5535. success?: GetGroupEnterInfoSuccessCallback
  5536. }
  5537. interface GetGroupEnterInfoSuccessCallbackResult {
  5538. /** 需要基础库: `2.7.0`
  5539. *
  5540. * 敏感数据对应的云 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) */
  5541. cloudID: string
  5542. /** 包括敏感数据在内的完整转发信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  5543. encryptedData: string
  5544. /** 错误信息 */
  5545. errMsg: string
  5546. /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  5547. iv: string
  5548. }
  5549. interface GetHCEStateOption {
  5550. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5551. complete?: GetHCEStateCompleteCallback
  5552. /** 接口调用失败的回调函数 */
  5553. fail?: GetHCEStateFailCallback
  5554. /** 接口调用成功的回调函数 */
  5555. success?: GetHCEStateSuccessCallback
  5556. }
  5557. interface GetHistoricalBytesOption {
  5558. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5559. complete?: GetHistoricalBytesCompleteCallback
  5560. /** 接口调用失败的回调函数 */
  5561. fail?: GetHistoricalBytesFailCallback
  5562. /** 接口调用成功的回调函数 */
  5563. success?: GetHistoricalBytesSuccessCallback
  5564. }
  5565. interface GetHistoricalBytesSuccessCallbackResult {
  5566. /** 返回历史二进制数据 */
  5567. histBytes: ArrayBuffer
  5568. errMsg: string
  5569. }
  5570. interface GetImageInfoOption {
  5571. /** 图片的路径,支持网络路径、本地路径、代码包路径 */
  5572. src: string
  5573. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5574. complete?: GetImageInfoCompleteCallback
  5575. /** 接口调用失败的回调函数 */
  5576. fail?: GetImageInfoFailCallback
  5577. /** 接口调用成功的回调函数 */
  5578. success?: GetImageInfoSuccessCallback
  5579. }
  5580. interface GetImageInfoSuccessCallbackResult {
  5581. /** 图片原始高度,单位px。不考虑旋转。 */
  5582. height: number
  5583. /** 需要基础库: `1.9.90`
  5584. *
  5585. * [拍照时设备方向](http://sylvana.net/jpegcrop/exif_orientation.html)
  5586. *
  5587. * 可选值:
  5588. * - 'up': 默认方向(手机横持拍照),对应 Exif 中的 1。或无 orientation 信息。;
  5589. * - 'up-mirrored': 同 up,但镜像翻转,对应 Exif 中的 2;
  5590. * - 'down': 旋转180度,对应 Exif 中的 3;
  5591. * - 'down-mirrored': 同 down,但镜像翻转,对应 Exif 中的 4;
  5592. * - 'left-mirrored': 同 left,但镜像翻转,对应 Exif 中的 5;
  5593. * - 'right': 顺时针旋转90度,对应 Exif 中的 6;
  5594. * - 'right-mirrored': 同 right,但镜像翻转,对应 Exif 中的 7;
  5595. * - 'left': 逆时针旋转90度,对应 Exif 中的 8; */
  5596. orientation:
  5597. | 'up'
  5598. | 'up-mirrored'
  5599. | 'down'
  5600. | 'down-mirrored'
  5601. | 'left-mirrored'
  5602. | 'right'
  5603. | 'right-mirrored'
  5604. | 'left'
  5605. /** 图片的本地路径 */
  5606. path: string
  5607. /** 需要基础库: `1.9.90`
  5608. *
  5609. * 图片格式
  5610. *
  5611. * 可选值:
  5612. * - 'unknown': 未知格式;
  5613. * - 'jpeg': jpeg压缩格式;
  5614. * - 'png': png压缩格式;
  5615. * - 'gif': gif压缩格式;
  5616. * - 'tiff': tiff压缩格式; */
  5617. type: 'unknown' | 'jpeg' | 'png' | 'gif' | 'tiff'
  5618. /** 图片原始宽度,单位px。不考虑旋转。 */
  5619. width: number
  5620. errMsg: string
  5621. }
  5622. interface GetInferenceEnvInfoOption {
  5623. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5624. complete?: GetInferenceEnvInfoCompleteCallback
  5625. /** 接口调用失败的回调函数 */
  5626. fail?: GetInferenceEnvInfoFailCallback
  5627. /** 接口调用成功的回调函数 */
  5628. success?: GetInferenceEnvInfoSuccessCallback
  5629. }
  5630. interface GetInferenceEnvInfoSuccessCallbackResult {
  5631. /** AI推理引擎版本 */
  5632. ver: string
  5633. errMsg: string
  5634. }
  5635. interface GetLatestUserKeyOption {
  5636. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5637. complete?: GetLatestUserKeyCompleteCallback
  5638. /** 接口调用失败的回调函数 */
  5639. fail?: GetLatestUserKeyFailCallback
  5640. /** 接口调用成功的回调函数 */
  5641. success?: GetLatestUserKeySuccessCallback
  5642. }
  5643. interface GetLatestUserKeySuccessCallbackResult {
  5644. /** 用户加密密钥 */
  5645. encryptKey: string
  5646. /** 密钥过期时间 */
  5647. expireTime: number
  5648. /** 密钥初始向量 */
  5649. iv: string
  5650. /** 密钥版本 */
  5651. version: number
  5652. errMsg: string
  5653. }
  5654. interface GetLocalIPAddressOption {
  5655. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5656. complete?: GetLocalIPAddressCompleteCallback
  5657. /** 接口调用失败的回调函数 */
  5658. fail?: GetLocalIPAddressFailCallback
  5659. /** 接口调用成功的回调函数 */
  5660. success?: GetLocalIPAddressSuccessCallback
  5661. }
  5662. interface GetLocalIPAddressSuccessCallbackResult {
  5663. /** 错误信息 */
  5664. errMsg: string
  5665. /** 本机局域网IP地址 */
  5666. localip: string
  5667. /** 本机局域网子网掩码,基础库 2.24.0 开始支持 */
  5668. netmask: string
  5669. }
  5670. interface GetLocationOption {
  5671. /** 需要基础库: `1.6.0`
  5672. *
  5673. * 传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度 */
  5674. altitude?: boolean
  5675. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5676. complete?: GetLocationCompleteCallback
  5677. /** 接口调用失败的回调函数 */
  5678. fail?: GetLocationFailCallback
  5679. /** 需要基础库: `2.9.0`
  5680. *
  5681. * 高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果 */
  5682. highAccuracyExpireTime?: number
  5683. /** 需要基础库: `2.9.0`
  5684. *
  5685. * 开启高精度定位 */
  5686. isHighAccuracy?: boolean
  5687. /** 接口调用成功的回调函数 */
  5688. success?: GetLocationSuccessCallback
  5689. /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */
  5690. type?: string
  5691. }
  5692. interface GetLocationSuccessCallbackResult {
  5693. /** 位置的精确度,反应与真实位置之间的接近程度,可以理解成10即与真实位置相差10m,越小越精确 */
  5694. accuracy: number
  5695. /** 需要基础库: `1.2.0`
  5696. *
  5697. * 高度,单位 m */
  5698. altitude: number
  5699. /** 需要基础库: `1.2.0`
  5700. *
  5701. * 水平精度,单位 m */
  5702. horizontalAccuracy: number
  5703. /** 纬度,范围为 -90~90,负数表示南纬 */
  5704. latitude: number
  5705. /** 经度,范围为 -180~180,负数表示西经 */
  5706. longitude: number
  5707. /** 速度,单位 m/s */
  5708. speed: number
  5709. /** 需要基础库: `1.2.0`
  5710. *
  5711. * 垂直精度,单位 m(Android 无法获取,返回 0) */
  5712. verticalAccuracy: number
  5713. errMsg: string
  5714. }
  5715. interface GetLogManagerOption {
  5716. /** 需要基础库: `2.3.2`
  5717. *
  5718. * 取值为0/1,取值为0表示会把 `App`、`Page` 的生命周期函数和 `wx` 命名空间下的函数调用写入日志,取值为1则不会。默认值是 0 */
  5719. level?: number
  5720. }
  5721. interface GetMaxTransceiveLengthOption {
  5722. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5723. complete?: GetMaxTransceiveLengthCompleteCallback
  5724. /** 接口调用失败的回调函数 */
  5725. fail?: GetMaxTransceiveLengthFailCallback
  5726. /** 接口调用成功的回调函数 */
  5727. success?: GetMaxTransceiveLengthSuccessCallback
  5728. }
  5729. interface GetMaxTransceiveLengthSuccessCallbackResult {
  5730. /** 最大传输长度 */
  5731. length: number
  5732. errMsg: string
  5733. }
  5734. interface GetMaxZoomOption {
  5735. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5736. complete?: GetMaxZoomCompleteCallback
  5737. /** 接口调用失败的回调函数 */
  5738. fail?: GetMaxZoomFailCallback
  5739. /** 接口调用成功的回调函数 */
  5740. success?: GetMaxZoomSuccessCallback
  5741. }
  5742. interface GetMaxZoomSuccessCallbackResult {
  5743. /** 最大放缩级别 */
  5744. maxZoom: string
  5745. errMsg: string
  5746. }
  5747. interface GetNetworkTypeOption {
  5748. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5749. complete?: GetNetworkTypeCompleteCallback
  5750. /** 接口调用失败的回调函数 */
  5751. fail?: GetNetworkTypeFailCallback
  5752. /** 接口调用成功的回调函数 */
  5753. success?: GetNetworkTypeSuccessCallback
  5754. }
  5755. interface GetNetworkTypeSuccessCallbackResult {
  5756. /** 需要基础库: `2.22.1`
  5757. *
  5758. * 设备是否使用了网络代理 */
  5759. hasSystemProxy: boolean
  5760. /** 网络类型
  5761. *
  5762. * 可选值:
  5763. * - 'wifi': wifi 网络;
  5764. * - '2g': 2g 网络;
  5765. * - '3g': 3g 网络;
  5766. * - '4g': 4g 网络;
  5767. * - '5g': 5g 网络;
  5768. * - 'unknown': Android 下不常见的网络类型;
  5769. * - 'none': 无网络; */
  5770. networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none'
  5771. /** 信号强弱,单位 dbm */
  5772. signalStrength: number
  5773. /** 需要基础库: `3.5.3`
  5774. *
  5775. * 是否处于弱网环境 */
  5776. weakNet: boolean
  5777. errMsg: string
  5778. }
  5779. interface GetPrivacySettingOption {
  5780. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5781. complete?: GetPrivacySettingCompleteCallback
  5782. /** 接口调用失败的回调函数 */
  5783. fail?: GetPrivacySettingFailCallback
  5784. /** 接口调用成功的回调函数 */
  5785. success?: GetPrivacySettingSuccessCallback
  5786. }
  5787. interface GetPrivacySettingSuccessCallbackResult {
  5788. /** 是否需要用户授权隐私协议(如果开发者没有在「MP后台-设置-服务内容声明-用户隐私保护指引」中声明隐私收集类型则会返回false;如果开发者声明了隐私收集,且用户之前同意过隐私协议则会返回false;如果开发者声明了隐私收集,且用户还没同意过则返回true;如果用户之前同意过、但后来小程序又新增了隐私收集类型也会返回true) */
  5789. needAuthorization: boolean
  5790. /** 隐私授权协议的名称 */
  5791. privacyContractName: string
  5792. errMsg: string
  5793. }
  5794. interface GetRandomValuesOption {
  5795. /** 整数,生成随机数的字节数,最大 1048576 */
  5796. length: number
  5797. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5798. complete?: GetRandomValuesCompleteCallback
  5799. /** 接口调用失败的回调函数 */
  5800. fail?: GetRandomValuesFailCallback
  5801. /** 接口调用成功的回调函数 */
  5802. success?: GetRandomValuesSuccessCallback
  5803. }
  5804. interface GetRandomValuesSuccessCallbackResult {
  5805. /** 随机数内容,长度为传入的字节数 */
  5806. randomValues: ArrayBuffer
  5807. errMsg: string
  5808. }
  5809. interface GetRegionOption {
  5810. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5811. complete?: GetRegionCompleteCallback
  5812. /** 接口调用失败的回调函数 */
  5813. fail?: GetRegionFailCallback
  5814. /** 接口调用成功的回调函数 */
  5815. success?: GetRegionSuccessCallback
  5816. }
  5817. interface GetRegionSuccessCallbackResult {
  5818. /** 东北角经纬度 */
  5819. northeast: MapPostion
  5820. /** 西南角经纬度 */
  5821. southwest: MapPostion
  5822. errMsg: string
  5823. }
  5824. interface GetRendererUserAgentOption {
  5825. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5826. complete?: GetRendererUserAgentCompleteCallback
  5827. /** 接口调用失败的回调函数 */
  5828. fail?: GetRendererUserAgentFailCallback
  5829. /** 接口调用成功的回调函数 */
  5830. success?: GetRendererUserAgentSuccessCallback
  5831. }
  5832. interface GetRotateOption {
  5833. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5834. complete?: GetRotateCompleteCallback
  5835. /** 接口调用失败的回调函数 */
  5836. fail?: GetRotateFailCallback
  5837. /** 接口调用成功的回调函数 */
  5838. success?: GetRotateSuccessCallback
  5839. }
  5840. interface GetRotateSuccessCallbackResult {
  5841. /** 旋转角 */
  5842. rotate: number
  5843. errMsg: string
  5844. }
  5845. interface GetSakOption {
  5846. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5847. complete?: GetSakCompleteCallback
  5848. /** 接口调用失败的回调函数 */
  5849. fail?: GetSakFailCallback
  5850. /** 接口调用成功的回调函数 */
  5851. success?: GetSakSuccessCallback
  5852. }
  5853. interface GetSakSuccessCallbackResult {
  5854. /** 返回 SAK/SEL_RES 数据 */
  5855. sak: number
  5856. errMsg: string
  5857. }
  5858. interface GetSavedFileListOption {
  5859. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5860. complete?: GetSavedFileListCompleteCallback
  5861. /** 接口调用失败的回调函数 */
  5862. fail?: GetSavedFileListFailCallback
  5863. /** 接口调用成功的回调函数 */
  5864. success?: GetSavedFileListSuccessCallback
  5865. }
  5866. interface GetSavedFileListSuccessCallbackResult {
  5867. /** 文件数组 */
  5868. fileList: FileItem[]
  5869. errMsg: string
  5870. }
  5871. interface GetScaleOption {
  5872. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5873. complete?: GetScaleCompleteCallback
  5874. /** 接口调用失败的回调函数 */
  5875. fail?: GetScaleFailCallback
  5876. /** 接口调用成功的回调函数 */
  5877. success?: GetScaleSuccessCallback
  5878. }
  5879. interface GetScaleSuccessCallbackResult {
  5880. /** 缩放值 */
  5881. scale: number
  5882. errMsg: string
  5883. }
  5884. interface GetScreenBrightnessOption {
  5885. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5886. complete?: GetScreenBrightnessCompleteCallback
  5887. /** 接口调用失败的回调函数 */
  5888. fail?: GetScreenBrightnessFailCallback
  5889. /** 接口调用成功的回调函数 */
  5890. success?: GetScreenBrightnessSuccessCallback
  5891. }
  5892. interface GetScreenBrightnessSuccessCallbackOption {
  5893. /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮 */
  5894. value: number
  5895. errMsg: string
  5896. }
  5897. interface GetScreenRecordingStateOption {
  5898. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5899. complete?: GetScreenRecordingStateCompleteCallback
  5900. /** 接口调用失败的回调函数 */
  5901. fail?: GetScreenRecordingStateFailCallback
  5902. /** 接口调用成功的回调函数 */
  5903. success?: GetScreenRecordingStateSuccessCallback
  5904. }
  5905. interface GetScreenRecordingStateSuccessCallbackResult {
  5906. /** 录屏状态
  5907. *
  5908. * 可选值:
  5909. * - 'on': 开启;
  5910. * - 'off': 关闭; */
  5911. state: 'on' | 'off'
  5912. errMsg: string
  5913. }
  5914. interface GetSelectedTextRangeOption {
  5915. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5916. complete?: GetSelectedTextRangeCompleteCallback
  5917. /** 接口调用失败的回调函数 */
  5918. fail?: GetSelectedTextRangeFailCallback
  5919. /** 接口调用成功的回调函数 */
  5920. success?: GetSelectedTextRangeSuccessCallback
  5921. }
  5922. interface GetSelectedTextRangeSuccessCallbackResult {
  5923. /** 输入框光标结束位置 */
  5924. end: number
  5925. /** 输入框光标起始位置 */
  5926. start: number
  5927. errMsg: string
  5928. }
  5929. interface GetSelectionTextOption {
  5930. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5931. complete?: GetSelectionTextCompleteCallback
  5932. /** 接口调用失败的回调函数 */
  5933. fail?: GetSelectionTextFailCallback
  5934. /** 接口调用成功的回调函数 */
  5935. success?: GetSelectionTextSuccessCallback
  5936. }
  5937. interface GetSelectionTextSuccessCallbackResult {
  5938. /** 纯文本内容 */
  5939. text: string
  5940. errMsg: string
  5941. }
  5942. interface GetSettingOption {
  5943. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5944. complete?: GetSettingCompleteCallback
  5945. /** 接口调用失败的回调函数 */
  5946. fail?: GetSettingFailCallback
  5947. /** 接口调用成功的回调函数 */
  5948. success?: GetSettingSuccessCallback
  5949. /** 需要基础库: `2.10.1`
  5950. *
  5951. * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */
  5952. withSubscriptions?: boolean
  5953. }
  5954. interface GetSettingSuccessCallbackResult {
  5955. /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
  5956. *
  5957. * 用户授权结果 */
  5958. authSetting: AuthSetting
  5959. /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html)
  5960. *
  5961. * 需要基础库: `2.10.1`
  5962. *
  5963. * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */
  5964. subscriptionsSetting: SubscriptionsSetting
  5965. /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
  5966. *
  5967. * 在插件中调用时,当前宿主小程序的用户授权结果 */
  5968. miniprogramAuthSetting?: AuthSetting
  5969. errMsg: string
  5970. }
  5971. interface GetShareInfoOption {
  5972. /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#获取更多转发信息) */
  5973. shareTicket: string
  5974. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5975. complete?: GetShareInfoCompleteCallback
  5976. /** 接口调用失败的回调函数 */
  5977. fail?: GetShareInfoFailCallback
  5978. /** 接口调用成功的回调函数 */
  5979. success?: GetShareInfoSuccessCallback
  5980. /** 需要基础库: `1.9.90`
  5981. *
  5982. * 超时时间,单位 ms */
  5983. timeout?: number
  5984. }
  5985. interface GetSkewOption {
  5986. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  5987. complete?: GetSkewCompleteCallback
  5988. /** 接口调用失败的回调函数 */
  5989. fail?: GetSkewFailCallback
  5990. /** 接口调用成功的回调函数 */
  5991. success?: GetSkewSuccessCallback
  5992. }
  5993. interface GetSkewSuccessCallbackResult {
  5994. /** 倾斜角 */
  5995. skew: number
  5996. errMsg: string
  5997. }
  5998. interface GetSkylineInfoOption {
  5999. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6000. complete?: GetSkylineInfoCompleteCallback
  6001. /** 接口调用失败的回调函数 */
  6002. fail?: GetSkylineInfoFailCallback
  6003. /** 接口调用成功的回调函数 */
  6004. success?: GetSkylineInfoSuccessCallback
  6005. }
  6006. interface GetStorageInfoOption {
  6007. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6008. complete?: GetStorageInfoCompleteCallback
  6009. /** 接口调用失败的回调函数 */
  6010. fail?: GetStorageInfoFailCallback
  6011. /** 接口调用成功的回调函数 */
  6012. success?: GetStorageInfoSuccessCallback
  6013. }
  6014. interface GetStorageInfoSuccessCallbackOption {
  6015. /** 当前占用的空间大小, 单位 KB */
  6016. currentSize: number
  6017. /** 当前 storage 中所有的 key */
  6018. keys: string[]
  6019. /** 限制的空间大小,单位 KB */
  6020. limitSize: number
  6021. errMsg: string
  6022. }
  6023. interface GetStorageInfoSyncOption {
  6024. /** 当前占用的空间大小, 单位 KB */
  6025. currentSize: number
  6026. /** 当前 storage 中所有的 key */
  6027. keys: string[]
  6028. /** 限制的空间大小,单位 KB */
  6029. limitSize: number
  6030. }
  6031. interface GetStorageOption<T = any> {
  6032. /** 本地缓存中指定的 key */
  6033. key: string
  6034. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6035. complete?: GetStorageCompleteCallback
  6036. /** 需要基础库: `2.21.3`
  6037. *
  6038. * 是否开启加密存储。只有异步的 getStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 解密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true */
  6039. encrypt?: boolean
  6040. /** 接口调用失败的回调函数 */
  6041. fail?: GetStorageFailCallback
  6042. /** 接口调用成功的回调函数 */
  6043. success?: GetStorageSuccessCallback<T>
  6044. }
  6045. interface GetStorageSuccessCallbackResult<T = any> {
  6046. /** key对应的内容 */
  6047. data: T
  6048. errMsg: string
  6049. }
  6050. interface GetSystemInfoAsyncOption {
  6051. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6052. complete?: GetSystemInfoAsyncCompleteCallback
  6053. /** 接口调用失败的回调函数 */
  6054. fail?: GetSystemInfoAsyncFailCallback
  6055. /** 接口调用成功的回调函数 */
  6056. success?: GetSystemInfoAsyncSuccessCallback
  6057. }
  6058. interface GetSystemInfoOption {
  6059. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6060. complete?: GetSystemInfoCompleteCallback
  6061. /** 接口调用失败的回调函数 */
  6062. fail?: GetSystemInfoFailCallback
  6063. /** 接口调用成功的回调函数 */
  6064. success?: GetSystemInfoSuccessCallback
  6065. }
  6066. interface GetUserInfoOption {
  6067. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6068. complete?: GetUserInfoCompleteCallback
  6069. /** 接口调用失败的回调函数 */
  6070. fail?: GetUserInfoFailCallback
  6071. /** 显示用户信息的语言
  6072. *
  6073. * 可选值:
  6074. * - 'en': 英文;
  6075. * - 'zh_CN': 简体中文;
  6076. * - 'zh_TW': 繁体中文; */
  6077. lang?: 'en' | 'zh_CN' | 'zh_TW'
  6078. /** 接口调用成功的回调函数 */
  6079. success?: GetUserInfoSuccessCallback
  6080. /** 是否带上登录态信息。当 withCredentials 为 true 时,要求此前有调用过 wx.login 且登录态尚未过期,此时返回的数据会包含 encryptedData, iv 等敏感信息;当 withCredentials 为 false 时,不要求有登录态,返回的数据不包含 encryptedData, iv 等敏感信息。 */
  6081. withCredentials?: boolean
  6082. }
  6083. interface GetUserInfoSuccessCallbackResult {
  6084. /** 需要基础库: `2.7.0`
  6085. *
  6086. * 敏感数据对应的云 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) */
  6087. cloudID: string
  6088. /** 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */
  6089. encryptedData: string
  6090. /** 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */
  6091. iv: string
  6092. /** 不包括敏感信息的原始数据字符串,用于计算签名 */
  6093. rawData: string
  6094. /** 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  6095. signature: string
  6096. /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html)
  6097. *
  6098. * 用户信息对象,不包含 openid 等敏感信息 */
  6099. userInfo: UserInfo
  6100. errMsg: string
  6101. }
  6102. interface GetUserProfileOption {
  6103. /** 声明获取用户个人信息后的用途,不超过30个字符 */
  6104. desc: string
  6105. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6106. complete?: GetUserProfileCompleteCallback
  6107. /** 接口调用失败的回调函数 */
  6108. fail?: GetUserProfileFailCallback
  6109. /** 显示用户信息的语言
  6110. *
  6111. * 可选值:
  6112. * - 'en': 英文;
  6113. * - 'zh_CN': 简体中文;
  6114. * - 'zh_TW': 繁体中文; */
  6115. lang?: 'en' | 'zh_CN' | 'zh_TW'
  6116. /** 接口调用成功的回调函数 */
  6117. success?: GetUserProfileSuccessCallback
  6118. }
  6119. interface GetUserProfileSuccessCallbackResult {
  6120. /** 需要基础库: `2.10.4`
  6121. *
  6122. * 敏感数据对应的云 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) */
  6123. cloudID: string
  6124. /** 需要基础库: `2.10.4`
  6125. *
  6126. * 包括敏感数据在内的完整用户信息的加密数据,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */
  6127. encryptedData: string
  6128. /** 需要基础库: `2.10.4`
  6129. *
  6130. * 加密算法的初始向量,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) */
  6131. iv: string
  6132. /** 需要基础库: `2.10.4`
  6133. *
  6134. * 不包括敏感信息的原始数据字符串,用于计算签名 */
  6135. rawData: string
  6136. /** 需要基础库: `2.10.4`
  6137. *
  6138. * 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 [用户数据的签名验证和加解密](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  6139. signature: string
  6140. /** [UserInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/UserInfo.html)
  6141. *
  6142. * 需要基础库: `2.10.4`
  6143. *
  6144. * 用户信息对象 */
  6145. userInfo: UserInfo
  6146. errMsg: string
  6147. }
  6148. interface GetVideoInfoOption {
  6149. /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 */
  6150. src: string
  6151. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6152. complete?: GetVideoInfoCompleteCallback
  6153. /** 接口调用失败的回调函数 */
  6154. fail?: GetVideoInfoFailCallback
  6155. /** 接口调用成功的回调函数 */
  6156. success?: GetVideoInfoSuccessCallback
  6157. }
  6158. interface GetVideoInfoSuccessCallbackResult {
  6159. /** 视频码率,单位 kbps */
  6160. bitrate: number
  6161. /** 视频长度 */
  6162. duration: number
  6163. /** 视频帧率 */
  6164. fps: number
  6165. /** 视频的长,单位 px */
  6166. height: number
  6167. /** 画面方向
  6168. *
  6169. * 可选值:
  6170. * - 'up': 默认;
  6171. * - 'down': 180度旋转;
  6172. * - 'left': 逆时针旋转90度;
  6173. * - 'right': 顺时针旋转90度;
  6174. * - 'up-mirrored': 同up,但水平翻转;
  6175. * - 'down-mirrored': 同down,但水平翻转;
  6176. * - 'left-mirrored': 同left,但垂直翻转;
  6177. * - 'right-mirrored': 同right,但垂直翻转; */
  6178. orientation:
  6179. | 'up'
  6180. | 'down'
  6181. | 'left'
  6182. | 'right'
  6183. | 'up-mirrored'
  6184. | 'down-mirrored'
  6185. | 'left-mirrored'
  6186. | 'right-mirrored'
  6187. /** 视频大小,单位 kB */
  6188. size: number
  6189. /** 视频格式 */
  6190. type: string
  6191. /** 视频的宽,单位 px */
  6192. width: number
  6193. errMsg: string
  6194. }
  6195. interface GetWeRunDataOption {
  6196. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6197. complete?: GetWeRunDataCompleteCallback
  6198. /** 接口调用失败的回调函数 */
  6199. fail?: GetWeRunDataFailCallback
  6200. /** 接口调用成功的回调函数 */
  6201. success?: GetWeRunDataSuccessCallback
  6202. }
  6203. interface GetWeRunDataSuccessCallbackResult {
  6204. /** 需要基础库: `2.7.0`
  6205. *
  6206. * 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见[云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#method-cloud) */
  6207. cloudID: string
  6208. /** 包括敏感数据在内的完整用户信息的加密数据,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html)。解密后得到的数据结构见后文 */
  6209. encryptedData: string
  6210. /** 加密算法的初始向量,详细见[加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html) */
  6211. iv: string
  6212. errMsg: string
  6213. }
  6214. interface GetWifiListOption {
  6215. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6216. complete?: GetWifiListCompleteCallback
  6217. /** 接口调用失败的回调函数 */
  6218. fail?: GetWifiListFailCallback
  6219. /** 接口调用成功的回调函数 */
  6220. success?: GetWifiListSuccessCallback
  6221. }
  6222. /** 需要基础库: `2.28.0`
  6223. *
  6224. * 手势检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/hand.html)。 */
  6225. interface HandTrack {
  6226. /** 需要基础库: `2.28.0`
  6227. *
  6228. * 手势检测模式
  6229. *
  6230. * 可选值:
  6231. * - 1: 通过摄像头实时检测;
  6232. * - 2: 静态图片检测; */
  6233. mode: 1 | 2
  6234. }
  6235. interface HideHomeButtonOption {
  6236. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6237. complete?: HideHomeButtonCompleteCallback
  6238. /** 接口调用失败的回调函数 */
  6239. fail?: HideHomeButtonFailCallback
  6240. /** 接口调用成功的回调函数 */
  6241. success?: HideHomeButtonSuccessCallback
  6242. }
  6243. interface HideKeyboardOption {
  6244. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6245. complete?: HideKeyboardCompleteCallback
  6246. /** 接口调用失败的回调函数 */
  6247. fail?: HideKeyboardFailCallback
  6248. /** 接口调用成功的回调函数 */
  6249. success?: HideKeyboardSuccessCallback
  6250. }
  6251. interface HideLoadingOption {
  6252. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6253. complete?: HideLoadingCompleteCallback
  6254. /** 接口调用失败的回调函数 */
  6255. fail?: HideLoadingFailCallback
  6256. /** 需要基础库: `2.22.1`
  6257. *
  6258. * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */
  6259. noConflict?: boolean
  6260. /** 接口调用成功的回调函数 */
  6261. success?: HideLoadingSuccessCallback
  6262. }
  6263. interface HideNavigationBarLoadingOption {
  6264. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6265. complete?: HideNavigationBarLoadingCompleteCallback
  6266. /** 接口调用失败的回调函数 */
  6267. fail?: HideNavigationBarLoadingFailCallback
  6268. /** 接口调用成功的回调函数 */
  6269. success?: HideNavigationBarLoadingSuccessCallback
  6270. }
  6271. interface HideShareMenuOption {
  6272. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6273. complete?: HideShareMenuCompleteCallback
  6274. /** 接口调用失败的回调函数 */
  6275. fail?: HideShareMenuFailCallback
  6276. /** 需要基础库: `2.11.3`
  6277. *
  6278. * 本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */
  6279. menus?: string[]
  6280. /** 接口调用成功的回调函数 */
  6281. success?: HideShareMenuSuccessCallback
  6282. }
  6283. interface HideTabBarOption {
  6284. /** 是否需要动画效果 */
  6285. animation?: boolean
  6286. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6287. complete?: HideTabBarCompleteCallback
  6288. /** 接口调用失败的回调函数 */
  6289. fail?: HideTabBarFailCallback
  6290. /** 接口调用成功的回调函数 */
  6291. success?: HideTabBarSuccessCallback
  6292. }
  6293. interface HideTabBarRedDotOption {
  6294. /** tabBar 的哪一项,从左边算起 */
  6295. index: number
  6296. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6297. complete?: HideTabBarRedDotCompleteCallback
  6298. /** 接口调用失败的回调函数 */
  6299. fail?: HideTabBarRedDotFailCallback
  6300. /** 接口调用成功的回调函数 */
  6301. success?: HideTabBarRedDotSuccessCallback
  6302. }
  6303. interface HideToastOption {
  6304. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6305. complete?: HideToastCompleteCallback
  6306. /** 接口调用失败的回调函数 */
  6307. fail?: HideToastFailCallback
  6308. /** 需要基础库: `2.22.1`
  6309. *
  6310. * 目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性 */
  6311. noConflict?: boolean
  6312. /** 接口调用成功的回调函数 */
  6313. success?: HideToastSuccessCallback
  6314. }
  6315. /** 检测结果 */
  6316. interface HitTestRes {
  6317. /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */
  6318. transform: Float32Array
  6319. }
  6320. /** 需要基础库: `3.3.0`
  6321. *
  6322. * 身份证检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/idcard.html)。 */
  6323. interface IDCardTrack {
  6324. /** 需要基础库: `3.3.0`
  6325. *
  6326. * 身份证检测模式
  6327. *
  6328. * 可选值:
  6329. * - 2: 静态图片检测; */
  6330. mode: 2
  6331. }
  6332. /** 需要基础库: `2.7.0`
  6333. *
  6334. * 图片对象 */
  6335. interface Image {
  6336. /** 图片的真实高度 */
  6337. height: number
  6338. /** 图片加载发生错误后触发的回调函数 */
  6339. onerror: (...args: any[]) => any
  6340. /** 图片加载完成后触发的回调函数 */
  6341. onload: (...args: any[]) => any
  6342. /** 需要基础库: `2.13.0`
  6343. *
  6344. * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */
  6345. referrerPolicy: string
  6346. /** 图片的 URL。v2.11.0 起支持传递 base64 Data URI */
  6347. src: string
  6348. /** 图片的真实宽度 */
  6349. width: number
  6350. }
  6351. /** 需要基础库: `2.9.0`
  6352. *
  6353. * ImageData 对象 */
  6354. interface ImageData {
  6355. /** 一维数组,包含以 RGBA 顺序的数据,数据使用 0 至 255(包含)的整数表示 */
  6356. data: Uint8ClampedArray
  6357. /** 使用像素描述 ImageData 的实际高度 */
  6358. height: number
  6359. /** 使用像素描述 ImageData 的实际宽度 */
  6360. width: number
  6361. }
  6362. /** 需要基础库: `1.2.0`
  6363. *
  6364. * 图片的本地临时文件列表 */
  6365. interface ImageFile {
  6366. /** 本地临时文件路径 (本地路径) */
  6367. path: string
  6368. /** 本地临时文件大小,单位 B */
  6369. size: number
  6370. }
  6371. interface IncludePointsOption {
  6372. /** 要显示在可视区域内的坐标点列表 */
  6373. points: MapPostion[]
  6374. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6375. complete?: IncludePointsCompleteCallback
  6376. /** 接口调用失败的回调函数 */
  6377. fail?: IncludePointsFailCallback
  6378. /** 坐标点形成的矩形边缘到地图边缘的距离,单位像素。格式为[上,右,下,左]。开发者工具暂不支持padding参数。 */
  6379. padding?: number[]
  6380. /** 接口调用成功的回调函数 */
  6381. success?: IncludePointsSuccessCallback
  6382. }
  6383. interface InitFaceDetectOption {
  6384. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6385. complete?: InitFaceDetectCompleteCallback
  6386. /** 接口调用失败的回调函数 */
  6387. fail?: InitFaceDetectFailCallback
  6388. /** 接口调用成功的回调函数 */
  6389. success?: InitFaceDetectSuccessCallback
  6390. }
  6391. interface InitMarkerClusterOption {
  6392. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6393. complete?: InitMarkerClusterCompleteCallback
  6394. /** 启用默认的聚合样式 */
  6395. enableDefaultStyle?: boolean
  6396. /** 接口调用失败的回调函数 */
  6397. fail?: InitMarkerClusterFailCallback
  6398. /** 聚合算法的可聚合距离,即距离小于该值的点会聚合至一起,以像素为单位 */
  6399. gridSize?: number
  6400. /** 接口调用成功的回调函数 */
  6401. success?: InitMarkerClusterSuccessCallback
  6402. /** 点击已经聚合的标记点时是否实现聚合分离 */
  6403. zoomOnClick?: boolean
  6404. }
  6405. /** 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)事件来处理这种情况。
  6406. *
  6407. * **支持格式**
  6408. *
  6409. * | 格式 | iOS | Android |
  6410. * | ---- | ---- | ------- |
  6411. * | flac | x | √ |
  6412. * | m4a | √ | √ |
  6413. * | ogg | x | √ |
  6414. * | ape | x | √ |
  6415. * | amr | x | √ |
  6416. * | wma | x | √ |
  6417. * | wav | √ | √ |
  6418. * | mp3 | √ | √ |
  6419. * | mp4 | x | √ |
  6420. * | aac | √ | √ |
  6421. * | aiff | √ | x |
  6422. * | caf | √ | x |
  6423. *
  6424. * **示例代码**
  6425. *
  6426. * ```js
  6427. const innerAudioContext = wx.createInnerAudioContext()
  6428. innerAudioContext.autoplay = true
  6429. innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
  6430. innerAudioContext.onPlay(() => {
  6431. console.log('开始播放')
  6432. })
  6433. innerAudioContext.onError((res) => {
  6434. console.log(res.errMsg)
  6435. console.log(res.errCode)
  6436. })
  6437. ``` */
  6438. interface InnerAudioContext {
  6439. /** 是否自动开始播放,默认为 `false` */
  6440. autoplay: boolean
  6441. /** 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(只读) */
  6442. buffered: number
  6443. /** 当前音频的播放位置(单位 s)。只有在当前有合法的 src 时返回,时间保留小数点后 6 位(currentTime 属性在基础库 2.26.2 之前只读,基础库 2.26.2 开始可读可写,改变 currentTime 值等同于调用 seek) */
  6444. currentTime: number
  6445. /** 当前音频的长度(单位 s)。只有在当前有合法的 src 时返回(只读) */
  6446. duration: number
  6447. /** 是否循环播放,默认为 `false` */
  6448. loop: boolean
  6449. /** 是否遵循系统静音开关,默认为 `true`。当此参数为 `false` 时,即使用户打开了静音开关,也能继续发出声音。从 2.3.0 版本开始此参数不生效,使用 [wx.setInnerAudioOption](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html) 接口统一设置。 */
  6450. obeyMuteSwitch: boolean
  6451. /** 当前是是否暂停或停止状态(只读) */
  6452. paused: boolean
  6453. /** 需要基础库: `2.11.0`
  6454. *
  6455. * 播放速度。范围 0.5-2.0,默认为 1。(Android 需要 6 及以上版本) */
  6456. playbackRate: number
  6457. /** 需要基础库: `2.13.0`
  6458. *
  6459. * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */
  6460. referrerPolicy: string
  6461. /** 音频资源的地址,用于直接播放。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 开始支持云文件ID */
  6462. src: string
  6463. /** 开始播放的位置(单位:s),默认为 0 */
  6464. startTime: number
  6465. /** 需要基础库: `1.9.90`
  6466. *
  6467. * 音量。范围 0~1。默认为 1 */
  6468. volume: number
  6469. /** [InnerAudioContext.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.destroy.html)
  6470. *
  6471. * 在插件中使用:支持
  6472. *
  6473. * 销毁当前实例 */
  6474. destroy(): void
  6475. /** [InnerAudioContext.offCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offCanplay.html)
  6476. *
  6477. * 需要基础库: `1.9.0`
  6478. *
  6479. * 在插件中使用:支持
  6480. *
  6481. * 移除音频进入可以播放状态的事件的监听函数
  6482. *
  6483. * **示例代码**
  6484. *
  6485. * ```js
  6486. const listener = function (res) { console.log(res) }
  6487. InnerAudioContext.onCanplay(listener)
  6488. InnerAudioContext.offCanplay(listener) // 需传入与监听时同一个的函数对象
  6489. ``` */
  6490. offCanplay(
  6491. /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */
  6492. listener?: OffCanplayCallback
  6493. ): void
  6494. /** [InnerAudioContext.offEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offEnded.html)
  6495. *
  6496. * 需要基础库: `1.9.0`
  6497. *
  6498. * 在插件中使用:支持
  6499. *
  6500. * 移除音频自然播放至结束的事件的监听函数
  6501. *
  6502. * **示例代码**
  6503. *
  6504. * ```js
  6505. const listener = function (res) { console.log(res) }
  6506. InnerAudioContext.onEnded(listener)
  6507. InnerAudioContext.offEnded(listener) // 需传入与监听时同一个的函数对象
  6508. ``` */
  6509. offEnded(
  6510. /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */
  6511. listener?: OffEndedCallback
  6512. ): void
  6513. /** [InnerAudioContext.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offError.html)
  6514. *
  6515. * 需要基础库: `1.9.0`
  6516. *
  6517. * 在插件中使用:支持
  6518. *
  6519. * 移除音频播放错误事件的监听函数
  6520. *
  6521. * **示例代码**
  6522. *
  6523. * ```js
  6524. const listener = function (res) { console.log(res) }
  6525. InnerAudioContext.onError(listener)
  6526. InnerAudioContext.offError(listener) // 需传入与监听时同一个的函数对象
  6527. ``` */
  6528. offError(
  6529. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  6530. listener?: InnerAudioContextOffErrorCallback
  6531. ): void
  6532. /** [InnerAudioContext.offPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPause.html)
  6533. *
  6534. * 需要基础库: `1.9.0`
  6535. *
  6536. * 在插件中使用:支持
  6537. *
  6538. * 移除音频暂停事件的监听函数
  6539. *
  6540. * **示例代码**
  6541. *
  6542. * ```js
  6543. const listener = function (res) { console.log(res) }
  6544. InnerAudioContext.onPause(listener)
  6545. InnerAudioContext.offPause(listener) // 需传入与监听时同一个的函数对象
  6546. ``` */
  6547. offPause(
  6548. /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */
  6549. listener?: OffPauseCallback
  6550. ): void
  6551. /** [InnerAudioContext.offPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offPlay.html)
  6552. *
  6553. * 需要基础库: `1.9.0`
  6554. *
  6555. * 在插件中使用:支持
  6556. *
  6557. * 移除音频播放事件的监听函数
  6558. *
  6559. * **示例代码**
  6560. *
  6561. * ```js
  6562. const listener = function (res) { console.log(res) }
  6563. InnerAudioContext.onPlay(listener)
  6564. InnerAudioContext.offPlay(listener) // 需传入与监听时同一个的函数对象
  6565. ``` */
  6566. offPlay(
  6567. /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */
  6568. listener?: OffPlayCallback
  6569. ): void
  6570. /** [InnerAudioContext.offSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeked.html)
  6571. *
  6572. * 需要基础库: `1.9.0`
  6573. *
  6574. * 在插件中使用:支持
  6575. *
  6576. * 移除音频完成跳转操作的事件的监听函数
  6577. *
  6578. * **示例代码**
  6579. *
  6580. * ```js
  6581. const listener = function (res) { console.log(res) }
  6582. InnerAudioContext.onSeeked(listener)
  6583. InnerAudioContext.offSeeked(listener) // 需传入与监听时同一个的函数对象
  6584. ``` */
  6585. offSeeked(
  6586. /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */
  6587. listener?: OffSeekedCallback
  6588. ): void
  6589. /** [InnerAudioContext.offSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offSeeking.html)
  6590. *
  6591. * 需要基础库: `1.9.0`
  6592. *
  6593. * 在插件中使用:支持
  6594. *
  6595. * 移除音频进行跳转操作的事件的监听函数
  6596. *
  6597. * **示例代码**
  6598. *
  6599. * ```js
  6600. const listener = function (res) { console.log(res) }
  6601. InnerAudioContext.onSeeking(listener)
  6602. InnerAudioContext.offSeeking(listener) // 需传入与监听时同一个的函数对象
  6603. ``` */
  6604. offSeeking(
  6605. /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */
  6606. listener?: OffSeekingCallback
  6607. ): void
  6608. /** [InnerAudioContext.offStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offStop.html)
  6609. *
  6610. * 需要基础库: `1.9.0`
  6611. *
  6612. * 在插件中使用:支持
  6613. *
  6614. * 移除音频停止事件的监听函数
  6615. *
  6616. * **示例代码**
  6617. *
  6618. * ```js
  6619. const listener = function (res) { console.log(res) }
  6620. InnerAudioContext.onStop(listener)
  6621. InnerAudioContext.offStop(listener) // 需传入与监听时同一个的函数对象
  6622. ``` */
  6623. offStop(
  6624. /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */
  6625. listener?: OffStopCallback
  6626. ): void
  6627. /** [InnerAudioContext.offTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offTimeUpdate.html)
  6628. *
  6629. * 需要基础库: `1.9.0`
  6630. *
  6631. * 在插件中使用:支持
  6632. *
  6633. * 移除音频播放进度更新事件的监听函数
  6634. *
  6635. * **示例代码**
  6636. *
  6637. * ```js
  6638. const listener = function (res) { console.log(res) }
  6639. InnerAudioContext.onTimeUpdate(listener)
  6640. InnerAudioContext.offTimeUpdate(listener) // 需传入与监听时同一个的函数对象
  6641. ``` */
  6642. offTimeUpdate(
  6643. /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  6644. listener?: OffTimeUpdateCallback
  6645. ): void
  6646. /** [InnerAudioContext.offWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.offWaiting.html)
  6647. *
  6648. * 需要基础库: `1.9.0`
  6649. *
  6650. * 在插件中使用:支持
  6651. *
  6652. * 移除音频加载中事件的监听函数
  6653. *
  6654. * **示例代码**
  6655. *
  6656. * ```js
  6657. const listener = function (res) { console.log(res) }
  6658. InnerAudioContext.onWaiting(listener)
  6659. InnerAudioContext.offWaiting(listener) // 需传入与监听时同一个的函数对象
  6660. ``` */
  6661. offWaiting(
  6662. /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */
  6663. listener?: OffWaitingCallback
  6664. ): void
  6665. /** [InnerAudioContext.onCanplay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onCanplay.html)
  6666. *
  6667. * 在插件中使用:支持
  6668. *
  6669. * 监听音频进入可以播放状态的事件。但不保证后面可以流畅播放 */
  6670. onCanplay(
  6671. /** 音频进入可以播放状态的事件的监听函数 */
  6672. listener: OnCanplayCallback
  6673. ): void
  6674. /** [InnerAudioContext.onEnded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onEnded.html)
  6675. *
  6676. * 在插件中使用:支持
  6677. *
  6678. * 监听音频自然播放至结束的事件 */
  6679. onEnded(
  6680. /** 音频自然播放至结束的事件的监听函数 */
  6681. listener: OnEndedCallback
  6682. ): void
  6683. /** [InnerAudioContext.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onError.html)
  6684. *
  6685. * 在插件中使用:支持
  6686. *
  6687. * 监听音频播放错误事件
  6688. *
  6689. * **Tips**
  6690. *
  6691. * 1. errCode=100001 时,如若 errMsg 中有 INNERCODE -11828 ,请先检查 response header 是否缺少 Content-Length
  6692. * 2. errCode=100001 时,如若 errMsg 中有 systemErrCode:200333420,请检查文件编码格式和 fileExtension 是否一致 */
  6693. onError(
  6694. /** 音频播放错误事件的监听函数 */
  6695. listener: InnerAudioContextOnErrorCallback
  6696. ): void
  6697. /** [InnerAudioContext.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPause.html)
  6698. *
  6699. * 在插件中使用:支持
  6700. *
  6701. * 监听音频暂停事件 */
  6702. onPause(
  6703. /** 音频暂停事件的监听函数 */
  6704. listener: OnPauseCallback
  6705. ): void
  6706. /** [InnerAudioContext.onPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onPlay.html)
  6707. *
  6708. * 在插件中使用:支持
  6709. *
  6710. * 监听音频播放事件 */
  6711. onPlay(
  6712. /** 音频播放事件的监听函数 */
  6713. listener: OnPlayCallback
  6714. ): void
  6715. /** [InnerAudioContext.onSeeked(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeked.html)
  6716. *
  6717. * 在插件中使用:支持
  6718. *
  6719. * 监听音频完成跳转操作的事件 */
  6720. onSeeked(
  6721. /** 音频完成跳转操作的事件的监听函数 */
  6722. listener: OnSeekedCallback
  6723. ): void
  6724. /** [InnerAudioContext.onSeeking(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onSeeking.html)
  6725. *
  6726. * 在插件中使用:支持
  6727. *
  6728. * 监听音频进行跳转操作的事件 */
  6729. onSeeking(
  6730. /** 音频进行跳转操作的事件的监听函数 */
  6731. listener: OnSeekingCallback
  6732. ): void
  6733. /** [InnerAudioContext.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onStop.html)
  6734. *
  6735. * 在插件中使用:支持
  6736. *
  6737. * 监听音频停止事件 */
  6738. onStop(
  6739. /** 音频停止事件的监听函数 */
  6740. listener: InnerAudioContextOnStopCallback
  6741. ): void
  6742. /** [InnerAudioContext.onTimeUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onTimeUpdate.html)
  6743. *
  6744. * 在插件中使用:支持
  6745. *
  6746. * 监听音频播放进度更新事件 */
  6747. onTimeUpdate(
  6748. /** 音频播放进度更新事件的监听函数 */
  6749. listener: OnTimeUpdateCallback
  6750. ): void
  6751. /** [InnerAudioContext.onWaiting(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.onWaiting.html)
  6752. *
  6753. * 在插件中使用:支持
  6754. *
  6755. * 监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发 */
  6756. onWaiting(
  6757. /** 音频加载中事件的监听函数 */
  6758. listener: OnWaitingCallback
  6759. ): void
  6760. /** [InnerAudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.pause.html)
  6761. *
  6762. * 在插件中使用:支持
  6763. *
  6764. * 暂停。暂停后的音频再播放会从暂停处开始播放 */
  6765. pause(): void
  6766. /** [InnerAudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.play.html)
  6767. *
  6768. * 在插件中使用:支持
  6769. *
  6770. * 播放 */
  6771. play(): void
  6772. /** [InnerAudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.seek.html)
  6773. *
  6774. * 在插件中使用:支持
  6775. *
  6776. * 跳转到指定位置 */
  6777. seek(
  6778. /** 跳转的时间,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度 */
  6779. position: number
  6780. ): void
  6781. /** [InnerAudioContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.stop.html)
  6782. *
  6783. * 在插件中使用:支持
  6784. *
  6785. * 停止。停止后的音频再播放会从头开始播放。 */
  6786. stop(): void
  6787. }
  6788. interface InnerAudioContextOnErrorListenerResult {
  6789. /** 可选值:
  6790. * - 10001: 系统错误;
  6791. * - 10002: 网络错误;
  6792. * - 10003: 文件错误;
  6793. * - 10004: 格式错误;
  6794. * - -1: 未知错误; */
  6795. errCode: 10001 | 10002 | 10003 | 10004 | -1
  6796. errMsg: string
  6797. }
  6798. interface InsertDividerOption {
  6799. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6800. complete?: InsertDividerCompleteCallback
  6801. /** 接口调用失败的回调函数 */
  6802. fail?: InsertDividerFailCallback
  6803. /** 接口调用成功的回调函数 */
  6804. success?: InsertDividerSuccessCallback
  6805. }
  6806. interface InsertImageOption {
  6807. /** 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。 */
  6808. src: string
  6809. /** 图像无法显示时的替代文本 */
  6810. alt?: string
  6811. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6812. complete?: InsertImageCompleteCallback
  6813. /** data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上 */
  6814. data?: IAnyObject
  6815. /** 添加到图片 img 标签上的类名 */
  6816. extClass?: string
  6817. /** 接口调用失败的回调函数 */
  6818. fail?: InsertImageFailCallback
  6819. /** 图片高度 (pixels/百分比) */
  6820. height?: string
  6821. /** 插入图片后是否自动换行,默认换行 */
  6822. nowrap?: boolean
  6823. /** 接口调用成功的回调函数 */
  6824. success?: InsertImageSuccessCallback
  6825. /** 图片宽度(pixels/百分比) */
  6826. width?: string
  6827. }
  6828. interface InsertTextOption {
  6829. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6830. complete?: InsertTextCompleteCallback
  6831. /** 接口调用失败的回调函数 */
  6832. fail?: InsertTextFailCallback
  6833. /** 接口调用成功的回调函数 */
  6834. success?: InsertTextSuccessCallback
  6835. /** 文本内容 */
  6836. text?: string
  6837. }
  6838. interface IntersectionObserverObserveCallbackResult {
  6839. /** 目标边界 */
  6840. boundingClientRect: BoundingClientRectResult
  6841. /** 节点自定义数据属性 */
  6842. dataset: Record<string, any>
  6843. /** 节点 ID */
  6844. id: string
  6845. /** 相交比例 */
  6846. intersectionRatio: number
  6847. /** 相交区域的边界 */
  6848. intersectionRect: IntersectionRectResult
  6849. /** 参照区域的边界 */
  6850. relativeRect: RelativeRectResult
  6851. /** 相交检测时的时间戳 */
  6852. time: number
  6853. }
  6854. /** 相交区域的边界 */
  6855. interface IntersectionRectResult {
  6856. /** 下边界 */
  6857. bottom: number
  6858. /** 高度 */
  6859. height: number
  6860. /** 左边界 */
  6861. left: number
  6862. /** 右边界 */
  6863. right: number
  6864. /** 上边界 */
  6865. top: number
  6866. /** 宽度 */
  6867. width: number
  6868. }
  6869. interface InterstitialAdOnErrorListenerResult {
  6870. /** 错误码
  6871. *
  6872. * 可选值:
  6873. * - 1000: 后端接口调用失败;
  6874. * - 1001: 参数错误;
  6875. * - 1002: 广告单元无效;
  6876. * - 1003: 内部错误;
  6877. * - 1004: 无合适的广告;
  6878. * - 1005: 广告组件审核中;
  6879. * - 1006: 广告组件被驳回;
  6880. * - 1007: 广告组件被封禁;
  6881. * - 1008: 广告单元已关闭; */
  6882. errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008
  6883. /** 错误信息 */
  6884. errMsg: string
  6885. }
  6886. interface IsBluetoothDevicePairedOption {
  6887. /** 蓝牙设备 id */
  6888. deviceId: string
  6889. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6890. complete?: IsBluetoothDevicePairedCompleteCallback
  6891. /** 接口调用失败的回调函数 */
  6892. fail?: IsBluetoothDevicePairedFailCallback
  6893. /** 接口调用成功的回调函数 */
  6894. success?: IsBluetoothDevicePairedSuccessCallback
  6895. }
  6896. interface IsConnectedOption {
  6897. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6898. complete?: IsConnectedCompleteCallback
  6899. /** 接口调用失败的回调函数 */
  6900. fail?: IsConnectedFailCallback
  6901. /** 接口调用成功的回调函数 */
  6902. success?: IsConnectedSuccessCallback
  6903. }
  6904. interface Join1v1ChatOption {
  6905. /** 呼叫方信息 */
  6906. caller: VoIP1v1ChatUser
  6907. /** 接听方信息 */
  6908. listener: VoIP1v1ChatUser
  6909. /** 窗口背景色(音频通话背景以及小窗模式背景)
  6910. *
  6911. * 可选值:
  6912. * - 0: #262930;
  6913. * - 1: #FA5151;
  6914. * - 2: #FA9D3B;
  6915. * - 3: #3D7257;
  6916. * - 4: #1485EE;
  6917. * - 5: #6467F0; */
  6918. backgroundType?: 0 | 1 | 2 | 3 | 4 | 5
  6919. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6920. complete?: Join1v1ChatCompleteCallback
  6921. /** 不允许切换到语音通话 */
  6922. disableSwitchVoice?: boolean
  6923. /** 接口调用失败的回调函数 */
  6924. fail?: Join1v1ChatFailCallback
  6925. /** 小窗样式 */
  6926. minWindowType?: number
  6927. /** 通话类型
  6928. *
  6929. * 可选值:
  6930. * - 'voice': 语音通话;
  6931. * - 'video': 视频通话; */
  6932. roomType?: 'voice' | 'video'
  6933. /** 接口调用成功的回调函数 */
  6934. success?: Join1v1ChatSuccessCallback
  6935. }
  6936. interface JoinVoIPChatOption {
  6937. /** 小游戏内此房间/群聊的 ID。同一时刻传入相同 groupId 的用户会进入到同个实时语音房间。 */
  6938. groupId: string
  6939. /** 验证所需的随机字符串 */
  6940. nonceStr: string
  6941. /** 签名,用于验证小游戏的身份 */
  6942. signature: string
  6943. /** 验证所需的时间戳 */
  6944. timeStamp: number
  6945. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  6946. complete?: JoinVoIPChatCompleteCallback
  6947. /** 接口调用失败的回调函数 */
  6948. fail?: JoinVoIPChatFailCallback
  6949. /** 需要基础库: `2.29.0`
  6950. *
  6951. * 开启后,joinVoIPChat 会同时走 Wi-Fi 和蜂窝网络2种网络模式,保证实时通话体验。 */
  6952. forceCellularNetwork?: boolean
  6953. /** 静音设置 */
  6954. muteConfig?: MuteConfig
  6955. /** 房间类型
  6956. *
  6957. * 可选值:
  6958. * - 'voice': 音频房间,用于语音通话;
  6959. * - 'video': 视频房间,结合 [voip-room](https://developers.weixin.qq.com/miniprogram/dev/component/voip-room.html) 组件可显示成员画面; */
  6960. roomType?: 'voice' | 'video'
  6961. /** 接口调用成功的回调函数 */
  6962. success?: JoinVoIPChatSuccessCallback
  6963. }
  6964. interface JoinVoIPChatSuccessCallbackResult {
  6965. /** 错误码 */
  6966. errCode: number
  6967. /** 调用结果 */
  6968. errMsg: string
  6969. /** 在此通话中的成员 openId 名单 */
  6970. openIdList: string[]
  6971. }
  6972. interface KvList {
  6973. /** key 本地缓存中指定的 key */
  6974. key: string
  6975. /** data 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */
  6976. value: any
  6977. }
  6978. /** 启动参数 */
  6979. interface LaunchOptionsApp {
  6980. /** 需要基础库: `2.20.0`
  6981. *
  6982. * API 类别
  6983. *
  6984. * 可选值:
  6985. * - 'default': 默认类别;
  6986. * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序;
  6987. * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序;
  6988. * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */
  6989. apiCategory:
  6990. | 'default'
  6991. | 'nativeFunctionalized'
  6992. | 'browseOnly'
  6993. | 'embedded'
  6994. /** 打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数 */
  6995. forwardMaterials: ForwardMaterials[]
  6996. /** 启动小程序的路径 (代码包路径) */
  6997. path: string
  6998. /** 启动小程序的 query 参数 */
  6999. query: Record<string, string>
  7000. /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */
  7001. referrerInfo: ReferrerInfo
  7002. /** 启动小程序的[场景值](https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/scene.html) */
  7003. scene: number
  7004. /** 从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型
  7005. *
  7006. * 可选值:
  7007. * - 1: 微信联系人单聊;
  7008. * - 2: 企业微信联系人单聊;
  7009. * - 3: 普通微信群聊;
  7010. * - 4: 企业微信互通群聊; */
  7011. chatType?: 1 | 2 | 3 | 4
  7012. /** shareTicket,详见[获取更多转发信息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#获取更多转发信息) */
  7013. shareTicket?: string
  7014. }
  7015. /** 帧深度纹理buffer对象,width * height 大小的 深度值(float32) */
  7016. interface LegSegmentBufferRes {
  7017. /** 腿部分割纹理buffer,width * height 大小的 裁剪值(0 为不是脚,越靠近 255 越接近腿部区域)(uint8) */
  7018. DepthAddress: ArrayBuffer
  7019. /** 腿部分割纹理高 */
  7020. height: number
  7021. /** 腿部分割纹理宽 */
  7022. width: number
  7023. }
  7024. interface LivePlayerContextRequestFullScreenOption {
  7025. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7026. complete?: RequestFullScreenCompleteCallback
  7027. /** 设置全屏时的方向
  7028. *
  7029. * 可选值:
  7030. * - 0: 正常竖向;
  7031. * - 90: 屏幕逆时针90度;
  7032. * - -90: 屏幕顺时针90度; */
  7033. direction?: 0 | 90 | -90
  7034. /** 接口调用失败的回调函数 */
  7035. fail?: RequestFullScreenFailCallback
  7036. /** 接口调用成功的回调函数 */
  7037. success?: RequestFullScreenSuccessCallback
  7038. }
  7039. interface LivePlayerContextSnapshotOption {
  7040. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7041. complete?: SnapshotCompleteCallback
  7042. /** 接口调用失败的回调函数 */
  7043. fail?: SnapshotFailCallback
  7044. /** 需要基础库: `2.10.0`
  7045. *
  7046. * 图片的质量
  7047. *
  7048. * 可选值:
  7049. * - 'raw': 原图;
  7050. * - 'compressed': 压缩图; */
  7051. quality?: 'raw' | 'compressed'
  7052. /** 需要基础库: `2.25.0`
  7053. *
  7054. * 截取的源类型
  7055. *
  7056. * 可选值:
  7057. * - 'stream': 截取视频源;
  7058. * - 'view': 截取渲染后的画面; */
  7059. sourceType?: 'stream' | 'view'
  7060. /** 接口调用成功的回调函数 */
  7061. success?: LivePlayerContextSnapshotSuccessCallback
  7062. }
  7063. interface LivePlayerContextSnapshotSuccessCallbackResult {
  7064. /** 图片的高度 */
  7065. height: string
  7066. /** 图片文件的临时路径 (本地路径) */
  7067. tempImagePath: string
  7068. /** 图片的宽度 */
  7069. width: string
  7070. errMsg: string
  7071. }
  7072. interface LivePusherContextSetZoomOption {
  7073. /** 缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。 */
  7074. zoom: number
  7075. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7076. complete?: SetZoomCompleteCallback
  7077. /** 接口调用失败的回调函数 */
  7078. fail?: SetZoomFailCallback
  7079. /** 接口调用成功的回调函数 */
  7080. success?: LivePusherContextSetZoomSuccessCallback
  7081. }
  7082. interface LivePusherContextSnapshotOption {
  7083. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7084. complete?: SnapshotCompleteCallback
  7085. /** 接口调用失败的回调函数 */
  7086. fail?: SnapshotFailCallback
  7087. /** 需要基础库: `2.10.0`
  7088. *
  7089. * 图片的质量
  7090. *
  7091. * 可选值:
  7092. * - 'raw': 原图;
  7093. * - 'compressed': 压缩图; */
  7094. quality?: 'raw' | 'compressed'
  7095. /** 需要基础库: `2.25.0`
  7096. *
  7097. * 截取的源类型
  7098. *
  7099. * 可选值:
  7100. * - 'stream': 截取视频源;
  7101. * - 'view': 截取渲染后的画面; */
  7102. sourceType?: 'stream' | 'view'
  7103. /** 接口调用成功的回调函数 */
  7104. success?: LivePusherContextSnapshotSuccessCallback
  7105. }
  7106. interface LivePusherContextSnapshotSuccessCallbackResult {
  7107. /** 图片的高度 */
  7108. height: string
  7109. /** 图片文件的临时路径 */
  7110. tempImagePath: string
  7111. /** 图片的宽度 */
  7112. width: string
  7113. errMsg: string
  7114. }
  7115. interface LivePusherContextStartOption {
  7116. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7117. complete?: StartCompleteCallback
  7118. /** 接口调用失败的回调函数 */
  7119. fail?: StartFailCallback
  7120. /** 接口调用成功的回调函数 */
  7121. success?: StartSuccessCallback
  7122. }
  7123. interface LoadFontFaceCompleteCallbackResult {
  7124. /** 加载字体结果 */
  7125. status: string
  7126. }
  7127. interface LoadFontFaceOption {
  7128. /** 定义的字体名称 */
  7129. family: string
  7130. /** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的iOS上会不兼容。 */
  7131. source: string
  7132. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7133. complete?: LoadFontFaceCompleteCallback
  7134. /** 可选的字体描述符 */
  7135. desc?: DescOption
  7136. /** 接口调用失败的回调函数 */
  7137. fail?: LoadFontFaceFailCallback
  7138. /** 需要基础库: `2.10.0`
  7139. *
  7140. * 是否全局生效 */
  7141. global?: boolean
  7142. /** 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用 */
  7143. scopes?: any[]
  7144. /** 接口调用成功的回调函数 */
  7145. success?: LoadFontFaceSuccessCallback
  7146. }
  7147. interface LoginOption {
  7148. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7149. complete?: LoginCompleteCallback
  7150. /** 接口调用失败的回调函数 */
  7151. fail?: LoginFailCallback
  7152. /** 接口调用成功的回调函数 */
  7153. success?: LoginSuccessCallback
  7154. /** 需要基础库: `1.9.90`
  7155. *
  7156. * 超时时间,单位ms */
  7157. timeout?: number
  7158. }
  7159. interface LoginSuccessCallbackResult {
  7160. /** 用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 [code2Session](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html),使用 code 换取 openid、unionid、session_key 等信息 */
  7161. code: string
  7162. errMsg: string
  7163. }
  7164. interface MakeBluetoothPairOption {
  7165. /** 蓝牙设备 id */
  7166. deviceId: string
  7167. /** pin 码,Base64 格式。 */
  7168. pin: string
  7169. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7170. complete?: MakeBluetoothPairCompleteCallback
  7171. /** 接口调用失败的回调函数 */
  7172. fail?: MakeBluetoothPairFailCallback
  7173. /** 接口调用成功的回调函数 */
  7174. success?: MakeBluetoothPairSuccessCallback
  7175. /** 超时时间,单位 ms */
  7176. timeout?: number
  7177. }
  7178. interface MakePhoneCallOption {
  7179. /** 需要拨打的电话号码 */
  7180. phoneNumber: string
  7181. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7182. complete?: MakePhoneCallCompleteCallback
  7183. /** 接口调用失败的回调函数 */
  7184. fail?: MakePhoneCallFailCallback
  7185. /** 接口调用成功的回调函数 */
  7186. success?: MakePhoneCallSuccessCallback
  7187. }
  7188. /** 广播的制造商信息。仅安卓支持,iOS 因系统限制无法定制。 */
  7189. interface ManufacturerData {
  7190. /** 制造商ID,0x 开头的十六进制 */
  7191. manufacturerId: string
  7192. /** 制造商信息 */
  7193. manufacturerSpecificData?: ArrayBuffer
  7194. }
  7195. /** 图片覆盖的经纬度范围 */
  7196. interface MapBounds {
  7197. /** 东北角经纬度 */
  7198. northeast: MapPostion
  7199. /** 西南角经纬度 */
  7200. southwest: MapPostion
  7201. }
  7202. interface MapPostion {
  7203. /** 纬度 */
  7204. latitude: number
  7205. /** 经度 */
  7206. longitude: number
  7207. }
  7208. /** 用来扩展(或收缩)参照节点布局区域的边界 */
  7209. interface Margins {
  7210. /** 节点布局区域的下边界 */
  7211. bottom?: number
  7212. /** 节点布局区域的左边界 */
  7213. left?: number
  7214. /** 节点布局区域的右边界 */
  7215. right?: number
  7216. /** 节点布局区域的上边界 */
  7217. top?: number
  7218. }
  7219. /** 匹配到的缓存 */
  7220. interface MatchCache {
  7221. /** 缓存 id */
  7222. cacheId: string
  7223. /** 缓存创建时间 */
  7224. createTime: number
  7225. /** 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 */
  7226. data: any
  7227. /** 缓存有效时间 */
  7228. maxAge: number
  7229. /** 命中的规则 id */
  7230. ruleId: string
  7231. }
  7232. /** MediaAudioPlayer 实例,可通过 [wx.createMediaAudioPlayer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createMediaAudioPlayer.html) 接口获取实例。 */
  7233. interface MediaAudioPlayer {
  7234. /** 音量。范围 0~1。默认为 1 */
  7235. volume: number
  7236. /** [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)
  7237. *
  7238. * 在插件中使用:支持
  7239. *
  7240. * 添加音频源 */
  7241. addAudioSource(
  7242. /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html)
  7243. *
  7244. * 视频解码器实例。作为音频源添加到音频播放器中 */
  7245. source: VideoDecoder
  7246. ): Promise<any>
  7247. /** [Promise MediaAudioPlayer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.destroy.html)
  7248. *
  7249. * 在插件中使用:支持
  7250. *
  7251. * 销毁播放器 */
  7252. destroy(): Promise<any>
  7253. /** [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)
  7254. *
  7255. * 在插件中使用:支持
  7256. *
  7257. * 移除音频源 */
  7258. removeAudioSource(
  7259. /** [VideoDecoder](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.html)
  7260. *
  7261. * 视频解码器实例 */
  7262. source: VideoDecoder
  7263. ): Promise<any>
  7264. /** [Promise MediaAudioPlayer.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.start.html)
  7265. *
  7266. * 在插件中使用:支持
  7267. *
  7268. * 启动播放器 */
  7269. start(): Promise<any>
  7270. /** [Promise MediaAudioPlayer.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/MediaAudioPlayer.stop.html)
  7271. *
  7272. * 在插件中使用:支持
  7273. *
  7274. * 停止播放器 */
  7275. stop(): Promise<any>
  7276. }
  7277. /** 本地临时文件列表 */
  7278. interface MediaFile {
  7279. /** 视频的时间长度 */
  7280. duration: number
  7281. /** 文件类型
  7282. *
  7283. * 可选值:
  7284. * - 'image': 图片;
  7285. * - 'video': 视频; */
  7286. fileType: 'image' | 'video'
  7287. /** 视频的高度 */
  7288. height: number
  7289. /** 本地临时文件大小,单位 B */
  7290. size: number
  7291. /** 本地临时文件路径 (本地路径) */
  7292. tempFilePath: string
  7293. /** 视频缩略图临时文件路径 */
  7294. thumbTempFilePath: string
  7295. /** 视频的宽度 */
  7296. width: number
  7297. }
  7298. interface MediaQueryObserverObserveCallbackResult {
  7299. /** 页面的当前状态是否满足所指定的 media query */
  7300. matches: boolean
  7301. }
  7302. /** 需要预览的资源列表 */
  7303. interface MediaSource {
  7304. /** 图片或视频的地址 */
  7305. url: string
  7306. /** 视频的封面图片 */
  7307. poster?: string
  7308. /** 资源的类型,默认为图片
  7309. *
  7310. * 可选值:
  7311. * - 'image': 图片;
  7312. * - 'video': 视频; */
  7313. type?: 'image' | 'video'
  7314. }
  7315. /** 需要基础库: `2.9.0`
  7316. *
  7317. * 可通过 [MediaContainer.extractDataSource](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html) 返回。
  7318. *
  7319. * [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html) 音频或视频轨道,可以对轨道进行一些操作 */
  7320. interface MediaTrack {
  7321. /** 轨道长度,只读 */
  7322. duration: number
  7323. /** 轨道类型,只读
  7324. *
  7325. * 可选值:
  7326. * - 'audio': 音频轨道;
  7327. * - 'video': 视频轨道; */
  7328. kind: 'audio' | 'video'
  7329. /** 音量,音频轨道下有效,可写 */
  7330. volume: number
  7331. }
  7332. /** 小程序账号信息 */
  7333. interface MiniProgram {
  7334. /** 小程序 appId */
  7335. appId: string
  7336. /** 需要基础库: `2.10.0`
  7337. *
  7338. * 小程序版本
  7339. *
  7340. * 可选值:
  7341. * - 'develop': 开发版;
  7342. * - 'trial': 体验版;
  7343. * - 'release': 正式版; */
  7344. envVersion: 'develop' | 'trial' | 'release'
  7345. /** 需要基础库: `2.10.2`
  7346. *
  7347. * 线上小程序版本号 */
  7348. version: string
  7349. }
  7350. interface MkdirOption {
  7351. /** 创建的目录路径 (本地路径) */
  7352. dirPath: string
  7353. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7354. complete?: MkdirCompleteCallback
  7355. /** 接口调用失败的回调函数 */
  7356. fail?: MkdirFailCallback
  7357. /** 需要基础库: `2.3.0`
  7358. *
  7359. * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */
  7360. recursive?: boolean
  7361. /** 接口调用成功的回调函数 */
  7362. success?: MkdirSuccessCallback
  7363. }
  7364. interface MoveAlongOption {
  7365. /** 平滑移动的时间 */
  7366. duration: number
  7367. /** 指定 marker */
  7368. markerId: number
  7369. /** 移动路径的坐标串,坐标点格式 `{longitude, latitude}` */
  7370. path: any[]
  7371. /** 平滑移动触发 map 组件 interpolatepoint 事件的插值精度,单位为 m。默认不触发。 */
  7372. precision: IAnyObject
  7373. /** 根据路径方向自动改变 marker 的旋转角度 */
  7374. autoRotate?: boolean
  7375. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7376. complete?: MoveAlongCompleteCallback
  7377. /** 接口调用失败的回调函数 */
  7378. fail?: MoveAlongFailCallback
  7379. /** 接口调用成功的回调函数 */
  7380. success?: MoveAlongSuccessCallback
  7381. }
  7382. interface MoveToLocationOption {
  7383. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7384. complete?: MoveToLocationCompleteCallback
  7385. /** 接口调用失败的回调函数 */
  7386. fail?: MoveToLocationFailCallback
  7387. /** 需要基础库: `2.8.0`
  7388. *
  7389. * 纬度 */
  7390. latitude?: number
  7391. /** 需要基础库: `2.8.0`
  7392. *
  7393. * 经度 */
  7394. longitude?: number
  7395. /** 接口调用成功的回调函数 */
  7396. success?: MoveToLocationSuccessCallback
  7397. }
  7398. /** 静音设置 */
  7399. interface MuteConfig {
  7400. /** 是否静音耳机 */
  7401. muteEarphone?: boolean
  7402. /** 是否静音麦克风 */
  7403. muteMicrophone?: boolean
  7404. }
  7405. interface MuteOption {
  7406. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7407. complete?: MuteCompleteCallback
  7408. /** 接口调用失败的回调函数 */
  7409. fail?: MuteFailCallback
  7410. /** 接口调用成功的回调函数 */
  7411. success?: MuteSuccessCallback
  7412. }
  7413. /** 需要基础库: `2.11.2` */
  7414. interface NFCAdapter {
  7415. /** 标签类型枚举 */
  7416. tech: TechType
  7417. /** [NFCAdapter.offDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.offDiscovered.html)
  7418. *
  7419. * 需要基础库: `2.11.2`
  7420. *
  7421. * 在插件中使用:支持
  7422. *
  7423. * 移除 NFC Tag的监听函数
  7424. *
  7425. * **示例代码**
  7426. *
  7427. * ```js
  7428. const listener = function (res) { console.log(res) }
  7429. NFCAdapter.onDiscovered(listener)
  7430. NFCAdapter.offDiscovered(listener) // 需传入与监听时同一个的函数对象
  7431. ``` */
  7432. offDiscovered(
  7433. /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */
  7434. listener?: OffDiscoveredCallback
  7435. ): void
  7436. /** [NFCAdapter.onDiscovered(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.onDiscovered.html)
  7437. *
  7438. * 需要基础库: `2.11.2`
  7439. *
  7440. * 在插件中使用:支持
  7441. *
  7442. * 监听 NFC Tag */
  7443. onDiscovered(
  7444. /** 的监听函数 */
  7445. listener: OnDiscoveredCallback
  7446. ): void
  7447. /** [NFCAdapter.startDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.startDiscovery.html)
  7448. *
  7449. * 需要基础库: `2.11.2`
  7450. *
  7451. * 在插件中使用:支持 */
  7452. startDiscovery(option?: StartDiscoveryOption): void
  7453. /** [NFCAdapter.stopDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NFCAdapter.stopDiscovery.html)
  7454. *
  7455. * 需要基础库: `2.11.2`
  7456. *
  7457. * 在插件中使用:支持 */
  7458. stopDiscovery(option?: StopDiscoveryOption): void
  7459. /** [[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)
  7460. *
  7461. * 需要基础库: `2.11.2`
  7462. *
  7463. * 在插件中使用:支持
  7464. *
  7465. * 获取IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */
  7466. getIsoDep(): IsoDep
  7467. /** [[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)
  7468. *
  7469. * 需要基础库: `2.11.2`
  7470. *
  7471. * 在插件中使用:支持
  7472. *
  7473. * 获取MifareClassic实例,实例支持MIFARE Classic标签的读写 */
  7474. getMifareClassic(): MifareClassic
  7475. /** [[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)
  7476. *
  7477. * 需要基础库: `2.11.2`
  7478. *
  7479. * 在插件中使用:支持
  7480. *
  7481. * 获取MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */
  7482. getMifareUltralight(): MifareUltralight
  7483. /** [[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)
  7484. *
  7485. * 需要基础库: `2.11.2`
  7486. *
  7487. * 在插件中使用:支持
  7488. *
  7489. * 获取Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */
  7490. getNdef(): Ndef
  7491. /** [[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)
  7492. *
  7493. * 需要基础库: `2.11.2`
  7494. *
  7495. * 在插件中使用:支持
  7496. *
  7497. * 获取NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */
  7498. getNfcA(): NfcA
  7499. /** [[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)
  7500. *
  7501. * 需要基础库: `2.11.2`
  7502. *
  7503. * 在插件中使用:支持
  7504. *
  7505. * 获取NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */
  7506. getNfcB(): NfcB
  7507. /** [[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)
  7508. *
  7509. * 需要基础库: `2.11.2`
  7510. *
  7511. * 在插件中使用:支持
  7512. *
  7513. * 获取NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */
  7514. getNfcF(): NfcF
  7515. /** [[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)
  7516. *
  7517. * 需要基础库: `2.11.2`
  7518. *
  7519. * 在插件中使用:支持
  7520. *
  7521. * 获取NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */
  7522. getNfcV(): NfcV
  7523. }
  7524. interface NavigateBackMiniProgramOption {
  7525. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7526. complete?: NavigateBackMiniProgramCompleteCallback
  7527. /** 需要返回给上一个小程序的数据,上一个小程序可在 `App.onShow` 中获取到这份数据。 [详情](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html)。 */
  7528. extraData?: IAnyObject
  7529. /** 接口调用失败的回调函数 */
  7530. fail?: NavigateBackMiniProgramFailCallback
  7531. /** 接口调用成功的回调函数 */
  7532. success?: NavigateBackMiniProgramSuccessCallback
  7533. }
  7534. interface NavigateBackOption {
  7535. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7536. complete?: NavigateBackCompleteCallback
  7537. /** 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 */
  7538. delta?: number
  7539. /** 接口调用失败的回调函数 */
  7540. fail?: NavigateBackFailCallback
  7541. /** 接口调用成功的回调函数 */
  7542. success?: NavigateBackSuccessCallback
  7543. }
  7544. interface NavigateToMiniProgramOption {
  7545. /** 要打开的小程序 appId */
  7546. appId?: string
  7547. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7548. complete?: NavigateToMiniProgramCompleteCallback
  7549. /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
  7550. *
  7551. * 可选值:
  7552. * - 'develop': 开发版;
  7553. * - 'trial': 体验版;
  7554. * - 'release': 正式版; */
  7555. envVersion?: 'develop' | 'trial' | 'release'
  7556. /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */
  7557. extraData?: IAnyObject
  7558. /** 接口调用失败的回调函数 */
  7559. fail?: NavigateToMiniProgramFailCallback
  7560. /** 需要基础库: `2.24.0`
  7561. *
  7562. * 不reLaunch目标小程序,直接打开目标跳转的小程序退后台时的页面,需满足以下条件:1. 目标跳转的小程序生命周期未被销毁;2. 且目标当次启动的path、query与上次启动相同,apiCategory以wx.getApiCategory接口的返回结果为准。 */
  7563. noRelaunchIfPathUnchanged?: boolean
  7564. /** 打开的页面路径,如果为空则打开首页。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"。 */
  7565. path?: string
  7566. /** 需要基础库: `2.18.1`
  7567. *
  7568. * 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 */
  7569. shortLink?: string
  7570. /** 接口调用成功的回调函数 */
  7571. success?: NavigateToMiniProgramSuccessCallback
  7572. }
  7573. interface NavigateToOption {
  7574. /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
  7575. url: string
  7576. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7577. complete?: NavigateToCompleteCallback
  7578. /** 页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。 */
  7579. events?: IAnyObject
  7580. /** 接口调用失败的回调函数 */
  7581. fail?: NavigateToFailCallback
  7582. /** 3.4.0 自定义路由配置,相关文档 [自定义路由](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/custom-route.html) */
  7583. routeConfig?: IAnyObject
  7584. /** 3.4.0 自定义路由参数,相关文档 [自定义路由](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/custom-route.html) */
  7585. routeOptions?: IAnyObject
  7586. /** 2.29.2 自定义路由类型,相关文档 [自定义路由](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/custom-route.html) */
  7587. routeType?: string
  7588. /** 接口调用成功的回调函数 */
  7589. success?: NavigateToSuccessCallback
  7590. }
  7591. interface NavigateToSuccessCallbackResult {
  7592. /** [EventChannel](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.html)
  7593. *
  7594. * 和被打开页面进行通信 */
  7595. eventChannel: EventChannel
  7596. errMsg: string
  7597. }
  7598. interface NdefCloseOption {
  7599. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7600. complete?: NdefCloseCompleteCallback
  7601. /** 接口调用失败的回调函数 */
  7602. fail?: NdefCloseFailCallback
  7603. /** 接口调用成功的回调函数 */
  7604. success?: NdefCloseSuccessCallback
  7605. }
  7606. interface NdefConnectOption {
  7607. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7608. complete?: ConnectCompleteCallback
  7609. /** 接口调用失败的回调函数 */
  7610. fail?: ConnectFailCallback
  7611. /** 接口调用成功的回调函数 */
  7612. success?: ConnectSuccessCallback
  7613. }
  7614. interface NodeCallbackResult {
  7615. /** 节点对应的 Node 实例 */
  7616. node: IAnyObject
  7617. }
  7618. interface NotifyBLECharacteristicValueChangeOption {
  7619. /** 蓝牙特征的 UUID */
  7620. characteristicId: string
  7621. /** 蓝牙设备 id */
  7622. deviceId: string
  7623. /** 蓝牙特征对应服务的 UUID */
  7624. serviceId: string
  7625. /** 是否启用 notify */
  7626. state: boolean
  7627. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  7628. complete?: NotifyBLECharacteristicValueChangeCompleteCallback
  7629. /** 接口调用失败的回调函数 */
  7630. fail?: NotifyBLECharacteristicValueChangeFailCallback
  7631. /** 接口调用成功的回调函数 */
  7632. success?: NotifyBLECharacteristicValueChangeSuccessCallback
  7633. /** 需要基础库: `2.4.0`
  7634. *
  7635. * 设置特征订阅类型,有效值有 `notification` 和 `indication` */
  7636. type?: string
  7637. }
  7638. /** 需要基础库: `2.27.0`
  7639. *
  7640. * OCR检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/ocr.html)。 */
  7641. interface OCRTrack {
  7642. /** 需要基础库: `2.27.0`
  7643. *
  7644. * OCR检测模式
  7645. *
  7646. * 可选值:
  7647. * - 1: 通过摄像头实时检测;
  7648. * - 2: 静态图片检测; */
  7649. mode: 1 | 2
  7650. }
  7651. /** media query 描述符 */
  7652. interface ObserveDescriptor {
  7653. /** 页面高度( px 为单位) */
  7654. height: number
  7655. /** 页面最大高度( px 为单位) */
  7656. maxHeight: number
  7657. /** 页面最大宽度( px 为单位) */
  7658. maxWidth: number
  7659. /** 页面最小高度( px 为单位) */
  7660. minHeight: number
  7661. /** 页面最小宽度( px 为单位) */
  7662. minWidth: number
  7663. /** 屏幕方向( `landscape` 或 `portrait` ) */
  7664. orientation: string
  7665. /** 页面宽度( px 为单位) */
  7666. width: number
  7667. }
  7668. /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */
  7669. interface ObserveOption {
  7670. /** 指标类型列表。不能和 type 同时使用。 */
  7671. entryTypes?: string[]
  7672. /** 指标类型。不能和 entryTypes 同时使用
  7673. *
  7674. * 可选值:
  7675. * - 'navigation': 路由;
  7676. * - 'render': 渲染;
  7677. * - 'script': 脚本; */
  7678. type?: 'navigation' | 'render' | 'script'
  7679. }
  7680. /** 需要基础库: `2.7.0`
  7681. *
  7682. * 离屏 canvas 实例,可通过 [wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) 创建。 */
  7683. interface OffscreenCanvas {
  7684. /** 画布高度 */
  7685. height: number
  7686. /** 画布宽度 */
  7687. width: number
  7688. /** [[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)
  7689. *
  7690. * 需要基础库: `2.7.3`
  7691. *
  7692. * 在插件中使用:需要基础库 `2.16.1`
  7693. *
  7694. * 创建一个图片对象。支持在 2D Canvas 和 WebGL Canvas 下使用, 但不支持混用 2D 和 WebGL 的方法。
  7695. *
  7696. * ****
  7697. *
  7698. * 注意不允许混用 webgl 和 2d 画布创建的图片对象,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。 */
  7699. createImage(): Image
  7700. /** [[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)
  7701. *
  7702. * 需要基础库: `2.7.0`
  7703. *
  7704. * 在插件中使用:需要基础库 `2.16.1`
  7705. *
  7706. * 该方法返回 OffscreenCanvas 的绘图上下文
  7707. *
  7708. * ****
  7709. *
  7710. * 注意不允许混用 webgl 和 2d 绘图上下文,传入的 contextType 必须要与 `wx.createOffscreenCanvas` 传入的 type 类型一致。 */
  7711. getContext(
  7712. /** 绘图上下文类型,需要与 createOffscreenCanvas 时传入的 type 一致
  7713. *
  7714. * 参数 contextType 可选值:
  7715. * - 'webgl': webgl类型上下文;
  7716. * - '2d': 2d类型上下文; */
  7717. contextType: 'webgl' | '2d'
  7718. ): any
  7719. }
  7720. interface OnAccelerometerChangeListenerResult {
  7721. /** X 轴 */
  7722. x: number
  7723. /** Y 轴 */
  7724. y: number
  7725. /** Z 轴 */
  7726. z: number
  7727. }
  7728. interface OnAfterPageLoadListenerResult {
  7729. /** 组件框架
  7730. *
  7731. * 可选值:
  7732. * - 'exparser': 旧版小程序组件框架;
  7733. * - 'glass-easel': 新版小程序组件框架; */
  7734. componentFramework: 'exparser' | 'glass-easel'
  7735. /** 路由打开类型 */
  7736. openType: string
  7737. /** 页面实例 */
  7738. page: IAnyObject
  7739. /** 页面路径 */
  7740. path: string
  7741. /** 路由参数 */
  7742. query: IAnyObject
  7743. /** 路由事件 id */
  7744. routeEventId: string
  7745. }
  7746. interface OnAfterPageUnloadListenerResult {
  7747. /** 页面路径 */
  7748. path: string
  7749. /** 路由事件 id */
  7750. routeEventId: string
  7751. }
  7752. interface OnApiCategoryChangeListenerResult {
  7753. /** API 类别
  7754. *
  7755. * 可选值:
  7756. * - 'default': 默认类别;
  7757. * - 'nativeFunctionalized': 原生功能化,视频号直播商品、商品橱窗等场景打开的小程序;
  7758. * - 'browseOnly': 仅浏览,朋友圈快照页等场景打开的小程序;
  7759. * - 'embedded': 内嵌,通过打开半屏小程序能力打开的小程序; */
  7760. apiCategory:
  7761. | 'default'
  7762. | 'nativeFunctionalized'
  7763. | 'browseOnly'
  7764. | 'embedded'
  7765. }
  7766. interface OnAppRouteDoneListenerResult {
  7767. /** 路由打开类型 */
  7768. openType: string
  7769. /** 页面路径 */
  7770. path: string
  7771. /** 路由参数 */
  7772. query: IAnyObject
  7773. /** 路由事件 id */
  7774. routeEventId: string
  7775. /** 路由下发的时间戳 */
  7776. timeStamp: number
  7777. /** 当前页面 id */
  7778. webviewId: number
  7779. }
  7780. interface OnAppRouteListenerResult {
  7781. /** 是否未找到页面 */
  7782. notFound: boolean
  7783. /** 路由打开类型 */
  7784. openType: string
  7785. /** 当前打开页面的相关配置 */
  7786. page: IAnyObject
  7787. /** 页面路径 */
  7788. path: string
  7789. /** 可选值:
  7790. * - 'min': 视频页面缩小为小窗;
  7791. * - 'max': 视频小窗还原为页面; */
  7792. pipMode: 'min' | 'max'
  7793. /** 路由参数 */
  7794. query: IAnyObject
  7795. /** 渲染引擎
  7796. *
  7797. * 可选值:
  7798. * - 'webview': Webview 渲染引擎;
  7799. * - 'skyline': Skyline 渲染引擎;
  7800. * - 'xr-frame': xr-frame 解决方案; */
  7801. renderer: 'webview' | 'skyline' | 'xr-frame'
  7802. /** 路由事件 id */
  7803. routeEventId: string
  7804. /** 路由下发的时间戳 */
  7805. timeStamp: number
  7806. /** 当前页面 id */
  7807. webviewId: number
  7808. }
  7809. interface OnBLECharacteristicValueChangeListenerResult {
  7810. /** 蓝牙特征的 UUID */
  7811. characteristicId: string
  7812. /** 蓝牙设备 id */
  7813. deviceId: string
  7814. /** 蓝牙特征对应服务的 UUID */
  7815. serviceId: string
  7816. /** 特征最新的值 */
  7817. value: ArrayBuffer
  7818. }
  7819. interface OnBLEConnectionStateChangeListenerResult {
  7820. /** 是否处于已连接状态 */
  7821. connected: boolean
  7822. /** 蓝牙设备 id */
  7823. deviceId: string
  7824. }
  7825. interface OnBLEMTUChangeListenerResult {
  7826. /** 蓝牙设备 id */
  7827. deviceId: string
  7828. /** 最大传输单元 */
  7829. mtu: number
  7830. }
  7831. interface OnBLEPeripheralConnectionStateChangedListenerResult {
  7832. /** 连接目前状态 */
  7833. connected: boolean
  7834. /** 连接状态变化的设备 id */
  7835. deviceId: string
  7836. /** server 的 UUID */
  7837. serverId: string
  7838. }
  7839. interface OnBackgroundFetchDataListenerResult {
  7840. /** 缓存数据类别,取值为 periodic 或 pre */
  7841. fetchType: string
  7842. /** 缓存数据 */
  7843. fetchedData: string
  7844. /** 小程序页面路径 */
  7845. path: string
  7846. /** 传给页面的 query 参数 */
  7847. query: string
  7848. /** 进入小程序的场景值 */
  7849. scene: number
  7850. /** 客户端拿到缓存数据的时间戳 */
  7851. timeStamp: number
  7852. }
  7853. interface OnBatteryInfoChangeListenerResult {
  7854. /** 是否处于省电模式 */
  7855. isLowPowerModeEnabled: boolean
  7856. }
  7857. interface OnBeaconServiceChangeListenerResult {
  7858. /** 服务目前是否可用 */
  7859. available: boolean
  7860. /** 目前是否处于搜索状态 */
  7861. discovering: boolean
  7862. }
  7863. interface OnBeaconUpdateListenerResult {
  7864. /** 当前搜寻到的所有 Beacon 设备列表 */
  7865. beacons: BeaconInfo[]
  7866. }
  7867. interface OnBeforeAppRouteListenerResult {
  7868. /** 是否未找到页面 */
  7869. notFound: boolean
  7870. /** 路由打开类型 */
  7871. openType: string
  7872. /** 当前打开页面的相关配置 */
  7873. page: IAnyObject
  7874. /** 页面路径 */
  7875. path: string
  7876. /** 可选值:
  7877. * - 'min': 视频页面缩小为小窗;
  7878. * - 'max': 视频小窗还原为页面; */
  7879. pipMode: 'min' | 'max'
  7880. /** 路由参数 */
  7881. query: IAnyObject
  7882. /** 渲染引擎
  7883. *
  7884. * 可选值:
  7885. * - 'webview': Webview 渲染引擎;
  7886. * - 'skyline': Skyline 渲染引擎;
  7887. * - 'xr-frame': xr-frame 解决方案; */
  7888. renderer: 'webview' | 'skyline' | 'xr-frame'
  7889. /** 路由事件 id */
  7890. routeEventId: string
  7891. /** 当前页面 id */
  7892. webviewId: number
  7893. }
  7894. interface OnBeforePageLoadListenerResult {
  7895. /** 组件框架
  7896. *
  7897. * 可选值:
  7898. * - 'exparser': 旧版小程序组件框架;
  7899. * - 'glass-easel': 新版小程序组件框架; */
  7900. componentFramework: 'exparser' | 'glass-easel'
  7901. /** 路由打开类型 */
  7902. openType: string
  7903. /** 页面路径 */
  7904. path: string
  7905. /** 路由参数 */
  7906. query: IAnyObject
  7907. /** 路由事件 id */
  7908. routeEventId: string
  7909. }
  7910. interface OnBeforePageUnloadListenerResult {
  7911. /** 页面实例 */
  7912. page: IAnyObject
  7913. /** 页面路径 */
  7914. path: string
  7915. /** 路由事件 id */
  7916. routeEventId: string
  7917. }
  7918. interface OnBluetoothAdapterStateChangeListenerResult {
  7919. /** 蓝牙适配器是否可用 */
  7920. available: boolean
  7921. /** 蓝牙适配器是否处于搜索状态 */
  7922. discovering: boolean
  7923. }
  7924. interface OnBluetoothDeviceFoundListenerResult {
  7925. /** 新搜索到的设备列表 */
  7926. devices: BlueToothDevice[]
  7927. }
  7928. interface OnCameraFrameCallbackResult {
  7929. /** 图像像素点数据,一维数组,每四项表示一个像素点的 rgba */
  7930. data: ArrayBuffer
  7931. /** 图像数据矩形的高度 */
  7932. height: number
  7933. /** 图像数据矩形的宽度 */
  7934. width: number
  7935. }
  7936. interface OnCharacteristicReadRequestListenerResult {
  7937. /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */
  7938. callbackId: number
  7939. /** 蓝牙特征的 UUID */
  7940. characteristicId: string
  7941. /** 蓝牙特征对应服务的 UUID */
  7942. serviceId: string
  7943. }
  7944. interface OnCharacteristicSubscribedListenerResult {
  7945. /** 蓝牙特征的 UUID */
  7946. characteristicId: string
  7947. /** 蓝牙特征对应服务的 UUID */
  7948. serviceId: string
  7949. }
  7950. interface OnCharacteristicWriteRequestListenerResult {
  7951. /** 唯一标识码,调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 时使用 */
  7952. callbackId: number
  7953. /** 蓝牙特征的 UUID */
  7954. characteristicId: string
  7955. /** 蓝牙特征对应服务的 UUID */
  7956. serviceId: string
  7957. /** 请求写入特征的二进制数据值 */
  7958. value: ArrayBuffer
  7959. }
  7960. interface OnCheckForUpdateListenerResult {
  7961. /** 是否有新版本 */
  7962. hasUpdate: boolean
  7963. }
  7964. interface OnChunkReceivedListenerResult {
  7965. /** 返回的chunk buffer */
  7966. data: ArrayBuffer
  7967. }
  7968. interface OnCompassChangeListenerResult {
  7969. /** 需要基础库: `2.4.0`
  7970. *
  7971. * 精度 */
  7972. accuracy: number | string
  7973. /** 面对的方向度数 */
  7974. direction: number
  7975. }
  7976. interface OnConnectListenerResult {
  7977. /** 需要基础库: `3.4.0`
  7978. *
  7979. * 网络请求过程中的一些异常信息(例如:TCPSocket.connect 传了 enableHttpDNS: true,但最终未使用 HttpDNS 时,exception 就会说明未使用 HttpDNS 的原因) */
  7980. exception: Exception
  7981. /** 需要基础库: `3.4.1`
  7982. *
  7983. * 接收端地址信息(目前仅iOS和Android端支持) */
  7984. localInfo: OnConnectListenerResultLocalInfo
  7985. /** 需要基础库: `3.4.1`
  7986. *
  7987. * 发送端地址信息(目前仅iOS和Android端支持) */
  7988. remoteInfo: OnConnectListenerResultRemoteInfo
  7989. /** 需要基础库: `3.4.0`
  7990. *
  7991. * 本次连接是否使用了 HttpDNS */
  7992. useHttpDNS: boolean
  7993. }
  7994. /** 需要基础库: `3.4.1`
  7995. *
  7996. * 接收端地址信息(目前仅iOS和Android端支持) */
  7997. interface OnConnectListenerResultLocalInfo {
  7998. /** 需要基础库: `3.4.1`
  7999. *
  8000. * 接收消息的 socket 的地址 */
  8001. address: string
  8002. /** 需要基础库: `3.4.1`
  8003. *
  8004. * 使用的协议族,为 IPv4 或者 IPv6 */
  8005. family: string
  8006. /** 需要基础库: `3.4.1`
  8007. *
  8008. * 端口号 */
  8009. port: number
  8010. }
  8011. /** 需要基础库: `3.4.1`
  8012. *
  8013. * 发送端地址信息(目前仅iOS和Android端支持) */
  8014. interface OnConnectListenerResultRemoteInfo {
  8015. /** 需要基础库: `3.4.1`
  8016. *
  8017. * 发送消息的 socket 的地址 */
  8018. address: string
  8019. /** 需要基础库: `3.4.1`
  8020. *
  8021. * 使用的协议族,为 IPv4 或者 IPv6 */
  8022. family: string
  8023. /** 需要基础库: `3.4.1`
  8024. *
  8025. * 端口号 */
  8026. port: number
  8027. }
  8028. interface OnCopyUrlListenerResult {
  8029. /** 用短链打开小程序时当前页面携带的查询字符串。小程序中使用时,应在进入页面时调用 `wx.onCopyUrl` 自定义 `query`,退出页面时调用 `wx.offCopyUrl`,防止影响其它页面。 */
  8030. query: string
  8031. }
  8032. interface OnCustomRendererEventCallbackResult {
  8033. /** 推流高度 */
  8034. height: number
  8035. /** 推流宽度 */
  8036. width: number
  8037. }
  8038. interface OnDeviceMotionChangeListenerResult {
  8039. /** 当 手机坐标 X/Y 和 地球 X/Y 重合时,绕着 Z 轴转动的夹角为 alpha,范围值为 [0, 2*PI)。逆时针转动为正。 */
  8040. alpha: number
  8041. /** 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着 X 轴转动的夹角为 beta。范围值为 [-1*PI, PI) 。顶部朝着地球表面转动为正。也有可能朝着用户为正。 */
  8042. beta: number
  8043. /** 当手机 X/Z 和地球 X/Z 重合时,绕着 Y 轴转动的夹角为 gamma。范围值为 [-1*PI/2, PI/2)。右边朝着地球表面转动为正。 */
  8044. gamma: number
  8045. }
  8046. interface OnDiscoveredListenerResult {
  8047. id: ArrayBuffer
  8048. /** 可选,NdefMessage 数组,消息格式为 {id: ArrayBuffer, type: ArrayBuffer, payload: ArrayBuffer} */
  8049. messages: any[]
  8050. /** tech 数组,用于匹配NFC卡片具体可以使用什么标准(NfcA等实例)处理 */
  8051. techs: any[]
  8052. }
  8053. interface OnEmbeddedMiniProgramHeightChangeListenerResult {
  8054. /** 可视高度 */
  8055. height: number
  8056. /** 半屏小程序初始高度 */
  8057. initialHeight: number
  8058. }
  8059. interface OnFrameRecordedListenerResult {
  8060. /** 录音分片数据 */
  8061. frameBuffer: ArrayBuffer
  8062. /** 当前帧是否正常录音结束前的最后一帧 */
  8063. isLastFrame: boolean
  8064. }
  8065. interface OnGetWifiListListenerResult {
  8066. /** Wi-Fi 列表数据 */
  8067. wifiList: WifiInfo[]
  8068. }
  8069. interface OnGyroscopeChangeListenerResult {
  8070. /** x 轴的角速度 */
  8071. x: number
  8072. /** y 轴的角速度 */
  8073. y: number
  8074. /** z 轴的角速度 */
  8075. z: number
  8076. }
  8077. interface OnHCEMessageListenerResult {
  8078. /** `messageType=1` 时 ,客户端接收到 NFC 设备的指令 */
  8079. data: ArrayBuffer
  8080. /** 消息类型
  8081. *
  8082. * 可选值:
  8083. * - 1: HCE APDU Command类型,小程序需对此指令进行处理,并调用 sendHCEMessage 接口返回处理指令;
  8084. * - 2: 设备离场事件类型; */
  8085. messageType: 1 | 2
  8086. /** `messageType=2` 时,原因 */
  8087. reason: number
  8088. }
  8089. interface OnKeyboardHeightChangeListenerResult {
  8090. /** 键盘高度 */
  8091. height: number
  8092. }
  8093. interface OnLazyLoadErrorListenerResult {
  8094. /** 详细信息 */
  8095. errMsg: string
  8096. /** 异步组件所属的分包 */
  8097. subpackage: any[]
  8098. /** 'subpackage' 失败类型 */
  8099. type: string
  8100. }
  8101. interface OnLocalServiceFoundListenerResult {
  8102. /** 服务的 ip 地址 */
  8103. ip: string
  8104. /** 服务的端口 */
  8105. port: number
  8106. /** 服务的名称 */
  8107. serviceName: string
  8108. /** 服务的类型 */
  8109. serviceType: string
  8110. }
  8111. interface OnLocalServiceLostListenerResult {
  8112. /** 服务的名称 */
  8113. serviceName: string
  8114. /** 服务的类型 */
  8115. serviceType: string
  8116. }
  8117. interface OnLocationChangeErrorListenerResult {
  8118. /** 错误码 */
  8119. errCode: number
  8120. }
  8121. interface OnLocationChangeListenerResult {
  8122. /** 位置的精确度 */
  8123. accuracy: number
  8124. /** 需要基础库: `1.2.0`
  8125. *
  8126. * 高度,单位 m */
  8127. altitude: number
  8128. /** 需要基础库: `1.2.0`
  8129. *
  8130. * 水平精度,单位 m */
  8131. horizontalAccuracy: number
  8132. /** 纬度,范围为 -90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
  8133. latitude: number
  8134. /** 经度,范围为 -180~180,负数表示西经。使用 gcj02 国测局坐标系 */
  8135. longitude: number
  8136. /** 速度,单位 m/s */
  8137. speed: number
  8138. /** 需要基础库: `1.2.0`
  8139. *
  8140. * 垂直精度,单位 m(Android 无法获取,返回 0) */
  8141. verticalAccuracy: number
  8142. }
  8143. interface OnMemoryWarningListenerResult {
  8144. /** 内存告警等级,只有 Android 才有,对应系统宏定义
  8145. *
  8146. * 可选值:
  8147. * - 5: TRIM_MEMORY_RUNNING_MODERATE;
  8148. * - 10: TRIM_MEMORY_RUNNING_LOW;
  8149. * - 15: TRIM_MEMORY_RUNNING_CRITICAL; */
  8150. level: 5 | 10 | 15
  8151. }
  8152. interface OnMenuButtonBoundingClientRectWeightChangeListenerResult {
  8153. /** 下边界坐标,单位:px */
  8154. bottom: number
  8155. /** 高度,单位:px */
  8156. height: number
  8157. /** 左边界坐标,单位:px */
  8158. left: number
  8159. /** 右边界坐标,单位:px */
  8160. right: number
  8161. /** 上边界坐标,单位:px */
  8162. top: number
  8163. /** 宽度,单位:px */
  8164. width: number
  8165. }
  8166. interface OnMessageListenerResultLocalInfo {
  8167. /** 接收消息的 socket 的地址 */
  8168. address: string
  8169. /** 使用的协议族,为 IPv4 或者 IPv6 */
  8170. family: string
  8171. /** 端口号 */
  8172. port: number
  8173. }
  8174. interface OnNetworkStatusChangeListenerResult {
  8175. /** 当前是否有网络连接 */
  8176. isConnected: boolean
  8177. /** 网络类型
  8178. *
  8179. * 可选值:
  8180. * - 'wifi': wifi 网络;
  8181. * - '2g': 2g 网络;
  8182. * - '3g': 3g 网络;
  8183. * - '4g': 4g 网络;
  8184. * - '5g': 5g 网络;
  8185. * - 'unknown': Android 下不常见的网络类型;
  8186. * - 'none': 无网络; */
  8187. networkType: 'wifi' | '2g' | '3g' | '4g' | '5g' | 'unknown' | 'none'
  8188. }
  8189. interface OnNetworkWeakChangeListenerResult {
  8190. /** 当前网络类型 */
  8191. networkType: string
  8192. /** 当前是否处于弱网状态 */
  8193. weakNet: boolean
  8194. }
  8195. interface OnOpenListenerResult {
  8196. /** 需要基础库: `2.0.0`
  8197. *
  8198. * 连接成功的 HTTP 响应 Header */
  8199. header: IAnyObject
  8200. /** 需要基础库: `2.10.4`
  8201. *
  8202. * 网络请求过程中一些调试信息 */
  8203. profile: SocketProfile
  8204. }
  8205. interface OnPageNotFoundListenerResult {
  8206. /** 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) */
  8207. isEntryPage: boolean
  8208. /** 不存在页面的路径 (代码包路径) */
  8209. path: string
  8210. /** 打开不存在页面的 query 参数 */
  8211. query: Record<string, string>
  8212. }
  8213. interface OnScreenRecordingStateChangedListenerResult {
  8214. /** 录屏状态
  8215. *
  8216. * 可选值:
  8217. * - 'start': 开始录屏;
  8218. * - 'stop': 结束录屏; */
  8219. state: 'start' | 'stop'
  8220. }
  8221. interface OnSocketOpenListenerResult {
  8222. /** 需要基础库: `2.0.0`
  8223. *
  8224. * 连接成功的 HTTP 响应 Header */
  8225. header: IAnyObject
  8226. }
  8227. interface OnStopListenerResult {
  8228. /** 录音总时长,单位:ms */
  8229. duration: number
  8230. /** 录音文件大小,单位:Byte */
  8231. fileSize: number
  8232. /** 录音文件的临时路径 (本地路径) */
  8233. tempFilePath: string
  8234. }
  8235. interface OnThemeChangeListenerResult {
  8236. /** 系统当前的主题,取值为`light`或`dark`
  8237. *
  8238. * 可选值:
  8239. * - 'dark': 深色主题;
  8240. * - 'light': 浅色主题; */
  8241. theme: 'dark' | 'light'
  8242. }
  8243. interface OnUnhandledRejectionListenerResult {
  8244. /** 被拒绝的 Promise 对象 */
  8245. promise: Promise<any>
  8246. /** 拒绝原因,一般是一个 Error 对象 */
  8247. reason: string
  8248. }
  8249. interface OnUserCaptureScreenListenerResult {
  8250. /** 需要基础库: `3.3.0`
  8251. *
  8252. * 如果该参数存在,则其它的参数将会以 resolve 结果为准,如果一秒内不 resolve,分享会使用上面传入的默认参数 */
  8253. promise?: Promise<any>
  8254. /** 需要基础库: `3.3.0`
  8255. *
  8256. * 支持开发者自定义一键打开小程序时的 query */
  8257. query?: string
  8258. }
  8259. interface OnVoIPChatInterruptedListenerResult {
  8260. /** 错误码 */
  8261. errCode: number
  8262. /** 调用结果(错误原因) */
  8263. errMsg: string
  8264. }
  8265. interface OnVoIPChatMembersChangedListenerResult {
  8266. /** 错误码 */
  8267. errCode: number
  8268. /** 调用结果 */
  8269. errMsg: string
  8270. /** 还在实时语音通话中的成员 openId 名单 */
  8271. openIdList: string[]
  8272. }
  8273. interface OnVoIPChatSpeakersChangedListenerResult {
  8274. /** 错误码 */
  8275. errCode: number
  8276. /** 调用结果(错误原因) */
  8277. errMsg: string
  8278. /** 还在实时语音通话中的成员 openId 名单 */
  8279. openIdList: string[]
  8280. }
  8281. interface OnVoIPChatStateChangedListenerResult {
  8282. /** 事件码 */
  8283. code: number
  8284. /** 附加信息 */
  8285. data: IAnyObject
  8286. /** 错误码 */
  8287. errCode: number
  8288. /** 调用结果 */
  8289. errMsg: string
  8290. }
  8291. interface OnVoIPVideoMembersChangedListenerResult {
  8292. /** 错误码 */
  8293. errCode: number
  8294. /** 调用结果 */
  8295. errMsg: string
  8296. /** 开启视频的成员名单 */
  8297. openIdList: string[]
  8298. }
  8299. interface OnWifiConnectedListenerResult {
  8300. /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html)
  8301. *
  8302. * Wi-Fi 信息 */
  8303. wifi: WifiInfo
  8304. }
  8305. interface OnWifiConnectedWithPartialInfoListenerResult {
  8306. /** [WifiInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/WifiInfo.html)
  8307. *
  8308. * 只包含 SSID 属性的 WifiInfo 对象 */
  8309. wifi: WifiInfo
  8310. }
  8311. interface OnWindowResizeListenerResult {
  8312. size: Size
  8313. }
  8314. interface OpenAppAuthorizeSettingOption {
  8315. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8316. complete?: OpenAppAuthorizeSettingCompleteCallback
  8317. /** 接口调用失败的回调函数 */
  8318. fail?: OpenAppAuthorizeSettingFailCallback
  8319. /** 接口调用成功的回调函数 */
  8320. success?: OpenAppAuthorizeSettingSuccessCallback
  8321. }
  8322. interface OpenBluetoothAdapterOption {
  8323. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8324. complete?: OpenBluetoothAdapterCompleteCallback
  8325. /** 接口调用失败的回调函数 */
  8326. fail?: OpenBluetoothAdapterFailCallback
  8327. /** 需要基础库: `2.10.0`
  8328. *
  8329. * 蓝牙模式,可作为主/从设备,仅 iOS 需要。
  8330. *
  8331. * 可选值:
  8332. * - 'central': 主机模式;
  8333. * - 'peripheral': 从机(外围设备)模式; */
  8334. mode?: 'central' | 'peripheral'
  8335. /** 接口调用成功的回调函数 */
  8336. success?: OpenBluetoothAdapterSuccessCallback
  8337. }
  8338. interface OpenCardOption {
  8339. /** 需要打开的卡券列表 */
  8340. cardList: OpenCardRequestInfo[]
  8341. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8342. complete?: OpenCardCompleteCallback
  8343. /** 接口调用失败的回调函数 */
  8344. fail?: OpenCardFailCallback
  8345. /** 接口调用成功的回调函数 */
  8346. success?: OpenCardSuccessCallback
  8347. }
  8348. /** 需要打开的卡券列表 */
  8349. interface OpenCardRequestInfo {
  8350. /** 卡券 ID */
  8351. cardId: string
  8352. /** 由 [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) */
  8353. code: string
  8354. }
  8355. interface OpenChannelsActivityOption {
  8356. /** 视频 feedId */
  8357. feedId: string
  8358. /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */
  8359. finderUserName: string
  8360. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8361. complete?: OpenChannelsActivityCompleteCallback
  8362. /** 接口调用失败的回调函数 */
  8363. fail?: OpenChannelsActivityFailCallback
  8364. /** 接口调用成功的回调函数 */
  8365. success?: OpenChannelsActivitySuccessCallback
  8366. }
  8367. interface OpenChannelsEventOption {
  8368. /** 活动 id */
  8369. eventId: string
  8370. /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */
  8371. finderUserName: string
  8372. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8373. complete?: OpenChannelsEventCompleteCallback
  8374. /** 接口调用失败的回调函数 */
  8375. fail?: OpenChannelsEventFailCallback
  8376. /** 接口调用成功的回调函数 */
  8377. success?: OpenChannelsEventSuccessCallback
  8378. }
  8379. interface OpenChannelsLiveOption {
  8380. /** 视频号 id,以“sph”开头的id,可在视频号助手获取 */
  8381. finderUserName: string
  8382. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8383. complete?: OpenChannelsLiveCompleteCallback
  8384. /** 接口调用失败的回调函数 */
  8385. fail?: OpenChannelsLiveFailCallback
  8386. /** 直播 feedId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */
  8387. feedId?: string
  8388. /** 直播 nonceId,通过 getChannelsLiveInfo 接口获取(基础库 v2.19.2 之前的版本需要填写) */
  8389. nonceId?: string
  8390. /** 接口调用成功的回调函数 */
  8391. success?: OpenChannelsLiveSuccessCallback
  8392. }
  8393. interface OpenChannelsUserProfileOption {
  8394. /** 视频号 id */
  8395. finderUserName: string
  8396. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8397. complete?: OpenChannelsUserProfileCompleteCallback
  8398. /** 接口调用失败的回调函数 */
  8399. fail?: OpenChannelsUserProfileFailCallback
  8400. /** 接口调用成功的回调函数 */
  8401. success?: OpenChannelsUserProfileSuccessCallback
  8402. }
  8403. interface OpenCustomerServiceChatOption {
  8404. /** 企业ID */
  8405. corpId: string
  8406. /** 客服信息 */
  8407. extInfo: ExtInfoOption
  8408. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8409. complete?: OpenCustomerServiceChatCompleteCallback
  8410. /** 接口调用失败的回调函数 */
  8411. fail?: OpenCustomerServiceChatFailCallback
  8412. /** 气泡消息图片 */
  8413. sendMessageImg?: string
  8414. /** 气泡消息小程序路径 */
  8415. sendMessagePath?: string
  8416. /** 气泡消息标题 */
  8417. sendMessageTitle?: string
  8418. /** 是否发送小程序气泡消息 */
  8419. showMessageCard?: boolean
  8420. /** 接口调用成功的回调函数 */
  8421. success?: OpenCustomerServiceChatSuccessCallback
  8422. }
  8423. interface OpenDocumentOption {
  8424. /** 文件路径 (本地路径) ,可通过 downloadFile 获得 */
  8425. filePath: string
  8426. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8427. complete?: OpenDocumentCompleteCallback
  8428. /** 接口调用失败的回调函数 */
  8429. fail?: OpenDocumentFailCallback
  8430. /** 需要基础库: `1.4.0`
  8431. *
  8432. * 文件类型,指定文件类型打开文件
  8433. *
  8434. * 可选值:
  8435. * - 'doc': doc 格式;
  8436. * - 'docx': docx 格式;
  8437. * - 'xls': xls 格式;
  8438. * - 'xlsx': xlsx 格式;
  8439. * - 'ppt': ppt 格式;
  8440. * - 'pptx': pptx 格式;
  8441. * - 'pdf': pdf 格式; */
  8442. fileType?: 'doc' | 'docx' | 'xls' | 'xlsx' | 'ppt' | 'pptx' | 'pdf'
  8443. /** 需要基础库: `2.11.0`
  8444. *
  8445. * 是否显示右上角菜单 */
  8446. showMenu?: boolean
  8447. /** 接口调用成功的回调函数 */
  8448. success?: OpenDocumentSuccessCallback
  8449. }
  8450. interface OpenEmbeddedMiniProgramOption {
  8451. /** 要打开的小程序 appId */
  8452. appId: string
  8453. /** 需要基础库: `2.33.0`
  8454. *
  8455. * 打开的小程序是否支持全屏 */
  8456. allowFullScreen?: boolean
  8457. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8458. complete?: OpenEmbeddedMiniProgramCompleteCallback
  8459. /** 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
  8460. *
  8461. * 可选值:
  8462. * - 'develop': 开发版;
  8463. * - 'trial': 体验版;
  8464. * - 'release': 正式版; */
  8465. envVersion?: 'develop' | 'trial' | 'release'
  8466. /** 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 [wx.onShow](#)、[wx.getLaunchOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html) 中可以获取到这份数据数据。 */
  8467. extraData?: IAnyObject
  8468. /** 接口调用失败的回调函数 */
  8469. fail?: OpenEmbeddedMiniProgramFailCallback
  8470. /** 需要基础库: `2.24.0`
  8471. *
  8472. * 不reLaunch目标小程序,直接打开目标跳转的小程序退后台时的页面,需满足以下条件:1. 目标跳转的小程序生命周期未被销毁;2. 且目标当次启动的path、query与上次启动相同,apiCategory以wx.getApiCategory接口的返回结果为准。 */
  8473. noRelaunchIfPathUnchanged?: boolean
  8474. /** 打开的页面路径,如果为空则打开首页。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"。 */
  8475. path?: string
  8476. /** 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。仅 verify=binding 支持。 */
  8477. shortLink?: string
  8478. /** 接口调用成功的回调函数 */
  8479. success?: OpenEmbeddedMiniProgramSuccessCallback
  8480. /** 需要基础库: `2.24.3`
  8481. *
  8482. * 校验方式。
  8483. *
  8484. * 可选值:
  8485. * - 'binding': 校验小程序管理后台的绑定关系。;
  8486. * - 'unionProduct': 校验目标打开链接是否为[小程序联盟](https://developers.weixin.qq.com/doc/ministore/union/brief-introduction.html)商品。; */
  8487. verify?: 'binding' | 'unionProduct'
  8488. }
  8489. interface OpenHKOfflinePayViewOption {
  8490. /** 随机字符串,长度为32个字符以下 */
  8491. nonceStr: string
  8492. /** 业务数据包,开发者目前无需感知,直接传空字符串即可 */
  8493. package: string
  8494. /** 签名,具体见微信支付文档 */
  8495. paySign: string
  8496. /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */
  8497. timeStamp: string
  8498. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8499. complete?: OpenHKOfflinePayViewCompleteCallback
  8500. /** 接口调用失败的回调函数 */
  8501. fail?: OpenHKOfflinePayViewFailCallback
  8502. /** 签名算法,应与后台下单时的值一致,目前仅支持 SHA1
  8503. *
  8504. * 可选值:
  8505. * - 'SHA1': SHA1签名算法; */
  8506. signType?: 'SHA1'
  8507. /** 接口调用成功的回调函数 */
  8508. success?: OpenHKOfflinePayViewSuccessCallback
  8509. }
  8510. interface OpenLocationOption {
  8511. /** 纬度,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系 */
  8512. latitude: number
  8513. /** 经度,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系 */
  8514. longitude: number
  8515. /** 地址的详细说明 */
  8516. address?: string
  8517. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8518. complete?: OpenLocationCompleteCallback
  8519. /** 接口调用失败的回调函数 */
  8520. fail?: OpenLocationFailCallback
  8521. /** 位置名 */
  8522. name?: string
  8523. /** 缩放比例,范围5~18 */
  8524. scale?: number
  8525. /** 接口调用成功的回调函数 */
  8526. success?: OpenLocationSuccessCallback
  8527. }
  8528. interface OpenMapAppOption {
  8529. /** 目的地名称 */
  8530. destination: string
  8531. /** 目的地纬度 */
  8532. latitude: number
  8533. /** 目的地经度 */
  8534. longitude: number
  8535. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8536. complete?: OpenMapAppCompleteCallback
  8537. /** 接口调用失败的回调函数 */
  8538. fail?: OpenMapAppFailCallback
  8539. /** 接口调用成功的回调函数 */
  8540. success?: OpenMapAppSuccessCallback
  8541. }
  8542. interface OpenOfficialAccountArticleOption {
  8543. /** 需要打开的公众号地址 */
  8544. url: string
  8545. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8546. complete?: OpenOfficialAccountArticleCompleteCallback
  8547. /** 接口调用失败的回调函数 */
  8548. fail?: OpenOfficialAccountArticleFailCallback
  8549. /** 接口调用成功的回调函数 */
  8550. success?: OpenOfficialAccountArticleSuccessCallback
  8551. }
  8552. interface OpenOfficialAccountArticleSuccessCallbackResult {
  8553. /** 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */
  8554. cancel: boolean
  8555. /** 为 true 时,表示用户点击了确定按钮 */
  8556. confirm: boolean
  8557. errMsg: string
  8558. }
  8559. interface OpenOption {
  8560. /** 文件路径 (本地路径) */
  8561. filePath: string
  8562. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8563. complete?: OpenCompleteCallback
  8564. /** 接口调用失败的回调函数 */
  8565. fail?: OpenFailCallback
  8566. /** 文件系统标志,默认值: 'r'
  8567. *
  8568. * 可选值:
  8569. * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件;
  8570. * - 'ax': 类似于 'a',但如果路径存在,则失败;
  8571. * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件;
  8572. * - 'ax+': 类似于 'a+',但如果路径存在,则失败;
  8573. * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件;
  8574. * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件;
  8575. * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常;
  8576. * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常;
  8577. * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件;
  8578. * - 'wx': 类似于 'w',但如果路径存在,则失败;
  8579. * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件;
  8580. * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */
  8581. flag?:
  8582. | 'a'
  8583. | 'ax'
  8584. | 'a+'
  8585. | 'ax+'
  8586. | 'as'
  8587. | 'as+'
  8588. | 'r'
  8589. | 'r+'
  8590. | 'w'
  8591. | 'wx'
  8592. | 'w+'
  8593. | 'wx+'
  8594. /** 接口调用成功的回调函数 */
  8595. success?: OpenSuccessCallback
  8596. }
  8597. interface OpenPrivacyContractOption {
  8598. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8599. complete?: OpenPrivacyContractCompleteCallback
  8600. /** 接口调用失败的回调函数 */
  8601. fail?: OpenPrivacyContractFailCallback
  8602. /** 接口调用成功的回调函数 */
  8603. success?: OpenPrivacyContractSuccessCallback
  8604. }
  8605. interface OpenSettingOption {
  8606. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8607. complete?: OpenSettingCompleteCallback
  8608. /** 接口调用失败的回调函数 */
  8609. fail?: OpenSettingFailCallback
  8610. /** 接口调用成功的回调函数 */
  8611. success?: OpenSettingSuccessCallback
  8612. /** 需要基础库: `2.10.3`
  8613. *
  8614. * 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */
  8615. withSubscriptions?: boolean
  8616. }
  8617. interface OpenSettingSuccessCallbackResult {
  8618. /** [AuthSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/AuthSetting.html)
  8619. *
  8620. * 用户授权结果 */
  8621. authSetting: AuthSetting
  8622. /** [SubscriptionsSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html)
  8623. *
  8624. * 需要基础库: `2.10.3`
  8625. *
  8626. * 用户订阅消息设置,接口参数`withSubscriptions`值为`true`时才会返回。 */
  8627. subscriptionsSetting: SubscriptionsSetting
  8628. errMsg: string
  8629. }
  8630. interface OpenSingleStickerViewOption {
  8631. /** 表情链接,可前往[表情开放平台](https://sticker.weixin.qq.com/cgi-bin/mmemoticon-bin/loginpage?t=login/index),在详情页中的「小程序跳转链接」入口复制 */
  8632. url: IAnyObject
  8633. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8634. complete?: OpenSingleStickerViewCompleteCallback
  8635. /** 接口调用失败的回调函数 */
  8636. fail?: OpenSingleStickerViewFailCallback
  8637. /** 接口调用成功的回调函数 */
  8638. success?: OpenSingleStickerViewSuccessCallback
  8639. }
  8640. interface OpenStickerIPViewOption {
  8641. /** 表情IP合辑链接,可前往[表情开放平台](https://sticker.weixin.qq.com/cgi-bin/mmemoticon-bin/loginpage?t=login/index),在详情页中的「小程序跳转链接」入口复制 */
  8642. url: IAnyObject
  8643. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8644. complete?: OpenStickerIPViewCompleteCallback
  8645. /** 接口调用失败的回调函数 */
  8646. fail?: OpenStickerIPViewFailCallback
  8647. /** 接口调用成功的回调函数 */
  8648. success?: OpenStickerIPViewSuccessCallback
  8649. }
  8650. interface OpenStickerSetViewOption {
  8651. /** 表情专辑链接,可前往[表情开放平台](https://sticker.weixin.qq.com/cgi-bin/mmemoticon-bin/loginpage?t=login/index),在详情页中的「小程序跳转链接」入口复制 */
  8652. url: IAnyObject
  8653. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8654. complete?: OpenStickerSetViewCompleteCallback
  8655. /** 接口调用失败的回调函数 */
  8656. fail?: OpenStickerSetViewFailCallback
  8657. /** 接口调用成功的回调函数 */
  8658. success?: OpenStickerSetViewSuccessCallback
  8659. }
  8660. interface OpenSuccessCallbackResult {
  8661. /** 文件描述符 */
  8662. fd: string
  8663. errMsg: string
  8664. }
  8665. interface OpenSyncOption {
  8666. /** 文件路径 (本地路径) */
  8667. filePath: string
  8668. /** 文件系统标志,默认值: 'r'
  8669. *
  8670. * 可选值:
  8671. * - 'a': 打开文件用于追加。 如果文件不存在,则创建该文件;
  8672. * - 'ax': 类似于 'a',但如果路径存在,则失败;
  8673. * - 'a+': 打开文件用于读取和追加。 如果文件不存在,则创建该文件;
  8674. * - 'ax+': 类似于 'a+',但如果路径存在,则失败;
  8675. * - 'as': 打开文件用于追加(在同步模式中)。 如果文件不存在,则创建该文件;
  8676. * - 'as+': 打开文件用于读取和追加(在同步模式中)。 如果文件不存在,则创建该文件;
  8677. * - 'r': 打开文件用于读取。 如果文件不存在,则会发生异常;
  8678. * - 'r+': 打开文件用于读取和写入。 如果文件不存在,则会发生异常;
  8679. * - 'w': 打开文件用于写入。 如果文件不存在则创建文件,如果文件存在则截断文件;
  8680. * - 'wx': 类似于 'w',但如果路径存在,则失败;
  8681. * - 'w+': 打开文件用于读取和写入。 如果文件不存在则创建文件,如果文件存在则截断文件;
  8682. * - 'wx+': 类似于 'w+',但如果路径存在,则失败; */
  8683. flag?:
  8684. | 'a'
  8685. | 'ax'
  8686. | 'a+'
  8687. | 'ax+'
  8688. | 'as'
  8689. | 'as+'
  8690. | 'r'
  8691. | 'r+'
  8692. | 'w'
  8693. | 'wx'
  8694. | 'w+'
  8695. | 'wx+'
  8696. }
  8697. interface OpenSystemBluetoothSettingOption {
  8698. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8699. complete?: OpenSystemBluetoothSettingCompleteCallback
  8700. /** 接口调用失败的回调函数 */
  8701. fail?: OpenSystemBluetoothSettingFailCallback
  8702. /** 接口调用成功的回调函数 */
  8703. success?: OpenSystemBluetoothSettingSuccessCallback
  8704. }
  8705. interface OpenVideoEditorOption {
  8706. /** 视频源的路径,只支持本地路径 */
  8707. filePath: string
  8708. /** 需要基础库: `2.16.1`
  8709. *
  8710. * 视频裁剪的最大长度 */
  8711. maxDuration: string
  8712. /** 需要基础库: `2.16.1`
  8713. *
  8714. * 视频裁剪的最小长度 */
  8715. minDuration: string
  8716. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8717. complete?: OpenVideoEditorCompleteCallback
  8718. /** 接口调用失败的回调函数 */
  8719. fail?: OpenVideoEditorFailCallback
  8720. /** 接口调用成功的回调函数 */
  8721. success?: OpenVideoEditorSuccessCallback
  8722. }
  8723. interface OpenVideoEditorSuccessCallbackResult {
  8724. /** 剪辑后生成的视频文件的时长,单位毫秒(ms) */
  8725. duration: number
  8726. /** 剪辑后生成的视频文件大小,单位字节数(byte) */
  8727. size: number
  8728. /** 编辑后生成的视频文件的临时路径 */
  8729. tempFilePath: string
  8730. /** 编辑后生成的缩略图文件的临时路径 */
  8731. tempThumbPath: string
  8732. errMsg: string
  8733. }
  8734. interface PageScrollToOption {
  8735. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8736. complete?: PageScrollToCompleteCallback
  8737. /** 滚动动画的时长,单位 ms */
  8738. duration?: number
  8739. /** 接口调用失败的回调函数 */
  8740. fail?: PageScrollToFailCallback
  8741. /** 需要基础库: `2.23.1`
  8742. *
  8743. * 偏移距离,需要和 selector 参数搭配使用,可以滚动到 selector 加偏移距离的位置,单位 px */
  8744. offsetTop?: number
  8745. /** 滚动到页面的目标位置,单位 px */
  8746. scrollTop?: number
  8747. /** 需要基础库: `2.7.3`
  8748. *
  8749. * 选择器 */
  8750. selector?: string
  8751. /** 接口调用成功的回调函数 */
  8752. success?: PageScrollToSuccessCallback
  8753. }
  8754. interface PauseBGMOption {
  8755. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8756. complete?: PauseBGMCompleteCallback
  8757. /** 接口调用失败的回调函数 */
  8758. fail?: PauseBGMFailCallback
  8759. /** 接口调用成功的回调函数 */
  8760. success?: PauseBGMSuccessCallback
  8761. }
  8762. interface PauseBackgroundAudioOption {
  8763. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8764. complete?: PauseBackgroundAudioCompleteCallback
  8765. /** 接口调用失败的回调函数 */
  8766. fail?: PauseBackgroundAudioFailCallback
  8767. /** 接口调用成功的回调函数 */
  8768. success?: PauseBackgroundAudioSuccessCallback
  8769. }
  8770. interface PauseOption {
  8771. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8772. complete?: PauseCompleteCallback
  8773. /** 接口调用失败的回调函数 */
  8774. fail?: PauseFailCallback
  8775. /** 接口调用成功的回调函数 */
  8776. success?: PauseSuccessCallback
  8777. }
  8778. interface PauseVoiceOption {
  8779. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8780. complete?: PauseVoiceCompleteCallback
  8781. /** 接口调用失败的回调函数 */
  8782. fail?: PauseVoiceFailCallback
  8783. /** 接口调用成功的回调函数 */
  8784. success?: PauseVoiceSuccessCallback
  8785. }
  8786. /** 单条性能数据。具体数据口径请参考[性能数据文档]((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)) */
  8787. interface PerformanceEntry {
  8788. /** 需要基础库: `2.24.0`
  8789. *
  8790. * 解析域名结束时间。仅 resourceTiming 指标有效。 */
  8791. domainLookupEnd: number
  8792. /** 需要基础库: `2.24.0`
  8793. *
  8794. * 解析域名开始时间。仅 resourceTiming 指标有效。 */
  8795. domainLookupStart: number
  8796. /** 耗时 ms。仅对于表示阶段的指标有效。 */
  8797. duration: number
  8798. /** 指标类型
  8799. *
  8800. * 可选值:
  8801. * - 'navigation': 路由;
  8802. * - 'render': 渲染;
  8803. * - 'script': 脚本; */
  8804. entryType: 'navigation' | 'render' | 'script'
  8805. /** 需要基础库: `2.21.2`
  8806. *
  8807. * 注入文件列表。仅 evaluateScript 指标有效。 */
  8808. fileList: string[]
  8809. /** 需要基础库: `2.21.2`
  8810. *
  8811. * 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 */
  8812. initDataRecvTime: number
  8813. /** 需要基础库: `2.21.2`
  8814. *
  8815. * 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 */
  8816. initDataSendTime: number
  8817. /** 需要基础库: `2.24.0`
  8818. *
  8819. * 初始化性能条目的资源类型。仅 resourceTiming 指标有效。
  8820. *
  8821. * 可选值:
  8822. * - 'audio': 音频;
  8823. * - 'cover-image': cover-image 组件的图片;
  8824. * - 'image': 组件的图片;
  8825. * - 'open-data': 组件的图片; */
  8826. initiatorType: 'audio' | 'cover-image' | 'image' | 'open-data'
  8827. /** 分包名,主包表示为 __APP__ (2.21.2 开始)。仅 evaluateScript 指标有效。 */
  8828. moduleName: string
  8829. /** 指标名称
  8830. *
  8831. * 可选值:
  8832. * - 'appLaunch': 小程序启动耗时。(entryType: navigation);
  8833. * - 'route': 路由处理耗时。(entryType: navigation);
  8834. * - 'firstRender': 页面首次渲染耗时。(entryType: render);
  8835. * - 'firstPaint': 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render);
  8836. * - 'firstContentfulPaint': 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render);
  8837. * - 'largestContentfulPaint': 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render);
  8838. * - 'evaluateScript': 逻辑层 JS 代码注入耗时。(entryType: script);
  8839. * - 'downloadPackage': 代码包下载耗时。(entryType: loadPackage);
  8840. * - 'resourceTiming': 视图层资源加载耗时。(entryType: resource); */
  8841. name:
  8842. | 'appLaunch'
  8843. | 'route'
  8844. | 'firstRender'
  8845. | 'firstPaint'
  8846. | 'firstContentfulPaint'
  8847. | 'largestContentfulPaint'
  8848. | 'evaluateScript'
  8849. | 'downloadPackage'
  8850. | 'resourceTiming'
  8851. /** 路由真正响应开始时间。仅 navigation 类型指标有效。 */
  8852. navigationStart: number
  8853. /** 路由详细类型,与小程序路由方法对应。仅 navigation 类型指标有效。 */
  8854. navigationType: string
  8855. /** 需要基础库: `2.24.0`
  8856. *
  8857. * 代码包名称。仅 downloadPackage 指标有效。 */
  8858. packageName: string
  8859. /** 需要基础库: `2.24.0`
  8860. *
  8861. * 代码包大小。仅 downloadPackage 指标有效。 */
  8862. packageSize: number
  8863. /** 需要基础库: `2.23.1`
  8864. *
  8865. * path 对应页面实例 Id(随机生成,不保证递增)。仅 render/navigation 指标有效。 */
  8866. pageId: number
  8867. /** 页面路径。仅 render 和 navigation 类型指标有效。 */
  8868. path: string
  8869. /** 需要基础库: `2.23.1`
  8870. *
  8871. * referrerPath对应页面实例 Id(随机生成,不保证递增)。仅 route 指标有效。 */
  8872. referrerPageId: number
  8873. /** 需要基础库: `2.23.1`
  8874. *
  8875. * 页面跳转来源页面路径。仅 route 指标有效。 */
  8876. referrerPath: number
  8877. /** 开始时间,不同指标的具体含义会有差异。 */
  8878. startTime: number
  8879. /** 需要基础库: `2.24.0`
  8880. *
  8881. * 表示获取资源的大小(以八位字节为单位)的数字。仅 resourceTiming 指标有效。(iOS 不支持) */
  8882. transferSize: number
  8883. /** 需要基础库: `2.24.0`
  8884. *
  8885. * 资源路径。仅 resourceTiming 指标有效。 */
  8886. uri: string
  8887. /** 需要基础库: `2.21.2`
  8888. *
  8889. * 渲染层代码注入完成时间。仅 firstRender 指标有效。 */
  8890. viewLayerReadyTime: number
  8891. /** 需要基础库: `2.21.2`
  8892. *
  8893. * 渲染层执行渲染结束时间。仅 firstRender 指标有效。 */
  8894. viewLayerRenderEndTime: number
  8895. /** 需要基础库: `2.21.2`
  8896. *
  8897. * 渲染层执行渲染开始时间。仅 firstRender 指标有效。 */
  8898. viewLayerRenderStartTime: number
  8899. }
  8900. /** 需要基础库: `2.11.0`
  8901. *
  8902. * PerformanceObserver 对象,用于监听性能相关事件 */
  8903. interface PerformanceObserver {
  8904. /** 获取当前支持的所有性能指标类型 */
  8905. supportedEntryTypes: any[]
  8906. /** [PerformanceObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.disconnect.html)
  8907. *
  8908. * 需要基础库: `2.11.0`
  8909. *
  8910. * 在插件中使用:不支持
  8911. *
  8912. * 停止监听 */
  8913. disconnect(): void
  8914. /** [PerformanceObserver.observe(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceObserver.observe.html)
  8915. *
  8916. * 需要基础库: `2.11.0`
  8917. *
  8918. * 在插件中使用:不支持
  8919. *
  8920. * 开始监听 */
  8921. observe(
  8922. /** 设置 type 监听单个类型的指标,设置 entryTypes 监听多个类型指标。 */
  8923. options: ObserveOption
  8924. ): void
  8925. }
  8926. /** 平面跟踪配置 */
  8927. interface PlaneTrack {
  8928. /** 平面跟踪配置模式
  8929. *
  8930. * 可选值:
  8931. * - 1: 检测横向平面;
  8932. * - 2: 检测纵向平面,只有 v2 版本支持;
  8933. * - 3: 检测横向和纵向平面,只有 v2 版本支持; */
  8934. mode: 1 | 2 | 3
  8935. }
  8936. interface PlayBGMOption {
  8937. /** 加入背景混音的资源地址 */
  8938. url: string
  8939. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8940. complete?: PlayBGMCompleteCallback
  8941. /** 需要基础库: `2.31.0`
  8942. *
  8943. * BGM结束播放时间点,单位ms,0代表播放至文件结尾,若入参为负或超过文件长度,则默认播放至文件结尾 */
  8944. endTimeMs?: number
  8945. /** 接口调用失败的回调函数 */
  8946. fail?: PlayBGMFailCallback
  8947. /** 需要基础库: `2.31.0`
  8948. *
  8949. * BGM开始播时间点,单位ms,若入参为负或超过文件长度,则默认从文件开头进行播放 */
  8950. startTimeMs?: number
  8951. /** 接口调用成功的回调函数 */
  8952. success?: PlayBGMSuccessCallback
  8953. }
  8954. interface PlayBackgroundAudioOption {
  8955. /** 音乐链接,目前支持的格式有 m4a, aac, mp3, wav */
  8956. dataUrl: string
  8957. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8958. complete?: PlayBackgroundAudioCompleteCallback
  8959. /** 封面URL */
  8960. coverImgUrl?: string
  8961. /** 接口调用失败的回调函数 */
  8962. fail?: PlayBackgroundAudioFailCallback
  8963. /** 接口调用成功的回调函数 */
  8964. success?: PlayBackgroundAudioSuccessCallback
  8965. /** 音乐标题 */
  8966. title?: string
  8967. }
  8968. interface PlayOption {
  8969. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8970. complete?: PlayCompleteCallback
  8971. /** 接口调用失败的回调函数 */
  8972. fail?: PlayFailCallback
  8973. /** 接口调用成功的回调函数 */
  8974. success?: PlaySuccessCallback
  8975. }
  8976. interface PlayVoiceOption {
  8977. /** 需要播放的语音文件的文件路径 (本地路径) */
  8978. filePath: string
  8979. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8980. complete?: PlayVoiceCompleteCallback
  8981. /** 需要基础库: `1.6.0`
  8982. *
  8983. * 指定播放时长,到达指定的播放时长后会自动停止播放,单位:秒 */
  8984. duration?: number
  8985. /** 接口调用失败的回调函数 */
  8986. fail?: PlayVoiceFailCallback
  8987. /** 接口调用成功的回调函数 */
  8988. success?: PlayVoiceSuccessCallback
  8989. }
  8990. /** 插件账号信息(仅在插件中调用时包含这一项) */
  8991. interface Plugin {
  8992. /** 插件 appId */
  8993. appId: string
  8994. /** 插件版本号 */
  8995. version: string
  8996. }
  8997. interface PluginLoginOption {
  8998. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  8999. complete?: PluginLoginCompleteCallback
  9000. /** 接口调用失败的回调函数 */
  9001. fail?: PluginLoginFailCallback
  9002. /** 接口调用成功的回调函数 */
  9003. success?: PluginLoginSuccessCallback
  9004. }
  9005. interface PluginLoginSuccessCallbackResult {
  9006. /** 用于换取 openpid 的凭证(有效期五分钟)。插件开发者可以用此 code 在开发者服务器后台调用 [getPluginOpenPId](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/basic-info/getPluginOpenPId.html) 换取 openpid。 */
  9007. code: string
  9008. errMsg: string
  9009. }
  9010. interface PostMessageToReferrerMiniProgramOption {
  9011. /** 要打开的小程序 appId */
  9012. extraData?: IAnyObject
  9013. }
  9014. interface PreDownloadSubpackageOption {
  9015. /** 分包加载结束回调事件(加载成功、失败都会执行) */
  9016. complete: (...args: any[]) => any
  9017. /** 分包加载失败回调事件 */
  9018. fail: (...args: any[]) => any
  9019. /** 分包的类型。目前仅支持填 "workers",表示 workers 分包。 */
  9020. packageType: string
  9021. /** 分包加载成功回调事件 */
  9022. success: (...args: any[]) => any
  9023. }
  9024. interface PreDownloadSubpackageTaskOnProgressUpdateListenerResult {
  9025. /** 分包下载进度百分比 */
  9026. progress: number
  9027. /** 预期需要下载的数据总长度,单位 Bytes */
  9028. totalBytesExpectedToWrite: number
  9029. /** 已经下载的数据长度,单位 Bytes */
  9030. totalBytesWritten: number
  9031. }
  9032. interface PreloadAssetsOption {
  9033. data: Asset[]
  9034. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9035. complete?: PreloadAssetsCompleteCallback
  9036. /** 接口调用失败的回调函数 */
  9037. fail?: PreloadAssetsFailCallback
  9038. /** 接口调用成功的回调函数 */
  9039. success?: PreloadAssetsSuccessCallback
  9040. }
  9041. interface PreloadSkylineViewOption {
  9042. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9043. complete?: PreloadSkylineViewCompleteCallback
  9044. /** 接口调用失败的回调函数 */
  9045. fail?: PreloadSkylineViewFailCallback
  9046. /** 接口调用成功的回调函数 */
  9047. success?: PreloadSkylineViewSuccessCallback
  9048. }
  9049. interface PreloadWebviewOption {
  9050. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9051. complete?: PreloadWebviewCompleteCallback
  9052. /** 接口调用失败的回调函数 */
  9053. fail?: PreloadWebviewFailCallback
  9054. /** 接口调用成功的回调函数 */
  9055. success?: PreloadWebviewSuccessCallback
  9056. }
  9057. interface PreviewImageOption {
  9058. /** 需要预览的图片链接列表。[2.2.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持云文件ID。 */
  9059. urls: string[]
  9060. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9061. complete?: PreviewImageCompleteCallback
  9062. /** 当前显示图片的链接 */
  9063. current?: string
  9064. /** 接口调用失败的回调函数 */
  9065. fail?: PreviewImageFailCallback
  9066. /** 需要基础库: `2.13.0`
  9067. *
  9068. * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */
  9069. referrerPolicy?: string
  9070. /** 需要基础库: `2.13.0`
  9071. *
  9072. * 是否显示长按菜单。 */
  9073. showmenu?: boolean
  9074. /** 接口调用成功的回调函数 */
  9075. success?: PreviewImageSuccessCallback
  9076. }
  9077. interface PreviewMediaOption {
  9078. /** 需要预览的资源列表 */
  9079. sources: MediaSource[]
  9080. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9081. complete?: PreviewMediaCompleteCallback
  9082. /** 当前显示的资源序号 */
  9083. current?: number
  9084. /** 接口调用失败的回调函数 */
  9085. fail?: PreviewMediaFailCallback
  9086. /** 需要基础库: `2.13.0`
  9087. *
  9088. * `origin`: 发送完整的referrer; `no-referrer`: 不发送。格式固定为 `https://servicewechat.com/{appid}/{version}/page-frame.html`,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本; */
  9089. referrerPolicy?: string
  9090. /** 需要基础库: `2.13.0`
  9091. *
  9092. * 是否显示长按菜单。 */
  9093. showmenu?: boolean
  9094. /** 接口调用成功的回调函数 */
  9095. success?: PreviewMediaSuccessCallback
  9096. }
  9097. /** 订单详细商品信息列表。 */
  9098. interface ProductInfo {
  9099. /** 商户侧该商品所属的类目。示例值:玩偶 */
  9100. category: string
  9101. /** 商品主图的url,大小建议64*64。示例值:https://mp.weixin.qq.com/123 */
  9102. head_img: string
  9103. /** 该商品原价,单位为分。示例值:5000 */
  9104. org_price: number
  9105. /** 商户商品详请页小程序路径。示例值:pages/index */
  9106. path: string
  9107. /** 用户购买该商品的数量。示例值:5 */
  9108. quantity: number
  9109. /** 该商品售价,单位为分。示例值:4000 */
  9110. sale_price: number
  9111. /** 商户系统内该商品的sku属性。示例值:50cm */
  9112. sku_attr: string
  9113. /** 商户系统内该商品的skuid。示例值:sku123 */
  9114. sku_id: string
  9115. /** 商户系统内该商品的spuid。示例值:spu123456 */
  9116. spu_id: string
  9117. /** 商品标题。示例值:QQ长鹅 */
  9118. title: string
  9119. }
  9120. /** 推广员 */
  9121. interface PromoterResult {
  9122. /** 推广员昵称 */
  9123. finderNickname: string
  9124. /** 推广员 id */
  9125. promoterId: string
  9126. /** 推广员 openid */
  9127. promoterOpenId: string
  9128. }
  9129. interface ReLaunchOption {
  9130. /** 需要跳转的应用内页面路径 (代码包路径),路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2' */
  9131. url: string
  9132. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9133. complete?: ReLaunchCompleteCallback
  9134. /** 接口调用失败的回调函数 */
  9135. fail?: ReLaunchFailCallback
  9136. /** 接口调用成功的回调函数 */
  9137. success?: ReLaunchSuccessCallback
  9138. }
  9139. interface ReadBLECharacteristicValueOption {
  9140. /** 蓝牙特征的 UUID */
  9141. characteristicId: string
  9142. /** 蓝牙设备 id */
  9143. deviceId: string
  9144. /** 蓝牙特征对应服务的 UUID */
  9145. serviceId: string
  9146. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9147. complete?: ReadBLECharacteristicValueCompleteCallback
  9148. /** 接口调用失败的回调函数 */
  9149. fail?: ReadBLECharacteristicValueFailCallback
  9150. /** 接口调用成功的回调函数 */
  9151. success?: ReadBLECharacteristicValueSuccessCallback
  9152. }
  9153. interface ReadCompressedFileOption {
  9154. /** 文件压缩类型,目前仅支持 'br'。
  9155. *
  9156. * 可选值:
  9157. * - 'br': brotli压缩文件; */
  9158. compressionAlgorithm: 'br'
  9159. /** 要读取的文件的路径 (本地用户文件或代码包文件) */
  9160. filePath: string
  9161. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9162. complete?: ReadCompressedFileCompleteCallback
  9163. /** 接口调用失败的回调函数 */
  9164. fail?: ReadCompressedFileFailCallback
  9165. /** 接口调用成功的回调函数 */
  9166. success?: ReadCompressedFileSuccessCallback
  9167. }
  9168. interface ReadCompressedFileSuccessCallbackResult {
  9169. /** 文件内容 */
  9170. data: ArrayBuffer
  9171. errMsg: string
  9172. }
  9173. interface ReadCompressedFileSyncOption {
  9174. /** 文件压缩类型,目前仅支持 'br'。
  9175. *
  9176. * 可选值:
  9177. * - 'br': brotli压缩文件; */
  9178. compressionAlgorithm: 'br'
  9179. /** 要读取的文件的路径 (本地用户文件或代码包文件) */
  9180. filePath: string
  9181. }
  9182. interface ReadFileOption {
  9183. /** 要读取的文件的路径 (本地路径) */
  9184. filePath: string
  9185. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9186. complete?: ReadFileCompleteCallback
  9187. /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  9188. *
  9189. * 可选值:
  9190. * - 'ascii': ;
  9191. * - 'base64': ;
  9192. * - 'binary': ;
  9193. * - 'hex': ;
  9194. * - 'ucs2': 以小端序读取;
  9195. * - 'ucs-2': 以小端序读取;
  9196. * - 'utf16le': 以小端序读取;
  9197. * - 'utf-16le': 以小端序读取;
  9198. * - 'utf-8': ;
  9199. * - 'utf8': ;
  9200. * - 'latin1': ; */
  9201. encoding?:
  9202. | 'ascii'
  9203. | 'base64'
  9204. | 'binary'
  9205. | 'hex'
  9206. | 'ucs2'
  9207. | 'ucs-2'
  9208. | 'utf16le'
  9209. | 'utf-16le'
  9210. | 'utf-8'
  9211. | 'utf8'
  9212. | 'latin1'
  9213. /** 接口调用失败的回调函数 */
  9214. fail?: ReadFileFailCallback
  9215. /** 需要基础库: `2.10.0`
  9216. *
  9217. * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */
  9218. length?: number
  9219. /** 需要基础库: `2.10.0`
  9220. *
  9221. * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */
  9222. position?: number
  9223. /** 接口调用成功的回调函数 */
  9224. success?: ReadFileSuccessCallback
  9225. }
  9226. interface ReadFileSuccessCallbackResult {
  9227. /** 文件内容 */
  9228. data: string | ArrayBuffer
  9229. errMsg: string
  9230. }
  9231. interface ReadOption {
  9232. /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */
  9233. arrayBuffer: ArrayBuffer
  9234. /** 文件描述符。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) 接口获得 */
  9235. fd: string
  9236. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9237. complete?: ReadCompleteCallback
  9238. /** 接口调用失败的回调函数 */
  9239. fail?: ReadFailCallback
  9240. /** 要从文件中读取的字节数,默认0 */
  9241. length?: number
  9242. /** 缓冲区中的写入偏移量,默认0 */
  9243. offset?: number
  9244. /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */
  9245. position?: number
  9246. /** 接口调用成功的回调函数 */
  9247. success?: ReadSuccessCallback
  9248. }
  9249. /** 文件读取结果。 通过 [FileSystemManager.readSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readSync.html) 接口返回 */
  9250. interface ReadResult {
  9251. /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */
  9252. arrayBuffer: ArrayBuffer
  9253. /** 实际读取的字节数 */
  9254. bytesRead: number
  9255. }
  9256. interface ReadSuccessCallbackResult {
  9257. /** 被写入的缓存区的对象,即接口入参的 arrayBuffer */
  9258. arrayBuffer: ArrayBuffer
  9259. /** 实际读取的字节数 */
  9260. bytesRead: number
  9261. errMsg: string
  9262. }
  9263. interface ReadSyncOption {
  9264. /** 数据写入的缓冲区,必须是 ArrayBuffer 实例 */
  9265. arrayBuffer: ArrayBuffer
  9266. /** 文件描述符。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) 接口获得 */
  9267. fd: string
  9268. /** 要从文件中读取的字节数,默认0 */
  9269. length?: number
  9270. /** 缓冲区中的写入偏移量,默认0 */
  9271. offset?: number
  9272. /** 文件读取的起始位置,如不传或传 null,则会从当前文件指针的位置读取。如果 position 是正整数,则文件指针位置会保持不变并从 position 读取文件。 */
  9273. position?: number
  9274. }
  9275. interface ReadZipEntryOption {
  9276. /** 要读取的压缩包内的文件列表(当传入"all" 时表示读取压缩包内所有文件) */
  9277. entries: EntryItem[] | 'all'
  9278. /** 要读取的压缩包的路径 (本地路径) */
  9279. filePath: string
  9280. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9281. complete?: ReadZipEntryCompleteCallback
  9282. /** 统一指定读取文件的字符编码,只在 entries 值为"all"时有效。如果 entries 值为"all"且不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  9283. *
  9284. * 可选值:
  9285. * - 'ascii': ;
  9286. * - 'base64': ;
  9287. * - 'binary': ;
  9288. * - 'hex': ;
  9289. * - 'ucs2': 以小端序读取;
  9290. * - 'ucs-2': 以小端序读取;
  9291. * - 'utf16le': 以小端序读取;
  9292. * - 'utf-16le': 以小端序读取;
  9293. * - 'utf-8': ;
  9294. * - 'utf8': ;
  9295. * - 'latin1': ; */
  9296. encoding?:
  9297. | 'ascii'
  9298. | 'base64'
  9299. | 'binary'
  9300. | 'hex'
  9301. | 'ucs2'
  9302. | 'ucs-2'
  9303. | 'utf16le'
  9304. | 'utf-16le'
  9305. | 'utf-8'
  9306. | 'utf8'
  9307. | 'latin1'
  9308. /** 接口调用失败的回调函数 */
  9309. fail?: ReadZipEntryFailCallback
  9310. /** 接口调用成功的回调函数 */
  9311. success?: ReadZipEntrySuccessCallback
  9312. }
  9313. interface ReadZipEntrySuccessCallbackResult {
  9314. /** 文件读取结果。res.entries 是一个对象,key是文件路径,value是一个对象 FileItem ,表示该文件的读取结果。每个 FileItem 包含 data (文件内容) 和 errMsg (错误信息) 属性。 */
  9315. entries: EntriesResult
  9316. errMsg: string
  9317. }
  9318. interface ReaddirOption {
  9319. /** 要读取的目录路径 (本地路径) */
  9320. dirPath: string
  9321. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9322. complete?: ReaddirCompleteCallback
  9323. /** 接口调用失败的回调函数 */
  9324. fail?: ReaddirFailCallback
  9325. /** 接口调用成功的回调函数 */
  9326. success?: ReaddirSuccessCallback
  9327. }
  9328. interface ReaddirSuccessCallbackResult {
  9329. /** 指定目录下的文件名数组。 */
  9330. files: string[]
  9331. errMsg: string
  9332. }
  9333. interface ReconnectCastingOption {
  9334. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9335. complete?: ReconnectCastingCompleteCallback
  9336. /** 接口调用失败的回调函数 */
  9337. fail?: ReconnectCastingFailCallback
  9338. /** 接口调用成功的回调函数 */
  9339. success?: ReconnectCastingSuccessCallback
  9340. }
  9341. interface RecorderManagerStartOption {
  9342. /** 需要基础库: `2.1.0`
  9343. *
  9344. * 指定录音的音频输入源,可通过 [wx.getAvailableAudioSources()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html) 获取当前可用的音频源
  9345. *
  9346. * 可选值:
  9347. * - 'auto': 自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风,所有平台适用;
  9348. * - 'buildInMic': 手机麦克风,仅限 iOS;
  9349. * - 'headsetMic': 有线耳机麦克风,仅限 iOS;
  9350. * - 'mic': 麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风),仅限 Android;
  9351. * - 'camcorder': 同 mic,适用于录制音视频内容,仅限 Android;
  9352. * - 'voice_communication': 同 mic,适用于实时沟通,仅限 Android;
  9353. * - 'voice_recognition': 同 mic,适用于语音识别,仅限 Android; */
  9354. audioSource?:
  9355. | 'auto'
  9356. | 'buildInMic'
  9357. | 'headsetMic'
  9358. | 'mic'
  9359. | 'camcorder'
  9360. | 'voice_communication'
  9361. | 'voice_recognition'
  9362. /** 录音的时长,单位 ms,最大值 600000(10 分钟) */
  9363. duration?: number
  9364. /** 编码码率,有效值见下表格 */
  9365. encodeBitRate?: number
  9366. /** 音频格式
  9367. *
  9368. * 可选值:
  9369. * - 'mp3': mp3 格式;
  9370. * - 'aac': aac 格式;
  9371. * - 'wav': wav 格式;
  9372. * - 'PCM': pcm 格式; */
  9373. format?: 'mp3' | 'aac' | 'wav' | 'PCM'
  9374. /** 指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3、pcm 格式。 */
  9375. frameSize?: number
  9376. /** 录音通道数
  9377. *
  9378. * 可选值:
  9379. * - 1: 1 个通道;
  9380. * - 2: 2 个通道; */
  9381. numberOfChannels?: 1 | 2
  9382. /** 采样率(pc不支持)
  9383. *
  9384. * 可选值:
  9385. * - 8000: 8000 采样率;
  9386. * - 11025: 11025 采样率;
  9387. * - 12000: 12000 采样率;
  9388. * - 16000: 16000 采样率;
  9389. * - 22050: 22050 采样率;
  9390. * - 24000: 24000 采样率;
  9391. * - 32000: 32000 采样率;
  9392. * - 44100: 44100 采样率;
  9393. * - 48000: 48000 采样率; */
  9394. sampleRate?:
  9395. | 8000
  9396. | 11025
  9397. | 12000
  9398. | 16000
  9399. | 22050
  9400. | 24000
  9401. | 32000
  9402. | 44100
  9403. | 48000
  9404. }
  9405. interface RedirectToOption {
  9406. /** 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 `?` 分隔,参数键与参数值用 `=` 相连,不同参数用 `&` 分隔;如 'path?key=value&key2=value2' */
  9407. url: string
  9408. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9409. complete?: RedirectToCompleteCallback
  9410. /** 接口调用失败的回调函数 */
  9411. fail?: RedirectToFailCallback
  9412. /** 接口调用成功的回调函数 */
  9413. success?: RedirectToSuccessCallback
  9414. }
  9415. interface RedoOption {
  9416. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9417. complete?: RedoCompleteCallback
  9418. /** 接口调用失败的回调函数 */
  9419. fail?: RedoFailCallback
  9420. /** 接口调用成功的回调函数 */
  9421. success?: RedoSuccessCallback
  9422. }
  9423. interface RefCallbackResult {
  9424. /** 节点对应的 Ref 对象 */
  9425. ref: IAnyObject
  9426. }
  9427. /** 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 `{}`。(参见后文注意) */
  9428. interface ReferrerInfo {
  9429. /** 来源小程序、公众号或 App 的 appId */
  9430. appId: string
  9431. /** 来源小程序传过来的数据,scene=1037或1038时支持 */
  9432. extraData: IAnyObject
  9433. }
  9434. /** 参照区域的边界 */
  9435. interface RelativeRectResult {
  9436. /** 下边界 */
  9437. bottom: number
  9438. /** 左边界 */
  9439. left: number
  9440. /** 右边界 */
  9441. right: number
  9442. /** 上边界 */
  9443. top: number
  9444. }
  9445. interface RemoveArcOption {
  9446. /** 圆弧 id */
  9447. id: number
  9448. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9449. complete?: RemoveArcCompleteCallback
  9450. /** 接口调用失败的回调函数 */
  9451. fail?: RemoveArcFailCallback
  9452. /** 接口调用成功的回调函数 */
  9453. success?: RemoveArcSuccessCallback
  9454. }
  9455. interface RemoveCustomLayerOption {
  9456. /** 个性化图层id */
  9457. layerId: string
  9458. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9459. complete?: RemoveCustomLayerCompleteCallback
  9460. /** 接口调用失败的回调函数 */
  9461. fail?: RemoveCustomLayerFailCallback
  9462. /** 接口调用成功的回调函数 */
  9463. success?: RemoveCustomLayerSuccessCallback
  9464. }
  9465. interface RemoveFormatOption {
  9466. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9467. complete?: RemoveFormatCompleteCallback
  9468. /** 接口调用失败的回调函数 */
  9469. fail?: RemoveFormatFailCallback
  9470. /** 接口调用成功的回调函数 */
  9471. success?: RemoveFormatSuccessCallback
  9472. }
  9473. interface RemoveGroundOverlayOption {
  9474. /** 图片图层 id */
  9475. id: string
  9476. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9477. complete?: RemoveGroundOverlayCompleteCallback
  9478. /** 接口调用失败的回调函数 */
  9479. fail?: RemoveGroundOverlayFailCallback
  9480. /** 接口调用成功的回调函数 */
  9481. success?: RemoveGroundOverlaySuccessCallback
  9482. }
  9483. interface RemoveMarkersOption {
  9484. /** marker 的 id 集合。 */
  9485. markerIds: any[]
  9486. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9487. complete?: RemoveMarkersCompleteCallback
  9488. /** 接口调用失败的回调函数 */
  9489. fail?: RemoveMarkersFailCallback
  9490. /** 接口调用成功的回调函数 */
  9491. success?: RemoveMarkersSuccessCallback
  9492. }
  9493. interface RemoveSavedFileOption {
  9494. /** 需要删除的文件路径 (本地路径) */
  9495. filePath: string
  9496. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9497. complete?: RemoveSavedFileCompleteCallback
  9498. /** 接口调用失败的回调函数 */
  9499. fail?: RemoveSavedFileFailCallback
  9500. /** 接口调用成功的回调函数 */
  9501. success?: RemoveSavedFileSuccessCallback
  9502. }
  9503. interface RemoveServiceOption {
  9504. /** service 的 UUID */
  9505. serviceId: string
  9506. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9507. complete?: RemoveServiceCompleteCallback
  9508. /** 接口调用失败的回调函数 */
  9509. fail?: RemoveServiceFailCallback
  9510. /** 接口调用成功的回调函数 */
  9511. success?: RemoveServiceSuccessCallback
  9512. }
  9513. interface RemoveStorageOption {
  9514. /** 本地缓存中指定的 key */
  9515. key: string
  9516. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9517. complete?: RemoveStorageCompleteCallback
  9518. /** 接口调用失败的回调函数 */
  9519. fail?: RemoveStorageFailCallback
  9520. /** 接口调用成功的回调函数 */
  9521. success?: RemoveStorageSuccessCallback
  9522. }
  9523. interface RemoveTabBarBadgeOption {
  9524. /** tabBar 的哪一项,从左边算起 */
  9525. index: number
  9526. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9527. complete?: RemoveTabBarBadgeCompleteCallback
  9528. /** 接口调用失败的回调函数 */
  9529. fail?: RemoveTabBarBadgeFailCallback
  9530. /** 接口调用成功的回调函数 */
  9531. success?: RemoveTabBarBadgeSuccessCallback
  9532. }
  9533. interface RemoveVisualLayerOption {
  9534. /** 可视化图层id */
  9535. layerId: string
  9536. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9537. complete?: RemoveVisualLayerCompleteCallback
  9538. /** 接口调用失败的回调函数 */
  9539. fail?: RemoveVisualLayerFailCallback
  9540. /** 接口调用成功的回调函数 */
  9541. success?: RemoveVisualLayerSuccessCallback
  9542. }
  9543. interface RenameOption {
  9544. /** 新文件路径,支持本地路径 */
  9545. newPath: string
  9546. /** 源文件路径,支持本地路径 */
  9547. oldPath: string
  9548. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9549. complete?: RenameCompleteCallback
  9550. /** 接口调用失败的回调函数 */
  9551. fail?: RenameFailCallback
  9552. /** 接口调用成功的回调函数 */
  9553. success?: RenameSuccessCallback
  9554. }
  9555. /** Canvas 绘图上下文。
  9556. *
  9557. * ****
  9558. *
  9559. * - 通过 Canvas.getContext('2d') 接口可以获取 CanvasRenderingContext2D 对象,实现了 [HTML Canvas 2D Context](https://www.w3.org/TR/2dcontext/) 定义的属性、方法。
  9560. * - 通过 Canvas.getContext('webgl') 或 OffscreenCanvas.getContext('webgl') 接口可以获取 WebGLRenderingContext 对象,实现了 [WebGL 1.0](https://www.khronos.org/registry/webgl/specs/latest/1.0/) 定义的所有属性、方法、常量。
  9561. * - CanvasRenderingContext2D 的 drawImage 方法 2.10.0 起支持传入通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取的 video 对象,2.29.0 起支持传入开启了自定义渲染的 [LivePusherContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.html) 对象。
  9562. *
  9563. * **示例代码**
  9564. *
  9565. * video 画到 2D Canvas 示例
  9566. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tJTak7mU7sfX) */
  9567. interface RenderingContext {}
  9568. interface RequestCommonPaymentFailCallbackErr {
  9569. /** 错误信息 */
  9570. errMsg: string
  9571. /** 错误码 */
  9572. errno: number
  9573. }
  9574. interface RequestCommonPaymentOption {
  9575. /** 支付的类型
  9576. *
  9577. * 可选值:
  9578. * - 'retail_pay_goods': B2b支付; */
  9579. mode: 'retail_pay_goods'
  9580. /** 支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html) */
  9581. paySig: string
  9582. /** 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"mchid":"1234567890","out_trade_no":"test1244","description":"测试测试","amount":{"order_amount":1,"currency":"CNY"},"attach":"test_attach","env":1}' */
  9583. signData: RequestCommonPaymentSignData
  9584. /** 用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html) */
  9585. signature: string
  9586. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9587. complete?: RequestCommonPaymentCompleteCallback
  9588. /** 接口调用失败的回调函数 */
  9589. fail?: RequestCommonPaymentFailCallback
  9590. /** 接口调用成功的回调函数 */
  9591. success?: RequestCommonPaymentSuccessCallback
  9592. }
  9593. /** 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"mchid":"1234567890","out_trade_no":"test1244","description":"测试测试","amount":{"order_amount":1,"currency":"CNY"},"attach":"test_attach","env":1}' */
  9594. interface RequestCommonPaymentSignData {
  9595. /** 订单金额信息。 */
  9596. amount: Amount
  9597. /** 商品描述。示例值:Image形象店-深圳腾大-QQ公仔 */
  9598. description: string
  9599. /** 下单环境。示例值:0
  9600. *
  9601. * 可选值:
  9602. * - 0: 生产环境/现网环境;
  9603. * - 1: 沙箱环境/测试环境; */
  9604. env: 0 | 1
  9605. /** 由微信支付生成并下发的商户号。示例值:1230000109 */
  9606. mchid: string
  9607. /** 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,长度限制为[6,32]。示例值:1217752501201407033233368018 */
  9608. out_trade_no: string
  9609. /** 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用,实际情况下只有支付完成状态才会返回该字段。示例值:test_attach */
  9610. attach?: string
  9611. /** 配送方式。示例值:2
  9612. *
  9613. * 可选值:
  9614. * - 1: 同城配送;
  9615. * - 2: 快递配送;
  9616. * - 3: 门店自提;
  9617. * - 4: 无需配送与提货; */
  9618. delivery_type?: 1 | 2 | 3 | 4
  9619. /** 订单详细商品信息列表。 */
  9620. product_info?: ProductInfo
  9621. }
  9622. interface RequestCommonPaymentSuccessCallbackResult {
  9623. /** 调用成功信息 */
  9624. errMsg: string
  9625. }
  9626. interface RequestDeviceVoIPOption {
  9627. /** 设备名称,将显示在授权弹窗内(长度不超过13)。授权框中「设备名字」= 「deviceName」 + 「modelId 对应设备型号」。 */
  9628. deviceName: string
  9629. /** 需要基础库: `2.30.4`
  9630. *
  9631. * 设备组的唯一标识 id 。isGroup 为 true 时只需要传该参数,isGroup 为 false 时不需要传该参数,但需要传 sn、snTicket、modelId、deviceName 。 */
  9632. groupId: string
  9633. /** 设备型号 id。通过微信公众平台注册设备获得。 */
  9634. modelId: string
  9635. /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */
  9636. sn: string
  9637. /** [设备票据](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/hardware-device/getSnTicket.html),5分钟内有效。 */
  9638. snTicket: string
  9639. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9640. complete?: RequestDeviceVoIPCompleteCallback
  9641. /** 接口调用失败的回调函数 */
  9642. fail?: RequestDeviceVoIPFailCallback
  9643. /** 需要基础库: `2.30.4`
  9644. *
  9645. * 是否为授权设备组,默认 false 。 */
  9646. isGroup?: boolean
  9647. /** 接口调用成功的回调函数 */
  9648. success?: RequestDeviceVoIPSuccessCallback
  9649. }
  9650. /** 需要基础库: `3.0.0`
  9651. *
  9652. * 网络请求过程中的一些异常信息,例如httpdns重试等 */
  9653. interface RequestException {
  9654. /** 本次请求底层失败信息,所有失败信息均符合Errno错误码 */
  9655. reasons: ExceptionReason[]
  9656. /** 本次请求底层重试次数 */
  9657. retryCount: number
  9658. }
  9659. interface RequestFailCallbackErr {
  9660. /** 错误信息 */
  9661. errMsg: string
  9662. /** 需要基础库: `2.24.0`
  9663. *
  9664. * errno 错误码,错误码的详细说明参考 [Errno错误码](https://developers.weixin.qq.com/miniprogram/dev/framework/usability/PublicErrno.html) */
  9665. errno: number
  9666. }
  9667. interface RequestMerchantTransferOption {
  9668. /** 商户号 */
  9669. mchId: string
  9670. /** 商家转账付款单跳转收款页 pkg 信息,商家转账付款单受理成功时返回给商户 */
  9671. package: string
  9672. /** 商户 appId,普通模式下必填,服务商模式下,appId 和 subAppId 二选一填写 */
  9673. appId?: string
  9674. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9675. complete?: RequestMerchantTransferCompleteCallback
  9676. /** 接口调用失败的回调函数 */
  9677. fail?: RequestMerchantTransferFailCallback
  9678. /** 收款用户 openId, 对应传入的商户 appId 下,某用户的 openId */
  9679. openId?: string
  9680. /** 子商户 appId,服务商模式下,appId 和 subAppId 二选一填写 */
  9681. subAppId?: string
  9682. /** 子商户号,服务商模式下必填 */
  9683. subMchId?: string
  9684. /** 接口调用成功的回调函数 */
  9685. success?: RequestMerchantTransferSuccessCallback
  9686. }
  9687. interface RequestOption<
  9688. T extends string | IAnyObject | ArrayBuffer =
  9689. | string
  9690. | IAnyObject
  9691. | ArrayBuffer
  9692. > {
  9693. /** 开发者服务器接口地址 */
  9694. url: string
  9695. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9696. complete?: RequestCompleteCallback
  9697. /** 请求的参数 */
  9698. data?: string | IAnyObject | ArrayBuffer
  9699. /** 返回的数据格式
  9700. *
  9701. * 可选值:
  9702. * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse;
  9703. * - '其他': 不对返回的内容进行 JSON.parse; */
  9704. dataType?: 'json' | '其他'
  9705. /** 需要基础库: `2.10.4`
  9706. *
  9707. * 开启 Http 缓存 */
  9708. enableCache?: boolean
  9709. /** 需要基础库: `2.20.2`
  9710. *
  9711. * 开启 transfer-encoding chunked。 */
  9712. enableChunked?: boolean
  9713. /** 需要基础库: `2.10.4`
  9714. *
  9715. * 开启 http2 */
  9716. enableHttp2?: boolean
  9717. /** 需要基础库: `2.19.1`
  9718. *
  9719. * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */
  9720. enableHttpDNS?: boolean
  9721. /** 是否开启 profile,默认开启。开启后可在接口回调的 res.profile 中查看性能调试信息。 */
  9722. enableProfile?: boolean
  9723. /** 需要基础库: `2.10.4`
  9724. *
  9725. * 开启 Quic 协议(gQUIC Q43) */
  9726. enableQuic?: boolean
  9727. /** 接口调用失败的回调函数 */
  9728. fail?: RequestFailCallback
  9729. /** 需要基础库: `2.21.0`
  9730. *
  9731. * 强制使用蜂窝网络发送请求 */
  9732. forceCellularNetwork?: boolean
  9733. /** 设置请求的 header,header 中不能设置 Referer。
  9734. *
  9735. * `content-type` 默认为 `application/json` */
  9736. header?: IAnyObject
  9737. /** 需要基础库: `2.19.1`
  9738. *
  9739. * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */
  9740. httpDNSServiceId?: string
  9741. /** HTTP 请求方法
  9742. *
  9743. * 可选值:
  9744. * - 'OPTIONS': HTTP 请求 OPTIONS;
  9745. * - 'GET': HTTP 请求 GET;
  9746. * - 'HEAD': HTTP 请求 HEAD;
  9747. * - 'POST': HTTP 请求 POST;
  9748. * - 'PUT': HTTP 请求 PUT;
  9749. * - 'DELETE': HTTP 请求 DELETE;
  9750. * - 'TRACE': HTTP 请求 TRACE;
  9751. * - 'CONNECT': HTTP 请求 CONNECT; */
  9752. method?:
  9753. | 'OPTIONS'
  9754. | 'GET'
  9755. | 'HEAD'
  9756. | 'POST'
  9757. | 'PUT'
  9758. | 'DELETE'
  9759. | 'TRACE'
  9760. | 'CONNECT'
  9761. /** 需要基础库: `3.2.2`
  9762. *
  9763. * 重定向拦截策略。(目前安卓、iOS、开发者工具已支持,PC端将在后续支持)
  9764. *
  9765. * 可选值:
  9766. * - 'follow': 不拦截重定向,即客户端自动处理重定向;
  9767. * - 'manual': 拦截重定向。开启后,当 http 状态码为 3xx 时客户端不再自动重定向,而是触发 onHeadersReceived 回调,并结束本次 request 请求。可通过 onHeadersReceived 回调中的 header.Location 获取重定向的 url; */
  9768. redirect?: 'follow' | 'manual'
  9769. /** 需要基础库: `1.7.0`
  9770. *
  9771. * 响应的数据类型
  9772. *
  9773. * 可选值:
  9774. * - 'text': 响应的数据为文本;
  9775. * - 'arraybuffer': 响应的数据为 ArrayBuffer; */
  9776. responseType?: 'text' | 'arraybuffer'
  9777. /** 接口调用成功的回调函数 */
  9778. success?: RequestSuccessCallback<T>
  9779. /** 需要基础库: `2.10.0`
  9780. *
  9781. * 超时时间,单位为毫秒。默认值为 60000 */
  9782. timeout?: number
  9783. /** 需要基础库: `3.3.3`
  9784. *
  9785. * 使用高性能模式,暂仅支持 Android,默认关闭。该模式下有更优的网络性能表现,更多信息请查看下方说明。 */
  9786. useHighPerformanceMode?: boolean
  9787. }
  9788. interface RequestOrderPaymentOption {
  9789. /** 随机字符串,长度为32个字符以下 */
  9790. nonceStr: string
  9791. /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */
  9792. package: string
  9793. /** 签名,具体见微信支付文档 */
  9794. paySign: string
  9795. /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */
  9796. timeStamp: string
  9797. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9798. complete?: RequestOrderPaymentCompleteCallback
  9799. /** 接口调用失败的回调函数 */
  9800. fail?: RequestOrderPaymentFailCallback
  9801. /** 签名算法,应与后台下单时的值一致
  9802. *
  9803. * 可选值:
  9804. * - 'MD5': 仅在 v2 版本接口适用;
  9805. * - 'HMAC-SHA256': 仅在 v2 版本接口适用;
  9806. * - 'RSA': 仅在 v3 版本接口适用; */
  9807. signType?: 'MD5' | 'HMAC-SHA256' | 'RSA'
  9808. /** 接口调用成功的回调函数 */
  9809. success?: RequestOrderPaymentSuccessCallback
  9810. }
  9811. interface RequestPaymentOption {
  9812. /** 随机字符串,长度为32个字符以下 */
  9813. nonceStr: string
  9814. /** 统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=*** */
  9815. package: string
  9816. /** 签名,具体见微信支付文档 */
  9817. paySign: string
  9818. /** 时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间 */
  9819. timeStamp: string
  9820. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9821. complete?: RequestPaymentCompleteCallback
  9822. /** 接口调用失败的回调函数 */
  9823. fail?: RequestPaymentFailCallback
  9824. /** 签名算法,应与后台下单时的值一致
  9825. *
  9826. * 可选值:
  9827. * - 'MD5': 仅在 v2 版本接口适用;
  9828. * - 'HMAC-SHA256': 仅在 v2 版本接口适用;
  9829. * - 'RSA': 仅在 v3 版本接口适用; */
  9830. signType?: 'MD5' | 'HMAC-SHA256' | 'RSA'
  9831. /** 接口调用成功的回调函数 */
  9832. success?: RequestPaymentSuccessCallback
  9833. }
  9834. interface RequestPictureInPictureOption {
  9835. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9836. complete?: RequestPictureInPictureCompleteCallback
  9837. /** 接口调用失败的回调函数 */
  9838. fail?: RequestPictureInPictureFailCallback
  9839. /** 接口调用成功的回调函数 */
  9840. success?: RequestPictureInPictureSuccessCallback
  9841. }
  9842. interface RequestPluginPaymentOption {
  9843. /** 需要显示在页面中的金额,单位为分 */
  9844. fee: number
  9845. /** 任意数据,传递给功能页中的响应函数 */
  9846. paymentArgs: IAnyObject
  9847. /** 插件版本
  9848. *
  9849. * 可选值:
  9850. * - 'develop': 开发版;
  9851. * - 'trial': 体验版;
  9852. * - 'release': 正式版; */
  9853. version: 'develop' | 'trial' | 'release'
  9854. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9855. complete?: RequestPluginPaymentCompleteCallback
  9856. /** 需要显示在页面中的货币符号的代码 */
  9857. currencyType?: string
  9858. /** 接口调用失败的回调函数 */
  9859. fail?: RequestPluginPaymentFailCallback
  9860. /** 接口调用成功的回调函数 */
  9861. success?: RequestPluginPaymentSuccessCallback
  9862. }
  9863. /** 需要基础库: `2.10.4`
  9864. *
  9865. * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */
  9866. interface RequestProfile {
  9867. /** SSL建立完成的时间,如果不是安全连接,则值为 0 */
  9868. SSLconnectionEnd: number
  9869. /** SSL建立连接的时间,如果不是安全连接,则值为 0 */
  9870. SSLconnectionStart: number
  9871. /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */
  9872. connectEnd: number
  9873. /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */
  9874. connectStart: number
  9875. /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
  9876. domainLookUpEnd: number
  9877. /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
  9878. domainLookUpStart: number
  9879. /** 评估当前网络下载的kbps */
  9880. downstreamThroughputKbpsEstimate: number
  9881. /** 评估的网络状态 unknown, offline, slow 2g, 2g, 3g, 4g, last/0, 1, 2, 3, 4, 5, 6 */
  9882. estimate_nettype: number
  9883. /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */
  9884. fetchStart: number
  9885. /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */
  9886. httpRttEstimate: number
  9887. /** 当前请求的IP */
  9888. peerIP: string
  9889. /** 当前请求的端口 */
  9890. port: number
  9891. /** 使用协议类型,有效值:http1.1, h2, quic, unknown */
  9892. protocol: string
  9893. /** 收到字节数 */
  9894. receivedBytedCount: number
  9895. /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */
  9896. redirectEnd: number
  9897. /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */
  9898. redirectStart: number
  9899. /** HTTP请求读取真实文档结束的时间 */
  9900. requestEnd: number
  9901. /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */
  9902. requestStart: number
  9903. /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */
  9904. responseEnd: number
  9905. /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */
  9906. responseStart: number
  9907. /** 当次请求连接过程中实时 rtt */
  9908. rtt: number
  9909. /** 发送的字节数 */
  9910. sendBytesCount: number
  9911. /** 是否复用连接 */
  9912. socketReused: boolean
  9913. /** 当前网络的实际下载kbps */
  9914. throughputKbps: number
  9915. /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */
  9916. transportRttEstimate: number
  9917. /** 是否走到了高性能模式。基础库 v3.3.4 起支持。 */
  9918. usingHighPerformanceMode: boolean
  9919. }
  9920. interface RequestSubscribeDeviceMessageFailCallbackResult {
  9921. /** 接口调用失败错误码,有可能为空 */
  9922. errCode: number
  9923. /** 接口调用失败错误信息 */
  9924. errMsg: string
  9925. }
  9926. interface RequestSubscribeDeviceMessageOption {
  9927. /** 设备型号 id 。通过微信公众平台注册设备获得。 */
  9928. modelId: string
  9929. /** 设备唯一序列号。由厂商分配,长度不能超过128字节。字符只接受数字,大小写字母,下划线(_)和连字符(-)。 */
  9930. sn: string
  9931. /** 设备票据,5分钟内有效。 */
  9932. snTicket: string
  9933. /** 需要订阅的消息模板的 id 的集合,一次调用最多可订阅3条消息 */
  9934. tmplIds: any[]
  9935. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9936. complete?: RequestSubscribeDeviceMessageCompleteCallback
  9937. /** 接口调用失败的回调函数 */
  9938. fail?: RequestSubscribeDeviceMessageFailCallback
  9939. /** 接口调用成功的回调函数 */
  9940. success?: RequestSubscribeDeviceMessageSuccessCallback
  9941. }
  9942. interface RequestSubscribeDeviceMessageSuccessCallbackResult {
  9943. /** [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这条消息 */
  9944. [TEMPLATE_ID: string]: string
  9945. /** 接口调用成功时errMsg值为'requestSubscribeDeviceMessage:ok' */
  9946. errMsg: string
  9947. }
  9948. interface RequestSubscribeMessageFailCallbackResult {
  9949. /** 接口调用失败错误码 */
  9950. errCode: number
  9951. /** 接口调用失败错误信息 */
  9952. errMsg: string
  9953. }
  9954. interface RequestSubscribeMessageOption {
  9955. /** 需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息(注意:iOS客户端7.0.6版本、Android客户端7.0.7版本之后的一次性订阅/长期订阅才支持多个模板消息,iOS客户端7.0.5版本、Android客户端7.0.6版本之前的一次订阅只支持一个模板消息)消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。每个tmplId对应的模板标题需要不相同,否则会被过滤。 */
  9956. tmplIds: any[]
  9957. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  9958. complete?: RequestSubscribeMessageCompleteCallback
  9959. /** 接口调用失败的回调函数 */
  9960. fail?: RequestSubscribeMessageFailCallback
  9961. /** 接口调用成功的回调函数 */
  9962. success?: RequestSubscribeMessageSuccessCallback
  9963. }
  9964. interface RequestSubscribeMessageSuccessCallbackResult {
  9965. /** [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这条消息 */
  9966. [TEMPLATE_ID: string]: string
  9967. /** 接口调用成功时errMsg值为'requestSubscribeMessage:ok' */
  9968. errMsg: string
  9969. }
  9970. interface RequestSuccessCallbackResult<
  9971. T extends string | IAnyObject | ArrayBuffer =
  9972. | string
  9973. | IAnyObject
  9974. | ArrayBuffer
  9975. > {
  9976. /** 需要基础库: `2.10.0`
  9977. *
  9978. * 开发者服务器返回的 cookies,格式为字符串数组 */
  9979. cookies: string[]
  9980. /** 开发者服务器返回的数据 */
  9981. data: T
  9982. /** 需要基础库: `3.0.0`
  9983. *
  9984. * 网络请求过程中的一些异常信息,例如httpdns重试等 */
  9985. exception: RequestException
  9986. /** 需要基础库: `1.2.0`
  9987. *
  9988. * 开发者服务器返回的 HTTP Response Header */
  9989. header: IAnyObject
  9990. /** 需要基础库: `2.10.4`
  9991. *
  9992. * 网络请求过程中一些调试信息,[查看详细说明](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/network.html) */
  9993. profile: RequestProfile
  9994. /** 开发者服务器返回的 HTTP 状态码 */
  9995. statusCode: number
  9996. /** 需要基础库: `3.4.10`
  9997. *
  9998. * 最终请求是否使用了HttpDNS(仅当enableHttpDNS传true时返回此字段) */
  9999. useHttpDNS: boolean
  10000. errMsg: string
  10001. }
  10002. interface RequestTaskOnHeadersReceivedListenerResult {
  10003. /** 开发者服务器返回的 cookies,格式为字符串数组 */
  10004. cookies: string[]
  10005. /** 开发者服务器返回的 HTTP Response Header */
  10006. header: IAnyObject
  10007. /** 开发者服务器返回的 HTTP 状态码 (目前开发者工具上不会返回 statusCode 字段,可用真机查看该字段,后续将会支持) */
  10008. statusCode: number
  10009. }
  10010. interface RequestVirtualPaymentFailCallbackErr {
  10011. /** 错误码 */
  10012. errCode: number
  10013. /** 错误信息 */
  10014. errMsg: string
  10015. }
  10016. interface RequestVirtualPaymentOption {
  10017. /** 支付的类型, 不同的支付类型有各自额外要传的附加参数
  10018. *
  10019. * 可选值:
  10020. * - 'short_series_goods': 道具直购;
  10021. * - 'short_series_coin': 代币充值; */
  10022. mode: 'short_series_goods' | 'short_series_coin'
  10023. /** 支付签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html) */
  10024. paySig: string
  10025. /** 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}' */
  10026. signData: SignData
  10027. /** 用户态签名, 详见[《签名详解》](https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html) */
  10028. signature: string
  10029. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10030. complete?: RequestVirtualPaymentCompleteCallback
  10031. /** 接口调用失败的回调函数 */
  10032. fail?: RequestVirtualPaymentFailCallback
  10033. /** 接口调用成功的回调函数 */
  10034. success?: RequestVirtualPaymentSuccessCallback
  10035. }
  10036. interface RequirePrivacyAuthorizeOption {
  10037. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10038. complete?: RequirePrivacyAuthorizeCompleteCallback
  10039. /** 接口调用失败的回调函数 */
  10040. fail?: RequirePrivacyAuthorizeFailCallback
  10041. /** 接口调用成功的回调函数 */
  10042. success?: RequirePrivacyAuthorizeSuccessCallback
  10043. }
  10044. interface ReserveChannelsLiveOption {
  10045. /** 预告 id,通过 getChannelsLiveNoticeInfo 接口获取 */
  10046. noticeId: string
  10047. }
  10048. interface RestartMiniProgramOption {
  10049. /** 打开的页面路径,path 中 ? 后面的部分会成为 query */
  10050. path: string
  10051. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10052. complete?: RestartMiniProgramCompleteCallback
  10053. /** 接口调用失败的回调函数 */
  10054. fail?: RestartMiniProgramFailCallback
  10055. /** 接口调用成功的回调函数 */
  10056. success?: RestartMiniProgramSuccessCallback
  10057. }
  10058. interface ResumeBGMOption {
  10059. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10060. complete?: ResumeBGMCompleteCallback
  10061. /** 接口调用失败的回调函数 */
  10062. fail?: ResumeBGMFailCallback
  10063. /** 接口调用成功的回调函数 */
  10064. success?: ResumeBGMSuccessCallback
  10065. }
  10066. interface ResumeOption {
  10067. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10068. complete?: ResumeCompleteCallback
  10069. /** 接口调用失败的回调函数 */
  10070. fail?: ResumeFailCallback
  10071. /** 接口调用成功的回调函数 */
  10072. success?: ResumeSuccessCallback
  10073. }
  10074. interface RewardedVideoAdOnCloseListenerResult {
  10075. /** 需要基础库: `2.1.0`
  10076. *
  10077. * 视频是否是在用户完整观看的情况下被关闭的 */
  10078. isEnded: boolean
  10079. }
  10080. interface RewardedVideoAdOnErrorListenerResult {
  10081. /** 需要基础库: `2.2.2`
  10082. *
  10083. * 错误码
  10084. *
  10085. * 可选值:
  10086. * - 1000: 后端接口调用失败;
  10087. * - 1001: 参数错误;
  10088. * - 1002: 广告单元无效;
  10089. * - 1003: 内部错误;
  10090. * - 1004: 无合适的广告;
  10091. * - 1005: 广告组件审核中;
  10092. * - 1006: 广告组件被驳回;
  10093. * - 1007: 广告组件被封禁;
  10094. * - 1008: 广告单元已关闭; */
  10095. errCode: 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008
  10096. /** 错误信息 */
  10097. errMsg: string
  10098. }
  10099. interface RmdirOption {
  10100. /** 要删除的目录路径 (本地路径) */
  10101. dirPath: string
  10102. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10103. complete?: RmdirCompleteCallback
  10104. /** 接口调用失败的回调函数 */
  10105. fail?: RmdirFailCallback
  10106. /** 需要基础库: `2.3.0`
  10107. *
  10108. * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */
  10109. recursive?: boolean
  10110. /** 接口调用成功的回调函数 */
  10111. success?: RmdirSuccessCallback
  10112. }
  10113. interface RunOCROption {
  10114. /** 待识别图像的像素点数据,每四项表示一个像素点的 RGBA */
  10115. frameBuffer: ArrayBuffer
  10116. /** 图像高度 */
  10117. height: number
  10118. /** 图像宽度 */
  10119. width: number
  10120. }
  10121. interface SafeArea {
  10122. /** 安全区域右下角纵坐标 */
  10123. bottom: number
  10124. /** 安全区域的高度,单位逻辑像素 */
  10125. height: number
  10126. /** 安全区域左上角横坐标 */
  10127. left: number
  10128. /** 安全区域右下角横坐标 */
  10129. right: number
  10130. /** 安全区域左上角纵坐标 */
  10131. top: number
  10132. /** 安全区域的宽度,单位逻辑像素 */
  10133. width: number
  10134. }
  10135. interface SaveFileOption {
  10136. /** 临时存储文件路径 (本地路径) */
  10137. tempFilePath: string
  10138. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10139. complete?: SaveFileCompleteCallback
  10140. /** 接口调用失败的回调函数 */
  10141. fail?: SaveFileFailCallback
  10142. /** 要存储的文件路径 (本地路径) */
  10143. filePath?: string
  10144. /** 接口调用成功的回调函数 */
  10145. success?: SaveFileSuccessCallback
  10146. }
  10147. interface SaveFileSuccessCallbackResult {
  10148. /** 存储后的文件路径 (本地路径) */
  10149. savedFilePath: string
  10150. errMsg: string
  10151. }
  10152. interface SaveFileToDiskOption {
  10153. /** 待保存文件路径 */
  10154. filePath: string
  10155. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10156. complete?: SaveFileToDiskCompleteCallback
  10157. /** 接口调用失败的回调函数 */
  10158. fail?: SaveFileToDiskFailCallback
  10159. /** 接口调用成功的回调函数 */
  10160. success?: SaveFileToDiskSuccessCallback
  10161. }
  10162. interface SaveImageToPhotosAlbumOption {
  10163. /** 图片文件路径,可以是临时文件路径或永久文件路径 (本地路径) ,不支持网络路径 */
  10164. filePath: string
  10165. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10166. complete?: SaveImageToPhotosAlbumCompleteCallback
  10167. /** 接口调用失败的回调函数 */
  10168. fail?: SaveImageToPhotosAlbumFailCallback
  10169. /** 接口调用成功的回调函数 */
  10170. success?: SaveImageToPhotosAlbumSuccessCallback
  10171. }
  10172. interface SaveVideoToPhotosAlbumOption {
  10173. /** 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径) */
  10174. filePath: string
  10175. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10176. complete?: SaveVideoToPhotosAlbumCompleteCallback
  10177. /** 接口调用失败的回调函数 */
  10178. fail?: SaveVideoToPhotosAlbumFailCallback
  10179. /** 接口调用成功的回调函数 */
  10180. success?: SaveVideoToPhotosAlbumSuccessCallback
  10181. }
  10182. interface ScanCodeOption {
  10183. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10184. complete?: ScanCodeCompleteCallback
  10185. /** 接口调用失败的回调函数 */
  10186. fail?: ScanCodeFailCallback
  10187. /** 需要基础库: `1.2.0`
  10188. *
  10189. * 是否只能从相机扫码,不允许从相册选择图片 */
  10190. onlyFromCamera?: boolean
  10191. /** 需要基础库: `1.7.0`
  10192. *
  10193. * 扫码类型
  10194. *
  10195. * 可选值:
  10196. * - 'barCode': 一维码;
  10197. * - 'qrCode': 二维码;
  10198. * - 'datamatrix': Data Matrix 码;
  10199. * - 'pdf417': PDF417 条码; */
  10200. scanType?: Array<'barCode' | 'qrCode' | 'datamatrix' | 'pdf417'>
  10201. /** 接口调用成功的回调函数 */
  10202. success?: ScanCodeSuccessCallback
  10203. }
  10204. interface ScanCodeSuccessCallbackResult {
  10205. /** 所扫码的字符集 */
  10206. charSet: string
  10207. /** 当所扫的码为当前小程序二维码时,会返回此字段,内容为二维码携带的 path */
  10208. path: string
  10209. /** 原始数据,base64编码 */
  10210. rawData: string
  10211. /** 所扫码的内容 */
  10212. result: string
  10213. /** 所扫码的类型
  10214. *
  10215. * 可选值:
  10216. * - 'QR_CODE': 二维码;
  10217. * - 'AZTEC': 一维码;
  10218. * - 'CODABAR': 一维码;
  10219. * - 'CODE_39': 一维码;
  10220. * - 'CODE_93': 一维码;
  10221. * - 'CODE_128': 一维码;
  10222. * - 'DATA_MATRIX': 二维码;
  10223. * - 'EAN_8': 一维码;
  10224. * - 'EAN_13': 一维码;
  10225. * - 'ITF': 一维码;
  10226. * - 'MAXICODE': 一维码;
  10227. * - 'PDF_417': 二维码;
  10228. * - 'RSS_14': 一维码;
  10229. * - 'RSS_EXPANDED': 一维码;
  10230. * - 'UPC_A': 一维码;
  10231. * - 'UPC_E': 一维码;
  10232. * - 'UPC_EAN_EXTENSION': 一维码;
  10233. * - 'WX_CODE': 二维码;
  10234. * - 'CODE_25': 一维码; */
  10235. scanType:
  10236. | 'QR_CODE'
  10237. | 'AZTEC'
  10238. | 'CODABAR'
  10239. | 'CODE_39'
  10240. | 'CODE_93'
  10241. | 'CODE_128'
  10242. | 'DATA_MATRIX'
  10243. | 'EAN_8'
  10244. | 'EAN_13'
  10245. | 'ITF'
  10246. | 'MAXICODE'
  10247. | 'PDF_417'
  10248. | 'RSS_14'
  10249. | 'RSS_EXPANDED'
  10250. | 'UPC_A'
  10251. | 'UPC_E'
  10252. | 'UPC_EAN_EXTENSION'
  10253. | 'WX_CODE'
  10254. | 'CODE_25'
  10255. errMsg: string
  10256. }
  10257. interface ScrollOffsetCallbackResult {
  10258. /** 节点的 dataset */
  10259. dataset: IAnyObject
  10260. /** 节点的 ID */
  10261. id: string
  10262. /** 节点的水平滚动位置 */
  10263. scrollLeft: number
  10264. /** 节点的竖直滚动位置 */
  10265. scrollTop: number
  10266. }
  10267. /** 需要基础库: `2.14.4`
  10268. *
  10269. * 增强 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 属性后生效。
  10270. *
  10271. * **示例代码**
  10272. *
  10273. * ```js
  10274. wx.createSelectorQuery()
  10275. .select('#scrollview')
  10276. .node()
  10277. .exec((res) => {
  10278. const scrollView = res[0].node;
  10279. scrollView.scrollEnabled = false;
  10280. })
  10281. ``` */
  10282. interface ScrollViewContext {
  10283. /** 设置滚动边界弹性 (仅在 iOS 下生效) */
  10284. bounces: boolean
  10285. /** 取消滚动惯性 (仅在 iOS 下生效) */
  10286. decelerationDisabled: boolean
  10287. /** 设置滚动减速速率 (仅在 iOS 下生效) */
  10288. fastDeceleration: boolean
  10289. /** 分页滑动开关 */
  10290. pagingEnabled: boolean
  10291. /** 滚动开关 */
  10292. scrollEnabled: boolean
  10293. /** 设置是否显示滚动条 */
  10294. showScrollbar: boolean
  10295. /** [ScrollViewContext.closeRefresh()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.closeRefresh.html)
  10296. *
  10297. * 需要基础库: `3.0.0`
  10298. *
  10299. * 在插件中使用:支持
  10300. *
  10301. * 关闭下拉刷新。 */
  10302. closeRefresh(): void
  10303. /** [ScrollViewContext.closeTwoLevel(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.closeTwoLevel.html)
  10304. *
  10305. * 需要基础库: `3.0.0`
  10306. *
  10307. * 在插件中使用:支持
  10308. *
  10309. * 关闭下拉二级。 */
  10310. closeTwoLevel(option: TriggerRefreshOption): void
  10311. /** [ScrollViewContext.scrollIntoView(string selector, object ScrollIntoViewOptions)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollIntoView.html)
  10312. *
  10313. * 需要基础库: `2.14.4`
  10314. *
  10315. * 在插件中使用:支持
  10316. *
  10317. * 滚动至指定位置 */
  10318. scrollIntoView(
  10319. /** 元素选择器 */
  10320. selector: string,
  10321. /** 需要基础库: `3.1.0`
  10322. *
  10323. * 配置项,仅 Skyine 模式支持 */
  10324. ScrollIntoViewOptions: IAnyObject
  10325. ): void
  10326. /** [ScrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.scrollTo.html)
  10327. *
  10328. * 需要基础库: `2.14.4`
  10329. *
  10330. * 在插件中使用:支持
  10331. *
  10332. * 滚动至指定位置 */
  10333. scrollTo(option: ScrollViewContextScrollToOption): void
  10334. /** [ScrollViewContext.triggerRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.triggerRefresh.html)
  10335. *
  10336. * 需要基础库: `3.0.0`
  10337. *
  10338. * 在插件中使用:支持
  10339. *
  10340. * 触发下拉刷新。 */
  10341. triggerRefresh(option: TriggerRefreshOption): void
  10342. /** [ScrollViewContext.triggerTwoLevel(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/ScrollViewContext.triggerTwoLevel.html)
  10343. *
  10344. * 需要基础库: `3.0.0`
  10345. *
  10346. * 在插件中使用:支持
  10347. *
  10348. * 触发下拉二级。 */
  10349. triggerTwoLevel(option: TriggerRefreshOption): void
  10350. }
  10351. interface ScrollViewContextScrollToOption {
  10352. /** 是否启用滚动动画 */
  10353. animated?: boolean
  10354. /** 滚动动画时长 (仅在 iOS 下生效) */
  10355. duration?: number
  10356. /** 左边界距离 */
  10357. left?: number
  10358. /** 顶部距离 */
  10359. top?: number
  10360. /** 初始速度 (仅在 iOS 下生效) */
  10361. velocity?: number
  10362. }
  10363. interface SeekBackgroundAudioOption {
  10364. /** 音乐位置,单位:秒 */
  10365. position: number
  10366. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10367. complete?: SeekBackgroundAudioCompleteCallback
  10368. /** 接口调用失败的回调函数 */
  10369. fail?: SeekBackgroundAudioFailCallback
  10370. /** 接口调用成功的回调函数 */
  10371. success?: SeekBackgroundAudioSuccessCallback
  10372. }
  10373. interface SendHCEMessageOption {
  10374. /** 二进制数据 */
  10375. data: ArrayBuffer
  10376. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10377. complete?: SendHCEMessageCompleteCallback
  10378. /** 接口调用失败的回调函数 */
  10379. fail?: SendHCEMessageFailCallback
  10380. /** 接口调用成功的回调函数 */
  10381. success?: SendHCEMessageSuccessCallback
  10382. }
  10383. interface SendMessageOption {
  10384. /** SEI消息 */
  10385. msg: string
  10386. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10387. complete?: SendMessageCompleteCallback
  10388. /** 接口调用失败的回调函数 */
  10389. fail?: SendMessageFailCallback
  10390. /** 接口调用成功的回调函数 */
  10391. success?: SendMessageSuccessCallback
  10392. }
  10393. interface SendSmsOption {
  10394. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10395. complete?: SendSmsCompleteCallback
  10396. /** 预填到发送短信面板的内容 */
  10397. content?: string
  10398. /** 接口调用失败的回调函数 */
  10399. fail?: SendSmsFailCallback
  10400. /** 预填到发送短信面板的手机号 */
  10401. phoneNumber?: string
  10402. /** 接口调用成功的回调函数 */
  10403. success?: SendSmsSuccessCallback
  10404. }
  10405. interface SendSocketMessageOption {
  10406. /** 需要发送的内容 */
  10407. data: string | ArrayBuffer
  10408. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10409. complete?: SendSocketMessageCompleteCallback
  10410. /** 接口调用失败的回调函数 */
  10411. fail?: SendSocketMessageFailCallback
  10412. /** 接口调用成功的回调函数 */
  10413. success?: SendSocketMessageSuccessCallback
  10414. }
  10415. interface SetBGMVolumeOption {
  10416. /** 音量大小,范围是 0-1 */
  10417. volume: string
  10418. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10419. complete?: SetBGMVolumeCompleteCallback
  10420. /** 接口调用失败的回调函数 */
  10421. fail?: SetBGMVolumeFailCallback
  10422. /** 接口调用成功的回调函数 */
  10423. success?: SetBGMVolumeSuccessCallback
  10424. }
  10425. interface SetBLEMTUFailCallbackResult {
  10426. /** 最终协商的 MTU 值。如果协商失败则无此参数。安卓客户端 8.0.9 开始支持。 */
  10427. mtu: number
  10428. }
  10429. interface SetBLEMTUOption {
  10430. /** 蓝牙设备 id */
  10431. deviceId: string
  10432. /** 最大传输单元。设置范围为 (22,512) 区间内,单位 bytes */
  10433. mtu: number
  10434. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10435. complete?: SetBLEMTUCompleteCallback
  10436. /** 接口调用失败的回调函数 */
  10437. fail?: SetBLEMTUFailCallback
  10438. /** 接口调用成功的回调函数 */
  10439. success?: SetBLEMTUSuccessCallback
  10440. }
  10441. interface SetBLEMTUSuccessCallbackResult {
  10442. /** 最终协商的 MTU 值,与传入参数一致。安卓客户端 8.0.9 开始支持。 */
  10443. mtu: number
  10444. errMsg: string
  10445. }
  10446. interface SetBackgroundColorOption {
  10447. /** 窗口的背景色,必须为十六进制颜色值 */
  10448. backgroundColor?: string
  10449. /** 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
  10450. backgroundColorBottom?: string
  10451. /** 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 */
  10452. backgroundColorTop?: string
  10453. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10454. complete?: SetBackgroundColorCompleteCallback
  10455. /** 接口调用失败的回调函数 */
  10456. fail?: SetBackgroundColorFailCallback
  10457. /** 接口调用成功的回调函数 */
  10458. success?: SetBackgroundColorSuccessCallback
  10459. }
  10460. interface SetBackgroundFetchTokenOption {
  10461. /** 自定义的登录态 */
  10462. token: string
  10463. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10464. complete?: SetBackgroundFetchTokenCompleteCallback
  10465. /** 接口调用失败的回调函数 */
  10466. fail?: SetBackgroundFetchTokenFailCallback
  10467. /** 接口调用成功的回调函数 */
  10468. success?: SetBackgroundFetchTokenSuccessCallback
  10469. }
  10470. interface SetBackgroundTextStyleOption {
  10471. /** 下拉背景字体、loading 图的样式。
  10472. *
  10473. * 可选值:
  10474. * - 'dark': dark 样式;
  10475. * - 'light': light 样式; */
  10476. textStyle: 'dark' | 'light'
  10477. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10478. complete?: SetBackgroundTextStyleCompleteCallback
  10479. /** 接口调用失败的回调函数 */
  10480. fail?: SetBackgroundTextStyleFailCallback
  10481. /** 接口调用成功的回调函数 */
  10482. success?: SetBackgroundTextStyleSuccessCallback
  10483. }
  10484. interface SetBoundaryOption {
  10485. /** 东北角经纬度 */
  10486. northeast: MapPostion
  10487. /** 西南角经纬度 */
  10488. southwest: MapPostion
  10489. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10490. complete?: SetBoundaryCompleteCallback
  10491. /** 接口调用失败的回调函数 */
  10492. fail?: SetBoundaryFailCallback
  10493. /** 接口调用成功的回调函数 */
  10494. success?: SetBoundarySuccessCallback
  10495. }
  10496. interface SetCenterOffsetOption {
  10497. /** 偏移量,两位数组 */
  10498. offset: number[]
  10499. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10500. complete?: SetCenterOffsetCompleteCallback
  10501. /** 接口调用失败的回调函数 */
  10502. fail?: SetCenterOffsetFailCallback
  10503. /** 接口调用成功的回调函数 */
  10504. success?: SetCenterOffsetSuccessCallback
  10505. }
  10506. interface SetClipboardDataOption {
  10507. /** 剪贴板的内容 */
  10508. data: string
  10509. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10510. complete?: SetClipboardDataCompleteCallback
  10511. /** 接口调用失败的回调函数 */
  10512. fail?: SetClipboardDataFailCallback
  10513. /** 接口调用成功的回调函数 */
  10514. success?: SetClipboardDataSuccessCallback
  10515. }
  10516. interface SetContentsOption {
  10517. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10518. complete?: SetContentsCompleteCallback
  10519. /** 表示内容的delta对象 */
  10520. delta?: IAnyObject
  10521. /** 接口调用失败的回调函数 */
  10522. fail?: SetContentsFailCallback
  10523. /** 带标签的HTML内容 */
  10524. html?: string
  10525. /** 接口调用成功的回调函数 */
  10526. success?: SetContentsSuccessCallback
  10527. }
  10528. interface SetEnable1v1ChatOption {
  10529. /** 是否开启 */
  10530. enable: boolean
  10531. /** 窗口背景色(音频通话背景以及小窗模式背景)
  10532. *
  10533. * 可选值:
  10534. * - 0: #262930;
  10535. * - 1: #FA5151;
  10536. * - 2: #FA9D3B;
  10537. * - 3: #3D7257;
  10538. * - 4: #1485EE;
  10539. * - 5: #6467F0; */
  10540. backgroundType?: 0 | 1 | 2 | 3 | 4 | 5
  10541. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10542. complete?: SetEnable1v1ChatCompleteCallback
  10543. /** 接口调用失败的回调函数 */
  10544. fail?: SetEnable1v1ChatFailCallback
  10545. /** 小窗样式 */
  10546. minWindowType?: number
  10547. /** 接口调用成功的回调函数 */
  10548. success?: SetEnable1v1ChatSuccessCallback
  10549. }
  10550. interface SetEnableDebugOption {
  10551. /** 是否打开调试 */
  10552. enableDebug: boolean
  10553. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10554. complete?: SetEnableDebugCompleteCallback
  10555. /** 接口调用失败的回调函数 */
  10556. fail?: SetEnableDebugFailCallback
  10557. /** 接口调用成功的回调函数 */
  10558. success?: SetEnableDebugSuccessCallback
  10559. }
  10560. interface SetInnerAudioOption {
  10561. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10562. complete?: SetInnerAudioOptionCompleteCallback
  10563. /** 接口调用失败的回调函数 */
  10564. fail?: SetInnerAudioOptionFailCallback
  10565. /** 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐 */
  10566. mixWithOther?: boolean
  10567. /** (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音 */
  10568. obeyMuteSwitch?: boolean
  10569. /** true 代表用扬声器播放,false 代表听筒播放,默认值为 true。 */
  10570. speakerOn?: boolean
  10571. /** 接口调用成功的回调函数 */
  10572. success?: SetInnerAudioOptionSuccessCallback
  10573. }
  10574. interface SetKeepScreenOnOption {
  10575. /** 是否保持屏幕常亮 */
  10576. keepScreenOn: boolean
  10577. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10578. complete?: SetKeepScreenOnCompleteCallback
  10579. /** 接口调用失败的回调函数 */
  10580. fail?: SetKeepScreenOnFailCallback
  10581. /** 接口调用成功的回调函数 */
  10582. success?: SetKeepScreenOnSuccessCallback
  10583. }
  10584. interface SetLocMarkerIconOption {
  10585. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10586. complete?: SetLocMarkerIconCompleteCallback
  10587. /** 接口调用失败的回调函数 */
  10588. fail?: SetLocMarkerIconFailCallback
  10589. /** 图标路径,支持网络路径、本地路径、代码包路径 */
  10590. iconPath?: string
  10591. /** 接口调用成功的回调函数 */
  10592. success?: SetLocMarkerIconSuccessCallback
  10593. }
  10594. interface SetMICVolumeOption {
  10595. /** 音量大小,范围是 0.0-1.0 */
  10596. volume: number
  10597. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10598. complete?: SetMICVolumeCompleteCallback
  10599. /** 接口调用失败的回调函数 */
  10600. fail?: SetMICVolumeFailCallback
  10601. /** 接口调用成功的回调函数 */
  10602. success?: SetMICVolumeSuccessCallback
  10603. }
  10604. interface SetNavigationBarColorOption {
  10605. /** 背景颜色值,有效值为十六进制颜色 */
  10606. backgroundColor: string
  10607. /** 前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000 */
  10608. frontColor: string
  10609. /** 动画效果 */
  10610. animation?: AnimationOption
  10611. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10612. complete?: SetNavigationBarColorCompleteCallback
  10613. /** 接口调用失败的回调函数 */
  10614. fail?: SetNavigationBarColorFailCallback
  10615. /** 接口调用成功的回调函数 */
  10616. success?: SetNavigationBarColorSuccessCallback
  10617. }
  10618. interface SetNavigationBarTitleOption {
  10619. /** 页面标题 */
  10620. title: string
  10621. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10622. complete?: SetNavigationBarTitleCompleteCallback
  10623. /** 接口调用失败的回调函数 */
  10624. fail?: SetNavigationBarTitleFailCallback
  10625. /** 接口调用成功的回调函数 */
  10626. success?: SetNavigationBarTitleSuccessCallback
  10627. }
  10628. interface SetScreenBrightnessOption {
  10629. /** 屏幕亮度值,范围 0 ~ 1,0 最暗,1 最亮。在安卓端支持传入特殊值 -1,表示屏幕亮度跟随系统变化 */
  10630. value: number
  10631. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10632. complete?: SetScreenBrightnessCompleteCallback
  10633. /** 接口调用失败的回调函数 */
  10634. fail?: SetScreenBrightnessFailCallback
  10635. /** 接口调用成功的回调函数 */
  10636. success?: SetScreenBrightnessSuccessCallback
  10637. }
  10638. interface SetStorageOption<T = any> {
  10639. /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */
  10640. data: T
  10641. /** 本地缓存中指定的 key */
  10642. key: string
  10643. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10644. complete?: SetStorageCompleteCallback
  10645. /** 需要基础库: `2.21.3`
  10646. *
  10647. * 是否开启加密存储。只有异步的 setStorage 接口支持开启加密存储。开启后,将会对 data 使用 AES128 加密,接口回调耗时将会增加。若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true。此外,由于加密后的数据会比原始数据膨胀1.4倍,因此开启 encrypt 的情况下,单个 key 允许存储的最大数据长度为 0.7MB,所有数据存储上限为 7.1MB */
  10648. encrypt?: boolean
  10649. /** 接口调用失败的回调函数 */
  10650. fail?: SetStorageFailCallback
  10651. /** 接口调用成功的回调函数 */
  10652. success?: SetStorageSuccessCallback
  10653. }
  10654. interface SetTabBarBadgeOption {
  10655. /** tabBar 的哪一项,从左边算起 */
  10656. index: number
  10657. /** 显示的文本,超过 4 个字符则显示成 ... */
  10658. text: string
  10659. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10660. complete?: SetTabBarBadgeCompleteCallback
  10661. /** 接口调用失败的回调函数 */
  10662. fail?: SetTabBarBadgeFailCallback
  10663. /** 接口调用成功的回调函数 */
  10664. success?: SetTabBarBadgeSuccessCallback
  10665. }
  10666. interface SetTabBarItemOption {
  10667. /** tabBar 的哪一项,从左边算起 */
  10668. index: number
  10669. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10670. complete?: SetTabBarItemCompleteCallback
  10671. /** 接口调用失败的回调函数 */
  10672. fail?: SetTabBarItemFailCallback
  10673. /** 图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效 */
  10674. iconPath?: string
  10675. /** 选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 */
  10676. selectedIconPath?: string
  10677. /** 接口调用成功的回调函数 */
  10678. success?: SetTabBarItemSuccessCallback
  10679. /** tab 上的按钮文字 */
  10680. text?: string
  10681. }
  10682. interface SetTabBarStyleOption {
  10683. /** tab 的背景色,HexColor */
  10684. backgroundColor?: string
  10685. /** tabBar上边框的颜色, 仅支持 black/white */
  10686. borderStyle?: string
  10687. /** tab 上的文字默认颜色,HexColor */
  10688. color?: string
  10689. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10690. complete?: SetTabBarStyleCompleteCallback
  10691. /** 接口调用失败的回调函数 */
  10692. fail?: SetTabBarStyleFailCallback
  10693. /** tab 上的文字选中时的颜色,HexColor */
  10694. selectedColor?: string
  10695. /** 接口调用成功的回调函数 */
  10696. success?: SetTabBarStyleSuccessCallback
  10697. }
  10698. interface SetTimeoutOption {
  10699. /** 设置超时时间 (ms) */
  10700. timeout: number
  10701. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10702. complete?: SetTimeoutCompleteCallback
  10703. /** 接口调用失败的回调函数 */
  10704. fail?: SetTimeoutFailCallback
  10705. /** 接口调用成功的回调函数 */
  10706. success?: SetTimeoutSuccessCallback
  10707. }
  10708. interface SetTopBarTextOption {
  10709. /** 置顶栏文字 */
  10710. text: string
  10711. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10712. complete?: SetTopBarTextCompleteCallback
  10713. /** 接口调用失败的回调函数 */
  10714. fail?: SetTopBarTextFailCallback
  10715. /** 接口调用成功的回调函数 */
  10716. success?: SetTopBarTextSuccessCallback
  10717. }
  10718. interface SetVisualEffectOnCaptureOption {
  10719. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10720. complete?: SetVisualEffectOnCaptureCompleteCallback
  10721. /** 接口调用失败的回调函数 */
  10722. fail?: SetVisualEffectOnCaptureFailCallback
  10723. /** 接口调用成功的回调函数 */
  10724. success?: SetVisualEffectOnCaptureSuccessCallback
  10725. /** 截屏/录屏时的表现,仅支持 none / hidden,传入 hidden 则表示在截屏/录屏时隐藏屏幕 */
  10726. visualEffect?: string
  10727. }
  10728. interface SetWifiListOption {
  10729. /** 提供预设的 Wi-Fi 信息列表 */
  10730. wifiList: WifiData[]
  10731. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10732. complete?: SetWifiListCompleteCallback
  10733. /** 接口调用失败的回调函数 */
  10734. fail?: SetWifiListFailCallback
  10735. /** 接口调用成功的回调函数 */
  10736. success?: SetWifiListSuccessCallback
  10737. }
  10738. interface SetWindowSizeOption {
  10739. /** 窗口高度,以像素为单位 */
  10740. height: number
  10741. /** 窗口宽度,以像素为单位 */
  10742. width: number
  10743. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10744. complete?: SetWindowSizeCompleteCallback
  10745. /** 接口调用失败的回调函数 */
  10746. fail?: SetWindowSizeFailCallback
  10747. /** 接口调用成功的回调函数 */
  10748. success?: SetWindowSizeSuccessCallback
  10749. }
  10750. interface SetZoomSuccessCallbackResult {
  10751. /** 实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。 */
  10752. zoom: number
  10753. errMsg: string
  10754. }
  10755. interface ShareFileMessageOption {
  10756. /** 要分享的文件地址,必须为本地路径或临时路径 */
  10757. filePath: string
  10758. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10759. complete?: ShareFileMessageCompleteCallback
  10760. /** 接口调用失败的回调函数 */
  10761. fail?: ShareFileMessageFailCallback
  10762. /** 自定义文件名,若留空则使用filePath中的文件名 */
  10763. fileName?: string
  10764. /** 接口调用成功的回调函数 */
  10765. success?: ShareFileMessageSuccessCallback
  10766. }
  10767. interface ShareToWeRunOption {
  10768. /** 运动数据列表 */
  10769. recordList: WxaSportRecord[]
  10770. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10771. complete?: ShareToWeRunCompleteCallback
  10772. /** 接口调用失败的回调函数 */
  10773. fail?: ShareToWeRunFailCallback
  10774. /** 接口调用成功的回调函数 */
  10775. success?: ShareToWeRunSuccessCallback
  10776. }
  10777. interface ShareVideoMessageOption {
  10778. /** 要分享的视频地址,必须为本地路径或临时路径 */
  10779. videoPath: string
  10780. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10781. complete?: ShareVideoMessageCompleteCallback
  10782. /** 接口调用失败的回调函数 */
  10783. fail?: ShareVideoMessageFailCallback
  10784. /** 接口调用成功的回调函数 */
  10785. success?: ShareVideoMessageSuccessCallback
  10786. /** 缩略图路径,若留空则使用视频首帧 */
  10787. thumbPath?: string
  10788. }
  10789. /** 需要基础库: `3.2.1`
  10790. *
  10791. * 鞋部检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/shoe.html)。 */
  10792. interface ShoeTrack {
  10793. /** 需要基础库: `3.2.1`
  10794. *
  10795. * 鞋部检测模式
  10796. *
  10797. * 可选值:
  10798. * - 1: 通过摄像头实时检测; */
  10799. mode: 1
  10800. }
  10801. interface ShowActionSheetOption {
  10802. /** 按钮的文字数组,数组长度最大为 6 */
  10803. itemList: string[]
  10804. /** 需要基础库: `2.14.0`
  10805. *
  10806. * 警示文案 */
  10807. alertText?: string
  10808. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10809. complete?: ShowActionSheetCompleteCallback
  10810. /** 接口调用失败的回调函数 */
  10811. fail?: ShowActionSheetFailCallback
  10812. /** 按钮的文字颜色 */
  10813. itemColor?: string
  10814. /** 接口调用成功的回调函数 */
  10815. success?: ShowActionSheetSuccessCallback
  10816. }
  10817. interface ShowActionSheetSuccessCallbackResult {
  10818. /** 用户点击的按钮序号,从上到下的顺序,从0开始 */
  10819. tapIndex: number
  10820. errMsg: string
  10821. }
  10822. interface ShowLoadingOption {
  10823. /** 提示的内容 */
  10824. title: string
  10825. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10826. complete?: ShowLoadingCompleteCallback
  10827. /** 接口调用失败的回调函数 */
  10828. fail?: ShowLoadingFailCallback
  10829. /** 是否显示透明蒙层,防止触摸穿透 */
  10830. mask?: boolean
  10831. /** 接口调用成功的回调函数 */
  10832. success?: ShowLoadingSuccessCallback
  10833. }
  10834. interface ShowModalOption {
  10835. /** 取消按钮的文字颜色,必须是 16 进制格式的颜色字符串 */
  10836. cancelColor?: string
  10837. /** 取消按钮的文字,最多 4 个字符 */
  10838. cancelText?: string
  10839. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10840. complete?: ShowModalCompleteCallback
  10841. /** 确认按钮的文字颜色,必须是 16 进制格式的颜色字符串 */
  10842. confirmColor?: string
  10843. /** 确认按钮的文字,最多 4 个字符 */
  10844. confirmText?: string
  10845. /** 提示的内容 */
  10846. content?: string
  10847. /** 需要基础库: `2.17.1`
  10848. *
  10849. * 是否显示输入框 */
  10850. editable?: boolean
  10851. /** 接口调用失败的回调函数 */
  10852. fail?: ShowModalFailCallback
  10853. /** 需要基础库: `2.17.1`
  10854. *
  10855. * 显示输入框时的提示文本 */
  10856. placeholderText?: string
  10857. /** 是否显示取消按钮 */
  10858. showCancel?: boolean
  10859. /** 接口调用成功的回调函数 */
  10860. success?: ShowModalSuccessCallback
  10861. /** 提示的标题 */
  10862. title?: string
  10863. }
  10864. interface ShowModalSuccessCallbackResult {
  10865. /** 需要基础库: `1.1.0`
  10866. *
  10867. * 为 true 时,表示用户点击了取消(用于 Android 系统区分点击蒙层关闭还是点击取消按钮关闭) */
  10868. cancel: boolean
  10869. /** 为 true 时,表示用户点击了确定按钮 */
  10870. confirm: boolean
  10871. /** editable 为 true 时,用户输入的文本 */
  10872. content: string
  10873. errMsg: string
  10874. }
  10875. interface ShowNavigationBarLoadingOption {
  10876. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10877. complete?: ShowNavigationBarLoadingCompleteCallback
  10878. /** 接口调用失败的回调函数 */
  10879. fail?: ShowNavigationBarLoadingFailCallback
  10880. /** 接口调用成功的回调函数 */
  10881. success?: ShowNavigationBarLoadingSuccessCallback
  10882. }
  10883. interface ShowRedPackageOption {
  10884. /** 封面地址 */
  10885. url: string
  10886. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10887. complete?: ShowRedPackageCompleteCallback
  10888. /** 接口调用失败的回调函数 */
  10889. fail?: ShowRedPackageFailCallback
  10890. /** 接口调用成功的回调函数 */
  10891. success?: ShowRedPackageSuccessCallback
  10892. }
  10893. interface ShowShareImageMenuOption {
  10894. /** 要分享的图片地址,必须为本地路径或临时路径 */
  10895. path: string
  10896. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10897. complete?: ShowShareImageMenuCompleteCallback
  10898. /** 需要基础库: `3.2.0`
  10899. *
  10900. * 从消息小程序入口打开小程序的路径,如果当前页面允许分享给朋友,则默认为当前页面路径,否则默认为小程序首页 */
  10901. entrancePath?: string
  10902. /** 接口调用失败的回调函数 */
  10903. fail?: ShowShareImageMenuFailCallback
  10904. /** 需要基础库: `3.2.0`
  10905. *
  10906. * 分享的图片消息是否要带小程序入口 (仅部分小程序类目可用) */
  10907. needShowEntrance?: boolean
  10908. /** 需要基础库: `3.2.0`
  10909. *
  10910. * 分享样式,小程序可选 v2 */
  10911. style?: string
  10912. /** 接口调用成功的回调函数 */
  10913. success?: ShowShareImageMenuSuccessCallback
  10914. }
  10915. interface ShowShareMenuOption {
  10916. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10917. complete?: ShowShareMenuCompleteCallback
  10918. /** 接口调用失败的回调函数 */
  10919. fail?: ShowShareMenuFailCallback
  10920. /** 需要基础库: `2.11.3`
  10921. *
  10922. * 本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种 */
  10923. menus?: string[]
  10924. /** 接口调用成功的回调函数 */
  10925. success?: ShowShareMenuSuccessCallback
  10926. /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
  10927. withShareTicket?: boolean
  10928. }
  10929. interface ShowTabBarOption {
  10930. /** 是否需要动画效果 */
  10931. animation?: boolean
  10932. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10933. complete?: ShowTabBarCompleteCallback
  10934. /** 接口调用失败的回调函数 */
  10935. fail?: ShowTabBarFailCallback
  10936. /** 接口调用成功的回调函数 */
  10937. success?: ShowTabBarSuccessCallback
  10938. }
  10939. interface ShowTabBarRedDotOption {
  10940. /** tabBar 的哪一项,从左边算起 */
  10941. index: number
  10942. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10943. complete?: ShowTabBarRedDotCompleteCallback
  10944. /** 接口调用失败的回调函数 */
  10945. fail?: ShowTabBarRedDotFailCallback
  10946. /** 接口调用成功的回调函数 */
  10947. success?: ShowTabBarRedDotSuccessCallback
  10948. }
  10949. interface ShowToastOption {
  10950. /** 提示的内容 */
  10951. title: string
  10952. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  10953. complete?: ShowToastCompleteCallback
  10954. /** 提示的延迟时间 */
  10955. duration?: number
  10956. /** 接口调用失败的回调函数 */
  10957. fail?: ShowToastFailCallback
  10958. /** 图标
  10959. *
  10960. * 可选值:
  10961. * - 'success': 显示成功图标,此时 title 文本最多显示 7 个汉字长度;
  10962. * - 'error': 显示失败图标,此时 title 文本最多显示 7 个汉字长度;
  10963. * - 'loading': 显示加载图标,此时 title 文本最多显示 7 个汉字长度;
  10964. * - 'none': 不显示图标,此时 title 文本最多可显示两行,[1.9.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)及以上版本支持; */
  10965. icon?: 'success' | 'error' | 'loading' | 'none'
  10966. /** 需要基础库: `1.1.0`
  10967. *
  10968. * 自定义图标的本地路径,image 的优先级高于 icon */
  10969. image?: string
  10970. /** 是否显示透明蒙层,防止触摸穿透 */
  10971. mask?: boolean
  10972. /** 接口调用成功的回调函数 */
  10973. success?: ShowToastSuccessCallback
  10974. }
  10975. /** 具体支付参数见signData, 该参数需以string形式传递, 例如signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}' */
  10976. interface SignData {
  10977. /** 透传数据, 发货通知时会透传给开发者 */
  10978. attach: string
  10979. /** 购买数量 */
  10980. buyQuantity: number
  10981. /** 币种
  10982. *
  10983. * 可选值:
  10984. * - 'CNY': 人民币; */
  10985. currencyType: 'CNY'
  10986. /** 在米大师侧申请的应用 id, mp-支付基础配置中的offerid */
  10987. offerId: string
  10988. /** 业务订单号, 每个订单号只能使用一次, 重复使用会失败(极端情况不保证唯一, 不建议业务强依赖唯一性). 要求8-32个字符内, 只能是数字、大小写字母、符号 _-|*@组成, 不能以下划线(_)开头 */
  10989. outTradeNo: string
  10990. /** 环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0 */
  10991. env?: number
  10992. /** 道具单价(分), **该字段仅mode=short_series_goods时需要必填**, 用来校验价格与后台道具价格是否一致, 避免用户在业务商城页看到的价格与实际价格不一致导致投诉 */
  10993. goodsPrice?: number
  10994. /** 道具ID, **该字段仅mode=short_series_goods时需要必填** */
  10995. productId?: string
  10996. }
  10997. interface Size {
  10998. /** 变化后的窗口高度,单位 px */
  10999. windowHeight: number
  11000. /** 变化后的窗口宽度,单位 px */
  11001. windowWidth: number
  11002. }
  11003. /** 当前运行环境对于 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的支持情况 */
  11004. interface SkylineInfo {
  11005. /** 当前运行环境是否支持 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) */
  11006. isSupported: boolean
  11007. /** 当前运行环境 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的版本号,形如 `0.9.7` */
  11008. version: string
  11009. /** 当前运行环境不支持 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的原因,仅在 `isSupported` 为 `false` 时出现
  11010. *
  11011. * 可选值:
  11012. * - 'client not supported': 当前微信客户端不支持 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html),可以尝试通过升级微信客户端解决;
  11013. * - 'baselib not supported': 当前基础库不支持 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html),基础库会自动更新到当前客户端所能支持的最新的版本,基础库不支持时也可以尝试通过升级微信客户端解决;
  11014. * - 'a-b test not enabled': 命中了 _We 分析_ 平台上的 AB 实验关闭的情况。详细可以查看 [Skyline 起步 > 配置 We 分析 AB 实验]((skyline/migration#%E9%85%8D%E7%BD%AE-We-%E5%88%86%E6%9E%90-AB-%E5%AE%9E%E9%AA%8C)) 一节;
  11015. * - 'SwitchRender option set to webview': 本地调试的快捷切换入口被设置为了强制使用 Webview. 详情可以查看 [Skyline 起步 > 快捷切换入口](#) 一节; */
  11016. reason?:
  11017. | 'client not supported'
  11018. | 'baselib not supported'
  11019. | 'a-b test not enabled'
  11020. | 'SwitchRender option set to webview'
  11021. }
  11022. /** Snapshot 实例,可通过 [SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) 获取。
  11023. *
  11024. * [Snapshot](https://developers.weixin.qq.com/miniprogram/dev/api/skyline/Snapshot.html) 通过 `id` 跟一个 [snapshot](https://developers.weixin.qq.com/miniprogram/dev/component/snapshot.html) 组件绑定,操作对应的 [snapshot](https://developers.weixin.qq.com/miniprogram/dev/component/snapshot.html) 组件。
  11025. *
  11026. * **示例代码**
  11027. *
  11028. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/jdkplEm17hJP) */
  11029. interface Snapshot {
  11030. /** 画布高度 */
  11031. height: number
  11032. /** 画布宽度 */
  11033. width: number
  11034. /** [Snapshot.takeSnapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/skyline/Snapshot.takeSnapshot.html)
  11035. *
  11036. * 需要基础库: `3.0.0`
  11037. *
  11038. * 在插件中使用:支持
  11039. *
  11040. * 对 snapshot 组件子树进行截图 */
  11041. takeSnapshot(option: TakeSnapshotOption): void
  11042. }
  11043. /** 需要基础库: `2.10.4`
  11044. *
  11045. * 网络请求过程中一些调试信息 */
  11046. interface SocketProfile {
  11047. /** 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */
  11048. connectEnd: number
  11049. /** 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */
  11050. connectStart: number
  11051. /** 上层请求到返回的耗时 */
  11052. cost: number
  11053. /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
  11054. domainLookUpEnd: number
  11055. /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */
  11056. domainLookUpStart: number
  11057. /** 组件准备好使用 SOCKET 建立请求的时间,这发生在检查本地缓存之前 */
  11058. fetchStart: number
  11059. /** 握手耗时 */
  11060. handshakeCost: number
  11061. /** 单次连接的耗时,包括 connect ,tls */
  11062. rtt: number
  11063. }
  11064. interface SocketTaskCloseOption {
  11065. /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
  11066. code?: number
  11067. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11068. complete?: SocketTaskCloseCompleteCallback
  11069. /** 接口调用失败的回调函数 */
  11070. fail?: SocketTaskCloseFailCallback
  11071. /** 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于 123 字节的 UTF-8 文本(不是字符)。 */
  11072. reason?: string
  11073. /** 接口调用成功的回调函数 */
  11074. success?: SocketTaskCloseSuccessCallback
  11075. }
  11076. interface SocketTaskOnCloseListenerResult {
  11077. /** 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 */
  11078. code: number
  11079. /** 一个可读的字符串,表示连接被关闭的原因。 */
  11080. reason: string
  11081. }
  11082. interface SocketTaskOnMessageListenerResult {
  11083. /** 服务器返回的消息 */
  11084. data: string | ArrayBuffer
  11085. }
  11086. interface SocketTaskSendOption {
  11087. /** 需要发送的内容 */
  11088. data: string | ArrayBuffer
  11089. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11090. complete?: SendCompleteCallback
  11091. /** 接口调用失败的回调函数 */
  11092. fail?: SendFailCallback
  11093. /** 接口调用成功的回调函数 */
  11094. success?: SendSuccessCallback
  11095. }
  11096. /** 动画配置 */
  11097. interface SpringOption {
  11098. /** 阻尼系数 */
  11099. damping?: number
  11100. /** 重量系数,值越大移动越慢 */
  11101. mass?: number
  11102. /** 动画是否可以在指定值上反弹 */
  11103. overshootClamping?: boolean
  11104. /** 弹簧静止时的位移 */
  11105. restDisplacementThreshold?: number
  11106. /** 弹簧静止的速度 */
  11107. restSpeedThreshold?: number
  11108. /** 弹性系数 */
  11109. stiffness?: number
  11110. /** 速度 */
  11111. velocity?: number
  11112. }
  11113. interface StartAccelerometerOption {
  11114. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11115. complete?: StartAccelerometerCompleteCallback
  11116. /** 接口调用失败的回调函数 */
  11117. fail?: StartAccelerometerFailCallback
  11118. /** 需要基础库: `2.1.0`
  11119. *
  11120. * 监听加速度数据回调函数的执行频率
  11121. *
  11122. * 可选值:
  11123. * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
  11124. * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
  11125. * - 'normal': 普通的回调频率,在 200ms/次 左右; */
  11126. interval?: 'game' | 'ui' | 'normal'
  11127. /** 接口调用成功的回调函数 */
  11128. success?: StartAccelerometerSuccessCallback
  11129. }
  11130. interface StartAdvertisingObject {
  11131. /** 广播自定义参数 */
  11132. advertiseRequest: AdvertiseReqObj
  11133. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11134. complete?: StartAdvertisingCompleteCallback
  11135. /** 接口调用失败的回调函数 */
  11136. fail?: StartAdvertisingFailCallback
  11137. /** 广播功率
  11138. *
  11139. * 可选值:
  11140. * - 'low': 功率低;
  11141. * - 'medium': 功率适中;
  11142. * - 'high': 功率高; */
  11143. powerLevel?: 'low' | 'medium' | 'high'
  11144. /** 接口调用成功的回调函数 */
  11145. success?: StartAdvertisingSuccessCallback
  11146. }
  11147. interface StartBeaconDiscoveryOption {
  11148. /** Beacon 设备广播的 UUID 列表 */
  11149. uuids: string[]
  11150. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11151. complete?: StartBeaconDiscoveryCompleteCallback
  11152. /** 接口调用失败的回调函数 */
  11153. fail?: StartBeaconDiscoveryFailCallback
  11154. /** 是否校验蓝牙开关,仅在 iOS 下有效。iOS 11 起,控制面板里关掉蓝牙,还是能继续使用 Beacon 服务。 */
  11155. ignoreBluetoothAvailable?: boolean
  11156. /** 接口调用成功的回调函数 */
  11157. success?: StartBeaconDiscoverySuccessCallback
  11158. }
  11159. interface StartBluetoothDevicesDiscoveryOption {
  11160. /** 是否允许重复上报同一设备。如果允许重复上报,则 [wx.onBlueToothDeviceFound](#) 方法会多次上报同一设备,但是 RSSI 值会有不同。 */
  11161. allowDuplicatesKey?: boolean
  11162. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11163. complete?: StartBluetoothDevicesDiscoveryCompleteCallback
  11164. /** 接口调用失败的回调函数 */
  11165. fail?: StartBluetoothDevicesDiscoveryFailCallback
  11166. /** 上报设备的间隔,单位 ms。0 表示找到新设备立即上报,其他数值根据传入的间隔上报。 */
  11167. interval?: number
  11168. /** 扫描模式,越高扫描越快,也越耗电。仅安卓微信客户端 7.0.12 及以上支持。
  11169. *
  11170. * 可选值:
  11171. * - 'low': 低;
  11172. * - 'medium': 中;
  11173. * - 'high': 高; */
  11174. powerLevel?: 'low' | 'medium' | 'high'
  11175. /** 要搜索的蓝牙设备主服务的 UUID 列表(支持 16/32/128 位 UUID)。某些蓝牙设备会广播自己的主 service 的 UUID。如果设置此参数,则只搜索广播包有对应 UUID 的主服务的蓝牙设备。建议通过该参数过滤掉周边不需要处理的其他蓝牙设备。 */
  11176. services?: string[]
  11177. /** 接口调用成功的回调函数 */
  11178. success?: StartBluetoothDevicesDiscoverySuccessCallback
  11179. }
  11180. interface StartCastingOption {
  11181. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11182. complete?: StartCastingCompleteCallback
  11183. /** 接口调用失败的回调函数 */
  11184. fail?: StartCastingFailCallback
  11185. /** 接口调用成功的回调函数 */
  11186. success?: StartCastingSuccessCallback
  11187. }
  11188. interface StartCompassOption {
  11189. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11190. complete?: StartCompassCompleteCallback
  11191. /** 接口调用失败的回调函数 */
  11192. fail?: StartCompassFailCallback
  11193. /** 接口调用成功的回调函数 */
  11194. success?: StartCompassSuccessCallback
  11195. }
  11196. interface StartDeviceMotionListeningOption {
  11197. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11198. complete?: StartDeviceMotionListeningCompleteCallback
  11199. /** 接口调用失败的回调函数 */
  11200. fail?: StartDeviceMotionListeningFailCallback
  11201. /** 监听设备方向的变化回调函数的执行频率
  11202. *
  11203. * 可选值:
  11204. * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
  11205. * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
  11206. * - 'normal': 普通的回调频率,在 200ms/次 左右; */
  11207. interval?: 'game' | 'ui' | 'normal'
  11208. /** 接口调用成功的回调函数 */
  11209. success?: StartDeviceMotionListeningSuccessCallback
  11210. }
  11211. interface StartDiscoveryOption {
  11212. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11213. complete?: StartDiscoveryCompleteCallback
  11214. /** 接口调用失败的回调函数 */
  11215. fail?: StartDiscoveryFailCallback
  11216. /** 接口调用成功的回调函数 */
  11217. success?: StartDiscoverySuccessCallback
  11218. }
  11219. interface StartGyroscopeOption {
  11220. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11221. complete?: StartGyroscopeCompleteCallback
  11222. /** 接口调用失败的回调函数 */
  11223. fail?: StartGyroscopeFailCallback
  11224. /** 监听陀螺仪数据回调函数的执行频率
  11225. *
  11226. * 可选值:
  11227. * - 'game': 适用于更新游戏的回调频率,在 20ms/次 左右;
  11228. * - 'ui': 适用于更新 UI 的回调频率,在 60ms/次 左右;
  11229. * - 'normal': 普通的回调频率,在 200ms/次 左右; */
  11230. interval?: 'game' | 'ui' | 'normal'
  11231. /** 接口调用成功的回调函数 */
  11232. success?: StartGyroscopeSuccessCallback
  11233. }
  11234. interface StartHCEOption {
  11235. /** 需要注册到系统的 AID 列表 */
  11236. aid_list: string[]
  11237. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11238. complete?: StartHCECompleteCallback
  11239. /** 接口调用失败的回调函数 */
  11240. fail?: StartHCEFailCallback
  11241. /** 接口调用成功的回调函数 */
  11242. success?: StartHCESuccessCallback
  11243. }
  11244. interface StartLocalServiceDiscoveryFailCallbackResult {
  11245. /** 错误信息
  11246. *
  11247. * 可选值:
  11248. * - 'invalid param': serviceType 为空;
  11249. * - 'scan task already exist': 在当前 startLocalServiceDiscovery 发起的搜索未停止的情况下,再次调用 startLocalServiceDiscovery; */
  11250. errMsg: string
  11251. }
  11252. interface StartLocalServiceDiscoveryOption {
  11253. /** 要搜索的服务类型 */
  11254. serviceType: string
  11255. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11256. complete?: StartLocalServiceDiscoveryCompleteCallback
  11257. /** 接口调用失败的回调函数 */
  11258. fail?: StartLocalServiceDiscoveryFailCallback
  11259. /** 接口调用成功的回调函数 */
  11260. success?: StartLocalServiceDiscoverySuccessCallback
  11261. }
  11262. interface StartLocationUpdateBackgroundOption {
  11263. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11264. complete?: StartLocationUpdateBackgroundCompleteCallback
  11265. /** 接口调用失败的回调函数 */
  11266. fail?: StartLocationUpdateBackgroundFailCallback
  11267. /** 接口调用成功的回调函数 */
  11268. success?: StartLocationUpdateBackgroundSuccessCallback
  11269. /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */
  11270. type?: string
  11271. }
  11272. interface StartLocationUpdateOption {
  11273. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11274. complete?: StartLocationUpdateCompleteCallback
  11275. /** 接口调用失败的回调函数 */
  11276. fail?: StartLocationUpdateFailCallback
  11277. /** 接口调用成功的回调函数 */
  11278. success?: StartLocationUpdateSuccessCallback
  11279. /** wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 */
  11280. type?: string
  11281. }
  11282. interface StartPreviewOption {
  11283. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11284. complete?: StartPreviewCompleteCallback
  11285. /** 接口调用失败的回调函数 */
  11286. fail?: StartPreviewFailCallback
  11287. /** 接口调用成功的回调函数 */
  11288. success?: StartPreviewSuccessCallback
  11289. }
  11290. interface StartPullDownRefreshOption {
  11291. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11292. complete?: StartPullDownRefreshCompleteCallback
  11293. /** 接口调用失败的回调函数 */
  11294. fail?: StartPullDownRefreshFailCallback
  11295. /** 接口调用成功的回调函数 */
  11296. success?: StartPullDownRefreshSuccessCallback
  11297. }
  11298. interface StartRecordSuccessCallbackResult {
  11299. /** 录音文件的临时路径 (本地路径) */
  11300. tempFilePath: string
  11301. errMsg: string
  11302. }
  11303. interface StartRecordTimeoutCallbackResult {
  11304. /** 封面图片文件的临时路径 (本地路径) */
  11305. tempThumbPath: string
  11306. /** 视频的文件的临时路径 (本地路径) */
  11307. tempVideoPath: string
  11308. }
  11309. interface StartSoterAuthenticationOption {
  11310. /** 挑战因子。挑战因子为调用者为此次生物鉴权准备的用于签名的字符串关键识别信息,将作为 `resultJSON` 的一部分,供调用者识别本次请求。例如:如果场景为请求用户对某订单进行授权确认,则可以将订单号填入此参数。 */
  11311. challenge: string
  11312. /** 请求使用的可接受的生物认证方式
  11313. *
  11314. * 可选值:
  11315. * - 'fingerPrint': 指纹识别;
  11316. * - 'facial': 人脸识别;
  11317. * - 'speech': 声纹识别(暂未支持); */
  11318. requestAuthModes: Array<'fingerPrint' | 'facial' | 'speech'>
  11319. /** 验证描述,即识别过程中显示在界面上的对话框提示内容 */
  11320. authContent?: string
  11321. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11322. complete?: StartSoterAuthenticationCompleteCallback
  11323. /** 接口调用失败的回调函数 */
  11324. fail?: StartSoterAuthenticationFailCallback
  11325. /** 接口调用成功的回调函数 */
  11326. success?: StartSoterAuthenticationSuccessCallback
  11327. }
  11328. interface StartSoterAuthenticationSuccessCallbackResult {
  11329. /** 生物认证方式 */
  11330. authMode: string
  11331. /** 错误码 */
  11332. errCode: number
  11333. /** 错误信息 */
  11334. errMsg: string
  11335. /** 在设备安全区域(TEE)内获得的本机安全信息(如TEE名称版本号等以及防重放参数)以及本次认证信息(仅Android支持,本次认证的指纹ID)。具体说明见下文 */
  11336. resultJSON: string
  11337. /** 用SOTER安全密钥对 `resultJSON` 的签名(SHA256 with RSA/PSS, saltlen=20) */
  11338. resultJSONSignature: string
  11339. }
  11340. interface StartWifiOption {
  11341. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11342. complete?: StartWifiCompleteCallback
  11343. /** 接口调用失败的回调函数 */
  11344. fail?: StartWifiFailCallback
  11345. /** 接口调用成功的回调函数 */
  11346. success?: StartWifiSuccessCallback
  11347. }
  11348. interface StatOption {
  11349. /** 文件/目录路径 (本地路径) */
  11350. path: string
  11351. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11352. complete?: StatCompleteCallback
  11353. /** 接口调用失败的回调函数 */
  11354. fail?: StatFailCallback
  11355. /** 需要基础库: `2.3.0`
  11356. *
  11357. * 是否递归获取目录下的每个文件的 Stats 信息 */
  11358. recursive?: boolean
  11359. /** 接口调用成功的回调函数 */
  11360. success?: StatSuccessCallback
  11361. }
  11362. interface StatSuccessCallbackResult {
  11363. /** [Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.&lt;[FileStats](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileStats.html)&gt;
  11364. *
  11365. * 当 recursive 为 false 时,res.stats 是一个 Stats 对象。当 recursive 为 true 且 path 是一个目录的路径时,res.stats 是一个 Array,数组的每一项是一个对象,每个对象包含 path 和 stats。 */
  11366. stats: Stats | FileStats[]
  11367. errMsg: string
  11368. }
  11369. /** 描述文件状态的对象 */
  11370. interface Stats {
  11371. /** 文件最近一次被存取或被执行的时间,UNIX 时间戳,对应 POSIX stat.st_atime */
  11372. lastAccessedTime: number
  11373. /** 文件最后一次被修改的时间,UNIX 时间戳,对应 POSIX stat.st_mtime */
  11374. lastModifiedTime: number
  11375. /** 文件的类型和存取的权限,对应 POSIX stat.st_mode */
  11376. mode: number
  11377. /** 文件大小,单位:B,对应 POSIX stat.st_size */
  11378. size: number
  11379. /** [boolean Stats.isDirectory()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isDirectory.html)
  11380. *
  11381. * 在插件中使用:需要基础库 `2.19.2`
  11382. *
  11383. * 判断当前文件是否一个目录 */
  11384. isDirectory(): boolean
  11385. /** [boolean Stats.isFile()](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.isFile.html)
  11386. *
  11387. * 在插件中使用:需要基础库 `2.19.2`
  11388. *
  11389. * 判断当前文件是否一个普通文件 */
  11390. isFile(): boolean
  11391. }
  11392. interface StepOption {
  11393. /** 动画延迟时间,单位 ms */
  11394. delay?: number
  11395. /** 动画持续时间,单位 ms */
  11396. duration?: number
  11397. /** 动画的效果
  11398. *
  11399. * 可选值:
  11400. * - 'linear': 动画从头到尾的速度是相同的;
  11401. * - 'ease': 动画以低速开始,然后加快,在结束前变慢;
  11402. * - 'ease-in': 动画以低速开始;
  11403. * - 'ease-in-out': 动画以低速开始和结束;
  11404. * - 'ease-out': 动画以低速结束;
  11405. * - 'step-start': 动画第一帧就跳至结束状态直到结束;
  11406. * - 'step-end': 动画一直保持开始状态,最后一帧跳到结束状态; */
  11407. timingFunction?:
  11408. | 'linear'
  11409. | 'ease'
  11410. | 'ease-in'
  11411. | 'ease-in-out'
  11412. | 'ease-out'
  11413. | 'step-start'
  11414. | 'step-end'
  11415. transformOrigin?: string
  11416. }
  11417. /** 贴纸类型 */
  11418. interface Sticker {
  11419. /** 贴纸帧数 */
  11420. len: number
  11421. /** 贴纸资源路径。资源必须为一个资源文件夹路径或一个压缩包路径,文件夹或压缩包内的贴纸资源必须按照 `{title}_{index}.{ext}` 格式命名。其中 `{title}` 为贴纸名称;`{index}` 为帧序号,从0开始;`{ext}` 为拓展名。 */
  11422. path: string
  11423. /** 贴纸名称 */
  11424. title: string
  11425. /** 贴纸触发动作
  11426. *
  11427. * 可选值:
  11428. * - -1: 循环播放;
  11429. * - 10: 张嘴;
  11430. * - 11: 噘嘴/kiss;
  11431. * - 12: 眨/闭左眼;
  11432. * - 13: 眨/闭右眼;
  11433. * - 14: 眨/闭眼;
  11434. * - 15: 挑眉毛;
  11435. * - 16: 左右摇头;
  11436. * - 17: 上下点头;
  11437. * - 100: 比心;
  11438. * - 101: 张开手掌;
  11439. * - 102: 剪刀手/比耶/胜利;
  11440. * - 103: 握拳;
  11441. * - 104: 数字1;
  11442. * - 105: 我爱你;
  11443. * - 106: 点赞;
  11444. * - 107: OK;
  11445. * - 108: Rock&Roll;
  11446. * - 109: 数字6;
  11447. * - 110: 数字8;
  11448. * - 111: 暂不支持(留空);
  11449. * - 112: 双手抱拳/恭喜发财; */
  11450. active?:
  11451. | -1
  11452. | 10
  11453. | 11
  11454. | 12
  11455. | 13
  11456. | 14
  11457. | 15
  11458. | 16
  11459. | 17
  11460. | 100
  11461. | 101
  11462. | 102
  11463. | 103
  11464. | 104
  11465. | 105
  11466. | 106
  11467. | 107
  11468. | 108
  11469. | 109
  11470. | 110
  11471. | 111
  11472. | 112
  11473. /** 贴纸ID */
  11474. id?: string
  11475. /** 贴纸资源 md5 */
  11476. md5?: string
  11477. /** 贴纸位置,格式为 [x1,y1,x2,y2] 。当 `type` 为 `'2D'` 或 `'front'` 时必填。仅 2D 贴纸和前景贴纸有效 */
  11478. pos?: string[]
  11479. /** 背景贴纸展示位置。仅背景贴纸有效
  11480. *
  11481. * 可选值:
  11482. * - 0: 背景贴纸;
  11483. * - 1: 只在人像区域显示的贴纸; */
  11484. segtype?: 0 | 1
  11485. }
  11486. interface StopAccelerometerOption {
  11487. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11488. complete?: StopAccelerometerCompleteCallback
  11489. /** 接口调用失败的回调函数 */
  11490. fail?: StopAccelerometerFailCallback
  11491. /** 接口调用成功的回调函数 */
  11492. success?: StopAccelerometerSuccessCallback
  11493. }
  11494. interface StopAdvertisingOption {
  11495. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11496. complete?: StopAdvertisingCompleteCallback
  11497. /** 接口调用失败的回调函数 */
  11498. fail?: StopAdvertisingFailCallback
  11499. /** 接口调用成功的回调函数 */
  11500. success?: StopAdvertisingSuccessCallback
  11501. }
  11502. interface StopBGMOption {
  11503. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11504. complete?: StopBGMCompleteCallback
  11505. /** 接口调用失败的回调函数 */
  11506. fail?: StopBGMFailCallback
  11507. /** 接口调用成功的回调函数 */
  11508. success?: StopBGMSuccessCallback
  11509. }
  11510. interface StopBackgroundAudioOption {
  11511. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11512. complete?: StopBackgroundAudioCompleteCallback
  11513. /** 接口调用失败的回调函数 */
  11514. fail?: StopBackgroundAudioFailCallback
  11515. /** 接口调用成功的回调函数 */
  11516. success?: StopBackgroundAudioSuccessCallback
  11517. }
  11518. interface StopBeaconDiscoveryOption {
  11519. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11520. complete?: StopBeaconDiscoveryCompleteCallback
  11521. /** 接口调用失败的回调函数 */
  11522. fail?: StopBeaconDiscoveryFailCallback
  11523. /** 接口调用成功的回调函数 */
  11524. success?: StopBeaconDiscoverySuccessCallback
  11525. }
  11526. interface StopBluetoothDevicesDiscoveryOption {
  11527. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11528. complete?: StopBluetoothDevicesDiscoveryCompleteCallback
  11529. /** 接口调用失败的回调函数 */
  11530. fail?: StopBluetoothDevicesDiscoveryFailCallback
  11531. /** 接口调用成功的回调函数 */
  11532. success?: StopBluetoothDevicesDiscoverySuccessCallback
  11533. }
  11534. interface StopCompassOption {
  11535. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11536. complete?: StopCompassCompleteCallback
  11537. /** 接口调用失败的回调函数 */
  11538. fail?: StopCompassFailCallback
  11539. /** 接口调用成功的回调函数 */
  11540. success?: StopCompassSuccessCallback
  11541. }
  11542. interface StopDeviceMotionListeningOption {
  11543. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11544. complete?: StopDeviceMotionListeningCompleteCallback
  11545. /** 接口调用失败的回调函数 */
  11546. fail?: StopDeviceMotionListeningFailCallback
  11547. /** 接口调用成功的回调函数 */
  11548. success?: StopDeviceMotionListeningSuccessCallback
  11549. }
  11550. interface StopDiscoveryOption {
  11551. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11552. complete?: StopDiscoveryCompleteCallback
  11553. /** 接口调用失败的回调函数 */
  11554. fail?: StopDiscoveryFailCallback
  11555. /** 接口调用成功的回调函数 */
  11556. success?: StopDiscoverySuccessCallback
  11557. }
  11558. interface StopFaceDetectOption {
  11559. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11560. complete?: StopFaceDetectCompleteCallback
  11561. /** 接口调用失败的回调函数 */
  11562. fail?: StopFaceDetectFailCallback
  11563. /** 接口调用成功的回调函数 */
  11564. success?: StopFaceDetectSuccessCallback
  11565. }
  11566. interface StopGyroscopeOption {
  11567. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11568. complete?: StopGyroscopeCompleteCallback
  11569. /** 接口调用失败的回调函数 */
  11570. fail?: StopGyroscopeFailCallback
  11571. /** 接口调用成功的回调函数 */
  11572. success?: StopGyroscopeSuccessCallback
  11573. }
  11574. interface StopHCEOption {
  11575. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11576. complete?: StopHCECompleteCallback
  11577. /** 接口调用失败的回调函数 */
  11578. fail?: StopHCEFailCallback
  11579. /** 接口调用成功的回调函数 */
  11580. success?: StopHCESuccessCallback
  11581. }
  11582. interface StopLocalServiceDiscoveryFailCallbackResult {
  11583. /** 错误信息
  11584. *
  11585. * 可选值:
  11586. * - 'task not found': 在当前没有处在搜索服务中的情况下调用 stopLocalServiceDiscovery; */
  11587. errMsg: string
  11588. }
  11589. interface StopLocalServiceDiscoveryOption {
  11590. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11591. complete?: StopLocalServiceDiscoveryCompleteCallback
  11592. /** 接口调用失败的回调函数 */
  11593. fail?: StopLocalServiceDiscoveryFailCallback
  11594. /** 接口调用成功的回调函数 */
  11595. success?: StopLocalServiceDiscoverySuccessCallback
  11596. }
  11597. interface StopLocationUpdateOption {
  11598. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11599. complete?: StopLocationUpdateCompleteCallback
  11600. /** 接口调用失败的回调函数 */
  11601. fail?: StopLocationUpdateFailCallback
  11602. /** 接口调用成功的回调函数 */
  11603. success?: StopLocationUpdateSuccessCallback
  11604. }
  11605. interface StopOption {
  11606. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11607. complete?: StopCompleteCallback
  11608. /** 接口调用失败的回调函数 */
  11609. fail?: StopFailCallback
  11610. /** 接口调用成功的回调函数 */
  11611. success?: StopSuccessCallback
  11612. }
  11613. interface StopPreviewOption {
  11614. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11615. complete?: StopPreviewCompleteCallback
  11616. /** 接口调用失败的回调函数 */
  11617. fail?: StopPreviewFailCallback
  11618. /** 接口调用成功的回调函数 */
  11619. success?: StopPreviewSuccessCallback
  11620. }
  11621. interface StopPullDownRefreshOption {
  11622. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11623. complete?: StopPullDownRefreshCompleteCallback
  11624. /** 接口调用失败的回调函数 */
  11625. fail?: StopPullDownRefreshFailCallback
  11626. /** 接口调用成功的回调函数 */
  11627. success?: StopPullDownRefreshSuccessCallback
  11628. }
  11629. interface StopRecordSuccessCallbackResult {
  11630. /** 封面图片文件的临时路径 (本地路径) */
  11631. tempThumbPath: string
  11632. /** 视频的文件的临时路径 (本地路径) */
  11633. tempVideoPath: string
  11634. errMsg: string
  11635. }
  11636. interface StopVoiceOption {
  11637. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11638. complete?: StopVoiceCompleteCallback
  11639. /** 接口调用失败的回调函数 */
  11640. fail?: StopVoiceFailCallback
  11641. /** 接口调用成功的回调函数 */
  11642. success?: StopVoiceSuccessCallback
  11643. }
  11644. interface StopWifiOption {
  11645. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11646. complete?: StopWifiCompleteCallback
  11647. /** 接口调用失败的回调函数 */
  11648. fail?: StopWifiFailCallback
  11649. /** 接口调用成功的回调函数 */
  11650. success?: StopWifiSuccessCallback
  11651. }
  11652. interface SubscribeVoIPVideoMembersOption {
  11653. /** 订阅的成员列表 */
  11654. openIdList: string[]
  11655. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11656. complete?: SubscribeVoIPVideoMembersCompleteCallback
  11657. /** 接口调用失败的回调函数 */
  11658. fail?: SubscribeVoIPVideoMembersFailCallback
  11659. /** 接口调用成功的回调函数 */
  11660. success?: SubscribeVoIPVideoMembersSuccessCallback
  11661. }
  11662. /** 订阅消息设置
  11663. *
  11664. * **示例代码**
  11665. *
  11666. * ```javascript
  11667. wx.getSetting({
  11668. withSubscriptions: true,
  11669. success (res) {
  11670. console.log(res.authSetting)
  11671. // res.authSetting = {
  11672. // "scope.userInfo": true,
  11673. // "scope.userLocation": true
  11674. // }
  11675. console.log(res.subscriptionsSetting)
  11676. // res.subscriptionsSetting = {
  11677. // mainSwitch: true, // 订阅消息总开关
  11678. // itemSettings: { // 每一项开关
  11679. // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息
  11680. // SYS_MSG_TYPE_RANK: 'accept'
  11681. // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息
  11682. // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',
  11683. // }
  11684. // }
  11685. }
  11686. })
  11687. ``` */
  11688. interface SubscriptionsSetting {
  11689. /** 订阅消息总开关,true为开启,false为关闭 */
  11690. mainSwitch: boolean
  11691. /** 每一项订阅消息的订阅状态。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)
  11692. * ## 注意事项
  11693. * - itemSettings 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息。 */
  11694. itemSettings?: IAnyObject
  11695. }
  11696. interface SwitchCameraOption {
  11697. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11698. complete?: SwitchCameraCompleteCallback
  11699. /** 接口调用失败的回调函数 */
  11700. fail?: SwitchCameraFailCallback
  11701. /** 接口调用成功的回调函数 */
  11702. success?: SwitchCameraSuccessCallback
  11703. }
  11704. interface SwitchCastingOption {
  11705. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11706. complete?: SwitchCastingCompleteCallback
  11707. /** 接口调用失败的回调函数 */
  11708. fail?: SwitchCastingFailCallback
  11709. /** 接口调用成功的回调函数 */
  11710. success?: SwitchCastingSuccessCallback
  11711. }
  11712. interface SwitchTabOption {
  11713. /** 需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 [tabBar](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabbar) 字段定义的页面),路径后不能带参数。 */
  11714. url: string
  11715. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11716. complete?: SwitchTabCompleteCallback
  11717. /** 接口调用失败的回调函数 */
  11718. fail?: SwitchTabFailCallback
  11719. /** 接口调用成功的回调函数 */
  11720. success?: SwitchTabSuccessCallback
  11721. }
  11722. interface SystemInfo {
  11723. /** 需要基础库: `1.1.0`
  11724. *
  11725. * 客户端基础库版本 */
  11726. SDKVersion: string
  11727. /** 需要基础库: `2.6.0`
  11728. *
  11729. * 允许微信使用相册的开关(仅 iOS 有效) */
  11730. albumAuthorized: boolean
  11731. /** 需要基础库: `1.8.0`
  11732. *
  11733. * 设备性能等级(仅 Android)。取值为:-2 或 0(该设备无法运行小游戏),-1(性能未知),>=1(设备性能值,该值越高,设备性能越好)<br> 注意:性能等级当前仅反馈真机机型,暂不支持 IDE 模拟器机型 */
  11734. benchmarkLevel: number
  11735. /** 需要基础库: `2.6.0`
  11736. *
  11737. * 蓝牙的系统开关 */
  11738. bluetoothEnabled: boolean
  11739. /** 需要基础库: `1.5.0`
  11740. *
  11741. * 设备品牌 */
  11742. brand: string
  11743. /** 需要基础库: `2.6.0`
  11744. *
  11745. * 允许微信使用摄像头的开关 */
  11746. cameraAuthorized: boolean
  11747. /** 设备方向(注意:IOS客户端横屏游戏获取deviceOrientation可能不准,建议以屏幕宽高为准)
  11748. *
  11749. * 可选值:
  11750. * - 'portrait': 竖屏;
  11751. * - 'landscape': 横屏; */
  11752. deviceOrientation: 'portrait' | 'landscape'
  11753. /** 需要基础库: `2.15.0`
  11754. *
  11755. * 是否已打开调试。可通过右上角菜单或 [wx.setEnableDebug](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html) 打开调试。 */
  11756. enableDebug: boolean
  11757. /** 需要基础库: `1.5.0`
  11758. *
  11759. * 用户字体大小(单位px)。以微信客户端「我-设置-通用-字体大小」中的设置为准 */
  11760. fontSizeSetting: number
  11761. /** 需要基础库: `2.12.3`
  11762. *
  11763. * 当前小程序运行的宿主环境 */
  11764. host: SystemInfoHost
  11765. /** 微信设置的语言 */
  11766. language: string
  11767. /** 需要基础库: `2.6.0`
  11768. *
  11769. * 允许微信使用定位的开关 */
  11770. locationAuthorized: boolean
  11771. /** 需要基础库: `2.6.0`
  11772. *
  11773. * 地理位置的系统开关 */
  11774. locationEnabled: boolean
  11775. /** `true` 表示模糊定位,`false` 表示精确定位,仅 iOS 支持 */
  11776. locationReducedAccuracy: boolean
  11777. /** 需要基础库: `2.6.0`
  11778. *
  11779. * 允许微信使用麦克风的开关 */
  11780. microphoneAuthorized: boolean
  11781. /** 设备型号。新机型刚推出一段时间会显示unknown,微信会尽快进行适配。 */
  11782. model: string
  11783. /** 需要基础库: `2.6.0`
  11784. *
  11785. * 允许微信通知带有提醒的开关(仅 iOS 有效) */
  11786. notificationAlertAuthorized: boolean
  11787. /** 需要基础库: `2.6.0`
  11788. *
  11789. * 允许微信通知的开关 */
  11790. notificationAuthorized: boolean
  11791. /** 需要基础库: `2.6.0`
  11792. *
  11793. * 允许微信通知带有标记的开关(仅 iOS 有效) */
  11794. notificationBadgeAuthorized: boolean
  11795. /** 需要基础库: `2.6.0`
  11796. *
  11797. * 允许微信通知带有声音的开关(仅 iOS 有效) */
  11798. notificationSoundAuthorized: boolean
  11799. /** 需要基础库: `2.19.3`
  11800. *
  11801. * 允许微信使用日历的开关 */
  11802. phoneCalendarAuthorized: boolean
  11803. /** 设备像素比 */
  11804. pixelRatio: number
  11805. /** 客户端平台
  11806. *
  11807. * 可选值:
  11808. * - 'ios': iOS微信(包含 iPhone、iPad);
  11809. * - 'android': Android微信;
  11810. * - 'windows': Windows微信;
  11811. * - 'mac': macOS微信;
  11812. * - 'devtools': 微信开发者工具; */
  11813. platform: 'ios' | 'android' | 'windows' | 'mac' | 'devtools'
  11814. /** 需要基础库: `2.7.0`
  11815. *
  11816. * 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 */
  11817. safeArea: SafeArea
  11818. /** 需要基础库: `1.1.0`
  11819. *
  11820. * 屏幕高度,单位px */
  11821. screenHeight: number
  11822. /** 需要基础库: `1.1.0`
  11823. *
  11824. * 屏幕宽度,单位px */
  11825. screenWidth: number
  11826. /** 需要基础库: `1.9.0`
  11827. *
  11828. * 状态栏的高度,单位px */
  11829. statusBarHeight: number
  11830. /** 操作系统及版本 */
  11831. system: string
  11832. /** 微信版本号 */
  11833. version: string
  11834. /** 需要基础库: `2.6.0`
  11835. *
  11836. * Wi-Fi 的系统开关 */
  11837. wifiEnabled: boolean
  11838. /** 可使用窗口高度,单位px */
  11839. windowHeight: number
  11840. /** 可使用窗口宽度,单位px */
  11841. windowWidth: number
  11842. /** 需要基础库: `2.11.0`
  11843. *
  11844. * 系统当前主题,取值为`light`或`dark`,全局配置`"darkmode":true`时才能获取,否则为 undefined (不支持小游戏)
  11845. *
  11846. * 可选值:
  11847. * - 'dark': 深色主题;
  11848. * - 'light': 浅色主题; */
  11849. theme?: 'dark' | 'light'
  11850. }
  11851. /** 需要基础库: `2.12.3`
  11852. *
  11853. * 当前小程序运行的宿主环境 */
  11854. interface SystemInfoHost {
  11855. /** 宿主 app 对应的 appId */
  11856. appId: string
  11857. }
  11858. interface SystemSetting {
  11859. /** 蓝牙的系统开关 */
  11860. bluetoothEnabled: boolean
  11861. /** 设备方向(注意:IOS客户端横屏游戏获取deviceOrientation可能不准,建议以屏幕宽高为准)
  11862. *
  11863. * 可选值:
  11864. * - 'portrait': 竖屏;
  11865. * - 'landscape': 横屏; */
  11866. deviceOrientation: 'portrait' | 'landscape'
  11867. /** 地理位置的系统开关 */
  11868. locationEnabled: boolean
  11869. /** Wi-Fi 的系统开关 */
  11870. wifiEnabled: boolean
  11871. }
  11872. /** 需要基础库: `3.4.0`
  11873. *
  11874. * 异常信息 */
  11875. interface TCPExceptionReason {
  11876. /** 错误原因 */
  11877. errMsg: string
  11878. /** 错误码 */
  11879. errno: string
  11880. }
  11881. interface TCPSocketConnectOption {
  11882. /** 套接字要连接的地址 */
  11883. address: string
  11884. /** 套接字要连接的端口 */
  11885. port: number
  11886. /** 需要基础库: `3.4.0`
  11887. *
  11888. * 是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */
  11889. enableHttpDNS?: boolean
  11890. /** 需要基础库: `3.4.0`
  11891. *
  11892. * HttpDNS 服务商 Id。 HttpDNS 用法详见 [移动解析HttpDNS](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/HTTPDNS.html) */
  11893. httpDNSServiceId?: string
  11894. /** 套接字要连接的超时时间,默认为 2s */
  11895. timeout?: number
  11896. }
  11897. interface TCPSocketOnMessageListenerResult {
  11898. /** 接收端地址信息 */
  11899. localInfo: OnMessageListenerResultLocalInfo
  11900. /** 收到的消息 */
  11901. message: ArrayBuffer
  11902. /** 发送端地址信息 */
  11903. remoteInfo: TCPSocketOnMessageListenerResultRemoteInfo
  11904. }
  11905. /** 发送端地址信息 */
  11906. interface TCPSocketOnMessageListenerResultRemoteInfo {
  11907. /** 发送消息的 socket 的地址 */
  11908. address: string
  11909. /** 使用的协议族,为 IPv4 或者 IPv6 */
  11910. family: string
  11911. /** 端口号 */
  11912. port: number
  11913. }
  11914. interface TakePhotoOption {
  11915. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11916. complete?: TakePhotoCompleteCallback
  11917. /** 接口调用失败的回调函数 */
  11918. fail?: TakePhotoFailCallback
  11919. /** 成像质量
  11920. *
  11921. * 可选值:
  11922. * - 'high': 高质量;
  11923. * - 'normal': 普通质量;
  11924. * - 'low': 低质量;
  11925. * - 'original': 原图; */
  11926. quality?: 'high' | 'normal' | 'low' | 'original'
  11927. /** 需要基础库: `2.22.0`
  11928. *
  11929. * 是否开启镜像 */
  11930. selfieMirror?: boolean
  11931. /** 接口调用成功的回调函数 */
  11932. success?: TakePhotoSuccessCallback
  11933. }
  11934. interface TakePhotoSuccessCallbackResult {
  11935. /** 照片文件的临时路径 (本地路径),安卓是jpg图片格式,ios是png */
  11936. tempImagePath: string
  11937. errMsg: string
  11938. }
  11939. interface TakeSnapshotOption {
  11940. /** 截图文件格式,'rgba' 或 'png',默认值为 'png' */
  11941. format: string
  11942. /** 截图导出类型,'file' 保存到临时文件目录或 'arraybuffer' 返回图片二进制数据,默认值为 'file' */
  11943. type: string
  11944. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  11945. complete?: TakeSnapshotCompleteCallback
  11946. /** 接口调用失败的回调函数 */
  11947. fail?: TakeSnapshotFailCallback
  11948. /** 接口调用成功的回调函数 */
  11949. success?: TakeSnapshotSuccessCallback
  11950. }
  11951. interface TakeSnapshotSuccessCallbackResult {
  11952. /** 截图对应的二进制数据,当 type 为 arraybuffer 该字段生效 */
  11953. data: ArrayBuffer
  11954. /** 截图保存的临时文件路径,当 type 为 file 该字段生效 */
  11955. tempFilePath: string
  11956. errMsg: string
  11957. }
  11958. /** 标签类型枚举 */
  11959. interface TechType {
  11960. /** 对应IsoDep实例,实例支持ISO-DEP (ISO 14443-4)标准的读写 */
  11961. isoDep: string
  11962. /** 对应MifareClassic实例,实例支持MIFARE Classic标签的读写 */
  11963. mifareClassic: string
  11964. /** 对应MifareUltralight实例,实例支持MIFARE Ultralight标签的读写 */
  11965. mifareUltralight: string
  11966. /** 对应Ndef实例,实例支持对NDEF格式的NFC标签上的NDEF数据的读写 */
  11967. ndef: string
  11968. /** 对应NfcA实例,实例支持NFC-A (ISO 14443-3A)标准的读写 */
  11969. nfcA: string
  11970. /** 对应NfcB实例,实例支持NFC-B (ISO 14443-3B)标准的读写 */
  11971. nfcB: string
  11972. /** 对应NfcF实例,实例支持NFC-F (JIS 6319-4)标准的读写 */
  11973. nfcF: string
  11974. /** 对应NfcV实例,实例支持NFC-V (ISO 15693)标准的读写 */
  11975. nfcV: string
  11976. }
  11977. /** 需要基础库: `2.30.0`
  11978. *
  11979. * 在插件中使用:需要基础库 `2.30.0`
  11980. *
  11981. * Tensor
  11982. *
  11983. * ****
  11984. *
  11985. * ```js
  11986. session.run({
  11987. input1: {
  11988. type: 'float32',
  11989. data: new Float32Array(3 * 224 * 224).buffer,
  11990. shape: [1, 3, 224, 224] // NCHW 顺序
  11991. },
  11992. input2: {
  11993. type: 'uint8',
  11994. data: new Uint8Array(224 * 224).buffer,
  11995. shape: [1, 1, 224, 224]
  11996. },
  11997. }).then(res => {
  11998. console.log(res.output0)
  11999. // output0 结构如下:
  12000. // {
  12001. // type: 'uint8',
  12002. // data: new Uint8Array(224 * 224).buffer,
  12003. // shape: [1, 1, 224, 224]
  12004. // }
  12005. })
  12006. ``` */
  12007. interface Tensor {
  12008. /** Tensor 值,一段 ArrayBuffer */
  12009. data: ArrayBuffer
  12010. /** Tensor shape (Tensor 形状,例如 `[1, 3, 224, 224]` 即表示一个4唯Tensor,每个维度的长度分别为1, 3, 224, 224) */
  12011. shape: number[]
  12012. /** ArrayBuffer 值的类型,合法值有 `uint8`, `int8`, `uint32`, `int32`, `float32` */
  12013. type: string
  12014. }
  12015. /** 需要基础库: `2.30.0`
  12016. *
  12017. * 在插件中使用:需要基础库 `2.30.0`
  12018. *
  12019. * Tensors 是 key-value 形式的对象,对象的 key 会作为 input/output name,对象的 value 则是 Tensor。 Tensor 结构如下。
  12020. *
  12021. * ****
  12022. *
  12023. * ```js
  12024. session.run({
  12025. input1: {
  12026. type: 'float32',
  12027. data: new Float32Array(3 * 224 * 224).buffer,
  12028. shape: [1, 3, 224, 224] // NCHW 顺序
  12029. },
  12030. input2: {
  12031. type: 'uint8',
  12032. data: new Uint8Array(224 * 224).buffer,
  12033. shape: [1, 1, 224, 224]
  12034. },
  12035. }).then(res => {
  12036. console.log(res.output0)
  12037. // output0 结构如下:
  12038. // {
  12039. // type: 'uint8',
  12040. // data: new Uint8Array(224 * 224).buffer,
  12041. // shape: [1, 1, 224, 224]
  12042. // }
  12043. })
  12044. ``` */
  12045. interface Tensors {
  12046. /** [Tensor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/Tensor.html)
  12047. *
  12048. * Tensor,每个 Tensor 包含 shape、data、type 字段。 */
  12049. key: Tensor
  12050. }
  12051. interface TextMetrics {
  12052. /** 文本的宽度 */
  12053. width: number
  12054. }
  12055. /** 动画配置 */
  12056. interface TimingOption {
  12057. /** 动画时长 */
  12058. duration?: number
  12059. /** 动画曲线,参考 [Easing](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/animation/worklet.Easing.html) 模块。 */
  12060. easing?: (...args: any[]) => any
  12061. }
  12062. interface ToScreenLocationOption {
  12063. /** 纬度 */
  12064. latitude: number
  12065. /** 经度 */
  12066. longitude: number
  12067. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12068. complete?: ToScreenLocationCompleteCallback
  12069. /** 接口调用失败的回调函数 */
  12070. fail?: ToScreenLocationFailCallback
  12071. /** 接口调用成功的回调函数 */
  12072. success?: ToScreenLocationSuccessCallback
  12073. }
  12074. interface ToScreenLocationSuccessCallbackResult {
  12075. /** x 坐标值 */
  12076. x: number
  12077. /** y 坐标值 */
  12078. y: number
  12079. errMsg: string
  12080. }
  12081. interface ToggleTorchOption {
  12082. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12083. complete?: ToggleTorchCompleteCallback
  12084. /** 接口调用失败的回调函数 */
  12085. fail?: ToggleTorchFailCallback
  12086. /** 接口调用成功的回调函数 */
  12087. success?: ToggleTorchSuccessCallback
  12088. }
  12089. /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */
  12090. interface Track {
  12091. /** 平面跟踪配置 */
  12092. plane: PlaneTrack
  12093. /** 需要基础库: `3.3.0`
  12094. *
  12095. * 身份证检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/idcard.html)。 */
  12096. IDCard?: IDCardTrack
  12097. /** 需要基础库: `2.27.0`
  12098. *
  12099. * OCR检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/ocr.html)。 */
  12100. OCR?: OCRTrack
  12101. /** 需要基础库: `2.24.5`
  12102. *
  12103. * OSD 跟踪配置 */
  12104. OSD?: boolean
  12105. /** 需要基础库: `2.28.0`
  12106. *
  12107. * 人体检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/body.html)。 */
  12108. body?: BodyTrack
  12109. /** 需要基础库: `3.0.0`
  12110. *
  12111. * 深度识别配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/depth.html)。 */
  12112. depth?: DepthTrack
  12113. /** 需要基础库: `2.25.0`
  12114. *
  12115. * 人脸检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html)。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。 */
  12116. face?: FaceTrack
  12117. /** 需要基础库: `2.28.0`
  12118. *
  12119. * 手势检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/hand.html)。 */
  12120. hand?: HandTrack
  12121. /** 需要基础库: `2.24.5`
  12122. *
  12123. * marker 跟踪配置,基础库(3.0.0)开始允许同时支持v2的水平面检测能力 */
  12124. marker?: boolean
  12125. /** 需要基础库: `3.2.1`
  12126. *
  12127. * 鞋部检测配置。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/shoe.html)。 */
  12128. shoe?: ShoeTrack
  12129. /** 需要基础库: `2.28.0`
  12130. *
  12131. * 提供基础AR功能,输出相机旋转的3个自由度的位姿,利用手机陀螺仪传感器,实现快速稳定的AR定位能力,适用于简单AR场景。 */
  12132. threeDof?: boolean
  12133. }
  12134. interface TransceiveOption {
  12135. /** 需要传递的二进制数据 */
  12136. data: ArrayBuffer
  12137. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12138. complete?: TransceiveCompleteCallback
  12139. /** 接口调用失败的回调函数 */
  12140. fail?: TransceiveFailCallback
  12141. /** 接口调用成功的回调函数 */
  12142. success?: TransceiveSuccessCallback
  12143. }
  12144. interface TransceiveSuccessCallbackResult {
  12145. data: ArrayBuffer
  12146. errMsg: string
  12147. }
  12148. interface TranslateMarkerOption {
  12149. /** 移动过程中是否自动旋转 marker */
  12150. autoRotate: boolean
  12151. /** 指定 marker 移动到的目标点 */
  12152. destination: DestinationOption
  12153. /** 指定 marker */
  12154. markerId: number
  12155. /** marker 的旋转角度 */
  12156. rotate: number
  12157. /** 动画结束回调函数 */
  12158. animationEnd?: (...args: any[]) => any
  12159. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12160. complete?: TranslateMarkerCompleteCallback
  12161. /** 动画持续时长,平移与旋转分别计算 */
  12162. duration?: number
  12163. /** 接口调用失败的回调函数 */
  12164. fail?: TranslateMarkerFailCallback
  12165. /** 需要基础库: `2.13.0`
  12166. *
  12167. * 平移和旋转同时进行 */
  12168. moveWithRotate?: boolean
  12169. /** 接口调用成功的回调函数 */
  12170. success?: TranslateMarkerSuccessCallback
  12171. }
  12172. interface TriggerRefreshOption {
  12173. /** 动画时长 */
  12174. duration?: number
  12175. /** [动画曲线](#) */
  12176. easingFunction?: string
  12177. }
  12178. interface TruncateOption {
  12179. /** 要截断的文件路径 (本地路径) */
  12180. filePath: string
  12181. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12182. complete?: TruncateCompleteCallback
  12183. /** 接口调用失败的回调函数 */
  12184. fail?: TruncateFailCallback
  12185. /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */
  12186. length?: number
  12187. /** 接口调用成功的回调函数 */
  12188. success?: TruncateSuccessCallback
  12189. }
  12190. interface TruncateSyncOption {
  12191. /** 要截断的文件路径 (本地路径) */
  12192. filePath: string
  12193. /** 截断位置,默认0。如果 length 小于文件长度(字节),则只有前面 length 个字节会保留在文件中,其余内容会被删除;如果 length 大于文件长度,则会对其进行扩展,并且扩展部分将填充空字节('\0') */
  12194. length?: number
  12195. }
  12196. interface UDPSocketConnectOption {
  12197. /** 要发消息的地址 */
  12198. address: string
  12199. /** 要发送消息的端口号 */
  12200. port: number
  12201. }
  12202. interface UDPSocketOnMessageListenerResult {
  12203. /** 接收端地址信息,2.18.0 起支持 */
  12204. localInfo: OnMessageListenerResultLocalInfo
  12205. /** 收到的消息。消息长度需要小于4096。 */
  12206. message: ArrayBuffer
  12207. /** 发送端地址信息 */
  12208. remoteInfo: UDPSocketOnMessageListenerResultRemoteInfo
  12209. }
  12210. /** 发送端地址信息 */
  12211. interface UDPSocketOnMessageListenerResultRemoteInfo {
  12212. /** 发送消息的 socket 的地址 */
  12213. address: string
  12214. /** 使用的协议族,为 IPv4 或者 IPv6 */
  12215. family: string
  12216. /** 端口号 */
  12217. port: number
  12218. /** message 的大小,单位:字节 */
  12219. size: number
  12220. }
  12221. interface UDPSocketSendOption {
  12222. /** 要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名 */
  12223. address: string
  12224. /** 要发送的数据 */
  12225. message: string | ArrayBuffer
  12226. /** 要发送消息的端口号 */
  12227. port: number
  12228. /** 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效 */
  12229. length?: number
  12230. /** 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效 */
  12231. offset?: number
  12232. /** 向指定地址发消息时,是否要开启广播,基础库 2.24.0 开始支持 */
  12233. setBroadcast?: boolean
  12234. }
  12235. interface UndoOption {
  12236. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12237. complete?: UndoCompleteCallback
  12238. /** 接口调用失败的回调函数 */
  12239. fail?: UndoFailCallback
  12240. /** 接口调用成功的回调函数 */
  12241. success?: UndoSuccessCallback
  12242. }
  12243. interface UnlinkOption {
  12244. /** 要删除的文件路径 (本地路径) */
  12245. filePath: string
  12246. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12247. complete?: UnlinkCompleteCallback
  12248. /** 接口调用失败的回调函数 */
  12249. fail?: UnlinkFailCallback
  12250. /** 接口调用成功的回调函数 */
  12251. success?: UnlinkSuccessCallback
  12252. }
  12253. interface UnzipOption {
  12254. /** 目标目录路径, 支持本地路径 */
  12255. targetPath: string
  12256. /** 源文件路径,支持本地路径, 只可以是 zip 压缩文件 */
  12257. zipFilePath: string
  12258. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12259. complete?: UnzipCompleteCallback
  12260. /** 接口调用失败的回调函数 */
  12261. fail?: UnzipFailCallback
  12262. /** 接口调用成功的回调函数 */
  12263. success?: UnzipSuccessCallback
  12264. }
  12265. /** 参数列表 */
  12266. interface UpdatableMessageFrontEndParameter {
  12267. /** 参数名 */
  12268. name: string
  12269. /** 参数值 */
  12270. value: string
  12271. }
  12272. /** 需要基础库: `2.4.0`
  12273. *
  12274. * 动态消息的模板信息 */
  12275. interface UpdatableMessageFrontEndTemplateInfo {
  12276. /** 参数列表 */
  12277. parameterList: UpdatableMessageFrontEndParameter[]
  12278. /** 模板ID */
  12279. templateId: string
  12280. }
  12281. interface Update3DModeOption {
  12282. /** 是否开启三维识别 */
  12283. open3d: boolean
  12284. }
  12285. interface UpdateGroundOverlayOption {
  12286. /** 图片覆盖的经纬度范围 */
  12287. bounds: MapBounds
  12288. /** 图片图层 id */
  12289. id: string
  12290. /** 图片路径,支持网络图片、临时路径、代码包路径 */
  12291. src: string
  12292. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12293. complete?: UpdateGroundOverlayCompleteCallback
  12294. /** 接口调用失败的回调函数 */
  12295. fail?: UpdateGroundOverlayFailCallback
  12296. /** 图层透明度 */
  12297. opacity?: number
  12298. /** 接口调用成功的回调函数 */
  12299. success?: UpdateGroundOverlaySuccessCallback
  12300. /** 是否可见 */
  12301. visible?: boolean
  12302. /** 图层绘制顺序 */
  12303. zIndex?: number
  12304. }
  12305. interface UpdateMaskModeOption {
  12306. /** 设置是否开启试鞋,返回腿部遮挡纹理 */
  12307. useMask: boolean
  12308. }
  12309. interface UpdateShareMenuOption {
  12310. /** 需要基础库: `2.4.0`
  12311. *
  12312. * 动态消息的 activityId。通过 [updatableMessage.createActivityId](#) 接口获取 */
  12313. activityId?: string
  12314. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12315. complete?: UpdateShareMenuCompleteCallback
  12316. /** 接口调用失败的回调函数 */
  12317. fail?: UpdateShareMenuFailCallback
  12318. /** 需要基础库: `2.13.0`
  12319. *
  12320. * 是否是私密消息。详见 [小程序私密消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html) */
  12321. isPrivateMessage?: boolean
  12322. /** 需要基础库: `2.4.0`
  12323. *
  12324. * 是否是动态消息,详见[动态消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/updatable-message.html) */
  12325. isUpdatableMessage?: boolean
  12326. /** 接口调用成功的回调函数 */
  12327. success?: UpdateShareMenuSuccessCallback
  12328. /** 需要基础库: `2.4.0`
  12329. *
  12330. * 动态消息的模板信息 */
  12331. templateInfo?: UpdatableMessageFrontEndTemplateInfo
  12332. /** 需要基础库: `2.11.0`
  12333. *
  12334. * 群待办消息的id,通过toDoActivityId可以把多个群待办消息聚合为同一个。通过 [updatableMessage.createActivityId](#) 接口获取。详见[群待办消息](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
  12335. toDoActivityId?: string
  12336. /** 是否使用带 shareTicket 的转发[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html) */
  12337. withShareTicket?: boolean
  12338. }
  12339. interface UpdateVoIPChatMuteConfigOption {
  12340. /** 静音设置 */
  12341. muteConfig: MuteConfig
  12342. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12343. complete?: UpdateVoIPChatMuteConfigCompleteCallback
  12344. /** 接口调用失败的回调函数 */
  12345. fail?: UpdateVoIPChatMuteConfigFailCallback
  12346. /** 接口调用成功的回调函数 */
  12347. success?: UpdateVoIPChatMuteConfigSuccessCallback
  12348. }
  12349. interface UpdateWeChatAppOption {
  12350. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12351. complete?: UpdateWeChatAppCompleteCallback
  12352. /** 接口调用失败的回调函数 */
  12353. fail?: UpdateWeChatAppFailCallback
  12354. /** 接口调用成功的回调函数 */
  12355. success?: UpdateWeChatAppSuccessCallback
  12356. }
  12357. interface UploadFileOption {
  12358. /** 要上传文件资源的路径 (本地路径) */
  12359. filePath: string
  12360. /** 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 */
  12361. name: string
  12362. /** 开发者服务器地址 */
  12363. url: string
  12364. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  12365. complete?: UploadFileCompleteCallback
  12366. /** 需要基础库: `2.10.4`
  12367. *
  12368. * 是否开启 http2 */
  12369. enableHttp2?: boolean
  12370. /** 是否开启 profile,默认开启。开启后可在接口回调的 res.profile 中查看性能调试信息。目前仅 iOS 端支持。 */
  12371. enableProfile?: boolean
  12372. /** 接口调用失败的回调函数 */
  12373. fail?: UploadFileFailCallback
  12374. /** HTTP 请求中其他额外的 form data */
  12375. formData?: IAnyObject
  12376. /** HTTP 请求 Header,Header 中不能设置 Referer */
  12377. header?: IAnyObject
  12378. /** 接口调用成功的回调函数 */
  12379. success?: UploadFileSuccessCallback
  12380. /** 需要基础库: `2.10.0`
  12381. *
  12382. * 超时时间,单位为毫秒 */
  12383. timeout?: number
  12384. /** 需要基础库: `3.4.1`
  12385. *
  12386. * 使用高性能模式,暂仅支持 Android,默认关闭。该模式下有更优的网络性能表现。 */
  12387. useHighPerformanceMode?: boolean
  12388. }
  12389. interface UploadFileSuccessCallbackResult {
  12390. /** 开发者服务器返回的数据 */
  12391. data: string
  12392. /** 开发者服务器返回的 HTTP 状态码 */
  12393. statusCode: number
  12394. errMsg: string
  12395. }
  12396. interface UploadTaskOnProgressUpdateListenerResult {
  12397. /** 上传进度百分比 */
  12398. progress: number
  12399. /** 预期需要上传的数据总长度,单位 Bytes */
  12400. totalBytesExpectedToSend: number
  12401. /** 已经上传的数据长度,单位 Bytes */
  12402. totalBytesSent: number
  12403. }
  12404. /** @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)**
  12405. *
  12406. * 用户信息 */
  12407. interface UserInfo {
  12408. /** 用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640x640 的正方形头像,46 表示 46x46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。 */
  12409. avatarUrl: string
  12410. /** 用户所在城市。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */
  12411. city: string
  12412. /** 用户所在国家。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */
  12413. country: string
  12414. /** 用户性别。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801)
  12415. *
  12416. * 可选值:
  12417. * - 0: 未知;
  12418. * - 1: 男性;
  12419. * - 2: 女性; */
  12420. gender: 0 | 1 | 2
  12421. /** 显示 country,province,city 所用的语言。强制返回 “zh_CN”,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801)
  12422. *
  12423. * 可选值:
  12424. * - 'en': 英文;
  12425. * - 'zh_CN': 简体中文;
  12426. * - 'zh_TW': 繁体中文; */
  12427. language: 'en' | 'zh_CN' | 'zh_TW'
  12428. /** 用户昵称 */
  12429. nickName: string
  12430. /** 用户所在省份。不再返回,参考 [相关公告](https://developers.weixin.qq.com/community/develop/doc/00028edbe3c58081e7cc834705b801) */
  12431. province: string
  12432. }
  12433. /** 需要基础库: `2.28.0`
  12434. *
  12435. * 人体 anchor
  12436. *
  12437. * **示例代码**
  12438. *
  12439. * [静态图像body检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-body-detect)
  12440. *
  12441. * [实时摄像头body检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/body-detect) */
  12442. interface VKBodyAnchor {
  12443. /** 关键点的置信度 */
  12444. confidence: number[]
  12445. /** 识别序号 */
  12446. detectId: number
  12447. /** 唯一标识 */
  12448. id: number
  12449. /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12450. origin: VKOrigin
  12451. /** 关键点 */
  12452. points: VKOrigin[]
  12453. /** 总体置信值 */
  12454. score: number
  12455. /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12456. size: VKSize
  12457. /** 类型
  12458. *
  12459. * 可选值:
  12460. * - 5: 人体; */
  12461. type: 5
  12462. }
  12463. /** 需要基础库: `2.20.0`
  12464. *
  12465. * 相机对象 */
  12466. interface VKCamera {
  12467. /** 需要基础库: `2.22.0`
  12468. *
  12469. * 相机内参,只有 v2 版本支持 */
  12470. intrinsics: Float32Array
  12471. /** 相机原始的Pose矩阵 */
  12472. transform: Float32Array
  12473. /** 视图矩阵 */
  12474. viewMatrix: Float32Array
  12475. /** [Float32Array VKCamera.getProjectionMatrix(number near, number far)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.getProjectionMatrix.html)
  12476. *
  12477. * 需要基础库: `2.20.0`
  12478. *
  12479. * 在插件中使用:需要基础库 `2.20.0`
  12480. *
  12481. * 获取投影矩阵 */
  12482. getProjectionMatrix(
  12483. /** 近视点 */
  12484. near: number,
  12485. /** 远视点 */
  12486. far: number
  12487. ): Float32Array
  12488. }
  12489. interface VKConfig {
  12490. /** 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 */
  12491. track: Track
  12492. /** 需要基础库: `2.23.0`
  12493. *
  12494. * 绑定的 WebGLRenderingContext 对象 */
  12495. gl?: WebGLRenderingContext
  12496. /** 需要基础库: `2.22.0`
  12497. *
  12498. * vision kit 版本。
  12499. *
  12500. * 可选值:
  12501. * - 'v1': v1适用于用户在平面场景下,例如桌面,地面,泛平面场景,放置虚拟物体,不提供真实世界距离。用户放置物体时,手机相机倾斜向下对着目标平面点击即可,具有广泛的机型支持;
  12502. * - '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不支持竖直平面。**使用v2算法需要初始化,移动手机进行左右平移初始化效果最佳。**; */
  12503. version?: 'v1' | 'v2'
  12504. }
  12505. /** 需要基础库: `2.33.0`
  12506. *
  12507. * depth anchor
  12508. *
  12509. * **示例代码**
  12510. *
  12511. * [深度估计能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/depth-detect) */
  12512. interface VKDepthAnchor {
  12513. /** 包含深度信息的数组 */
  12514. depthArray: number[]
  12515. /** 唯一标识 */
  12516. id: number
  12517. /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12518. size: VKSize
  12519. /** 类型
  12520. *
  12521. * 可选值:
  12522. * - 8: DEPTH; */
  12523. type: 8
  12524. }
  12525. /** 需要基础库: `2.25.0`
  12526. *
  12527. * 人脸 anchor
  12528. *
  12529. * **示例代码**
  12530. *
  12531. * [静态图像人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-face-detect)
  12532. *
  12533. * [实时摄像头人脸检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect) */
  12534. interface VKFaceAnchor {
  12535. /** 人脸角度信息 */
  12536. angle: number[]
  12537. /** 关键点的置信度 */
  12538. confidence: number[]
  12539. /** 识别序号 */
  12540. detectId: number
  12541. /** 唯一标识 */
  12542. id: number
  12543. /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12544. origin: VKOrigin
  12545. /** 人脸 106 个关键点的坐标 */
  12546. points: VKPoint[]
  12547. /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12548. size: VKSize
  12549. /** 类型
  12550. *
  12551. * 可选值:
  12552. * - 3: 人脸; */
  12553. type: 3
  12554. }
  12555. /** 需要基础库: `2.20.0`
  12556. *
  12557. * vision kit 会话对象。 */
  12558. interface VKFrame {
  12559. /** [VKCamera](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKCamera.html)
  12560. *
  12561. * 相机对象 */
  12562. camera: VKCamera
  12563. /** 生成时间,单位:纳秒(ns) */
  12564. timestamp: number
  12565. /** [ArrayBuffer VKFrame.getCameraBuffer(number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraBuffer.html)
  12566. *
  12567. * 需要基础库: `2.24.0`
  12568. *
  12569. * 在插件中使用:不支持
  12570. *
  12571. * 获取当前帧 rgba buffer。iOS 端微信在 v8.0.20 开始支持,安卓端微信在 v8.0.30 开始支持。按 aspect-fill 规则裁剪,此接口要求在创建 VKSession 对象时必须传入 gl 参数。此接口仅建议拿来做帧分析使用,上屏请使用 getCameraTexture 来代替。 */
  12572. getCameraBuffer(
  12573. /** 宽度,受系统限制,必须是 16 的整数倍 */
  12574. width: number,
  12575. /** 高度 */
  12576. height: number
  12577. ): ArrayBuffer
  12578. /** [ArrayBuffer VKFrame.getCameraJpgBuffer(number width, number height, number quality)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraJpgBuffer.html)
  12579. *
  12580. * 需要基础库: `3.0.0`
  12581. *
  12582. * 在插件中使用:不支持
  12583. *
  12584. * 获取当前帧的 jpg 信息Buffer。安卓微信 8.0.49 开始支持,iOS微信 8.0.49 开始支持。 */
  12585. getCameraJpgBuffer(
  12586. /** 宽度 */
  12587. width: number,
  12588. /** 高度 */
  12589. height: number,
  12590. /** 获取纹理质量,(0 - 100) */
  12591. quality: number
  12592. ): ArrayBuffer
  12593. /** [Float32Array VKFrame.getDisplayTransform()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.html)
  12594. *
  12595. * 需要基础库: `2.20.0`
  12596. *
  12597. * 在插件中使用:需要基础库 `2.20.0`
  12598. *
  12599. * 获取纹理调整矩阵。默认获取到的纹理是未经裁剪调整的纹理,此矩阵可用于在着色器中根据帧对象尺寸对纹理进行裁剪。 */
  12600. getDisplayTransform(): Float32Array
  12601. /** [Object VKFrame.getCameraTexture(WebGLRenderingContext gl)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getCameraTexture.html)
  12602. *
  12603. * 需要基础库: `2.20.0`
  12604. *
  12605. * 在插件中使用:需要基础库 `2.20.0`
  12606. *
  12607. * 获取当前帧纹理,目前只支持 YUV 纹理。 */
  12608. getCameraTexture(
  12609. /** 画布 */
  12610. gl: WebGLRenderingContext
  12611. ): YUVTextureRes
  12612. /** [Object VKFrame.getDepthBuffer()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getDepthBuffer.html)
  12613. *
  12614. * 需要基础库: `3.0.0`
  12615. *
  12616. * 在插件中使用:不支持
  12617. *
  12618. * 获取每帧的深度图信息Buffer。安卓微信 8.0.38 开始支持,iOS微信 8.0.39 开始支持。 */
  12619. getDepthBuffer(): DepthBufferRes
  12620. /** [Object VKFrame.getLegSegmentBuffer()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKFrame.getLegSegmentBuffer.html)
  12621. *
  12622. * 需要基础库: `3.2.1`
  12623. *
  12624. * 在插件中使用:不支持
  12625. *
  12626. * 获取每帧的腿部分割信息Buffer,安卓微信 8.0.43,iOS微信 8.0.43 开始支持。 */
  12627. getLegSegmentBuffer(): LegSegmentBufferRes
  12628. }
  12629. /** 需要基础库: `2.28.0`
  12630. *
  12631. * 手势 anchor
  12632. *
  12633. * **示例代码**
  12634. *
  12635. * [静态图像hand检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-hand-detect)
  12636. *
  12637. * [实时摄像头hand检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/hand-detect) */
  12638. interface VKHandAnchor {
  12639. /** 关键点的置信度 */
  12640. confidence: number[]
  12641. /** 识别序号 */
  12642. detectId: number
  12643. /** 手势分类, 返回整数-1到18, -1表示无效手势
  12644. *
  12645. * 可选值:
  12646. * - 0: 单手比心;
  12647. * - 1: 布(数字5);
  12648. * - 2: 剪刀(数字2);
  12649. * - 3: 握拳;
  12650. * - 4: 数字1;
  12651. * - 5: 热爱;
  12652. * - 6: 点赞;
  12653. * - 7: 数字3;
  12654. * - 8: 摇滚;
  12655. * - 9: 数字6;
  12656. * - 10: 数字8;
  12657. * - 11: 双手抱拳(恭喜发财);
  12658. * - 12: 数字4;
  12659. * - 13: 比ok;
  12660. * - 14: 不喜欢(踩);
  12661. * - 15: 双手比心;
  12662. * - 16: 祈祷(双手合十);
  12663. * - 17: 双手抱拳;
  12664. * - 18: 无手势动作;
  12665. * - -1: 无效手势; */
  12666. gesture:
  12667. | 0
  12668. | 1
  12669. | 2
  12670. | 3
  12671. | 4
  12672. | 5
  12673. | 6
  12674. | 7
  12675. | 8
  12676. | 9
  12677. | 10
  12678. | 11
  12679. | 12
  12680. | 13
  12681. | 14
  12682. | 15
  12683. | 16
  12684. | 17
  12685. | 18
  12686. | -1
  12687. /** 唯一标识 */
  12688. id: number
  12689. /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12690. origin: VKOrigin
  12691. /** 关键点 */
  12692. points: VKOrigin[]
  12693. /** 总体置信值 */
  12694. score: number
  12695. /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12696. size: VKSize
  12697. /** 类型
  12698. *
  12699. * 可选值:
  12700. * - 7: 手势; */
  12701. type: 7
  12702. }
  12703. interface VKMarker {
  12704. /** marker id */
  12705. markerId: number
  12706. /** 图片路径 */
  12707. path: string
  12708. }
  12709. /** 需要基础库: `2.24.5`
  12710. *
  12711. * marker anchor
  12712. *
  12713. * **示例代码**
  12714. *
  12715. * [2D Marker能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/2dmarker-ar) */
  12716. interface VKMarkerAnchor {
  12717. /** 唯一标识 */
  12718. id: number
  12719. /** marker id */
  12720. markerId: number
  12721. /** 图片路径 */
  12722. path: string
  12723. /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */
  12724. transform: Float32Array
  12725. /** 类型
  12726. *
  12727. * 可选值:
  12728. * - 1: marker; */
  12729. type: 1
  12730. }
  12731. /** 需要基础库: `2.27.0`
  12732. *
  12733. * OCR anchor
  12734. *
  12735. * **示例代码**
  12736. *
  12737. * [静态图像OCR检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/photo-ocr-detect)
  12738. *
  12739. * [实时摄像头OCR检测能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/ocr-detect) */
  12740. interface VKOCRAnchor {
  12741. /** 唯一标识 */
  12742. id: number
  12743. /** 识别的文字结果 */
  12744. text: string
  12745. /** 类型
  12746. *
  12747. * 可选值:
  12748. * - 6: OCR; */
  12749. type: 6
  12750. }
  12751. /** 需要基础库: `2.24.5`
  12752. *
  12753. * OSD anchor
  12754. *
  12755. * **示例代码**
  12756. *
  12757. * [单样本检测(OSD)能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/osd-ar) */
  12758. interface VKOSDAnchor {
  12759. /** 唯一标识 */
  12760. id: number
  12761. /** marker id */
  12762. markerId: number
  12763. /** 相对视窗的位置信息,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12764. origin: VKOrigin
  12765. /** 图片路径 */
  12766. path: string
  12767. /** 相对视窗的尺寸,取值范围为 [0, 1],0 为左/上边缘,1 为右/下边缘 */
  12768. size: VKSize
  12769. /** 类型
  12770. *
  12771. * 可选值:
  12772. * - 2: OSD; */
  12773. type: 2
  12774. }
  12775. interface VKOrigin {
  12776. /** 横坐标 */
  12777. x: number
  12778. /** 纵坐标 */
  12779. y: number
  12780. }
  12781. /** 需要基础库: `2.22.0`
  12782. *
  12783. * 平面 anchor,只有 v2 版本支持
  12784. *
  12785. * **示例代码**
  12786. *
  12787. * v1 版本:[水平面AR能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar)
  12788. * v2 版本:[水平面AR能力v2使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/plane-ar-v2) */
  12789. interface VKPlaneAnchor {
  12790. /** 方向 */
  12791. alignment: number
  12792. /** 唯一标识 */
  12793. id: number
  12794. /** 尺寸 */
  12795. size: VKSize
  12796. /** 包含位置、旋转、放缩信息的矩阵,以列为主序 */
  12797. transform: Float32Array
  12798. /** 类型
  12799. *
  12800. * 可选值:
  12801. * - 0: 平面; */
  12802. type: 0
  12803. }
  12804. /** 人脸 106 个关键点的坐标 */
  12805. interface VKPoint {
  12806. /** 横坐标 */
  12807. x: number
  12808. /** 纵坐标 */
  12809. y: number
  12810. }
  12811. /** 需要基础库: `2.20.0`
  12812. *
  12813. * vision kit 会话对象。 */
  12814. interface VKSession {
  12815. /** 相机尺寸 */
  12816. cameraSize: VKSize
  12817. /** 会话配置 */
  12818. config: VKConfig
  12819. /** 会话状态
  12820. *
  12821. * 可选值:
  12822. * - 0: 不可用;
  12823. * - 1: 运行中;
  12824. * - 2: 暂停中;
  12825. * - 3: 初始化中; */
  12826. state: 0 | 1 | 2 | 3
  12827. /** [Array.&lt;Object&gt; VKSession.getAllMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllMarker.html)
  12828. *
  12829. * 需要基础库: `2.24.5`
  12830. *
  12831. * 在插件中使用:需要基础库 `2.24.5`
  12832. *
  12833. * 获取所有 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */
  12834. getAllMarker(): VKMarker[]
  12835. /** [Array.&lt;Object&gt; VKSession.getAllOSDMarker()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.getAllOSDMarker.html)
  12836. *
  12837. * 需要基础库: `2.24.5`
  12838. *
  12839. * 在插件中使用:需要基础库 `2.24.5`
  12840. *
  12841. * 获取所有 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */
  12842. getAllOSDMarker(): VKMarker[]
  12843. /** [Array.&lt;Object&gt; VKSession.hitTest(number x, number y, Object reset)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.hitTest.html)
  12844. *
  12845. * 需要基础库: `2.20.0`
  12846. *
  12847. * 在插件中使用:需要基础库 `2.20.0`
  12848. *
  12849. * 触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。 */
  12850. hitTest(
  12851. /** 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 */
  12852. x: number,
  12853. /** 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 */
  12854. y: number,
  12855. /** 是否需要重新识别其他平面,v2 版本不再需要此参数 */
  12856. reset: IAnyObject
  12857. ): HitTestRes[]
  12858. /** [VKSession.cancelAnimationFrame(number requestID)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.cancelAnimationFrame.html)
  12859. *
  12860. * 需要基础库: `2.20.0`
  12861. *
  12862. * 在插件中使用:需要基础库 `2.20.0`
  12863. *
  12864. * 取消由 requestAnimationFrame 添加到计划中的动画帧请求。 */
  12865. cancelAnimationFrame(requestID: number): void
  12866. /** [VKSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.destroy.html)
  12867. *
  12868. * 需要基础库: `2.20.0`
  12869. *
  12870. * 在插件中使用:需要基础库 `2.20.0`
  12871. *
  12872. * 销毁会话。 */
  12873. destroy(): void
  12874. /** [VKSession.detectBody(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectBody.html)
  12875. *
  12876. * 需要基础库: `2.28.0`
  12877. *
  12878. * 在插件中使用:需要基础库 `2.28.0`
  12879. *
  12880. * 静态图像人体关键点检测。当 wx.createVKSession 参数传入 {track: {body: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/body.html)。 */
  12881. detectBody(option: DetectBodyOption): void
  12882. /** [VKSession.detectDepth(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectDepth.html)
  12883. *
  12884. * 需要基础库: `2.33.0`
  12885. *
  12886. * 在插件中使用:需要基础库 `2.33.0`
  12887. *
  12888. * 深度识别。当 wx.createVKSession 参数传入 {track: {depth: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/depth.html)。 */
  12889. detectDepth(option: DetectDepthOption): void
  12890. /** [VKSession.detectFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectFace.html)
  12891. *
  12892. * 需要基础库: `2.25.0`
  12893. *
  12894. * 在插件中使用:需要基础库 `2.25.0`
  12895. *
  12896. * 静态图像人脸关键点检测。当 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开始支持。
  12897. *
  12898. * ****
  12899. *
  12900. * ### 特别说明
  12901. * 若小程序人脸识别功能涉及采集、存储用户生物特征(如人脸照片或视频、身份证和手持身份证、身份证照和免冠照等),此类型服务需使用[微信原生人脸识别接口](https://developers.weixin.qq.com/community/develop/doc/000442d352c1202bd498ecb105c00d?highline=%E4%BA%BA%E8%84%B8%E6%A0%B8%E8%BA%AB)。 */
  12902. detectFace(option: DetectFaceOption): void
  12903. /** [VKSession.detectHand(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.detectHand.html)
  12904. *
  12905. * 需要基础库: `2.28.0`
  12906. *
  12907. * 在插件中使用:需要基础库 `2.28.0`
  12908. *
  12909. * 静态图像手势关键点检测。当 wx.createVKSession 参数传入 {track: {hand: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/hand.html)。 */
  12910. detectHand(option: DetectHandOption): void
  12911. /** [VKSession.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.off.html)
  12912. *
  12913. * 需要基础库: `2.20.0`
  12914. *
  12915. * 在插件中使用:需要基础库 `2.20.0`
  12916. *
  12917. * 取消监听会话事件。 */
  12918. off(
  12919. /** 事件名称 */
  12920. eventName: string,
  12921. /** 事件监听函数 */
  12922. fn: (...args: any[]) => any
  12923. ): void
  12924. /** [VKSession.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.on.html)
  12925. *
  12926. * 需要基础库: `2.20.0`
  12927. *
  12928. * 在插件中使用:需要基础库 `2.20.0`
  12929. *
  12930. * 监听会话事件。 */
  12931. on(
  12932. /** 事件名称
  12933. *
  12934. * 参数 eventName 可选值:
  12935. * - 'resize': 相机尺寸变化事件,回调参数为相机尺寸;
  12936. * - '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版本支持);
  12937. * - '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)/[VKOCRAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOCRAnchor.html)/[VKHandAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKHandAnchor.html)/[VKBodyAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKBodyAnchor.html)列表(v1、v2都支持);
  12938. * - '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)/[VKOCRAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKOCRAnchor.html)/[VKHandAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKHandAnchor.html)/[VKBodyAnchor](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKBodyAnchor.html) 列表(v1、v2都支持); */
  12939. eventName:
  12940. | 'resize'
  12941. | 'addAnchors'
  12942. | 'updateAnchors'
  12943. | 'removeAnchors',
  12944. /** 事件监听函数 */
  12945. fn: (...args: any[]) => any
  12946. ): void
  12947. /** [VKSession.removeMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeMarker.html)
  12948. *
  12949. * 需要基础库: `2.24.5`
  12950. *
  12951. * 在插件中使用:需要基础库 `2.24.5`
  12952. *
  12953. * 删除一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true */
  12954. removeMarker(
  12955. /** marker id */
  12956. markerId: number
  12957. ): void
  12958. /** [VKSession.removeOSDMarker(number markerId)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.removeOSDMarker.html)
  12959. *
  12960. * 需要基础库: `2.24.5`
  12961. *
  12962. * 在插件中使用:需要基础库 `2.24.5`
  12963. *
  12964. * 删除一个 OSD marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */
  12965. removeOSDMarker(
  12966. /** marker id */
  12967. markerId: number
  12968. ): void
  12969. /** [VKSession.runOCR(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.runOCR.html)
  12970. *
  12971. * 需要基础库: `2.27.0`
  12972. *
  12973. * 在插件中使用:需要基础库 `2.27.0`
  12974. *
  12975. * 静态图像OCR检测。当 wx.createVKSession 参数传入 {track: {OCR: {mode: 2} } } 时可用。用法详情[指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/ocr.html)。 */
  12976. runOCR(option: RunOCROption): void
  12977. /** [VKSession.setDepthOccRange(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.setDepthOccRange.html)
  12978. *
  12979. * 需要基础库: `3.0.0`
  12980. *
  12981. * 在插件中使用:需要基础库 `3.0.0`
  12982. *
  12983. * 更新 深度遮挡 Occ范围,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入 {track: {depth: {mode: 2} } } */
  12984. setDepthOccRange(
  12985. /** 阈值 */
  12986. threshold: number
  12987. ): void
  12988. /** [VKSession.start(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.start.html)
  12989. *
  12990. * 需要基础库: `2.20.0`
  12991. *
  12992. * 在插件中使用:需要基础库 `2.20.0`
  12993. *
  12994. * 开启会话。 */
  12995. start(
  12996. /** 开启会话回调 */
  12997. callback: VKSessionStartCallback
  12998. ): void
  12999. /** [VKSession.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.stop.html)
  13000. *
  13001. * 需要基础库: `2.20.0`
  13002. *
  13003. * 在插件中使用:需要基础库 `2.20.0`
  13004. *
  13005. * 停止会话。 */
  13006. stop(): void
  13007. /** [VKSession.update3DMode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.update3DMode.html)
  13008. *
  13009. * 需要基础库: `2.30.2`
  13010. *
  13011. * 在插件中使用:需要基础库 `2.30.2`
  13012. *
  13013. * 更新三维识别相关配置,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时使用 face / hand / body。 */
  13014. update3DMode(option: Update3DModeOption): void
  13015. /** [VKSession.updateMaskMode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateMaskMode.html)
  13016. *
  13017. * 需要基础库: `3.2.1`
  13018. *
  13019. * 在插件中使用:需要基础库 `3.2.1`
  13020. *
  13021. * 设置裁剪相关配置,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时使用 shoe。 */
  13022. updateMaskMode(option: UpdateMaskModeOption): void
  13023. /** [VKSession.updateOSDThreshold(number threshold)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.updateOSDThreshold.html)
  13024. *
  13025. * 需要基础库: `2.24.5`
  13026. *
  13027. * 在插件中使用:需要基础库 `2.24.5`
  13028. *
  13029. * 更新 OSD 识别精确度,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true */
  13030. updateOSDThreshold(
  13031. /** 阈值 */
  13032. threshold: number
  13033. ): void
  13034. /** [[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)
  13035. *
  13036. * 需要基础库: `2.20.0`
  13037. *
  13038. * 在插件中使用:需要基础库 `2.20.0`
  13039. *
  13040. * 获取帧对象,每调用一次都会触发一次帧分析过程。目前 VKSession 相机的最大帧数是 30 fps,因此调用 getVKFrame 的频率也可以限制在 30 fps,以减少渲染开销。 */
  13041. getVKFrame(
  13042. /** 宽度 */
  13043. width: number,
  13044. /** 高度 */
  13045. height: number
  13046. ): VKFrame
  13047. /** [number VKSession.addMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.html)
  13048. *
  13049. * 需要基础库: `2.24.5`
  13050. *
  13051. * 在插件中使用:需要基础库 `2.24.5`
  13052. *
  13053. * 添加一个 marker,要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.marker 为 true
  13054. *
  13055. * **使用提示**
  13056. *
  13057. * 注意事项:
  13058. * 1. 使用 addMarker 接口之前,需要在 createVKSession 的时候声明开启 marker 跟踪。即 wx.createVKSession({ track: { marker: true } })
  13059. * 2. 可以添加多个 marker 图片,但不能重复添加相同的 marker 图片。
  13060. * 3. 在v2模式下同时支持水平面检测与marker检测,同时可输出多个2d/3d marker位姿(需要基础库版本不低于 [2.33.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)
  13061. *
  13062. * ### 2Dmarker
  13063. * 对传入的图片有如下要求:
  13064. * 1. 格式:jpg/png 格式三通道彩图或者 1 通道灰度图
  13065. * 2. 分辨率:尺寸在 480x480 ~ 1920x1920 之间,建议为 1080 分辨率
  13066. * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片
  13067. * 4. 质量:目标图像为平面模型,需要占画面主体,避免大面积留白,建议用扫描件
  13068. *
  13069. * 示例:
  13070. *
  13071. * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrtaOpjb6Yc6mDhJKdUmrIpmtbWBMfAUAFavtKT6-tEZIh-8zT8tfBJBtvH048ge5Vw" alt="image.png" />
  13072. *
  13073. * 建议:
  13074. *
  13075. * 1. 图片具有丰富的细节
  13076. * 2. 避免重复单一的纹理,例如:
  13077. *
  13078. * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq3iLsNXMvLiM6Wb5ZHOrVVGR2u5ixbQlbiSSuNHzVcMQQY5V0dvnlyOGihUIbyTvA" alt="image.png" />
  13079. * <br>
  13080. * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dq-_lR2j4eOi23IOJ2LHFQY_PWufbx3s3uROgLi_flJMHQA8DNvlebs9UwumozPlXg" alt="image.png" />
  13081. * <br>
  13082. * <img width="500px" src="https://res.wx.qq.com/op_res/VfNcS-M6nPWWXq_CJ483Dr9IaSPF18UPnz4KrbAhGW9pIb8oWxzHgmClGIRZK59N4gUnJh69yoQW1TFGqce8ew" alt="image.png" />
  13083. * <br>
  13084. *
  13085. * 3. 避免使用柔和平滑边缘的纹理及大量渐变图像,例如:
  13086. *
  13087. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq6DPj88qSVwHFZiumbE0IMq9ibzbnhjewzUSa-n5_VgF_lF9g07FFHHYyrY14KTSfA" alt="image.png" />
  13088. *
  13089. * 4. 避免模糊,建议采用高清、高对比度图像作为识别对象
  13090. * 5. 建议图像有均匀的特征(角点)分布,正确示例:
  13091. *
  13092. * <img width="500px" src="https://res.wx.qq.com/op_res/sJPS5gttY4yQq-CmG9crrrBRWB_Cw2aFXAn1KY0YtfjnQ7WNt854gA8H2zfmZUztlFcJbdEHouBGs63hUO4Mxg" alt="image.png" />
  13093. *
  13094. * 避免角点较少、中间大量空白、没有特征及角点的图像,错误示例:
  13095. *
  13096. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqzjY2LY-ylRjFS7TVD-cZsEE8TTB-xzR2YiWKhWyWg1bgpbRqQq-4l6OWPDii4S3Xg" alt="image.png" />
  13097. *
  13098. * ### 3Dmarker
  13099. * 现小程序demo支持通过上传视频, 生成对应模型的3dmarker识别文件,后缀名为.map
  13100. *
  13101. * 对传入的视频有如下要求:
  13102. * 1.视频长宽比为16:9或4:3; 短边大于480px
  13103. * 2.目标物体易于和背景物体区分出来,同时目标物体放置与背景物体一定距离,放置底面与物体易于区分,底面可以放置一张白纸,例如:
  13104. *
  13105. * <img width="500px" src="https://res.wx.qq.com/op_res/a0ooLtlHHfpfb37tq3AxZWPrfqINIs2MvJnZxQeTLzkpbgAGn6m8CaWAoy_osmlVDVhWm16e-yBDXjIY0dhCEQ" alt="image.png" />
  13106. *
  13107. * 3.目标物体最好为刚体,本身不会发生较大形变, 容易变形的物体不适合用作识别对象
  13108. * 4.视频匀速移动,避免模糊,对目标识别面环绕物体拍摄,需要保证相机有足够的平移移动
  13109. * 5.marker物体要求与2d图像要求类似,具有丰富细节,避免重复单一纹理,不反光,无高光
  13110. * 6.拍摄视频中特征纹理丰富,如果marker本身问题较弱,可以在背景中适当添加纹理物体
  13111. * 服务耗时:当前版本30s视频耗时约20分钟,请静待算法返回模型
  13112. *
  13113. * 建议:
  13114. *
  13115. * 1.视频格式:视频帧率30fps,分辨率建议1080p
  13116. * 2.视频时长:视频建议时长在20s~30s,超过30s会被截断,时长过短会导致marker效果欠佳 */
  13117. addMarker(
  13118. /** 图片路径,目前只支持本地用户图片 */
  13119. path: string
  13120. ): number
  13121. /** [number VKSession.addOSDMarker(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.addOSDMarker.html)
  13122. *
  13123. * 需要基础库: `2.24.5`
  13124. *
  13125. * 在插件中使用:需要基础库 `2.24.5`
  13126. *
  13127. * 添加一个 OSD marker(one-shot detection marker),要求调 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 时传入的 track.OSD 为 true
  13128. *
  13129. * **使用提示**
  13130. *
  13131. * 注意事项:
  13132. * 1. 使用 addOSDMarker 接口之前,需要在 createVKSession 的时候声明开启 OSD 跟踪。即 wx.createVKSession({ track: { OSD: true } })
  13133. * 2. 可以添加多个 OSDMarker 图片,但不能重复添加相同的 OSDMarker 图片。
  13134. *
  13135. * 对传入的图片有如下要求:
  13136. * 1. 格式:jpg 格式彩色图片
  13137. * 2. 分辨率:尺寸不低于 240x240
  13138. * 3. 宽高比:在 1:1 ~ 16:9 之间,要求尽量方正,避免狭长的图片
  13139. * 4. 质量:目标物体需要占画面主体,避免大面积留白,避免大面积文字,不能含其他物体。
  13140. *
  13141. * 示例:
  13142. *
  13143. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq_Mq0ReXEA5nOzDIvnYYPttmwxn0V1e_yI6UUgkNT6K6aOQj2QRba5IHQglHULkrKg" alt="image.png" />
  13144. * <br>
  13145. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqwiRcyGk9oenkCpd3vAHWSTSZPPJcgIrPzcpwnSpmk_9bMiCqUdS8Ds789Rjhy0CtA" alt="image.png" />
  13146. * <br>
  13147. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCqx8fYUYypBmFmB1_zX-APH06j1oMZDz7K0CE2To_982NDOB5fmM4Y2Rrr1uQF6J4gg" alt="image.png" />
  13148. * <br>
  13149. *
  13150. * 建议:
  13151. *
  13152. * 1. 具有丰富的细节,避免纯色且形状特点不鲜明的物体,例如:
  13153. *
  13154. * <img width="500px" src="https://res.wx.qq.com/op_res/rg0BkiSl-LPBybgJtcQCq-6WwSZKlNbN-if0NCag-Dm6AmNJeBFi5dvR-bRZINlZmuA9G1e4wpngvhlr2z6CXQ" alt="image.png" />
  13155. *
  13156. * 2. 避免模糊,最好采用高清图片 */
  13157. addOSDMarker(
  13158. /** 图片路径,目前只支持本地用户图片 */
  13159. path: string
  13160. ): number
  13161. /** [number VKSession.requestAnimationFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/VKSession.requestAnimationFrame.html)
  13162. *
  13163. * 需要基础库: `2.20.0`
  13164. *
  13165. * 在插件中使用:需要基础库 `2.20.0`
  13166. *
  13167. * 在下次进行重绘时执行。 */
  13168. requestAnimationFrame(
  13169. /** 执行的 callback */
  13170. callback: (...args: any[]) => any
  13171. ): number
  13172. }
  13173. interface VKSize {
  13174. /** 高度 */
  13175. height: number
  13176. /** 宽度 */
  13177. width: number
  13178. }
  13179. interface VibrateLongOption {
  13180. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13181. complete?: VibrateLongCompleteCallback
  13182. /** 接口调用失败的回调函数 */
  13183. fail?: VibrateLongFailCallback
  13184. /** 接口调用成功的回调函数 */
  13185. success?: VibrateLongSuccessCallback
  13186. }
  13187. interface VibrateShortFailCallbackResult {
  13188. /** 错误信息
  13189. *
  13190. * 可选值:
  13191. * - 'style is not support': 当前设备不支持设置震动等级; */
  13192. errMsg: string
  13193. }
  13194. interface VibrateShortOption {
  13195. /** 需要基础库: `2.13.0`
  13196. *
  13197. * 震动强度类型,有效值为:heavy、medium、light */
  13198. type: string
  13199. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13200. complete?: VibrateShortCompleteCallback
  13201. /** 接口调用失败的回调函数 */
  13202. fail?: VibrateShortFailCallback
  13203. /** 接口调用成功的回调函数 */
  13204. success?: VibrateShortSuccessCallback
  13205. }
  13206. interface VideoContextRequestFullScreenOption {
  13207. /** 需要基础库: `1.7.0`
  13208. *
  13209. * 设置全屏时视频的方向,不指定则根据宽高比自动判断。
  13210. *
  13211. * 可选值:
  13212. * - 0: 正常竖向;
  13213. * - 90: 屏幕逆时针90度;
  13214. * - -90: 屏幕顺时针90度; */
  13215. direction?: 0 | 90 | -90
  13216. }
  13217. interface VideoDecoderStartOption {
  13218. /** 需要解码的视频源文件。基础库 2.13.0 以下的版本只支持本地路径。 2.13.0 开始支持 http:// 和 https:// 协议的远程路径。 */
  13219. source: string
  13220. /** 需要基础库: `2.15.0`
  13221. *
  13222. * 是否不需要音频轨道 */
  13223. abortAudio?: boolean
  13224. /** 需要基础库: `2.15.0`
  13225. *
  13226. * 是否不需要视频轨道 */
  13227. abortVideo?: boolean
  13228. /** 解码模式。0:按 pts 解码;1:以最快速度解码 */
  13229. mode?: number
  13230. }
  13231. interface VoIP1v1ChatUser {
  13232. /** 昵称 */
  13233. nickname: string
  13234. /** 小程序内 openid */
  13235. openid: string
  13236. /** 头像 */
  13237. headImage?: string
  13238. }
  13239. /** 需要基础库: `2.19.0`
  13240. *
  13241. * WebAudioContext 实例,通过[wx.createWebAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createWebAudioContext.html) 接口获取该实例。
  13242. *
  13243. * **示例代码**
  13244. *
  13245. * ```js
  13246. // 监听状态
  13247. const audioCtx = wx.createWebAudioContext()
  13248. audioCtx.onstatechange = () => {
  13249. console.log(ctx.state)
  13250. }
  13251. setTimeout(audioCtx.suspend, 1000)
  13252. setTimeout(audioCtx.resume, 2000)
  13253. ``` */
  13254. interface WebAudioContext {
  13255. /** 获取当前上下文的时间戳。 */
  13256. currentTime: number
  13257. /** [WebAudioContextNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContextNode.html)
  13258. *
  13259. * 当前上下文的最终目标节点,一般是音频渲染设备。 */
  13260. destination: WebAudioContextNode
  13261. /** [AudioListener](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioListener.html)
  13262. *
  13263. * 空间音频监听器。 */
  13264. listener: AudioListener
  13265. /** 可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。 */
  13266. onstatechange: (...args: any[]) => any
  13267. /** 采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。 */
  13268. sampleRate: number
  13269. /** 当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性 */
  13270. state: string
  13271. /** [AnalyserNode WebAudioContext.createAnalyser()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createAnalyser.html)
  13272. *
  13273. * 需要基础库: `2.22.0`
  13274. *
  13275. * 在插件中使用:不支持
  13276. *
  13277. * 创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。 */
  13278. createAnalyser(): AnalyserNode
  13279. /** [BiquadFilterNode WebAudioContext.createBiquadFilter()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBiquadFilter.html)
  13280. *
  13281. * 在插件中使用:不支持
  13282. *
  13283. * 创建一个BiquadFilterNode */
  13284. createBiquadFilter(): BiquadFilterNode
  13285. /** [ChannelMergerNode WebAudioContext.createChannelMerger(number numberOfInputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelMerger.html)
  13286. *
  13287. * 在插件中使用:不支持
  13288. *
  13289. * 创建一个ChannelMergerNode */
  13290. createChannelMerger(
  13291. /** 输出流中需要保持的输入流的个数 */
  13292. numberOfInputs: number
  13293. ): ChannelMergerNode
  13294. /** [ChannelSplitterNode WebAudioContext.createChannelSplitter(number numberOfOutputs)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createChannelSplitter.html)
  13295. *
  13296. * 在插件中使用:不支持
  13297. *
  13298. * 创建一个ChannelSplitterNode */
  13299. createChannelSplitter(
  13300. /** 要分别输出的输入音频流中的通道数 */
  13301. numberOfOutputs: number
  13302. ): ChannelSplitterNode
  13303. /** [ConstantSourceNode WebAudioContext.createConstantSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createConstantSource.html)
  13304. *
  13305. * 在插件中使用:不支持
  13306. *
  13307. * 创建一个ConstantSourceNode */
  13308. createConstantSource(): ConstantSourceNode
  13309. /** [DelayNode WebAudioContext.createDelay(number maxDelayTime)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDelay.html)
  13310. *
  13311. * 在插件中使用:不支持
  13312. *
  13313. * 创建一个DelayNode */
  13314. createDelay(
  13315. /** 最大延迟时间 */
  13316. maxDelayTime: number
  13317. ): DelayNode
  13318. /** [DynamicsCompressorNode WebAudioContext.createDynamicsCompressor()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createDynamicsCompressor.html)
  13319. *
  13320. * 在插件中使用:不支持
  13321. *
  13322. * 创建一个DynamicsCompressorNode */
  13323. createDynamicsCompressor(): DynamicsCompressorNode
  13324. /** [GainNode WebAudioContext.createGain()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createGain.html)
  13325. *
  13326. * 在插件中使用:不支持
  13327. *
  13328. * 创建一个GainNode */
  13329. createGain(): GainNode
  13330. /** [IIRFilterNode WebAudioContext.createIIRFilter(Array.&lt;number&gt; feedforward, Array.&lt;number&gt; feedback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createIIRFilter.html)
  13331. *
  13332. * 在插件中使用:不支持
  13333. *
  13334. * 创建一个IIRFilterNode */
  13335. createIIRFilter(
  13336. /** 一个浮点值数组,指定IIR滤波器传递函数的前馈(分子)系数。 */
  13337. feedforward: number[],
  13338. /** 一个浮点值数组,指定IIR滤波器传递函数的反馈(分母)系数。 */
  13339. feedback: number[]
  13340. ): IIRFilterNode
  13341. /** [OscillatorNode WebAudioContext.createOscillator()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createOscillator.html)
  13342. *
  13343. * 在插件中使用:不支持
  13344. *
  13345. * 创建一个OscillatorNode */
  13346. createOscillator(): OscillatorNode
  13347. /** [PannerNode WebAudioContext.createPanner()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPanner.html)
  13348. *
  13349. * 在插件中使用:不支持
  13350. *
  13351. * 创建一个PannerNode */
  13352. createPanner(): PannerNode
  13353. /** [PeriodicWaveNode WebAudioContext.createPeriodicWave(Float32Array real, Float32Array imag, object constraints)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createPeriodicWave.html)
  13354. *
  13355. * 在插件中使用:不支持
  13356. *
  13357. * 创建一个PeriodicWaveNode
  13358. *
  13359. * **注意**
  13360. *
  13361. * `real`和`imag`数组必须拥有一样的长度,否则抛出错误
  13362. * ```js
  13363. const real = new Float32Array(2)
  13364. const imag = new Float32Array(2)
  13365. real[0] = 0
  13366. imag[0] = 0
  13367. real[1] = 1
  13368. imag[1] = 0
  13369. const waveNode = audioContext.createPeriodicWave(real, imag, {disableNormalization: true})
  13370. ``` */
  13371. createPeriodicWave(
  13372. /** 一系列余弦术语(传统上的A项) */
  13373. real: Float32Array,
  13374. /** 一系列正弦项(传统上的B项) */
  13375. imag: Float32Array,
  13376. /** 一个字典对象,用于指定是否禁用规范化(默认启用规范化) */
  13377. constraints: Constraints
  13378. ): PeriodicWaveNode
  13379. /** [Promise WebAudioContext.close()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.close.html)
  13380. *
  13381. * 在插件中使用:不支持
  13382. *
  13383. * 关闭WebAudioContext
  13384. *
  13385. * **注意事项**
  13386. *
  13387. * 同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,<b>不要在close后再次访问state属性。</b>
  13388. * ```js
  13389. const audioCtx = wx.createWebAudioContext()
  13390. audioCtx.close().then(() => {
  13391. console.log(audioCtx.state) // bad case:不应该在close后再访问state
  13392. })
  13393. ``` */
  13394. close(): Promise<any>
  13395. /** [Promise WebAudioContext.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.resume.html)
  13396. *
  13397. * 在插件中使用:不支持
  13398. *
  13399. * 同步恢复已经被暂停的WebAudioContext上下文 */
  13400. resume(): Promise<any>
  13401. /** [Promise WebAudioContext.suspend()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.suspend.html)
  13402. *
  13403. * 在插件中使用:不支持
  13404. *
  13405. * 同步暂停WebAudioContext上下文 */
  13406. suspend(): Promise<any>
  13407. /** [ScriptProcessorNode WebAudioContext.createScriptProcessor(number bufferSize, number numberOfInputChannels, number numberOfOutputChannels)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createScriptProcessor.html)
  13408. *
  13409. * 在插件中使用:不支持
  13410. *
  13411. * 创建一个ScriptProcessorNode */
  13412. createScriptProcessor(
  13413. /** 缓冲区大小,以样本帧为单位 */
  13414. bufferSize: number,
  13415. /** 用于指定输入node的声道的数量 */
  13416. numberOfInputChannels: number,
  13417. /** 用于指定输出node的声道的数量 */
  13418. numberOfOutputChannels: number
  13419. ): ScriptProcessorNode
  13420. /** [WaveShaperNode WebAudioContext.createWaveShaper()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createWaveShaper.html)
  13421. *
  13422. * 在插件中使用:不支持
  13423. *
  13424. * 创建一个WaveShaperNode */
  13425. createWaveShaper(): WaveShaperNode
  13426. /** [[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)
  13427. *
  13428. * 在插件中使用:不支持
  13429. *
  13430. * 创建一个AudioBuffer,代表着一段驻留在内存中的短音频 */
  13431. createBuffer(
  13432. /** 定义了 buffer 中包含的声频通道数量的整数 */
  13433. numOfChannels: number,
  13434. /** 代表 buffer 中的样本帧数的整数 */
  13435. length: number,
  13436. /** 线性音频样本的采样率,即每一秒包含的关键帧的个数 */
  13437. sampleRate: number
  13438. ): AudioBuffer
  13439. /** [[AudioBuffer](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioBuffer.html) WebAudioContext.decodeAudioData(ArrayBuffer audioData, function successCallback, function errorCallback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.decodeAudioData.html)
  13440. *
  13441. * 在插件中使用:不支持
  13442. *
  13443. * 异步解码一段资源为AudioBuffer。 */
  13444. decodeAudioData(
  13445. /** 一个包含音频文件数据的 ArrayBuffer */
  13446. audioData: ArrayBuffer,
  13447. /** 在音频数据解码成功时被调用,参数为解码后的AudioBuffer */
  13448. successCallback: (...args: any[]) => any,
  13449. /** 在音频数据解码失败时被调用 */
  13450. errorCallback: (...args: any[]) => any
  13451. ): AudioBuffer
  13452. /** [[BufferSourceNode](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/BufferSourceNode.html) WebAudioContext.createBufferSource()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/WebAudioContext.createBufferSource.html)
  13453. *
  13454. * 在插件中使用:不支持
  13455. *
  13456. * 创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。 */
  13457. createBufferSource(): BufferSourceNode
  13458. }
  13459. /** 一类音频处理模块,不同的Node具备不同的功能,如GainNode(音量调整)等。一个WebAudioContextNode可以通过上下文来创建。
  13460. * 目前已经支持以下Node:
  13461. * IIRFilterNode
  13462. * WaveShaperNode
  13463. * ConstantSourceNode
  13464. * ChannelMergerNode
  13465. * OscillatorNode
  13466. * GainNode
  13467. * BiquadFilterNode
  13468. * PeriodicWaveNode
  13469. * BufferSourceNode
  13470. * ChannelSplitterNode
  13471. * ChannelMergerNode
  13472. * DelayNode
  13473. * DynamicsCompressorNode
  13474. * ScriptProcessorNode
  13475. * PannerNode
  13476. * AnalyserNode */
  13477. interface WebAudioContextNode {}
  13478. /** 提供预设的 Wi-Fi 信息列表 */
  13479. interface WifiData {
  13480. /** Wi-Fi 的 BSSID */
  13481. BSSID?: string
  13482. /** Wi-Fi 的 SSID */
  13483. SSID?: string
  13484. /** Wi-Fi 设备密码 */
  13485. password?: string
  13486. }
  13487. /** Wifi 信息
  13488. *
  13489. * **注意**
  13490. *
  13491. * - 安卓 wx.connectWifi / wx.getConnectedWifi 若设置了 partialInfo:true ,或者调用了 wx.onWifiConnectedWithPartialInfo 事件。将会返回只包含 SSID 属性的 WifiInfo 对象。
  13492. * - iOS wx.getConnectedWifi 若设置了 partialInfo:true ,将会返回只包含 SSID、BSSID 属性的 WifiInfo 对象,且需要用户开启微信定位权限才能正确返回结果。
  13493. * - 在某些情况下,可能 Wi-Fi 已经连接成功,但会因为获取不到完整的 WifiInfo 对象报错。具体错误信息为 errCode: 12010, errMsg: can't gain current wifi 或 no wifi is connected 。如果开发者不需要完整的 WifiInfo 对象,则可以通过采取上述策略解决报错问题。 */
  13494. interface WifiInfo {
  13495. /** Wi-Fi 的 BSSID */
  13496. BSSID: string
  13497. /** Wi-Fi 的 SSID */
  13498. SSID: string
  13499. /** 需要基础库: `2.12.0`
  13500. *
  13501. * Wi-Fi 频段单位 MHz */
  13502. frequency: number
  13503. /** Wi-Fi 是否安全 */
  13504. secure: boolean
  13505. /** Wi-Fi 信号强度, 安卓取值 0 ~ 100 ,iOS 取值 0 ~ 1 ,值越大强度越大 */
  13506. signalStrength: number
  13507. }
  13508. interface WindowInfo {
  13509. /** 设备像素比 */
  13510. pixelRatio: number
  13511. /** 在竖屏正方向下的安全区域。部分机型没有安全区域概念,也不会返回 safeArea 字段,开发者需自行兼容。 */
  13512. safeArea: SafeArea
  13513. /** 屏幕高度,单位px */
  13514. screenHeight: number
  13515. /** 窗口上边缘的y值 */
  13516. screenTop: number
  13517. /** 屏幕宽度,单位px */
  13518. screenWidth: number
  13519. /** 状态栏的高度,单位px */
  13520. statusBarHeight: number
  13521. /** 可使用窗口高度,单位px */
  13522. windowHeight: number
  13523. /** 可使用窗口宽度,单位px */
  13524. windowWidth: number
  13525. }
  13526. /** Worker 实例,主线程中可通过 [wx.createWorker](https://developers.weixin.qq.com/miniprogram/dev/api/worker/wx.createWorker.html) 接口获取,worker 线程中可通过全局变量 `worker` 获取。
  13527. *
  13528. * **示例代码**
  13529. *
  13530. * 运行以下代码需先进行基础配置,详细请查阅 [小程序多线程](https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html) | [小游戏多线程](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/worker.html) 文档了解基础知识和配置方法。
  13531. *
  13532. * ```js
  13533. const worker = wx.createWorker('workers/request/index.js') // 文件名指定 worker 的入口文件路径,绝对路径
  13534. worker.onMessage(function (res) {
  13535. console.log(res)
  13536. })
  13537. // 监听worker被系统回收事件
  13538. worker.onProcessKilled(function () {
  13539. console.log('worker has been killed')
  13540. // 重新创建一个worker
  13541. // wx.createWorker()
  13542. })
  13543. worker.postMessage({
  13544. msg: 'hello worker'
  13545. })
  13546. worker.terminate()
  13547. ``` */
  13548. interface Worker {
  13549. /** worker内的环境变量 */
  13550. env: WorkerEnv
  13551. /** [ArrayBuffer Worker.getCameraFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.getCameraFrameData.html)
  13552. *
  13553. * 需要基础库: `2.25.1`
  13554. *
  13555. * 在插件中使用:不支持
  13556. *
  13557. * 获取摄像头当前帧图像,返回ArrayBuffer数据。仅限在 worker 线程中使用。
  13558. *
  13559. * **示例代码**
  13560. *
  13561. * ```js
  13562. // app.js
  13563. const worker = wx.createWorker('workers/index.js', {
  13564. useExperimentalWorker: true
  13565. })
  13566. const cameraContext = wx.createCameraContext()
  13567. const cameraFrameListener = cameraContext.onCameraFrame(function() {})
  13568. cameraFrameListener.start({
  13569. worker: worker
  13570. })
  13571. ```
  13572. *
  13573. * ```js
  13574. // workers/index.js
  13575. const data = worker.getCameraFrameData()
  13576. console.log(data)
  13577. ``` */
  13578. getCameraFrameData(): ArrayBuffer
  13579. /** [Worker.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onMessage.html)
  13580. *
  13581. * 在插件中使用:不支持
  13582. *
  13583. * 监听主线程/Worker 线程向当前线程发送的消息的事件。 */
  13584. onMessage(
  13585. /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */
  13586. listener: WorkerOnMessageCallback
  13587. ): void
  13588. /** [Worker.onProcessKilled(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html)
  13589. *
  13590. * 在插件中使用:不支持
  13591. *
  13592. * 监听 worker线程被系统回收事件(开启 useExperimentalWorker 后,当iOS系统资源紧张时,ExperimentalWorker 线程存在被系统回收的可能,开发者可监听此事件并重新创建一个worker)。仅限在主线程 worker 对象上调用。 */
  13593. onProcessKilled(
  13594. /** worker线程被系统回收事件的监听函数 */
  13595. listener: OnProcessKilledCallback
  13596. ): void
  13597. /** [Worker.postMessage(Object message)](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.postMessage.html)
  13598. *
  13599. * 在插件中使用:不支持
  13600. *
  13601. * 向主线程/Worker 线程发送的消息。
  13602. *
  13603. * **示例代码**
  13604. *
  13605. * worker 线程中
  13606. * ```js
  13607. worker.postMessage({
  13608. msg: 'hello from worker'
  13609. })
  13610. ```
  13611. *
  13612. * 主线程中
  13613. * ```js
  13614. const worker = wx.createWorker('workers/request/index.js')
  13615. worker.postMessage({
  13616. msg: 'hello from main'
  13617. })
  13618. ```
  13619. *
  13620. * **提醒**
  13621. *
  13622. * 在基础库版本2.20.2之前,postMessage仅支持传递可序列化的key-value对象。
  13623. * 在基础库2.20.2之后,postMessage支持传递任意类型的数据。 */
  13624. postMessage(
  13625. /** 需要发送的消息。 */
  13626. message: IAnyObject
  13627. ): void
  13628. /** [Worker.terminate()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.terminate.html)
  13629. *
  13630. * 在插件中使用:不支持
  13631. *
  13632. * 结束当前 Worker 线程。仅限在主线程 worker 对象上调用。 */
  13633. terminate(): void
  13634. /** [Worker.testOnProcessKilled()](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.testOnProcessKilled.html)
  13635. *
  13636. * 需要基础库: `2.27.1`
  13637. *
  13638. * 在插件中使用:不支持
  13639. *
  13640. * 用于模拟 iOS ExperimentalWorker 线程被系统回收事件,以便于调试。接口仅在 worker 线程内可用。参考 [Worker.onProcessKilled](https://developers.weixin.qq.com/miniprogram/dev/api/worker/Worker.onProcessKilled.html)
  13641. *
  13642. * **示例代码**
  13643. *
  13644. * ```js
  13645. // game.js
  13646. const worker = wx.createWorker('workers/index.js', {
  13647. useExperimentalWorker: true
  13648. })
  13649. // 监听 ExperimentalWorker 被系统回收事件
  13650. worker.onProcessKilled(function () {
  13651. console.log('worker has been killed')
  13652. // 重新创建一个worker
  13653. // wx.createWorker()
  13654. })
  13655. ```
  13656. *
  13657. * ```js
  13658. // workers/index.js
  13659. setTimeout(() => {
  13660. // 模拟 ExperimentalWorker 线程被系统回收事件
  13661. worker.testOnProcessKilled()
  13662. }, 2000)
  13663. ``` */
  13664. testOnProcessKilled(): void
  13665. }
  13666. /** worker内的环境变量 */
  13667. interface WorkerEnv {
  13668. /** 文件系统中的用户目录路径 (本地路径) */
  13669. USER_DATA_PATH: string
  13670. }
  13671. interface WorkerOnMessageListenerResult {
  13672. /** 主线程/Worker 线程向当前线程发送的消息 */
  13673. message: IAnyObject
  13674. }
  13675. /** Easing 模块实现了常见的动画缓动函数(动画效果参考 https://easings.net/ ),可从 [wx.worklet](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/wx.worklet.html) 对象中读取。
  13676. *
  13677. * ****
  13678. *
  13679. * ## 示例代码
  13680. *
  13681. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/f94TCOmg7JFH)
  13682. *
  13683. * ### 预置动画函数
  13684. *
  13685. * * [Easing.bounce](#Easing.bounce) 反弹动画
  13686. * * [Easing.ease](#Easing.ease) 惯性动画
  13687. * * [Easing.elastic](#Easing.elastic) 弹性动画
  13688. *
  13689. * ### 标准缓动函数
  13690. *
  13691. * * [Easing.linear](#Easing.linear) 线性
  13692. * * [Easing.quad](#Easing.quad) 二次方
  13693. * * [Easing.cubic](#Easing.cubic) 三次方
  13694. * * [Easing.poly](#Easing.poly) 实现其它幂函数
  13695. *
  13696. * ### 其它数学函数
  13697. *
  13698. * * [Easing.bezier](#Easing.bezier) 三次贝塞尔曲线
  13699. * * [Easing.circle](#Easing.circle) 圆形曲线
  13700. * * [Easing.sin](#Easing.sin) 正弦函数
  13701. * * [Easing.exp](#Easing.exp) 指数函数
  13702. *
  13703. * ### 缓动方式
  13704. *
  13705. * 以上效果均有三种缓动方式
  13706. *
  13707. * * [Easing.in](#in) 正向执行缓动函数
  13708. * * [Easing.out](#out) 反向执行缓动函数
  13709. * * [Easing.inOut](#inout) 前半程正向,后半程反向
  13710. * 以 `sin` 函数为例,其中 `Easing.in(Easing.sin)` 和直接使用 `Easing.sin` 效果相同。
  13711. *
  13712. * 1. `Easing.in(Easing.sin)` 动画效果参考 https://easings.net/#easeInSine
  13713. * 2. `Easing.out(Easing.sin)` 动画效果参考 https://easings.net/#easeOutSine
  13714. * 3. `Easing.inOut(Easing.sin)` 动画效果参考 https://easings.net/#easeInOutSine
  13715. *
  13716. * ### Easing.bounce
  13717. *
  13718. * 简单的反弹效果,[动画效果参考](https://easings.net/#easeInBounce)
  13719. *
  13720. * ```js
  13721. Easing.bounce(t)
  13722. ```
  13723. *
  13724. * ### Easing.ease
  13725. *
  13726. * 简单的惯性动画,[动画效果参考](https://cubic-bezier.com/#.42,0,1,1)
  13727. *
  13728. * ```js
  13729. Easing.ease(t)
  13730. ```
  13731. *
  13732. * ### Easing.elastic
  13733. *
  13734. * 简单的弹性动画,类似弹簧来回摆动,高阶函数。默认弹性为 1,会稍微超出一次。弹性为 0 时 不会过冲。[动画效果参考](https://easings.net/#easeInElastic)
  13735. *
  13736. * ```js
  13737. Easing.elastic(bounciness = 1)
  13738. ```
  13739. *
  13740. * ### Easing.linear
  13741. *
  13742. * 线性函数,f(t) = t,[动画效果参考](https://cubic-bezier.com/#0,0,1,1)
  13743. *
  13744. * ```js
  13745. Easing.linear(t)
  13746. ```
  13747. * ### Easing.quad
  13748. *
  13749. * 二次方函数,f(t) = t * t,[动画效果参考](https://easings.net/#easeInQuad)
  13750. *
  13751. * ```js
  13752. Easing.quad(t)
  13753. ```
  13754. *
  13755. * ### Easing.cubic
  13756. *
  13757. * 立方函数,f(t) = t * t * t,[动画效果参考](https://easings.net/#easeInCubic)
  13758. *
  13759. * ```js
  13760. Easing.cubic(t)
  13761. ```
  13762. *
  13763. * ### Easing.poly
  13764. *
  13765. * 高阶函数,返回幂函数
  13766. *
  13767. * poly(4): [动画效果参考](https://easings.net/#easeInQuart)
  13768. *
  13769. * poly(5): [动画效果参考](https://easings.net/#easeInQuint)
  13770. *
  13771. * ```js
  13772. Easing.poly(n)
  13773. ```
  13774. *
  13775. * ### Easing.bezier
  13776. *
  13777. * 三次贝塞尔曲线,效果同 css `transition-timing-function`
  13778. *
  13779. * 调试参数可借助 [可视化工具](https://cubic-bezier.com/)
  13780. *
  13781. * ```js
  13782. Easing.bezier(x1, y1, x2, y2)
  13783. ```
  13784. *
  13785. * ### Easing.circle
  13786. *
  13787. * 圆形曲线,[动画效果参考](https://easings.net/#easeInCirc)
  13788. *
  13789. * ```js
  13790. Easing.circle(t)
  13791. ```
  13792. *
  13793. * ### Easing.sin
  13794. *
  13795. * 正弦函数,[动画效果参考](https://easings.net/#easeInSine)
  13796. *
  13797. * ```js
  13798. Easing.sin(t)
  13799. ```
  13800. *
  13801. * ### Easing.exp
  13802. *
  13803. * 指数函数,[动画效果参考](https://easings.net/#easeInExpo)
  13804. *
  13805. * ```js
  13806. Easing.exp(t)
  13807. ```
  13808. *
  13809. * ### Easing.in
  13810. *
  13811. * 正向运行 `easing function`,高阶函数。
  13812. *
  13813. * ```js
  13814. Easing.in(easing)
  13815. ```
  13816. *
  13817. * ### Easing.out
  13818. *
  13819. * 反向运行 `easing function`,高阶函数。
  13820. *
  13821. * ```js
  13822. Easing.out(easing)
  13823. ```
  13824. *
  13825. * ### Easing.inOut
  13826. *
  13827. * 前半程正向,后半程反向,高阶函数。
  13828. *
  13829. * ```js
  13830. Easing.inOut(easing)
  13831. ``` */
  13832. interface WorkletEasing {}
  13833. /** 需要基础库: `3.3.0`
  13834. *
  13835. * `ScrollView` 实例,可在 `worklet` 函数内操作 `scroll-view` 组件。 */
  13836. interface WorkletScrollViewContext {}
  13837. interface WorkletScrollViewContextScrollToOption {
  13838. /** 是否启用滚动动画 */
  13839. animated?: boolean
  13840. /** 滚动动画时长 */
  13841. duration?: number
  13842. /** 动画曲线 */
  13843. easingFunction?: string
  13844. /** 左边界距离 */
  13845. left?: number
  13846. /** 顶部距离 */
  13847. top?: number
  13848. }
  13849. interface WriteBLECharacteristicValueOption {
  13850. /** 蓝牙特征的 UUID */
  13851. characteristicId: string
  13852. /** 蓝牙设备 id */
  13853. deviceId: string
  13854. /** 蓝牙特征对应服务的 UUID */
  13855. serviceId: string
  13856. /** 蓝牙设备特征对应的二进制值 */
  13857. value: ArrayBuffer
  13858. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13859. complete?: WriteBLECharacteristicValueCompleteCallback
  13860. /** 接口调用失败的回调函数 */
  13861. fail?: WriteBLECharacteristicValueFailCallback
  13862. /** 接口调用成功的回调函数 */
  13863. success?: WriteBLECharacteristicValueSuccessCallback
  13864. /** 蓝牙特征值的写模式设置,有两种模式,iOS 优先 write,安卓优先 writeNoResponse 。(基础库 2.22.0 开始支持)
  13865. *
  13866. * 可选值:
  13867. * - 'write': 强制回复写,不支持时报错;
  13868. * - 'writeNoResponse': 强制无回复写,不支持时报错; */
  13869. writeType?: 'write' | 'writeNoResponse'
  13870. }
  13871. interface WriteCharacteristicValueObject {
  13872. /** 蓝牙特征的 UUID */
  13873. characteristicId: string
  13874. /** 是否需要通知主机 value 已更新 */
  13875. needNotify: boolean
  13876. /** 蓝牙特征对应服务的 UUID */
  13877. serviceId: string
  13878. /** characteristic 对应的二进制值 */
  13879. value: ArrayBuffer
  13880. /** 可选,处理回包时使用 */
  13881. callbackId?: number
  13882. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13883. complete?: WriteCharacteristicValueCompleteCallback
  13884. /** 接口调用失败的回调函数 */
  13885. fail?: WriteCharacteristicValueFailCallback
  13886. /** 接口调用成功的回调函数 */
  13887. success?: WriteCharacteristicValueSuccessCallback
  13888. }
  13889. interface WriteFileOption {
  13890. /** 要写入的文本或二进制数据 */
  13891. data: string | ArrayBuffer
  13892. /** 要写入的文件路径 (本地路径) */
  13893. filePath: string
  13894. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13895. complete?: WriteFileCompleteCallback
  13896. /** 指定写入文件的字符编码
  13897. *
  13898. * 可选值:
  13899. * - 'ascii': ;
  13900. * - 'base64': (注意,选择 base64 编码,data 只需要传 base64 内容本身,不要传 Data URI 前缀,否则会报 fail base64 encode error 错误。例如,传 aGVsbG8= 而不是传 data:image/png;base64,aGVsbG8= );
  13901. * - 'binary': ;
  13902. * - 'hex': ;
  13903. * - 'ucs2': 以小端序读取;
  13904. * - 'ucs-2': 以小端序读取;
  13905. * - 'utf16le': 以小端序读取;
  13906. * - 'utf-16le': 以小端序读取;
  13907. * - 'utf-8': ;
  13908. * - 'utf8': ;
  13909. * - 'latin1': ; */
  13910. encoding?:
  13911. | 'ascii'
  13912. | 'base64'
  13913. | 'binary'
  13914. | 'hex'
  13915. | 'ucs2'
  13916. | 'ucs-2'
  13917. | 'utf16le'
  13918. | 'utf-16le'
  13919. | 'utf-8'
  13920. | 'utf8'
  13921. | 'latin1'
  13922. /** 接口调用失败的回调函数 */
  13923. fail?: WriteFileFailCallback
  13924. /** 接口调用成功的回调函数 */
  13925. success?: WriteFileSuccessCallback
  13926. }
  13927. interface WriteNdefMessageOption {
  13928. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13929. complete?: WriteNdefMessageCompleteCallback
  13930. /** 接口调用失败的回调函数 */
  13931. fail?: WriteNdefMessageFailCallback
  13932. /** 二进制对象数组, 需要指明 id, type 以及 payload (均为 ArrayBuffer 类型) */
  13933. records?: any[]
  13934. /** 接口调用成功的回调函数 */
  13935. success?: WriteNdefMessageSuccessCallback
  13936. /** text 数组 */
  13937. texts?: any[]
  13938. /** uri 数组 */
  13939. uris?: any[]
  13940. }
  13941. interface WriteOption {
  13942. /** 写入的内容,类型为 String 或 ArrayBuffer */
  13943. data: string | ArrayBuffer
  13944. /** 文件描述符。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) 接口获得 */
  13945. fd: string
  13946. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  13947. complete?: WriteCompleteCallback
  13948. /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
  13949. *
  13950. * 可选值:
  13951. * - 'ascii': ;
  13952. * - 'base64': ;
  13953. * - 'binary': ;
  13954. * - 'hex': ;
  13955. * - 'ucs2': 以小端序读取;
  13956. * - 'ucs-2': 以小端序读取;
  13957. * - 'utf16le': 以小端序读取;
  13958. * - 'utf-16le': 以小端序读取;
  13959. * - 'utf-8': ;
  13960. * - 'utf8': ;
  13961. * - 'latin1': ; */
  13962. encoding?:
  13963. | 'ascii'
  13964. | 'base64'
  13965. | 'binary'
  13966. | 'hex'
  13967. | 'ucs2'
  13968. | 'ucs-2'
  13969. | 'utf16le'
  13970. | 'utf-16le'
  13971. | 'utf-8'
  13972. | 'utf8'
  13973. | 'latin1'
  13974. /** 接口调用失败的回调函数 */
  13975. fail?: WriteFailCallback
  13976. /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 ArrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */
  13977. length?: number
  13978. /** 只在 data 类型是 ArrayBuffer 时有效,决定 ArrayBuffer 中要被写入的部位,即 ArrayBuffer 中的索引,默认0 */
  13979. offset?: number
  13980. /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */
  13981. position?: number
  13982. /** 接口调用成功的回调函数 */
  13983. success?: WriteSuccessCallback
  13984. }
  13985. /** 文件写入结果。 通过 [FileSystemManager.writeSync](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeSync.html) 接口返回 */
  13986. interface WriteResult {
  13987. /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */
  13988. bytesWritten: number
  13989. }
  13990. interface WriteSuccessCallbackResult {
  13991. /** 实际被写入到文件中的字节数(注意,被写入的字节数不一定与被写入的字符串字符数相同) */
  13992. bytesWritten: number
  13993. errMsg: string
  13994. }
  13995. interface WriteSyncOption {
  13996. /** 写入的内容,类型为 String 或 ArrayBuffer */
  13997. data: string | ArrayBuffer
  13998. /** 文件描述符。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) 接口获得 */
  13999. fd: string
  14000. /** 只在 data 类型是 String 时有效,指定写入文件的字符编码,默认为 utf8
  14001. *
  14002. * 可选值:
  14003. * - 'ascii': ;
  14004. * - 'base64': ;
  14005. * - 'binary': ;
  14006. * - 'hex': ;
  14007. * - 'ucs2': 以小端序读取;
  14008. * - 'ucs-2': 以小端序读取;
  14009. * - 'utf16le': 以小端序读取;
  14010. * - 'utf-16le': 以小端序读取;
  14011. * - 'utf-8': ;
  14012. * - 'utf8': ;
  14013. * - 'latin1': ; */
  14014. encoding?:
  14015. | 'ascii'
  14016. | 'base64'
  14017. | 'binary'
  14018. | 'hex'
  14019. | 'ucs2'
  14020. | 'ucs-2'
  14021. | 'utf16le'
  14022. | 'utf-16le'
  14023. | 'utf-8'
  14024. | 'utf8'
  14025. | 'latin1'
  14026. /** 只在 data 类型是 ArrayBuffer 时有效,指定要写入的字节数,默认为 ArrayBuffer 从0开始偏移 offset 个字节后剩余的字节数 */
  14027. length?: number
  14028. /** 只在 data 类型是 ArrayBuffer 时有效,决定 ArrayBuffer 中要被写入的部位,即 ArrayBuffer 中的索引,默认0 */
  14029. offset?: number
  14030. /** 指定文件开头的偏移量,即数据要被写入的位置。当 position 不传或者传入非 Number 类型的值时,数据会被写入当前指针所在位置。 */
  14031. position?: number
  14032. }
  14033. interface WxStartRecordOption {
  14034. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  14035. complete?: StartRecordCompleteCallback
  14036. /** 接口调用失败的回调函数 */
  14037. fail?: StartRecordFailCallback
  14038. /** 接口调用成功的回调函数 */
  14039. success?: WxStartRecordSuccessCallback
  14040. }
  14041. interface WxStopRecordOption {
  14042. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  14043. complete?: StopRecordCompleteCallback
  14044. /** 接口调用失败的回调函数 */
  14045. fail?: StopRecordFailCallback
  14046. /** 接口调用成功的回调函数 */
  14047. success?: WxStopRecordSuccessCallback
  14048. }
  14049. /** 运动数据列表 */
  14050. interface WxaSportRecord {
  14051. /** 消耗卡路里 */
  14052. calorie: number
  14053. /** 运动距离 */
  14054. distance: number
  14055. /** 运动时长 */
  14056. time: number
  14057. /** 运动项目id */
  14058. typeId: number
  14059. }
  14060. /** 帧纹理对象 */
  14061. interface YUVTextureRes {
  14062. /** UV 分量纹理 */
  14063. uvTexture: WebGLTexture
  14064. /** Y 分量纹理 */
  14065. yTexture: WebGLTexture
  14066. }
  14067. /** 文件路径 */
  14068. interface ZipFileItem {
  14069. /** 文件内容 */
  14070. data: string | ArrayBuffer
  14071. /** 错误信息 */
  14072. errMsg: string
  14073. }
  14074. interface Animation {
  14075. /** [Object Animation.export()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.export.html)
  14076. *
  14077. * 在插件中使用:支持
  14078. *
  14079. * 导出动画队列。**export 方法每次调用后会清掉之前的动画操作。** */
  14080. export(): AnimationExportResult
  14081. /** [[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)
  14082. *
  14083. * 在插件中使用:支持
  14084. *
  14085. * 设置背景色 */
  14086. backgroundColor(
  14087. /** 颜色值 */
  14088. value: string
  14089. ): Animation
  14090. /** [[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)
  14091. *
  14092. * 在插件中使用:支持
  14093. *
  14094. * 设置 bottom 值 */
  14095. bottom(
  14096. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14097. value: number | string
  14098. ): Animation
  14099. /** [[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)
  14100. *
  14101. * 在插件中使用:支持
  14102. *
  14103. * 设置高度 */
  14104. height(
  14105. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14106. value: number | string
  14107. ): Animation
  14108. /** [[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)
  14109. *
  14110. * 在插件中使用:支持
  14111. *
  14112. * 设置 left 值 */
  14113. left(
  14114. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14115. value: number | string
  14116. ): Animation
  14117. /** [[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)
  14118. *
  14119. * 在插件中使用:支持
  14120. *
  14121. * 同 [transform-function matrix](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix) */
  14122. matrix(): Animation
  14123. /** [[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)
  14124. *
  14125. * 在插件中使用:支持
  14126. *
  14127. * 同 [transform-function matrix3d](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix3d) */
  14128. matrix3d(): Animation
  14129. /** [[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)
  14130. *
  14131. * 在插件中使用:支持
  14132. *
  14133. * 设置透明度 */
  14134. opacity(
  14135. /** 透明度,范围 0-1 */
  14136. value: number
  14137. ): Animation
  14138. /** [[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)
  14139. *
  14140. * 在插件中使用:支持
  14141. *
  14142. * 设置 right 值 */
  14143. right(
  14144. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14145. value: number | string
  14146. ): Animation
  14147. /** [[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)
  14148. *
  14149. * 在插件中使用:支持
  14150. *
  14151. * 从原点顺时针旋转一个角度 */
  14152. rotate(
  14153. /** 旋转的角度。范围 [-180, 180] */
  14154. angle: number
  14155. ): Animation
  14156. /** [[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)
  14157. *
  14158. * 在插件中使用:支持
  14159. *
  14160. * 从 固定 轴顺时针旋转一个角度 */
  14161. rotate3d(
  14162. /** 旋转轴的 x 坐标 */
  14163. x: number,
  14164. /** 旋转轴的 y 坐标 */
  14165. y: number,
  14166. /** 旋转轴的 z 坐标 */
  14167. z: number,
  14168. /** 旋转的角度。范围 [-180, 180] */
  14169. angle: number
  14170. ): Animation
  14171. /** [[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)
  14172. *
  14173. * 在插件中使用:支持
  14174. *
  14175. * 从 X 轴顺时针旋转一个角度 */
  14176. rotateX(
  14177. /** 旋转的角度。范围 [-180, 180] */
  14178. angle: number
  14179. ): Animation
  14180. /** [[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)
  14181. *
  14182. * 在插件中使用:支持
  14183. *
  14184. * 从 Y 轴顺时针旋转一个角度 */
  14185. rotateY(
  14186. /** 旋转的角度。范围 [-180, 180] */
  14187. angle: number
  14188. ): Animation
  14189. /** [[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)
  14190. *
  14191. * 在插件中使用:支持
  14192. *
  14193. * 从 Z 轴顺时针旋转一个角度 */
  14194. rotateZ(
  14195. /** 旋转的角度。范围 [-180, 180] */
  14196. angle: number
  14197. ): Animation
  14198. /** [[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)
  14199. *
  14200. * 在插件中使用:支持
  14201. *
  14202. * 缩放 */
  14203. scale(
  14204. /** 当仅有 sx 参数时,表示在 X 轴、Y 轴同时缩放sx倍数 */
  14205. sx: number,
  14206. /** 在 Y 轴缩放 sy 倍数 */
  14207. sy?: number
  14208. ): Animation
  14209. /** [[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)
  14210. *
  14211. * 在插件中使用:支持
  14212. *
  14213. * 缩放 */
  14214. scale3d(
  14215. /** x 轴的缩放倍数 */
  14216. sx: number,
  14217. /** y 轴的缩放倍数 */
  14218. sy: number,
  14219. /** z 轴的缩放倍数 */
  14220. sz: number
  14221. ): Animation
  14222. /** [[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)
  14223. *
  14224. * 在插件中使用:支持
  14225. *
  14226. * 缩放 X 轴 */
  14227. scaleX(
  14228. /** X 轴的缩放倍数 */
  14229. scale: number
  14230. ): Animation
  14231. /** [[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)
  14232. *
  14233. * 在插件中使用:支持
  14234. *
  14235. * 缩放 Y 轴 */
  14236. scaleY(
  14237. /** Y 轴的缩放倍数 */
  14238. scale: number
  14239. ): Animation
  14240. /** [[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)
  14241. *
  14242. * 在插件中使用:支持
  14243. *
  14244. * 缩放 Z 轴 */
  14245. scaleZ(
  14246. /** Z 轴的缩放倍数 */
  14247. scale: number
  14248. ): Animation
  14249. /** [[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)
  14250. *
  14251. * 在插件中使用:支持
  14252. *
  14253. * 对 X、Y 轴坐标进行倾斜 */
  14254. skew(
  14255. /** 对 X 轴坐标倾斜的角度,范围 [-180, 180] */
  14256. ax: number,
  14257. /** 对 Y 轴坐标倾斜的角度,范围 [-180, 180] */
  14258. ay: number
  14259. ): Animation
  14260. /** [[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)
  14261. *
  14262. * 在插件中使用:支持
  14263. *
  14264. * 对 X 轴坐标进行倾斜 */
  14265. skewX(
  14266. /** 倾斜的角度,范围 [-180, 180] */
  14267. angle: number
  14268. ): Animation
  14269. /** [[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)
  14270. *
  14271. * 在插件中使用:支持
  14272. *
  14273. * 对 Y 轴坐标进行倾斜 */
  14274. skewY(
  14275. /** 倾斜的角度,范围 [-180, 180] */
  14276. angle: number
  14277. ): Animation
  14278. /** [[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)
  14279. *
  14280. * 在插件中使用:支持
  14281. *
  14282. * 表示一组动画完成。可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。 */
  14283. step(option?: StepOption): Animation
  14284. /** [[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)
  14285. *
  14286. * 在插件中使用:支持
  14287. *
  14288. * 设置 top 值 */
  14289. top(
  14290. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14291. value: number | string
  14292. ): Animation
  14293. /** [[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)
  14294. *
  14295. * 在插件中使用:支持
  14296. *
  14297. * 平移变换 */
  14298. translate(
  14299. /** 当仅有该参数时表示在 X 轴偏移 tx,单位 px */
  14300. tx?: number,
  14301. /** 在 Y 轴平移的距离,单位为 px */
  14302. ty?: number
  14303. ): Animation
  14304. /** [[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)
  14305. *
  14306. * 在插件中使用:支持
  14307. *
  14308. * 对 xyz 坐标进行平移变换 */
  14309. translate3d(
  14310. /** 在 X 轴平移的距离,单位为 px */
  14311. tx?: number,
  14312. /** 在 Y 轴平移的距离,单位为 px */
  14313. ty?: number,
  14314. /** 在 Z 轴平移的距离,单位为 px */
  14315. tz?: number
  14316. ): Animation
  14317. /** [[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)
  14318. *
  14319. * 在插件中使用:支持
  14320. *
  14321. * 对 X 轴平移 */
  14322. translateX(
  14323. /** 在 X 轴平移的距离,单位为 px */
  14324. translation: number
  14325. ): Animation
  14326. /** [[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)
  14327. *
  14328. * 在插件中使用:支持
  14329. *
  14330. * 对 Y 轴平移 */
  14331. translateY(
  14332. /** 在 Y 轴平移的距离,单位为 px */
  14333. translation: number
  14334. ): Animation
  14335. /** [[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)
  14336. *
  14337. * 在插件中使用:支持
  14338. *
  14339. * 对 Z 轴平移 */
  14340. translateZ(
  14341. /** 在 Z 轴平移的距离,单位为 px */
  14342. translation: number
  14343. ): Animation
  14344. /** [[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)
  14345. *
  14346. * 在插件中使用:支持
  14347. *
  14348. * 设置宽度 */
  14349. width(
  14350. /** 长度值,如果传入 number 则默认使用 px,可传入其他自定义单位的长度值 */
  14351. value: number | string
  14352. ): Animation
  14353. }
  14354. interface AudioContext {
  14355. /** [AudioContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.pause.html)
  14356. *
  14357. * 在插件中使用:支持
  14358. * @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) 替换
  14359. *
  14360. * 暂停音频。 */
  14361. pause(): void
  14362. /** [AudioContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.play.html)
  14363. *
  14364. * 在插件中使用:支持
  14365. * @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) 替换
  14366. *
  14367. * 播放音频。 */
  14368. play(): void
  14369. /** [AudioContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.seek.html)
  14370. *
  14371. * 在插件中使用:支持
  14372. * @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) 替换
  14373. *
  14374. * 跳转到指定位置。 */
  14375. seek(
  14376. /** 跳转位置,单位 s */
  14377. position: number
  14378. ): void
  14379. /** [AudioContext.setSrc(string src)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.setSrc.html)
  14380. *
  14381. * 在插件中使用:支持
  14382. * @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) 替换
  14383. *
  14384. * 设置音频地址 */
  14385. setSrc(
  14386. /** 音频地址 */
  14387. src: string
  14388. ): void
  14389. }
  14390. interface BLEPeripheralServer {
  14391. /** [BLEPeripheralServer.addService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.addService.html)
  14392. *
  14393. * 需要基础库: `2.10.3`
  14394. *
  14395. * 在插件中使用:不支持
  14396. *
  14397. * 添加服务。 */
  14398. addService(option: AddServiceOption): void
  14399. /** [BLEPeripheralServer.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.close.html)
  14400. *
  14401. * 需要基础库: `2.10.3`
  14402. *
  14403. * 在插件中使用:不支持
  14404. *
  14405. * 关闭当前服务端。 */
  14406. close(option?: BLEPeripheralServerCloseOption): void
  14407. /** [BLEPeripheralServer.offCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicReadRequest.html)
  14408. *
  14409. * 需要基础库: `2.10.3`
  14410. *
  14411. * 在插件中使用:不支持
  14412. *
  14413. * 移除已连接的设备请求读当前外围设备的特征值事件的监听函数
  14414. *
  14415. * **示例代码**
  14416. *
  14417. * ```js
  14418. const listener = function (res) { console.log(res) }
  14419. BLEPeripheralServer.onCharacteristicReadRequest(listener)
  14420. BLEPeripheralServer.offCharacteristicReadRequest(listener) // 需传入与监听时同一个的函数对象
  14421. ``` */
  14422. offCharacteristicReadRequest(
  14423. /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */
  14424. listener?: OffCharacteristicReadRequestCallback
  14425. ): void
  14426. /** [BLEPeripheralServer.offCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicSubscribed.html)
  14427. *
  14428. * 需要基础库: `2.13.0`
  14429. *
  14430. * 在插件中使用:不支持
  14431. *
  14432. * 移除特征订阅事件的监听函数
  14433. *
  14434. * **示例代码**
  14435. *
  14436. * ```js
  14437. const listener = function (res) { console.log(res) }
  14438. BLEPeripheralServer.onCharacteristicSubscribed(listener)
  14439. BLEPeripheralServer.offCharacteristicSubscribed(listener) // 需传入与监听时同一个的函数对象
  14440. ``` */
  14441. offCharacteristicSubscribed(
  14442. /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */
  14443. listener?: OffCharacteristicSubscribedCallback
  14444. ): void
  14445. /** [BLEPeripheralServer.offCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicUnsubscribed.html)
  14446. *
  14447. * 需要基础库: `2.13.0`
  14448. *
  14449. * 在插件中使用:不支持
  14450. *
  14451. * 移除取消特征订阅事件的监听函数
  14452. *
  14453. * **示例代码**
  14454. *
  14455. * ```js
  14456. const listener = function (res) { console.log(res) }
  14457. BLEPeripheralServer.onCharacteristicUnsubscribed(listener)
  14458. BLEPeripheralServer.offCharacteristicUnsubscribed(listener) // 需传入与监听时同一个的函数对象
  14459. ``` */
  14460. offCharacteristicUnsubscribed(
  14461. /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */
  14462. listener?: OffCharacteristicUnsubscribedCallback
  14463. ): void
  14464. /** [BLEPeripheralServer.offCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.offCharacteristicWriteRequest.html)
  14465. *
  14466. * 需要基础库: `2.10.3`
  14467. *
  14468. * 在插件中使用:不支持
  14469. *
  14470. * 移除已连接的设备请求写当前外围设备的特征值事件的监听函数
  14471. *
  14472. * **示例代码**
  14473. *
  14474. * ```js
  14475. const listener = function (res) { console.log(res) }
  14476. BLEPeripheralServer.onCharacteristicWriteRequest(listener)
  14477. BLEPeripheralServer.offCharacteristicWriteRequest(listener) // 需传入与监听时同一个的函数对象
  14478. ``` */
  14479. offCharacteristicWriteRequest(
  14480. /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */
  14481. listener?: OffCharacteristicWriteRequestCallback
  14482. ): void
  14483. /** [BLEPeripheralServer.onCharacteristicReadRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicReadRequest.html)
  14484. *
  14485. * 需要基础库: `2.10.3`
  14486. *
  14487. * 在插件中使用:不支持
  14488. *
  14489. * 监听已连接的设备请求读当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */
  14490. onCharacteristicReadRequest(
  14491. /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */
  14492. listener: OnCharacteristicReadRequestCallback
  14493. ): void
  14494. /** [BLEPeripheralServer.onCharacteristicSubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicSubscribed.html)
  14495. *
  14496. * 需要基础库: `2.13.0`
  14497. *
  14498. * 在插件中使用:不支持
  14499. *
  14500. * 监听特征订阅事件,仅 iOS 支持。 */
  14501. onCharacteristicSubscribed(
  14502. /** 特征订阅事件的监听函数 */
  14503. listener: OnCharacteristicSubscribedCallback
  14504. ): void
  14505. /** [BLEPeripheralServer.onCharacteristicUnsubscribed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicUnsubscribed.html)
  14506. *
  14507. * 需要基础库: `2.13.0`
  14508. *
  14509. * 在插件中使用:不支持
  14510. *
  14511. * 监听取消特征订阅事件,仅 iOS 支持。 */
  14512. onCharacteristicUnsubscribed(
  14513. /** 取消特征订阅事件的监听函数 */
  14514. listener: OnCharacteristicUnsubscribedCallback
  14515. ): void
  14516. /** [BLEPeripheralServer.onCharacteristicWriteRequest(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.onCharacteristicWriteRequest.html)
  14517. *
  14518. * 需要基础库: `2.10.3`
  14519. *
  14520. * 在插件中使用:不支持
  14521. *
  14522. * 监听已连接的设备请求写当前外围设备的特征值事件。收到该消息后需要立刻调用 [writeCharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html) 写回数据,否则主机不会收到响应。 */
  14523. onCharacteristicWriteRequest(
  14524. /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */
  14525. listener: OnCharacteristicWriteRequestCallback
  14526. ): void
  14527. /** [BLEPeripheralServer.removeService(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.removeService.html)
  14528. *
  14529. * 需要基础库: `2.10.3`
  14530. *
  14531. * 在插件中使用:不支持
  14532. *
  14533. * 移除服务。 */
  14534. removeService(option: RemoveServiceOption): void
  14535. /** [BLEPeripheralServer.startAdvertising(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.startAdvertising.html)
  14536. *
  14537. * 需要基础库: `2.10.3`
  14538. *
  14539. * 在插件中使用:不支持
  14540. *
  14541. * 开始广播本地创建的外围设备。
  14542. *
  14543. * **注意**
  14544. *
  14545. * - Android 8.0.9 开始,支持直接使用 16/32/128 位 UUID;
  14546. * - Android 8.0.9 以下版本只支持 128 位 UUID,使用 16/32 位的 UUID 时需要进行补位(系统会自动识别是否属于预分配区间),可以参考[蓝牙指南](https://developers.weixin.qq.com/miniprogram/dev/framework/device/ble.html);
  14547. * - iOS 必须直接使用 16 位的 UUID,不能补位到 128 位,否则系统组包时仍会按照 128 位传输。iOS 暂不支持 32 位 UUID。
  14548. * - iOS 同时只能发起一个广播,安卓支持同时发起多个广播。
  14549. * - 传 beacon 参数时,不能同时传入 deviceName,serviceUuids,manufacturerData 参数。 */
  14550. startAdvertising(Object: StartAdvertisingObject): void
  14551. /** [BLEPeripheralServer.stopAdvertising(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.stopAdvertising.html)
  14552. *
  14553. * 需要基础库: `2.10.3`
  14554. *
  14555. * 在插件中使用:不支持
  14556. *
  14557. * 停止广播。 */
  14558. stopAdvertising(option?: StopAdvertisingOption): void
  14559. /** [BLEPeripheralServer.writeCharacteristicValue(Object Object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/BLEPeripheralServer.writeCharacteristicValue.html)
  14560. *
  14561. * 需要基础库: `2.10.3`
  14562. *
  14563. * 在插件中使用:不支持
  14564. *
  14565. * 往指定特征写入二进制数据值,并通知已连接的主机,从机的特征值已发生变化,该接口会处理是走回包还是走订阅。 */
  14566. writeCharacteristicValue(Object: WriteCharacteristicValueObject): void
  14567. }
  14568. interface BackgroundAudioError {
  14569. /** 错误信息
  14570. *
  14571. * | 错误码 | 错误信息 | 说明 |
  14572. * | - | - | - |
  14573. * | 10001 | | 系统错误 |
  14574. * | 10002 | | 网络错误 |
  14575. * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length |
  14576. * | 10004 | | 格式错误 |
  14577. * | -1 | | 未知错误 | */ errMsg: string
  14578. /** 错误码
  14579. *
  14580. * | 错误码 | 错误信息 | 说明 |
  14581. * | - | - | - |
  14582. * | 10001 | | 系统错误 |
  14583. * | 10002 | | 网络错误 |
  14584. * | 10003 | | 文件错误,请检查是否responseheader是否缺少Content-Length |
  14585. * | 10004 | | 格式错误 |
  14586. * | -1 | | 未知错误 | */ errCode: number
  14587. }
  14588. interface BeaconError {
  14589. /** 错误信息
  14590. *
  14591. * | 错误码 | 错误信息 | 说明 |
  14592. * | - | - | - |
  14593. * | 0 | ok | 正常 |
  14594. * | 11000 | unsupport | 系统或设备不支持 |
  14595. * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 |
  14596. * | 11002 | location service unavailable | 位置服务不可用 |
  14597. * | 11003 | already start | 已经开始搜索 |
  14598. * | 11004 | not startBeaconDiscovery | 还未开始搜索 |
  14599. * | 11005 | system error | 系统错误 |
  14600. * | 11006 | invalid data | 参数不正确 | */ errMsg: string
  14601. /** 错误码
  14602. *
  14603. * | 错误码 | 错误信息 | 说明 |
  14604. * | - | - | - |
  14605. * | 0 | ok | 正常 |
  14606. * | 11000 | unsupport | 系统或设备不支持 |
  14607. * | 11001 | bluetooth service unavailable | 蓝牙服务不可用 |
  14608. * | 11002 | location service unavailable | 位置服务不可用 |
  14609. * | 11003 | already start | 已经开始搜索 |
  14610. * | 11004 | not startBeaconDiscovery | 还未开始搜索 |
  14611. * | 11005 | system error | 系统错误 |
  14612. * | 11006 | invalid data | 参数不正确 | */ errCode: number
  14613. }
  14614. interface BluetoothError {
  14615. /** 错误信息
  14616. *
  14617. * | 错误码 | 错误信息 | 说明 |
  14618. * | - | - | - |
  14619. * | 0 | ok | 正常 |
  14620. * | -1 | already connect | 已连接 |
  14621. * | 10000 | not init | 未初始化蓝牙适配器 |
  14622. * | 10001 | not available | 当前蓝牙适配器不可用 |
  14623. * | 10002 | no device | 没有找到指定设备 |
  14624. * | 10003 | connection fail | 连接失败 |
  14625. * | 10004 | no service | 没有找到指定服务 |
  14626. * | 10005 | no characteristic | 没有找到指定特征 |
  14627. * | 10006 | no connection | 当前连接已断开 |
  14628. * | 10007 | property not support | 当前特征不支持此操作 |
  14629. * | 10008 | system error | 其余所有系统上报的异常 |
  14630. * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE |
  14631. * | 10012 | operate time out | 连接超时 |
  14632. * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errMsg: string
  14633. /** 错误码
  14634. *
  14635. * | 错误码 | 错误信息 | 说明 |
  14636. * | - | - | - |
  14637. * | 0 | ok | 正常 |
  14638. * | -1 | already connect | 已连接 |
  14639. * | 10000 | not init | 未初始化蓝牙适配器 |
  14640. * | 10001 | not available | 当前蓝牙适配器不可用 |
  14641. * | 10002 | no device | 没有找到指定设备 |
  14642. * | 10003 | connection fail | 连接失败 |
  14643. * | 10004 | no service | 没有找到指定服务 |
  14644. * | 10005 | no characteristic | 没有找到指定特征 |
  14645. * | 10006 | no connection | 当前连接已断开 |
  14646. * | 10007 | property not support | 当前特征不支持此操作 |
  14647. * | 10008 | system error | 其余所有系统上报的异常 |
  14648. * | 10009 | system not support | Android 系统特有,系统版本低于 4.3 不支持 BLE |
  14649. * | 10012 | operate time out | 连接超时 |
  14650. * | 10013 | invalid_data | 连接 deviceId 为空或者是格式不正确 | */ errCode: number
  14651. }
  14652. interface CameraContext {
  14653. /** [CameraContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.setZoom.html)
  14654. *
  14655. * 需要基础库: `2.10.0`
  14656. *
  14657. * 在插件中使用:支持
  14658. *
  14659. * 设置缩放级别 */
  14660. setZoom(option: CameraContextSetZoomOption): void
  14661. /** [CameraContext.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.startRecord.html)
  14662. *
  14663. * 在插件中使用:支持
  14664. *
  14665. * 开始录像 */
  14666. startRecord(option: CameraContextStartRecordOption): void
  14667. /** [CameraContext.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.stopRecord.html)
  14668. *
  14669. * 在插件中使用:支持
  14670. *
  14671. * 结束录像 */
  14672. stopRecord(option: CameraContextStopRecordOption): void
  14673. /** [CameraContext.takePhoto(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.takePhoto.html)
  14674. *
  14675. * 在插件中使用:支持
  14676. *
  14677. * 拍摄照片 */
  14678. takePhoto(option: TakePhotoOption): void
  14679. /** [[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)
  14680. *
  14681. * 需要基础库: `2.7.0`
  14682. *
  14683. * 在插件中使用:不支持
  14684. *
  14685. * 获取 Camera 实时帧数据
  14686. *
  14687. * ****
  14688. *
  14689. * 注: 使用该接口需同时在 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 组件属性中指定 frame-size。
  14690. *
  14691. * **示例代码**
  14692. *
  14693. * ```js
  14694. const context = wx.createCameraContext()
  14695. const listener = context.onCameraFrame((frame) => {
  14696. console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)
  14697. })
  14698. listener.start()
  14699. ``` */
  14700. onCameraFrame(
  14701. /** 回调函数 */
  14702. callback: OnCameraFrameCallback
  14703. ): CameraFrameListener
  14704. }
  14705. interface CameraFrameListener {
  14706. /** [CameraFrameListener.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.start.html)
  14707. *
  14708. * 在插件中使用:不支持
  14709. *
  14710. * 开始监听帧数据 */
  14711. start(option?: CameraFrameListenerStartOption): void
  14712. /** [CameraFrameListener.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraFrameListener.stop.html)
  14713. *
  14714. * 在插件中使用:不支持
  14715. *
  14716. * 停止监听帧数据 */
  14717. stop(option?: StopOption): void
  14718. }
  14719. interface CanvasGradient {
  14720. /** [CanvasGradient.addColorStop(number stop, string color)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasGradient.addColorStop.html)
  14721. *
  14722. * 在插件中使用:不支持
  14723. * @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) 替换
  14724. *
  14725. * @warning **CanvasContext 是旧版的接口,新版 [Canvas 2D](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 接口与 Web 一致**
  14726. *
  14727. * 添加颜色的渐变点。小于最小 stop 的部分会按最小 stop 的 color 来渲染,大于最大 stop 的部分会按最大 stop 的 color 来渲染
  14728. *
  14729. * **示例代码**
  14730. *
  14731. * ```js
  14732. const ctx = wx.createCanvasContext('myCanvas')
  14733. // Create circular gradient
  14734. const grd = ctx.createLinearGradient(30, 10, 120, 10)
  14735. grd.addColorStop(0, 'red')
  14736. grd.addColorStop(0.16, 'orange')
  14737. grd.addColorStop(0.33, 'yellow')
  14738. grd.addColorStop(0.5, 'green')
  14739. grd.addColorStop(0.66, 'cyan')
  14740. grd.addColorStop(0.83, 'blue')
  14741. grd.addColorStop(1, 'purple')
  14742. // Fill with gradient
  14743. ctx.setFillStyle(grd)
  14744. ctx.fillRect(10, 10, 150, 80)
  14745. ctx.draw()
  14746. ```
  14747. * ![](@program/dev/image/canvas/color-stop.png) */
  14748. addColorStop(
  14749. /** 表示渐变中开始与结束之间的位置,范围 0-1。 */
  14750. stop: number,
  14751. /** 渐变点的颜色。 */
  14752. color: string
  14753. ): void
  14754. }
  14755. interface CommonPaymentError {
  14756. /** 错误信息
  14757. *
  14758. * | 错误码 | 错误信息 | 说明 |
  14759. * | - | - | - |
  14760. * | 1000 | | 系统错误 |
  14761. * | 1022 | | 参数json格式非法 |
  14762. * | 702001 | | 参数错误,具体原因见errMsg |
  14763. * | 702002 | | 用户态签名错误 |
  14764. * | 702003 | | 支付签名错误 |
  14765. * | 702004 | | mode不合法 |
  14766. * | 702005 | | out_trade_no重复,请更换新单号重试 |
  14767. * | 702006 | | 二级商户进件未完成 |
  14768. * | 702007 | | 用户未授权给品牌 |
  14769. * | 702008 | | 正式版小程序只能用生产环境下单 | */ errMsg: string
  14770. /** 错误码
  14771. *
  14772. * | 错误码 | 错误信息 | 说明 |
  14773. * | - | - | - |
  14774. * | 1000 | | 系统错误 |
  14775. * | 1022 | | 参数json格式非法 |
  14776. * | 702001 | | 参数错误,具体原因见errMsg |
  14777. * | 702002 | | 用户态签名错误 |
  14778. * | 702003 | | 支付签名错误 |
  14779. * | 702004 | | mode不合法 |
  14780. * | 702005 | | out_trade_no重复,请更换新单号重试 |
  14781. * | 702006 | | 二级商户进件未完成 |
  14782. * | 702007 | | 用户未授权给品牌 |
  14783. * | 702008 | | 正式版小程序只能用生产环境下单 | */ errCode: number
  14784. }
  14785. interface Console {
  14786. /** [console.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.debug.html)
  14787. *
  14788. * 在插件中使用:不支持
  14789. *
  14790. * 向调试面板中打印 debug 日志 */
  14791. debug(
  14792. /** 日志内容,可以有任意多个。 */
  14793. ...args: any[]
  14794. ): void
  14795. /** [console.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.error.html)
  14796. *
  14797. * 在插件中使用:不支持
  14798. *
  14799. * 向调试面板中打印 error 日志 */
  14800. error(
  14801. /** 日志内容,可以有任意多个。 */
  14802. ...args: any[]
  14803. ): void
  14804. /** [console.group(string label)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html)
  14805. *
  14806. * 在插件中使用:不支持
  14807. *
  14808. * 在调试面板中创建一个新的分组。随后输出的内容都会被添加一个缩进,表示该内容属于当前分组。调用 [console.groupEnd](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)之后分组结束。
  14809. *
  14810. * **注意**
  14811. *
  14812. * 仅在工具中有效,在 vConsole 中为空函数实现。 */
  14813. group(
  14814. /** 分组标记,可选。 */
  14815. label?: string
  14816. ): void
  14817. /** [console.groupEnd()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.groupEnd.html)
  14818. *
  14819. * 在插件中使用:不支持
  14820. *
  14821. * 结束由 [console.group](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.group.html) 创建的分组
  14822. *
  14823. * **注意**
  14824. *
  14825. * 仅在工具中有效,在 vConsole 中为空函数实现。 */
  14826. groupEnd(): void
  14827. /** [console.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.info.html)
  14828. *
  14829. * 在插件中使用:不支持
  14830. *
  14831. * 向调试面板中打印 info 日志 */
  14832. info(
  14833. /** 日志内容,可以有任意多个。 */
  14834. ...args: any[]
  14835. ): void
  14836. /** [console.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.log.html)
  14837. *
  14838. * 在插件中使用:不支持
  14839. *
  14840. * 向调试面板中打印 log 日志 */
  14841. log(
  14842. /** 日志内容,可以有任意多个。 */
  14843. ...args: any[]
  14844. ): void
  14845. /** [console.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/console.warn.html)
  14846. *
  14847. * 在插件中使用:不支持
  14848. *
  14849. * 向调试面板中打印 warn 日志 */
  14850. warn(
  14851. /** 日志内容,可以有任意多个。 */
  14852. ...args: any[]
  14853. ): void
  14854. }
  14855. interface DownloadTask {
  14856. /** [DownloadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.abort.html)
  14857. *
  14858. * 需要基础库: `1.4.0`
  14859. *
  14860. * 在插件中使用:支持
  14861. *
  14862. * 中断下载任务 */
  14863. abort(): void
  14864. /** [DownloadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offHeadersReceived.html)
  14865. *
  14866. * 需要基础库: `2.1.0`
  14867. *
  14868. * 在插件中使用:支持
  14869. *
  14870. * 移除 HTTP Response Header 事件的监听函数
  14871. *
  14872. * **示例代码**
  14873. *
  14874. * ```js
  14875. const listener = function (res) { console.log(res) }
  14876. DownloadTask.onHeadersReceived(listener)
  14877. DownloadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象
  14878. ``` */
  14879. offHeadersReceived(
  14880. /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  14881. listener?: DownloadTaskOffHeadersReceivedCallback
  14882. ): void
  14883. /** [DownloadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.offProgressUpdate.html)
  14884. *
  14885. * 需要基础库: `2.1.0`
  14886. *
  14887. * 在插件中使用:支持
  14888. *
  14889. * 移除下载进度变化事件的监听函数
  14890. *
  14891. * **示例代码**
  14892. *
  14893. * ```js
  14894. const listener = function (res) { console.log(res) }
  14895. DownloadTask.onProgressUpdate(listener)
  14896. DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象
  14897. ``` */
  14898. offProgressUpdate(
  14899. /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  14900. listener?: DownloadTaskOffProgressUpdateCallback
  14901. ): void
  14902. /** [DownloadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onHeadersReceived.html)
  14903. *
  14904. * 需要基础库: `2.1.0`
  14905. *
  14906. * 在插件中使用:支持
  14907. *
  14908. * 监听 HTTP Response Header 事件。会比请求完成事件更早 */
  14909. onHeadersReceived(
  14910. /** HTTP Response Header 事件的监听函数 */
  14911. listener: DownloadTaskOnHeadersReceivedCallback
  14912. ): void
  14913. /** [DownloadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html)
  14914. *
  14915. * 需要基础库: `1.4.0`
  14916. *
  14917. * 在插件中使用:支持
  14918. *
  14919. * 监听下载进度变化事件 */
  14920. onProgressUpdate(
  14921. /** 下载进度变化事件的监听函数 */
  14922. listener: DownloadTaskOnProgressUpdateCallback
  14923. ): void
  14924. }
  14925. interface DraggableSheetContext {
  14926. /** [DraggableSheetContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/skyline/DraggableSheetContext.scrollTo.html)
  14927. *
  14928. * 需要基础库: `3.2.0`
  14929. *
  14930. * 在插件中使用:支持
  14931. *
  14932. * 滚动到指定位置。`size` 取值 `[0, 1]`,`size = 1` 时表示撑满 `draggable-sheet` 组件。`size` 和 `pixels` 同时传入时,仅 size 生效。
  14933. *
  14934. * **示例代码**
  14935. *
  14936. * ```javascript
  14937. Page({
  14938. onReady() {
  14939. this.createSelectorQuery()
  14940. .select(".sheet")
  14941. .node()
  14942. .exec(res => {
  14943. const sheetContext = res[0].node
  14944. sheetContext.scrollTo({
  14945. size: 0.7,
  14946. animated: true,
  14947. duration: 300,
  14948. easingFunction: 'ease'
  14949. })
  14950. },
  14951. })
  14952. ``` */
  14953. scrollTo(option: DraggableSheetContextScrollToOption): void
  14954. }
  14955. interface EditorContext {
  14956. /** [EditorContext.blur(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.blur.html)
  14957. *
  14958. * 需要基础库: `2.8.3`
  14959. *
  14960. * 在插件中使用:支持
  14961. *
  14962. * 编辑器失焦,同时收起键盘。 */
  14963. blur(option?: BlurOption): void
  14964. /** [EditorContext.clear(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.clear.html)
  14965. *
  14966. * 需要基础库: `2.7.0`
  14967. *
  14968. * 在插件中使用:支持
  14969. *
  14970. * 清空编辑器内容 */
  14971. clear(option?: ClearOption): void
  14972. /** [EditorContext.format(string name, string value)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.format.html)
  14973. *
  14974. * 需要基础库: `2.7.0`
  14975. *
  14976. * 在插件中使用:支持
  14977. *
  14978. * 修改样式
  14979. *
  14980. * ****
  14981. *
  14982. * ## 支持设置的样式列表
  14983. * | name | value | verson |
  14984. * | --------------------------------------------------------- | ------------------------------- | ------ |
  14985. * | bold | | 2.7.0 |
  14986. * | italic | | 2.7.0 |
  14987. * | underline | | 2.7.0 |
  14988. * | strike | | 2.7.0 |
  14989. * | ins | | 2.7.0 |
  14990. * | script | sub / super | 2.7.0 |
  14991. * | header | H1 / H2 / h3 / H4 / h5 / H6 | 2.7.0 |
  14992. * | align | left / center / right / justify | 2.7.0 |
  14993. * | direction | rtl | 2.7.0 |
  14994. * | indent | -1 / +1 | 2.7.0 |
  14995. * | list | ordered / bullet / check | 2.7.0 |
  14996. * | color | hex color | 2.7.0 |
  14997. * | backgroundColor | hex color | 2.7.0 |
  14998. * | margin/marginTop/marginBottom/marginLeft/marginRight | css style | 2.7.0 |
  14999. * | padding/paddingTop/paddingBottom/paddingLeft/paddingRight | css style | 2.7.0 |
  15000. * | font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily | css style | 2.7.0 |
  15001. * | lineHeight | css style | 2.7.0 |
  15002. * | letterSpacing | css style | 2.7.0 |
  15003. * | textDecoration | css style | 2.7.0 |
  15004. * | textIndent | css style | 2.8.0 |
  15005. * | wordWrap | css style | 2.10.2 |
  15006. * | wordBreak | css style | 2.10.2 |
  15007. * | whiteSpace | css style | 2.10.2 |
  15008. *
  15009. * 对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。 */
  15010. format(
  15011. /** 属性 */
  15012. name: string,
  15013. /** 值 */
  15014. value?: string
  15015. ): void
  15016. /** [EditorContext.getContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getContents.html)
  15017. *
  15018. * 需要基础库: `2.7.0`
  15019. *
  15020. * 在插件中使用:支持
  15021. *
  15022. * 获取编辑器内容 */
  15023. getContents(option?: GetContentsOption): void
  15024. /** [EditorContext.getSelectionText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.getSelectionText.html)
  15025. *
  15026. * 需要基础库: `2.10.2`
  15027. *
  15028. * 在插件中使用:支持
  15029. *
  15030. * 获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。 */
  15031. getSelectionText(option?: GetSelectionTextOption): void
  15032. /** [EditorContext.insertDivider(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertDivider.html)
  15033. *
  15034. * 需要基础库: `2.7.0`
  15035. *
  15036. * 在插件中使用:支持
  15037. *
  15038. * 插入分割线 */
  15039. insertDivider(option?: InsertDividerOption): void
  15040. /** [EditorContext.insertImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertImage.html)
  15041. *
  15042. * 需要基础库: `2.7.0`
  15043. *
  15044. * 在插件中使用:支持
  15045. *
  15046. * 插入图片。
  15047. *
  15048. * 地址为临时文件时,获取的编辑器html格式内容中 <img> 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。
  15049. *
  15050. * 开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 <img> 的 src 值,对于 delta 内容应替换掉 `insert { image: abc }` 值。
  15051. *
  15052. * **示例代码**
  15053. *
  15054. * ```javascript
  15055. this.editorCtx.insertImage({
  15056. src: 'xx',
  15057. width: '100px',
  15058. height: '50px',
  15059. extClass: className
  15060. })
  15061. ``` */
  15062. insertImage(option: InsertImageOption): void
  15063. /** [EditorContext.insertText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.insertText.html)
  15064. *
  15065. * 需要基础库: `2.7.0`
  15066. *
  15067. * 在插件中使用:支持
  15068. *
  15069. * 覆盖当前选区,设置一段文本 */
  15070. insertText(option: InsertTextOption): void
  15071. /** [EditorContext.redo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.redo.html)
  15072. *
  15073. * 需要基础库: `2.7.0`
  15074. *
  15075. * 在插件中使用:支持
  15076. *
  15077. * 恢复 */
  15078. redo(option?: RedoOption): void
  15079. /** [EditorContext.removeFormat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.removeFormat.html)
  15080. *
  15081. * 需要基础库: `2.7.0`
  15082. *
  15083. * 在插件中使用:支持
  15084. *
  15085. * 清除当前选区的样式 */
  15086. removeFormat(option?: RemoveFormatOption): void
  15087. /** [EditorContext.scrollIntoView()](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.scrollIntoView.html)
  15088. *
  15089. * 需要基础库: `2.8.3`
  15090. *
  15091. * 在插件中使用:支持
  15092. *
  15093. * 使得编辑器光标处滚动到窗口可视区域内。 */
  15094. scrollIntoView(): void
  15095. /** [EditorContext.setContents(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.setContents.html)
  15096. *
  15097. * 需要基础库: `2.7.0`
  15098. *
  15099. * 在插件中使用:支持
  15100. *
  15101. * 初始化编辑器内容,html和delta同时存在时仅delta生效 */
  15102. setContents(option: SetContentsOption): void
  15103. /** [EditorContext.undo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/editor/EditorContext.undo.html)
  15104. *
  15105. * 需要基础库: `2.7.0`
  15106. *
  15107. * 在插件中使用:支持
  15108. *
  15109. * 撤销 */
  15110. undo(option?: UndoOption): void
  15111. }
  15112. interface EntryList {
  15113. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; EntryList.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntries.html)
  15114. *
  15115. * 需要基础库: `2.11.0`
  15116. *
  15117. * 在插件中使用:不支持
  15118. *
  15119. * 该方法返回当前列表中的所有性能数据 */
  15120. getEntries(): PerformanceEntry[]
  15121. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; EntryList.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByName.html)
  15122. *
  15123. * 需要基础库: `2.11.0`
  15124. *
  15125. * 在插件中使用:不支持
  15126. *
  15127. * 获取当前列表中所有名称为 [name] 且类型为 [entryType] 的性能数据 */
  15128. getEntriesByName(
  15129. name: string,
  15130. entryType?: string
  15131. ): PerformanceEntry[]
  15132. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; EntryList.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/EntryList.getEntriesByType.html)
  15133. *
  15134. * 需要基础库: `2.11.0`
  15135. *
  15136. * 在插件中使用:不支持
  15137. *
  15138. * 获取当前列表中所有类型为 [entryType] 的性能数据 */
  15139. getEntriesByType(entryType: string): PerformanceEntry[]
  15140. }
  15141. interface EventChannel {
  15142. /** [EventChannel.emit(string eventName, any args)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.emit.html)
  15143. *
  15144. * 需要基础库: `2.7.3`
  15145. *
  15146. * 在插件中使用:支持
  15147. *
  15148. * 触发一个事件 */
  15149. emit(
  15150. /** 事件名称 */
  15151. eventName: string,
  15152. /** 事件参数 */
  15153. ...args: any
  15154. ): void
  15155. /** [EventChannel.off(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.off.html)
  15156. *
  15157. * 需要基础库: `2.7.3`
  15158. *
  15159. * 在插件中使用:支持
  15160. *
  15161. * 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数 */
  15162. off(
  15163. /** 事件名称 */
  15164. eventName: string,
  15165. /** 事件监听函数 */
  15166. fn: EventCallback
  15167. ): void
  15168. /** [EventChannel.on(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.on.html)
  15169. *
  15170. * 需要基础库: `2.7.3`
  15171. *
  15172. * 在插件中使用:支持
  15173. *
  15174. * 持续监听一个事件 */
  15175. on(
  15176. /** 事件名称 */
  15177. eventName: string,
  15178. /** 事件监听函数 */
  15179. fn: EventCallback
  15180. ): void
  15181. /** [EventChannel.once(string eventName, function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/route/EventChannel.once.html)
  15182. *
  15183. * 需要基础库: `2.7.3`
  15184. *
  15185. * 在插件中使用:支持
  15186. *
  15187. * 监听一个事件一次,触发后失效 */
  15188. once(
  15189. /** 事件名称 */
  15190. eventName: string,
  15191. /** 事件监听函数 */
  15192. fn: EventCallback
  15193. ): void
  15194. }
  15195. interface FileError {
  15196. /** 错误信息
  15197. *
  15198. * | 错误码 | 错误信息 | 说明 |
  15199. * | - | - | - |
  15200. * | 1300001 | operation not permitted | 操作不被允许(例如,filePath 预期传入一个文件而实际传入一个目录) |
  15201. * | 1300002 | no such file or directory ${path} | 文件/目录不存在,或者目标文件路径的上层目录不存在 |
  15202. * | 1300005 | Input/output error | 输入输出流不可用 |
  15203. * | 1300009 | bad file descriptor | 无效的文件描述符 |
  15204. * | 1300013 | permission denied | 权限错误,文件是只读或只写 |
  15205. * | 1300014 | Path permission denied | 传入的路径没有权限 |
  15206. * | 1300020 | not a directory | dirPath 指定路径不是目录,常见于指定的写入路径的上级路径为一个文件的情况 |
  15207. * | 1300021 | Is a directory | 指定路径是一个目录 |
  15208. * | 1300022 | Invalid argument | 无效参数,可以检查length或offset是否越界 |
  15209. * | 1300036 | File name too long | 文件名过长 |
  15210. * | 1300066 | directory not empty | 目录不为空 |
  15211. * | 1300201 | system error | 系统接口调用失败 |
  15212. * | 1300202 | the maximum size of the file storage limit is exceeded | 存储空间不足,或文件大小超出上限(上限100M) |
  15213. * | 1300203 | base64 encode error | 字符编码转换失败(例如 base64 格式错误) |
  15214. * | 1300300 | sdcard not mounted | android sdcard 挂载失败 |
  15215. * | 1300301 | unable to open as fileType | 无法以fileType打开文件 |
  15216. * | 1301000 | permission denied, cannot access file path | 目标路径无访问权限(usr目录) |
  15217. * | 1301002 | data to write is empty | 写入数据为空 |
  15218. * | 1301003 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) |
  15219. * | 1301004 | illegal operation on a package directory | 不可对代码包目录进行此操作 |
  15220. * | 1301005 | file already exists ${dirPath} | 已有同名文件或目录 |
  15221. * | 1301006 | value of length is out of range | 传入的 length 不合法 |
  15222. * | 1301007 | value of offset is out of range | 传入的 offset 不合法 |
  15223. * | 1301009 | value of position is out of range | position值越界 |
  15224. * | 1301100 | store directory is empty | store目录为空 |
  15225. * | 1301102 | unzip open file fail | 压缩文件打开失败 |
  15226. * | 1301103 | unzip entry fail | 解压单个文件失败 |
  15227. * | 1301104 | unzip fail | 解压失败 |
  15228. * | 1301111 | brotli decompress fail | brotli解压失败(例如,指定的 compressionAlgorithm 与文件实际压缩格式不符) |
  15229. * | 1301112 | tempFilePath file not exist | 指定的 tempFilePath 找不到文件 |
  15230. * | 1302001 | fail permission denied | 指定的 fd 路径没有读权限/没有写权限 |
  15231. * | 1302002 | excced max concurrent fd limit | fd数量已达上限 |
  15232. * | 1302003 | invalid flag | 无效的flag |
  15233. * | 1302004 | permission denied when open using flag | 无法使用flag标志打开文件 |
  15234. * | 1302005 | array buffer does not exist | 未传入arrayBuffer |
  15235. * | 1302100 | array buffer is readonly | arrayBuffer只读 | */ errMsg: string
  15236. /** 错误码
  15237. *
  15238. * | 错误码 | 错误信息 | 说明 |
  15239. * | - | - | - |
  15240. * | 1300001 | operation not permitted | 操作不被允许(例如,filePath 预期传入一个文件而实际传入一个目录) |
  15241. * | 1300002 | no such file or directory ${path} | 文件/目录不存在,或者目标文件路径的上层目录不存在 |
  15242. * | 1300005 | Input/output error | 输入输出流不可用 |
  15243. * | 1300009 | bad file descriptor | 无效的文件描述符 |
  15244. * | 1300013 | permission denied | 权限错误,文件是只读或只写 |
  15245. * | 1300014 | Path permission denied | 传入的路径没有权限 |
  15246. * | 1300020 | not a directory | dirPath 指定路径不是目录,常见于指定的写入路径的上级路径为一个文件的情况 |
  15247. * | 1300021 | Is a directory | 指定路径是一个目录 |
  15248. * | 1300022 | Invalid argument | 无效参数,可以检查length或offset是否越界 |
  15249. * | 1300036 | File name too long | 文件名过长 |
  15250. * | 1300066 | directory not empty | 目录不为空 |
  15251. * | 1300201 | system error | 系统接口调用失败 |
  15252. * | 1300202 | the maximum size of the file storage limit is exceeded | 存储空间不足,或文件大小超出上限(上限100M) |
  15253. * | 1300203 | base64 encode error | 字符编码转换失败(例如 base64 格式错误) |
  15254. * | 1300300 | sdcard not mounted | android sdcard 挂载失败 |
  15255. * | 1300301 | unable to open as fileType | 无法以fileType打开文件 |
  15256. * | 1301000 | permission denied, cannot access file path | 目标路径无访问权限(usr目录) |
  15257. * | 1301002 | data to write is empty | 写入数据为空 |
  15258. * | 1301003 | illegal operation on a directory | 不可对目录进行此操作(例如,指定的 filePath 是一个已经存在的目录) |
  15259. * | 1301004 | illegal operation on a package directory | 不可对代码包目录进行此操作 |
  15260. * | 1301005 | file already exists ${dirPath} | 已有同名文件或目录 |
  15261. * | 1301006 | value of length is out of range | 传入的 length 不合法 |
  15262. * | 1301007 | value of offset is out of range | 传入的 offset 不合法 |
  15263. * | 1301009 | value of position is out of range | position值越界 |
  15264. * | 1301100 | store directory is empty | store目录为空 |
  15265. * | 1301102 | unzip open file fail | 压缩文件打开失败 |
  15266. * | 1301103 | unzip entry fail | 解压单个文件失败 |
  15267. * | 1301104 | unzip fail | 解压失败 |
  15268. * | 1301111 | brotli decompress fail | brotli解压失败(例如,指定的 compressionAlgorithm 与文件实际压缩格式不符) |
  15269. * | 1301112 | tempFilePath file not exist | 指定的 tempFilePath 找不到文件 |
  15270. * | 1302001 | fail permission denied | 指定的 fd 路径没有读权限/没有写权限 |
  15271. * | 1302002 | excced max concurrent fd limit | fd数量已达上限 |
  15272. * | 1302003 | invalid flag | 无效的flag |
  15273. * | 1302004 | permission denied when open using flag | 无法使用flag标志打开文件 |
  15274. * | 1302005 | array buffer does not exist | 未传入arrayBuffer |
  15275. * | 1302100 | array buffer is readonly | arrayBuffer只读 | */ errCode: number
  15276. }
  15277. interface FileSystemManager {
  15278. /** [Array.&lt;string&gt; FileSystemManager.readdirSync(string dirPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdirSync.html)
  15279. *
  15280. * 在插件中使用:需要基础库 `2.19.2`
  15281. *
  15282. * [FileSystemManager.readdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html) 的同步版本
  15283. *
  15284. * **注意事项</title>
  15285. * - readdir接口无法访问文件系统根路径(wxfile://)。
  15286. * <title>示例代码**
  15287. *
  15288. * ```js
  15289. const fs = wx.getFileSystemManager()
  15290. fs.readdir({
  15291. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  15292. success(res) {
  15293. console.log(res.files)
  15294. },
  15295. fail(res) {
  15296. console.error(res)
  15297. }
  15298. })
  15299. // 同步接口
  15300. try {
  15301. const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`)
  15302. console.log(res)
  15303. } catch(e) {
  15304. console.error(e)
  15305. }
  15306. ``` */
  15307. readdirSync(
  15308. /** 要读取的目录路径 (本地路径) */
  15309. dirPath: string
  15310. ): string[]
  15311. /** [ArrayBuffer FileSystemManager.readCompressedFileSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFileSync.html)
  15312. *
  15313. * 需要基础库: `2.21.1`
  15314. *
  15315. * 在插件中使用:不支持
  15316. *
  15317. * 同步读取指定压缩类型的本地文件内容
  15318. *
  15319. * **示例代码**
  15320. *
  15321. * ```js
  15322. const fs = wx.getFileSystemManager()
  15323. // 异步接口
  15324. fs.readCompressedFile({
  15325. filePath: '${wx.env.USER_DATA_PATH}/hello.br',
  15326. compressionAlgorithm: 'br',
  15327. success(res) {
  15328. console.log(res.data)
  15329. },
  15330. fail(res) {
  15331. console.log('readCompressedFile fail', res)
  15332. }
  15333. })
  15334. // 同步接口
  15335. try {
  15336. const data = fs.readCompressedFileSync({
  15337. filePath: '${wx.env.USER_DATA_PATH}/hello.br',
  15338. compressionAlgorithm: 'br',
  15339. })
  15340. console.log(data)
  15341. } catch (err) {
  15342. console.log(err)
  15343. }
  15344. ``` */
  15345. readCompressedFileSync(
  15346. option: ReadCompressedFileSyncOption
  15347. ): ArrayBuffer
  15348. /** [FileSystemManager.access(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html)
  15349. *
  15350. * 在插件中使用:需要基础库 `2.19.2`
  15351. *
  15352. * 判断文件/目录是否存在
  15353. *
  15354. * **示例代码**
  15355. *
  15356. * ```js
  15357. const fs = wx.getFileSystemManager()
  15358. // 判断文件/目录是否存在
  15359. fs.access({
  15360. path: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15361. success(res) {
  15362. // 文件存在
  15363. console.log(res)
  15364. },
  15365. fail(res) {
  15366. // 文件不存在或其他错误
  15367. console.error(res)
  15368. }
  15369. })
  15370. // 同步接口
  15371. try {
  15372. fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`)
  15373. } catch(e) {
  15374. console.error(e)
  15375. }
  15376. ``` */
  15377. access(option: AccessOption): void
  15378. /** [FileSystemManager.accessSync(string path)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.accessSync.html)
  15379. *
  15380. * 在插件中使用:需要基础库 `2.19.2`
  15381. *
  15382. * [FileSystemManager.access](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.access.html) 的同步版本
  15383. *
  15384. * **示例代码**
  15385. *
  15386. * ```js
  15387. const fs = wx.getFileSystemManager()
  15388. // 判断文件/目录是否存在
  15389. fs.access({
  15390. path: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15391. success(res) {
  15392. // 文件存在
  15393. console.log(res)
  15394. },
  15395. fail(res) {
  15396. // 文件不存在或其他错误
  15397. console.error(res)
  15398. }
  15399. })
  15400. // 同步接口
  15401. try {
  15402. fs.accessSync(`${wx.env.USER_DATA_PATH}/hello.txt`)
  15403. } catch(e) {
  15404. console.error(e)
  15405. }
  15406. ``` */
  15407. accessSync(
  15408. /** 要判断是否存在的文件/目录路径 (本地路径) */
  15409. path: string
  15410. ): void
  15411. /** [FileSystemManager.appendFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html)
  15412. *
  15413. * 需要基础库: `2.1.0`
  15414. *
  15415. * 在插件中使用:需要基础库 `2.19.2`
  15416. *
  15417. * 在文件结尾追加内容
  15418. *
  15419. * **示例代码**
  15420. *
  15421. * ```js
  15422. const fs = wx.getFileSystemManager()
  15423. fs.appendFile({
  15424. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15425. data: 'some text',
  15426. encoding: 'utf8',
  15427. success(res) {
  15428. console.log(res)
  15429. },
  15430. fail(res) {
  15431. console.error(res)
  15432. }
  15433. })
  15434. // 同步接口
  15435. try {
  15436. fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8')
  15437. } catch(e) {
  15438. console.error(e)
  15439. }
  15440. ``` */
  15441. appendFile(option: AppendFileOption): void
  15442. /** [FileSystemManager.appendFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFileSync.html)
  15443. *
  15444. * 需要基础库: `2.1.0`
  15445. *
  15446. * 在插件中使用:需要基础库 `2.19.2`
  15447. *
  15448. * [FileSystemManager.appendFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.appendFile.html) 的同步版本
  15449. *
  15450. * **示例代码**
  15451. *
  15452. * ```js
  15453. const fs = wx.getFileSystemManager()
  15454. fs.appendFile({
  15455. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15456. data: 'some text',
  15457. encoding: 'utf8',
  15458. success(res) {
  15459. console.log(res)
  15460. },
  15461. fail(res) {
  15462. console.error(res)
  15463. }
  15464. })
  15465. // 同步接口
  15466. try {
  15467. fs.appendFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'some text', 'utf8')
  15468. } catch(e) {
  15469. console.error(e)
  15470. }
  15471. ``` */
  15472. appendFileSync(
  15473. /** 要追加内容的文件路径 (本地路径) */
  15474. filePath: string,
  15475. /** 要追加的文本或二进制数据 */
  15476. data: string | ArrayBuffer,
  15477. /** 指定写入文件的字符编码
  15478. *
  15479. * 参数 encoding 可选值:
  15480. * - 'ascii': ;
  15481. * - 'base64': ;
  15482. * - 'binary': ;
  15483. * - 'hex': ;
  15484. * - 'ucs2': 以小端序读取;
  15485. * - 'ucs-2': 以小端序读取;
  15486. * - 'utf16le': 以小端序读取;
  15487. * - 'utf-16le': 以小端序读取;
  15488. * - 'utf-8': ;
  15489. * - 'utf8': ;
  15490. * - 'latin1': ; */
  15491. encoding?:
  15492. | 'ascii'
  15493. | 'base64'
  15494. | 'binary'
  15495. | 'hex'
  15496. | 'ucs2'
  15497. | 'ucs-2'
  15498. | 'utf16le'
  15499. | 'utf-16le'
  15500. | 'utf-8'
  15501. | 'utf8'
  15502. | 'latin1'
  15503. ): void
  15504. /** [FileSystemManager.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.close.html)
  15505. *
  15506. * 需要基础库: `2.16.1`
  15507. *
  15508. * 在插件中使用:需要基础库 `2.19.2`
  15509. *
  15510. * 关闭文件
  15511. *
  15512. * **示例代码**
  15513. *
  15514. * ```js
  15515. const fs = wx.getFileSystemManager()
  15516. // 打开文件
  15517. fs.open({
  15518. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15519. flag: 'a+',
  15520. success(res) {
  15521. // 关闭文件
  15522. fs.close({
  15523. fd: res.fd
  15524. })
  15525. }
  15526. })
  15527. ``` */
  15528. close(option: FileSystemManagerCloseOption): void
  15529. /** [FileSystemManager.copyFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html)
  15530. *
  15531. * 在插件中使用:需要基础库 `2.19.2`
  15532. *
  15533. * 复制文件
  15534. *
  15535. * **示例代码**
  15536. *
  15537. * ```js
  15538. const fs = wx.getFileSystemManager()
  15539. fs.copyFile({
  15540. srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15541. destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt`
  15542. success(res) {
  15543. console.log(res)
  15544. },
  15545. fail(res) {
  15546. console.error(res)
  15547. }
  15548. })
  15549. // 同步接口
  15550. try {
  15551. fs.copyFileSync(
  15552. `${wx.env.USER_DATA_PATH}/hello.txt`,
  15553. `${wx.env.USER_DATA_PATH}/hello_copy.txt`
  15554. )
  15555. } catch(e) {
  15556. console.error(e)
  15557. }
  15558. ``` */
  15559. copyFile(option: CopyFileOption): void
  15560. /** [FileSystemManager.copyFileSync(string srcPath, string destPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFileSync.html)
  15561. *
  15562. * 在插件中使用:需要基础库 `2.19.2`
  15563. *
  15564. * [FileSystemManager.copyFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.copyFile.html) 的同步版本
  15565. *
  15566. * **示例代码**
  15567. *
  15568. * ```js
  15569. const fs = wx.getFileSystemManager()
  15570. fs.copyFile({
  15571. srcPath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15572. destPath: `${wx.env.USER_DATA_PATH}/hello_copy.txt`
  15573. success(res) {
  15574. console.log(res)
  15575. },
  15576. fail(res) {
  15577. console.error(res)
  15578. }
  15579. })
  15580. // 同步接口
  15581. try {
  15582. fs.copyFileSync(
  15583. `${wx.env.USER_DATA_PATH}/hello.txt`,
  15584. `${wx.env.USER_DATA_PATH}/hello_copy.txt`
  15585. )
  15586. } catch(e) {
  15587. console.error(e)
  15588. }
  15589. ``` */
  15590. copyFileSync(
  15591. /** 源文件路径,支持本地路径 */
  15592. srcPath: string,
  15593. /** 目标文件路径,支持本地路径 */
  15594. destPath: string
  15595. ): void
  15596. /** [FileSystemManager.fstat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.fstat.html)
  15597. *
  15598. * 需要基础库: `2.16.1`
  15599. *
  15600. * 在插件中使用:需要基础库 `2.19.2`
  15601. *
  15602. * 获取文件的状态信息
  15603. *
  15604. * **示例代码**
  15605. *
  15606. * ```js
  15607. const fs = wx.getFileSystemManager()
  15608. // 打开文件
  15609. fs.open({
  15610. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15611. flag: 'a+',
  15612. success(res) {
  15613. // 获取文件的状态信息
  15614. fs.fstat({
  15615. fd: res.fd,
  15616. success(res) {
  15617. console.log(res.stats)
  15618. }
  15619. })
  15620. }
  15621. })
  15622. ``` */
  15623. fstat(option: FstatOption): void
  15624. /** [FileSystemManager.ftruncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncate.html)
  15625. *
  15626. * 需要基础库: `2.16.1`
  15627. *
  15628. * 在插件中使用:需要基础库 `2.19.2`
  15629. *
  15630. * 对文件内容进行截断操作
  15631. *
  15632. * **示例代码**
  15633. *
  15634. * ```js
  15635. const fs = wx.getFileSystemManager()
  15636. // 打开文件
  15637. fs.open({
  15638. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15639. flag: 'a+',
  15640. success(res) {
  15641. // 对文件内容进行截断操作
  15642. fs.ftruncate({
  15643. fd: res.fd,
  15644. length: 10, // 从第10个字节开始截断文件
  15645. success(res) {
  15646. console.log(res)
  15647. }
  15648. })
  15649. }
  15650. })
  15651. ``` */
  15652. ftruncate(option: FtruncateOption): void
  15653. /** [FileSystemManager.getFileInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html)
  15654. *
  15655. * 在插件中使用:不支持
  15656. *
  15657. * 获取该小程序下的 本地临时文件 或 本地缓存文件 信息 */
  15658. getFileInfo(option: GetFileInfoOption): void
  15659. /** [FileSystemManager.getSavedFileList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getSavedFileList.html)
  15660. *
  15661. * 在插件中使用:不支持
  15662. *
  15663. * 获取该小程序下已保存的本地缓存文件列表 */
  15664. getSavedFileList(option?: GetSavedFileListOption): void
  15665. /** [FileSystemManager.mkdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html)
  15666. *
  15667. * 在插件中使用:需要基础库 `2.19.2`
  15668. *
  15669. * 创建目录
  15670. *
  15671. * **示例代码**
  15672. *
  15673. * ```js
  15674. const fs = wx.getFileSystemManager()
  15675. fs.mkdir({
  15676. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  15677. recursive: false,
  15678. success(res) {
  15679. console.log(res)
  15680. },
  15681. fail(res) {
  15682. console.error(res)
  15683. }
  15684. })
  15685. // 同步接口
  15686. try {
  15687. fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false)
  15688. } catch(e) {
  15689. console.error(e)
  15690. }
  15691. ``` */
  15692. mkdir(option: MkdirOption): void
  15693. /** [FileSystemManager.mkdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdirSync.html)
  15694. *
  15695. * 在插件中使用:需要基础库 `2.19.2`
  15696. *
  15697. * [FileSystemManager.mkdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.mkdir.html) 的同步版本
  15698. *
  15699. * **示例代码**
  15700. *
  15701. * ```js
  15702. const fs = wx.getFileSystemManager()
  15703. fs.mkdir({
  15704. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  15705. recursive: false,
  15706. success(res) {
  15707. console.log(res)
  15708. },
  15709. fail(res) {
  15710. console.error(res)
  15711. }
  15712. })
  15713. // 同步接口
  15714. try {
  15715. fs.mkdirSync(`${wx.env.USER_DATA_PATH}/example`, false)
  15716. } catch(e) {
  15717. console.error(e)
  15718. }
  15719. ``` */
  15720. mkdirSync(
  15721. /** 创建的目录路径 (本地路径) */
  15722. dirPath: string,
  15723. /** 需要基础库: `2.3.0`
  15724. *
  15725. * 是否在递归创建该目录的上级目录后再创建该目录。如果对应的上级目录已经存在,则不创建该上级目录。如 dirPath 为 a/b/c/d 且 recursive 为 true,将创建 a 目录,再在 a 目录下创建 b 目录,以此类推直至创建 a/b/c 目录下的 d 目录。 */
  15726. recursive?: boolean
  15727. ): void
  15728. /** [FileSystemManager.open(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.open.html)
  15729. *
  15730. * 需要基础库: `2.16.1`
  15731. *
  15732. * 在插件中使用:需要基础库 `2.19.2`
  15733. *
  15734. * 打开文件,返回文件描述符
  15735. *
  15736. * **示例代码**
  15737. *
  15738. * ```js
  15739. const fs = wx.getFileSystemManager()
  15740. fs.open({
  15741. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15742. flag: 'a+',
  15743. success(res) {
  15744. console.log(res.fd)
  15745. }
  15746. })
  15747. ``` */
  15748. open(option: OpenOption): void
  15749. /** [FileSystemManager.read(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.read.html)
  15750. *
  15751. * 需要基础库: `2.16.1`
  15752. *
  15753. * 在插件中使用:需要基础库 `2.19.2`
  15754. *
  15755. * 读文件
  15756. *
  15757. * **示例代码**
  15758. *
  15759. * ```js
  15760. const fs = wx.getFileSystemManager()
  15761. const ab = new ArrayBuffer(1024)
  15762. // 打开文件
  15763. fs.open({
  15764. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15765. flag: 'a+',
  15766. success(res) {
  15767. // 读取文件到 ArrayBuffer 中
  15768. fs.read({
  15769. fd: res.fd,
  15770. arrayBuffer: ab,
  15771. length: 10,
  15772. success(res) {
  15773. console.log(res)
  15774. }
  15775. })
  15776. }
  15777. })
  15778. ```
  15779. * ## 注意事项
  15780. * - 小游戏 iOS 高性能模式(iOSHighPerformance)暂不支持 FileSystemManager.read 接口,请使用 FileSystemManager.readFile 接口代替 */
  15781. read(option: ReadOption): void
  15782. /** [FileSystemManager.readCompressedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readCompressedFile.html)
  15783. *
  15784. * 需要基础库: `2.21.1`
  15785. *
  15786. * 在插件中使用:不支持
  15787. *
  15788. * 读取指定压缩类型的本地文件内容
  15789. *
  15790. * **示例代码**
  15791. *
  15792. * ```js
  15793. const fs = wx.getFileSystemManager()
  15794. // 异步接口
  15795. fs.readCompressedFile({
  15796. filePath: '${wx.env.USER_DATA_PATH}/hello.br',
  15797. compressionAlgorithm: 'br',
  15798. success(res) {
  15799. console.log(res.data)
  15800. },
  15801. fail(res) {
  15802. console.log('readCompressedFile fail', res)
  15803. }
  15804. })
  15805. // 同步接口
  15806. const data = fs.readCompressedFileSync({
  15807. filePath: '${wx.env.USER_DATA_PATH}/hello.br',
  15808. compressionAlgorithm: 'br',
  15809. })
  15810. console.log(data)
  15811. ``` */
  15812. readCompressedFile(option: ReadCompressedFileOption): void
  15813. /** [FileSystemManager.readFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html)
  15814. *
  15815. * 在插件中使用:需要基础库 `2.19.2`
  15816. *
  15817. * 读取本地文件内容。单个文件大小上限为100M。
  15818. *
  15819. * **示例代码**
  15820. *
  15821. * ```js
  15822. const fs = wx.getFileSystemManager()
  15823. fs.readFile({
  15824. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15825. encoding: 'utf8',
  15826. position: 0,
  15827. success(res) {
  15828. console.log(res.data)
  15829. },
  15830. fail(res) {
  15831. console.error(res)
  15832. }
  15833. })
  15834. // 同步接口
  15835. try {
  15836. const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0)
  15837. console.log(res)
  15838. } catch(e) {
  15839. console.error(e)
  15840. }
  15841. ``` */
  15842. readFile(option: ReadFileOption): void
  15843. /** [FileSystemManager.readZipEntry(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readZipEntry.html)
  15844. *
  15845. * 需要基础库: `2.17.3`
  15846. *
  15847. * 在插件中使用:需要基础库 `2.19.2`
  15848. *
  15849. * 读取压缩包内的文件
  15850. *
  15851. * **示例代码**
  15852. *
  15853. * ```js
  15854. const fs = wx.getFileSystemManager()
  15855. // 读取zip内某个或多个文件
  15856. fs.readZipEntry({
  15857. filePath: 'wxfile://from/to.zip',
  15858. entries: [{
  15859. path: 'some_folder/my_file.txt', // zip内文件路径
  15860. encoding: 'utf-8', // 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  15861. position: 0, // 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte
  15862. length: 10000, // 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte
  15863. }, {
  15864. path: 'other_folder/orther_file.txt', // zip内文件路径
  15865. }],
  15866. success(res) {
  15867. console.log(res.entries)
  15868. // res.entries === {
  15869. // 'some_folder/my_file.txt': {
  15870. // errMsg: 'readZipEntry:ok',
  15871. // data: 'xxxxxx'
  15872. // },
  15873. // 'other_folder/orther_file.txt': {
  15874. // data: (ArrayBuffer)
  15875. // }
  15876. // }
  15877. },
  15878. fail(res) {
  15879. console.log(res.errMsg)
  15880. },
  15881. })
  15882. // 读取zip内所有文件。允许指定统一的encoding。position、length则不再允许指定,分别默认为0和文件长度
  15883. fs.readZipEntry({
  15884. filePath: 'wxfile://from/to.zip',
  15885. entries: 'all'
  15886. encoding: 'utf-8', // 统一指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  15887. success(res) {
  15888. console.log(res.entries)
  15889. // res.entries === {
  15890. // 'some_folder/my_file.txt': {
  15891. // errMsg: 'readZipEntry:ok',
  15892. // data: 'xxxxxx'
  15893. // },
  15894. // 'other_folder/orther_file.txt': {
  15895. // errMsg: 'readZipEntry:ok',
  15896. // data: 'xxxxxx'
  15897. // }
  15898. // }
  15899. },
  15900. fail(res) {
  15901. console.log(res.errMsg)
  15902. },
  15903. })
  15904. ``` */
  15905. readZipEntry(option: ReadZipEntryOption): void
  15906. /** [FileSystemManager.readdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readdir.html)
  15907. *
  15908. * 在插件中使用:需要基础库 `2.19.2`
  15909. *
  15910. * 读取目录内文件列表
  15911. *
  15912. * **注意事项</title>
  15913. * - readdir接口无法访问文件系统根路径(wxfile://)。
  15914. * <title>示例代码**
  15915. *
  15916. * ```js
  15917. const fs = wx.getFileSystemManager()
  15918. fs.readdir({
  15919. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  15920. success(res) {
  15921. console.log(res.files)
  15922. },
  15923. fail(res) {
  15924. console.error(res)
  15925. }
  15926. })
  15927. // 同步接口
  15928. try {
  15929. const res = fs.readdirSync(`${wx.env.USER_DATA_PATH}/example`)
  15930. console.log(res)
  15931. } catch(e) {
  15932. console.error(e)
  15933. }
  15934. ``` */
  15935. readdir(option: ReaddirOption): void
  15936. /** [FileSystemManager.removeSavedFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.removeSavedFile.html)
  15937. *
  15938. * 在插件中使用:不支持
  15939. *
  15940. * 删除该小程序下已保存的本地缓存文件 */
  15941. removeSavedFile(option: RemoveSavedFileOption): void
  15942. /** [FileSystemManager.rename(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html)
  15943. *
  15944. * 在插件中使用:需要基础库 `2.19.2`
  15945. *
  15946. * 重命名文件。可以把文件从 oldPath 移动到 newPath
  15947. *
  15948. * **示例代码**
  15949. *
  15950. * ```js
  15951. const fs = wx.getFileSystemManager()
  15952. fs.rename({
  15953. oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15954. newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`,
  15955. success(res) {
  15956. console.log(res)
  15957. },
  15958. fail(res) {
  15959. console.error(res)
  15960. }
  15961. })
  15962. // 同步接口
  15963. try {
  15964. const res = fs.renameSync(
  15965. `${wx.env.USER_DATA_PATH}/hello.txt`,
  15966. `${wx.env.USER_DATA_PATH}/hello_new.txt`
  15967. )
  15968. console.log(res)
  15969. } catch(e) {
  15970. console.error(e)
  15971. }
  15972. ``` */
  15973. rename(option: RenameOption): void
  15974. /** [FileSystemManager.renameSync(string oldPath, string newPath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.renameSync.html)
  15975. *
  15976. * 在插件中使用:需要基础库 `2.19.2`
  15977. *
  15978. * [FileSystemManager.rename](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rename.html) 的同步版本
  15979. *
  15980. * **示例代码**
  15981. *
  15982. * ```js
  15983. const fs = wx.getFileSystemManager()
  15984. fs.rename({
  15985. oldPath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  15986. newPath: `${wx.env.USER_DATA_PATH}/hello_new.txt`,
  15987. success(res) {
  15988. console.log(res)
  15989. },
  15990. fail(res) {
  15991. console.error(res)
  15992. }
  15993. })
  15994. // 同步接口
  15995. try {
  15996. const res = fs.renameSync(
  15997. `${wx.env.USER_DATA_PATH}/hello.txt`,
  15998. `${wx.env.USER_DATA_PATH}/hello_new.txt`
  15999. )
  16000. console.log(res)
  16001. } catch(e) {
  16002. console.error(e)
  16003. }
  16004. ``` */
  16005. renameSync(
  16006. /** 源文件路径,支持本地路径 */
  16007. oldPath: string,
  16008. /** 新文件路径,支持本地路径 */
  16009. newPath: string
  16010. ): void
  16011. /** [FileSystemManager.rmdir(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html)
  16012. *
  16013. * 在插件中使用:需要基础库 `2.19.2`
  16014. *
  16015. * 删除目录
  16016. *
  16017. * **示例代码**
  16018. *
  16019. * ```js
  16020. const fs = wx.getFileSystemManager()
  16021. fs.rmdir({
  16022. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  16023. recursive: false,
  16024. success(res) {
  16025. console.log(res)
  16026. },
  16027. fail(res) {
  16028. console.error(res)
  16029. }
  16030. })
  16031. // 同步接口
  16032. try {
  16033. const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false)
  16034. console.log(res)
  16035. } catch(e) {
  16036. console.error(e)
  16037. }
  16038. ``` */
  16039. rmdir(option: RmdirOption): void
  16040. /** [FileSystemManager.rmdirSync(string dirPath, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdirSync.html)
  16041. *
  16042. * 在插件中使用:需要基础库 `2.19.2`
  16043. *
  16044. * [FileSystemManager.rmdir](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.rmdir.html) 的同步版本
  16045. *
  16046. * **示例代码**
  16047. *
  16048. * ```js
  16049. const fs = wx.getFileSystemManager()
  16050. fs.rmdir({
  16051. dirPath: `${wx.env.USER_DATA_PATH}/example`,
  16052. recursive: false,
  16053. success(res) {
  16054. console.log(res)
  16055. },
  16056. fail(res) {
  16057. console.error(res)
  16058. }
  16059. })
  16060. // 同步接口
  16061. try {
  16062. const res = fs.rmdirSync(`${wx.env.USER_DATA_PATH}/example`, false)
  16063. console.log(res)
  16064. } catch(e) {
  16065. console.error(e)
  16066. }
  16067. ``` */
  16068. rmdirSync(
  16069. /** 要删除的目录路径 (本地路径) */
  16070. dirPath: string,
  16071. /** 需要基础库: `2.3.0`
  16072. *
  16073. * 是否递归删除目录。如果为 true,则删除该目录和该目录下的所有子目录以及文件。 */
  16074. recursive?: boolean
  16075. ): void
  16076. /** [FileSystemManager.saveFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html)
  16077. *
  16078. * 在插件中使用:不支持
  16079. *
  16080. * 保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。 */
  16081. saveFile(option: SaveFileOption): void
  16082. /** [FileSystemManager.stat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html)
  16083. *
  16084. * 在插件中使用:需要基础库 `2.19.2`
  16085. *
  16086. * 获取文件 Stats 对象 */
  16087. stat(option: StatOption): void
  16088. /** [FileSystemManager.truncate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncate.html)
  16089. *
  16090. * 需要基础库: `2.16.1`
  16091. *
  16092. * 在插件中使用:需要基础库 `2.19.2`
  16093. *
  16094. * 对文件内容进行截断操作
  16095. *
  16096. * **示例代码**
  16097. *
  16098. * ```js
  16099. const fs = wx.getFileSystemManager()
  16100. fs.truncate({
  16101. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16102. length: 10, // 从第10个字节开始截断
  16103. success(res) {
  16104. console.log(res)
  16105. }
  16106. })
  16107. ``` */
  16108. truncate(option: TruncateOption): void
  16109. /** [FileSystemManager.unlink(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html)
  16110. *
  16111. * 在插件中使用:需要基础库 `2.19.2`
  16112. *
  16113. * 删除文件
  16114. *
  16115. * **示例代码**
  16116. *
  16117. * ```js
  16118. const fs = wx.getFileSystemManager()
  16119. fs.unlink({
  16120. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16121. success(res) {
  16122. console.log(res)
  16123. },
  16124. fail(res) {
  16125. console.error(res)
  16126. }
  16127. })
  16128. // 同步接口
  16129. try {
  16130. const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`)
  16131. console.log(res)
  16132. } catch(e) {
  16133. console.error(e)
  16134. }
  16135. ``` */
  16136. unlink(option: UnlinkOption): void
  16137. /** [FileSystemManager.unlinkSync(string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlinkSync.html)
  16138. *
  16139. * 在插件中使用:需要基础库 `2.19.2`
  16140. *
  16141. * [FileSystemManager.unlink](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html) 的同步版本
  16142. *
  16143. * **示例代码**
  16144. *
  16145. * ```js
  16146. const fs = wx.getFileSystemManager()
  16147. fs.unlink({
  16148. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16149. success(res) {
  16150. console.log(res)
  16151. },
  16152. fail(res) {
  16153. console.error(res)
  16154. }
  16155. })
  16156. // 同步接口
  16157. try {
  16158. const res = fs.unlinkSync(`${wx.env.USER_DATA_PATH}/hello.txt`)
  16159. console.log(res)
  16160. } catch(e) {
  16161. console.error(e)
  16162. }
  16163. ``` */
  16164. unlinkSync(
  16165. /** 要删除的文件路径 (本地路径) */
  16166. filePath: string
  16167. ): void
  16168. /** [FileSystemManager.unzip(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unzip.html)
  16169. *
  16170. * 在插件中使用:需要基础库 `2.19.2`
  16171. *
  16172. * 解压文件
  16173. *
  16174. * **示例代码**
  16175. *
  16176. * ```js
  16177. const fs = wx.getFileSystemManager()
  16178. fs.unzip({
  16179. zipFilePath: `${wx.env.USER_DATA_PATH}/example.zip`,
  16180. targetPath: '${wx.env.USER_DATA_PATH}/example',
  16181. success(res) {
  16182. console.log(res)
  16183. },
  16184. fail(res) {
  16185. console.error(res)
  16186. }
  16187. })
  16188. ``` */
  16189. unzip(option: UnzipOption): void
  16190. /** [FileSystemManager.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.write.html)
  16191. *
  16192. * 需要基础库: `2.16.1`
  16193. *
  16194. * 在插件中使用:需要基础库 `2.19.2`
  16195. *
  16196. * 写入文件
  16197. *
  16198. * **示例代码**
  16199. *
  16200. * ```js
  16201. const fs = wx.getFileSystemManager()
  16202. // 打开文件
  16203. fs.open({
  16204. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16205. flag: 'a+',
  16206. success(res) {
  16207. // 写入文件
  16208. fs.write({
  16209. fd: res.fd,
  16210. data: 'some text',
  16211. success(res) {
  16212. console.log(res.bytesWritten)
  16213. }
  16214. })
  16215. }
  16216. })
  16217. ``` */
  16218. write(option: WriteOption): void
  16219. /** [FileSystemManager.writeFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html)
  16220. *
  16221. * 在插件中使用:需要基础库 `2.19.2`
  16222. *
  16223. * 写文件
  16224. *
  16225. * **示例代码**
  16226. *
  16227. * ```js
  16228. const fs = wx.getFileSystemManager()
  16229. fs.writeFile({
  16230. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16231. data: 'some text or arrayBuffer',
  16232. encoding: 'utf8',
  16233. success(res) {
  16234. console.log(res)
  16235. },
  16236. fail(res) {
  16237. console.error(res)
  16238. }
  16239. })
  16240. // 同步接口
  16241. try {
  16242. const res = fs.writeFileSync(
  16243. `${wx.env.USER_DATA_PATH}/hello.txt`,
  16244. 'some text or arrayBuffer',
  16245. 'utf8'
  16246. )
  16247. console.log(res)
  16248. } catch(e) {
  16249. console.error(e)
  16250. }
  16251. ``` */
  16252. writeFile(option: WriteFileOption): void
  16253. /** [FileSystemManager.writeFileSync(string filePath, string|ArrayBuffer data, string encoding)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFileSync.html)
  16254. *
  16255. * 在插件中使用:需要基础库 `2.19.2`
  16256. *
  16257. * [FileSystemManager.writeFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html) 的同步版本
  16258. *
  16259. * **示例代码**
  16260. *
  16261. * ```js
  16262. const fs = wx.getFileSystemManager()
  16263. fs.writeFile({
  16264. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16265. data: 'some text or arrayBuffer',
  16266. encoding: 'utf8',
  16267. success(res) {
  16268. console.log(res)
  16269. },
  16270. fail(res) {
  16271. console.error(res)
  16272. }
  16273. })
  16274. // 同步接口
  16275. try {
  16276. const res = fs.writeFileSync(
  16277. `${wx.env.USER_DATA_PATH}/hello.txt`,
  16278. 'some text or arrayBuffer',
  16279. 'utf8'
  16280. )
  16281. console.log(res)
  16282. } catch(e) {
  16283. console.error(e)
  16284. }
  16285. ``` */
  16286. writeFileSync(
  16287. /** 要写入的文件路径 (本地路径) */
  16288. filePath: string,
  16289. /** 要写入的文本或二进制数据 */
  16290. data: string | ArrayBuffer,
  16291. /** 指定写入文件的字符编码
  16292. *
  16293. * 参数 encoding 可选值:
  16294. * - 'ascii': ;
  16295. * - 'base64': (注意,选择 base64 编码,data 只需要传 base64 内容本身,不要传 Data URI 前缀,否则会报 fail base64 encode error 错误。例如,传 aGVsbG8= 而不是传 data:image/png;base64,aGVsbG8= );
  16296. * - 'binary': ;
  16297. * - 'hex': ;
  16298. * - 'ucs2': 以小端序读取;
  16299. * - 'ucs-2': 以小端序读取;
  16300. * - 'utf16le': 以小端序读取;
  16301. * - 'utf-16le': 以小端序读取;
  16302. * - 'utf-8': ;
  16303. * - 'utf8': ;
  16304. * - 'latin1': ; */
  16305. encoding?:
  16306. | 'ascii'
  16307. | 'base64'
  16308. | 'binary'
  16309. | 'hex'
  16310. | 'ucs2'
  16311. | 'ucs-2'
  16312. | 'utf16le'
  16313. | 'utf-16le'
  16314. | 'utf-8'
  16315. | 'utf8'
  16316. | 'latin1'
  16317. ): void
  16318. /** [[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)
  16319. *
  16320. * 需要基础库: `2.16.1`
  16321. *
  16322. * 在插件中使用:需要基础库 `2.19.2`
  16323. *
  16324. * 读文件
  16325. *
  16326. * **示例代码**
  16327. *
  16328. * ```js
  16329. const fs = wx.getFileSystemManager()
  16330. const ab = new ArrayBuffer(1024)
  16331. const fd = fs.openSync({
  16332. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16333. flag: 'a+'
  16334. })
  16335. const res = fs.readSync({
  16336. fd: fd,
  16337. arrayBuffer: ab,
  16338. length: 10
  16339. })
  16340. console.log(res)
  16341. ```
  16342. * ## 注意事项
  16343. * - 小游戏 iOS 高性能模式(iOSHighPerformance)暂不支持 FileSystemManager.readSync 接口,请使用 FileSystemManager.readFileSync 接口代替 */
  16344. readSync(option: ReadSyncOption): ReadResult
  16345. /** [[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)
  16346. *
  16347. * 需要基础库: `2.16.1`
  16348. *
  16349. * 在插件中使用:需要基础库 `2.19.2`
  16350. *
  16351. * 同步获取文件的状态信息
  16352. *
  16353. * **示例代码**
  16354. *
  16355. * ```js
  16356. const fs = wx.getFileSystemManager()
  16357. const fd = fs.openSync({
  16358. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16359. flag: 'a+'
  16360. })
  16361. const stats = fs.fstatSync({fd: fd})
  16362. console.log(stats)
  16363. ``` */
  16364. fstatSync(option: FstatSyncOption): Stats
  16365. /** [[Stats](https://developers.weixin.qq.com/miniprogram/dev/api/file/Stats.html)|Array.&lt;[FileStats](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileStats.html)&gt; FileSystemManager.statSync(string path, boolean recursive)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.statSync.html)
  16366. *
  16367. * 在插件中使用:需要基础库 `2.19.2`
  16368. *
  16369. * [FileSystemManager.stat](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.stat.html) 的同步版本 */
  16370. statSync(
  16371. /** 文件/目录路径 (本地路径) */
  16372. path: string,
  16373. /** 需要基础库: `2.3.0`
  16374. *
  16375. * 是否递归获取目录下的每个文件的 Stats 信息 */
  16376. recursive?: boolean
  16377. ): Stats | FileStats[]
  16378. /** [[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)
  16379. *
  16380. * 需要基础库: `2.16.1`
  16381. *
  16382. * 在插件中使用:需要基础库 `2.19.2`
  16383. *
  16384. * 同步写入文件
  16385. *
  16386. * **示例代码**
  16387. *
  16388. * ```js
  16389. const fs = wx.getFileSystemManager()
  16390. const fd = fs.openSync({
  16391. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16392. flag: 'a+'
  16393. })
  16394. const res = fs.writeSync({
  16395. fd: fd,
  16396. data: 'some text'
  16397. })
  16398. console.log(res.bytesWritten)
  16399. ``` */
  16400. writeSync(option: WriteSyncOption): WriteResult
  16401. /** [string FileSystemManager.openSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.openSync.html)
  16402. *
  16403. * 需要基础库: `2.16.1`
  16404. *
  16405. * 在插件中使用:需要基础库 `2.19.2`
  16406. *
  16407. * 同步打开文件,返回文件描述符
  16408. *
  16409. * **示例代码**
  16410. *
  16411. * ```js
  16412. const fs = wx.getFileSystemManager()
  16413. const fd = fs.openSync({
  16414. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16415. flag: 'a+'
  16416. })
  16417. console.log(fd)
  16418. ``` */
  16419. openSync(option: OpenSyncOption): string
  16420. /** [string FileSystemManager.saveFileSync(string tempFilePath, string filePath)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFileSync.html)
  16421. *
  16422. * 在插件中使用:不支持
  16423. *
  16424. * [FileSystemManager.saveFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.saveFile.html) 的同步版本 */
  16425. saveFileSync(
  16426. /** 临时存储文件路径 (本地路径) */
  16427. tempFilePath: string,
  16428. /** 要存储的文件路径 (本地路径) */
  16429. filePath?: string
  16430. ): string
  16431. /** [string|ArrayBuffer FileSystemManager.readFileSync(string filePath, string encoding, number position, number length)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFileSync.html)
  16432. *
  16433. * 在插件中使用:需要基础库 `2.19.2`
  16434. *
  16435. * [FileSystemManager.readFile](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html) 的同步版本
  16436. *
  16437. * **示例代码**
  16438. *
  16439. * ```js
  16440. const fs = wx.getFileSystemManager()
  16441. fs.readFile({
  16442. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16443. encoding: 'utf8',
  16444. position: 0,
  16445. success(res) {
  16446. console.log(res.data)
  16447. },
  16448. fail(res) {
  16449. console.error(res)
  16450. }
  16451. })
  16452. // 同步接口
  16453. try {
  16454. const res = fs.readFileSync(`${wx.env.USER_DATA_PATH}/hello.txt`, 'utf8', 0)
  16455. console.log(res)
  16456. } catch(e) {
  16457. console.error(e)
  16458. }
  16459. ``` */
  16460. readFileSync(
  16461. /** 要读取的文件的路径 (本地路径) */
  16462. filePath: string,
  16463. /** 指定读取文件的字符编码,如果不传 encoding,则以 ArrayBuffer 格式读取文件的二进制内容
  16464. *
  16465. * 参数 encoding 可选值:
  16466. * - 'ascii': ;
  16467. * - 'base64': ;
  16468. * - 'binary': ;
  16469. * - 'hex': ;
  16470. * - 'ucs2': 以小端序读取;
  16471. * - 'ucs-2': 以小端序读取;
  16472. * - 'utf16le': 以小端序读取;
  16473. * - 'utf-16le': 以小端序读取;
  16474. * - 'utf-8': ;
  16475. * - 'utf8': ;
  16476. * - 'latin1': ; */
  16477. encoding?:
  16478. | 'ascii'
  16479. | 'base64'
  16480. | 'binary'
  16481. | 'hex'
  16482. | 'ucs2'
  16483. | 'ucs-2'
  16484. | 'utf16le'
  16485. | 'utf-16le'
  16486. | 'utf-8'
  16487. | 'utf8'
  16488. | 'latin1',
  16489. /** 需要基础库: `2.10.0`
  16490. *
  16491. * 从文件指定位置开始读,如果不指定,则从文件头开始读。读取的范围应该是左闭右开区间 [position, position+length)。有效范围:[0, fileLength - 1]。单位:byte */
  16492. position?: number,
  16493. /** 需要基础库: `2.10.0`
  16494. *
  16495. * 指定文件的长度,如果不指定,则读到文件末尾。有效范围:[1, fileLength]。单位:byte */
  16496. length?: number
  16497. ): string | ArrayBuffer
  16498. /** [undefined FileSystemManager.closeSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.closeSync.html)
  16499. *
  16500. * 需要基础库: `2.16.1`
  16501. *
  16502. * 在插件中使用:需要基础库 `2.19.2`
  16503. *
  16504. * 同步关闭文件
  16505. *
  16506. * **示例代码**
  16507. *
  16508. * ```js
  16509. const fs = wx.getFileSystemManager()
  16510. const fd = fs.openSync({
  16511. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16512. flag: 'a+'
  16513. })
  16514. // 关闭文件
  16515. fs.closeSync({fd: fd})
  16516. ``` */
  16517. closeSync(option: CloseSyncOption): undefined
  16518. /** [undefined FileSystemManager.ftruncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.ftruncateSync.html)
  16519. *
  16520. * 需要基础库: `2.16.1`
  16521. *
  16522. * 在插件中使用:需要基础库 `2.19.2`
  16523. *
  16524. * 对文件内容进行截断操作
  16525. *
  16526. * **示例代码**
  16527. *
  16528. * ```js
  16529. const fs = wx.getFileSystemManager()
  16530. const fd = fs.openSync({
  16531. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16532. flag: 'a+'
  16533. })
  16534. fs.ftruncateSync({
  16535. fd: fd,
  16536. length: 10 // 从第10个字节开始截断文件
  16537. })
  16538. ``` */
  16539. ftruncateSync(option: FtruncateSyncOption): undefined
  16540. /** [undefined FileSystemManager.truncateSync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.truncateSync.html)
  16541. *
  16542. * 需要基础库: `2.16.1`
  16543. *
  16544. * 在插件中使用:需要基础库 `2.19.2`
  16545. *
  16546. * 对文件内容进行截断操作 (truncate 的同步版本)
  16547. *
  16548. * **示例代码**
  16549. *
  16550. * ```js
  16551. const fs = wx.getFileSystemManager()
  16552. fs.truncateSync({
  16553. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  16554. length: 10, // 从第10个字节开始截断
  16555. })
  16556. ``` */
  16557. truncateSync(option: TruncateSyncOption): undefined
  16558. }
  16559. interface GetGroupEnterInfoError {
  16560. /** 错误信息
  16561. *
  16562. * | 错误码 | 错误信息 | 说明 |
  16563. * | - | - | - |
  16564. * | 40097 | | 场景错误 |
  16565. * | 65206 | | 用户已不在该群内 | */ errMsg: string
  16566. /** 错误码
  16567. *
  16568. * | 错误码 | 错误信息 | 说明 |
  16569. * | - | - | - |
  16570. * | 40097 | | 场景错误 |
  16571. * | 65206 | | 用户已不在该群内 | */ errCode: number
  16572. }
  16573. interface InferenceSession {
  16574. /** [InferenceSession.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.destroy.html)
  16575. *
  16576. * 需要基础库: `2.30.0`
  16577. *
  16578. * 在插件中使用:需要基础库 `2.30.0`
  16579. *
  16580. * 销毁 InferenceSession 实例
  16581. *
  16582. * **示例代码**
  16583. *
  16584. * ```js
  16585. // 销毁会话
  16586. session.destroy()
  16587. ``` */
  16588. destroy(): void
  16589. /** [InferenceSession.offError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.offError.html)
  16590. *
  16591. * 需要基础库: `2.30.0`
  16592. *
  16593. * 在插件中使用:需要基础库 `2.30.0`
  16594. *
  16595. * 取消监听模型加载失败事件 */
  16596. offError(
  16597. /** 模型加载失败回调函数。传入指定回调函数则只取消指定回调,不传则取消所有回调 */
  16598. callback: (...args: any[]) => any
  16599. ): void
  16600. /** [InferenceSession.offLoad(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.offLoad.html)
  16601. *
  16602. * 需要基础库: `2.30.0`
  16603. *
  16604. * 在插件中使用:需要基础库 `2.30.0`
  16605. *
  16606. * 取消监听模型加载完成事件 */
  16607. offLoad(
  16608. /** 模型加载完成回调函数。传入指定回调函数则只取消指定回调,不传则取消所有回调 */
  16609. callback: (...args: any[]) => any
  16610. ): void
  16611. /** [InferenceSession.onError(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.onError.html)
  16612. *
  16613. * 需要基础库: `2.30.0`
  16614. *
  16615. * 在插件中使用:需要基础库 `2.30.0`
  16616. *
  16617. * 监听模型加载失败事件
  16618. *
  16619. * **示例代码**
  16620. *
  16621. * ```js
  16622. // 创建会话,加载模型
  16623. const session = wx.createInferenceSession({
  16624. model: `${wx.env.USER_DATA_PATH}/MNIST.onnx`,
  16625. precisionLevel: 4,
  16626. typicalShape:{input1:[1, 3, 224, 224], input2:[1, 1, 224, 224]}, //除非使用动态轴,一般不用显式指定
  16627. allowNPU: false,
  16628. allowQuantize: false
  16629. })
  16630. // 监听error事件
  16631. session.onError(err => {
  16632. console.error(err)
  16633. })
  16634. ``` */
  16635. onError(
  16636. /** 模型加载失败回调函数 */
  16637. callback: (...args: any[]) => any
  16638. ): void
  16639. /** [InferenceSession.onLoad(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.onLoad.html)
  16640. *
  16641. * 需要基础库: `2.30.0`
  16642. *
  16643. * 在插件中使用:需要基础库 `2.30.0`
  16644. *
  16645. * 监听模型加载完成事件
  16646. *
  16647. * **示例代码**
  16648. *
  16649. * ```js
  16650. // 创建会话,加载模型
  16651. const session = wx.createInferenceSession({
  16652. model: `${wx.env.USER_DATA_PATH}/MNIST.onnx`,
  16653. precisionLevel: 4,
  16654. typicalShape:{input1:[1, 3, 224, 224], input2:[1, 1, 224, 224]}, //除非使用动态轴,一般不用显式指定
  16655. allowNPU: false,
  16656. allowQuantize: false
  16657. })
  16658. // 监听模型加载完成事件
  16659. session.onLoad(() => {
  16660. // 运行推理
  16661. // 其中input1, input2, output0 必须与使用的onnx模型中实际的输入输出名字完全一致,不可随意填写。
  16662. // 模型输入输出信息可以通过Netron 打开onnx模型看到
  16663. session.run({
  16664. input1: {
  16665. type: 'float32',
  16666. data: new Float32Array(3 * 224 * 224).buffer,
  16667. shape: [1, 3, 224, 224] // NCHW 顺序
  16668. },
  16669. // 多个input的添加方法,假设第二个input需要数据类型为uint8
  16670. input2: {
  16671. type: 'uint8',
  16672. data: new Uint8Array(224 * 224).buffer,
  16673. shape: [1, 1, 224, 224]
  16674. },
  16675. }).then(res => {
  16676. console.log(res.output0)
  16677. })
  16678. })
  16679. ``` */
  16680. onLoad(
  16681. /** 模型加载完成回调函数 */
  16682. callback: (...args: any[]) => any
  16683. ): void
  16684. /** [Promise<[Tensors](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/Tensors.html)> InferenceSession.run([Tensors](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/Tensors.html) tensors)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.run.html)
  16685. *
  16686. * 需要基础库: `2.30.0`
  16687. *
  16688. * 在插件中使用:需要基础库 `2.30.0`
  16689. *
  16690. * 运行推断。需要在 session.onLoad 回调后使用。接口参数为 Tensors 对象,返回 Promise。一个 InferenceSession 被创建完成后可以重复多次调用 InferenceSession.run(), 直到调用 session.destroy() 进行销毁。
  16691. *
  16692. * **示例代码**
  16693. *
  16694. * ```js
  16695. // 创建会话,加载模型
  16696. const session = wx.createInferenceSession({
  16697. model: `${wx.env.USER_DATA_PATH}/MNIST.onnx`,
  16698. precisionLevel: 4,
  16699. typicalShape:{input1:[1, 3, 224, 224], input2:[1, 1, 224, 224]}, //除非使用动态轴,一般不用显式指定
  16700. allowNPU: false,
  16701. allowQuantize: false
  16702. })
  16703. // 监听模型加载完成事件
  16704. session.onLoad(() => {
  16705. // 运行推理
  16706. // 其中input1, input2, output0 必须与使用的onnx模型中实际的输入输出名字完全一致,不可随意填写。
  16707. // 模型输入输出信息可以通过Netron 打开onnx模型看到
  16708. session.run({
  16709. input1: {
  16710. type: 'float32',
  16711. data: new Float32Array(3 * 224 * 224).buffer,
  16712. shape: [1, 3, 224, 224] // NCHW 顺序
  16713. },
  16714. // 多个input的添加方法,假设第二个input需要数据类型为uint8
  16715. input2: {
  16716. type: 'uint8',
  16717. data: new Uint8Array(224 * 224).buffer,
  16718. shape: [1, 1, 224, 224]
  16719. },
  16720. }).then(res => {
  16721. console.log(res.output0)
  16722. })
  16723. })
  16724. ``` */
  16725. run(
  16726. /** [Tensors](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/Tensors.html)
  16727. *
  16728. * key-value 形式的对象,对象的 key 会作为 input name,对象的 value 则是 Tensor。 Tensor 结构如下。 */
  16729. tensors: Tensors
  16730. ): Promise<Tensors>
  16731. }
  16732. interface IntersectionObserver {
  16733. /** [IntersectionObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.disconnect.html)
  16734. *
  16735. * 在插件中使用:支持
  16736. *
  16737. * 停止监听。回调函数将不再触发 */
  16738. disconnect(): void
  16739. /** [IntersectionObserver.observe(string targetSelector, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/IntersectionObserver.observe.html)
  16740. *
  16741. * 在插件中使用:支持
  16742. *
  16743. * 指定目标节点并开始监听相交状态变化情况 */
  16744. observe(
  16745. /** 选择器 */
  16746. targetSelector: string,
  16747. /** 监听相交状态变化的回调函数 */
  16748. callback: IntersectionObserverObserveCallback
  16749. ): void
  16750. /** [[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)
  16751. *
  16752. * 在插件中使用:支持
  16753. *
  16754. * 使用选择器指定一个节点,作为参照区域之一。 */
  16755. relativeTo(
  16756. /** 选择器 */
  16757. selector: string,
  16758. /** 用来扩展(或收缩)参照节点布局区域的边界 */
  16759. margins?: Margins
  16760. ): IntersectionObserver
  16761. /** [[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)
  16762. *
  16763. * 在插件中使用:支持
  16764. *
  16765. * 指定页面显示区域作为参照区域之一
  16766. *
  16767. * **示例代码**
  16768. *
  16769. * 下面的示例代码中,如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。
  16770. * ```javascript
  16771. Page({
  16772. onLoad: function(){
  16773. wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => {
  16774. res.intersectionRatio // 相交区域占目标节点的布局区域的比例
  16775. res.intersectionRect // 相交区域
  16776. res.intersectionRect.left // 相交区域的左边界坐标
  16777. res.intersectionRect.top // 相交区域的上边界坐标
  16778. res.intersectionRect.width // 相交区域的宽度
  16779. res.intersectionRect.height // 相交区域的高度
  16780. })
  16781. }
  16782. })
  16783. ``` */
  16784. relativeToViewport(
  16785. /** 用来扩展(或收缩)参照节点布局区域的边界 */
  16786. margins?: Margins
  16787. ): IntersectionObserver
  16788. }
  16789. interface InterstitialAd {
  16790. /** [InterstitialAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.destroy.html)
  16791. *
  16792. * 需要基础库: `2.8.0`
  16793. *
  16794. * 在插件中使用:不支持
  16795. *
  16796. * 销毁插屏广告实例。 */
  16797. destroy(): void
  16798. /** [InterstitialAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offClose.html)
  16799. *
  16800. * 在插件中使用:不支持
  16801. *
  16802. * 移除插屏广告关闭事件的监听函数
  16803. *
  16804. * **示例代码**
  16805. *
  16806. * ```js
  16807. const listener = function (res) { console.log(res) }
  16808. InterstitialAd.onClose(listener)
  16809. InterstitialAd.offClose(listener) // 需传入与监听时同一个的函数对象
  16810. ``` */
  16811. offClose(
  16812. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  16813. listener?: UDPSocketOffCloseCallback
  16814. ): void
  16815. /** [InterstitialAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offError.html)
  16816. *
  16817. * 在插件中使用:不支持
  16818. *
  16819. * 移除插屏错误事件的监听函数
  16820. *
  16821. * **示例代码**
  16822. *
  16823. * ```js
  16824. const listener = function (res) { console.log(res) }
  16825. InterstitialAd.onError(listener)
  16826. InterstitialAd.offError(listener) // 需传入与监听时同一个的函数对象
  16827. ``` */
  16828. offError(
  16829. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  16830. listener?: InterstitialAdOffErrorCallback
  16831. ): void
  16832. /** [InterstitialAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.offLoad.html)
  16833. *
  16834. * 在插件中使用:不支持
  16835. *
  16836. * 移除插屏广告加载事件的监听函数
  16837. *
  16838. * **示例代码**
  16839. *
  16840. * ```js
  16841. const listener = function (res) { console.log(res) }
  16842. InterstitialAd.onLoad(listener)
  16843. InterstitialAd.offLoad(listener) // 需传入与监听时同一个的函数对象
  16844. ``` */
  16845. offLoad(
  16846. /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  16847. listener?: OffLoadCallback
  16848. ): void
  16849. /** [InterstitialAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onClose.html)
  16850. *
  16851. * 在插件中使用:不支持
  16852. *
  16853. * 监听插屏广告关闭事件。 */
  16854. onClose(
  16855. /** 插屏广告关闭事件的监听函数 */
  16856. listener: UDPSocketOnCloseCallback
  16857. ): void
  16858. /** [InterstitialAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onError.html)
  16859. *
  16860. * 在插件中使用:不支持
  16861. *
  16862. * 监听插屏错误事件。
  16863. *
  16864. * **错误码信息与解决方案表**
  16865. *
  16866. * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。
  16867. * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。
  16868. *
  16869. * | 代码 | 异常情况 | 理由 | 解决方案 |
  16870. * | ------ | -------------- | --------------- | -------------------------- |
  16871. * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 |
  16872. * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。|
  16873. * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 |
  16874. * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。|
  16875. * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 |
  16876. * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
  16877. * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
  16878. * | 1007 | 广告组件被封禁 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 |
  16879. * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */
  16880. onError(
  16881. /** 插屏错误事件的监听函数 */
  16882. listener: InterstitialAdOnErrorCallback
  16883. ): void
  16884. /** [InterstitialAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.onLoad.html)
  16885. *
  16886. * 在插件中使用:不支持
  16887. *
  16888. * 监听插屏广告加载事件。 */
  16889. onLoad(
  16890. /** 插屏广告加载事件的监听函数 */
  16891. listener: OnLoadCallback
  16892. ): void
  16893. /** [Promise InterstitialAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.load.html)
  16894. *
  16895. * 需要基础库: `2.8.0`
  16896. *
  16897. * 在插件中使用:不支持
  16898. *
  16899. * 加载插屏广告。 */
  16900. load(): Promise<any>
  16901. /** [Promise InterstitialAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/InterstitialAd.show.html)
  16902. *
  16903. * 在插件中使用:不支持
  16904. *
  16905. * 显示插屏广告。
  16906. *
  16907. * **错误码信息表**
  16908. *
  16909. * 如果插屏广告显示失败,InterstitialAd.show() 方法会返回一个rejected Promise,开发者可以获取到错误码及对应的错误信息。
  16910. *
  16911. * | 代码 | 异常情况 | 理由 |
  16912. * | ------ | -------------- | -------------------------- |
  16913. * | 2001 | 触发频率限制 | 小程序启动一定时间内不允许展示插屏广告 |
  16914. * | 2002 | 触发频率限制 | 距离小程序插屏广告或者激励视频广告上次播放时间间隔不足,不允许展示插屏广告 |
  16915. * | 2003 | 触发频率限制 | 当前正在播放激励视频广告或者插屏广告,不允许再次展示插屏广告 |
  16916. * | 2004 | 广告渲染失败 | 该项错误不是开发者的异常情况,或因小程序页面切换导致广告渲染失败 |
  16917. * | 2005 | 广告调用异常 | 插屏广告实例不允许跨页面调用 | */
  16918. show(): Promise<any>
  16919. }
  16920. interface IsoDep {
  16921. /** [IsoDep.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.close.html)
  16922. *
  16923. * 需要基础库: `2.11.2`
  16924. *
  16925. * 在插件中使用:支持
  16926. *
  16927. * 断开连接 */
  16928. close(option?: NdefCloseOption): void
  16929. /** [IsoDep.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.connect.html)
  16930. *
  16931. * 需要基础库: `2.11.2`
  16932. *
  16933. * 在插件中使用:支持
  16934. *
  16935. * 连接 NFC 标签 */
  16936. connect(option?: NdefConnectOption): void
  16937. /** [IsoDep.getHistoricalBytes(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getHistoricalBytes.html)
  16938. *
  16939. * 需要基础库: `2.11.2`
  16940. *
  16941. * 在插件中使用:支持
  16942. *
  16943. * 获取复位信息 */
  16944. getHistoricalBytes(option?: GetHistoricalBytesOption): void
  16945. /** [IsoDep.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.getMaxTransceiveLength.html)
  16946. *
  16947. * 需要基础库: `2.11.2`
  16948. *
  16949. * 在插件中使用:支持
  16950. *
  16951. * 获取最大传输长度 */
  16952. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  16953. /** [IsoDep.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.isConnected.html)
  16954. *
  16955. * 需要基础库: `2.11.2`
  16956. *
  16957. * 在插件中使用:支持
  16958. *
  16959. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  16960. *
  16961. * 检查是否已连接 */
  16962. isConnected(option?: IsConnectedOption): void
  16963. /** [IsoDep.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.setTimeout.html)
  16964. *
  16965. * 需要基础库: `2.11.2`
  16966. *
  16967. * 在插件中使用:支持
  16968. *
  16969. * 设置超时时间 */
  16970. setTimeout(option: SetTimeoutOption): void
  16971. /** [IsoDep.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/IsoDep.transceive.html)
  16972. *
  16973. * 需要基础库: `2.11.2`
  16974. *
  16975. * 在插件中使用:支持
  16976. *
  16977. * 发送数据 */
  16978. transceive(option: TransceiveOption): void
  16979. }
  16980. interface Join1v1ChatError {
  16981. /** 错误信息
  16982. *
  16983. * | 错误码 | 错误信息 | 说明 |
  16984. * | - | - | - |
  16985. * | -20000 | not open 1v1 Chat | 未开通双人通话 |
  16986. * | -20001 | device not support | 当前设备不支持 |
  16987. * | -20002 | on call | 正在通话中 |
  16988. * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 |
  16989. * | -30000 | system error | 内部系统错误 |
  16990. * | -30001 | wechat has no camera authorization | 微信缺失相机权限 |
  16991. * | -30002 | wechat has no record authorization | 微信缺失录音权限 |
  16992. * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 |
  16993. * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 |
  16994. * | -1 | | 当前已在房间内 |
  16995. * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 |
  16996. * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 |
  16997. * | -1000 | | 系统错误 | */ errMsg: string
  16998. /** 错误码
  16999. *
  17000. * | 错误码 | 错误信息 | 说明 |
  17001. * | - | - | - |
  17002. * | -20000 | not open 1v1 Chat | 未开通双人通话 |
  17003. * | -20001 | device not support | 当前设备不支持 |
  17004. * | -20002 | on call | 正在通话中 |
  17005. * | -20003 | occupied by other miniprogram | 其它小程序正在通话中 |
  17006. * | -30000 | system error | 内部系统错误 |
  17007. * | -30001 | wechat has no camera authorization | 微信缺失相机权限 |
  17008. * | -30002 | wechat has no record authorization | 微信缺失录音权限 |
  17009. * | -30003 | miniprogram has no record authorization | 小程序缺失录音权限 |
  17010. * | -30004 | miniprogram has no camera authorization | 小程序缺失相机权限 |
  17011. * | -1 | | 当前已在房间内 |
  17012. * | -2 | | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 |
  17013. * | -3 | | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 |
  17014. * | -1000 | | 系统错误 | */ errCode: number
  17015. }
  17016. interface JoinVoIPChatError {
  17017. /** 错误信息
  17018. *
  17019. * | 错误码 | 错误信息 | 说明 |
  17020. * | - | - | - |
  17021. * | -1 | 当前已在房间内 | |
  17022. * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | |
  17023. * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | |
  17024. * | -1000 | 系统错误 | | */ errMsg: string
  17025. /** 错误码
  17026. *
  17027. * | 错误码 | 错误信息 | 说明 |
  17028. * | - | - | - |
  17029. * | -1 | 当前已在房间内 | |
  17030. * | -2 | 录音设备被占用,可能是当前正在使用微信内语音通话或系统通话 | |
  17031. * | -3 | 加入会话期间退出(可能是用户主动退出,或者退后台、来电等原因),因此加入失败 | |
  17032. * | -1000 | 系统错误 | | */ errCode: number
  17033. }
  17034. interface LivePlayerContext {
  17035. /** [LivePlayerContext.exitCasting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitCasting.html)
  17036. *
  17037. * 需要基础库: `2.32.0`
  17038. *
  17039. * 在插件中使用:支持
  17040. *
  17041. * 退出投屏。仅支持在 tap 事件回调内调用。 */
  17042. exitCasting(option?: ExitCastingOption): void
  17043. /** [LivePlayerContext.exitFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitFullScreen.html)
  17044. *
  17045. * 在插件中使用:支持
  17046. *
  17047. * 退出全屏 */
  17048. exitFullScreen(option?: ExitFullScreenOption): void
  17049. /** [LivePlayerContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.exitPictureInPicture.html)
  17050. *
  17051. * 在插件中使用:支持
  17052. *
  17053. * 退出小窗,该方法可在任意页面调用 */
  17054. exitPictureInPicture(option?: ExitPictureInPictureOption): void
  17055. /** [LivePlayerContext.mute(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.mute.html)
  17056. *
  17057. * 在插件中使用:支持
  17058. *
  17059. * 静音 */
  17060. mute(option?: MuteOption): void
  17061. /** [LivePlayerContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.pause.html)
  17062. *
  17063. * 需要基础库: `1.9.90`
  17064. *
  17065. * 在插件中使用:支持
  17066. *
  17067. * 暂停 */
  17068. pause(option?: PauseOption): void
  17069. /** [LivePlayerContext.play(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.play.html)
  17070. *
  17071. * 在插件中使用:支持
  17072. *
  17073. * 播放 */
  17074. play(option?: PlayOption): void
  17075. /** [LivePlayerContext.reconnectCasting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.reconnectCasting.html)
  17076. *
  17077. * 需要基础库: `2.32.0`
  17078. *
  17079. * 在插件中使用:支持
  17080. *
  17081. * 重连投屏设备。仅支持在 tap 事件回调内调用。 */
  17082. reconnectCasting(option?: ReconnectCastingOption): void
  17083. /** [LivePlayerContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestFullScreen.html)
  17084. *
  17085. * 在插件中使用:支持
  17086. *
  17087. * 进入全屏 */
  17088. requestFullScreen(
  17089. option: LivePlayerContextRequestFullScreenOption
  17090. ): void
  17091. /** [LivePlayerContext.requestPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.requestPictureInPicture.html)
  17092. *
  17093. * 需要基础库: `2.15.0`
  17094. *
  17095. * 在插件中使用:支持
  17096. *
  17097. * 进入小窗 */
  17098. requestPictureInPicture(option?: RequestPictureInPictureOption): void
  17099. /** [LivePlayerContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.resume.html)
  17100. *
  17101. * 需要基础库: `1.9.90`
  17102. *
  17103. * 在插件中使用:支持
  17104. *
  17105. * 恢复 */
  17106. resume(option?: ResumeOption): void
  17107. /** [LivePlayerContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.snapshot.html)
  17108. *
  17109. * 需要基础库: `2.7.1`
  17110. *
  17111. * 在插件中使用:支持
  17112. *
  17113. * 截图 */
  17114. snapshot(option: LivePlayerContextSnapshotOption): void
  17115. /** [LivePlayerContext.startCasting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.startCasting.html)
  17116. *
  17117. * 需要基础库: `2.32.0`
  17118. *
  17119. * 在插件中使用:支持
  17120. *
  17121. * 开始投屏, 拉起半屏搜索设备。仅支持在 tap 事件回调内调用。 */
  17122. startCasting(option?: StartCastingOption): void
  17123. /** [LivePlayerContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.stop.html)
  17124. *
  17125. * 在插件中使用:支持
  17126. *
  17127. * 停止 */
  17128. stop(option?: StopOption): void
  17129. /** [LivePlayerContext.switchCasting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePlayerContext.switchCasting.html)
  17130. *
  17131. * 需要基础库: `2.32.0`
  17132. *
  17133. * 在插件中使用:支持
  17134. *
  17135. * 切换投屏设备。仅支持在 tap 事件回调内调用。 */
  17136. switchCasting(option?: SwitchCastingOption): void
  17137. }
  17138. interface LivePusherContext {
  17139. /** [LivePusherContext.applyBlusherStickMakeup(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyBlusherStickMakeup.html)
  17140. *
  17141. * 需要基础库: `2.14.0`
  17142. *
  17143. * 在插件中使用:不支持
  17144. *
  17145. * 添加腮红美妆特效 */
  17146. applyBlusherStickMakeup(option: ApplyBlusherStickMakeupOption): void
  17147. /** [LivePusherContext.applyEyeBrowMakeup(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyEyeBrowMakeup.html)
  17148. *
  17149. * 需要基础库: `2.14.0`
  17150. *
  17151. * 在插件中使用:不支持
  17152. *
  17153. * 添加眉毛美妆特效 */
  17154. applyEyeBrowMakeup(option: ApplyEyeBrowMakeupOption): void
  17155. /** [LivePusherContext.applyEyeShadowMakeup(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyEyeShadowMakeup.html)
  17156. *
  17157. * 需要基础库: `2.14.0`
  17158. *
  17159. * 在插件中使用:不支持
  17160. *
  17161. * 添加眼影美妆特效 */
  17162. applyEyeShadowMakeup(option: ApplyEyeShadowMakeupOption): void
  17163. /** [LivePusherContext.applyFaceContourMakeup(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyFaceContourMakeup.html)
  17164. *
  17165. * 需要基础库: `2.14.0`
  17166. *
  17167. * 在插件中使用:不支持
  17168. *
  17169. * 添加修容美妆特效 */
  17170. applyFaceContourMakeup(option: ApplyFaceContourMakeupOption): void
  17171. /** [LivePusherContext.applyFilter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyFilter.html)
  17172. *
  17173. * 需要基础库: `2.14.0`
  17174. *
  17175. * 在插件中使用:不支持
  17176. *
  17177. * 添加滤镜效果 */
  17178. applyFilter(option: ApplyFilterOption): void
  17179. /** [LivePusherContext.applyLipStickMakeup(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applyLipStickMakeup.html)
  17180. *
  17181. * 需要基础库: `2.14.0`
  17182. *
  17183. * 在插件中使用:不支持
  17184. *
  17185. * 添加口红美妆特效 */
  17186. applyLipStickMakeup(option: ApplyLipStickMakeupOption): void
  17187. /** [LivePusherContext.applySticker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.applySticker.html)
  17188. *
  17189. * 需要基础库: `2.14.0`
  17190. *
  17191. * 在插件中使用:不支持
  17192. *
  17193. * 添加贴纸特效 */
  17194. applySticker(option: ApplyStickerOption): void
  17195. /** [LivePusherContext.clearFilters(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.clearFilters.html)
  17196. *
  17197. * 需要基础库: `2.14.0`
  17198. *
  17199. * 在插件中使用:不支持
  17200. *
  17201. * 清除所有滤镜效果 */
  17202. clearFilters(option?: ClearFiltersOption): void
  17203. /** [LivePusherContext.clearMakeups(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.clearMakeups.html)
  17204. *
  17205. * 需要基础库: `2.14.0`
  17206. *
  17207. * 在插件中使用:不支持
  17208. *
  17209. * 清除所有美妆特效 */
  17210. clearMakeups(option?: ClearMakeupsOption): void
  17211. /** [LivePusherContext.clearStickers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.clearStickers.html)
  17212. *
  17213. * 需要基础库: `2.14.0`
  17214. *
  17215. * 在插件中使用:不支持
  17216. *
  17217. * 清除所有贴纸特效 */
  17218. clearStickers(option?: ClearStickersOption): void
  17219. /** [LivePusherContext.createOffscreenCanvas(object options)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.createOffscreenCanvas.html)
  17220. *
  17221. * 需要基础库: `2.29.0`
  17222. *
  17223. * 在插件中使用:支持
  17224. *
  17225. * 创建一个能够承接 LivePusher 采集纹理的离屏 Canvas,客户端 8.0.31 版本开始支持。 */
  17226. createOffscreenCanvas(
  17227. /** 同[wx.createOffscreenCanvas](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html) */
  17228. options: IAnyObject
  17229. ): void
  17230. /** [LivePusherContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.exitPictureInPicture.html)
  17231. *
  17232. * 需要基础库: `2.25.0`
  17233. *
  17234. * 在插件中使用:支持
  17235. *
  17236. * 退出小窗,该方法可在任意页面调用 */
  17237. exitPictureInPicture(option?: ExitPictureInPictureOption): void
  17238. /** [LivePusherContext.getMaxZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.getMaxZoom.html)
  17239. *
  17240. * 需要基础库: `2.31.0`
  17241. *
  17242. * 在插件中使用:支持
  17243. *
  17244. * 获取最大缩放级别 */
  17245. getMaxZoom(option?: GetMaxZoomOption): void
  17246. /** [LivePusherContext.onCustomRendererEvent(string event, function|function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.onCustomRendererEvent.html)
  17247. *
  17248. * 需要基础库: `2.29.0`
  17249. *
  17250. * 在插件中使用:支持
  17251. *
  17252. * 开启自定义渲染时,开发者通过此方法订阅相关事件,客户端 8.0.31 版本开始支持。 */
  17253. onCustomRendererEvent(
  17254. /** 事件类型,后订阅的监听器会取消之前的监听器
  17255. *
  17256. * 参数 event 可选值:
  17257. * - 'frame': 采集到视频帧后触发;
  17258. * - 'update': 推流尺寸变更时触发; */
  17259. event: 'frame' | 'update',
  17260. /** 自定义渲染事件处理回调函数 */
  17261. callback: CustomRendererFrameEventCallback
  17262. ): void
  17263. /** [LivePusherContext.pause(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pause.html)
  17264. *
  17265. * 在插件中使用:支持
  17266. *
  17267. * 暂停推流 */
  17268. pause(option?: PauseOption): void
  17269. /** [LivePusherContext.pauseBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.pauseBGM.html)
  17270. *
  17271. * 需要基础库: `2.4.0`
  17272. *
  17273. * 在插件中使用:支持
  17274. *
  17275. * 暂停背景音 */
  17276. pauseBGM(option?: PauseBGMOption): void
  17277. /** [LivePusherContext.playBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.playBGM.html)
  17278. *
  17279. * 需要基础库: `2.4.0`
  17280. *
  17281. * 在插件中使用:支持
  17282. *
  17283. * 播放背景音 */
  17284. playBGM(option: PlayBGMOption): void
  17285. /** [LivePusherContext.resume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resume.html)
  17286. *
  17287. * 在插件中使用:支持
  17288. *
  17289. * 恢复推流 */
  17290. resume(option?: ResumeOption): void
  17291. /** [LivePusherContext.resumeBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.resumeBGM.html)
  17292. *
  17293. * 需要基础库: `2.4.0`
  17294. *
  17295. * 在插件中使用:支持
  17296. *
  17297. * 恢复背景音 */
  17298. resumeBGM(option?: ResumeBGMOption): void
  17299. /** [LivePusherContext.sendMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.sendMessage.html)
  17300. *
  17301. * 需要基础库: `2.10.0`
  17302. *
  17303. * 在插件中使用:支持
  17304. *
  17305. * 发送SEI消息 */
  17306. sendMessage(option: SendMessageOption): void
  17307. /** [LivePusherContext.setBGMVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setBGMVolume.html)
  17308. *
  17309. * 需要基础库: `2.4.0`
  17310. *
  17311. * 在插件中使用:支持
  17312. *
  17313. * 设置背景音音量 */
  17314. setBGMVolume(option: SetBGMVolumeOption): void
  17315. /** [LivePusherContext.setMICVolume(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setMICVolume.html)
  17316. *
  17317. * 需要基础库: `2.10.0`
  17318. *
  17319. * 在插件中使用:支持
  17320. *
  17321. * 设置麦克风音量 */
  17322. setMICVolume(option: SetMICVolumeOption): void
  17323. /** [LivePusherContext.setZoom(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.setZoom.html)
  17324. *
  17325. * 需要基础库: `2.31.0`
  17326. *
  17327. * 在插件中使用:支持
  17328. *
  17329. * 设置缩放级别 */
  17330. setZoom(option: LivePusherContextSetZoomOption): void
  17331. /** [LivePusherContext.snapshot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.snapshot.html)
  17332. *
  17333. * 需要基础库: `1.9.90`
  17334. *
  17335. * 在插件中使用:支持
  17336. *
  17337. * 快照 */
  17338. snapshot(option: LivePusherContextSnapshotOption): void
  17339. /** [LivePusherContext.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.start.html)
  17340. *
  17341. * 在插件中使用:支持
  17342. *
  17343. * 开始推流,同时开启摄像头预览 */
  17344. start(option?: LivePusherContextStartOption): void
  17345. /** [LivePusherContext.startPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.startPreview.html)
  17346. *
  17347. * 需要基础库: `2.7.0`
  17348. *
  17349. * 在插件中使用:支持
  17350. *
  17351. * 开启摄像头预览 */
  17352. startPreview(option?: StartPreviewOption): void
  17353. /** [LivePusherContext.stop(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stop.html)
  17354. *
  17355. * 在插件中使用:支持
  17356. *
  17357. * 停止推流,同时停止摄像头预览 */
  17358. stop(option?: StopOption): void
  17359. /** [LivePusherContext.stopBGM(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopBGM.html)
  17360. *
  17361. * 需要基础库: `2.4.0`
  17362. *
  17363. * 在插件中使用:支持
  17364. *
  17365. * 停止背景音 */
  17366. stopBGM(option?: StopBGMOption): void
  17367. /** [LivePusherContext.stopPreview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.stopPreview.html)
  17368. *
  17369. * 需要基础库: `2.7.0`
  17370. *
  17371. * 在插件中使用:支持
  17372. *
  17373. * 关闭摄像头预览 */
  17374. stopPreview(option?: StopPreviewOption): void
  17375. /** [LivePusherContext.switchCamera(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.switchCamera.html)
  17376. *
  17377. * 在插件中使用:支持
  17378. *
  17379. * 切换前后摄像头 */
  17380. switchCamera(option?: SwitchCameraOption): void
  17381. /** [LivePusherContext.toggleTorch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/live/LivePusherContext.toggleTorch.html)
  17382. *
  17383. * 需要基础库: `2.1.0`
  17384. *
  17385. * 在插件中使用:支持
  17386. *
  17387. * 切换手电筒 */
  17388. toggleTorch(option?: ToggleTorchOption): void
  17389. }
  17390. interface LogManager {
  17391. /** [LogManager.debug()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.debug.html)
  17392. *
  17393. * 在插件中使用:不支持
  17394. *
  17395. * 写 debug 日志 */
  17396. debug(
  17397. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
  17398. ...args: any[]
  17399. ): void
  17400. /** [LogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.info.html)
  17401. *
  17402. * 在插件中使用:不支持
  17403. *
  17404. * 写 info 日志 */
  17405. info(
  17406. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
  17407. ...args: any[]
  17408. ): void
  17409. /** [LogManager.log()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.log.html)
  17410. *
  17411. * 在插件中使用:不支持
  17412. *
  17413. * 写 log 日志 */
  17414. log(
  17415. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
  17416. ...args: any[]
  17417. ): void
  17418. /** [LogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/LogManager.warn.html)
  17419. *
  17420. * 在插件中使用:不支持
  17421. *
  17422. * 写 warn 日志 */
  17423. warn(
  17424. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过100Kb */
  17425. ...args: any[]
  17426. ): void
  17427. }
  17428. interface MapContext {
  17429. /** [MapContext.addArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addArc.html)
  17430. *
  17431. * 需要基础库: `2.22.0`
  17432. *
  17433. * 在插件中使用:支持
  17434. *
  17435. * 添加弧线,途经点与夹角必须设置一个。途经点必须在起终点有效坐标范围内,否则不能生成正确的弧线,同时设置夹角角度时,以夹角角度为准。夹角定义为起点到终点,与起点外切线逆时针旋转的角度。工具侧暂未支持。 */
  17436. addArc(option: AddArcOption): void
  17437. /** [MapContext.addCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addCustomLayer.html)
  17438. *
  17439. * 需要基础库: `2.12.0`
  17440. *
  17441. * 在插件中使用:支持
  17442. *
  17443. * 添加个性化图层。图层创建[参考文档](https://lbs.qq.com/dev/console/customLayer/create) */
  17444. addCustomLayer(option: AddCustomLayerOption): void
  17445. /** [MapContext.addGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addGroundOverlay.html)
  17446. *
  17447. * 需要基础库: `2.14.0`
  17448. *
  17449. * 在插件中使用:支持
  17450. *
  17451. * 创建自定义图片图层,图片会随着地图缩放而缩放。 */
  17452. addGroundOverlay(option: AddGroundOverlayOption): void
  17453. /** [MapContext.addMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.html)
  17454. *
  17455. * 需要基础库: `2.13.0`
  17456. *
  17457. * 在插件中使用:支持
  17458. *
  17459. * 添加 marker。 */
  17460. addMarkers(option: AddMarkersOption): void
  17461. /** [MapContext.addVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addVisualLayer.html)
  17462. *
  17463. * 需要基础库: `2.20.1`
  17464. *
  17465. * 在插件中使用:支持
  17466. *
  17467. * 添加可视化图层。需要刷新时,interval 可设置的最小值为 15 s。 */
  17468. addVisualLayer(option: AddVisualLayerOption): void
  17469. /** [MapContext.eraseLines(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.eraseLines.html)
  17470. *
  17471. * 需要基础库: `2.5.0`
  17472. *
  17473. * 在插件中使用:支持
  17474. *
  17475. * 擦除或置灰已添加到地图中的线段。 */
  17476. eraseLines(option: EraseLinesOption): void
  17477. /** [MapContext.executeVisualLayerCommand(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.executeVisualLayerCommand.html)
  17478. *
  17479. * 需要基础库: `2.26.0`
  17480. *
  17481. * 在插件中使用:支持
  17482. *
  17483. * 执行可视化图层指令,结合 `MapContext.on('visualLayerEvent')` 监听事件使用。 */
  17484. executeVisualLayerCommand(option: ExecuteVisualLayerCommandOption): void
  17485. /** [MapContext.fromScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.fromScreenLocation.html)
  17486. *
  17487. * 需要基础库: `2.14.0`
  17488. *
  17489. * 在插件中使用:支持
  17490. *
  17491. * 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。 */
  17492. fromScreenLocation(option: FromScreenLocationOption): void
  17493. /** [MapContext.getCenterLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getCenterLocation.html)
  17494. *
  17495. * 在插件中使用:支持
  17496. *
  17497. * 获取当前地图中心的经纬度。返回的是 gcj02 坐标系,可以用于 [wx.openLocation()](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html) */
  17498. getCenterLocation(option: GetCenterLocationOption): void
  17499. /** [MapContext.getRegion(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRegion.html)
  17500. *
  17501. * 需要基础库: `1.4.0`
  17502. *
  17503. * 在插件中使用:支持
  17504. *
  17505. * 获取当前地图的视野范围 */
  17506. getRegion(option?: GetRegionOption): void
  17507. /** [MapContext.getRotate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getRotate.html)
  17508. *
  17509. * 需要基础库: `2.8.0`
  17510. *
  17511. * 在插件中使用:支持
  17512. *
  17513. * 获取当前地图的旋转角 */
  17514. getRotate(option?: GetRotateOption): void
  17515. /** [MapContext.getScale(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getScale.html)
  17516. *
  17517. * 需要基础库: `1.4.0`
  17518. *
  17519. * 在插件中使用:支持
  17520. *
  17521. * 获取当前地图的缩放级别 */
  17522. getScale(option?: GetScaleOption): void
  17523. /** [MapContext.getSkew(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.getSkew.html)
  17524. *
  17525. * 需要基础库: `2.8.0`
  17526. *
  17527. * 在插件中使用:支持
  17528. *
  17529. * 获取当前地图的倾斜角 */
  17530. getSkew(option?: GetSkewOption): void
  17531. /** [MapContext.includePoints(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.includePoints.html)
  17532. *
  17533. * 需要基础库: `1.2.0`
  17534. *
  17535. * 在插件中使用:支持
  17536. *
  17537. * 缩放视野展示所有经纬度 */
  17538. includePoints(option: IncludePointsOption): void
  17539. /** [MapContext.initMarkerCluster(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.initMarkerCluster.html)
  17540. *
  17541. * 需要基础库: `2.13.0`
  17542. *
  17543. * 在插件中使用:支持
  17544. *
  17545. * 初始化点聚合的配置,未调用时采用默认配置。 */
  17546. initMarkerCluster(option: InitMarkerClusterOption): void
  17547. /** [MapContext.moveAlong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveAlong.html)
  17548. *
  17549. * 需要基础库: `2.13.0`
  17550. *
  17551. * 在插件中使用:支持
  17552. *
  17553. * 沿指定路径移动 `marker`,用于轨迹回放等场景。动画完成时触发回调事件,若动画进行中,对同一 `marker` 再次调用 `moveAlong` 方法,前一次的动画将被打断。 */
  17554. moveAlong(option: MoveAlongOption): void
  17555. /** [MapContext.moveToLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.moveToLocation.html)
  17556. *
  17557. * 需要基础库: `1.2.0`
  17558. *
  17559. * 在插件中使用:支持
  17560. *
  17561. * 将地图中心移置当前定位点,此时需设置地图组件 show-location 为true。[2.8.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持将地图中心移动到指定位置。 */
  17562. moveToLocation(option?: MoveToLocationOption): void
  17563. /** [MapContext.on(string event, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.on.html)
  17564. *
  17565. * 需要基础库: `2.13.0`
  17566. *
  17567. * 在插件中使用:支持
  17568. *
  17569. * 监听地图事件。
  17570. *
  17571. * ### visualLayerEvent
  17572. *
  17573. * 可视化图层 visualLayer 统一回调出口,[2.26.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持。
  17574. *
  17575. * #### 返回参数
  17576. *
  17577. * | 参数 | 类型 | 说明 |
  17578. * | --------- | ------ | -------- |
  17579. * | layerId | String | 图层 id |
  17580. * | eventType | String | 事件类型 |
  17581. * | eventInfo | String | 事件信息 |
  17582. *
  17583. * ### markerClusterCreate
  17584. *
  17585. * 缩放或拖动导致新的聚合簇产生时触发,仅返回新创建的聚合簇信息。
  17586. *
  17587. * #### 返回参数
  17588. *
  17589. * | 参数 | 类型 | 说明 |
  17590. * | -------- | -------------------- | ---------- |
  17591. * | clusters | `Array<ClusterInfo>` | 聚合簇数据 |
  17592. *
  17593. * ### markerClusterClick
  17594. *
  17595. * 聚合簇的点击事件。
  17596. *
  17597. * #### 返回参数
  17598. *
  17599. * | 参数 | 类型 | 说明 |
  17600. * | --------- | ------------- | --------- |
  17601. * | cluster | ClusterInfo | 聚合簇 |
  17602. *
  17603. * #### ClusterInfo 结构
  17604. *
  17605. * | 参数 | 类型 | 说明 |
  17606. * | --------- | --------------- | -------------------------- |
  17607. * | clusterId | Number | 聚合簇的 id |
  17608. * | center | LatLng | 聚合簇的坐标 |
  17609. * | markerIds | `Array<Number>` | 该聚合簇内的点标记数据数组 |
  17610. *
  17611. * ### markerCollisionStatusChange
  17612. *
  17613. * marker 参与碰撞后隐藏时的回调,[3.4.3](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起支持。
  17614. *
  17615. * #### 返回参数
  17616. *
  17617. * | 参数 | 类型 | 说明 |
  17618. * | --------- | ------ | -------- |
  17619. * | show | `Array<Number>` | 碰撞时隐藏后又显示的 `markerIds` |
  17620. * | hide | `Array<Number>` | 碰撞时被隐藏的 `markerIds` |
  17621. *
  17622. * **示例代码**
  17623. *
  17624. * ```js
  17625. MapContext.on('visualLayerEvent', (res) => {})
  17626. MapContext.on('markerClusterCreate', (res) => {})
  17627. MapContext.on('markerClusterClick', (res) => {})
  17628. MapContext.on('markerCollisionStatusChange', (res) => {})
  17629. ``` */
  17630. on(
  17631. /** 事件名
  17632. *
  17633. * 参数 event 可选值:
  17634. * - 'markerClusterCreate': ;
  17635. * - 'markerClusterClick': ;
  17636. * - 'visualLayerEvent': ;
  17637. * - 'markerCollisionStatusChange': ; */
  17638. event:
  17639. | 'markerClusterCreate'
  17640. | 'markerClusterClick'
  17641. | 'visualLayerEvent'
  17642. | 'markerCollisionStatusChange',
  17643. /** 事件的回调函数 */
  17644. callback: (...args: any[]) => any
  17645. ): void
  17646. /** [MapContext.openMapApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.openMapApp.html)
  17647. *
  17648. * 需要基础库: `2.14.0`
  17649. *
  17650. * 在插件中使用:支持
  17651. *
  17652. * 拉起地图APP选择导航。 */
  17653. openMapApp(option: OpenMapAppOption): void
  17654. /** [MapContext.removeArc(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeArc.html)
  17655. *
  17656. * 需要基础库: `2.22.0`
  17657. *
  17658. * 在插件中使用:支持
  17659. *
  17660. * 删除弧线。工具侧暂未支持。 */
  17661. removeArc(option: RemoveArcOption): void
  17662. /** [MapContext.removeCustomLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeCustomLayer.html)
  17663. *
  17664. * 需要基础库: `2.12.0`
  17665. *
  17666. * 在插件中使用:支持
  17667. *
  17668. * 移除个性化图层。 */
  17669. removeCustomLayer(option: RemoveCustomLayerOption): void
  17670. /** [MapContext.removeGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeGroundOverlay.html)
  17671. *
  17672. * 需要基础库: `2.14.0`
  17673. *
  17674. * 在插件中使用:支持
  17675. *
  17676. * 移除自定义图片图层。 */
  17677. removeGroundOverlay(option: RemoveGroundOverlayOption): void
  17678. /** [MapContext.removeMarkers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeMarkers.html)
  17679. *
  17680. * 需要基础库: `2.13.0`
  17681. *
  17682. * 在插件中使用:支持
  17683. *
  17684. * 移除 marker。 */
  17685. removeMarkers(option: RemoveMarkersOption): void
  17686. /** [MapContext.removeVisualLayer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.removeVisualLayer.html)
  17687. *
  17688. * 需要基础库: `2.20.1`
  17689. *
  17690. * 在插件中使用:支持
  17691. *
  17692. * 移除可视化图层。 */
  17693. removeVisualLayer(option: RemoveVisualLayerOption): void
  17694. /** [MapContext.setBoundary(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setBoundary.html)
  17695. *
  17696. * 需要基础库: `2.22.0`
  17697. *
  17698. * 在插件中使用:支持
  17699. *
  17700. * 限制地图的显示范围。此接口同时会限制地图的最小缩放整数级别。 */
  17701. setBoundary(option: SetBoundaryOption): void
  17702. /** [MapContext.setCenterOffset(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setCenterOffset.html)
  17703. *
  17704. * 需要基础库: `2.10.0`
  17705. *
  17706. * 在插件中使用:支持
  17707. *
  17708. * 设置地图中心点偏移,向后向下为增长,屏幕比例范围(0.25~0.75),默认偏移为[0.5, 0.5] */
  17709. setCenterOffset(option: SetCenterOffsetOption): void
  17710. /** [MapContext.setLocMarkerIcon(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.setLocMarkerIcon.html)
  17711. *
  17712. * 需要基础库: `2.16.0`
  17713. *
  17714. * 在插件中使用:支持
  17715. *
  17716. * 设置定位点图标,支持网络路径、本地路径、代码包路径 */
  17717. setLocMarkerIcon(option: SetLocMarkerIconOption): void
  17718. /** [MapContext.toScreenLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.toScreenLocation.html)
  17719. *
  17720. * 需要基础库: `2.14.0`
  17721. *
  17722. * 在插件中使用:支持
  17723. *
  17724. * 获取经纬度对应的屏幕坐标,坐标原点为地图左上角。 */
  17725. toScreenLocation(option: ToScreenLocationOption): void
  17726. /** [MapContext.translateMarker(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.translateMarker.html)
  17727. *
  17728. * 需要基础库: `1.2.0`
  17729. *
  17730. * 在插件中使用:支持
  17731. *
  17732. * 平移marker,带动画。 */
  17733. translateMarker(option: TranslateMarkerOption): void
  17734. /** [MapContext.updateGroundOverlay(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.updateGroundOverlay.html)
  17735. *
  17736. * 需要基础库: `2.14.0`
  17737. *
  17738. * 在插件中使用:支持
  17739. *
  17740. * 更新自定义图片图层。 */
  17741. updateGroundOverlay(option: UpdateGroundOverlayOption): void
  17742. }
  17743. interface MediaContainer {
  17744. /** [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)
  17745. *
  17746. * 需要基础库: `2.9.0`
  17747. *
  17748. * 在插件中使用:支持
  17749. *
  17750. * 将音频或视频轨道添加到容器 */
  17751. addTrack(
  17752. /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html)
  17753. *
  17754. * 要添加的音频或视频轨道 */
  17755. track: MediaTrack
  17756. ): void
  17757. /** [MediaContainer.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.destroy.html)
  17758. *
  17759. * 需要基础库: `2.9.0`
  17760. *
  17761. * 在插件中使用:支持
  17762. *
  17763. * 将容器销毁,释放资源 */
  17764. destroy(): void
  17765. /** [MediaContainer.export()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.export.html)
  17766. *
  17767. * 需要基础库: `2.9.0`
  17768. *
  17769. * 在插件中使用:支持
  17770. *
  17771. * 将容器内的轨道合并并导出视频文件 */
  17772. export(): void
  17773. /** [MediaContainer.extractDataSource(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaContainer.extractDataSource.html)
  17774. *
  17775. * 需要基础库: `2.9.0`
  17776. *
  17777. * 在插件中使用:支持
  17778. *
  17779. * 将传入的视频源分离轨道。不会自动将轨道添加到待合成的容器里。 */
  17780. extractDataSource(option: ExtractDataSourceOption): void
  17781. /** [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)
  17782. *
  17783. * 需要基础库: `2.9.0`
  17784. *
  17785. * 在插件中使用:支持
  17786. *
  17787. * 将音频或视频轨道从容器中移除 */
  17788. removeTrack(
  17789. /** [MediaTrack](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-processing/MediaTrack.html)
  17790. *
  17791. * 要移除的音频或视频轨道 */
  17792. track: MediaTrack
  17793. ): void
  17794. }
  17795. interface MediaQueryObserver {
  17796. /** [MediaQueryObserver.disconnect()](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.disconnect.html)
  17797. *
  17798. * 在插件中使用:支持
  17799. *
  17800. * 停止监听。回调函数将不再触发 */
  17801. disconnect(): void
  17802. /** [MediaQueryObserver.observe(Object descriptor, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/MediaQueryObserver.observe.html)
  17803. *
  17804. * 在插件中使用:支持
  17805. *
  17806. * 开始监听页面 media query 变化情况 */
  17807. observe(
  17808. /** media query 描述符 */
  17809. descriptor: ObserveDescriptor,
  17810. /** 监听 media query 状态变化的回调函数 */
  17811. callback: MediaQueryObserverObserveCallback
  17812. ): void
  17813. }
  17814. interface MediaRecorder {
  17815. /** [MediaRecorder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.off.html)
  17816. *
  17817. * 需要基础库: `2.11.0`
  17818. *
  17819. * 在插件中使用:支持
  17820. *
  17821. * 取消监听录制事件。当对应事件触发时,该回调函数不再执行。 */
  17822. off(
  17823. /** 事件名 */
  17824. eventName: string,
  17825. /** 事件触发时执行的回调函数 */
  17826. callback: (...args: any[]) => any
  17827. ): void
  17828. /** [MediaRecorder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.on.html)
  17829. *
  17830. * 需要基础库: `2.11.0`
  17831. *
  17832. * 在插件中使用:支持
  17833. *
  17834. * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行。 */
  17835. on(
  17836. /** 事件名
  17837. *
  17838. * 参数 eventName 可选值:
  17839. * - 'start': 录制开始事件。;
  17840. * - 'stop': 录制结束事件。返回 {tempFilePath, duration, fileSize};
  17841. * - 'pause': 录制暂停事件。;
  17842. * - 'resume': 录制继续事件。;
  17843. * - 'timeupdate': 录制时间更新事件。; */
  17844. eventName: 'start' | 'stop' | 'pause' | 'resume' | 'timeupdate',
  17845. /** 事件触发时执行的回调函数 */
  17846. callback: (...args: any[]) => any
  17847. ): void
  17848. /** [Promise MediaRecorder.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.destroy.html)
  17849. *
  17850. * 需要基础库: `2.11.0`
  17851. *
  17852. * 在插件中使用:支持
  17853. *
  17854. * 销毁录制器 */
  17855. destroy(): Promise<any>
  17856. /** [Promise MediaRecorder.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.pause.html)
  17857. *
  17858. * 需要基础库: `2.11.0`
  17859. *
  17860. * 在插件中使用:支持
  17861. *
  17862. * 暂停录制 */
  17863. pause(): Promise<any>
  17864. /** [Promise MediaRecorder.requestFrame(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.requestFrame.html)
  17865. *
  17866. * 需要基础库: `2.11.0`
  17867. *
  17868. * 在插件中使用:支持
  17869. *
  17870. * 请求下一帧录制,在 callback 里完成一帧渲染后开始录制当前帧 */
  17871. requestFrame(callback: (...args: any[]) => any): Promise<any>
  17872. /** [Promise MediaRecorder.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.resume.html)
  17873. *
  17874. * 需要基础库: `2.11.0`
  17875. *
  17876. * 在插件中使用:支持
  17877. *
  17878. * 恢复录制 */
  17879. resume(): Promise<any>
  17880. /** [Promise MediaRecorder.start()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.start.html)
  17881. *
  17882. * 需要基础库: `2.11.0`
  17883. *
  17884. * 在插件中使用:支持
  17885. *
  17886. * 开始录制 */
  17887. start(): Promise<any>
  17888. /** [Promise MediaRecorder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/MediaRecorder.stop.html)
  17889. *
  17890. * 需要基础库: `2.11.0`
  17891. *
  17892. * 在插件中使用:支持
  17893. *
  17894. * 结束录制 */
  17895. stop(): Promise<any>
  17896. }
  17897. interface MifareClassic {
  17898. /** [MifareClassic.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.close.html)
  17899. *
  17900. * 需要基础库: `2.11.2`
  17901. *
  17902. * 在插件中使用:支持
  17903. *
  17904. * 断开连接 */
  17905. close(option?: NdefCloseOption): void
  17906. /** [MifareClassic.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.connect.html)
  17907. *
  17908. * 需要基础库: `2.11.2`
  17909. *
  17910. * 在插件中使用:支持
  17911. *
  17912. * 连接 NFC 标签 */
  17913. connect(option?: NdefConnectOption): void
  17914. /** [MifareClassic.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.getMaxTransceiveLength.html)
  17915. *
  17916. * 需要基础库: `2.11.2`
  17917. *
  17918. * 在插件中使用:支持
  17919. *
  17920. * 获取最大传输长度 */
  17921. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  17922. /** [MifareClassic.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.isConnected.html)
  17923. *
  17924. * 需要基础库: `2.11.2`
  17925. *
  17926. * 在插件中使用:支持
  17927. *
  17928. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  17929. *
  17930. * 检查是否已连接 */
  17931. isConnected(option?: IsConnectedOption): void
  17932. /** [MifareClassic.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.setTimeout.html)
  17933. *
  17934. * 需要基础库: `2.11.2`
  17935. *
  17936. * 在插件中使用:支持
  17937. *
  17938. * 设置超时时间 */
  17939. setTimeout(option: SetTimeoutOption): void
  17940. /** [MifareClassic.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareClassic.transceive.html)
  17941. *
  17942. * 需要基础库: `2.11.2`
  17943. *
  17944. * 在插件中使用:支持
  17945. *
  17946. * 发送数据 */
  17947. transceive(option: TransceiveOption): void
  17948. }
  17949. interface MifareUltralight {
  17950. /** [MifareUltralight.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.close.html)
  17951. *
  17952. * 需要基础库: `2.11.2`
  17953. *
  17954. * 在插件中使用:支持
  17955. *
  17956. * 断开连接 */
  17957. close(option?: NdefCloseOption): void
  17958. /** [MifareUltralight.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.connect.html)
  17959. *
  17960. * 需要基础库: `2.11.2`
  17961. *
  17962. * 在插件中使用:支持
  17963. *
  17964. * 连接 NFC 标签 */
  17965. connect(option?: NdefConnectOption): void
  17966. /** [MifareUltralight.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.getMaxTransceiveLength.html)
  17967. *
  17968. * 需要基础库: `2.11.2`
  17969. *
  17970. * 在插件中使用:支持
  17971. *
  17972. * 获取最大传输长度 */
  17973. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  17974. /** [MifareUltralight.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.isConnected.html)
  17975. *
  17976. * 需要基础库: `2.11.2`
  17977. *
  17978. * 在插件中使用:支持
  17979. *
  17980. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  17981. *
  17982. * 检查是否已连接 */
  17983. isConnected(option?: IsConnectedOption): void
  17984. /** [MifareUltralight.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.setTimeout.html)
  17985. *
  17986. * 需要基础库: `2.11.2`
  17987. *
  17988. * 在插件中使用:支持
  17989. *
  17990. * 设置超时时间 */
  17991. setTimeout(option: SetTimeoutOption): void
  17992. /** [MifareUltralight.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/MifareUltralight.transceive.html)
  17993. *
  17994. * 需要基础库: `2.11.2`
  17995. *
  17996. * 在插件中使用:支持
  17997. *
  17998. * 发送数据 */
  17999. transceive(option: TransceiveOption): void
  18000. }
  18001. interface NFCError {
  18002. /** 错误信息
  18003. *
  18004. * | 错误码 | 错误信息 | 说明 |
  18005. * | - | - | - |
  18006. * | 0 | ok | 正常 |
  18007. * | 13000 | | 当前设备不支持NFC |
  18008. * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 |
  18009. * | 13002 | | 当前设备支持NFC,但不支持HCE |
  18010. * | 13003 | | AID列表参数格式错误 |
  18011. * | 13004 | | 未设置微信为默认NFC支付应用 |
  18012. * | 13005 | | 返回的指令不合法 |
  18013. * | 13006 | | 注册AID失败 | */ errMsg: string
  18014. /** 错误码
  18015. *
  18016. * | 错误码 | 错误信息 | 说明 |
  18017. * | - | - | - |
  18018. * | 0 | ok | 正常 |
  18019. * | 13000 | | 当前设备不支持NFC |
  18020. * | 13001 | | 当前设备支持NFC,但系统NFC开关未开启 |
  18021. * | 13002 | | 当前设备支持NFC,但不支持HCE |
  18022. * | 13003 | | AID列表参数格式错误 |
  18023. * | 13004 | | 未设置微信为默认NFC支付应用 |
  18024. * | 13005 | | 返回的指令不合法 |
  18025. * | 13006 | | 注册AID失败 | */ errCode: number
  18026. }
  18027. interface Ndef {
  18028. /** [Ndef.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.close.html)
  18029. *
  18030. * 需要基础库: `2.11.2`
  18031. *
  18032. * 在插件中使用:支持
  18033. *
  18034. * 断开连接 */
  18035. close(option?: NdefCloseOption): void
  18036. /** [Ndef.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.connect.html)
  18037. *
  18038. * 需要基础库: `2.11.2`
  18039. *
  18040. * 在插件中使用:支持
  18041. *
  18042. * 连接 NFC 标签 */
  18043. connect(option?: NdefConnectOption): void
  18044. /** [Ndef.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.isConnected.html)
  18045. *
  18046. * 需要基础库: `2.11.2`
  18047. *
  18048. * 在插件中使用:支持
  18049. *
  18050. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  18051. *
  18052. * 检查是否已连接 */
  18053. isConnected(option?: IsConnectedOption): void
  18054. /** [Ndef.offNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.offNdefMessage.html)
  18055. *
  18056. * 需要基础库: `2.11.2`
  18057. *
  18058. * 在插件中使用:支持
  18059. *
  18060. * 取消监听 Ndef 消息 */
  18061. offNdefMessage(callback: (...args: any[]) => any): void
  18062. /** [Ndef.onNdefMessage(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.onNdefMessage.html)
  18063. *
  18064. * 需要基础库: `2.11.2`
  18065. *
  18066. * 在插件中使用:支持
  18067. *
  18068. * 监听 Ndef 消息 */
  18069. onNdefMessage(callback: (...args: any[]) => any): void
  18070. /** [Ndef.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.setTimeout.html)
  18071. *
  18072. * 需要基础库: `2.11.2`
  18073. *
  18074. * 在插件中使用:支持
  18075. *
  18076. * 设置超时时间 */
  18077. setTimeout(option: SetTimeoutOption): void
  18078. /** [Ndef.writeNdefMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/Ndef.writeNdefMessage.html)
  18079. *
  18080. * 需要基础库: `2.11.2`
  18081. *
  18082. * 在插件中使用:支持
  18083. *
  18084. * 重写 Ndef 标签内容 */
  18085. writeNdefMessage(option: WriteNdefMessageOption): void
  18086. }
  18087. interface NfcA {
  18088. /** [NfcA.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.close.html)
  18089. *
  18090. * 需要基础库: `2.11.2`
  18091. *
  18092. * 在插件中使用:支持
  18093. *
  18094. * 断开连接 */
  18095. close(option?: NdefCloseOption): void
  18096. /** [NfcA.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.connect.html)
  18097. *
  18098. * 需要基础库: `2.11.2`
  18099. *
  18100. * 在插件中使用:支持
  18101. *
  18102. * 连接 NFC 标签 */
  18103. connect(option?: NdefConnectOption): void
  18104. /** [NfcA.getAtqa(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getAtqa.html)
  18105. *
  18106. * 需要基础库: `2.11.2`
  18107. *
  18108. * 在插件中使用:支持
  18109. *
  18110. * 获取ATQA信息 */
  18111. getAtqa(option?: GetAtqaOption): void
  18112. /** [NfcA.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getMaxTransceiveLength.html)
  18113. *
  18114. * 需要基础库: `2.11.2`
  18115. *
  18116. * 在插件中使用:支持
  18117. *
  18118. * 获取最大传输长度 */
  18119. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  18120. /** [NfcA.getSak(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.getSak.html)
  18121. *
  18122. * 需要基础库: `2.11.2`
  18123. *
  18124. * 在插件中使用:支持
  18125. *
  18126. * 获取SAK信息 */
  18127. getSak(option?: GetSakOption): void
  18128. /** [NfcA.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.isConnected.html)
  18129. *
  18130. * 需要基础库: `2.11.2`
  18131. *
  18132. * 在插件中使用:支持
  18133. *
  18134. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  18135. *
  18136. * 检查是否已连接 */
  18137. isConnected(option?: IsConnectedOption): void
  18138. /** [NfcA.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.setTimeout.html)
  18139. *
  18140. * 需要基础库: `2.11.2`
  18141. *
  18142. * 在插件中使用:支持
  18143. *
  18144. * 设置超时时间 */
  18145. setTimeout(option: SetTimeoutOption): void
  18146. /** [NfcA.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcA.transceive.html)
  18147. *
  18148. * 需要基础库: `2.11.2`
  18149. *
  18150. * 在插件中使用:支持
  18151. *
  18152. * 发送数据 */
  18153. transceive(option: TransceiveOption): void
  18154. }
  18155. interface NfcB {
  18156. /** [NfcB.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.close.html)
  18157. *
  18158. * 需要基础库: `2.11.2`
  18159. *
  18160. * 在插件中使用:支持
  18161. *
  18162. * 断开连接 */
  18163. close(option?: NdefCloseOption): void
  18164. /** [NfcB.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.connect.html)
  18165. *
  18166. * 需要基础库: `2.11.2`
  18167. *
  18168. * 在插件中使用:支持
  18169. *
  18170. * 连接 NFC 标签 */
  18171. connect(option?: NdefConnectOption): void
  18172. /** [NfcB.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.getMaxTransceiveLength.html)
  18173. *
  18174. * 需要基础库: `2.11.2`
  18175. *
  18176. * 在插件中使用:支持
  18177. *
  18178. * 获取最大传输长度 */
  18179. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  18180. /** [NfcB.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.isConnected.html)
  18181. *
  18182. * 需要基础库: `2.11.2`
  18183. *
  18184. * 在插件中使用:支持
  18185. *
  18186. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  18187. *
  18188. * 检查是否已连接 */
  18189. isConnected(option?: IsConnectedOption): void
  18190. /** [NfcB.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.setTimeout.html)
  18191. *
  18192. * 需要基础库: `2.11.2`
  18193. *
  18194. * 在插件中使用:支持
  18195. *
  18196. * 设置超时时间 */
  18197. setTimeout(option: SetTimeoutOption): void
  18198. /** [NfcB.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcB.transceive.html)
  18199. *
  18200. * 需要基础库: `2.11.2`
  18201. *
  18202. * 在插件中使用:支持
  18203. *
  18204. * 发送数据 */
  18205. transceive(option: TransceiveOption): void
  18206. }
  18207. interface NfcF {
  18208. /** [NfcF.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.close.html)
  18209. *
  18210. * 需要基础库: `2.11.2`
  18211. *
  18212. * 在插件中使用:支持
  18213. *
  18214. * 断开连接 */
  18215. close(option?: NdefCloseOption): void
  18216. /** [NfcF.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.connect.html)
  18217. *
  18218. * 需要基础库: `2.11.2`
  18219. *
  18220. * 在插件中使用:支持
  18221. *
  18222. * 连接 NFC 标签 */
  18223. connect(option?: NdefConnectOption): void
  18224. /** [NfcF.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.getMaxTransceiveLength.html)
  18225. *
  18226. * 需要基础库: `2.11.2`
  18227. *
  18228. * 在插件中使用:支持
  18229. *
  18230. * 获取最大传输长度 */
  18231. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  18232. /** [NfcF.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.isConnected.html)
  18233. *
  18234. * 需要基础库: `2.11.2`
  18235. *
  18236. * 在插件中使用:支持
  18237. *
  18238. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  18239. *
  18240. * 检查是否已连接 */
  18241. isConnected(option?: IsConnectedOption): void
  18242. /** [NfcF.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.setTimeout.html)
  18243. *
  18244. * 需要基础库: `2.11.2`
  18245. *
  18246. * 在插件中使用:支持
  18247. *
  18248. * 设置超时时间 */
  18249. setTimeout(option: SetTimeoutOption): void
  18250. /** [NfcF.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcF.transceive.html)
  18251. *
  18252. * 需要基础库: `2.11.2`
  18253. *
  18254. * 在插件中使用:支持
  18255. *
  18256. * 发送数据 */
  18257. transceive(option: TransceiveOption): void
  18258. }
  18259. interface NfcV {
  18260. /** [NfcV.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.close.html)
  18261. *
  18262. * 需要基础库: `2.11.2`
  18263. *
  18264. * 在插件中使用:支持
  18265. *
  18266. * 断开连接 */
  18267. close(option?: NdefCloseOption): void
  18268. /** [NfcV.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.connect.html)
  18269. *
  18270. * 需要基础库: `2.11.2`
  18271. *
  18272. * 在插件中使用:支持
  18273. *
  18274. * 连接 NFC 标签 */
  18275. connect(option?: NdefConnectOption): void
  18276. /** [NfcV.getMaxTransceiveLength(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.getMaxTransceiveLength.html)
  18277. *
  18278. * 需要基础库: `2.11.2`
  18279. *
  18280. * 在插件中使用:支持
  18281. *
  18282. * 获取最大传输长度 */
  18283. getMaxTransceiveLength(option?: GetMaxTransceiveLengthOption): void
  18284. /** [NfcV.isConnected(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.isConnected.html)
  18285. *
  18286. * 需要基础库: `2.11.2`
  18287. *
  18288. * 在插件中使用:支持
  18289. *
  18290. * @warning **该接口已废弃,连接状态开发者自行维护即可**
  18291. *
  18292. * 检查是否已连接 */
  18293. isConnected(option?: IsConnectedOption): void
  18294. /** [NfcV.setTimeout(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.setTimeout.html)
  18295. *
  18296. * 需要基础库: `2.11.2`
  18297. *
  18298. * 在插件中使用:支持
  18299. *
  18300. * 设置超时时间 */
  18301. setTimeout(option: SetTimeoutOption): void
  18302. /** [NfcV.transceive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc/NfcV.transceive.html)
  18303. *
  18304. * 需要基础库: `2.11.2`
  18305. *
  18306. * 在插件中使用:支持
  18307. *
  18308. * 发送数据 */
  18309. transceive(option: TransceiveOption): void
  18310. }
  18311. interface Nfcrwerror {
  18312. /** 错误信息
  18313. *
  18314. * | 错误码 | 错误信息 | 说明 |
  18315. * | - | - | - |
  18316. * | 13000 | 设备不支持NFC | |
  18317. * | 13001 | 系统NFC开关未打开 | |
  18318. * | 13010 | 未知错误 | |
  18319. * | 13019 | user is not authorized | 用户未授权 |
  18320. * | 13011 | invalid parameter | 参数无效 |
  18321. * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 |
  18322. * | 13021 | NFC discovery already started | 已经开始NFC扫描 |
  18323. * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 |
  18324. * | 13022 | Tech already connected | 标签已经连接 |
  18325. * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 |
  18326. * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 |
  18327. * | 13014 | invalid tech | 无效的标签技术 |
  18328. * | 13015 | unavailable tech | 从标签上获取对应技术失败 |
  18329. * | 13024 | function not support | 当前标签技术不支持该功能 |
  18330. * | 13017 | system internal error | 相关读写操作失败 |
  18331. * | 13016 | connect fail | 连接失败 | */ errMsg: string
  18332. /** 错误码
  18333. *
  18334. * | 错误码 | 错误信息 | 说明 |
  18335. * | - | - | - |
  18336. * | 13000 | 设备不支持NFC | |
  18337. * | 13001 | 系统NFC开关未打开 | |
  18338. * | 13010 | 未知错误 | |
  18339. * | 13019 | user is not authorized | 用户未授权 |
  18340. * | 13011 | invalid parameter | 参数无效 |
  18341. * | 13012 | parse NdefMessage failed | 将参数解析为NdefMessage失败 |
  18342. * | 13021 | NFC discovery already started | 已经开始NFC扫描 |
  18343. * | 13018 | NFC discovery has not started | 尝试在未开始NFC扫描时停止NFC扫描 |
  18344. * | 13022 | Tech already connected | 标签已经连接 |
  18345. * | 13023 | Tech has not connected | 尝试在未连接标签时断开连接 |
  18346. * | 13013 | NFC tag has not been discovered | 未扫描到NFC标签 |
  18347. * | 13014 | invalid tech | 无效的标签技术 |
  18348. * | 13015 | unavailable tech | 从标签上获取对应技术失败 |
  18349. * | 13024 | function not support | 当前标签技术不支持该功能 |
  18350. * | 13017 | system internal error | 相关读写操作失败 |
  18351. * | 13016 | connect fail | 连接失败 | */ errCode: number
  18352. }
  18353. interface NodesRef {
  18354. /** [[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)
  18355. *
  18356. * 在插件中使用:支持
  18357. *
  18358. * 添加节点的布局位置的查询请求。相对于显示区域,以像素为单位。其功能类似于 DOM 的 `getBoundingClientRect`。返回 `NodesRef` 对应的 `SelectorQuery`。
  18359. *
  18360. * **示例代码**
  18361. *
  18362. * ```js
  18363. Page({
  18364. getRect () {
  18365. wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){
  18366. rect.id // 节点的ID
  18367. rect.dataset // 节点的dataset
  18368. rect.left // 节点的左边界坐标
  18369. rect.right // 节点的右边界坐标
  18370. rect.top // 节点的上边界坐标
  18371. rect.bottom // 节点的下边界坐标
  18372. rect.width // 节点的宽度
  18373. rect.height // 节点的高度
  18374. }).exec()
  18375. },
  18376. getAllRects () {
  18377. wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function(rects){
  18378. rects.forEach(function(rect){
  18379. rect.id // 节点的ID
  18380. rect.dataset // 节点的dataset
  18381. rect.left // 节点的左边界坐标
  18382. rect.right // 节点的右边界坐标
  18383. rect.top // 节点的上边界坐标
  18384. rect.bottom // 节点的下边界坐标
  18385. rect.width // 节点的宽度
  18386. rect.height // 节点的高度
  18387. })
  18388. }).exec()
  18389. }
  18390. })
  18391. ``` */
  18392. boundingClientRect(
  18393. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */
  18394. callback?: BoundingClientRectCallback
  18395. ): SelectorQuery
  18396. /** [[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)
  18397. *
  18398. * 需要基础库: `2.4.2`
  18399. *
  18400. * 在插件中使用:支持
  18401. *
  18402. * 添加节点的 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) 的获取。
  18403. *
  18404. * **示例代码**
  18405. *
  18406. * ```js
  18407. Page({
  18408. getContext () {
  18409. wx.createSelectorQuery().select('.the-video-class').context(function(res){
  18410. console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象
  18411. }).exec()
  18412. }
  18413. })
  18414. ``` */
  18415. context(
  18416. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */
  18417. callback?: ContextCallback
  18418. ): SelectorQuery
  18419. /** [[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)
  18420. *
  18421. * 在插件中使用:支持
  18422. *
  18423. * 获取节点的相关信息。需要获取的字段在fields中指定。返回值是 `nodesRef` 对应的 `selectorQuery`
  18424. *
  18425. * **注意**
  18426. *
  18427. * computedStyle 的优先级高于 size,当同时在 computedStyle 里指定了 width/height 和传入了 size: true,则优先返回 computedStyle 获取到的 width/height。
  18428. *
  18429. * **示例代码**
  18430. *
  18431. * ```js
  18432. Page({
  18433. getFields () {
  18434. wx.createSelectorQuery().select('#the-id').fields({
  18435. dataset: true,
  18436. size: true,
  18437. scrollOffset: true,
  18438. properties: ['scrollX', 'scrollY'],
  18439. computedStyle: ['margin', 'backgroundColor'],
  18440. context: true,
  18441. }, function (res) {
  18442. res.dataset // 节点的dataset
  18443. res.width // 节点的宽度
  18444. res.height // 节点的高度
  18445. res.scrollLeft // 节点的水平滚动位置
  18446. res.scrollTop // 节点的竖直滚动位置
  18447. res.scrollX // 节点 scroll-x 属性的当前值
  18448. res.scrollY // 节点 scroll-y 属性的当前值
  18449. // 此处返回指定要返回的样式名
  18450. res.margin
  18451. res.backgroundColor
  18452. res.context // 节点对应的 Context 对象
  18453. res.ref // 节点对应的 Ref 对象
  18454. }).exec()
  18455. }
  18456. })
  18457. ``` */
  18458. fields(
  18459. fields: Fields,
  18460. /** 回调函数 */
  18461. callback?: FieldsCallback
  18462. ): SelectorQuery
  18463. /** [[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)
  18464. *
  18465. * 需要基础库: `2.7.0`
  18466. *
  18467. * 在插件中使用:支持
  18468. *
  18469. * 获取 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) 的获取。
  18470. *
  18471. * **示例代码**
  18472. *
  18473. * ```js
  18474. Page({
  18475. getNode() {
  18476. wx.createSelectorQuery().select('.canvas').node(function(res){
  18477. console.log(res.node) // 节点对应的 Canvas 实例。
  18478. }).exec()
  18479. }
  18480. })
  18481. ``` */
  18482. node(
  18483. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */
  18484. callback?: NodeCallback
  18485. ): SelectorQuery
  18486. /** [[SelectorQuery](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/SelectorQuery.html) NodesRef.ref(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/wxml/NodesRef.ref.html)
  18487. *
  18488. * 需要基础库: `3.3.0`
  18489. *
  18490. * 在插件中使用:支持
  18491. *
  18492. * 获取 `Node` 节点的 Ref 对象,可用于 `worklet` 函数内操作节点。仅 `Skyline` 下支持,`Node` 必须是非 `virtual` 类型。
  18493. *
  18494. * **示例代码**
  18495. *
  18496. * ```js
  18497. Page({
  18498. getNode() {
  18499. this.createSelectorQuery().select('.scrollable').ref(function(res){
  18500. console.log(res.ref) // 节点对应的 Ref 对象
  18501. }).exec()
  18502. }
  18503. })
  18504. ``` */
  18505. ref(
  18506. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点 Ref 对象。 */
  18507. callback?: RefCallback
  18508. ): SelectorQuery
  18509. /** [[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)
  18510. *
  18511. * 在插件中使用:支持
  18512. *
  18513. * 添加节点的滚动位置查询请求。以像素为单位。节点必须是 `scroll-view` 或者 `viewport`,返回 `NodesRef` 对应的 `SelectorQuery`。
  18514. *
  18515. * **示例代码**
  18516. *
  18517. * ```js
  18518. Page({
  18519. getScrollOffset () {
  18520. wx.createSelectorQuery().selectViewport().scrollOffset(function(res){
  18521. res.id // 节点的ID
  18522. res.dataset // 节点的dataset
  18523. res.scrollLeft // 节点的水平滚动位置
  18524. res.scrollTop // 节点的竖直滚动位置
  18525. }).exec()
  18526. }
  18527. })
  18528. ``` */
  18529. scrollOffset(
  18530. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */
  18531. callback?: ScrollOffsetCallback
  18532. ): SelectorQuery
  18533. }
  18534. interface Path2D {
  18535. /** [Path2D.addPath([Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html) path)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.addPath.html)
  18536. *
  18537. * 需要基础库: `2.11.0`
  18538. *
  18539. * 在插件中使用:不支持
  18540. *
  18541. * 添加路径到当前路径。 */
  18542. addPath(
  18543. /** [Path2D](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.html)
  18544. *
  18545. * 添加的 Path2D 路径。 */
  18546. path: Path2D
  18547. ): void
  18548. /** [Path2D.arc(number x, number y, number radius, number startAngle, number endAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.arc.html)
  18549. *
  18550. * 需要基础库: `2.11.0`
  18551. *
  18552. * 在插件中使用:不支持
  18553. *
  18554. * 添加一段圆弧路径。 */
  18555. arc(
  18556. /** 圆心横坐标。 */
  18557. x: number,
  18558. /** 圆心纵坐标。 */
  18559. y: number,
  18560. /** 圆形半径,必须为正数。 */
  18561. radius: number,
  18562. /** 圆弧开始角度。 */
  18563. startAngle: number,
  18564. /** 圆弧结束角度。 */
  18565. endAngle: number,
  18566. /** 是否逆时针绘制。如果传 true, 则会从 endAngle 开始绘制到 startAngle。 */
  18567. counterclockwise?: boolean
  18568. ): void
  18569. /** [Path2D.arcTo(number x1, number y1, number x2, number y2, number radius)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.arcTo.html)
  18570. *
  18571. * 需要基础库: `2.11.0`
  18572. *
  18573. * 在插件中使用:不支持
  18574. *
  18575. * 通过给定控制点添加一段圆弧路径。 */
  18576. arcTo(
  18577. /** 第一个控制点横坐标。 */
  18578. x1: number,
  18579. /** 第一个控制点纵坐标。 */
  18580. y1: number,
  18581. /** 第二个控制点横坐标。 */
  18582. x2: number,
  18583. /** 第二个控制点纵坐标。 */
  18584. y2: number,
  18585. /** 圆形半径,必须为非负数。 */
  18586. radius: number
  18587. ): void
  18588. /** [Path2D.bezierCurveTo(number cp1x, number cp1y, number cp2x, number cp2y, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.bezierCurveTo.html)
  18589. *
  18590. * 需要基础库: `2.11.0`
  18591. *
  18592. * 在插件中使用:不支持
  18593. *
  18594. * 添加三次贝塞尔曲线路径。 */
  18595. bezierCurveTo(
  18596. /** 第一个控制点横坐标。 */
  18597. cp1x: number,
  18598. /** 第一个控制点纵坐标。 */
  18599. cp1y: number,
  18600. /** 第二个控制点横坐标。 */
  18601. cp2x: number,
  18602. /** 第二个控制点纵坐标。 */
  18603. cp2y: number,
  18604. /** 结束点横坐标。 */
  18605. x: number,
  18606. /** 结束点纵坐标。 */
  18607. y: number
  18608. ): void
  18609. /** [Path2D.closePath()](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.closePath.html)
  18610. *
  18611. * 需要基础库: `2.11.0`
  18612. *
  18613. * 在插件中使用:不支持
  18614. *
  18615. * 闭合路径到起点。 */
  18616. closePath(): void
  18617. /** [Path2D.ellipse(number x, number y, number radiusX, number radiusY, number rotation, number startAngle, number endAngle, boolean counterclockwise)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.ellipse.html)
  18618. *
  18619. * 需要基础库: `2.11.0`
  18620. *
  18621. * 在插件中使用:不支持
  18622. *
  18623. * 添加椭圆弧路径 */
  18624. ellipse(
  18625. /** 椭圆圆心横坐标。 */
  18626. x: number,
  18627. /** 椭圆圆心纵坐标。 */
  18628. y: number,
  18629. /** 椭圆长轴半径,必须为非负数。 */
  18630. radiusX: number,
  18631. /** 椭圆短轴半径,必须为非负数。 */
  18632. radiusY: number,
  18633. /** 椭圆旋转角度。 */
  18634. rotation: number,
  18635. /** 圆弧开始角度。 */
  18636. startAngle: number,
  18637. /** 圆弧结束角度。 */
  18638. endAngle: number,
  18639. /** 是否逆时针绘制。如果传 true, 则会从 endAngle 开始绘制到 startAngle。 */
  18640. counterclockwise?: boolean
  18641. ): void
  18642. /** [Path2D.lineTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.lineTo.html)
  18643. *
  18644. * 需要基础库: `2.11.0`
  18645. *
  18646. * 在插件中使用:不支持
  18647. *
  18648. * 添加直线路径 */
  18649. lineTo(
  18650. /** 结束点横坐标。 */
  18651. x: number,
  18652. /** 结束点纵坐标。 */
  18653. y: number
  18654. ): void
  18655. /** [Path2D.moveTo(number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.moveTo.html)
  18656. *
  18657. * 需要基础库: `2.11.0`
  18658. *
  18659. * 在插件中使用:不支持
  18660. *
  18661. * 移动路径开始点 */
  18662. moveTo(
  18663. /** 横坐标。 */
  18664. x: number,
  18665. /** 纵坐标。 */
  18666. y: number
  18667. ): void
  18668. /** [Path2D.quadraticCurveTo(number cpx, number cpy, number x, number y)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.quadraticCurveTo.html)
  18669. *
  18670. * 需要基础库: `2.11.0`
  18671. *
  18672. * 在插件中使用:不支持
  18673. *
  18674. * 添加二次贝塞尔曲线路径。 */
  18675. quadraticCurveTo(
  18676. /** 控制点横坐标。 */
  18677. cpx: number,
  18678. /** 控制点纵坐标。 */
  18679. cpy: number,
  18680. /** 结束点横坐标。 */
  18681. x: number,
  18682. /** 结束点纵坐标。 */
  18683. y: number
  18684. ): void
  18685. /** [Path2D.rect(number x, number y, number width, number height)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Path2D.rect.html)
  18686. *
  18687. * 需要基础库: `2.11.0`
  18688. *
  18689. * 在插件中使用:不支持
  18690. *
  18691. * 添加方形路径。 */
  18692. rect(
  18693. /** 开始点横坐标。 */
  18694. x: number,
  18695. /** 开始点纵坐标。 */
  18696. y: number,
  18697. /** 方形宽度,正数向右,负数向左。 */
  18698. width: number,
  18699. /** 方形高度,正数向下,负数向上。 */
  18700. height: number
  18701. ): void
  18702. }
  18703. interface Performance {
  18704. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; Performance.getEntries()](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntries.html)
  18705. *
  18706. * 需要基础库: `2.11.0`
  18707. *
  18708. * 在插件中使用:不支持
  18709. *
  18710. * 该方法返回当前缓冲区中的所有性能数据 */
  18711. getEntries(): PerformanceEntry[]
  18712. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; Performance.getEntriesByName(string name, string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByName.html)
  18713. *
  18714. * 需要基础库: `2.11.0`
  18715. *
  18716. * 在插件中使用:不支持
  18717. *
  18718. * 获取当前缓冲区中所有名称为 [name] 且类型为 [entryType] 的性能数据 */
  18719. getEntriesByName(
  18720. /** 名称 */
  18721. name: string,
  18722. /** 类型 */
  18723. entryType?: string
  18724. ): PerformanceEntry[]
  18725. /** [Array.&lt;[PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html)&gt; Performance.getEntriesByType(string entryType)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.getEntriesByType.html)
  18726. *
  18727. * 需要基础库: `2.11.0`
  18728. *
  18729. * 在插件中使用:不支持
  18730. *
  18731. * 获取当前缓冲区中所有类型为 [entryType] 的性能数据 */
  18732. getEntriesByType(
  18733. /** 类型 */
  18734. entryType: string
  18735. ): PerformanceEntry[]
  18736. /** [Performance.setBufferSize(number size)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/Performance.setBufferSize.html)
  18737. *
  18738. * 需要基础库: `2.11.0`
  18739. *
  18740. * 在插件中使用:不支持
  18741. *
  18742. * 设置缓冲区大小,默认缓冲 30 条性能数据 */
  18743. setBufferSize(size: number): void
  18744. /** [[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)
  18745. *
  18746. * 需要基础库: `2.11.0`
  18747. *
  18748. * 在插件中使用:不支持
  18749. *
  18750. * 创建全局性能事件监听器 */
  18751. createObserver(
  18752. /** 回调函数 */
  18753. callback: (...args: any[]) => any
  18754. ): PerformanceObserver
  18755. }
  18756. interface PreDownloadSubpackageTask {
  18757. /** [PreDownloadSubpackageTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/subpackage/PreDownloadSubpackageTask.onProgressUpdate.html)
  18758. *
  18759. * 需要基础库: `2.27.3`
  18760. *
  18761. * 在插件中使用:不支持
  18762. *
  18763. * 监听分包加载进度变化事件 */
  18764. onProgressUpdate(
  18765. /** 分包加载进度变化事件的监听函数 */
  18766. listener: PreDownloadSubpackageTaskOnProgressUpdateCallback
  18767. ): void
  18768. }
  18769. interface RealtimeLogManager {
  18770. /** [Object RealtimeLogManager.getCurrentState()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.getCurrentState.html)
  18771. *
  18772. * 需要基础库: `2.19.4`
  18773. *
  18774. * 在插件中使用:不支持
  18775. *
  18776. * 实时日志会将一定时间间隔内缓存的日志聚合上报,如果该时间内缓存的内容超出限制,则会被丢弃。此方法可以获取当前缓存剩余空间。
  18777. *
  18778. * > 注意:基础库内部在对日志进行上报时会补充一些结构化数据,如果遇到上报溢出的情况也会补充警告日志,所以此方法获取到的当前占用信息会比预期的大一些。 */
  18779. getCurrentState(): CurrentState
  18780. /** [RealtimeLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.addFilterMsg.html)
  18781. *
  18782. * 需要基础库: `2.8.1`
  18783. *
  18784. * 在插件中使用:不支持
  18785. *
  18786. * 添加过滤关键字,暂不支持在插件使用 */
  18787. addFilterMsg(
  18788. /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */
  18789. msg: string
  18790. ): void
  18791. /** [RealtimeLogManager.error()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.error.html)
  18792. *
  18793. * 需要基础库: `2.7.1`
  18794. *
  18795. * 在插件中使用:不支持
  18796. *
  18797. * 写 error 日志,暂不支持在插件使用 */
  18798. error(
  18799. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */
  18800. ...args: any[]
  18801. ): void
  18802. /** [RealtimeLogManager.in(Page pageInstance)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.in.html)
  18803. *
  18804. * 需要基础库: `2.9.1`
  18805. *
  18806. * 在插件中使用:不支持
  18807. *
  18808. * 设置实时日志page参数所在的页面,暂不支持在插件使用 */
  18809. in(
  18810. /** page实例 */
  18811. pageInstance: Page.TrivialInstance
  18812. ): void
  18813. /** [RealtimeLogManager.info()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.info.html)
  18814. *
  18815. * 需要基础库: `2.7.1`
  18816. *
  18817. * 在插件中使用:不支持
  18818. *
  18819. * 写 info 日志,暂不支持在插件使用 */
  18820. info(
  18821. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */
  18822. ...args: any[]
  18823. ): void
  18824. /** [RealtimeLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.setFilterMsg.html)
  18825. *
  18826. * 需要基础库: `2.7.3`
  18827. *
  18828. * 在插件中使用:不支持
  18829. *
  18830. * 设置过滤关键字,暂不支持在插件使用 */
  18831. setFilterMsg(
  18832. /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */
  18833. msg: string
  18834. ): void
  18835. /** [RealtimeLogManager.warn()](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeLogManager.warn.html)
  18836. *
  18837. * 需要基础库: `2.7.1`
  18838. *
  18839. * 在插件中使用:不支持
  18840. *
  18841. * 写 warn 日志,暂不支持在插件使用 */
  18842. warn(
  18843. /** 日志内容,可以有任意多个。每次调用的参数的总大小不超过5Kb */
  18844. ...args: any[]
  18845. ): void
  18846. /** [[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)
  18847. *
  18848. * 需要基础库: `2.16.0`
  18849. *
  18850. * 在插件中使用:需要基础库 `2.16.0`
  18851. *
  18852. * 获取给定标签的日志管理器实例,目前只支持在插件使用 */
  18853. tag(
  18854. /** 标签名 */
  18855. tagName: string
  18856. ): RealtimeTagLogManager
  18857. }
  18858. interface RealtimeTagLogManager {
  18859. /** [RealtimeTagLogManager.addFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.addFilterMsg.html)
  18860. *
  18861. * 需要基础库: `2.16.0`
  18862. *
  18863. * 在插件中使用:需要基础库 `2.16.0`
  18864. *
  18865. * 添加过滤关键字 */
  18866. addFilterMsg(
  18867. /** 是setFilterMsg的添加接口。用于设置多个过滤关键字。 */
  18868. msg: string
  18869. ): void
  18870. /** [RealtimeTagLogManager.error(string key, Object|Array.&lt;any&gt;|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.error.html)
  18871. *
  18872. * 需要基础库: `2.16.0`
  18873. *
  18874. * 在插件中使用:需要基础库 `2.16.0`
  18875. *
  18876. * 写 error 日志 */
  18877. error(
  18878. /** 日志的 key */
  18879. key: string,
  18880. /** 日志的值,每次调用的参数的总大小不超过5Kb */
  18881. value: IAnyObject | any[] | number | string
  18882. ): void
  18883. /** [RealtimeTagLogManager.info(string key, Object|Array.&lt;any&gt;|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.info.html)
  18884. *
  18885. * 需要基础库: `2.16.0`
  18886. *
  18887. * 在插件中使用:需要基础库 `2.16.0`
  18888. *
  18889. * 写 info 日志 */
  18890. info(
  18891. /** 日志的 key */
  18892. key: string,
  18893. /** 日志的值,每次调用的参数的总大小不超过5Kb */
  18894. value: IAnyObject | any[] | number | string
  18895. ): void
  18896. /** [RealtimeTagLogManager.setFilterMsg(string msg)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.setFilterMsg.html)
  18897. *
  18898. * 需要基础库: `2.16.0`
  18899. *
  18900. * 在插件中使用:需要基础库 `2.16.0`
  18901. *
  18902. * 设置过滤关键字 */
  18903. setFilterMsg(
  18904. /** 过滤关键字,最多不超过1Kb,可以在小程序管理后台根据设置的内容搜索得到对应的日志。 */
  18905. msg: string
  18906. ): void
  18907. /** [RealtimeTagLogManager.warn(string key, Object|Array.&lt;any&gt;|number|string value)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/RealtimeTagLogManager.warn.html)
  18908. *
  18909. * 需要基础库: `2.16.0`
  18910. *
  18911. * 在插件中使用:需要基础库 `2.16.0`
  18912. *
  18913. * 写 warn 日志 */
  18914. warn(
  18915. /** 日志的 key */
  18916. key: string,
  18917. /** 日志的值,每次调用的参数的总大小不超过5Kb */
  18918. value: IAnyObject | any[] | number | string
  18919. ): void
  18920. }
  18921. interface RecorderManager {
  18922. /** [RecorderManager.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onError.html)
  18923. *
  18924. * 在插件中使用:支持
  18925. *
  18926. * 监听录音错误事件 */
  18927. onError(
  18928. /** 录音错误事件的监听函数 */
  18929. listener: UDPSocketOnErrorCallback
  18930. ): void
  18931. /** [RecorderManager.onFrameRecorded(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onFrameRecorded.html)
  18932. *
  18933. * 在插件中使用:支持
  18934. *
  18935. * 监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件。 */
  18936. onFrameRecorded(
  18937. /** 已录制完指定帧大小的文件事件的监听函数 */
  18938. listener: OnFrameRecordedCallback
  18939. ): void
  18940. /** [RecorderManager.onInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionBegin.html)
  18941. *
  18942. * 需要基础库: `2.3.0`
  18943. *
  18944. * 在插件中使用:支持
  18945. *
  18946. * 监听录音因为受到系统占用而被中断开始事件。以下场景会触发此事件:微信语音聊天、微信视频聊天。此事件触发后,录音会被暂停。pause 事件在此事件后触发 */
  18947. onInterruptionBegin(
  18948. /** 录音因为受到系统占用而被中断开始事件的监听函数 */
  18949. listener: OnInterruptionBeginCallback
  18950. ): void
  18951. /** [RecorderManager.onInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onInterruptionEnd.html)
  18952. *
  18953. * 需要基础库: `2.3.0`
  18954. *
  18955. * 在插件中使用:支持
  18956. *
  18957. * 监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。 */
  18958. onInterruptionEnd(
  18959. /** 录音中断结束事件的监听函数 */
  18960. listener: OnInterruptionEndCallback
  18961. ): void
  18962. /** [RecorderManager.onPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onPause.html)
  18963. *
  18964. * 在插件中使用:支持
  18965. *
  18966. * 监听录音暂停事件 */
  18967. onPause(
  18968. /** 录音暂停事件的监听函数 */
  18969. listener: OnPauseCallback
  18970. ): void
  18971. /** [RecorderManager.onResume(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onResume.html)
  18972. *
  18973. * 在插件中使用:支持
  18974. *
  18975. * 监听录音继续事件 */
  18976. onResume(
  18977. /** 录音继续事件的监听函数 */
  18978. listener: OnResumeCallback
  18979. ): void
  18980. /** [RecorderManager.onStart(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStart.html)
  18981. *
  18982. * 在插件中使用:支持
  18983. *
  18984. * 监听录音开始事件 */
  18985. onStart(
  18986. /** 录音开始事件的监听函数 */
  18987. listener: OnStartCallback
  18988. ): void
  18989. /** [RecorderManager.onStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.onStop.html)
  18990. *
  18991. * 在插件中使用:支持
  18992. *
  18993. * 监听录音结束事件 */
  18994. onStop(
  18995. /** 录音结束事件的监听函数 */
  18996. listener: RecorderManagerOnStopCallback
  18997. ): void
  18998. /** [RecorderManager.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.pause.html)
  18999. *
  19000. * 在插件中使用:支持
  19001. *
  19002. * 暂停录音 */
  19003. pause(): void
  19004. /** [RecorderManager.resume()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.resume.html)
  19005. *
  19006. * 在插件中使用:支持
  19007. *
  19008. * 继续录音 */
  19009. resume(): void
  19010. /** [RecorderManager.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.start.html)
  19011. *
  19012. * 在插件中使用:支持
  19013. *
  19014. * 开始录音
  19015. *
  19016. * **采样率与编码码率限制**
  19017. *
  19018. * 每种采样率有对应的编码码率范围有效值,设置不合法的采样率或编码码率会导致录音失败,具体对应关系如下表。
  19019. *
  19020. * | 采样率 | 编码码率 |
  19021. * | ------ | -------------- |
  19022. * | 8000 | 16000 ~ 48000 |
  19023. * | 11025 | 16000 ~ 48000 |
  19024. * | 12000 | 24000 ~ 64000 |
  19025. * | 16000 | 24000 ~ 96000 |
  19026. * | 22050 | 32000 ~ 128000 |
  19027. * | 24000 | 32000 ~ 128000 |
  19028. * | 32000 | 48000 ~ 192000 |
  19029. * | 44100 | 64000 ~ 320000 |
  19030. * | 48000 | 64000 ~ 320000 | */
  19031. start(option: RecorderManagerStartOption): void
  19032. /** [RecorderManager.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/RecorderManager.stop.html)
  19033. *
  19034. * 在插件中使用:支持
  19035. *
  19036. * 停止录音 */
  19037. stop(): void
  19038. }
  19039. interface RequestTask {
  19040. /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html)
  19041. *
  19042. * 需要基础库: `1.4.0`
  19043. *
  19044. * 在插件中使用:支持
  19045. *
  19046. * 中断请求任务 */
  19047. abort(): void
  19048. /** [RequestTask.offChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offChunkReceived.html)
  19049. *
  19050. * 需要基础库: `2.20.1`
  19051. *
  19052. * 在插件中使用:支持
  19053. *
  19054. * 移除 Transfer-Encoding Chunk Received 事件的监听函数
  19055. *
  19056. * **示例代码**
  19057. *
  19058. * ```js
  19059. const listener = function (res) { console.log(res) }
  19060. RequestTask.onChunkReceived(listener)
  19061. RequestTask.offChunkReceived(listener) // 需传入与监听时同一个的函数对象
  19062. ``` */
  19063. offChunkReceived(
  19064. /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  19065. listener?: OffChunkReceivedCallback
  19066. ): void
  19067. /** [RequestTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html)
  19068. *
  19069. * 需要基础库: `2.1.0`
  19070. *
  19071. * 在插件中使用:支持
  19072. *
  19073. * 移除 HTTP Response Header 事件的监听函数
  19074. *
  19075. * **示例代码**
  19076. *
  19077. * ```js
  19078. const listener = function (res) { console.log(res) }
  19079. RequestTask.onHeadersReceived(listener)
  19080. RequestTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象
  19081. ``` */
  19082. offHeadersReceived(
  19083. /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  19084. listener?: RequestTaskOffHeadersReceivedCallback
  19085. ): void
  19086. /** [RequestTask.onChunkReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html)
  19087. *
  19088. * 需要基础库: `2.20.1`
  19089. *
  19090. * 在插件中使用:支持
  19091. *
  19092. * 监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。 */
  19093. onChunkReceived(
  19094. /** Transfer-Encoding Chunk Received 事件的监听函数 */
  19095. listener: OnChunkReceivedCallback
  19096. ): void
  19097. /** [RequestTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html)
  19098. *
  19099. * 需要基础库: `2.1.0`
  19100. *
  19101. * 在插件中使用:支持
  19102. *
  19103. * 监听 HTTP Response Header 事件。会比请求完成事件更早 */
  19104. onHeadersReceived(
  19105. /** HTTP Response Header 事件的监听函数 */
  19106. listener: RequestTaskOnHeadersReceivedCallback
  19107. ): void
  19108. }
  19109. interface RewardedVideoAd {
  19110. /** [Promise RewardedVideoAd.load()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.load.html)
  19111. *
  19112. * 在插件中使用:不支持
  19113. *
  19114. * 加载激励视频广告。 */
  19115. load(): Promise<any>
  19116. /** [Promise RewardedVideoAd.show()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.show.html)
  19117. *
  19118. * 在插件中使用:不支持
  19119. *
  19120. * 显示激励视频广告。激励视频广告将从屏幕下方推入。 */
  19121. show(): Promise<any>
  19122. /** [RewardedVideoAd.destroy()](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.destroy.html)
  19123. *
  19124. * 需要基础库: `2.8.0`
  19125. *
  19126. * 在插件中使用:不支持
  19127. *
  19128. * 销毁激励视频广告实例。 */
  19129. destroy(): void
  19130. /** [RewardedVideoAd.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offClose.html)
  19131. *
  19132. * 在插件中使用:不支持
  19133. *
  19134. * 移除用户点击 `关闭广告` 按钮的事件的监听函数
  19135. *
  19136. * **示例代码**
  19137. *
  19138. * ```js
  19139. const listener = function (res) { console.log(res) }
  19140. RewardedVideoAd.onClose(listener)
  19141. RewardedVideoAd.offClose(listener) // 需传入与监听时同一个的函数对象
  19142. ``` */
  19143. offClose(
  19144. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  19145. listener?: RewardedVideoAdOffCloseCallback
  19146. ): void
  19147. /** [RewardedVideoAd.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offError.html)
  19148. *
  19149. * 在插件中使用:不支持
  19150. *
  19151. * 移除激励视频错误事件的监听函数
  19152. *
  19153. * **示例代码**
  19154. *
  19155. * ```js
  19156. const listener = function (res) { console.log(res) }
  19157. RewardedVideoAd.onError(listener)
  19158. RewardedVideoAd.offError(listener) // 需传入与监听时同一个的函数对象
  19159. ``` */
  19160. offError(
  19161. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  19162. listener?: RewardedVideoAdOffErrorCallback
  19163. ): void
  19164. /** [RewardedVideoAd.offLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.offLoad.html)
  19165. *
  19166. * 在插件中使用:不支持
  19167. *
  19168. * 移除激励视频广告加载事件的监听函数
  19169. *
  19170. * **示例代码**
  19171. *
  19172. * ```js
  19173. const listener = function (res) { console.log(res) }
  19174. RewardedVideoAd.onLoad(listener)
  19175. RewardedVideoAd.offLoad(listener) // 需传入与监听时同一个的函数对象
  19176. ``` */
  19177. offLoad(
  19178. /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  19179. listener?: OffLoadCallback
  19180. ): void
  19181. /** [RewardedVideoAd.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onClose.html)
  19182. *
  19183. * 在插件中使用:不支持
  19184. *
  19185. * 监听用户点击 `关闭广告` 按钮的事件。 */
  19186. onClose(
  19187. /** 用户点击 `关闭广告` 按钮的事件的监听函数 */
  19188. listener: RewardedVideoAdOnCloseCallback
  19189. ): void
  19190. /** [RewardedVideoAd.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onError.html)
  19191. *
  19192. * 在插件中使用:不支持
  19193. *
  19194. * 监听激励视频错误事件。
  19195. *
  19196. * **错误码信息与解决方案表**
  19197. *
  19198. * 错误码是通过onError获取到的错误信息。调试期间,可以通过异常返回来捕获信息。
  19199. * 在小程序发布上线之后,如果遇到异常问题,可以在[“运维中心“](https://mp.weixin.qq.com/)里面搜寻错误日志,还可以针对异常返回加上适当的监控信息。
  19200. *
  19201. * | 代码 | 异常情况 | 理由 | 解决方案 |
  19202. * | ------ | -------------- | --------------- | -------------------------- |
  19203. * | 1000 | 后端错误调用失败 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。 |
  19204. * | 1001 | 参数错误 | 使用方法错误 | 可以前往developers.weixin.qq.com确认具体教程(小程序和小游戏分别有各自的教程,可以在顶部选项中,“设计”一栏的右侧进行切换。|
  19205. * | 1002 | 广告单元无效 | 可能是拼写错误、或者误用了其他APP的广告ID | 请重新前往mp.weixin.qq.com确认广告位ID。 |
  19206. * | 1003 | 内部错误 | 该项错误不是开发者的异常情况 | 一般情况下忽略一段时间即可恢复。|
  19207. * | 1004 | 无适合的广告 | 广告不是每一次都会出现,这次没有出现可能是由于该用户不适合浏览广告 | 属于正常情况,且开发者需要针对这种情况做形态上的兼容。 |
  19208. * | 1005 | 广告组件审核中 | 你的广告正在被审核,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
  19209. * | 1006 | 广告组件被驳回 | 你的广告审核失败,无法展现广告 | 请前往mp.weixin.qq.com确认审核状态,且开发者需要针对这种情况做形态上的兼容。|
  19210. * | 1007 | 广告组件被封禁 | 你的广告能力已经被封禁,封禁期间无法展现广告 | 请前往mp.weixin.qq.com确认小程序广告封禁状态。 |
  19211. * | 1008 | 广告单元已关闭 | 该广告位的广告能力已经被关闭 | 请前往mp.weixin.qq.com重新打开对应广告位的展现。| */
  19212. onError(
  19213. /** 激励视频错误事件的监听函数 */
  19214. listener: RewardedVideoAdOnErrorCallback
  19215. ): void
  19216. /** [RewardedVideoAd.onLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ad/RewardedVideoAd.onLoad.html)
  19217. *
  19218. * 在插件中使用:不支持
  19219. *
  19220. * 监听激励视频广告加载事件。 */
  19221. onLoad(
  19222. /** 激励视频广告加载事件的监听函数 */
  19223. listener: OnLoadCallback
  19224. ): void
  19225. }
  19226. interface Router {
  19227. /** [router.addRouteBuilder(string routeType, function routeBuilder)](https://developers.weixin.qq.com/miniprogram/dev/api/route/router/base/router.addRouteBuilder.html)
  19228. *
  19229. * 在插件中使用:不支持
  19230. *
  19231. * 添加自定义路由配置
  19232. *
  19233. * **自定义路由示例**
  19234. *
  19235. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/y1IbQpmA7wGZ)
  19236. *
  19237. * ```js
  19238. // 定义自定义效果,从右侧推入
  19239. const slideRouteBuilder = (customRouteContext) => {
  19240. const { primaryAnimation } = customRouteContext
  19241. const handlePrimaryAnimation = () => {
  19242. 'worklet'
  19243. const transX = windowWidth * (1 - primaryAnimation.value)
  19244. return {
  19245. transform: `translateX(${transX}px)`,
  19246. }
  19247. }
  19248. return {
  19249. handlePrimaryAnimation
  19250. }
  19251. }
  19252. wx.router.addRouteBuilder('slide', slideRouteBuilder)
  19253. // 使用自定义路由
  19254. wx.navigateTo({
  19255. url: 'xxx',
  19256. routeType: 'slide'
  19257. })
  19258. ``` */
  19259. addRouteBuilder(
  19260. /** 路由类型 */
  19261. routeType: string,
  19262. /** [路由动画定义函数](#) */
  19263. routeBuilder: CustomRouteBuilder
  19264. ): void
  19265. /** [router.getRouteContext(Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/route/router/base/router.getRouteContext.html)
  19266. *
  19267. * 在插件中使用:不支持
  19268. *
  19269. * 获取页面对应的自定义路由上下文对象 */
  19270. getRouteContext(
  19271. /** 页面/自定义组件实例 */
  19272. component: Component.TrivialInstance | Page.TrivialInstance
  19273. ): void
  19274. /** [router.removeRouteBuilder(string routeType)](https://developers.weixin.qq.com/miniprogram/dev/api/route/router/base/router.removeRouteBuilder.html)
  19275. *
  19276. * 在插件中使用:不支持
  19277. *
  19278. * 移除自定义路由配置 */
  19279. removeRouteBuilder(
  19280. /** 路由类型 */
  19281. routeType: string
  19282. ): void
  19283. }
  19284. interface SelectorQuery {
  19285. /** [[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)
  19286. *
  19287. * 在插件中使用:支持
  19288. *
  19289. * 执行所有的请求。请求结果按请求次序构成数组,在callback的第一个参数中返回。 */
  19290. exec(
  19291. /** 回调函数 */
  19292. callback?: (...args: any[]) => any
  19293. ): NodesRef
  19294. /** [[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)
  19295. *
  19296. * 在插件中使用:支持
  19297. *
  19298. * 在当前页面下选择第一个匹配选择器 `selector` 的节点。返回一个 `NodesRef` 对象实例,可以用于获取节点信息。
  19299. *
  19300. * **selector 语法**
  19301. *
  19302. * selector类似于 CSS 的选择器,但仅支持下列语法。
  19303. *
  19304. * - ID选择器:#the-id
  19305. * - class选择器(可以连续指定多个):.a-class.another-class
  19306. * - 子元素选择器:.the-parent > .the-child
  19307. * - 后代选择器:.the-ancestor .the-descendant
  19308. * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant
  19309. * - 多选择器的并集:#a-node, .some-other-nodes */
  19310. select(
  19311. /** 选择器 */
  19312. selector: string
  19313. ): NodesRef
  19314. /** [[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)
  19315. *
  19316. * 在插件中使用:支持
  19317. *
  19318. * 在当前页面下选择匹配选择器 selector 的所有节点。
  19319. *
  19320. * **selector 语法**
  19321. *
  19322. * selector类似于 CSS 的选择器,但仅支持下列语法。
  19323. *
  19324. * - ID选择器:#the-id
  19325. * - class选择器(可以连续指定多个):.a-class.another-class
  19326. * - 子元素选择器:.the-parent > .the-child
  19327. * - 后代选择器:.the-ancestor .the-descendant
  19328. * - 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant
  19329. * - 多选择器的并集:#a-node, .some-other-nodes */
  19330. selectAll(
  19331. /** 选择器 */
  19332. selector: string
  19333. ): NodesRef
  19334. /** [[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)
  19335. *
  19336. * 在插件中使用:支持
  19337. *
  19338. * 选择显示区域。可用于获取显示区域的尺寸、滚动位置等信息。 */
  19339. selectViewport(): NodesRef
  19340. /** [[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)
  19341. *
  19342. * 需要基础库: `1.6.0`
  19343. *
  19344. * 在插件中使用:支持
  19345. *
  19346. * 将选择器的选取范围更改为自定义组件 `component` 内。(初始时,选择器仅选取页面范围的节点,不会选取任何自定义组件中的节点)。
  19347. *
  19348. * **示例代码**
  19349. *
  19350. * ```js
  19351. Component({
  19352. queryMultipleNodes (){
  19353. const query = wx.createSelectorQuery().in(this)
  19354. query.select('#the-id').boundingClientRect(function(res){
  19355. res.top // 这个组件内 #the-id 节点的上边界坐标
  19356. }).exec()
  19357. }
  19358. })
  19359. ``` */
  19360. in(
  19361. /** 自定义组件实例 */
  19362. component: Component.TrivialInstance | Page.TrivialInstance
  19363. ): SelectorQuery
  19364. }
  19365. interface SocketTask {
  19366. /** [SocketTask.close(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.close.html)
  19367. *
  19368. * 在插件中使用:支持
  19369. *
  19370. * 关闭 WebSocket 连接 */
  19371. close(option: SocketTaskCloseOption): void
  19372. /** [SocketTask.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onClose.html)
  19373. *
  19374. * 在插件中使用:支持
  19375. *
  19376. * 监听 WebSocket 连接关闭事件 */
  19377. onClose(
  19378. /** WebSocket 连接关闭事件的监听函数 */
  19379. listener: SocketTaskOnCloseCallback
  19380. ): void
  19381. /** [SocketTask.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onError.html)
  19382. *
  19383. * 在插件中使用:支持
  19384. *
  19385. * 监听 WebSocket 错误事件 */
  19386. onError(
  19387. /** WebSocket 错误事件的监听函数 */
  19388. listener: UDPSocketOnErrorCallback
  19389. ): void
  19390. /** [SocketTask.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onMessage.html)
  19391. *
  19392. * 在插件中使用:支持
  19393. *
  19394. * 监听 WebSocket 接收到服务器的消息事件 */
  19395. onMessage(
  19396. /** WebSocket 接收到服务器的消息事件的监听函数 */
  19397. listener: SocketTaskOnMessageCallback
  19398. ): void
  19399. /** [SocketTask.onOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.onOpen.html)
  19400. *
  19401. * 在插件中使用:支持
  19402. *
  19403. * 监听 WebSocket 连接打开事件 */
  19404. onOpen(
  19405. /** WebSocket 连接打开事件的监听函数 */
  19406. listener: OnOpenCallback
  19407. ): void
  19408. /** [SocketTask.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.send.html)
  19409. *
  19410. * 在插件中使用:支持
  19411. *
  19412. * 通过 WebSocket 连接发送数据 */
  19413. send(option: SocketTaskSendOption): void
  19414. }
  19415. interface TCPSocket {
  19416. /** [TCPSocket.bindWifi(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.bindWifi.html)
  19417. *
  19418. * 需要基础库: `2.25.0`
  19419. *
  19420. * 在插件中使用:不支持
  19421. *
  19422. * 将 TCP Socket 绑定到当前 wifi 网络,成功后会触发 onBindWifi 事件(仅安卓支持) */
  19423. bindWifi(options: BindWifiOption): void
  19424. /** [TCPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.close.html)
  19425. *
  19426. * 在插件中使用:不支持
  19427. *
  19428. * 关闭连接 */
  19429. close(): void
  19430. /** [TCPSocket.connect(Object options)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.connect.html)
  19431. *
  19432. * 在插件中使用:不支持
  19433. *
  19434. * 在给定的套接字上启动连接 */
  19435. connect(options: TCPSocketConnectOption): void
  19436. /** [TCPSocket.offBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offBindWifi.html)
  19437. *
  19438. * 需要基础库: `2.25.0`
  19439. *
  19440. * 在插件中使用:不支持
  19441. *
  19442. * 移除当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数
  19443. *
  19444. * **示例代码**
  19445. *
  19446. * ```js
  19447. const listener = function (res) { console.log(res) }
  19448. TCPSocket.onBindWifi(listener)
  19449. TCPSocket.offBindWifi(listener) // 需传入与监听时同一个的函数对象
  19450. ``` */
  19451. offBindWifi(
  19452. /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */
  19453. listener?: OffBindWifiCallback
  19454. ): void
  19455. /** [TCPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offClose.html)
  19456. *
  19457. * 在插件中使用:不支持
  19458. *
  19459. * 移除一旦 socket 完全关闭就发出该事件的监听函数
  19460. *
  19461. * **示例代码**
  19462. *
  19463. * ```js
  19464. const listener = function (res) { console.log(res) }
  19465. TCPSocket.onClose(listener)
  19466. TCPSocket.offClose(listener) // 需传入与监听时同一个的函数对象
  19467. ``` */
  19468. offClose(
  19469. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  19470. listener?: UDPSocketOffCloseCallback
  19471. ): void
  19472. /** [TCPSocket.offConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offConnect.html)
  19473. *
  19474. * 在插件中使用:不支持
  19475. *
  19476. * 移除当一个 socket 连接成功建立的时候触发该事件的监听函数
  19477. *
  19478. * **示例代码**
  19479. *
  19480. * ```js
  19481. const listener = function (res) { console.log(res) }
  19482. TCPSocket.onConnect(listener)
  19483. TCPSocket.offConnect(listener) // 需传入与监听时同一个的函数对象
  19484. ``` */
  19485. offConnect(
  19486. /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */
  19487. listener?: OffConnectCallback
  19488. ): void
  19489. /** [TCPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offError.html)
  19490. *
  19491. * 在插件中使用:不支持
  19492. *
  19493. * 移除当错误发生时触发的监听函数
  19494. *
  19495. * **示例代码**
  19496. *
  19497. * ```js
  19498. const listener = function (res) { console.log(res) }
  19499. TCPSocket.onError(listener)
  19500. TCPSocket.offError(listener) // 需传入与监听时同一个的函数对象
  19501. ``` */
  19502. offError(
  19503. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  19504. listener?: UDPSocketOffErrorCallback
  19505. ): void
  19506. /** [TCPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.offMessage.html)
  19507. *
  19508. * 在插件中使用:不支持
  19509. *
  19510. * 移除当接收到数据的时触发该事件的监听函数
  19511. *
  19512. * **示例代码**
  19513. *
  19514. * ```js
  19515. const listener = function (res) { console.log(res) }
  19516. TCPSocket.onMessage(listener)
  19517. TCPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象
  19518. ``` */
  19519. offMessage(
  19520. /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  19521. listener?: TCPSocketOffMessageCallback
  19522. ): void
  19523. /** [TCPSocket.onBindWifi(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onBindWifi.html)
  19524. *
  19525. * 需要基础库: `2.25.0`
  19526. *
  19527. * 在插件中使用:不支持
  19528. *
  19529. * 监听当一个 socket 绑定当前 wifi 网络成功时触发该事件 */
  19530. onBindWifi(
  19531. /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */
  19532. listener: OnBindWifiCallback
  19533. ): void
  19534. /** [TCPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onClose.html)
  19535. *
  19536. * 在插件中使用:不支持
  19537. *
  19538. * 监听一旦 socket 完全关闭就发出该事件 */
  19539. onClose(
  19540. /** 一旦 socket 完全关闭就发出该事件的监听函数 */
  19541. listener: UDPSocketOnCloseCallback
  19542. ): void
  19543. /** [TCPSocket.onConnect(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onConnect.html)
  19544. *
  19545. * 在插件中使用:不支持
  19546. *
  19547. * 监听当一个 socket 连接成功建立的时候触发该事件 */
  19548. onConnect(
  19549. /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */
  19550. listener: OnConnectCallback
  19551. ): void
  19552. /** [TCPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onError.html)
  19553. *
  19554. * 在插件中使用:不支持
  19555. *
  19556. * 监听当错误发生时触发 */
  19557. onError(
  19558. /** 的监听函数 */
  19559. listener: UDPSocketOnErrorCallback
  19560. ): void
  19561. /** [TCPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.onMessage.html)
  19562. *
  19563. * 在插件中使用:不支持
  19564. *
  19565. * 监听当接收到数据的时触发该事件 */
  19566. onMessage(
  19567. /** 当接收到数据的时触发该事件的监听函数 */
  19568. listener: TCPSocketOnMessageCallback
  19569. ): void
  19570. /** [TCPSocket.write(string|ArrayBuffer data)](https://developers.weixin.qq.com/miniprogram/dev/api/network/tcp/TCPSocket.write.html)
  19571. *
  19572. * 在插件中使用:不支持
  19573. *
  19574. * 在 socket 上发送数据 */
  19575. write(
  19576. /** 要发送的数据 */
  19577. data: string | ArrayBuffer
  19578. ): void
  19579. }
  19580. interface UDPSocket {
  19581. /** [UDPSocket.close()](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.close.html)
  19582. *
  19583. * 在插件中使用:需要基础库 `2.11.1`
  19584. *
  19585. * 关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 `UDPSocket.send` 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 `UDPSocket` 实例被创建后将被 Native 强引用,保证其不被 GC。在 `UDPSocket.close` 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。 */
  19586. close(): void
  19587. /** [UDPSocket.connect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.connect.html)
  19588. *
  19589. * 需要基础库: `2.15.0`
  19590. *
  19591. * 在插件中使用:需要基础库 `2.11.1`
  19592. *
  19593. * 预先连接到指定的 IP 和 port,需要配合 write 方法一起使用 */
  19594. connect(option: UDPSocketConnectOption): void
  19595. /** [UDPSocket.offClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offClose.html)
  19596. *
  19597. * 在插件中使用:需要基础库 `2.11.1`
  19598. *
  19599. * 移除关闭事件的监听函数
  19600. *
  19601. * **示例代码**
  19602. *
  19603. * ```js
  19604. const listener = function (res) { console.log(res) }
  19605. UDPSocket.onClose(listener)
  19606. UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象
  19607. ``` */
  19608. offClose(
  19609. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  19610. listener?: UDPSocketOffCloseCallback
  19611. ): void
  19612. /** [UDPSocket.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offError.html)
  19613. *
  19614. * 在插件中使用:需要基础库 `2.11.1`
  19615. *
  19616. * 移除错误事件的监听函数
  19617. *
  19618. * **示例代码**
  19619. *
  19620. * ```js
  19621. const listener = function (res) { console.log(res) }
  19622. UDPSocket.onError(listener)
  19623. UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象
  19624. ``` */
  19625. offError(
  19626. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  19627. listener?: UDPSocketOffErrorCallback
  19628. ): void
  19629. /** [UDPSocket.offListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offListening.html)
  19630. *
  19631. * 在插件中使用:需要基础库 `2.11.1`
  19632. *
  19633. * 移除开始监听数据包消息的事件的监听函数
  19634. *
  19635. * **示例代码**
  19636. *
  19637. * ```js
  19638. const listener = function (res) { console.log(res) }
  19639. UDPSocket.onListening(listener)
  19640. UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象
  19641. ``` */
  19642. offListening(
  19643. /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */
  19644. listener?: OffListeningCallback
  19645. ): void
  19646. /** [UDPSocket.offMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.offMessage.html)
  19647. *
  19648. * 在插件中使用:需要基础库 `2.11.1`
  19649. *
  19650. * 移除收到消息的事件的监听函数
  19651. *
  19652. * **示例代码**
  19653. *
  19654. * ```js
  19655. const listener = function (res) { console.log(res) }
  19656. UDPSocket.onMessage(listener)
  19657. UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象
  19658. ``` */
  19659. offMessage(
  19660. /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  19661. listener?: UDPSocketOffMessageCallback
  19662. ): void
  19663. /** [UDPSocket.onClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onClose.html)
  19664. *
  19665. * 在插件中使用:需要基础库 `2.11.1`
  19666. *
  19667. * 监听关闭事件 */
  19668. onClose(
  19669. /** 关闭事件的监听函数 */
  19670. listener: UDPSocketOnCloseCallback
  19671. ): void
  19672. /** [UDPSocket.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onError.html)
  19673. *
  19674. * 在插件中使用:需要基础库 `2.11.1`
  19675. *
  19676. * 监听错误事件 */
  19677. onError(
  19678. /** 错误事件的监听函数 */
  19679. listener: UDPSocketOnErrorCallback
  19680. ): void
  19681. /** [UDPSocket.onListening(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onListening.html)
  19682. *
  19683. * 在插件中使用:需要基础库 `2.11.1`
  19684. *
  19685. * 监听开始监听数据包消息的事件 */
  19686. onListening(
  19687. /** 开始监听数据包消息的事件的监听函数 */
  19688. listener: OnListeningCallback
  19689. ): void
  19690. /** [UDPSocket.onMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.onMessage.html)
  19691. *
  19692. * 在插件中使用:需要基础库 `2.11.1`
  19693. *
  19694. * 监听收到消息的事件 */
  19695. onMessage(
  19696. /** 收到消息的事件的监听函数 */
  19697. listener: UDPSocketOnMessageCallback
  19698. ): void
  19699. /** [UDPSocket.send(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.send.html)
  19700. *
  19701. * 在插件中使用:需要基础库 `2.11.1`
  19702. *
  19703. * 向指定的 IP 和 port 发送消息。基础库 2.9.0 起支持广播 (指定地址为 255.255.255.255)。 */
  19704. send(option: UDPSocketSendOption): void
  19705. /** [UDPSocket.setTTL(number ttl)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.setTTL.html)
  19706. *
  19707. * 需要基础库: `2.18.0`
  19708. *
  19709. * 在插件中使用:支持
  19710. *
  19711. * 设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数 */
  19712. setTTL(
  19713. /** ttl 参数可以是 0 到 255 之间 */
  19714. ttl: number
  19715. ): void
  19716. /** [UDPSocket.write(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.write.html)
  19717. *
  19718. * 需要基础库: `2.15.0`
  19719. *
  19720. * 在插件中使用:需要基础库 `2.11.1`
  19721. *
  19722. * 用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数) */
  19723. write(option: UDPSocketSendOption): void
  19724. /** [number UDPSocket.bind(number port)](https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/UDPSocket.bind.html)
  19725. *
  19726. * 在插件中使用:需要基础库 `2.11.1`
  19727. *
  19728. * 绑定一个系统随机分配的可用端口,或绑定一个指定的端口号 */
  19729. bind(
  19730. /** 需要基础库: `2.9.0`
  19731. *
  19732. * 指定要绑定的端口号,不传则返回系统随机分配的可用端口 */
  19733. port?: number
  19734. ): number
  19735. }
  19736. interface UpdateManager {
  19737. /** [UpdateManager.applyUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.applyUpdate.html)
  19738. *
  19739. * 在插件中使用:不支持
  19740. *
  19741. * 强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 `onUpdateReady` 回调)调用。
  19742. *
  19743. * **示例代码**
  19744. *
  19745. * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */
  19746. applyUpdate(): void
  19747. /** [UpdateManager.onCheckForUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html)
  19748. *
  19749. * 在插件中使用:不支持
  19750. *
  19751. * 监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。
  19752. *
  19753. * **示例代码**
  19754. *
  19755. * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */
  19756. onCheckForUpdate(
  19757. /** 向微信后台请求检查更新结果事件的监听函数 */
  19758. listener: OnCheckForUpdateCallback
  19759. ): void
  19760. /** [UpdateManager.onUpdateFailed(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateFailed.html)
  19761. *
  19762. * 在插件中使用:不支持
  19763. *
  19764. * 监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调
  19765. *
  19766. * **示例代码**
  19767. *
  19768. * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */
  19769. onUpdateFailed(
  19770. /** 小程序更新失败事件的监听函数 */
  19771. listener: OnUpdateFailedCallback
  19772. ): void
  19773. /** [UpdateManager.onUpdateReady(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onUpdateReady.html)
  19774. *
  19775. * 在插件中使用:不支持
  19776. *
  19777. * 监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调
  19778. *
  19779. * **示例代码**
  19780. *
  19781. * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */
  19782. onUpdateReady(
  19783. /** 小程序有版本更新事件的监听函数 */
  19784. listener: OnUpdateReadyCallback
  19785. ): void
  19786. }
  19787. interface UploadTask {
  19788. /** [UploadTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.abort.html)
  19789. *
  19790. * 需要基础库: `1.4.0`
  19791. *
  19792. * 在插件中使用:支持
  19793. *
  19794. * 中断上传任务 */
  19795. abort(): void
  19796. /** [UploadTask.offHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offHeadersReceived.html)
  19797. *
  19798. * 需要基础库: `2.1.0`
  19799. *
  19800. * 在插件中使用:支持
  19801. *
  19802. * 移除 HTTP Response Header 事件的监听函数
  19803. *
  19804. * **示例代码**
  19805. *
  19806. * ```js
  19807. const listener = function (res) { console.log(res) }
  19808. UploadTask.onHeadersReceived(listener)
  19809. UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象
  19810. ``` */
  19811. offHeadersReceived(
  19812. /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  19813. listener?: DownloadTaskOffHeadersReceivedCallback
  19814. ): void
  19815. /** [UploadTask.offProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.offProgressUpdate.html)
  19816. *
  19817. * 需要基础库: `2.1.0`
  19818. *
  19819. * 在插件中使用:支持
  19820. *
  19821. * 移除上传进度变化事件的监听函数
  19822. *
  19823. * **示例代码**
  19824. *
  19825. * ```js
  19826. const listener = function (res) { console.log(res) }
  19827. UploadTask.onProgressUpdate(listener)
  19828. UploadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象
  19829. ``` */
  19830. offProgressUpdate(
  19831. /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  19832. listener?: UploadTaskOffProgressUpdateCallback
  19833. ): void
  19834. /** [UploadTask.onHeadersReceived(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onHeadersReceived.html)
  19835. *
  19836. * 需要基础库: `2.1.0`
  19837. *
  19838. * 在插件中使用:支持
  19839. *
  19840. * 监听 HTTP Response Header 事件。会比请求完成事件更早 */
  19841. onHeadersReceived(
  19842. /** HTTP Response Header 事件的监听函数 */
  19843. listener: DownloadTaskOnHeadersReceivedCallback
  19844. ): void
  19845. /** [UploadTask.onProgressUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/upload/UploadTask.onProgressUpdate.html)
  19846. *
  19847. * 需要基础库: `1.4.0`
  19848. *
  19849. * 在插件中使用:支持
  19850. *
  19851. * 监听上传进度变化事件 */
  19852. onProgressUpdate(
  19853. /** 上传进度变化事件的监听函数 */
  19854. listener: UploadTaskOnProgressUpdateCallback
  19855. ): void
  19856. }
  19857. interface UserCryptoManager {
  19858. /** [UserCryptoManager.getLatestUserKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getLatestUserKey.html)
  19859. *
  19860. * 需要基础库: `2.17.3`
  19861. *
  19862. * 在插件中使用:不支持
  19863. *
  19864. * 获取最新的用户加密密钥
  19865. *
  19866. * **示例代码**
  19867. *
  19868. * ```js
  19869. const userCryptoManager = wx.getUserCryptoManager()
  19870. userCryptoManager.getLatestUserKey({
  19871. success: res => {
  19872. const {encryptKey, iv, version, expireTime} = res
  19873. console.log(encryptKey, iv, version, expireTime)
  19874. }
  19875. })
  19876. ``` */
  19877. getLatestUserKey(option?: GetLatestUserKeyOption): void
  19878. /** [UserCryptoManager.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/crypto/UserCryptoManager.getRandomValues.html)
  19879. *
  19880. * 需要基础库: `2.17.3`
  19881. *
  19882. * 在插件中使用:不支持
  19883. *
  19884. * 获取密码学安全随机数
  19885. *
  19886. * **示例代码**
  19887. *
  19888. * ```js
  19889. const userCryptoManager = wx.getUserCryptoManager()
  19890. userCryptoManager.getRandomValues({
  19891. length: 6 // 生成 6 个字节长度的随机数,
  19892. success: res => {
  19893. // 转成 base64 字符串伪代码 arrayBufferToBase64(res.randomValues)
  19894. }
  19895. })
  19896. ``` */
  19897. getRandomValues(option: GetRandomValuesOption): void
  19898. }
  19899. interface VideoContext {
  19900. /** [VideoContext.exitBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitBackgroundPlayback.html)
  19901. *
  19902. * 需要基础库: `2.14.3`
  19903. *
  19904. * 在插件中使用:支持
  19905. *
  19906. * 退出后台音频播放模式。 */
  19907. exitBackgroundPlayback(): void
  19908. /** [VideoContext.exitCasting()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitCasting.html)
  19909. *
  19910. * 需要基础库: `2.32.0`
  19911. *
  19912. * 在插件中使用:支持
  19913. *
  19914. * 退出投屏。仅支持在 tap 事件回调内调用。 */
  19915. exitCasting(): void
  19916. /** [VideoContext.exitFullScreen()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitFullScreen.html)
  19917. *
  19918. * 需要基础库: `1.4.0`
  19919. *
  19920. * 在插件中使用:支持
  19921. *
  19922. * 退出全屏 */
  19923. exitFullScreen(): void
  19924. /** [VideoContext.exitPictureInPicture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.exitPictureInPicture.html)
  19925. *
  19926. * 在插件中使用:支持
  19927. *
  19928. * 退出小窗,该方法可在任意页面调用 */
  19929. exitPictureInPicture(option?: ExitPictureInPictureOption): void
  19930. /** [VideoContext.hideStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.hideStatusBar.html)
  19931. *
  19932. * 需要基础库: `2.1.0`
  19933. *
  19934. * 在插件中使用:支持
  19935. *
  19936. * 隐藏状态栏,仅在iOS全屏下有效 */
  19937. hideStatusBar(): void
  19938. /** [VideoContext.pause()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.pause.html)
  19939. *
  19940. * 在插件中使用:支持
  19941. *
  19942. * 暂停视频 */
  19943. pause(): void
  19944. /** [VideoContext.play()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.play.html)
  19945. *
  19946. * 在插件中使用:支持
  19947. *
  19948. * 播放视频 */
  19949. play(): void
  19950. /** [VideoContext.playbackRate(number rate)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.playbackRate.html)
  19951. *
  19952. * 需要基础库: `1.4.0`
  19953. *
  19954. * 在插件中使用:支持
  19955. *
  19956. * 设置倍速播放 */
  19957. playbackRate(
  19958. /** 倍率,支持 0.5/0.8/1.0/1.25/1.5,2.6.3 起支持 2.0 倍速 */
  19959. rate: number
  19960. ): void
  19961. /** [VideoContext.reconnectCasting()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.reconnectCasting.html)
  19962. *
  19963. * 需要基础库: `2.32.0`
  19964. *
  19965. * 在插件中使用:支持
  19966. *
  19967. * 重连投屏设备。仅支持在 tap 事件回调内调用。 */
  19968. reconnectCasting(): void
  19969. /** [VideoContext.requestBackgroundPlayback()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestBackgroundPlayback.html)
  19970. *
  19971. * 需要基础库: `2.14.3`
  19972. *
  19973. * 在插件中使用:支持
  19974. *
  19975. * 进入后台音频播放模式。 */
  19976. requestBackgroundPlayback(): void
  19977. /** [VideoContext.requestFullScreen(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.requestFullScreen.html)
  19978. *
  19979. * 需要基础库: `1.4.0`
  19980. *
  19981. * 在插件中使用:支持
  19982. *
  19983. * 进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。 */
  19984. requestFullScreen(option: VideoContextRequestFullScreenOption): void
  19985. /** [VideoContext.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.seek.html)
  19986. *
  19987. * 在插件中使用:支持
  19988. *
  19989. * 跳转到指定位置 */
  19990. seek(
  19991. /** 跳转到的位置,单位 s */
  19992. position: number
  19993. ): void
  19994. /** [VideoContext.sendDanmu(Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.sendDanmu.html)
  19995. *
  19996. * 在插件中使用:支持
  19997. *
  19998. * 发送弹幕 */
  19999. sendDanmu(
  20000. /** 弹幕内容 */
  20001. data: Danmu
  20002. ): void
  20003. /** [VideoContext.showStatusBar()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.showStatusBar.html)
  20004. *
  20005. * 需要基础库: `2.1.0`
  20006. *
  20007. * 在插件中使用:支持
  20008. *
  20009. * 显示状态栏,仅在iOS全屏下有效 */
  20010. showStatusBar(): void
  20011. /** [VideoContext.startCasting()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.startCasting.html)
  20012. *
  20013. * 需要基础库: `2.32.0`
  20014. *
  20015. * 在插件中使用:支持
  20016. *
  20017. * 开始投屏, 拉起半屏搜索设备。仅支持在 tap 事件回调内调用。 */
  20018. startCasting(): void
  20019. /** [VideoContext.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.stop.html)
  20020. *
  20021. * 需要基础库: `1.7.0`
  20022. *
  20023. * 在插件中使用:支持
  20024. *
  20025. * 停止视频 */
  20026. stop(): void
  20027. /** [VideoContext.switchCasting()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.switchCasting.html)
  20028. *
  20029. * 需要基础库: `2.32.0`
  20030. *
  20031. * 在插件中使用:支持
  20032. *
  20033. * 切换投屏设备。仅支持在 tap 事件回调内调用。 */
  20034. switchCasting(): void
  20035. }
  20036. interface VideoDecoder {
  20037. /** [Object VideoDecoder.getFrameData()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.getFrameData.html)
  20038. *
  20039. * 需要基础库: `2.11.0`
  20040. *
  20041. * 在插件中使用:支持
  20042. *
  20043. * 获取下一帧的解码数据 */
  20044. getFrameData(): FrameDataOptions
  20045. /** [Promise VideoDecoder.remove()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.remove.html)
  20046. *
  20047. * 需要基础库: `2.11.0`
  20048. *
  20049. * 在插件中使用:支持
  20050. *
  20051. * 移除解码器 */
  20052. remove(): Promise<any>
  20053. /** [Promise VideoDecoder.seek(number position)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.seek.html)
  20054. *
  20055. * 需要基础库: `2.11.0`
  20056. *
  20057. * 在插件中使用:支持
  20058. *
  20059. * 跳到某个时间点解码 */
  20060. seek(
  20061. /** 跳转的解码位置,单位 ms */
  20062. position: number
  20063. ): Promise<any>
  20064. /** [Promise VideoDecoder.start(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.start.html)
  20065. *
  20066. * 需要基础库: `2.11.0`
  20067. *
  20068. * 在插件中使用:支持
  20069. *
  20070. * 开始解码 */
  20071. start(option: VideoDecoderStartOption): Promise<any>
  20072. /** [Promise VideoDecoder.stop()](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.stop.html)
  20073. *
  20074. * 需要基础库: `2.11.0`
  20075. *
  20076. * 在插件中使用:支持
  20077. *
  20078. * 停止解码 */
  20079. stop(): Promise<any>
  20080. /** [VideoDecoder.off(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.off.html)
  20081. *
  20082. * 需要基础库: `2.11.0`
  20083. *
  20084. * 在插件中使用:支持
  20085. *
  20086. * 取消监听录制事件。当对应事件触发时,该回调函数不再执行 */
  20087. off(
  20088. /** 事件名 */
  20089. eventName: string,
  20090. /** 事件触发时执行的回调函数 */
  20091. callback: (...args: any[]) => any
  20092. ): void
  20093. /** [VideoDecoder.on(string eventName, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/VideoDecoder.on.html)
  20094. *
  20095. * 需要基础库: `2.11.0`
  20096. *
  20097. * 在插件中使用:支持
  20098. *
  20099. * 注册监听录制事件的回调函数。当对应事件触发时,回调函数会被执行 */
  20100. on(
  20101. /** 事件名
  20102. *
  20103. * 参数 eventName 可选值:
  20104. * - 'start': 开始事件。返回 {width, height};
  20105. * - 'stop': 结束事件。;
  20106. * - 'seek': seek 完成事件。;
  20107. * - 'bufferchange': 缓冲区变化事件。;
  20108. * - 'ended': 解码结束事件。; */
  20109. eventName: 'start' | 'stop' | 'seek' | 'bufferchange' | 'ended',
  20110. /** 事件触发时执行的回调函数 */
  20111. callback: (...args: any[]) => any
  20112. ): void
  20113. }
  20114. interface VirtualPaymentError {
  20115. /** 错误信息
  20116. *
  20117. * | 错误码 | 错误信息 | 说明 |
  20118. * | - | - | - |
  20119. * | 1001 | | 参数错误 |
  20120. * | -1 | | 支付失败 |
  20121. * | -2 | | 支付取消 |
  20122. * | -4 | | 风控拦截 |
  20123. * | -5 | | 开通签约结果未知 |
  20124. * | -15001 | | 参数错误,具体原因见err_msg |
  20125. * | -15002 | | outTradeNo重复使用,请换新单号重试 |
  20126. * | -15003 | | 系统错误 |
  20127. * | -15004 | | currencyType错误,目前只能填CNY |
  20128. * | -15005 | | 用户态签名signature错误 |
  20129. * | -15006 | | 支付签名paySig错误 |
  20130. * | -15007 | | session_key过期 |
  20131. * | -15008 | | 二级商户进件未完成 |
  20132. * | -15009 | | 代币未发布 |
  20133. * | -15010 | | 道具productId未发布 |
  20134. * | -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
  20135. * | -15012 | | 调用米大师失败导致关单,请换新单号重试 |
  20136. * | -15013 | | goodsPrice道具价格错误 |
  20137. * | -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
  20138. * | -15016 | | signData格式有问题 |
  20139. * | -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
  20140. * | -15018 | | 代币或者道具productId审核不通过 |
  20141. * | -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
  20142. * | -15020 | | 操作过快,请稍候再试 |
  20143. * | -15021 | | 小程序被限频交易 | */ errMsg: string
  20144. /** 错误码
  20145. *
  20146. * | 错误码 | 错误信息 | 说明 |
  20147. * | - | - | - |
  20148. * | 1001 | | 参数错误 |
  20149. * | -1 | | 支付失败 |
  20150. * | -2 | | 支付取消 |
  20151. * | -4 | | 风控拦截 |
  20152. * | -5 | | 开通签约结果未知 |
  20153. * | -15001 | | 参数错误,具体原因见err_msg |
  20154. * | -15002 | | outTradeNo重复使用,请换新单号重试 |
  20155. * | -15003 | | 系统错误 |
  20156. * | -15004 | | currencyType错误,目前只能填CNY |
  20157. * | -15005 | | 用户态签名signature错误 |
  20158. * | -15006 | | 支付签名paySig错误 |
  20159. * | -15007 | | session_key过期 |
  20160. * | -15008 | | 二级商户进件未完成 |
  20161. * | -15009 | | 代币未发布 |
  20162. * | -15010 | | 道具productId未发布 |
  20163. * | -15011 | | 现网版本的env只能是0,不能填1(沙盒环境) |
  20164. * | -15012 | | 调用米大师失败导致关单,请换新单号重试 |
  20165. * | -15013 | | goodsPrice道具价格错误 |
  20166. * | -15014 | | 道具/代币发布未生效,禁止下单,大概10分钟后生效 |
  20167. * | -15016 | | signData格式有问题 |
  20168. * | -15017 | | 此商家涉嫌违规,收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
  20169. * | -15018 | | 代币或者道具productId审核不通过 |
  20170. * | -15019 | | 调微信报商户受限,商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案 |
  20171. * | -15020 | | 操作过快,请稍候再试 |
  20172. * | -15021 | | 小程序被限频交易 | */ errCode: number
  20173. }
  20174. interface WifiError {
  20175. /** 错误信息
  20176. *
  20177. * | 错误码 | 错误信息 | 说明 |
  20178. * | - | - | - |
  20179. * | 0 | ok | 正常 |
  20180. * | 12000 | not init | 未先调用 `startWifi` 接口 |
  20181. * | 12001 | system not support | 当前系统不支持相关能力 |
  20182. * | 12002 | password error Wi-Fi | 密码错误 |
  20183. * | 12003 | connection timeout | 连接超时, 仅 Android 支持 |
  20184. * | 12004 | duplicate request | 重复连接 Wi-Fi |
  20185. * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 |
  20186. * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 |
  20187. * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi |
  20188. * | 12008 | invalid SSID | 无效 SSID |
  20189. * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi |
  20190. * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 |
  20191. * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi |
  20192. * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 |
  20193. * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errMsg: string
  20194. /** 错误码
  20195. *
  20196. * | 错误码 | 错误信息 | 说明 |
  20197. * | - | - | - |
  20198. * | 0 | ok | 正常 |
  20199. * | 12000 | not init | 未先调用 `startWifi` 接口 |
  20200. * | 12001 | system not support | 当前系统不支持相关能力 |
  20201. * | 12002 | password error Wi-Fi | 密码错误 |
  20202. * | 12003 | connection timeout | 连接超时, 仅 Android 支持 |
  20203. * | 12004 | duplicate request | 重复连接 Wi-Fi |
  20204. * | 12005 | wifi not turned on | Android 特有,未打开 Wi-Fi 开关 |
  20205. * | 12006 | gps not turned on | Android 特有,未打开 GPS 定位开关 |
  20206. * | 12007 | user denied | 用户拒绝授权链接 Wi-Fi |
  20207. * | 12008 | invalid SSID | 无效 SSID |
  20208. * | 12009 | system config err | 系统运营商配置拒绝连接 Wi-Fi |
  20209. * | 12010 | system internal error | 系统其他错误,需要在 errmsg 打印具体的错误原因 |
  20210. * | 12011 | weapp in background | 应用在后台无法配置 Wi-Fi |
  20211. * | 12013 | wifi config may be expired | 系统保存的 Wi-Fi 配置过期,建议忘记 Wi-Fi 后重试,仅 Android 支持 |
  20212. * | 12014 | invalid WEP / WPA password | iOS 特有,无效的 WEP / WPA 密码 | */ errCode: number
  20213. }
  20214. interface Worklet {
  20215. /** Easing 模块实现了常见的动画缓动函数(动画效果参考 https://easings.net/ ),可从 [wx.worklet](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/wx.worklet.html) 对象中读取。
  20216. *
  20217. * ****
  20218. *
  20219. * ## 示例代码
  20220. *
  20221. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/f94TCOmg7JFH)
  20222. *
  20223. * ### 预置动画函数
  20224. *
  20225. * * [Easing.bounce](#Easing.bounce) 反弹动画
  20226. * * [Easing.ease](#Easing.ease) 惯性动画
  20227. * * [Easing.elastic](#Easing.elastic) 弹性动画
  20228. *
  20229. * ### 标准缓动函数
  20230. *
  20231. * * [Easing.linear](#Easing.linear) 线性
  20232. * * [Easing.quad](#Easing.quad) 二次方
  20233. * * [Easing.cubic](#Easing.cubic) 三次方
  20234. * * [Easing.poly](#Easing.poly) 实现其它幂函数
  20235. *
  20236. * ### 其它数学函数
  20237. *
  20238. * * [Easing.bezier](#Easing.bezier) 三次贝塞尔曲线
  20239. * * [Easing.circle](#Easing.circle) 圆形曲线
  20240. * * [Easing.sin](#Easing.sin) 正弦函数
  20241. * * [Easing.exp](#Easing.exp) 指数函数
  20242. *
  20243. * ### 缓动方式
  20244. *
  20245. * 以上效果均有三种缓动方式
  20246. *
  20247. * * [Easing.in](#in) 正向执行缓动函数
  20248. * * [Easing.out](#out) 反向执行缓动函数
  20249. * * [Easing.inOut](#inout) 前半程正向,后半程反向
  20250. * 以 `sin` 函数为例,其中 `Easing.in(Easing.sin)` 和直接使用 `Easing.sin` 效果相同。
  20251. *
  20252. * 1. `Easing.in(Easing.sin)` 动画效果参考 https://easings.net/#easeInSine
  20253. * 2. `Easing.out(Easing.sin)` 动画效果参考 https://easings.net/#easeOutSine
  20254. * 3. `Easing.inOut(Easing.sin)` 动画效果参考 https://easings.net/#easeInOutSine
  20255. *
  20256. * ### Easing.bounce
  20257. *
  20258. * 简单的反弹效果,[动画效果参考](https://easings.net/#easeInBounce)
  20259. *
  20260. * ```js
  20261. Easing.bounce(t)
  20262. ```
  20263. *
  20264. * ### Easing.ease
  20265. *
  20266. * 简单的惯性动画,[动画效果参考](https://cubic-bezier.com/#.42,0,1,1)
  20267. *
  20268. * ```js
  20269. Easing.ease(t)
  20270. ```
  20271. *
  20272. * ### Easing.elastic
  20273. *
  20274. * 简单的弹性动画,类似弹簧来回摆动,高阶函数。默认弹性为 1,会稍微超出一次。弹性为 0 时 不会过冲。[动画效果参考](https://easings.net/#easeInElastic)
  20275. *
  20276. * ```js
  20277. Easing.elastic(bounciness = 1)
  20278. ```
  20279. *
  20280. * ### Easing.linear
  20281. *
  20282. * 线性函数,f(t) = t,[动画效果参考](https://cubic-bezier.com/#0,0,1,1)
  20283. *
  20284. * ```js
  20285. Easing.linear(t)
  20286. ```
  20287. * ### Easing.quad
  20288. *
  20289. * 二次方函数,f(t) = t * t,[动画效果参考](https://easings.net/#easeInQuad)
  20290. *
  20291. * ```js
  20292. Easing.quad(t)
  20293. ```
  20294. *
  20295. * ### Easing.cubic
  20296. *
  20297. * 立方函数,f(t) = t * t * t,[动画效果参考](https://easings.net/#easeInCubic)
  20298. *
  20299. * ```js
  20300. Easing.cubic(t)
  20301. ```
  20302. *
  20303. * ### Easing.poly
  20304. *
  20305. * 高阶函数,返回幂函数
  20306. *
  20307. * poly(4): [动画效果参考](https://easings.net/#easeInQuart)
  20308. *
  20309. * poly(5): [动画效果参考](https://easings.net/#easeInQuint)
  20310. *
  20311. * ```js
  20312. Easing.poly(n)
  20313. ```
  20314. *
  20315. * ### Easing.bezier
  20316. *
  20317. * 三次贝塞尔曲线,效果同 css `transition-timing-function`
  20318. *
  20319. * 调试参数可借助 [可视化工具](https://cubic-bezier.com/)
  20320. *
  20321. * ```js
  20322. Easing.bezier(x1, y1, x2, y2)
  20323. ```
  20324. *
  20325. * ### Easing.circle
  20326. *
  20327. * 圆形曲线,[动画效果参考](https://easings.net/#easeInCirc)
  20328. *
  20329. * ```js
  20330. Easing.circle(t)
  20331. ```
  20332. *
  20333. * ### Easing.sin
  20334. *
  20335. * 正弦函数,[动画效果参考](https://easings.net/#easeInSine)
  20336. *
  20337. * ```js
  20338. Easing.sin(t)
  20339. ```
  20340. *
  20341. * ### Easing.exp
  20342. *
  20343. * 指数函数,[动画效果参考](https://easings.net/#easeInExpo)
  20344. *
  20345. * ```js
  20346. Easing.exp(t)
  20347. ```
  20348. *
  20349. * ### Easing.in
  20350. *
  20351. * 正向运行 `easing function`,高阶函数。
  20352. *
  20353. * ```js
  20354. Easing.in(easing)
  20355. ```
  20356. *
  20357. * ### Easing.out
  20358. *
  20359. * 反向运行 `easing function`,高阶函数。
  20360. *
  20361. * ```js
  20362. Easing.out(easing)
  20363. ```
  20364. *
  20365. * ### Easing.inOut
  20366. *
  20367. * 前半程正向,后半程反向,高阶函数。
  20368. *
  20369. * ```js
  20370. Easing.inOut(easing)
  20371. ``` */
  20372. Easing: WorkletEasing
  20373. /** [AnimationObject worklet.decay(Object options, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/animation/worklet.decay.html)
  20374. *
  20375. * 在插件中使用:不支持
  20376. *
  20377. * 基于滚动衰减的动画。
  20378. *
  20379. * **示例代码**
  20380. *
  20381. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/zaI8sgmw7lGW)
  20382. *
  20383. * ```html
  20384. * <pan-gesture-handler onGestureEvent="handlepan">
  20385. * <view class="circle"></view>
  20386. * </pan-gesture-handler>
  20387. * ```
  20388. *
  20389. * ```js
  20390. const { shared, decay } = wx.worklet
  20391. Page({
  20392. onLoad() {
  20393. this._offset = shared(0);
  20394. this.applyAnimatedStyle('.circle', () => {
  20395. 'worklet';
  20396. return {
  20397. transform: `translateX(${this._offset.value}px)`
  20398. };
  20399. });
  20400. },
  20401. handlepan(evt) {
  20402. 'worklet';
  20403. if (evt.state === GestureState.ACTIVE) {
  20404. this._offset.value += evt.deltaX;
  20405. } else if (evt.state === GestureState.END) {
  20406. this._offset.value = decay({
  20407. velocity: evt.velocityX,
  20408. clamp: [-200, 200],
  20409. },
  20410. () => {
  20411. 'worklet'
  20412. console.info('@@@ decay finish')
  20413. }
  20414. );
  20415. }
  20416. }
  20417. });
  20418. ``` */
  20419. decay(
  20420. /** 动画配置 */
  20421. options: DecayOption,
  20422. /** 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。 */
  20423. callback: (...args: any[]) => any
  20424. ): AnimationObject
  20425. /** [AnimationObject worklet.delay(number delayMS, AnimationObject delayedAnimation)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/combine-animation/worklet.delay.html)
  20426. *
  20427. * 在插件中使用:不支持
  20428. *
  20429. * 延迟执行动画。 */
  20430. delay(
  20431. /** 动画开始前等待的时间,单位:毫秒。 */
  20432. delayMS: number,
  20433. /** 动画对象。 */
  20434. delayedAnimation: AnimationObject
  20435. ): AnimationObject
  20436. /** [AnimationObject worklet.repeat(AnimationObject animation, number numberOfReps, boolean reverse, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/combine-animation/worklet.repeat.html)
  20437. *
  20438. * 在插件中使用:不支持
  20439. *
  20440. * 重复执行动画。 */
  20441. repeat(
  20442. /** 动画对象 */
  20443. animation: AnimationObject,
  20444. /** 重复次数。为负值时一直循环,直到被取消动画。 */
  20445. numberOfReps?: number,
  20446. /** 反向运行动画,每周期结束动画由尾到头运行。该字段仅对 timing 和 spring 返回的动画对象生效。 */
  20447. reverse?: boolean,
  20448. /** 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。 */
  20449. callback?: (...args: any[]) => any
  20450. ): AnimationObject
  20451. /** [AnimationObject worklet.sequence(AnimationObject animationN)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/combine-animation/worklet.sequence.html)
  20452. *
  20453. * 在插件中使用:不支持
  20454. *
  20455. * 组合动画序列,依次执行传入的动画。 */
  20456. sequence(
  20457. /** 动画对象 */
  20458. animationN: AnimationObject
  20459. ): AnimationObject
  20460. /** [AnimationObject worklet.spring(number|string toValue, Object options, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/animation/worklet.spring.html)
  20461. *
  20462. * 在插件中使用:不支持
  20463. *
  20464. * 基于物理的动画。 */
  20465. spring(
  20466. /** 目标值 */
  20467. toValue: number | string,
  20468. /** 动画配置 */
  20469. options: SpringOption,
  20470. /** 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。 */
  20471. callback: (...args: any[]) => any
  20472. ): AnimationObject
  20473. /** [AnimationObject worklet.timing(number toValue, Object options, function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/animation/worklet.timing.html)
  20474. *
  20475. * 在插件中使用:不支持
  20476. *
  20477. * 基于时间的动画。 */
  20478. timing(
  20479. /** 目标值 */
  20480. toValue: number,
  20481. /** 动画配置 */
  20482. options: TimingOption,
  20483. /** 动画完成回调。动画被取消时,返回 fasle,正常完成时返回 true。 */
  20484. callback: (...args: any[]) => any
  20485. ): AnimationObject
  20486. /** [DerivedValue worklet.derived(WorkletFunction updaterWorklet)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/base/worklet.derived.html)
  20487. *
  20488. * 在插件中使用:不支持
  20489. *
  20490. * 衍生值 `DerivedValue`,可基于已有的 `SharedValue` 生成其它共享变量。 */
  20491. derived(
  20492. /** worklet 函数类型,该函数被立即执行,返回值作为 DerivedValue 的初始值。当函数内捕获的 SharedValue 类型值发生变化时,updaterWorklet 被驱动执行,返回值用于更新 DerivedValue。可类比 computed 计算属性进行理解。 */
  20493. updaterWorklet: WorkletFunction
  20494. ): DerivedValue
  20495. /** [SharedValue worklet.shared(any initialValue)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/base/worklet.shared.html)
  20496. *
  20497. * 在插件中使用:不支持
  20498. *
  20499. * 创建共享变量 `SharedValue`,用于跨线程共享数据和驱动动画。 */
  20500. shared(
  20501. /** 初始值,可通过 `.value` 属性进行读取和修改。类型可以是 `number | string | bool | null | undefined | Object | Array | Function`。 */
  20502. initialValue: any
  20503. ): SharedValue
  20504. /** [function worklet.runOnJS(function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/tool-function/worklet.runOnJS.html)
  20505. *
  20506. * 在插件中使用:不支持
  20507. *
  20508. * `worklet` 函数运行在 `UI` 线程时,捕获的外部函数可能为 `worklet` 类型或普通函数,为了更明显的对其区分,要求必须使用 `runOnJS` 调回 `JS` 线程的普通函数。
  20509. * 有这样的要求是因为,调用其它 `worklet` 函数时是同步调用,但在 `UI` 线程执行 `JS` 线程的函数只能是异步,开发者容易混淆,试图同步获取 `JS` 线程的返回值。 */
  20510. runOnJS(
  20511. /** 未声明为 worklet 类型的普通函数。 */
  20512. fn: (...args: any[]) => any
  20513. ): (...args: any[]) => any
  20514. /** [function worklet.runOnUI(function fn)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/tool-function/worklet.runOnUI.html)
  20515. *
  20516. * 在插件中使用:不支持
  20517. *
  20518. * 在 UI 线程执行 worklet 函数。 */
  20519. runOnUI(
  20520. /** worklet 类型函数。 */
  20521. fn: (...args: any[]) => any
  20522. ): (...args: any[]) => any
  20523. /** [worklet.cancelAnimation(SharedValue SharedValue)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/base/worklet.cancelAnimation.html)
  20524. *
  20525. * 在插件中使用:不支持
  20526. *
  20527. * 取消由 `SharedValue` 驱动的动画。 */
  20528. cancelAnimation(
  20529. /** 共享变量。 */
  20530. SharedValue: SharedValue
  20531. ): void
  20532. /** [worklet.scrollViewContext.scrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/worklet/base/worklet.scrollViewContext.scrollTo.html)
  20533. *
  20534. * 需要基础库: `3.3.0`
  20535. *
  20536. * 在插件中使用:不支持
  20537. *
  20538. * 滚动至指定位置
  20539. *
  20540. * **示例代码**
  20541. *
  20542. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/R0cfBJml7SNB) */
  20543. scrollTo(option: WorkletScrollViewContextScrollToOption): void
  20544. /** 需要基础库: `3.3.0`
  20545. *
  20546. * `ScrollView` 实例,可在 `worklet` 函数内操作 `scroll-view` 组件。 */
  20547. scrollViewContext: WorkletScrollViewContext
  20548. }
  20549. interface Wx {
  20550. creatQRCode(arg0: {})
  20551. creatQrCode(arg0: {})
  20552. /** [Array.&lt;any&gt; wx.batchGetStorageSync(Array.&lt;string&gt; keyList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorageSync.html)
  20553. *
  20554. * 需要基础库: `2.25.0`
  20555. *
  20556. * 在插件中使用:不支持
  20557. *
  20558. * 从本地缓存中同步批量获取指定 key 的内容。
  20559. *
  20560. * **示例代码**
  20561. *
  20562. * ```js
  20563. try {
  20564. var valueList = wx.batchGetStorageSync(['key'])
  20565. if (valueList) {
  20566. // Do something with return value
  20567. }
  20568. } catch (e) {
  20569. // Do something when catch error
  20570. }
  20571. ```
  20572. *
  20573. * ****
  20574. *
  20575. * 对于多个key的读取, 批量读取在性能上优于多次getStorageSync读取 */
  20576. batchGetStorageSync(
  20577. /** 本地缓存中指定的 key 数组 */
  20578. keyList: string[]
  20579. ): any[]
  20580. /** [ArrayBuffer wx.base64ToArrayBuffer(string base64)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.base64ToArrayBuffer.html)
  20581. *
  20582. * 需要基础库: `1.1.0`
  20583. *
  20584. * 在插件中使用:支持
  20585. * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃
  20586. *
  20587. * 将 Base64 字符串转成 ArrayBuffer 对象 */
  20588. base64ToArrayBuffer(
  20589. /** 要转化成 ArrayBuffer 对象的 Base64 字符串 */
  20590. base64: string
  20591. ): ArrayBuffer
  20592. /** [Object wx.getAccountInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html)
  20593. *
  20594. * 需要基础库: `2.2.2`
  20595. *
  20596. * 在插件中使用:需要基础库 `2.2.2`
  20597. *
  20598. * 获取当前账号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。
  20599. *
  20600. * **示例代码**
  20601. *
  20602. * ```js
  20603. const accountInfo = wx.getAccountInfoSync();
  20604. console.log(accountInfo.miniProgram.appId) // 小程序 appId
  20605. console.log(accountInfo.plugin.appId) // 插件 appId
  20606. console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式
  20607. ``` */
  20608. getAccountInfoSync(): AccountInfo
  20609. /** [Object wx.getAppAuthorizeSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)
  20610. *
  20611. * 需要基础库: `2.20.1`
  20612. *
  20613. * 在插件中使用:需要基础库 `2.21.3`
  20614. *
  20615. * 获取微信APP授权设置
  20616. *
  20617. * **示例代码**
  20618. *
  20619. * ```js
  20620. const appAuthorizeSetting = wx.getAppAuthorizeSetting()
  20621. console.log(appAuthorizeSetting.albumAuthorized)
  20622. console.log(appAuthorizeSetting.bluetoothAuthorized)
  20623. console.log(appAuthorizeSetting.cameraAuthorized)
  20624. console.log(appAuthorizeSetting.locationAuthorized)
  20625. console.log(appAuthorizeSetting.locationReducedAccuracy)
  20626. console.log(appAuthorizeSetting.microphoneAuthorized)
  20627. console.log(appAuthorizeSetting.notificationAlertAuthorized)
  20628. console.log(appAuthorizeSetting.notificationAuthorized)
  20629. console.log(appAuthorizeSetting.notificationBadgeAuthorized)
  20630. console.log(appAuthorizeSetting.notificationSoundAuthorized)
  20631. console.log(appAuthorizeSetting.phoneCalendarAuthorized)
  20632. ```
  20633. *
  20634. * **返回值说明**
  20635. *
  20636. * `'authorized'` 表示已经获得授权,无需再次请求授权;
  20637. * `'denied'` 表示请求授权被拒绝,无法再次请求授权;(此情况需要引导用户[打开系统设置](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html),在设置页中打开权限)
  20638. * `'non determined'` 表示尚未请求授权,会在微信下一次调用系统相应权限时请求;(仅 iOS 会出现。此种情况下引导用户打开系统设置,不展示开关) */
  20639. getAppAuthorizeSetting(): AppAuthorizeSetting
  20640. /** [Object wx.getAppBaseInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html)
  20641. *
  20642. * 需要基础库: `2.20.1`
  20643. *
  20644. * 在插件中使用:需要基础库 `2.21.3`
  20645. *
  20646. * 获取微信APP基础信息
  20647. *
  20648. * **示例代码**
  20649. *
  20650. * ```js
  20651. const appBaseInfo = wx.getAppBaseInfo()
  20652. console.log(appBaseInfo.SDKVersion)
  20653. console.log(appBaseInfo.enableDebug)
  20654. console.log(appBaseInfo.host)
  20655. console.log(appBaseInfo.language)
  20656. console.log(appBaseInfo.version)
  20657. console.log(appBaseInfo.theme)
  20658. ``` */
  20659. getAppBaseInfo(): AppBaseInfo
  20660. /** [Object wx.getBatteryInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html)
  20661. *
  20662. * 在插件中使用:需要基础库 `2.15.0`
  20663. *
  20664. * [wx.getBatteryInfo](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html) 的同步版本 */
  20665. getBatteryInfoSync(): GetBatteryInfoSyncResult
  20666. /** [Object wx.getDeviceInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)
  20667. *
  20668. * 需要基础库: `2.20.1`
  20669. *
  20670. * 在插件中使用:需要基础库 `2.21.3`
  20671. *
  20672. * 获取设备基础信息
  20673. *
  20674. * **示例代码**
  20675. *
  20676. * ```js
  20677. const deviceInfo = wx.getDeviceInfo()
  20678. console.log(deviceInfo.abi)
  20679. console.log(deviceInfo.benchmarkLevel)
  20680. console.log(deviceInfo.brand)
  20681. console.log(deviceInfo.model)
  20682. console.log(deviceInfo.platform)
  20683. console.log(deviceInfo.system)
  20684. ``` */
  20685. getDeviceInfo(): DeviceInfo
  20686. /** [Object wx.getEnterOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html)
  20687. *
  20688. * 需要基础库: `2.9.4`
  20689. *
  20690. * 在插件中使用:需要基础库 `2.9.4`
  20691. *
  20692. * 获取本次小程序启动时的参数。如果当前是冷启动,则返回值与 [`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) 一致。
  20693. *
  20694. * **返回有效 referrerInfo 的场景**
  20695. *
  20696. * | 场景值 | 场景 | appId含义 |
  20697. * | ------ | ------------------------------- | ---------- |
  20698. * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 |
  20699. * | 1035 | 公众号自定义菜单 | 来源公众号 |
  20700. * | 1036 | App 分享消息卡片 | 来源App |
  20701. * | 1037 | 小程序打开小程序 | 来源小程序 |
  20702. * | 1038 | 从另一个小程序返回 | 来源小程序 |
  20703. * | 1043 | 公众号模板消息 | 来源公众号 |
  20704. *
  20705. * **不同 apiCategory 场景下的 API 限制**
  20706. *
  20707. * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。
  20708. *
  20709. * | | default | nativeFunctionalized | browseOnly | embedded |
  20710. * |-|-|-|-|-|
  20711. * |navigateToMiniProgram | | `X` | `X` | |
  20712. * |openSetting | | | `X` | |
  20713. * |&lt;button open-type="share"&gt; | | `X` | `X` | `X` |
  20714. * |&lt;button open-type="feedback"&gt; | | | `X` | |
  20715. * |&lt;button open-type="open-setting"&gt;| | | `X` | |
  20716. * |openEmbeddedMiniProgram | | `X` | `X` | `X` |
  20717. *
  20718. * **注意**
  20719. *
  20720. * 部分版本在无 `referrerInfo` 的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */
  20721. getEnterOptionsSync(): LaunchOptionsApp
  20722. /** [Object wx.getExptInfoSync(Array.&lt;string&gt; keys)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getExptInfoSync.html)
  20723. *
  20724. * 需要基础库: `2.17.0`
  20725. *
  20726. * 在插件中使用:不支持
  20727. *
  20728. * 给定实验参数数组,获取对应的实验参数值
  20729. *
  20730. * **提示**
  20731. *
  20732. * 假设实验参数有 `color`, `size`
  20733. * 调用 wx.getExptInfoSync() 会返回 `{color:'#fff',size:20}` 类似的结果
  20734. * 而 wx.getExptInfoSync(['color']) 则只会返回 `{color:'#fff'}` */
  20735. getExptInfoSync(
  20736. /** 实验参数数组,不填则获取所有实验参数 */
  20737. keys?: string[]
  20738. ): IAnyObject
  20739. /** [Object wx.getExtConfigSync()](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfigSync.html)
  20740. *
  20741. * 需要基础库: `1.1.0`
  20742. *
  20743. * 在插件中使用:不支持
  20744. *
  20745. * [wx.getExtConfig](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html) 的同步版本。
  20746. *
  20747. * **Tips**
  20748. *
  20749. * 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) 是否存在来兼容
  20750. *
  20751. * ****
  20752. *
  20753. * ```js
  20754. let extConfig = wx.getExtConfigSync? wx.getExtConfigSync(): {}
  20755. console.log(extConfig)
  20756. ``` */
  20757. getExtConfigSync(): IAnyObject
  20758. /** [Object wx.getLaunchOptionsSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html)
  20759. *
  20760. * 需要基础库: `2.1.2`
  20761. *
  20762. * 在插件中使用:需要基础库 `2.9.4`
  20763. *
  20764. * 获取小程序启动时的参数。与 [`App.onLaunch`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onlaunchobject-object) 的回调参数一致。
  20765. *
  20766. * **返回有效 referrerInfo 的场景**
  20767. *
  20768. * | 场景值 | 场景 | appId含义 |
  20769. * | ------ | ------------------------------- | ---------- |
  20770. * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 |
  20771. * | 1035 | 公众号自定义菜单 | 来源公众号 |
  20772. * | 1036 | App 分享消息卡片 | 来源App |
  20773. * | 1037 | 小程序打开小程序 | 来源小程序 |
  20774. * | 1038 | 从另一个小程序返回 | 来源小程序 |
  20775. * | 1043 | 公众号模板消息 | 来源公众号 |
  20776. * | 1069 | 移动应用 | 来源App |
  20777. *
  20778. * **不同 apiCategory 场景下的 API 限制**
  20779. *
  20780. * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。
  20781. *
  20782. * | | default | nativeFunctionalized | browseOnly | embedded |
  20783. * |-|-|-|-|-|
  20784. * |navigateToMiniProgram | | `X` | `X` | |
  20785. * |openSetting | | | `X` | |
  20786. * |&lt;button open-type="share"&gt; | | `X` | `X` | `X` |
  20787. * |&lt;button open-type="feedback"&gt; | | | `X` | |
  20788. * |&lt;button open-type="open-setting"&gt;| | | `X` | |
  20789. * |openEmbeddedMiniProgram | | `X` | `X` | `X` |
  20790. *
  20791. * **注意**
  20792. *
  20793. * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */
  20794. getLaunchOptionsSync(): LaunchOptionsApp
  20795. /** [Object wx.getMenuButtonBoundingClientRect()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.getMenuButtonBoundingClientRect.html)
  20796. *
  20797. * 需要基础库: `2.1.0`
  20798. *
  20799. * 在插件中使用:需要基础库 `2.15.0`
  20800. *
  20801. * 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。
  20802. *
  20803. * **示例代码**
  20804. *
  20805. * ```js
  20806. const res = wx.getMenuButtonBoundingClientRect()
  20807. console.log(res.width)
  20808. console.log(res.height)
  20809. console.log(res.top)
  20810. console.log(res.right)
  20811. console.log(res.bottom)
  20812. console.log(res.left)
  20813. ``` */
  20814. getMenuButtonBoundingClientRect(): ClientRect
  20815. /** [Object wx.getSkylineInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSkylineInfoSync.html)
  20816. *
  20817. * 需要基础库: `2.26.2`
  20818. *
  20819. * 在插件中使用:需要基础库 `2.26.2`
  20820. *
  20821. * 获取当前运行环境对于 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的支持情况 */
  20822. getSkylineInfoSync(): SkylineInfo
  20823. /** [Object wx.getStorageInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfoSync.html)
  20824. *
  20825. * 在插件中使用:不支持
  20826. *
  20827. * [wx.getStorageInfo](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html) 的同步版本
  20828. *
  20829. * **示例代码**
  20830. *
  20831. * ```js
  20832. wx.getStorageInfo({
  20833. success (res) {
  20834. console.log(res.keys)
  20835. console.log(res.currentSize)
  20836. console.log(res.limitSize)
  20837. }
  20838. })
  20839. ```
  20840. *
  20841. * ```js
  20842. try {
  20843. const res = wx.getStorageInfoSync()
  20844. console.log(res.keys)
  20845. console.log(res.currentSize)
  20846. console.log(res.limitSize)
  20847. } catch (e) {
  20848. // Do something when catch error
  20849. }
  20850. ``` */
  20851. getStorageInfoSync(): GetStorageInfoSyncOption
  20852. /** [Object wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html)
  20853. *
  20854. * 在插件中使用:需要基础库 `1.9.6`
  20855. * @deprecated 基础库版本 [2.20.1](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getSystemSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)、[wx.getAppAuthorizeSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)、[wx.getDeviceInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)、[wx.getWindowInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)、[wx.getAppBaseInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) 替换
  20856. *
  20857. * [wx.getSystemInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html) 的同步版本
  20858. *
  20859. * **示例代码**
  20860. *
  20861. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO)
  20862. *
  20863. * ```js
  20864. wx.getSystemInfo({
  20865. success (res) {
  20866. console.log(res.model)
  20867. console.log(res.pixelRatio)
  20868. console.log(res.windowWidth)
  20869. console.log(res.windowHeight)
  20870. console.log(res.language)
  20871. console.log(res.version)
  20872. console.log(res.platform)
  20873. }
  20874. })
  20875. ```
  20876. *
  20877. * ```js
  20878. try {
  20879. const res = wx.getSystemInfoSync()
  20880. console.log(res.model)
  20881. console.log(res.pixelRatio)
  20882. console.log(res.windowWidth)
  20883. console.log(res.windowHeight)
  20884. console.log(res.language)
  20885. console.log(res.version)
  20886. console.log(res.platform)
  20887. } catch (e) {
  20888. // Do something when catch error
  20889. }
  20890. ```
  20891. *
  20892. * ****
  20893. *
  20894. * ## 注意事项
  20895. * - 当 wx.getSystemInfoSync() 接口发生错误时可能会返回空对象
  20896. * - wx.getSystemInfo 接口由于会获取系统权限,可能触发授权弹窗,请使用 [wx.getSystemSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)、[wx.getAppAuthorizeSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)、[wx.getDeviceInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)、[wx.getWindowInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)、[wx.getAppBaseInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) 替代 */
  20897. getSystemInfoSync(): SystemInfo
  20898. /** [Object wx.getSystemSetting()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)
  20899. *
  20900. * 需要基础库: `2.20.1`
  20901. *
  20902. * 在插件中使用:需要基础库 `2.21.3`
  20903. *
  20904. * 获取设备设置
  20905. *
  20906. * **示例代码**
  20907. *
  20908. * ```js
  20909. const systemSetting = wx.getSystemSetting()
  20910. console.log(systemSetting.bluetoothEnabled)
  20911. console.log(systemSetting.deviceOrientation)
  20912. console.log(systemSetting.locationEnabled)
  20913. console.log(systemSetting.wifiEnabled)
  20914. ``` */
  20915. getSystemSetting(): SystemSetting
  20916. /** [Object wx.getWindowInfo()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)
  20917. *
  20918. * 需要基础库: `2.20.1`
  20919. *
  20920. * 在插件中使用:需要基础库 `2.21.3`
  20921. *
  20922. * 获取窗口信息
  20923. *
  20924. * **示例代码**
  20925. *
  20926. * ```js
  20927. const windowInfo = wx.getWindowInfo()
  20928. console.log(windowInfo.pixelRatio)
  20929. console.log(windowInfo.screenWidth)
  20930. console.log(windowInfo.screenHeight)
  20931. console.log(windowInfo.windowWidth)
  20932. console.log(windowInfo.windowHeight)
  20933. console.log(windowInfo.statusBarHeight)
  20934. console.log(windowInfo.safeArea)
  20935. console.log(windowInfo.screenTop)
  20936. ``` */
  20937. getWindowInfo(): WindowInfo
  20938. /** [Promise<string> wx.getRendererUserAgent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getRendererUserAgent.html)
  20939. *
  20940. * 需要基础库: `2.26.3`
  20941. *
  20942. * 在插件中使用:需要基础库 `2.21.3`
  20943. *
  20944. * 获取 Webview 小程序的 UserAgent
  20945. *
  20946. * **示例代码**
  20947. *
  20948. * ```js
  20949. // v2.30.4 前,仅支持 promise 风格调用
  20950. wx.getRendererUserAgent().then(userAgent => console.log(userAgent))
  20951. // v2.30.4 起,除 promise 风格调用外,也支持 invoke 风格使用
  20952. wx.getRendererUserAgent({
  20953. success(res) { console.log(res.userAgent) }
  20954. })
  20955. ``` */
  20956. getRendererUserAgent(
  20957. option?: GetRendererUserAgentOption
  20958. ): Promise<string>
  20959. /** [[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)
  20960. *
  20961. * 在插件中使用:需要基础库 `1.9.6`
  20962. *
  20963. * 创建一个动画实例 [animation](https://developers.weixin.qq.com/miniprogram/dev/api/ui/animation/Animation.html)。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。 */
  20964. createAnimation(option: StepOption): Animation
  20965. /** [[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)
  20966. *
  20967. * 在插件中使用:需要基础库 `1.9.6`
  20968. * @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) 替换
  20969. *
  20970. * 创建 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [AudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/AudioContext.html) 对象。 */
  20971. createAudioContext(
  20972. /** [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件的 id */
  20973. id: string,
  20974. /** 在自定义组件下,当前组件实例的this,以操作组件内 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 组件 */
  20975. component?: Component.TrivialInstance | Page.TrivialInstance
  20976. ): AudioContext
  20977. /** [[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)
  20978. *
  20979. * 需要基础库: `1.2.0`
  20980. *
  20981. * 在插件中使用:需要基础库 `1.9.6`
  20982. *
  20983. * 获取**全局唯一**的背景音频管理器。
  20984. * 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。
  20985. *
  20986. * 从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 [app.json](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html) 中配置 `requiredBackgroundModes` 属性。开发版和体验版上可以直接生效,正式版还需通过审核。 */
  20987. getBackgroundAudioManager(): BackgroundAudioManager
  20988. /** [[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)
  20989. *
  20990. * 需要基础库: `2.24.0`
  20991. *
  20992. * 在插件中使用:不支持
  20993. *
  20994. * 创建缓存管理器
  20995. *
  20996. * **示例代码**
  20997. *
  20998. * <a href="https://github.com/wechat-miniprogram/miniprogram-offline-demo" target="_blank">查看完整示例代码</a>
  20999. *
  21000. * ```js
  21001. const cacheManager = createCacheManager()
  21002. cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配
  21003. cacheManager.on('request', evt => {
  21004. // 在弱网时接收到 wx.request 请求
  21005. return new Promise((resolve, reject) => {
  21006. const matchRes = cm.match(evt)
  21007. if (matchRes && matchRes.data) {
  21008. // 有缓存,返回
  21009. resolve(matchRes.data)
  21010. } else {
  21011. // 没缓存,抛错
  21012. reject({ errMsg: 'no cache' })
  21013. }
  21014. })
  21015. })
  21016. ``` */
  21017. createCacheManager(option: CreateCacheManagerOption): CacheManager
  21018. /** [[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)
  21019. *
  21020. * 需要基础库: `1.6.0`
  21021. *
  21022. * 在插件中使用:需要基础库 `1.9.6`
  21023. *
  21024. * 创建 [camera](https://developers.weixin.qq.com/miniprogram/dev/component/camera.html) 上下文 [CameraContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/camera/CameraContext.html) 对象。 */
  21025. createCameraContext(): CameraContext
  21026. /** [[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)
  21027. *
  21028. * 在插件中使用:需要基础库 `1.9.6`
  21029. * @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) 替换
  21030. *
  21031. * 创建 canvas 的绘图上下文 [CanvasContext](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/CanvasContext.html) 对象 */
  21032. createCanvasContext(
  21033. /** 要获取上下文的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 canvas-id 属性 */
  21034. canvasId: string,
  21035. /** 在自定义组件下,当前组件实例的this,表示在这个自定义组件下查找拥有 canvas-id 的 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) ,如果省略则不在任何自定义组件内查找 */
  21036. component?: Component.TrivialInstance | Page.TrivialInstance
  21037. ): CanvasContext
  21038. /** [[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)
  21039. *
  21040. * 在插件中使用:需要基础库 `1.9.6`
  21041. *
  21042. * 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
  21043. *
  21044. * 注意:请在服务端响应的 header 中指定合理的 `Content-Type` 字段,以保证客户端正确处理文件类型。
  21045. *
  21046. * **示例代码**
  21047. *
  21048. * ```js
  21049. wx.downloadFile({
  21050. url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
  21051. success (res) {
  21052. // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
  21053. if (res.statusCode === 200) {
  21054. wx.playVoice({
  21055. filePath: res.tempFilePath
  21056. })
  21057. }
  21058. }
  21059. })
  21060. ``` */
  21061. downloadFile(option: DownloadFileOption): DownloadTask
  21062. /** [[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)
  21063. *
  21064. * 需要基础库: `1.9.9`
  21065. *
  21066. * 在插件中使用:需要基础库 `2.19.2`
  21067. *
  21068. * 获取全局唯一的文件管理器 */
  21069. getFileSystemManager(): FileSystemManager
  21070. /** [[InferenceSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/InferenceSession.html) wx.createInferenceSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/wx.createInferenceSession.html)
  21071. *
  21072. * 需要基础库: `2.30.0`
  21073. *
  21074. * 在插件中使用:需要基础库 `2.30.0`
  21075. *
  21076. * 创建 AI 推理 Session。使用前可参考[AI指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/inference/tutorial.html)
  21077. *
  21078. * **示例代码**
  21079. *
  21080. * ```js
  21081. // 创建会话,加载模型
  21082. const session = wx.createInferenceSession({
  21083. model: `${wx.env.USER_DATA_PATH}/MNIST.onnx`,
  21084. precisionLevel: 4,
  21085. typicalShape:{input1:[1, 3, 224, 224], input2:[1, 1, 224, 224]}, //除非使用动态轴,一般不用显式指定
  21086. allowNPU: false,
  21087. allowQuantize: false
  21088. })
  21089. // 监听error事件
  21090. session.onError(err => {
  21091. console.error(err)
  21092. })
  21093. // 监听模型加载完成事件
  21094. session.onLoad(() => {
  21095. // 运行推理
  21096. // 其中input1, input2, output0 必须与使用的onnx模型中实际的输入输出名字完全一致,不可随意填写。
  21097. // 模型输入输出信息可以通过Netron 打开onnx模型看到
  21098. session.run({
  21099. input1: {
  21100. type: 'float32',
  21101. data: new Float32Array(3 * 224 * 224).buffer,
  21102. shape: [1, 3, 224, 224] // NCHW 顺序
  21103. },
  21104. // 多个input的添加方法,假设第二个input需要数据类型为uint8
  21105. input2: {
  21106. type: 'uint8',
  21107. data: new Uint8Array(224 * 224).buffer,
  21108. shape: [1, 1, 224, 224]
  21109. },
  21110. }).then(res => {
  21111. console.log(res.output0)
  21112. })
  21113. })
  21114. // 销毁Session
  21115. // session完成创建后可以多次调用run进行推理,直到调用`session.destroy()`释放相关内存。
  21116. // 销毁会话
  21117. session.destroy()
  21118. ``` */
  21119. createInferenceSession(
  21120. option: CreateInferenceSessionOption
  21121. ): InferenceSession
  21122. /** [[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)
  21123. *
  21124. * 需要基础库: `1.6.0`
  21125. *
  21126. * 在插件中使用:需要基础库 `1.9.6`
  21127. *
  21128. * 创建内部 [audio](https://developers.weixin.qq.com/miniprogram/dev/component/audio.html) 上下文 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 对象。
  21129. *
  21130. * **示例代码**
  21131. *
  21132. * ```js
  21133. const innerAudioContext = wx.createInnerAudioContext({
  21134. useWebAudioImplement: false // 是否使用 WebAudio 作为底层音频驱动,默认关闭。对于短音频、播放频繁的音频建议开启此选项,开启后将获得更优的性能表现。由于开启此选项后也会带来一定的内存增长,因此对于长音频建议关闭此选项
  21135. })
  21136. innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
  21137. innerAudioContext.play() // 播放
  21138. innerAudioContext.pause() // 暂停
  21139. innerAudioContext.stop() // 停止
  21140. innerAudioContext.destroy() // 释放音频资源
  21141. ``` */
  21142. createInnerAudioContext(
  21143. option?: CreateInnerAudioContextOption
  21144. ): InnerAudioContext
  21145. /** [[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)
  21146. *
  21147. * 需要基础库: `1.9.3`
  21148. *
  21149. * 在插件中使用:需要基础库 `1.9.6`
  21150. *
  21151. * 创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createIntersectionObserver([options])` 来代替。
  21152. *
  21153. * **示例代码**
  21154. *
  21155. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/ETQafJmu7BTm)
  21156. *
  21157. * **原生模式**
  21158. *
  21159. * 小程序的观察器默认使用非原生模式。非原生模式下,部分表现会与原生模式有差异,具体差异为:
  21160. *
  21161. * 1. 非原生观察器 `relativeTo` 设置的参照区域可以为任意节点;而原生模式只能相对祖先节点。
  21162. * 2. 非原生观察器计算区域相交时,直接计算节点区域和参照区域的交集;而原生模式会对节点的祖先节点进行遍历,计算节点的祖先节点到参照节点的路径中,所有节点区域的交集。
  21163. * 3. 原生观察器性能比非原生模式更高。
  21164. *
  21165. * 原生观察器相关信息可参考 [IntersectionObserver 文档](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API)。
  21166. *
  21167. * **Tips**
  21168. *
  21169. * 1. 若 `relativeTo` 设置的参照区域不是祖先节点,则无法开启原生模式。
  21170. * 2. 若调用多次 `relativeTo` 和 `relativeToViewport`,观察器性能会下降。 */
  21171. createIntersectionObserver(
  21172. /** 自定义组件实例 */
  21173. component: IAnyObject,
  21174. /** 选项 */
  21175. options?: CreateIntersectionObserverOption
  21176. ): IntersectionObserver
  21177. /** [[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)
  21178. *
  21179. * 需要基础库: `2.6.0`
  21180. *
  21181. * 在插件中使用:需要基础库 `2.8.1`
  21182. *
  21183. * 创建插屏广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API。每次调用该方法创建插屏广告都会返回一个全新的实例(小程序端的插屏广告实例不允许跨页面使用)。 */
  21184. createInterstitialAd(option: CreateInterstitialAdOption): InterstitialAd
  21185. /** [[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)
  21186. *
  21187. * 需要基础库: `1.7.0`
  21188. *
  21189. * 在插件中使用:需要基础库 `1.9.6`
  21190. *
  21191. * 创建 [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 对象。 */
  21192. createLivePlayerContext(
  21193. /** [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件的 id */
  21194. id: string,
  21195. /** 在自定义组件下,当前组件实例的this,以操作组件内 [live-player](https://developers.weixin.qq.com/miniprogram/dev/component/live-player.html) 组件 */
  21196. component?: Component.TrivialInstance | Page.TrivialInstance
  21197. ): LivePlayerContext
  21198. /** [[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)
  21199. *
  21200. * 需要基础库: `1.7.0`
  21201. *
  21202. * 在插件中使用:需要基础库 `1.9.6`
  21203. *
  21204. * 创建 [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) 对象。 */
  21205. createLivePusherContext(): LivePusherContext
  21206. /** [[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)
  21207. *
  21208. * 需要基础库: `2.1.0`
  21209. *
  21210. * 在插件中使用:不支持
  21211. *
  21212. * 获取日志管理器对象。
  21213. *
  21214. * **示例代码**
  21215. *
  21216. * ```js
  21217. const logger = wx.getLogManager({level: 1})
  21218. logger.log({str: 'hello world'}, 'basic log', 100, [1, 2, 3])
  21219. logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3])
  21220. logger.debug({str: 'hello world'}, 'debug log', 100, [1, 2, 3])
  21221. logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3])
  21222. ``` */
  21223. getLogManager(option: GetLogManagerOption): LogManager
  21224. /** [[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)
  21225. *
  21226. * 在插件中使用:需要基础库 `1.9.6`
  21227. *
  21228. * 创建 [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 对象。 */
  21229. createMapContext(
  21230. /** [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件的 id */
  21231. mapId: string,
  21232. /** 在自定义组件下,当前组件实例的this,以操作组件内 [map](https://developers.weixin.qq.com/miniprogram/dev/component/map.html) 组件 */
  21233. component?: Component.TrivialInstance | Page.TrivialInstance
  21234. ): MapContext
  21235. /** [[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)
  21236. *
  21237. * 需要基础库: `2.13.0`
  21238. *
  21239. * 在插件中使用:支持
  21240. *
  21241. * 创建媒体音频播放器对象 [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) 输出的音频。
  21242. *
  21243. * **示例代码**
  21244. *
  21245. * ```js
  21246. // 创建视频解码器,具体参数见 createVideoDecoder 文档
  21247. const videoDecoder = wx.createVideoDecoder()
  21248. // 创建媒体音频播放器
  21249. const mediaAudioPlayer = wx.createMediaAudioPlayer()
  21250. // 启动视频解码器
  21251. videoDecoder.start()
  21252. // 启动播放器
  21253. mediaAudioPlayer.start().then(() => {
  21254. // 添加播放器音频来源
  21255. mediaAudioPlayer.addAudioSource(videoDecoder).then(res => {
  21256. videoDecoder.getFrameData() // 建议在 requestAnimationFrame 里获取每一帧视频数据
  21257. console.log(res)
  21258. })
  21259. // 移除播放器音频来源
  21260. mediaAudioPlayer.removeAudioSource(videoDecoder).then()
  21261. // 停止播放器
  21262. mediaAudioPlayer.stop().then()
  21263. // 销毁播放器
  21264. mediaAudioPlayer.destroy().then()
  21265. // 设置播放器音量
  21266. mediaAudioPlayer.volume = 0.5
  21267. })
  21268. ```
  21269. *
  21270. * **完整demo(小游戏)**
  21271. *
  21272. * - https://developers.weixin.qq.com/s/SF2duHmb7MjI */
  21273. createMediaAudioPlayer(): MediaAudioPlayer
  21274. /** [[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)
  21275. *
  21276. * 需要基础库: `2.9.0`
  21277. *
  21278. * 在插件中使用:需要基础库 `2.10.0`
  21279. *
  21280. * 创建音视频处理容器,最终可将容器中的轨道合成一个视频 */
  21281. createMediaContainer(): MediaContainer
  21282. /** [[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)
  21283. *
  21284. * 需要基础库: `2.11.0`
  21285. *
  21286. * 在插件中使用:需要基础库 `2.11.0`
  21287. *
  21288. * 创建 WebGL 画面录制器,可逐帧录制在 WebGL 上渲染的画面并导出视频文件
  21289. *
  21290. * **示例代码**
  21291. *
  21292. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MCz3kPmC7zpa)
  21293. *
  21294. * **低版本异步接口兼容**
  21295. *
  21296. * 对基础库 2.16.1 版本前的 mediaRecorder,所有的接口都没有返回 Promise 对象,若需要兼容低版本,则可采用如下方式的写法:
  21297. * ```javascript
  21298. // 启动 mediaRecorder
  21299. await new Promise(resolve => {
  21300. recorder.on('start', resolve)
  21301. recorder.start()
  21302. })
  21303. // 逐帧绘制
  21304. while (frames--) {
  21305. await new Promise(resolve => recorder.requestFrame(resolve))
  21306. render()
  21307. }
  21308. // 绘制完成,生成视频
  21309. const {tempFilePath} = await new Promise(resolve => {
  21310. recorder.on('stop', resolve)
  21311. recorder.stop()
  21312. })
  21313. ``` */
  21314. createMediaRecorder(
  21315. /** 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 对象 */
  21316. canvas: IAnyObject,
  21317. options: CreateMediaRecorderOption
  21318. ): MediaRecorder
  21319. /** [[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)
  21320. *
  21321. * 需要基础库: `2.11.2`
  21322. *
  21323. * 在插件中使用:需要基础库 `2.11.2`
  21324. *
  21325. * 获取 NFC 实例
  21326. *
  21327. * **示例代码**
  21328. *
  21329. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/1WsbDwmb75ig) */
  21330. getNFCAdapter(): NFCAdapter
  21331. /** [[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)
  21332. *
  21333. * 需要基础库: `2.16.1`
  21334. *
  21335. * 在插件中使用:需要基础库 `2.16.1`
  21336. *
  21337. * 创建离屏 canvas 实例
  21338. *
  21339. * **离屏 Canvas 类型不可混用**
  21340. *
  21341. * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。
  21342. *
  21343. * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。
  21344. *
  21345. * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。
  21346. *
  21347. * **与 MediaRecorder 结合**
  21348. *
  21349. * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。
  21350. *
  21351. * **旧版 createOffscreenCanvas**
  21352. *
  21353. * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持
  21354. *
  21355. * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。
  21356. * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */
  21357. createOffscreenCanvas(
  21358. /** 画布宽度 */
  21359. width: number,
  21360. /** 画布高度 */
  21361. height: number,
  21362. /** 在自定义组件下,当前组件实例的 this */
  21363. component?: Component.TrivialInstance | Page.TrivialInstance
  21364. ): OffscreenCanvas
  21365. /** [[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)
  21366. *
  21367. * 需要基础库: `2.16.1`
  21368. *
  21369. * 在插件中使用:需要基础库 `2.16.1`
  21370. *
  21371. * 创建离屏 canvas 实例
  21372. *
  21373. * **离屏 Canvas 类型不可混用**
  21374. *
  21375. * 由于 webgl canvas 和 2d canvas 的底层实现方式不同,因此必须要在调用 `wx.createOffscreenCanvas` 时提前指定类型。
  21376. *
  21377. * 指定类型后,离屏 canvas `getContext(type)` 调用不允许混用,如不能对 webgl canvas 调用 `getContext('2d')`。
  21378. *
  21379. * 同样的,不同类型 canvas 调用 `createImage` 创建的图片对象也不支持混用,使用时请注意尽量使用 canvas 自身的 `createImage` 创建图片对象。
  21380. *
  21381. * **与 MediaRecorder 结合**
  21382. *
  21383. * 离屏 webgl canvas 支持作为参数传递给 [`wx.createMediaRecorder`](https://developers.weixin.qq.com/miniprogram/dev/api/media/media-recorder/wx.createMediaRecorder.html), 离屏 2d canvas 暂不支持。
  21384. *
  21385. * **旧版 createOffscreenCanvas**
  21386. *
  21387. * 旧版函数签名为 `wx.createOffscreenCanvas(width: number, height: number, this: object): OffscreenCanvas`,从基础库 2.7.0 开始支持
  21388. *
  21389. * 从基础库 2.16.1 开始改为 `wx.createOffscreenCanvas(options: object): OffscreenCanvas`,向下兼容旧版入参。
  21390. * 但需注意旧版入参只能创建 webgl 类型,如需创建 2d 类型则必须使用新版。 */
  21391. createOffscreenCanvas(
  21392. option: CreateOffscreenCanvasOption
  21393. ): OffscreenCanvas
  21394. /** [[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)
  21395. *
  21396. * 需要基础库: `2.11.0`
  21397. *
  21398. * 在插件中使用:支持
  21399. *
  21400. * 获取当前小程序性能相关的信息。关于小程序启动性能优化的更多内容,请参考[启动性能指南](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/start.html)。
  21401. *
  21402. * ****
  21403. *
  21404. * 目前支持获取以下几类性能指标,具体内容请参考 [PerformanceEntry](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html):
  21405. *
  21406. * | 指标类型(entryType) | 指标名称 | 最低版本 |
  21407. * | ------------------- | ---------------- | ------ |
  21408. * | 路由(navigation) | route: 路由性能 | |
  21409. * | 路由(navigation) | appLaunch: 小程序启动耗时 | |
  21410. * | 渲染(render) | firstRender: 页面首次渲染耗时 | |
  21411. * | 渲染(render) | firstPaint: 页面首次绘制 | <2.21.2> |
  21412. * | 渲染(render) | firstContentfulPaint: 页面首次内容绘制 | <2.21.2> |
  21413. * | 渲染(render) | largestContentfulPaint: 页面最大内容绘制 | <2.23.1> |
  21414. * | 脚本(script) | evaluateScript: 注入脚本耗时 | |
  21415. * | 包加载(loadPackage)| downloadPackage: 代码包下载耗时 | <2.24.0> |
  21416. * | 资源(resource) | resourceTiming: 视图层资源加载耗时 | <2.24.0> |
  21417. *
  21418. * **示例代码**
  21419. *
  21420. * ```js
  21421. const performance = wx.getPerformance()
  21422. const observer = performance.createObserver((entryList) => {
  21423. console.log(entryList.getEntries())
  21424. })
  21425. observer.observe({ entryTypes: ['render', 'script', 'navigation'] })
  21426. ```
  21427. *
  21428. * **注意**
  21429. *
  21430. * - 目前,当开启代码 [按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html) 时,`evaluateScript` 将仅包含公有部分代码(2.21.2 开始会区分公共部分/页面和组件的部分),页面和组件的代码注入的时间会包含在 `firstRender` 中(因为页面和组件的代码注入过程成为了首次渲染过程的一部分)。因此开启按需注入后,脚本耗时降低,渲染时间提高属于正常现象,优化效果可以关注整体启动耗时(`appLaunch`)来评估。
  21431. * - firstPaint 和 firstContentfulPaint 指标在开启 vConsole 的情况下,由于绘制 vConsole 面板,会导致数据提前。 */
  21432. getPerformance(): Performance
  21433. /** [[PreDownloadSubpackageTask](https://developers.weixin.qq.com/miniprogram/dev/api/base/subpackage/PreDownloadSubpackageTask.html) wx.preDownloadSubpackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/subpackage/wx.preDownloadSubpackage.html)
  21434. *
  21435. * 需要基础库: `2.27.3`
  21436. *
  21437. * 在插件中使用:不支持
  21438. *
  21439. * 触发分包预下载。
  21440. *
  21441. * **示例代码**
  21442. *
  21443. * ```js
  21444. // 首先要在 app.json / game.json 中配置workers作为分包
  21445. {
  21446. "workers": {
  21447. "path": "myWorkersFolder",
  21448. "isSubpackage": true // true 表示把 worker 打包为分包。默认 false。填 false 时等同于 { "workers": "myWorkersFolder" }
  21449. }
  21450. }
  21451. ```
  21452. * ```js
  21453. // 然后调用 wx.preDownloadSubpackage 下载 worker 分包,下载成功后才可以创建 worker
  21454. var task = wx.preDownloadSubpackage({
  21455. packageType: "workers",
  21456. success(res) {
  21457. console.log("load worker success", res)
  21458. wx.createWorker("myWorkersFolder/request/index.js") // 创建 worker。 如果 worker 分包没下载完就调 createWorker 的话将报错
  21459. },
  21460. fail(res) {
  21461. console.log("load worker fail", res)
  21462. }
  21463. })
  21464. task.onProgressUpdate(res => {
  21465. console.log(res.progress) // 可通过 onProgressUpdate 接口监听下载进度
  21466. console.log(res.totalBytesWritten)
  21467. console.log(res.totalBytesExpectedToWrite)
  21468. })
  21469. ``` */
  21470. preDownloadSubpackage(
  21471. option: PreDownloadSubpackageOption
  21472. ): PreDownloadSubpackageTask
  21473. /** [[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)
  21474. *
  21475. * 需要基础库: `2.7.1`
  21476. *
  21477. * 在插件中使用:需要基础库 `2.16.0`
  21478. *
  21479. * 获取实时日志管理器对象。
  21480. *
  21481. * **示例代码**
  21482. *
  21483. * ```js
  21484. // 小程序端
  21485. const logger = wx.getRealtimeLogManager()
  21486. logger.info({str: 'hello world'}, 'info log', 100, [1, 2, 3])
  21487. logger.error({str: 'hello world'}, 'error log', 100, [1, 2, 3])
  21488. logger.warn({str: 'hello world'}, 'warn log', 100, [1, 2, 3])
  21489. // 插件端,基础库 2.16.0 版本后支持,只允许采用 key-value 的新格式上报
  21490. const logManager = wx.getRealtimeLogManager()
  21491. const logger = logManager.tag('plugin-log1')
  21492. logger.info('key1', 'value1')
  21493. logger.error('key2', {str: 'value2'})
  21494. logger.warn('key3', 'value3')
  21495. ``` */
  21496. getRealtimeLogManager(): RealtimeLogManager
  21497. /** [[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)
  21498. *
  21499. * 需要基础库: `1.6.0`
  21500. *
  21501. * 在插件中使用:需要基础库 `1.9.94`
  21502. *
  21503. * 获取**全局唯一**的录音管理器 RecorderManager */
  21504. getRecorderManager(): RecorderManager
  21505. /** [[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)
  21506. *
  21507. * 在插件中使用:需要基础库 `1.9.6`
  21508. *
  21509. * 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
  21510. *
  21511. * **data 参数说明**
  21512. *
  21513. * 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:
  21514. * - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`)
  21515. * - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化
  21516. * - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)`
  21517. *
  21518. * **useHighPerformanceMode 高性能模式说明**
  21519. *
  21520. * 在该模式下,框架将会采用全新的网络请求模块,默认支持 HTTP3,可以提升小程序的网络请求性能。有以下注意事项:
  21521. * - 除声明了 `enableChunked` 后会走 HTTP1 以外,均会自动开启 HTTP2/HTTP3 等优化能力,`enableQuic`、`enableHttp2` 参数将会强制开启。建议开发者在后台服务也开启对应能力以获得更好的效果。
  21522. * - 暂仅支持 Android,iOS/PC 端设置该参数后会使用原 request 模块。iOS 会在后续支持该参数。
  21523. * - 暂不支持 forceCellularNetwork 参数。
  21524. * - 暂不支持 HttpDNS 能力。
  21525. * - 开启 `enableProfile` 后,返回的 profile 字段部分信息缺失,会被缺省值代替。缺失部分包括 redirectStart、redirectEnd、rtt、estimate_nettype、httpRttEstimate、transportRttEstimate、downstreamThroughputKbpsEstimate、throughputKbps、peerIP、port。
  21526. *
  21527. * **示例代码**
  21528. *
  21529. * ```js
  21530. wx.request({
  21531. url: 'example.php', //仅为示例,并非真实的接口地址
  21532. data: {
  21533. x: '',
  21534. y: ''
  21535. },
  21536. header: {
  21537. 'content-type': 'application/json' // 默认值
  21538. },
  21539. success (res) {
  21540. console.log(res.data)
  21541. }
  21542. })
  21543. ``` */
  21544. request<
  21545. T extends string | IAnyObject | ArrayBuffer =
  21546. | string
  21547. | IAnyObject
  21548. | ArrayBuffer
  21549. >(
  21550. option: RequestOption<T>
  21551. ): RequestTask
  21552. /** [[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)
  21553. *
  21554. * 需要基础库: `2.0.4`
  21555. *
  21556. * 在插件中使用:需要基础库 `2.8.1`
  21557. *
  21558. * 创建激励视频广告组件。请通过 [wx.getSystemInfoSync()](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html) 返回对象的 SDKVersion 判断基础库版本号后再使用该 API(小游戏端要求 >= 2.0.4, 小程序端要求 >= 2.6.0)。调用该方法创建的激励视频广告是一个单例(小游戏端是全局单例,小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。 */
  21559. createRewardedVideoAd(
  21560. option: CreateRewardedVideoAdOption
  21561. ): RewardedVideoAd
  21562. /** [[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)
  21563. *
  21564. * 需要基础库: `1.4.0`
  21565. *
  21566. * 在插件中使用:需要基础库 `1.9.6`
  21567. *
  21568. * 返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 `this.createSelectorQuery()` 来代替。
  21569. *
  21570. * **示例代码**
  21571. *
  21572. * ```js
  21573. const query = wx.createSelectorQuery()
  21574. query.select('#the-id').boundingClientRect()
  21575. query.selectViewport().scrollOffset()
  21576. query.exec(function(res){
  21577. res[0].top // #the-id节点的上边界坐标
  21578. res[1].scrollTop // 显示区域的竖直滚动位置
  21579. })
  21580. ``` */
  21581. createSelectorQuery(): SelectorQuery
  21582. /** [[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)
  21583. *
  21584. * 在插件中使用:需要基础库 `1.9.6`
  21585. *
  21586. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  21587. *
  21588. * 创建一个 WebSocket 连接。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
  21589. *
  21590. * **并发数**
  21591. *
  21592. * - 1.7.0 及以上版本,最多可以同时存在 5 个 WebSocket 连接。
  21593. * - 1.7.0 以下版本,一个小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。
  21594. *
  21595. * **示例代码**
  21596. *
  21597. * ```js
  21598. wx.connectSocket({
  21599. url: 'wss://example.qq.com',
  21600. header:{
  21601. 'content-type': 'application/json'
  21602. }
  21603. })
  21604. ``` */
  21605. connectSocket(option: ConnectSocketOption): SocketTask
  21606. /** [[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)
  21607. *
  21608. * 需要基础库: `2.18.0`
  21609. *
  21610. * 在插件中使用:支持
  21611. *
  21612. * 创建一个 TCP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
  21613. *
  21614. * **连接限制**
  21615. *
  21616. * - 允许与局域网内的非本机 IP 通信
  21617. * - 允许与配置过的服务器域名通信,详见[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)
  21618. * - 禁止与以下端口号连接:`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`
  21619. * - 每 5 分钟内最多创建 20 个 TCPSocket */
  21620. createTCPSocket(): TCPSocket
  21621. /** [[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)
  21622. *
  21623. * 需要基础库: `2.7.0`
  21624. *
  21625. * 在插件中使用:需要基础库 `2.11.1`
  21626. *
  21627. * 创建一个 UDP Socket 实例。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。 */
  21628. createUDPSocket(): UDPSocket
  21629. /** [[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)
  21630. *
  21631. * 需要基础库: `1.9.90`
  21632. *
  21633. * 在插件中使用:不支持
  21634. *
  21635. * 获取**全局唯一**的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看[运行机制](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html)文档。
  21636. *
  21637. * **示例代码**
  21638. *
  21639. * [示例代码](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#示例代码) */
  21640. getUpdateManager(): UpdateManager
  21641. /** [[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)
  21642. *
  21643. * 在插件中使用:需要基础库 `1.9.6`
  21644. *
  21645. * 将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 `content-type` 为 `multipart/form-data`。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
  21646. *
  21647. * **示例代码**
  21648. *
  21649. * ```js
  21650. wx.chooseImage({
  21651. success (res) {
  21652. const tempFilePaths = res.tempFilePaths
  21653. wx.uploadFile({
  21654. url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
  21655. filePath: tempFilePaths[0],
  21656. name: 'file',
  21657. formData: {
  21658. 'user': 'test'
  21659. },
  21660. success (res){
  21661. const data = res.data
  21662. //do something
  21663. }
  21664. })
  21665. }
  21666. })
  21667. ``` */
  21668. uploadFile(option: UploadFileOption): UploadTask
  21669. /** [[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)
  21670. *
  21671. * 需要基础库: `2.17.3`
  21672. *
  21673. * 在插件中使用:不支持
  21674. *
  21675. * 获取用户加密模块 */
  21676. getUserCryptoManager(): UserCryptoManager
  21677. /** [[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)
  21678. *
  21679. * 需要基础库: `2.20.0`
  21680. *
  21681. * 在插件中使用:需要基础库 `2.20.0`
  21682. *
  21683. * 创建 vision kit 会话对象。详见[指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/base.html)
  21684. *
  21685. * **示例代码**
  21686. *
  21687. * v1 版本:[VisionKit基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic)
  21688. * v2 版本:[VisionKit-v2基础能力使用参考](https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/visionkit-basic-v2)
  21689. * ```js
  21690. // 以下 demo 以 v2 为例
  21691. // 创建 session 对象
  21692. const ssession = wx.createVKSession({
  21693. track: {
  21694. plane: {mode: 3},
  21695. },
  21696. version: 'v2',
  21697. gl, // WebGLRenderingContext
  21698. })
  21699. // 逐帧分析
  21700. const onFrame = timestamp => {
  21701. // 开发者可以自己控制帧率
  21702. const frame = session.getVKFrame(canvasWidth, canvasHeight)
  21703. if (frame) {
  21704. // 分析完毕,可以拿到帧对象
  21705. doRender(frame)
  21706. }
  21707. session.requestAnimationFrame(onFrame)
  21708. }
  21709. session.start(err => {
  21710. if (!err) session.requestAnimationFrame(onFrame)
  21711. })
  21712. // 渲染函数
  21713. const doRender = frame => {
  21714. // ...
  21715. }
  21716. ``` */
  21717. createVKSession(option: VKConfig): VKSession
  21718. /** [[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)
  21719. *
  21720. * 在插件中使用:需要基础库 `1.9.6`
  21721. *
  21722. * 创建 [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 对象。 */
  21723. createVideoContext(
  21724. /** [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件的 id */
  21725. id: string,
  21726. /** 在自定义组件下,当前组件实例的this,以操作组件内 [video](https://developers.weixin.qq.com/miniprogram/dev/component/video.html) 组件 */
  21727. component?: Component.TrivialInstance | Page.TrivialInstance
  21728. ): VideoContext
  21729. /** [[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)
  21730. *
  21731. * 需要基础库: `2.11.0`
  21732. *
  21733. * 在插件中使用:需要基础库 `2.11.0`
  21734. *
  21735. * 创建视频解码器,可逐帧获取解码后的数据 */
  21736. createVideoDecoder(): VideoDecoder
  21737. /** [[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)
  21738. *
  21739. * 需要基础库: `2.19.0`
  21740. *
  21741. * 在插件中使用:不支持
  21742. *
  21743. * 创建 WebAudio 上下文。 */
  21744. createWebAudioContext(): WebAudioContext
  21745. /** [[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)
  21746. *
  21747. * 需要基础库: `1.9.90`
  21748. *
  21749. * 在插件中使用:需要基础库 `2.18.1`
  21750. *
  21751. * 创建一个 Worker 线程
  21752. *
  21753. * **示例代码**
  21754. *
  21755. * ```js
  21756. // 创建普通worker
  21757. wx.createWorker('workers/index.js')
  21758. ```
  21759. * ```js
  21760. function createNewWorker() {
  21761. const worker = wx.createWorker('workers/index.js', {
  21762. useExperimentalWorker: true
  21763. })
  21764. // 监听worker被系统回收事件
  21765. worker.onProcessKilled(() => {
  21766. // 重新创建一个worker
  21767. createNewWorker()
  21768. })
  21769. }
  21770. // 创建实验worker
  21771. createNewWorker()
  21772. ``` */
  21773. createWorker(
  21774. /** worker 入口文件的**绝对路径** */
  21775. scriptPath: string,
  21776. /** 可选参数 */
  21777. options?: CreateWorkerOption
  21778. ): Worker
  21779. /** [any wx.getStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageSync.html)
  21780. *
  21781. * 在插件中使用:需要基础库 `1.9.6`
  21782. *
  21783. * 从本地缓存中同步获取指定 key 的内容。
  21784. *
  21785. * **注意**
  21786. *
  21787. * storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。
  21788. *
  21789. * **示例代码**
  21790. *
  21791. * ```js
  21792. try {
  21793. var value = wx.getStorageSync('key')
  21794. if (value) {
  21795. // Do something with return value
  21796. }
  21797. } catch (e) {
  21798. // Do something when catch error
  21799. }
  21800. ``` */
  21801. getStorageSync<T = any>(
  21802. /** 本地缓存中指定的 key */
  21803. key: string
  21804. ): T
  21805. /** [boolean wx.canIUse(string schema)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.canIUse.html)
  21806. *
  21807. * 需要基础库: `1.1.1`
  21808. *
  21809. * 在插件中使用:不支持
  21810. *
  21811. * 判断小程序的API,回调,参数,组件等是否在当前版本可用。
  21812. *
  21813. * **参数说明**
  21814. *
  21815. * - `${API}` 代表 API 名字
  21816. * - `${method}` 代表调用方式,有效值为return, success, object, callback
  21817. * - `${param}` 代表参数或者返回值
  21818. * - `${option}` 代表参数的可选值或者返回值的属性
  21819. * - `${component}` 代表组件名字
  21820. * - `${attribute}` 代表组件属性
  21821. * - `${option}` 代表组件属性的可选值
  21822. *
  21823. * **示例代码**
  21824. *
  21825. * ```js
  21826. // 对象的属性或方法
  21827. wx.canIUse('console.log')
  21828. wx.canIUse('CameraContext.onCameraFrame')
  21829. wx.canIUse('CameraFrameListener.start')
  21830. wx.canIUse('Image.src')
  21831. // wx接口参数、回调或者返回值
  21832. wx.canIUse('openBluetoothAdapter')
  21833. wx.canIUse('getSystemInfoSync.return.safeArea.left')
  21834. wx.canIUse('getSystemInfo.success.screenWidth')
  21835. wx.canIUse('showToast.object.image')
  21836. wx.canIUse('onCompassChange.callback.direction')
  21837. wx.canIUse('request.object.method.GET')
  21838. // 组件的属性
  21839. wx.canIUse('live-player')
  21840. wx.canIUse('text.selectable')
  21841. wx.canIUse('button.open-type.contact')
  21842. ``` */
  21843. canIUse(
  21844. /** 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 */
  21845. schema: string
  21846. ): boolean
  21847. /** [boolean wx.checkIsPictureInPictureActive()](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.checkIsPictureInPictureActive.html)
  21848. *
  21849. * 需要基础库: `2.29.2`
  21850. *
  21851. * 在插件中使用:不支持
  21852. *
  21853. * 返回当前是否存在小窗播放(小窗在 video/live-player/live-pusher 下可用) */
  21854. checkIsPictureInPictureActive(): boolean
  21855. /** [boolean wx.isVKSupport(string version)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.isVKSupport.html)
  21856. *
  21857. * 需要基础库: `2.22.0`
  21858. *
  21859. * 在插件中使用:需要基础库 `2.22.0`
  21860. *
  21861. * 判断支持版本
  21862. *
  21863. * **示例代码**
  21864. *
  21865. * ```js
  21866. const isSupportV2 = wx.isVKSupport('v2')
  21867. ``` */
  21868. isVKSupport(
  21869. /** 参数 version 可选值:
  21870. * - 'v1': 旧版本;
  21871. * - 'v2': v2 版本,目前只有 iOS 基础库 2.22.0 以上支持; */
  21872. version: 'v1' | 'v2'
  21873. ): boolean
  21874. /** [string wx.arrayBufferToBase64(ArrayBuffer arrayBuffer)](https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html)
  21875. *
  21876. * 需要基础库: `1.1.0`
  21877. *
  21878. * 在插件中使用:支持
  21879. * @deprecated 基础库版本 [2.4.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃
  21880. *
  21881. * 将 ArrayBuffer 对象转成 Base64 字符串 */
  21882. arrayBufferToBase64(
  21883. /** 要转换成 Base64 字符串的 ArrayBuffer 对象 */
  21884. arrayBuffer: ArrayBuffer
  21885. ): string
  21886. /** [string wx.createBufferURL(ArrayBuffer|TypedArray buffer)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.createBufferURL.html)
  21887. *
  21888. * 需要基础库: `2.14.0`
  21889. *
  21890. * 在插件中使用:不支持
  21891. *
  21892. * 根据传入的 buffer 创建一个唯一的 URL 存在内存中 */
  21893. createBufferURL(
  21894. /** 需要存入内存的二进制数据 */
  21895. buffer:
  21896. | ArrayBuffer
  21897. | Int8Array
  21898. | Uint8Array
  21899. | Uint8ClampedArray
  21900. | Int16Array
  21901. | Uint16Array
  21902. | Int32Array
  21903. | Uint32Array
  21904. | Float32Array
  21905. | Float64Array
  21906. ): string
  21907. /** [string wx.getApiCategory()](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getApiCategory.html)
  21908. *
  21909. * 需要基础库: `2.33.0`
  21910. *
  21911. * 在插件中使用:不支持
  21912. *
  21913. * 获取当前 API 类别
  21914. *
  21915. * **不同 apiCategory 场景下的 API 限制**
  21916. *
  21917. * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。
  21918. *
  21919. * | | default | nativeFunctionalized | browseOnly | embedded |
  21920. * |-|-|-|-|-|
  21921. * |navigateToMiniProgram | | `X` | `X` | |
  21922. * |openSetting | | | `X` | |
  21923. * |&lt;button open-type="share"&gt; | | `X` | `X` | `X` |
  21924. * |&lt;button open-type="feedback"&gt; | | | `X` | |
  21925. * |&lt;button open-type="open-setting"&gt;| | | `X` | |
  21926. * |openEmbeddedMiniProgram | | `X` | `X` | `X` | */
  21927. getApiCategory(): string
  21928. /** [wx.addCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html)
  21929. *
  21930. * 需要基础库: `1.1.0`
  21931. *
  21932. * 在插件中使用:不支持
  21933. *
  21934. * 批量添加卡券。只有通过 [认证](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)。
  21935. *
  21936. * **cardExt 说明**
  21937. *
  21938. * cardExt 是卡券的扩展参数,其值是一个 JSON 字符串。
  21939. *
  21940. * **示例代码**
  21941. *
  21942. * ```js
  21943. wx.addCard({
  21944. cardList: [
  21945. {
  21946. cardId: '',
  21947. cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}'
  21948. }, {
  21949. cardId: '',
  21950. cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}'
  21951. }
  21952. ],
  21953. success (res) {
  21954. console.log(res.cardList) // 卡券添加结果
  21955. }
  21956. })
  21957. ``` */
  21958. addCard<T extends AddCardOption = AddCardOption>(
  21959. option: T
  21960. ): PromisifySuccessResult<T, AddCardOption>
  21961. /** [wx.addFileToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addFileToFavorites.html)
  21962. *
  21963. * 需要基础库: `2.16.1`
  21964. *
  21965. * 在插件中使用:不支持
  21966. *
  21967. * 收藏文件 */
  21968. addFileToFavorites<
  21969. T extends AddFileToFavoritesOption = AddFileToFavoritesOption
  21970. >(
  21971. option: T
  21972. ): PromisifySuccessResult<T, AddFileToFavoritesOption>
  21973. /** [wx.addPhoneCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneCalendar.html)
  21974. *
  21975. * 需要基础库: `2.15.0`
  21976. *
  21977. * 在插件中使用:不支持
  21978. *
  21979. * 向系统日历添加事件 */
  21980. addPhoneCalendar<
  21981. T extends AddPhoneCalendarOption = AddPhoneCalendarOption
  21982. >(
  21983. option: T
  21984. ): PromisifySuccessResult<T, AddPhoneCalendarOption>
  21985. /** [wx.addPhoneContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.addPhoneContact.html)
  21986. *
  21987. * 需要基础库: `1.2.0`
  21988. *
  21989. * 在插件中使用:需要基础库 `1.9.6`
  21990. *
  21991. * 添加手机通讯录联系人。用户可以选择将该表单以「新增联系人」或「添加到已有联系人」的方式,写入手机系统通讯录。 */
  21992. addPhoneContact<
  21993. T extends AddPhoneContactOption = AddPhoneContactOption
  21994. >(
  21995. option: T
  21996. ): PromisifySuccessResult<T, AddPhoneContactOption>
  21997. /** [wx.addPhoneRepeatCalendar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/calendar/wx.addPhoneRepeatCalendar.html)
  21998. *
  21999. * 需要基础库: `2.15.0`
  22000. *
  22001. * 在插件中使用:不支持
  22002. *
  22003. * 向系统日历添加重复事件 */
  22004. addPhoneRepeatCalendar<
  22005. T extends AddPhoneRepeatCalendarOption = AddPhoneRepeatCalendarOption
  22006. >(
  22007. option: T
  22008. ): PromisifySuccessResult<T, AddPhoneRepeatCalendarOption>
  22009. /** [wx.addVideoToFavorites(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/favorites/wx.addVideoToFavorites.html)
  22010. *
  22011. * 需要基础库: `2.16.1`
  22012. *
  22013. * 在插件中使用:不支持
  22014. *
  22015. * 收藏视频 */
  22016. addVideoToFavorites<
  22017. T extends AddVideoToFavoritesOption = AddVideoToFavoritesOption
  22018. >(
  22019. option: T
  22020. ): PromisifySuccessResult<T, AddVideoToFavoritesOption>
  22021. /** [wx.authPrivateMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.authPrivateMessage.html)
  22022. *
  22023. * 需要基础库: `2.13.0`
  22024. *
  22025. * 在插件中使用:不支持
  22026. *
  22027. * 验证私密消息。用法详情见 [小程序私密消息使用指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html)
  22028. *
  22029. * **示例代码**
  22030. *
  22031. * ```js
  22032. wx.authPrivateMessage({
  22033. shareTicket: 'xxxxxx',
  22034. success(res) {
  22035. console.log('authPrivateMessage success', res)
  22036. // res
  22037. // {
  22038. // errMsg: 'authPrivateMessage:ok'
  22039. // valid: true
  22040. // iv: 'xxxx',
  22041. // encryptedData: 'xxxxxx'
  22042. // }
  22043. },
  22044. fail(res) {
  22045. console.log('authPrivateMessage fail', res)
  22046. }
  22047. })
  22048. ``` */
  22049. authPrivateMessage(option?: AuthPrivateMessageOption): void
  22050. /** [wx.authorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)
  22051. *
  22052. * 需要基础库: `1.2.0`
  22053. *
  22054. * 在插件中使用:不支持
  22055. *
  22056. * 提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。更多用法详见 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)。
  22057. * > 小程序插件可以使用 [wx.authorizeForMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html)
  22058. *
  22059. * **示例代码**
  22060. *
  22061. * ```js
  22062. // 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.record" 这个 scope
  22063. wx.getSetting({
  22064. success(res) {
  22065. if (!res.authSetting['scope.record']) {
  22066. wx.authorize({
  22067. scope: 'scope.record',
  22068. success () {
  22069. // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
  22070. wx.startRecord()
  22071. }
  22072. })
  22073. }
  22074. }
  22075. })
  22076. ``` */
  22077. authorize<T extends AuthorizeOption = AuthorizeOption>(
  22078. option: T
  22079. ): PromisifySuccessResult<T, AuthorizeOption>
  22080. /** [wx.authorizeForMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.html)
  22081. *
  22082. * 需要基础库: `2.14.4`
  22083. *
  22084. * 在插件中使用:需要基础库 `2.14.4`
  22085. *
  22086. * **仅小程序插件中能调用该接口**,用法同 [wx.authorize](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/authorize/wx.authorize.html)。目前仅支持三种 scope(见下)
  22087. *
  22088. * **示例代码**
  22089. *
  22090. * ```js
  22091. wx.authorizeForMiniProgram({
  22092. scope: 'scope.record',
  22093. success () {
  22094. // 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
  22095. wx.startRecord()
  22096. }
  22097. })
  22098. ``` */
  22099. authorizeForMiniProgram(option: AuthorizeForMiniProgramOption): void
  22100. /** [wx.batchGetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchGetStorage.html)
  22101. *
  22102. * 需要基础库: `2.25.0`
  22103. *
  22104. * 在插件中使用:不支持
  22105. *
  22106. * 从本地缓存中异步批量获取指定 key 的内容。
  22107. *
  22108. * **示例代码**
  22109. *
  22110. * ```js
  22111. wx.batchGetStorage({
  22112. keyList: ['key'],
  22113. success (res) {
  22114. console.log(res)
  22115. }
  22116. })
  22117. ``` */
  22118. batchGetStorage<
  22119. T extends BatchGetStorageOption = BatchGetStorageOption
  22120. >(
  22121. option: T
  22122. ): PromisifySuccessResult<T, BatchGetStorageOption>
  22123. /** [wx.batchSetStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorage.html)
  22124. *
  22125. * 需要基础库: `2.25.0`
  22126. *
  22127. * 在插件中使用:不支持
  22128. *
  22129. * 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
  22130. *
  22131. * **示例代码**
  22132. *
  22133. * ```js
  22134. wx.setStorage({
  22135. key:"key",
  22136. data:"value"
  22137. })
  22138. ```
  22139. *
  22140. * ```js
  22141. // 开启加密存储
  22142. wx.batchSetStorage({
  22143. kvList: [{
  22144. key: 'key',
  22145. value: 'value',
  22146. }],
  22147. })
  22148. ``` */
  22149. batchSetStorage<
  22150. T extends BatchSetStorageOption = BatchSetStorageOption
  22151. >(
  22152. option: T
  22153. ): PromisifySuccessResult<T, BatchSetStorageOption>
  22154. /** [wx.batchSetStorageSync(Array.&lt;Object&gt; kvList)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.batchSetStorageSync.html)
  22155. *
  22156. * 需要基础库: `2.25.0`
  22157. *
  22158. * 在插件中使用:不支持
  22159. *
  22160. * 将数据批量存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
  22161. *
  22162. * **示例代码**
  22163. *
  22164. * ```js
  22165. try {
  22166. wx.batchSetStorageSync([{key: 'key', value: 'value'}])
  22167. } catch (e) { }
  22168. ``` */
  22169. batchSetStorageSync(kvList: KvList[]): void
  22170. /** [wx.canvasGetImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasGetImageData.html)
  22171. *
  22172. * 需要基础库: `1.9.0`
  22173. *
  22174. * 在插件中使用:需要基础库 `1.9.6`
  22175. *
  22176. * 获取 canvas 区域隐含的像素数据。
  22177. *
  22178. * **示例代码**
  22179. *
  22180. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/yufmRjmZ7W8f)
  22181. *
  22182. * ```js
  22183. wx.canvasGetImageData({
  22184. canvasId: 'myCanvas',
  22185. x: 0,
  22186. y: 0,
  22187. width: 100,
  22188. height: 100,
  22189. success(res) {
  22190. console.log(res.width) // 100
  22191. console.log(res.height) // 100
  22192. console.log(res.data instanceof Uint8ClampedArray) // true
  22193. console.log(res.data.length) // 100 * 100 * 4
  22194. }
  22195. })
  22196. ``` */
  22197. canvasGetImageData<
  22198. T extends CanvasGetImageDataOption = CanvasGetImageDataOption
  22199. >(
  22200. option: T,
  22201. /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */
  22202. component?: Component.TrivialInstance | Page.TrivialInstance
  22203. ): PromisifySuccessResult<T, CanvasGetImageDataOption>
  22204. /** [wx.canvasPutImageData(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasPutImageData.html)
  22205. *
  22206. * 需要基础库: `1.9.0`
  22207. *
  22208. * 在插件中使用:需要基础库 `1.9.6`
  22209. *
  22210. * 将像素数据绘制到画布。在自定义组件下,第二个参数传入自定义组件实例 this,以操作组件内 <canvas> 组件 */
  22211. canvasPutImageData<
  22212. T extends CanvasPutImageDataOption = CanvasPutImageDataOption
  22213. >(
  22214. option: T,
  22215. /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */
  22216. component?: Component.TrivialInstance | Page.TrivialInstance
  22217. ): PromisifySuccessResult<T, CanvasPutImageDataOption>
  22218. /** [wx.canvasToTempFilePath(Object object, Object this)](https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.canvasToTempFilePath.html)
  22219. *
  22220. * 在插件中使用:需要基础库 `1.9.6`
  22221. *
  22222. * 把当前画布指定区域的内容导出生成指定大小的图片。在 `draw()` 回调里调用该方法才能保证图片导出成功。 */
  22223. canvasToTempFilePath<
  22224. T extends CanvasToTempFilePathOption = CanvasToTempFilePathOption
  22225. >(
  22226. option: T,
  22227. /** 在自定义组件下,当前组件实例的this,以操作组件内 [canvas](https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html) 组件 */
  22228. component?: Component.TrivialInstance | Page.TrivialInstance
  22229. ): PromisifySuccessResult<T, CanvasToTempFilePathOption>
  22230. /** [wx.checkIsAddedToMyMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/my-miniprogram/wx.checkIsAddedToMyMiniProgram.html)
  22231. *
  22232. * 需要基础库: `2.29.1`
  22233. *
  22234. * 在插件中使用:不支持
  22235. *
  22236. * 检查小程序是否被添加至 「我的小程序」 */
  22237. checkIsAddedToMyMiniProgram(
  22238. option: CheckIsAddedToMyMiniProgramOption
  22239. ): void
  22240. /** [wx.checkIsOpenAccessibility(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accessibility/wx.checkIsOpenAccessibility.html)
  22241. *
  22242. * 需要基础库: `2.13.0`
  22243. *
  22244. * 在插件中使用:不支持
  22245. *
  22246. * 检测是否开启视觉无障碍功能。 */
  22247. checkIsOpenAccessibility<
  22248. T extends CheckIsOpenAccessibilityOption = CheckIsOpenAccessibilityOption
  22249. >(
  22250. option?: T
  22251. ): PromisifySuccessResult<T, CheckIsOpenAccessibilityOption>
  22252. /** [wx.checkIsSoterEnrolledInDevice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSoterEnrolledInDevice.html)
  22253. *
  22254. * 需要基础库: `1.6.0`
  22255. *
  22256. * 在插件中使用:不支持
  22257. *
  22258. * 获取设备内是否录入如指纹等生物信息的接口
  22259. *
  22260. * **示例代码**
  22261. *
  22262. * ```js
  22263. wx.checkIsSoterEnrolledInDevice({
  22264. checkAuthMode: 'fingerPrint',
  22265. success(res) {
  22266. console.log(res.isEnrolled)
  22267. }
  22268. })
  22269. ``` */
  22270. checkIsSoterEnrolledInDevice<
  22271. T extends CheckIsSoterEnrolledInDeviceOption = CheckIsSoterEnrolledInDeviceOption
  22272. >(
  22273. option: T
  22274. ): PromisifySuccessResult<T, CheckIsSoterEnrolledInDeviceOption>
  22275. /** [wx.checkIsSupportSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.checkIsSupportSoterAuthentication.html)
  22276. *
  22277. * 需要基础库: `1.5.0`
  22278. *
  22279. * 在插件中使用:不支持
  22280. *
  22281. * 获取本机支持的 SOTER 生物认证方式
  22282. *
  22283. * **示例代码**
  22284. *
  22285. * ```js
  22286. wx.checkIsSupportSoterAuthentication({
  22287. success(res) {
  22288. // res.supportMode = [] 不具备任何被SOTER支持的生物识别方式
  22289. // res.supportMode = ['fingerPrint'] 只支持指纹识别
  22290. // res.supportMode = ['fingerPrint', 'facial'] 支持指纹识别和人脸识别
  22291. }
  22292. })
  22293. ``` */
  22294. checkIsSupportSoterAuthentication<
  22295. T extends CheckIsSupportSoterAuthenticationOption = CheckIsSupportSoterAuthenticationOption
  22296. >(
  22297. option?: T
  22298. ): PromisifySuccessResult<T, CheckIsSupportSoterAuthenticationOption>
  22299. /** [wx.checkSession(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.checkSession.html)
  22300. *
  22301. * 在插件中使用:不支持
  22302. *
  22303. * 检查登录态 session_key 是否过期。
  22304. *
  22305. * session_key 具有唯一性,在使用小程序时,同一用户在同一时刻仅有一个有效的 session_key。
  22306. *
  22307. * 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能过期。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。除了过期失效外,触发获取临时登录凭证 code 的操作([小程序登录](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html) 和 [数据预拉取](#))可能会生成新的登录态session_key,从而使旧的 session_key 被顶替而失效。
  22308. *
  22309. * 开发者可以调用 wx.checkSession 接口检测用户登录态是否过期。**注意,wx.checkSession 的校验对象是最后一次获取 code 操作对应的登录态 session_key**,调用成功说明该 session_key 未过期,调用失败说明 session_key 已过期。如果要校验指定的 session_key 是否有效,可以在开发者服务器后台调用 [checkSessionKey](https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/checkSessionKey.html)。
  22310. *
  22311. * 登录态失效后开发者可以再调用 wx.login 获取新的用户登录态。
  22312. *
  22313. * **示例代码**
  22314. *
  22315. * ```js
  22316. wx.checkSession({
  22317. success () {
  22318. //session_key 未过期,并且在本生命周期一直有效
  22319. },
  22320. fail () {
  22321. // session_key 已经失效,需要重新执行登录流程
  22322. wx.login() //重新登录
  22323. }
  22324. })
  22325. ``` */
  22326. checkSession<T extends CheckSessionOption = CheckSessionOption>(
  22327. option?: T
  22328. ): PromisifySuccessResult<T, CheckSessionOption>
  22329. /** [wx.chooseAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/address/wx.chooseAddress.html)
  22330. *
  22331. * 需要基础库: `1.1.0`
  22332. *
  22333. * 在插件中使用:需要基础库 `2.16.1`
  22334. *
  22335. * 获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。
  22336. * ## 使用方法
  22337. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  22338. * ## 申请开通
  22339. * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
  22340. * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  22341. *
  22342. * **示例代码**
  22343. *
  22344. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/024hHnmd772y)
  22345. * ```js
  22346. wx.chooseAddress({
  22347. success (res) {
  22348. console.log(res.userName)
  22349. console.log(res.postalCode)
  22350. console.log(res.provinceName)
  22351. console.log(res.cityName)
  22352. console.log(res.countyName)
  22353. console.log(res.detailInfo)
  22354. console.log(res.nationalCode)
  22355. console.log(res.telNumber)
  22356. }
  22357. })
  22358. ``` */
  22359. chooseAddress<T extends ChooseAddressOption = ChooseAddressOption>(
  22360. option?: T
  22361. ): PromisifySuccessResult<T, ChooseAddressOption>
  22362. /** [wx.chooseContact(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/contact/wx.chooseContact.html)
  22363. *
  22364. * 需要基础库: `2.8.0`
  22365. *
  22366. * 在插件中使用:不支持
  22367. *
  22368. * 拉起手机通讯录,选择联系人。 */
  22369. chooseContact(option?: ChooseContactOption): void
  22370. /** [wx.chooseImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html)
  22371. *
  22372. * 在插件中使用:需要基础库 `1.9.6`
  22373. * @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) 替换
  22374. *
  22375. * 从本地相册选择图片或使用相机拍照。
  22376. *
  22377. * ****
  22378. *
  22379. * ```js
  22380. wx.chooseImage({
  22381. count: 1,
  22382. sizeType: ['original', 'compressed'],
  22383. sourceType: ['album', 'camera'],
  22384. success (res) {
  22385. // tempFilePath可以作为img标签的src属性显示图片
  22386. const tempFilePaths = res.tempFilePaths
  22387. }
  22388. })
  22389. ``` */
  22390. chooseImage<T extends ChooseImageOption = ChooseImageOption>(
  22391. option?: T
  22392. ): PromisifySuccessResult<T, ChooseImageOption>
  22393. /** [wx.chooseInvoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoice.html)
  22394. *
  22395. * 需要基础库: `2.3.0`
  22396. *
  22397. * 在插件中使用:需要基础库 `2.16.1`
  22398. *
  22399. * 选择用户已有的发票。
  22400. *
  22401. * **通过 cardId 和 encryptCode 获得报销发票的信息**
  22402. *
  22403. * 请参考[微信电子发票文档](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=21517918939oae3U)中,「查询报销发票信息」部分。
  22404. * 其中 `access_token` 的获取请参考[auth.getAccessToken](#)文档 */
  22405. chooseInvoice<T extends ChooseInvoiceOption = ChooseInvoiceOption>(
  22406. option?: T
  22407. ): PromisifySuccessResult<T, ChooseInvoiceOption>
  22408. /** [wx.chooseInvoiceTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.html)
  22409. *
  22410. * 需要基础库: `1.5.0`
  22411. *
  22412. * 在插件中使用:需要基础库 `2.16.1`
  22413. *
  22414. * 选择用户的发票抬头。当前小程序必须关联一个公众号,且这个公众号是完成了[微信认证](https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496554031_RD4xe)的,才能调用 chooseInvoiceTitle。
  22415. *
  22416. * **示例代码**
  22417. *
  22418. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/GJ4S9nmQ7x2E)
  22419. *
  22420. * ```js
  22421. wx.chooseInvoiceTitle({
  22422. success(res) {}
  22423. })
  22424. ``` */
  22425. chooseInvoiceTitle<
  22426. T extends ChooseInvoiceTitleOption = ChooseInvoiceTitleOption
  22427. >(
  22428. option?: T
  22429. ): PromisifySuccessResult<T, ChooseInvoiceTitleOption>
  22430. /** [wx.chooseLicensePlate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/license-plate/wx.chooseLicensePlate.html)
  22431. *
  22432. * 需要基础库: `2.19.0`
  22433. *
  22434. * 在插件中使用:不支持
  22435. *
  22436. * 选择车牌号 */
  22437. chooseLicensePlate<
  22438. T extends ChooseLicensePlateOption = ChooseLicensePlateOption
  22439. >(
  22440. option?: T
  22441. ): PromisifySuccessResult<T, ChooseLicensePlateOption>
  22442. /** [wx.chooseLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.chooseLocation.html)
  22443. *
  22444. * 在插件中使用:需要基础库 `1.9.6`
  22445. *
  22446. * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)**
  22447. *
  22448. * 打开地图选择位置。
  22449. * ## 使用方法
  22450. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  22451. * ## 申请开通
  22452. * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
  22453. * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  22454. *
  22455. * **示例**
  22456. *
  22457. * ![](https://res.wx.qq.com/op_res/WDFC8aB4FI8rJ9oEmbYfbH_Fl3EIv91471YVxezVfLRESkUuCgfODZcbOoyteKU4j-OLZa2EFKY9BDPd3g-tfg#width:260px) */
  22458. chooseLocation<T extends ChooseLocationOption = ChooseLocationOption>(
  22459. option: T
  22460. ): PromisifySuccessResult<T, ChooseLocationOption>
  22461. /** [wx.chooseMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseMedia.html)
  22462. *
  22463. * 需要基础库: `2.10.0`
  22464. *
  22465. * 在插件中使用:需要基础库 `2.11.1`
  22466. *
  22467. * 拍摄或从手机相册中选择图片或视频。
  22468. *
  22469. * **示例代码**
  22470. *
  22471. * ```js
  22472. wx.chooseMedia({
  22473. count: 9,
  22474. mediaType: ['image','video'],
  22475. sourceType: ['album', 'camera'],
  22476. maxDuration: 30,
  22477. camera: 'back',
  22478. success(res) {
  22479. console.log(res.tempFiles[0].tempFilePath)
  22480. console.log(res.tempFiles[0].size)
  22481. }
  22482. })
  22483. ``` */
  22484. chooseMedia<T extends ChooseMediaOption = ChooseMediaOption>(
  22485. option: T
  22486. ): PromisifySuccessResult<T, ChooseMediaOption>
  22487. /** [wx.chooseMessageFile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseMessageFile.html)
  22488. *
  22489. * 需要基础库: `2.5.0`
  22490. *
  22491. * 在插件中使用:不支持
  22492. *
  22493. * 从客户端会话选择文件。
  22494. *
  22495. * ****
  22496. *
  22497. * ```js
  22498. wx.chooseMessageFile({
  22499. count: 10,
  22500. type: 'image',
  22501. success (res) {
  22502. // tempFilePath可以作为img标签的src属性显示图片
  22503. const tempFilePaths = res.tempFiles
  22504. }
  22505. })
  22506. ``` */
  22507. chooseMessageFile<
  22508. T extends ChooseMessageFileOption = ChooseMessageFileOption
  22509. >(
  22510. option: T
  22511. ): PromisifySuccessResult<T, ChooseMessageFileOption>
  22512. /** [wx.choosePoi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.choosePoi.html)
  22513. *
  22514. * 在插件中使用:不支持
  22515. *
  22516. * @warning **为确保选择地理位置接口的合理使用,位置接口调整参考 [选择地理位置接口调整公告](https://developers.weixin.qq.com/community/develop/doc/0006e45df2cac030e6edf367c56001)**
  22517. *
  22518. * 打开POI列表选择位置,支持模糊定位(精确到市)和精确定位混选。
  22519. * ## 使用方法
  22520. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  22521. * ## 申请开通
  22522. * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
  22523. * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  22524. *
  22525. * **示例**
  22526. *
  22527. * ![](https://res.wx.qq.com/op_res/lzDsNyBNifLczyLX0ms7ZpPQysgAgdhrQTGzzTQPiXkAB2HJIf1Slvl4rnN9I1q0AT3xqoGTg98jMsNexDLbbA#width:260px) */
  22528. choosePoi<T extends ChoosePoiOption = ChoosePoiOption>(
  22529. option: T
  22530. ): PromisifySuccessResult<T, ChoosePoiOption>
  22531. /** [wx.chooseVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.chooseVideo.html)
  22532. *
  22533. * 在插件中使用:需要基础库 `1.9.6`
  22534. * @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) 替换
  22535. *
  22536. * 拍摄视频或从手机相册中选视频。
  22537. *
  22538. * **示例代码**
  22539. *
  22540. * ```js
  22541. wx.chooseVideo({
  22542. sourceType: ['album','camera'],
  22543. maxDuration: 60,
  22544. camera: 'back',
  22545. success(res) {
  22546. console.log(res.tempFilePath)
  22547. }
  22548. })
  22549. ``` */
  22550. chooseVideo<T extends ChooseVideoOption = ChooseVideoOption>(
  22551. option: T
  22552. ): PromisifySuccessResult<T, ChooseVideoOption>
  22553. /** [wx.clearStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html)
  22554. *
  22555. * 在插件中使用:不支持
  22556. *
  22557. * 清理本地数据缓存。
  22558. *
  22559. * **示例代码**
  22560. *
  22561. * ```js
  22562. wx.clearStorage()
  22563. ```
  22564. *
  22565. * ```js
  22566. try {
  22567. wx.clearStorageSync()
  22568. } catch(e) {
  22569. // Do something when catch error
  22570. }
  22571. ``` */
  22572. clearStorage<T extends ClearStorageOption = ClearStorageOption>(
  22573. option?: T
  22574. ): PromisifySuccessResult<T, ClearStorageOption>
  22575. /** [wx.clearStorageSync()](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorageSync.html)
  22576. *
  22577. * 在插件中使用:不支持
  22578. *
  22579. * [wx.clearStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.clearStorage.html) 的同步版本
  22580. *
  22581. * **示例代码**
  22582. *
  22583. * ```js
  22584. wx.clearStorage()
  22585. ```
  22586. *
  22587. * ```js
  22588. try {
  22589. wx.clearStorageSync()
  22590. } catch(e) {
  22591. // Do something when catch error
  22592. }
  22593. ``` */
  22594. clearStorageSync(): void
  22595. /** [wx.closeBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.closeBLEConnection.html)
  22596. *
  22597. * 需要基础库: `1.1.0`
  22598. *
  22599. * 在插件中使用:需要基础库 `1.9.6`
  22600. *
  22601. * 断开与蓝牙低功耗设备的连接。
  22602. *
  22603. * **示例代码**
  22604. *
  22605. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22606. * ```js
  22607. wx.closeBLEConnection({
  22608. deviceId,
  22609. success (res) {
  22610. console.log(res)
  22611. }
  22612. })
  22613. ``` */
  22614. closeBLEConnection<
  22615. T extends CloseBLEConnectionOption = CloseBLEConnectionOption
  22616. >(
  22617. option: T
  22618. ): PromisifySuccessResult<T, CloseBLEConnectionOption>
  22619. /** [wx.closeBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html)
  22620. *
  22621. * 需要基础库: `1.1.0`
  22622. *
  22623. * 在插件中使用:需要基础库 `1.9.6`
  22624. *
  22625. * 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 成对调用。
  22626. *
  22627. * **示例代码**
  22628. *
  22629. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22630. * ```js
  22631. wx.closeBluetoothAdapter({
  22632. success (res) {
  22633. console.log(res)
  22634. }
  22635. })
  22636. ``` */
  22637. closeBluetoothAdapter<
  22638. T extends CloseBluetoothAdapterOption = CloseBluetoothAdapterOption
  22639. >(
  22640. option?: T
  22641. ): PromisifySuccessResult<T, CloseBluetoothAdapterOption>
  22642. /** [wx.closeSocket(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.closeSocket.html)
  22643. *
  22644. * 在插件中使用:不支持
  22645. *
  22646. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  22647. *
  22648. * 关闭 WebSocket 连接。
  22649. *
  22650. * **示例代码**
  22651. *
  22652. * ```js
  22653. wx.connectSocket({
  22654. url: 'test.php'
  22655. })
  22656. //注意这里有时序问题,
  22657. //如果 wx.connectSocket 还没回调 wx.onSocketOpen,而先调用 wx.closeSocket,那么就做不到关闭 WebSocket 的目的。
  22658. //必须在 WebSocket 打开期间调用 wx.closeSocket 才能关闭。
  22659. wx.onSocketOpen(function() {
  22660. wx.closeSocket()
  22661. })
  22662. wx.onSocketClose(function(res) {
  22663. console.log('WebSocket 已关闭!')
  22664. })
  22665. ``` */
  22666. closeSocket<T extends CloseSocketOption = CloseSocketOption>(
  22667. option?: T
  22668. ): PromisifySuccessResult<T, CloseSocketOption>
  22669. /** [wx.compressImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.compressImage.html)
  22670. *
  22671. * 需要基础库: `2.4.0`
  22672. *
  22673. * 在插件中使用:需要基础库 `2.12.0`
  22674. *
  22675. * 压缩图片接口,可选压缩质量。iOS 仅支持压缩 JPG 格式图片。
  22676. *
  22677. * **示例代码**
  22678. *
  22679. * ```js
  22680. wx.compressImage({
  22681. src: '', // 图片路径
  22682. quality: 80 // 压缩质量
  22683. })
  22684. ``` */
  22685. compressImage<T extends CompressImageOption = CompressImageOption>(
  22686. option: T
  22687. ): PromisifySuccessResult<T, CompressImageOption>
  22688. /** [wx.compressVideo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.compressVideo.html)
  22689. *
  22690. * 需要基础库: `2.11.0`
  22691. *
  22692. * 在插件中使用:需要基础库 `2.11.1`
  22693. *
  22694. * 压缩视频接口。开发者可指定压缩质量 `quality` 进行压缩。当需要更精细的控制时,可指定 `bitrate`、`fps`、和 `resolution`,当 `quality` 传入时,这三个参数将被忽略。原视频的相关信息可通过 [getVideoInfo](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html) 获取。 */
  22695. compressVideo<T extends CompressVideoOption = CompressVideoOption>(
  22696. option: T
  22697. ): PromisifySuccessResult<T, CompressVideoOption>
  22698. /** [wx.connectWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.connectWifi.html)
  22699. *
  22700. * 需要基础库: `1.6.0`
  22701. *
  22702. * 在插件中使用:需要基础库 `2.9.1`
  22703. *
  22704. * 连接 Wi-Fi。若已知 Wi-Fi 信息,可以直接利用该接口连接。仅 Android 与 iOS 11 以上版本支持。
  22705. *
  22706. * **示例代码**
  22707. *
  22708. * ```js
  22709. wx.connectWifi({
  22710. SSID: '',
  22711. password: '',
  22712. success (res) {
  22713. console.log(res.errMsg)
  22714. }
  22715. })
  22716. ```
  22717. *
  22718. * **注意**
  22719. *
  22720. * - Android 微信客户端 7.0.22 以上版本,connectWifi 的实现在 Android 10 及以上的手机无法生效,对于 Android 10 及以上版本,设备连接 wifi 之后,(受系统能力限制)其他进程无法使用当前连接的 wifi ;即连接上的 wifi 只对当前小程序有效,如果想要对整个系统生效,需要配置 maunal 来连接 wifi。
  22721. * - iOS 系统底层没有给开发者提供因 wifi 密码错误而连接失败的事件,但用户可以收到密码错误的系统弹窗。建议开发者通过 onWifiConnected 事件来判断 wifi 是否连接成功;即设置定时器,若超时后仍没有 onWifiConnected 事件,则认定此次 wifi 连接无效。
  22722. * - Android / iOS 在系统已经连上目标 wifi 的情况下,小程序再次连接目标 wifi,此时无论输入的密码是否正确,系统都会默认此次连接成功,且没有 onWifiConnected 事件。
  22723. * - onWifiConnected 事件可能会返回空对象,此时代表 wifi 断开连接,开发者可忽略这种情况。 */
  22724. connectWifi<T extends ConnectWifiOption = ConnectWifiOption>(
  22725. option: T
  22726. ): PromisifySuccessResult<T, ConnectWifiOption>
  22727. /** [wx.createBLEConnection(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html)
  22728. *
  22729. * 需要基础库: `1.1.0`
  22730. *
  22731. * 在插件中使用:需要基础库 `1.9.6`
  22732. *
  22733. * 连接蓝牙低功耗设备。
  22734. *
  22735. * 若小程序在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需再次进行搜索操作。
  22736. *
  22737. * **注意**
  22738. *
  22739. * - 请保证尽量成对的调用 [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` 的时候并不能真正的断开与设备的连接。
  22740. * - 蓝牙连接随时可能断开,建议监听 [wx.onBLEConnectionStateChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html) 回调事件,当蓝牙设备断开时按需执行重连操作
  22741. * - 若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。
  22742. *
  22743. * **示例代码**
  22744. *
  22745. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22746. * ```js
  22747. wx.createBLEConnection({
  22748. deviceId,
  22749. success (res) {
  22750. console.log(res)
  22751. }
  22752. })
  22753. ``` */
  22754. createBLEConnection<
  22755. T extends CreateBLEConnectionOption = CreateBLEConnectionOption
  22756. >(
  22757. option: T
  22758. ): PromisifySuccessResult<T, CreateBLEConnectionOption>
  22759. /** [wx.createBLEPeripheralServer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.createBLEPeripheralServer.html)
  22760. *
  22761. * 需要基础库: `2.10.3`
  22762. *
  22763. * 在插件中使用:需要基础库 `2.22.1`
  22764. *
  22765. * 建立本地作为蓝牙低功耗外围设备的服务端,可创建多个。 */
  22766. createBLEPeripheralServer<
  22767. T extends CreateBLEPeripheralServerOption = CreateBLEPeripheralServerOption
  22768. >(
  22769. option?: T
  22770. ): PromisifySuccessResult<T, CreateBLEPeripheralServerOption>
  22771. /** [wx.cropImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.cropImage.html)
  22772. *
  22773. * 需要基础库: `2.26.0`
  22774. *
  22775. * 在插件中使用:不支持
  22776. *
  22777. * 裁剪图片接口
  22778. *
  22779. * **示例代码**
  22780. *
  22781. * ```js
  22782. wx.cropImage({
  22783. src: '', // 图片路径
  22784. cropScale: '16:9', // 裁剪比例
  22785. })
  22786. ``` */
  22787. cropImage(option: CropImageOption): void
  22788. /** [wx.disableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.disableAlertBeforeUnload.html)
  22789. *
  22790. * 需要基础库: `2.12.0`
  22791. *
  22792. * 在插件中使用:不支持
  22793. *
  22794. * 关闭小程序页面返回询问对话框。 */
  22795. disableAlertBeforeUnload(option?: DisableAlertBeforeUnloadOption): void
  22796. /** [wx.editImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.editImage.html)
  22797. *
  22798. * 需要基础库: `2.22.0`
  22799. *
  22800. * 在插件中使用:不支持
  22801. *
  22802. * 编辑图片接口
  22803. *
  22804. * **示例代码**
  22805. *
  22806. * ```js
  22807. wx.editImage({
  22808. src: '', // 图片路径
  22809. })
  22810. ``` */
  22811. editImage(option: EditImageOption): void
  22812. /** [wx.enableAlertBeforeUnload(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.enableAlertBeforeUnload.html)
  22813. *
  22814. * 需要基础库: `2.12.0`
  22815. *
  22816. * 在插件中使用:不支持
  22817. *
  22818. * 开启小程序页面返回询问对话框。
  22819. *
  22820. * ## 弹窗条件
  22821. * * 当用户在小程序内非首页页面/最底层页
  22822. * * 官方导航栏上的的返回
  22823. * * 全屏模式下自绘返回键
  22824. * * android 系统 back 键时
  22825. *
  22826. * ## 注意事项
  22827. * * 手势滑动返回时不做拦截
  22828. * * 在任何场景下,此功能都不应拦住用户退出小程序的行为
  22829. *
  22830. * **示例代码**
  22831. *
  22832. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/MTPm9Cmh7VfT) */
  22833. enableAlertBeforeUnload(option: EnableAlertBeforeUnloadOption): void
  22834. /** [wx.exitMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.exitMiniProgram.html)
  22835. *
  22836. * 需要基础库: `2.17.3`
  22837. *
  22838. * 在插件中使用:需要基础库 `2.30.1`
  22839. *
  22840. * 退出当前小程序。必须有点击行为才能调用成功。 */
  22841. exitMiniProgram<
  22842. T extends ExitMiniProgramOption = ExitMiniProgramOption
  22843. >(
  22844. option?: T
  22845. ): PromisifySuccessResult<T, ExitMiniProgramOption>
  22846. /** [wx.exitVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.exitVoIPChat.html)
  22847. *
  22848. * 需要基础库: `2.7.0`
  22849. *
  22850. * 在插件中使用:需要基础库 `2.9.0`
  22851. *
  22852. * 退出(销毁)实时语音通话 */
  22853. exitVoIPChat<T extends ExitVoIPChatOption = ExitVoIPChatOption>(
  22854. option?: T
  22855. ): PromisifySuccessResult<T, ExitVoIPChatOption>
  22856. /** [wx.faceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.faceDetect.html)
  22857. *
  22858. * 需要基础库: `2.18.0`
  22859. *
  22860. * 在插件中使用:需要基础库 `2.21.3`
  22861. *
  22862. * @warning **该接口已停止维护,推荐使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 代替**
  22863. *
  22864. * 人脸检测,使用前需要通过 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)
  22865. *
  22866. * ****
  22867. *
  22868. * ### 特别说明
  22869. * 若小程序人脸识别功能涉及采集、存储用户生物特征(如人脸照片或视频、身份证和手持身份证、身份证照和免冠照等),此类型服务需使用[微信原生人脸识别接口](https://developers.weixin.qq.com/community/develop/doc/000442d352c1202bd498ecb105c00d?highline=%E4%BA%BA%E8%84%B8%E6%A0%B8%E8%BA%AB)。 */
  22870. faceDetect(option: FaceDetectOption): void
  22871. /** [wx.getAvailableAudioSources(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.getAvailableAudioSources.html)
  22872. *
  22873. * 需要基础库: `2.1.0`
  22874. *
  22875. * 在插件中使用:需要基础库 `2.15.0`
  22876. *
  22877. * 获取当前支持的音频输入源 */
  22878. getAvailableAudioSources<
  22879. T extends GetAvailableAudioSourcesOption = GetAvailableAudioSourcesOption
  22880. >(
  22881. option?: T
  22882. ): PromisifySuccessResult<T, GetAvailableAudioSourcesOption>
  22883. /** [wx.getBLEDeviceCharacteristics(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceCharacteristics.html)
  22884. *
  22885. * 需要基础库: `1.1.0`
  22886. *
  22887. * 在插件中使用:需要基础库 `1.9.6`
  22888. *
  22889. * 获取蓝牙低功耗设备某个服务中所有特征 (characteristic)。
  22890. *
  22891. * **示例代码**
  22892. *
  22893. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22894. * ```js
  22895. wx.getBLEDeviceCharacteristics({
  22896. // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立链接
  22897. deviceId,
  22898. // 这里的 serviceId 需要在 wx.getBLEDeviceServices 接口中获取
  22899. serviceId,
  22900. success (res) {
  22901. console.log('device getBLEDeviceCharacteristics:', res.characteristics)
  22902. }
  22903. })
  22904. ``` */
  22905. getBLEDeviceCharacteristics<
  22906. T extends GetBLEDeviceCharacteristicsOption = GetBLEDeviceCharacteristicsOption
  22907. >(
  22908. option: T
  22909. ): PromisifySuccessResult<T, GetBLEDeviceCharacteristicsOption>
  22910. /** [wx.getBLEDeviceRSSI(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceRSSI.html)
  22911. *
  22912. * 需要基础库: `2.11.0`
  22913. *
  22914. * 在插件中使用:需要基础库 `2.11.0`
  22915. *
  22916. * 获取蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI)。 */
  22917. getBLEDeviceRSSI<
  22918. T extends GetBLEDeviceRSSIOption = GetBLEDeviceRSSIOption
  22919. >(
  22920. option: T
  22921. ): PromisifySuccessResult<T, GetBLEDeviceRSSIOption>
  22922. /** [wx.getBLEDeviceServices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEDeviceServices.html)
  22923. *
  22924. * 需要基础库: `1.1.0`
  22925. *
  22926. * 在插件中使用:需要基础库 `1.9.6`
  22927. *
  22928. * 获取蓝牙低功耗设备所有服务 (service)。
  22929. *
  22930. * **示例代码**
  22931. *
  22932. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22933. * ```js
  22934. wx.getBLEDeviceServices({
  22935. // 这里的 deviceId 需要已经通过 wx.createBLEConnection 与对应设备建立连接
  22936. deviceId,
  22937. success (res) {
  22938. console.log('device services:', res.services)
  22939. }
  22940. })
  22941. ``` */
  22942. getBLEDeviceServices<
  22943. T extends GetBLEDeviceServicesOption = GetBLEDeviceServicesOption
  22944. >(
  22945. option: T
  22946. ): PromisifySuccessResult<T, GetBLEDeviceServicesOption>
  22947. /** [wx.getBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.getBLEMTU.html)
  22948. *
  22949. * 需要基础库: `2.20.1`
  22950. *
  22951. * 在插件中使用:需要基础库 `2.20.1`
  22952. *
  22953. * 获取蓝牙低功耗的最大传输单元。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。
  22954. *
  22955. * **注意**
  22956. *
  22957. * - 小程序中 MTU 为 ATT_MTU,包含 Op-Code 和 Attribute Handle 的长度,实际可以传输的数据长度为 `ATT_MTU - 3`
  22958. * - iOS 系统中 MTU 为固定值;安卓系统中,MTU 会在系统协商成功之后发生改变,建议使用 [wx.onBLEMTUChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html) 监听。
  22959. *
  22960. * **示例代码**
  22961. *
  22962. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  22963. * ```js
  22964. wx.getBLEMTU({
  22965. deviceId: '',
  22966. writeType: 'write',
  22967. success (res) {
  22968. console.log(res)
  22969. }
  22970. })
  22971. ``` */
  22972. getBLEMTU<T extends GetBLEMTUOption = GetBLEMTUOption>(
  22973. option: T
  22974. ): PromisifySuccessResult<T, GetBLEMTUOption>
  22975. /** [wx.getBackgroundAudioPlayerState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.getBackgroundAudioPlayerState.html)
  22976. *
  22977. * 在插件中使用:需要基础库 `1.9.6`
  22978. * @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) 替换
  22979. *
  22980. * 获取后台音乐播放状态。
  22981. *
  22982. * **示例代码**
  22983. *
  22984. * ```js
  22985. wx.getBackgroundAudioPlayerState({
  22986. success (res) {
  22987. const status = res.status
  22988. const dataUrl = res.dataUrl
  22989. const currentPosition = res.currentPosition
  22990. const duration = res.duration
  22991. const downloadPercent = res.downloadPercent
  22992. }
  22993. })
  22994. ``` */
  22995. getBackgroundAudioPlayerState<
  22996. T extends GetBackgroundAudioPlayerStateOption = GetBackgroundAudioPlayerStateOption
  22997. >(
  22998. option?: T
  22999. ): PromisifySuccessResult<T, GetBackgroundAudioPlayerStateOption>
  23000. /** [wx.getBackgroundFetchData(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html)
  23001. *
  23002. * 需要基础库: `2.8.0`
  23003. *
  23004. * 在插件中使用:不支持
  23005. *
  23006. * 拉取 backgroundFetch 客户端缓存数据。
  23007. * 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据,安卓上会返回fail,不会等待请求完成,iOS上会返回success但fetchedData为空,也不会等待请求完成。建议和 [wx.onBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html) 配合使用。 */
  23008. getBackgroundFetchData<
  23009. T extends GetBackgroundFetchDataOption = GetBackgroundFetchDataOption
  23010. >(
  23011. option: T
  23012. ): PromisifySuccessResult<T, GetBackgroundFetchDataOption>
  23013. /** [wx.getBackgroundFetchToken(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchToken.html)
  23014. *
  23015. * 需要基础库: `2.8.0`
  23016. *
  23017. * 在插件中使用:不支持
  23018. *
  23019. * 获取设置过的自定义登录态。若无,则返回 fail。 */
  23020. getBackgroundFetchToken<
  23021. T extends GetBackgroundFetchTokenOption = GetBackgroundFetchTokenOption
  23022. >(
  23023. option?: T
  23024. ): PromisifySuccessResult<T, GetBackgroundFetchTokenOption>
  23025. /** [wx.getBatteryInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfo.html)
  23026. *
  23027. * 在插件中使用:需要基础库 `2.15.0`
  23028. *
  23029. * 获取设备电池信息。同步 API [wx.getBatteryInfoSync](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.getBatteryInfoSync.html) 在 iOS 上不可用。 */
  23030. getBatteryInfo<T extends GetBatteryInfoOption = GetBatteryInfoOption>(
  23031. option?: T
  23032. ): PromisifySuccessResult<T, GetBatteryInfoOption>
  23033. /** [wx.getBeacons(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.getBeacons.html)
  23034. *
  23035. * 需要基础库: `1.2.0`
  23036. *
  23037. * 在插件中使用:需要基础库 `1.9.6`
  23038. *
  23039. * 获取所有已搜索到的 Beacon 设备 */
  23040. getBeacons<T extends GetBeaconsOption = GetBeaconsOption>(
  23041. option?: T
  23042. ): PromisifySuccessResult<T, GetBeaconsOption>
  23043. /** [wx.getBluetoothAdapterState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothAdapterState.html)
  23044. *
  23045. * 需要基础库: `1.1.0`
  23046. *
  23047. * 在插件中使用:需要基础库 `1.9.6`
  23048. *
  23049. * 获取本机蓝牙适配器状态。
  23050. *
  23051. * **示例代码**
  23052. *
  23053. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  23054. * ```js
  23055. wx.getBluetoothAdapterState({
  23056. success (res) {
  23057. console.log(res)
  23058. }
  23059. })
  23060. ``` */
  23061. getBluetoothAdapterState<
  23062. T extends GetBluetoothAdapterStateOption = GetBluetoothAdapterStateOption
  23063. >(
  23064. option?: T
  23065. ): PromisifySuccessResult<T, GetBluetoothAdapterStateOption>
  23066. /** [wx.getBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getBluetoothDevices.html)
  23067. *
  23068. * 需要基础库: `1.1.0`
  23069. *
  23070. * 在插件中使用:需要基础库 `1.9.6`
  23071. *
  23072. * 获取在蓝牙模块生效期间所有搜索到的蓝牙设备。包括已经和本机处于连接状态的设备。
  23073. *
  23074. * **示例代码**
  23075. *
  23076. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  23077. *
  23078. * ```js
  23079. // ArrayBuffer转16进度字符串示例
  23080. function ab2hex(buffer) {
  23081. var hexArr = Array.prototype.map.call(
  23082. new Uint8Array(buffer),
  23083. function(bit) {
  23084. return ('00' + bit.toString(16)).slice(-2)
  23085. }
  23086. )
  23087. return hexArr.join('');
  23088. }
  23089. wx.getBluetoothDevices({
  23090. success: function (res) {
  23091. console.log(res)
  23092. if (res.devices[0]) {
  23093. console.log(ab2hex(res.devices[0].advertisData))
  23094. }
  23095. }
  23096. })
  23097. ```
  23098. *
  23099. * **注意**
  23100. *
  23101. * - 该接口获取到的设备列表为**蓝牙模块生效期间所有搜索到的蓝牙设备**,若在蓝牙模块使用流程结束后未及时调用 [wx.closeBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.closeBluetoothAdapter.html) 释放资源,会存在调用该接口会返回之前的蓝牙使用流程中搜索到的蓝牙设备,可能设备已经不在用户身边,无法连接。 */
  23102. getBluetoothDevices<
  23103. T extends GetBluetoothDevicesOption = GetBluetoothDevicesOption
  23104. >(
  23105. option?: T
  23106. ): PromisifySuccessResult<T, GetBluetoothDevicesOption>
  23107. /** [wx.getChannelsLiveInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveInfo.html)
  23108. *
  23109. * 需要基础库: `2.15.0`
  23110. *
  23111. * 在插件中使用:不支持
  23112. *
  23113. * 获取视频号直播信息 */
  23114. getChannelsLiveInfo(option: GetChannelsLiveInfoOption): void
  23115. /** [wx.getChannelsLiveNoticeInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsLiveNoticeInfo.html)
  23116. *
  23117. * 需要基础库: `2.19.0`
  23118. *
  23119. * 在插件中使用:不支持
  23120. *
  23121. * 获取视频号直播预告信息 */
  23122. getChannelsLiveNoticeInfo(option: GetChannelsLiveNoticeInfoOption): void
  23123. /** [wx.getChannelsShareKey(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.getChannelsShareKey.html)
  23124. *
  23125. * 需要基础库: `2.22.1`
  23126. *
  23127. * 在插件中使用:不支持
  23128. *
  23129. * 获取视频号直播卡片/视频卡片的分享来源,仅当卡片携带了分享信息、同时用户已授权该小程序获取视频号分享信息且启动场景值为 1177、1184、1195、1208 时可用。 */
  23130. getChannelsShareKey(option?: GetChannelsShareKeyOption): void
  23131. /** [wx.getClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.getClipboardData.html)
  23132. *
  23133. * 需要基础库: `1.1.0`
  23134. *
  23135. * 在插件中使用:需要基础库 `1.9.6`
  23136. *
  23137. * 获取系统剪贴板的内容
  23138. *
  23139. * **示例代码**
  23140. *
  23141. * ```js
  23142. wx.getClipboardData({
  23143. success (res){
  23144. console.log(res.data)
  23145. }
  23146. })
  23147. ``` */
  23148. getClipboardData<
  23149. T extends GetClipboardDataOption = GetClipboardDataOption
  23150. >(
  23151. option?: T
  23152. ): PromisifySuccessResult<T, GetClipboardDataOption>
  23153. /** [wx.getCommonConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.getCommonConfig.html)
  23154. *
  23155. * 需要基础库: `2.33.0`
  23156. *
  23157. * 在插件中使用:不支持
  23158. *
  23159. * 给定实验参数数组,获取对应的实验参数值。
  23160. *
  23161. * **示例代码**
  23162. *
  23163. * ```js
  23164. wx.getCommonConfig({
  23165. keys:["key1", "key2"],
  23166. mode: 0,
  23167. success: (res)=>{
  23168. console.log("success")
  23169. console.log(res)
  23170. },
  23171. fail: (res)=>{
  23172. console.log("fail")
  23173. console.log(res)
  23174. }})
  23175. ``` */
  23176. getCommonConfig(option: GetCommonConfigOption): void
  23177. /** [wx.getConnectedBluetoothDevices(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.getConnectedBluetoothDevices.html)
  23178. *
  23179. * 需要基础库: `1.1.0`
  23180. *
  23181. * 在插件中使用:需要基础库 `1.9.6`
  23182. *
  23183. * 根据主服务 UUID 获取已连接的蓝牙设备。
  23184. *
  23185. * **示例代码**
  23186. *
  23187. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  23188. * ```js
  23189. wx.getConnectedBluetoothDevices({
  23190. services: ['FEE7'],
  23191. success (res) {
  23192. console.log(res)
  23193. }
  23194. })
  23195. ``` */
  23196. getConnectedBluetoothDevices<
  23197. T extends GetConnectedBluetoothDevicesOption = GetConnectedBluetoothDevicesOption
  23198. >(
  23199. option: T
  23200. ): PromisifySuccessResult<T, GetConnectedBluetoothDevicesOption>
  23201. /** [wx.getConnectedWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getConnectedWifi.html)
  23202. *
  23203. * 需要基础库: `1.6.0`
  23204. *
  23205. * 在插件中使用:需要基础库 `2.9.1`
  23206. *
  23207. * 获取已连接中的 Wi-Fi 信息。 */
  23208. getConnectedWifi<
  23209. T extends GetConnectedWifiOption = GetConnectedWifiOption
  23210. >(
  23211. option: T
  23212. ): PromisifySuccessResult<T, GetConnectedWifiOption>
  23213. /** [wx.getDeviceBenchmarkInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceBenchmarkInfo.html)
  23214. *
  23215. * 需要基础库: `3.4.5`
  23216. *
  23217. * 在插件中使用:不支持
  23218. *
  23219. * 获取设备性能得分和机型档位数据
  23220. *
  23221. * **示例代码**
  23222. *
  23223. * ```js
  23224. wx.getDeviceBenchmarkInfo({
  23225. success (res) {
  23226. console.log(res.benchmarkLevel)
  23227. console.log(res.modelLevel)
  23228. }
  23229. })
  23230. ``` */
  23231. getDeviceBenchmarkInfo(option?: GetDeviceBenchmarkInfoOption): void
  23232. /** [wx.getDeviceVoIPList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/device-voip/wx.getDeviceVoIPList.html)
  23233. *
  23234. * 需要基础库: `2.30.3`
  23235. *
  23236. * 在插件中使用:不支持
  23237. *
  23238. * 查询当前用户授权的音视频通话设备(组)信息
  23239. *
  23240. * **示例代码**
  23241. *
  23242. * ```js
  23243. wx.getDeviceVoIPList({
  23244. success(res) {
  23245. console.log(res)
  23246. },
  23247. fail(res) {
  23248. console.log(res)
  23249. }
  23250. })
  23251. ``` */
  23252. getDeviceVoIPList(option?: GetDeviceVoIPListOption): void
  23253. /** [wx.getExtConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ext/wx.getExtConfig.html)
  23254. *
  23255. * 需要基础库: `1.1.0`
  23256. *
  23257. * 在插件中使用:不支持
  23258. *
  23259. * 获取[第三方平台](https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html)自定义的数据字段。
  23260. *
  23261. * **Tips**
  23262. *
  23263. * 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) 是否存在来兼容
  23264. *
  23265. * ****
  23266. *
  23267. * ```js
  23268. if (wx.getExtConfig) {
  23269. wx.getExtConfig({
  23270. success (res) {
  23271. console.log(res.extConfig)
  23272. }
  23273. })
  23274. }
  23275. ``` */
  23276. getExtConfig<T extends GetExtConfigOption = GetExtConfigOption>(
  23277. option?: T
  23278. ): PromisifySuccessResult<T, GetExtConfigOption>
  23279. /** [wx.getFuzzyLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getFuzzyLocation.html)
  23280. *
  23281. * 需要基础库: `2.25.0`
  23282. *
  23283. * 在插件中使用:支持
  23284. *
  23285. * 获取当前的模糊地理位置。
  23286. * ## 使用方法
  23287. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  23288. * ## 申请开通
  23289. * 暂只针对具备与地理位置强相关的使用场景的小程序开放,在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。 从2022年7月14日开始在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  23290. *
  23291. * **示例代码**
  23292. *
  23293. * ```js
  23294. wx.getFuzzyLocation({
  23295. type: 'wgs84',
  23296. success (res) {
  23297. const latitude = res.latitude
  23298. const longitude = res.longitude
  23299. }
  23300. })
  23301. ``` */
  23302. getFuzzyLocation(option: GetFuzzyLocationOption): void
  23303. /** [wx.getGroupEnterInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html)
  23304. *
  23305. * 需要基础库: `2.10.4`
  23306. *
  23307. * 在插件中使用:不支持
  23308. *
  23309. * 获取微信群聊场景下的小程序启动信息。群聊场景包括群聊小程序消息卡片、群待办、群工具。可用于获取当前群的 opengid。
  23310. * ## 注意事项
  23311. * - 基础库 v2.10.4 开始支持获取群工具小程序启动信息
  23312. * - 基础库 v2.17.3 开始支持获取群聊小程序消息卡片、群待办小程序启动信息
  23313. *
  23314. * **示例代码**
  23315. *
  23316. * ```js
  23317. wx.getGroupEnterInfo({
  23318. success(res) {
  23319. // res
  23320. {
  23321. errMsg: 'getGroupEnterInfo:ok',
  23322. encryptedData: '',
  23323. iv: ''
  23324. }
  23325. },
  23326. fail() {
  23327. }
  23328. })
  23329. ```
  23330. *
  23331. * 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。
  23332. * 获取得到的开放数据为以下 json 结构(其中 opengid 为当前群的唯一标识):
  23333. *
  23334. * ```json
  23335. {
  23336. "opengid": "OPENGID"
  23337. }
  23338. ```
  23339. *
  23340. * **Tips**
  23341. *
  23342. * - 如需要展示群名称,小程序可以使用[开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html)
  23343. * - 小游戏可以通过 `wx.getGroupInfo` 接口获取群名称 */
  23344. getGroupEnterInfo(option: GetGroupEnterInfoOption): void
  23345. /** [wx.getHCEState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.getHCEState.html)
  23346. *
  23347. * 需要基础库: `1.7.0`
  23348. *
  23349. * 在插件中使用:需要基础库 `2.1.0`
  23350. *
  23351. * 判断当前设备是否支持 HCE 能力。
  23352. *
  23353. * **示例代码**
  23354. *
  23355. * ```js
  23356. wx.getHCEState({
  23357. success (res) {
  23358. console.log(res.errCode)
  23359. }
  23360. })
  23361. ``` */
  23362. getHCEState<T extends GetHCEStateOption = GetHCEStateOption>(
  23363. option?: T
  23364. ): PromisifySuccessResult<T, GetHCEStateOption>
  23365. /** [wx.getImageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.getImageInfo.html)
  23366. *
  23367. * 在插件中使用:需要基础库 `1.9.6`
  23368. *
  23369. * 获取图片信息。网络图片需先配置download域名才能生效。
  23370. *
  23371. * **示例代码**
  23372. *
  23373. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/Kd47Sbmr6yYu)
  23374. *
  23375. * ```js
  23376. wx.getImageInfo({
  23377. src: 'images/a.jpg',
  23378. success (res) {
  23379. console.log(res.width)
  23380. console.log(res.height)
  23381. }
  23382. })
  23383. wx.chooseImage({
  23384. success (res) {
  23385. wx.getImageInfo({
  23386. src: res.tempFilePaths[0],
  23387. success (res) {
  23388. console.log(res.width)
  23389. console.log(res.height)
  23390. }
  23391. })
  23392. }
  23393. })
  23394. ``` */
  23395. getImageInfo<T extends GetImageInfoOption = GetImageInfoOption>(
  23396. option: T
  23397. ): PromisifySuccessResult<T, GetImageInfoOption>
  23398. /** [wx.getInferenceEnvInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/inference/wx.getInferenceEnvInfo.html)
  23399. *
  23400. * 需要基础库: `2.30.1`
  23401. *
  23402. * 在插件中使用:需要基础库 `2.30.1`
  23403. *
  23404. * 获取通用AI推理引擎版本。使用前可参考[AI指南文档](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/inference/tutorial.html)
  23405. *
  23406. * **示例代码**
  23407. *
  23408. * ```js
  23409. // 获取通用AI推理引擎版本
  23410. wx.getInferenceEnvInfo({
  23411. complete: (res) => {
  23412. console.log(res.ver)
  23413. console.log(res.errMsg)
  23414. },
  23415. })
  23416. ``` */
  23417. getInferenceEnvInfo(option?: GetInferenceEnvInfoOption): void
  23418. /** [wx.getLocalIPAddress(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html)
  23419. *
  23420. * 需要基础库: `2.20.1`
  23421. *
  23422. * 在插件中使用:需要基础库 `2.21.3`
  23423. *
  23424. * 获取局域网IP地址
  23425. *
  23426. * **示例代码**
  23427. *
  23428. * ```js
  23429. wx.getLocalIPAddress({
  23430. success (res) {
  23431. const localip = res.localip
  23432. }
  23433. })
  23434. ``` */
  23435. getLocalIPAddress(option: GetLocalIPAddressOption): void
  23436. /** [wx.getLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html)
  23437. *
  23438. * 在插件中使用:需要基础库 `1.9.6`
  23439. *
  23440. * 获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。
  23441. * 高频率调用会导致耗电,如有需要可使用持续定位接口 `wx.onLocationChange`。
  23442. * 基础库 `2.17.0` 版本起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)。
  23443. *
  23444. * ## 使用方法
  23445. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  23446. *
  23447. * ## 申请开通
  23448. * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
  23449. * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  23450. *
  23451. * ### 国内主体开放类目
  23452. *
  23453. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  23454. * | -------------- | -------| -------- |
  23455. * | 电商平台 | / | 售卖商品线下发货、线下收货服务 |
  23456. * | 商家自营 | / | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 |
  23457. * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 |
  23458. * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 |
  23459. * | 生活服务 | / | 上门服务作业等线下场景 |
  23460. * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 |
  23461. * | 餐饮服务 | 点餐平台、外卖平台、餐饮服务场所/餐饮服务管理企业 | 线下送餐服务 |
  23462. * | 工具 | 天气、信息查询、办公、设备管理 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询、智能穿戴、智能门禁、与地理位置相关的打卡服务等 |
  23463. * | 金融 | 银行、非金融机构自营小额贷款/融资担保/商业保理、保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 |
  23464. * | 旅游 | 景区服务、住宿服务 | 提供景区导航、导览服务、酒店导航服务 |
  23465. * | 汽车服务 | 维修保养、汽车用品、汽车经销商/4S店、汽车厂商、汽车预售、二手车 | 提供汽车售卖、维保洗美服务、查找附近的维修点/洗车网点等导航服务 |
  23466. * | IT科技 | 基础电信运营商、电信业务代理商 | 提供运营商线下网点的预约、基于地理位置取号并现场报到、网点导航等服务 |
  23467. * | 房地产服务 | 物业管理、房屋中介、房屋装修 | 提供房地产开发商及物业公司门店导览导航服务 |
  23468. * | 政务民生 | / | 提供政务单位相关业务 |
  23469. * | 政府主体账号 | / | 提供政务单位相关业务 |
  23470. *
  23471. * ### 海外主体开放类目
  23472. *
  23473. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  23474. * | -------------- | -------| -------- |
  23475. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  23476. * | 快递业与邮政 | / | 快递/货物收发服务 |
  23477. * | 餐饮 | / | 线下送餐服务 |
  23478. * | 电商平台 | / | 售卖商品线下发货、线下收货服务 |
  23479. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  23480. * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 |
  23481. * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货、超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 |
  23482. * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 |
  23483. *
  23484. * **示例代码**
  23485. *
  23486. * ```js
  23487. wx.getLocation({
  23488. type: 'wgs84',
  23489. success (res) {
  23490. const latitude = res.latitude
  23491. const longitude = res.longitude
  23492. const speed = res.speed
  23493. const accuracy = res.accuracy
  23494. }
  23495. })
  23496. ```
  23497. *
  23498. * **注意**
  23499. *
  23500. * - `2.17.0 起 `wx.getLocation` 增加调用频率限制,[相关公告](https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801)
  23501. * - 工具中定位模拟使用IP定位,可能会有一定误差。且工具目前仅支持 gcj02 坐标。
  23502. * - 使用第三方服务进行逆地址解析时,请确认第三方服务默认的坐标系,正确进行坐标转换。 */
  23503. getLocation<T extends GetLocationOption = GetLocationOption>(
  23504. option: T
  23505. ): PromisifySuccessResult<T, GetLocationOption>
  23506. /** [wx.getNetworkType(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html)
  23507. *
  23508. * 在插件中使用:需要基础库 `1.9.6`
  23509. *
  23510. * 获取网络类型
  23511. *
  23512. * **示例代码**
  23513. *
  23514. * ```js
  23515. wx.getNetworkType({
  23516. success (res) {
  23517. const networkType = res.networkType
  23518. const weakNet = res.weakNet
  23519. }
  23520. })
  23521. ``` */
  23522. getNetworkType<T extends GetNetworkTypeOption = GetNetworkTypeOption>(
  23523. option?: T
  23524. ): PromisifySuccessResult<T, GetNetworkTypeOption>
  23525. /** [wx.getPrivacySetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/privacy/wx.getPrivacySetting.html)
  23526. *
  23527. * 需要基础库: `2.32.3`
  23528. *
  23529. * 在插件中使用:不支持
  23530. *
  23531. * 查询隐私授权情况。隐私合规开发指南详情可见[《小程序隐私协议开发指南》](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html)
  23532. *
  23533. * ****
  23534. *
  23535. * ## 具体说明:
  23536. *
  23537. * 1. 一定要调用 wx.getPrivacySetting 接口吗?
  23538. *
  23539. * - 不是,wx.getPrivacySetting 只是一个辅助接口,可以根据实际情况选择使用。
  23540. *
  23541. * **示例代码**
  23542. *
  23543. * ```html
  23544. * // page.wxml
  23545. * <view wx:if="{{showPrivacy}}">
  23546. * <view>隐私弹窗内容....</view>
  23547. * <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
  23548. * </view>
  23549. * ```
  23550. * ```js
  23551. Page({
  23552. data: {
  23553. showPrivacy: false
  23554. },
  23555. onLoad() {
  23556. wx.getPrivacySetting({
  23557. success: res => {
  23558. console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
  23559. if (res.needAuthorization) {
  23560. // 需要弹出隐私协议
  23561. this.setData({
  23562. showPrivacy: true
  23563. })
  23564. } else {
  23565. // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
  23566. }
  23567. },
  23568. fail: () => {},
  23569. complete: () => {}
  23570. })
  23571. },
  23572. handleAgreePrivacyAuthorization() {
  23573. // 用户同意隐私协议事件回调
  23574. // 用户点击了同意,之后所有隐私接口和组件都可以调用了
  23575. // wx.getUserProfile()
  23576. // wx.chooseMedia()
  23577. // wx.getClipboardData()
  23578. // wx.startRecord()
  23579. }
  23580. })
  23581. ```
  23582. *
  23583. * **完整示例demo**
  23584. *
  23585. * demo1: 演示使用 `wx.getPrivacySetting` 和 `<button open-type="agreePrivacyAuthorization">` 在首页处理隐私弹窗逻辑
  23586. * [https://developers.weixin.qq.com/s/gi71sGm67hK0](https://developers.weixin.qq.com/s/gi71sGm67hK0)
  23587. *
  23588. * demo2: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。
  23589. * [https://developers.weixin.qq.com/s/hndZUOmA7gKn](https://developers.weixin.qq.com/s/hndZUOmA7gKn)
  23590. *
  23591. * demo3: 演示 `wx.onNeedPrivacyAuthorization`、`wx.requirePrivacyAuthorize`、`<button open-type="agreePrivacyAuthorization">` 和 `<input type="nickname">` 组件如何结合使用
  23592. * [https://developers.weixin.qq.com/s/jX7xWGmA7UKa](https://developers.weixin.qq.com/s/jX7xWGmA7UKa)
  23593. *
  23594. * demo4: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个 tabBar 页面处理隐私弹窗逻辑。
  23595. * [https://developers.weixin.qq.com/s/g6BWZGmt7XK9](https://developers.weixin.qq.com/s/g6BWZGmt7XK9) */
  23596. getPrivacySetting(option: GetPrivacySettingOption): void
  23597. /** [wx.getRandomValues(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/crypto/wx.getRandomValues.html)
  23598. *
  23599. * 需要基础库: `2.15.0`
  23600. *
  23601. * 在插件中使用:不支持
  23602. *
  23603. * 获取密码学安全随机数
  23604. *
  23605. * **示例代码**
  23606. *
  23607. * ```js
  23608. wx.getRandomValues({
  23609. length: 6 // 生成 6 个字节长度的随机数,
  23610. success: res => {
  23611. console.log(wx.arrayBufferToBase64(res.randomValues)) // 转换为 base64 字符串后打印
  23612. }
  23613. })
  23614. ``` */
  23615. getRandomValues<
  23616. T extends GetRandomValuesOption = GetRandomValuesOption
  23617. >(
  23618. option: T
  23619. ): PromisifySuccessResult<T, GetRandomValuesOption>
  23620. /** [wx.getScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenBrightness.html)
  23621. *
  23622. * 需要基础库: `1.2.0`
  23623. *
  23624. * 在插件中使用:需要基础库 `1.9.6`
  23625. *
  23626. * 获取屏幕亮度
  23627. *
  23628. * **说明**
  23629. *
  23630. * - 若安卓系统设置中开启了自动调节亮度功能,则屏幕亮度会根据光线自动调整,该接口仅能获取自动调节亮度之前的值,而非实时的亮度值。 */
  23631. getScreenBrightness<
  23632. T extends GetScreenBrightnessOption = GetScreenBrightnessOption
  23633. >(
  23634. option?: T
  23635. ): PromisifySuccessResult<T, GetScreenBrightnessOption>
  23636. /** [wx.getScreenRecordingState(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.getScreenRecordingState.html)
  23637. *
  23638. * 需要基础库: `2.24.0`
  23639. *
  23640. * 在插件中使用:不支持
  23641. *
  23642. * 查询用户是否在录屏。
  23643. *
  23644. * **示例代码**
  23645. *
  23646. * ```js
  23647. * wx.getScreenRecordingState({
  23648. * success: function (res) {
  23649. * console.log(res.state)
  23650. * },
  23651. * }) */
  23652. getScreenRecordingState(option?: GetScreenRecordingStateOption): void
  23653. /** [wx.getSelectedTextRange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.getSelectedTextRange.html)
  23654. *
  23655. * 需要基础库: `2.7.0`
  23656. *
  23657. * 在插件中使用:不支持
  23658. *
  23659. * 在input、textarea等focus之后,获取输入框的光标位置。注意:只有在focus的时候调用此接口才有效。
  23660. *
  23661. * **示例代码**
  23662. *
  23663. * ```js
  23664. wx.getSelectedTextRange({
  23665. complete: res => {
  23666. console.log('getSelectedTextRange res', res.start, res.end)
  23667. }
  23668. })
  23669. ``` */
  23670. getSelectedTextRange<
  23671. T extends GetSelectedTextRangeOption = GetSelectedTextRangeOption
  23672. >(
  23673. option?: T
  23674. ): PromisifySuccessResult<T, GetSelectedTextRangeOption>
  23675. /** [wx.getSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html)
  23676. *
  23677. * 需要基础库: `1.2.0`
  23678. *
  23679. * 在插件中使用:需要基础库 `2.6.3`
  23680. *
  23681. * 在插件中使用时,接口有以下不同:
  23682. * - `withSubscriptions` 无效(插件暂无订阅消息)
  23683. * - 返回值中的 `authSetting` 字段中是插件的权限(如用户信息功能页授权)
  23684. * - [2.14.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起返回值中有 `miniprogramAuthSetting` 字段,内容等于当前小程序 `getSetting` 的结果(不含订阅状态)
  23685. *
  23686. * 获取用户的当前设置。**返回值中只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。
  23687. *
  23688. * **示例代码**
  23689. *
  23690. * ```js
  23691. wx.getSetting({
  23692. success (res) {
  23693. console.log(res.authSetting)
  23694. // res.authSetting = {
  23695. // "scope.userInfo": true,
  23696. // "scope.userLocation": true
  23697. // }
  23698. }
  23699. })
  23700. ```
  23701. *
  23702. * ```js
  23703. wx.getSetting({
  23704. withSubscriptions: true,
  23705. success (res) {
  23706. console.log(res.authSetting)
  23707. // res.authSetting = {
  23708. // "scope.userInfo": true,
  23709. // "scope.userLocation": true
  23710. // }
  23711. console.log(res.subscriptionsSetting)
  23712. // res.subscriptionsSetting = {
  23713. // mainSwitch: true, // 订阅消息总开关
  23714. // itemSettings: { // 每一项开关
  23715. // SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息
  23716. // SYS_MSG_TYPE_RANK: 'accept'
  23717. // zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息
  23718. // ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',
  23719. // }
  23720. // }
  23721. }
  23722. })
  23723. ``` */
  23724. getSetting<T extends GetSettingOption = GetSettingOption>(
  23725. option?: T
  23726. ): PromisifySuccessResult<T, GetSettingOption>
  23727. /** [wx.getShareInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.getShareInfo.html)
  23728. *
  23729. * 需要基础库: `1.1.0`
  23730. *
  23731. * 在插件中使用:需要基础库 `2.1.0`
  23732. *
  23733. * 在插件中使用时,只能在当前插件的页面中调用
  23734. *
  23735. * 获取转发详细信息(主要是获取群ID)。 从群聊内的小程序消息卡片打开小程序时,调用此接口才有效。从基础库 v2.17.3 开始,推荐用 [wx.getGroupEnterInfo](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/group/wx.getGroupEnterInfo.html) 替代此接口。
  23736. *
  23737. * **示例代码**
  23738. *
  23739. * 敏感数据获取方式 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。
  23740. * 获取得到的开放数据为以下 json 结构(其中 openGId 为当前群的唯一标识):
  23741. *
  23742. * ```json
  23743. {
  23744. "openGId": "OPENGID"
  23745. }
  23746. ```
  23747. *
  23748. * **Tips**
  23749. *
  23750. * - 如需要展示群名称,小程序可以使用 [开放数据组件](https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html)
  23751. * - 小游戏可以通过 [`wx.getGroupInfo`](#) 接口获取群名称 */
  23752. getShareInfo<T extends GetShareInfoOption = GetShareInfoOption>(
  23753. option: T
  23754. ): PromisifySuccessResult<T, GetShareInfoOption>
  23755. /** [wx.getSkylineInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSkylineInfo.html)
  23756. *
  23757. * 需要基础库: `2.26.2`
  23758. *
  23759. * 在插件中使用:需要基础库 `2.26.2`
  23760. *
  23761. * 获取当前运行环境对于 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的支持情况 */
  23762. getSkylineInfo(option?: GetSkylineInfoOption): void
  23763. /** [wx.getStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorage.html)
  23764. *
  23765. * 在插件中使用:需要基础库 `1.9.6`
  23766. *
  23767. * 从本地缓存中异步获取指定 key 的内容。
  23768. *
  23769. * **示例代码**
  23770. *
  23771. * ```js
  23772. wx.getStorage({
  23773. key: 'key',
  23774. success (res) {
  23775. console.log(res.data)
  23776. }
  23777. })
  23778. ```
  23779. *
  23780. * ```js
  23781. // 开启加密存储
  23782. wx.setStorage({
  23783. key: "key",
  23784. data: "value",
  23785. encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
  23786. success() {
  23787. wx.getStorage({
  23788. key: "key",
  23789. encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
  23790. success(res) {
  23791. console.log(res.data)
  23792. }
  23793. })
  23794. }
  23795. })
  23796. ``` */
  23797. getStorage<
  23798. T = any,
  23799. U extends GetStorageOption<T> = GetStorageOption<T>
  23800. >(
  23801. option: U
  23802. ): PromisifySuccessResult<U, GetStorageOption<T>>
  23803. /** [wx.getStorageInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.getStorageInfo.html)
  23804. *
  23805. * 在插件中使用:不支持
  23806. *
  23807. * 异步获取当前storage的相关信息。
  23808. *
  23809. * **示例代码**
  23810. *
  23811. * ```js
  23812. wx.getStorageInfo({
  23813. success (res) {
  23814. console.log(res.keys)
  23815. console.log(res.currentSize)
  23816. console.log(res.limitSize)
  23817. }
  23818. })
  23819. ```
  23820. *
  23821. * ```js
  23822. try {
  23823. const res = wx.getStorageInfoSync()
  23824. console.log(res.keys)
  23825. console.log(res.currentSize)
  23826. console.log(res.limitSize)
  23827. } catch (e) {
  23828. // Do something when catch error
  23829. }
  23830. ``` */
  23831. getStorageInfo<T extends GetStorageInfoOption = GetStorageInfoOption>(
  23832. option?: T
  23833. ): PromisifySuccessResult<T, GetStorageInfoOption>
  23834. /** [wx.getSystemInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfo.html)
  23835. *
  23836. * 在插件中使用:需要基础库 `1.9.6`
  23837. * @deprecated 基础库版本 [2.20.1](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getSystemSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)、[wx.getAppAuthorizeSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)、[wx.getDeviceInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)、[wx.getWindowInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)、[wx.getAppBaseInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) 替换
  23838. *
  23839. * 获取系统信息。**由于历史原因,wx.getSystemInfo 是异步的调用格式,但是是同步返回,需要异步获取系统信息请使用 [wx.getSystemInfoAsync](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)。**
  23840. *
  23841. * **示例代码**
  23842. *
  23843. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO)
  23844. *
  23845. * ```js
  23846. wx.getSystemInfo({
  23847. success (res) {
  23848. console.log(res.model)
  23849. console.log(res.pixelRatio)
  23850. console.log(res.windowWidth)
  23851. console.log(res.windowHeight)
  23852. console.log(res.language)
  23853. console.log(res.version)
  23854. console.log(res.platform)
  23855. }
  23856. })
  23857. ```
  23858. *
  23859. * ```js
  23860. try {
  23861. const res = wx.getSystemInfoSync()
  23862. console.log(res.model)
  23863. console.log(res.pixelRatio)
  23864. console.log(res.windowWidth)
  23865. console.log(res.windowHeight)
  23866. console.log(res.language)
  23867. console.log(res.version)
  23868. console.log(res.platform)
  23869. } catch (e) {
  23870. // Do something when catch error
  23871. }
  23872. ```
  23873. *
  23874. * ****
  23875. *
  23876. * ## 注意事项
  23877. * - 当 wx.getSystemInfoSync() 接口发生错误时可能会返回空对象
  23878. * - wx.getSystemInfo 接口由于会获取系统权限,可能触发授权弹窗,请使用 [wx.getSystemSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)、[wx.getAppAuthorizeSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)、[wx.getDeviceInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)、[wx.getWindowInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)、[wx.getAppBaseInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) 替代 */
  23879. getSystemInfo<T extends GetSystemInfoOption = GetSystemInfoOption>(
  23880. option?: T
  23881. ): PromisifySuccessResult<T, GetSystemInfoOption>
  23882. /** [wx.getSystemInfoAsync(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoAsync.html)
  23883. *
  23884. * 需要基础库: `2.14.1`
  23885. *
  23886. * 在插件中使用:不支持
  23887. * @deprecated 基础库版本 [2.20.1](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.getSystemSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemSetting.html)、[wx.getAppAuthorizeSetting](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppAuthorizeSetting.html)、[wx.getDeviceInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getDeviceInfo.html)、[wx.getWindowInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getWindowInfo.html)、[wx.getAppBaseInfo](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getAppBaseInfo.html) 替换
  23888. *
  23889. * 异步获取系统信息。需要一定的微信客户端版本支持,在不支持的客户端上,会使用同步实现来返回。
  23890. *
  23891. * **示例代码**
  23892. *
  23893. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/WkUCgXmS7mqO)
  23894. *
  23895. * ```js
  23896. wx.getSystemInfoAsync({
  23897. success (res) {
  23898. console.log(res.model)
  23899. console.log(res.pixelRatio)
  23900. console.log(res.windowWidth)
  23901. console.log(res.windowHeight)
  23902. console.log(res.language)
  23903. console.log(res.version)
  23904. console.log(res.platform)
  23905. }
  23906. })
  23907. ``` */
  23908. getSystemInfoAsync(option?: GetSystemInfoAsyncOption): void
  23909. /** [wx.getUserInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html)
  23910. *
  23911. * 在插件中使用:需要基础库 `2.3.1`
  23912. *
  23913. * 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html)
  23914. *
  23915. * @warning **用户头像昵称获取规则已调整,参考 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801)、[小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)**
  23916. *
  23917. * 获取用户信息。
  23918. *
  23919. * **示例代码**
  23920. *
  23921. * ```js
  23922. // 必须是在用户已经授权的情况下调用
  23923. wx.getUserInfo({
  23924. success: function(res) {
  23925. var userInfo = res.userInfo
  23926. var nickName = userInfo.nickName
  23927. var avatarUrl = userInfo.avatarUrl
  23928. var gender = userInfo.gender //性别 0:未知、1:男、2:女
  23929. var province = userInfo.province
  23930. var city = userInfo.city
  23931. var country = userInfo.country
  23932. }
  23933. })
  23934. ```
  23935. *
  23936. * 敏感数据有两种获取方式:
  23937. * 1. 使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法)
  23938. * 2. 使用 [云调用直接获取开放数据](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#云调用直接获取开放数据)
  23939. * 获取得到的开放数据为以下 json 结构:
  23940. *
  23941. * ```json
  23942. {
  23943. "openId": "OPENID",
  23944. "nickName": "NICKNAME",
  23945. "gender": GENDER,
  23946. "city": "CITY",
  23947. "province": "PROVINCE",
  23948. "country": "COUNTRY",
  23949. "avatarUrl": "AVATARURL",
  23950. "unionId": "UNIONID",
  23951. "watermark": {
  23952. "appid":"APPID",
  23953. "timestamp":TIMESTAMP
  23954. }
  23955. }
  23956. ```
  23957. *
  23958. * **小程序用户信息组件示例代码**
  23959. *
  23960. * ```html
  23961. * <!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
  23962. * <open-data type="userAvatarUrl"></open-data>
  23963. * <open-data type="userNickName"></open-data>
  23964. * <!-- 需要使用 button 来授权登录 -->
  23965. * <button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
  23966. * <view wx:else>请升级微信版本</view>
  23967. * ```
  23968. *
  23969. * ```js
  23970. Page({
  23971. data: {
  23972. canIUse: wx.canIUse('button.open-type.getUserInfo')
  23973. },
  23974. onLoad: function() {
  23975. // 查看是否授权
  23976. wx.getSetting({
  23977. success (res){
  23978. if (res.authSetting['scope.userInfo']) {
  23979. // 已经授权,可以直接调用 getUserInfo 获取头像昵称
  23980. wx.getUserInfo({
  23981. success: function(res) {
  23982. console.log(res.userInfo)
  23983. }
  23984. })
  23985. }
  23986. }
  23987. })
  23988. },
  23989. bindGetUserInfo (e) {
  23990. console.log(e.detail.userInfo)
  23991. }
  23992. })
  23993. ``` */
  23994. getUserInfo<T extends GetUserInfoOption = GetUserInfoOption>(
  23995. option: T
  23996. ): PromisifySuccessResult<T, GetUserInfoOption>
  23997. /** [wx.getUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html)
  23998. *
  23999. * 需要基础库: `2.10.4`
  24000. *
  24001. * 在插件中使用:不支持
  24002. *
  24003. * @warning **用户头像昵称获取规则已调整,参考 [小程序用户头像昵称获取规则调整公告](https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01)**
  24004. *
  24005. * 获取用户信息。页面产生点击事件(例如 `button` 上 `bindtap` 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 `userInfo`。该接口用于替换 `wx.getUserInfo`,详见 [用户信息接口调整说明](https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=login)。
  24006. *
  24007. * **示例代码**
  24008. *
  24009. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/tsJaq2mP7Mp4)
  24010. *
  24011. * **Bug & Tip**
  24012. *
  24013. * 1. `tip`:仅小程序中 `wx.getUserInfo` 接口进行调整,小游戏中不受影响;
  24014. * 2. `tip`:开发者工具中仅 2.10.4 及以上版本可访问 `wx.getUserProfile` 接口,在真机上可参考示例代码进行判断,无需根据版本号或者 `canIUse` 进行条件。
  24015. * 3. `tip`:`wx.getUserProfile` 返回的加密数据中不包含 `openId` 和 `unionId` 字段。
  24016. * 4. `bug`:开发者工具中 `2.10.4`~`2.16.1` 基础库版本通过 `<button open-type="getUserInfo">` 会返回真实数据,真机上此区间会按照公告返回匿名数据。
  24017. *
  24018. * ```html
  24019. * <view class="container">
  24020. * <view class="userinfo">
  24021. * <block wx:if="{{!hasUserInfo}}">
  24022. * <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
  24023. * <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
  24024. * </block>
  24025. * <block wx:else>
  24026. * <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
  24027. * <text class="userinfo-nickname">{{userInfo.nickName}}</text>
  24028. * </block>
  24029. * </view>
  24030. * </view>
  24031. * ```
  24032. *
  24033. * ```js
  24034. Page({
  24035. data: {
  24036. userInfo: {},
  24037. hasUserInfo: false,
  24038. canIUseGetUserProfile: false,
  24039. },
  24040. onLoad() {
  24041. if (wx.getUserProfile) {
  24042. this.setData({
  24043. canIUseGetUserProfile: true
  24044. })
  24045. }
  24046. },
  24047. getUserProfile(e) {
  24048. // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  24049. // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  24050. wx.getUserProfile({
  24051. desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  24052. success: (res) => {
  24053. this.setData({
  24054. userInfo: res.userInfo,
  24055. hasUserInfo: true
  24056. })
  24057. }
  24058. })
  24059. },
  24060. getUserInfo(e) {
  24061. // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
  24062. this.setData({
  24063. userInfo: e.detail.userInfo,
  24064. hasUserInfo: true
  24065. })
  24066. },
  24067. })
  24068. ``` */
  24069. getUserProfile<T extends GetUserProfileOption = GetUserProfileOption>(
  24070. option: T
  24071. ): PromisifySuccessResult<T, GetUserProfileOption>
  24072. /** [wx.getVideoInfo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.getVideoInfo.html)
  24073. *
  24074. * 需要基础库: `2.11.0`
  24075. *
  24076. * 在插件中使用:支持
  24077. *
  24078. * 获取视频详细信息。 */
  24079. getVideoInfo<T extends GetVideoInfoOption = GetVideoInfoOption>(
  24080. option: T
  24081. ): PromisifySuccessResult<T, GetVideoInfoOption>
  24082. /** [wx.getWeRunData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html)
  24083. *
  24084. * 需要基础库: `1.2.0`
  24085. *
  24086. * 在插件中使用:不支持
  24087. *
  24088. * 获取用户过去三十一天微信运动步数。需要先调用 [wx.login](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html) 接口。步数信息会在用户主动进入小程序时更新。
  24089. *
  24090. * **示例代码**
  24091. *
  24092. * ```js
  24093. wx.getWeRunData({
  24094. success (res) {
  24095. // 拿 encryptedData 到开发者后台解密开放数据
  24096. const encryptedData = res.encryptedData
  24097. // 或拿 cloudID 通过云调用直接获取开放数据
  24098. const cloudID = res.cloudID
  24099. }
  24100. })
  24101. ```
  24102. *
  24103. * **开放数据 JSON 结构**
  24104. *
  24105. * 敏感数据有两种获取方式,一是使用 [加密数据解密算法](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html#加密数据解密算法) 。
  24106. * 获取得到的开放数据为以下 json 结构:
  24107. *
  24108. * ```json
  24109. {
  24110. "stepInfoList": [
  24111. {
  24112. "timestamp": 1445866601,
  24113. "step": 100
  24114. },
  24115. {
  24116. "timestamp": 1445876601,
  24117. "step": 120
  24118. }
  24119. ]
  24120. }
  24121. ```
  24122. *
  24123. * stepInfoList 中,每一项结构如下:
  24124. *
  24125. * | 属性 | 类型 | 说明 |
  24126. * | --- | ---- | --- |
  24127. * | timestamp | number | 时间戳,表示数据对应的时间 |
  24128. * | step | number | 微信运动步数 | */
  24129. getWeRunData<T extends GetWeRunDataOption = GetWeRunDataOption>(
  24130. option?: T
  24131. ): PromisifySuccessResult<T, GetWeRunDataOption>
  24132. /** [wx.getWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.getWifiList.html)
  24133. *
  24134. * 需要基础库: `1.6.0`
  24135. *
  24136. * 在插件中使用:需要基础库 `2.9.1`
  24137. *
  24138. * 请求获取 Wi-Fi 列表。`wifiList` 数据会在 [onGetWifiList](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html) 注册的回调中返回。 **Android 调用前需要 [用户授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html) scope.userLocation。**
  24139. *
  24140. * iOS 上将跳转到系统设置中的微信设置页,需要用户手动进入「无线局域网」设置页,并在系统扫描到设备后,小程序才能收到 onGetWifiList 回调。Android 不会跳转。
  24141. *
  24142. * **注意**
  24143. *
  24144. * 因系统问题,本方法在 iOS 11.0 及 11.1 两个版本失效。但在 iOS 11.2 中已修复。 */
  24145. getWifiList<T extends GetWifiListOption = GetWifiListOption>(
  24146. option?: T
  24147. ): PromisifySuccessResult<T, GetWifiListOption>
  24148. /** [wx.hideHomeButton(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideHomeButton.html)
  24149. *
  24150. * 需要基础库: `2.8.3`
  24151. *
  24152. * 在插件中使用:不支持
  24153. *
  24154. * 隐藏返回首页按钮。微信7.0.7版本起,当用户打开的小程序最底层页面是非首页时,默认展示“返回首页”按钮,开发者可在页面 onShow 中调用 hideHomeButton 进行隐藏。 */
  24155. hideHomeButton<T extends HideHomeButtonOption = HideHomeButtonOption>(
  24156. option?: T
  24157. ): PromisifySuccessResult<T, HideHomeButtonOption>
  24158. /** [wx.hideKeyboard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.hideKeyboard.html)
  24159. *
  24160. * 需要基础库: `2.8.2`
  24161. *
  24162. * 在插件中使用:不支持
  24163. *
  24164. * 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘
  24165. *
  24166. * **示例代码**
  24167. *
  24168. * ```js
  24169. wx.hideKeyboard({
  24170. complete: res => {
  24171. console.log('hideKeyboard res', res)
  24172. }
  24173. })
  24174. ``` */
  24175. hideKeyboard<T extends HideKeyboardOption = HideKeyboardOption>(
  24176. option?: T
  24177. ): PromisifySuccessResult<T, HideKeyboardOption>
  24178. /** [wx.hideLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideLoading.html)
  24179. *
  24180. * 需要基础库: `1.1.0`
  24181. *
  24182. * 在插件中使用:需要基础库 `1.9.6`
  24183. *
  24184. * 隐藏 loading 提示框 */
  24185. hideLoading<T extends HideLoadingOption = HideLoadingOption>(
  24186. option?: T
  24187. ): PromisifySuccessResult<T, HideLoadingOption>
  24188. /** [wx.hideNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.hideNavigationBarLoading.html)
  24189. *
  24190. * 在插件中使用:需要基础库 `2.1.0`
  24191. *
  24192. * 在插件中使用时,只能在当前插件的页面中调用
  24193. *
  24194. * 在当前页面隐藏导航条加载动画 */
  24195. hideNavigationBarLoading<
  24196. T extends HideNavigationBarLoadingOption = HideNavigationBarLoadingOption
  24197. >(
  24198. option?: T
  24199. ): PromisifySuccessResult<T, HideNavigationBarLoadingOption>
  24200. /** [wx.hideShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.hideShareMenu.html)
  24201. *
  24202. * 需要基础库: `1.1.0`
  24203. *
  24204. * 在插件中使用:需要基础库 `2.1.0`
  24205. *
  24206. * 在插件中使用时,只能在当前插件的页面中调用
  24207. *
  24208. * 隐藏当前页面的转发按钮
  24209. *
  24210. * ****
  24211. *
  24212. * ## 注意事项
  24213. * - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
  24214. * - 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮
  24215. *
  24216. * **示例代码**
  24217. *
  24218. * ```js
  24219. wx.hideShareMenu({
  24220. menus: ['shareAppMessage', 'shareTimeline']
  24221. })
  24222. ``` */
  24223. hideShareMenu<T extends HideShareMenuOption = HideShareMenuOption>(
  24224. option?: T
  24225. ): PromisifySuccessResult<T, HideShareMenuOption>
  24226. /** [wx.hideTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBar.html)
  24227. *
  24228. * 需要基础库: `1.9.0`
  24229. *
  24230. * 在插件中使用:不支持
  24231. *
  24232. * 隐藏 tabBar */
  24233. hideTabBar<T extends HideTabBarOption = HideTabBarOption>(
  24234. option: T
  24235. ): PromisifySuccessResult<T, HideTabBarOption>
  24236. /** [wx.hideTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.hideTabBarRedDot.html)
  24237. *
  24238. * 需要基础库: `1.9.0`
  24239. *
  24240. * 在插件中使用:不支持
  24241. *
  24242. * 隐藏 tabBar 某一项的右上角的红点 */
  24243. hideTabBarRedDot<
  24244. T extends HideTabBarRedDotOption = HideTabBarRedDotOption
  24245. >(
  24246. option: T
  24247. ): PromisifySuccessResult<T, HideTabBarRedDotOption>
  24248. /** [wx.hideToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.hideToast.html)
  24249. *
  24250. * 在插件中使用:需要基础库 `1.9.6`
  24251. *
  24252. * 隐藏消息提示框 */
  24253. hideToast<T extends HideToastOption = HideToastOption>(
  24254. option?: T
  24255. ): PromisifySuccessResult<T, HideToastOption>
  24256. /** [wx.initFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.initFaceDetect.html)
  24257. *
  24258. * 需要基础库: `2.18.0`
  24259. *
  24260. * 在插件中使用:需要基础库 `2.21.3`
  24261. *
  24262. * @warning **该接口已停止维护,推荐使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 代替**
  24263. *
  24264. * 初始化人脸检测。本接口不再维护,请使用 [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)
  24265. *
  24266. * ****
  24267. *
  24268. * ### 特别说明
  24269. * 若小程序人脸识别功能涉及采集、存储用户生物特征(如人脸照片或视频、身份证和手持身份证、身份证照和免冠照等),此类型服务需使用[微信原生人脸识别接口](https://developers.weixin.qq.com/community/develop/doc/000442d352c1202bd498ecb105c00d?highline=%E4%BA%BA%E8%84%B8%E6%A0%B8%E8%BA%AB)。 */
  24270. initFaceDetect(option?: InitFaceDetectOption): void
  24271. /** [wx.isBluetoothDevicePaired(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.isBluetoothDevicePaired.html)
  24272. *
  24273. * 需要基础库: `2.20.1`
  24274. *
  24275. * 在插件中使用:需要基础库 `2.19.1`
  24276. *
  24277. * 查询蓝牙设备是否配对,仅安卓支持。 */
  24278. isBluetoothDevicePaired<
  24279. T extends IsBluetoothDevicePairedOption = IsBluetoothDevicePairedOption
  24280. >(
  24281. option: T
  24282. ): PromisifySuccessResult<T, IsBluetoothDevicePairedOption>
  24283. /** [wx.join1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.join1v1Chat.html)
  24284. *
  24285. * 需要基础库: `2.20.1`
  24286. *
  24287. * 在插件中使用:不支持
  24288. *
  24289. * 加入(创建)双人通话。 */
  24290. join1v1Chat(option: Join1v1ChatOption): void
  24291. /** [wx.joinVoIPChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.joinVoIPChat.html)
  24292. *
  24293. * 需要基础库: `2.7.0`
  24294. *
  24295. * 在插件中使用:需要基础库 `2.9.0`
  24296. *
  24297. * 加入 (创建) 实时语音通话,更多信息可见 [实时语音指南](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/voip-chat.html)。调用前需要用户授权 `scope.record`,若房间类型为视频房间需要用户授权 `scope.camera`。 */
  24298. joinVoIPChat<T extends JoinVoIPChatOption = JoinVoIPChatOption>(
  24299. option: T
  24300. ): PromisifySuccessResult<T, JoinVoIPChatOption>
  24301. /** [wx.loadFontFace(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html)
  24302. *
  24303. * 需要基础库: `2.1.0`
  24304. *
  24305. * 在插件中使用:需要基础库 `2.15.0`
  24306. *
  24307. * 动态加载网络字体,文件地址需为下载类型。[2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html)起支持全局生效,需在 `app.js` 中调用。
  24308. *
  24309. * 注意:
  24310. * 1. 字体文件返回的 content-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。
  24311. * 2. 字体链接必须是https(ios不支持http)
  24312. * 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com`
  24313. * 4. 工具里提示 Faild to load font可以忽略
  24314. * 5. [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 以前仅在调用页面生效。
  24315. *
  24316. * **示例代码**
  24317. *
  24318. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/b6Zrajm67R2x)
  24319. * ```js
  24320. wx.loadFontFace({
  24321. family: 'Bitstream Vera Serif Bold',
  24322. source: 'url("https://res.wx.qq.com/t/wx_fed/base/weixin_portal/res/static/font/33uDySX.ttf")',
  24323. success: console.log
  24324. })
  24325. ``` */
  24326. loadFontFace<T extends LoadFontFaceOption = LoadFontFaceOption>(
  24327. option: T
  24328. ): PromisifySuccessResult<T, LoadFontFaceOption>
  24329. /** [wx.login(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html)
  24330. *
  24331. * 在插件中使用:需要基础库 `2.3.1`
  24332. *
  24333. * 在插件中使用时,需要在用户信息功能页中获得用户授权或满足一定条件后调用。否则将返回 fail。详见 [用户信息功能页](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/user-info.html)
  24334. *
  24335. * 调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台账号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
  24336. *
  24337. * **示例代码**
  24338. *
  24339. * ```js
  24340. wx.login({
  24341. success (res) {
  24342. if (res.code) {
  24343. //发起网络请求
  24344. wx.request({
  24345. url: 'https://example.com/onLogin',
  24346. data: {
  24347. code: res.code
  24348. }
  24349. })
  24350. } else {
  24351. console.log('登录失败!' + res.errMsg)
  24352. }
  24353. }
  24354. })
  24355. ``` */
  24356. login<T extends LoginOption = LoginOption>(
  24357. option?: T
  24358. ): PromisifySuccessResult<T, LoginOption>
  24359. /** [wx.makeBluetoothPair(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.makeBluetoothPair.html)
  24360. *
  24361. * 需要基础库: `2.12.0`
  24362. *
  24363. * 在插件中使用:需要基础库 `2.12.0`
  24364. *
  24365. * 蓝牙配对接口,仅安卓支持。
  24366. *
  24367. * 通常情况下(需要指定 `pin` 码或者密码时)系统会接管配对流程,直接调用 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 即可。该接口只应当在开发者不想让用户手动输入 `pin` 码且真机验证确认可以正常生效情况下用。 */
  24368. makeBluetoothPair<
  24369. T extends MakeBluetoothPairOption = MakeBluetoothPairOption
  24370. >(
  24371. option: T
  24372. ): PromisifySuccessResult<T, MakeBluetoothPairOption>
  24373. /** [wx.makePhoneCall(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/phone/wx.makePhoneCall.html)
  24374. *
  24375. * 在插件中使用:需要基础库 `1.9.6`
  24376. *
  24377. * 拨打电话
  24378. *
  24379. * **示例代码**
  24380. *
  24381. * ```js
  24382. wx.makePhoneCall({
  24383. phoneNumber: '1340000' //仅为示例,并非真实的电话号码
  24384. })
  24385. ``` */
  24386. makePhoneCall<T extends MakePhoneCallOption = MakePhoneCallOption>(
  24387. option: T
  24388. ): PromisifySuccessResult<T, MakePhoneCallOption>
  24389. /** [wx.navigateBack(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html)
  24390. *
  24391. * 在插件中使用:需要基础库 `2.1.0`
  24392. *
  24393. * 在插件中使用时,只能在当前插件的页面中调用
  24394. *
  24395. * 关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages](https://developers.weixin.qq.com/miniprogram/dev/reference/api/getCurrentPages.html) 获取当前的页面栈,决定需要返回几层。 */
  24396. navigateBack<T extends NavigateBackOption = NavigateBackOption>(
  24397. option?: T
  24398. ): PromisifySuccessResult<T, NavigateBackOption>
  24399. /** [wx.navigateBackMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html)
  24400. *
  24401. * 需要基础库: `1.3.0`
  24402. *
  24403. * 在插件中使用:不支持
  24404. *
  24405. * 返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功。
  24406. *
  24407. * 注意:**微信客户端 iOS 6.5.9,Android 6.5.10 及以上版本支持**
  24408. *
  24409. * **示例代码**
  24410. *
  24411. * ```js
  24412. wx.navigateBackMiniProgram({
  24413. extraData: {
  24414. foo: 'bar'
  24415. },
  24416. success(res) {
  24417. // 返回成功
  24418. }
  24419. })
  24420. ``` */
  24421. navigateBackMiniProgram<
  24422. T extends NavigateBackMiniProgramOption = NavigateBackMiniProgramOption
  24423. >(
  24424. option: T
  24425. ): PromisifySuccessResult<T, NavigateBackMiniProgramOption>
  24426. /** [wx.navigateTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html)
  24427. *
  24428. * 在插件中使用:需要基础库 `2.2.2`
  24429. *
  24430. * 在插件中使用时,只能在当前插件的页面中调用
  24431. *
  24432. * 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 [wx.navigateBack](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html) 可以返回到原页面。小程序中页面栈最多十层。
  24433. *
  24434. * **示例代码**
  24435. *
  24436. * ```js
  24437. wx.navigateTo({
  24438. url: 'test?id=1',
  24439. events: {
  24440. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  24441. acceptDataFromOpenedPage: function(data) {
  24442. console.log(data)
  24443. },
  24444. someEvent: function(data) {
  24445. console.log(data)
  24446. }
  24447. ...
  24448. },
  24449. success: function(res) {
  24450. // 通过eventChannel向被打开页面传送数据
  24451. res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  24452. }
  24453. })
  24454. ```
  24455. *
  24456. * ```javascript
  24457. //test.js
  24458. Page({
  24459. onLoad: function(option){
  24460. console.log(option.query)
  24461. const eventChannel = this.getOpenerEventChannel()
  24462. eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
  24463. eventChannel.emit('someEvent', {data: 'test'});
  24464. // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
  24465. eventChannel.on('acceptDataFromOpenerPage', function(data) {
  24466. console.log(data)
  24467. })
  24468. }
  24469. })
  24470. ``` */
  24471. navigateTo<T extends NavigateToOption = NavigateToOption>(
  24472. option: T
  24473. ): PromisifySuccessResult<T, NavigateToOption>
  24474. /** [wx.navigateToMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html)
  24475. *
  24476. * 需要基础库: `1.3.0`
  24477. *
  24478. * 在插件中使用:需要基础库 `2.18.1`
  24479. *
  24480. * 打开另一个小程序
  24481. *
  24482. * **使用限制**
  24483. *
  24484. * ##### 需要用户触发跳转
  24485. * 从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。
  24486. * ##### 需要用户确认跳转
  24487. * 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 `fail cancel`。
  24488. * ##### 无需声明跳转名单,不限跳转数量(众测中)
  24489. * 1. 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
  24490. * 2. 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。
  24491. *
  24492. * **运营规范**
  24493. *
  24494. * 平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守[《微信小程序平台运营规范》](https://developers.weixin.qq.com/miniprogram/product/#_5-10-%E4%BA%92%E6%8E%A8%E8%A1%8C%E4%B8%BA),若发现小程序违反运营规范将被下架处理。
  24495. *
  24496. * **关于调试**
  24497. *
  24498. * - 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持)
  24499. * - 开发者工具上支持被跳转的小程序处理接收参数的调试。[详情](https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html#跳转小程序调试支持)
  24500. *
  24501. * **示例代码**
  24502. *
  24503. * ```js
  24504. wx.navigateToMiniProgram({
  24505. appId: '',
  24506. path: 'page/index/index?id=123',
  24507. extraData: {
  24508. foo: 'bar'
  24509. },
  24510. envVersion: 'develop',
  24511. success(res) {
  24512. // 打开成功
  24513. }
  24514. })
  24515. ``` */
  24516. navigateToMiniProgram<
  24517. T extends NavigateToMiniProgramOption = NavigateToMiniProgramOption
  24518. >(
  24519. option: T
  24520. ): PromisifySuccessResult<T, NavigateToMiniProgramOption>
  24521. /** [wx.nextTick(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/custom-component/wx.nextTick.html)
  24522. *
  24523. * 需要基础库: `2.2.3`
  24524. *
  24525. * 在插件中使用:需要基础库 `2.7.1`
  24526. *
  24527. * 延迟一部分操作到下一个时间片再执行。(类似于 setTimeout)
  24528. *
  24529. * **说明**
  24530. *
  24531. * 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。
  24532. *
  24533. * 一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。
  24534. *
  24535. * **示例代码**
  24536. *
  24537. * ```js
  24538. Component({
  24539. doSth() {
  24540. this.setData({ number: 1 }) // 直接在当前同步流程中执行
  24541. wx.nextTick(() => {
  24542. this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行
  24543. })
  24544. this.setData({ number: 2 }) // 直接在当前同步流程中执行
  24545. }
  24546. })
  24547. ``` */
  24548. nextTick(callback: (...args: any[]) => any): void
  24549. /** [wx.notifyBLECharacteristicValueChange(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html)
  24550. *
  24551. * 需要基础库: `1.1.0`
  24552. *
  24553. * 在插件中使用:需要基础库 `1.9.6`
  24554. *
  24555. * 启用蓝牙低功耗设备特征值变化时的 notify 功能,订阅特征。注意:必须设备的特征支持 notify 或者 indicate 才可以成功调用。
  24556. *
  24557. * 另外,必须先启用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 才能监听到设备 `characteristicValueChange` 事件
  24558. *
  24559. * **注意**
  24560. *
  24561. * - 订阅操作成功后需要设备主动更新特征的 value,才会触发 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 回调。
  24562. * - 安卓平台上,在本接口调用成功后立即调用 [wx.writeBLECharacteristicValue](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html) 接口,在部分机型上会发生 10008 系统错误
  24563. *
  24564. * **示例代码**
  24565. *
  24566. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  24567. * ```js
  24568. wx.notifyBLECharacteristicValueChange({
  24569. state: true, // 启用 notify 功能
  24570. // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
  24571. deviceId,
  24572. // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
  24573. serviceId,
  24574. // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
  24575. characteristicId,
  24576. success (res) {
  24577. console.log('notifyBLECharacteristicValueChange success', res.errMsg)
  24578. }
  24579. })
  24580. ``` */
  24581. notifyBLECharacteristicValueChange<
  24582. T extends NotifyBLECharacteristicValueChangeOption = NotifyBLECharacteristicValueChangeOption
  24583. >(
  24584. option: T
  24585. ): PromisifySuccessResult<T, NotifyBLECharacteristicValueChangeOption>
  24586. /** [wx.offAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.offAccelerometerChange.html)
  24587. *
  24588. * 需要基础库: `2.9.3`
  24589. *
  24590. * 在插件中使用:需要基础库 `2.9.1`
  24591. *
  24592. * 移除加速度数据事件的监听函数
  24593. *
  24594. * **示例代码**
  24595. *
  24596. * ```js
  24597. const listener = function (res) { console.log(res) }
  24598. wx.onAccelerometerChange(listener)
  24599. wx.offAccelerometerChange(listener) // 需传入与监听时同一个的函数对象
  24600. ``` */
  24601. offAccelerometerChange(
  24602. /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24603. listener?: OffAccelerometerChangeCallback
  24604. ): void
  24605. /** [wx.offAfterPageLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offAfterPageLoad.html)
  24606. *
  24607. * 需要基础库: `3.5.5`
  24608. *
  24609. * 在插件中使用:需要基础库 `3.5.5`
  24610. *
  24611. * 移除路由事件的监听函数
  24612. *
  24613. * **示例代码**
  24614. *
  24615. * ```js
  24616. const listener = function (res) { console.log(res) }
  24617. wx.onAfterPageLoad(listener)
  24618. wx.offAfterPageLoad(listener) // 需传入与监听时同一个的函数对象
  24619. ``` */
  24620. offAfterPageLoad(
  24621. /** onAfterPageLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  24622. listener?: OffAfterPageLoadCallback
  24623. ): void
  24624. /** [wx.offAfterPageUnload(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offAfterPageUnload.html)
  24625. *
  24626. * 需要基础库: `3.5.5`
  24627. *
  24628. * 在插件中使用:需要基础库 `3.5.5`
  24629. *
  24630. * 移除路由事件的监听函数
  24631. *
  24632. * **示例代码**
  24633. *
  24634. * ```js
  24635. const listener = function (res) { console.log(res) }
  24636. wx.onAfterPageUnload(listener)
  24637. wx.offAfterPageUnload(listener) // 需传入与监听时同一个的函数对象
  24638. ``` */
  24639. offAfterPageUnload(
  24640. /** onAfterPageUnload 传入的监听函数。不传此参数则移除所有监听函数。 */
  24641. listener?: OffAfterPageUnloadCallback
  24642. ): void
  24643. /** [wx.offApiCategoryChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.offApiCategoryChange.html)
  24644. *
  24645. * 需要基础库: `2.33.0`
  24646. *
  24647. * 在插件中使用:不支持
  24648. *
  24649. * 移除 API 类别变化事件的监听函数
  24650. *
  24651. * **示例代码**
  24652. *
  24653. * ```js
  24654. const listener = function (res) { console.log(res) }
  24655. wx.onApiCategoryChange(listener)
  24656. wx.offApiCategoryChange(listener) // 需传入与监听时同一个的函数对象
  24657. ``` */
  24658. offApiCategoryChange(
  24659. /** onApiCategoryChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24660. listener?: OffApiCategoryChangeCallback
  24661. ): void
  24662. /** [wx.offAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppHide.html)
  24663. *
  24664. * 需要基础库: `2.1.2`
  24665. *
  24666. * 在插件中使用:不支持
  24667. *
  24668. * 移除小程序切后台事件的监听函数
  24669. *
  24670. * **示例代码**
  24671. *
  24672. * ```js
  24673. const listener = function (res) { console.log(res) }
  24674. wx.onAppHide(listener)
  24675. wx.offAppHide(listener) // 需传入与监听时同一个的函数对象
  24676. ``` */
  24677. offAppHide(
  24678. /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */
  24679. listener?: OffAppHideCallback
  24680. ): void
  24681. /** [wx.offAppRoute(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offAppRoute.html)
  24682. *
  24683. * 需要基础库: `3.5.5`
  24684. *
  24685. * 在插件中使用:需要基础库 `3.5.5`
  24686. *
  24687. * 移除路由事件的监听函数
  24688. *
  24689. * **示例代码**
  24690. *
  24691. * ```js
  24692. const listener = function (res) { console.log(res) }
  24693. wx.onAppRoute(listener)
  24694. wx.offAppRoute(listener) // 需传入与监听时同一个的函数对象
  24695. ``` */
  24696. offAppRoute(
  24697. /** onAppRoute 传入的监听函数。不传此参数则移除所有监听函数。 */
  24698. listener?: OffAppRouteCallback
  24699. ): void
  24700. /** [wx.offAppRouteDone(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offAppRouteDone.html)
  24701. *
  24702. * 需要基础库: `3.5.5`
  24703. *
  24704. * 在插件中使用:需要基础库 `3.5.5`
  24705. *
  24706. * 移除当前路由动画执行完成的事件的监听函数
  24707. *
  24708. * **示例代码**
  24709. *
  24710. * ```js
  24711. const listener = function (res) { console.log(res) }
  24712. wx.onAppRouteDone(listener)
  24713. wx.offAppRouteDone(listener) // 需传入与监听时同一个的函数对象
  24714. ``` */
  24715. offAppRouteDone(
  24716. /** onAppRouteDone 传入的监听函数。不传此参数则移除所有监听函数。 */
  24717. listener?: OffAppRouteDoneCallback
  24718. ): void
  24719. /** [wx.offAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAppShow.html)
  24720. *
  24721. * 需要基础库: `2.1.2`
  24722. *
  24723. * 在插件中使用:不支持
  24724. *
  24725. * 移除小程序切前台事件的监听函数
  24726. *
  24727. * **示例代码**
  24728. *
  24729. * ```js
  24730. const listener = function (res) { console.log(res) }
  24731. wx.onAppShow(listener)
  24732. wx.offAppShow(listener) // 需传入与监听时同一个的函数对象
  24733. ``` */
  24734. offAppShow(
  24735. /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */
  24736. listener?: OffAppShowCallback
  24737. ): void
  24738. /** [wx.offAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionBegin.html)
  24739. *
  24740. * 需要基础库: `2.6.2`
  24741. *
  24742. * 在插件中使用:需要基础库 `2.15.0`
  24743. *
  24744. * 移除音频因为受到系统占用而被中断开始事件的监听函数
  24745. *
  24746. * **示例代码**
  24747. *
  24748. * ```js
  24749. const listener = function (res) { console.log(res) }
  24750. wx.onAudioInterruptionBegin(listener)
  24751. wx.offAudioInterruptionBegin(listener) // 需传入与监听时同一个的函数对象
  24752. ``` */
  24753. offAudioInterruptionBegin(
  24754. /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */
  24755. listener?: OffAudioInterruptionBeginCallback
  24756. ): void
  24757. /** [wx.offAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offAudioInterruptionEnd.html)
  24758. *
  24759. * 需要基础库: `2.6.2`
  24760. *
  24761. * 在插件中使用:需要基础库 `2.15.0`
  24762. *
  24763. * 移除音频中断结束事件的监听函数
  24764. *
  24765. * **示例代码**
  24766. *
  24767. * ```js
  24768. const listener = function (res) { console.log(res) }
  24769. wx.onAudioInterruptionEnd(listener)
  24770. wx.offAudioInterruptionEnd(listener) // 需传入与监听时同一个的函数对象
  24771. ``` */
  24772. offAudioInterruptionEnd(
  24773. /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */
  24774. listener?: OffAudioInterruptionEndCallback
  24775. ): void
  24776. /** [wx.offBLECharacteristicValueChange()](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLECharacteristicValueChange.html)
  24777. *
  24778. * 需要基础库: `2.9.0`
  24779. *
  24780. * 在插件中使用:需要基础库 `2.9.1`
  24781. *
  24782. * 移除蓝牙低功耗设备的特征值变化事件的全部监听函数
  24783. *
  24784. * **示例代码**
  24785. *
  24786. * ```js
  24787. wx.offBLECharacteristicValueChange()
  24788. ``` */
  24789. offBLECharacteristicValueChange(): void
  24790. /** [wx.offBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html)
  24791. *
  24792. * 需要基础库: `2.9.0`
  24793. *
  24794. * 在插件中使用:需要基础库 `2.9.1`
  24795. *
  24796. * 移除蓝牙低功耗连接状态改变事件的监听函数
  24797. *
  24798. * **示例代码**
  24799. *
  24800. * ```js
  24801. const listener = function (res) { console.log(res) }
  24802. wx.onBLEConnectionStateChange(listener)
  24803. wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象
  24804. ``` */
  24805. offBLEConnectionStateChange(
  24806. /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24807. listener?: OffBLEConnectionStateChangeCallback
  24808. ): void
  24809. /** [wx.offBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEMTUChange.html)
  24810. *
  24811. * 需要基础库: `2.20.1`
  24812. *
  24813. * 在插件中使用:需要基础库 `2.20.1`
  24814. *
  24815. * 移除蓝牙低功耗的最大传输单元变化事件的监听函数
  24816. *
  24817. * **示例代码**
  24818. *
  24819. * ```js
  24820. const listener = function (res) { console.log(res) }
  24821. wx.onBLEMTUChange(listener)
  24822. wx.offBLEMTUChange(listener) // 需传入与监听时同一个的函数对象
  24823. ``` */
  24824. offBLEMTUChange(
  24825. /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24826. listener?: OffBLEMTUChangeCallback
  24827. ): void
  24828. /** [wx.offBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.offBLEPeripheralConnectionStateChanged.html)
  24829. *
  24830. * 需要基础库: `2.10.3`
  24831. *
  24832. * 在插件中使用:需要基础库 `2.22.1`
  24833. *
  24834. * 移除当前外围设备被连接或断开连接事件的监听函数
  24835. *
  24836. * **示例代码**
  24837. *
  24838. * ```js
  24839. const listener = function (res) { console.log(res) }
  24840. wx.onBLEPeripheralConnectionStateChanged(listener)
  24841. wx.offBLEPeripheralConnectionStateChanged(listener) // 需传入与监听时同一个的函数对象
  24842. ``` */
  24843. offBLEPeripheralConnectionStateChanged(
  24844. /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  24845. listener?: OffBLEPeripheralConnectionStateChangedCallback
  24846. ): void
  24847. /** [wx.offBatteryInfoChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.offBatteryInfoChange.html)
  24848. *
  24849. * 需要基础库: `3.4.3`
  24850. *
  24851. * 在插件中使用:不支持
  24852. *
  24853. * 移除电池信息变化事件的监听函数
  24854. *
  24855. * **示例代码**
  24856. *
  24857. * ```js
  24858. const listener = function (res) { console.log(res) }
  24859. wx.onBatteryInfoChange(listener)
  24860. wx.offBatteryInfoChange(listener) // 需传入与监听时同一个的函数对象
  24861. ``` */
  24862. offBatteryInfoChange(
  24863. /** onBatteryInfoChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24864. listener?: OffBatteryInfoChangeCallback
  24865. ): void
  24866. /** [wx.offBeaconServiceChange()](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconServiceChange.html)
  24867. *
  24868. * 需要基础库: `2.8.1`
  24869. *
  24870. * 在插件中使用:需要基础库 `2.9.1`
  24871. *
  24872. * 移除 Beacon 服务状态变化事件的全部监听函数
  24873. *
  24874. * **示例代码**
  24875. *
  24876. * ```js
  24877. wx.offBeaconServiceChange()
  24878. ``` */
  24879. offBeaconServiceChange(): void
  24880. /** [wx.offBeaconUpdate()](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.offBeaconUpdate.html)
  24881. *
  24882. * 需要基础库: `2.8.1`
  24883. *
  24884. * 在插件中使用:需要基础库 `2.9.1`
  24885. *
  24886. * 移除 Beacon 设备更新事件的全部监听函数
  24887. *
  24888. * **示例代码**
  24889. *
  24890. * ```js
  24891. wx.offBeaconUpdate()
  24892. ``` */
  24893. offBeaconUpdate(): void
  24894. /** [wx.offBeforeAppRoute(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offBeforeAppRoute.html)
  24895. *
  24896. * 需要基础库: `3.5.5`
  24897. *
  24898. * 在插件中使用:需要基础库 `3.5.5`
  24899. *
  24900. * 移除路由事件的监听函数
  24901. *
  24902. * **示例代码**
  24903. *
  24904. * ```js
  24905. const listener = function (res) { console.log(res) }
  24906. wx.onBeforeAppRoute(listener)
  24907. wx.offBeforeAppRoute(listener) // 需传入与监听时同一个的函数对象
  24908. ``` */
  24909. offBeforeAppRoute(
  24910. /** onBeforeAppRoute 传入的监听函数。不传此参数则移除所有监听函数。 */
  24911. listener?: OffBeforeAppRouteCallback
  24912. ): void
  24913. /** [wx.offBeforePageLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offBeforePageLoad.html)
  24914. *
  24915. * 需要基础库: `3.5.5`
  24916. *
  24917. * 在插件中使用:需要基础库 `3.5.5`
  24918. *
  24919. * 移除路由事件的监听函数
  24920. *
  24921. * **示例代码**
  24922. *
  24923. * ```js
  24924. const listener = function (res) { console.log(res) }
  24925. wx.onBeforePageLoad(listener)
  24926. wx.offBeforePageLoad(listener) // 需传入与监听时同一个的函数对象
  24927. ``` */
  24928. offBeforePageLoad(
  24929. /** onBeforePageLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  24930. listener?: OffBeforePageLoadCallback
  24931. ): void
  24932. /** [wx.offBeforePageUnload(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.offBeforePageUnload.html)
  24933. *
  24934. * 需要基础库: `3.5.5`
  24935. *
  24936. * 在插件中使用:需要基础库 `3.5.5`
  24937. *
  24938. * 移除路由事件的监听函数
  24939. *
  24940. * **示例代码**
  24941. *
  24942. * ```js
  24943. const listener = function (res) { console.log(res) }
  24944. wx.onBeforePageUnload(listener)
  24945. wx.offBeforePageUnload(listener) // 需传入与监听时同一个的函数对象
  24946. ``` */
  24947. offBeforePageUnload(
  24948. /** onBeforePageUnload 传入的监听函数。不传此参数则移除所有监听函数。 */
  24949. listener?: OffBeforePageUnloadCallback
  24950. ): void
  24951. /** [wx.offBluetoothAdapterStateChange()](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothAdapterStateChange.html)
  24952. *
  24953. * 需要基础库: `2.9.0`
  24954. *
  24955. * 在插件中使用:需要基础库 `2.9.1`
  24956. *
  24957. * 移除蓝牙适配器状态变化事件的全部监听函数
  24958. *
  24959. * **示例代码**
  24960. *
  24961. * ```js
  24962. wx.offBluetoothAdapterStateChange()
  24963. ``` */
  24964. offBluetoothAdapterStateChange(): void
  24965. /** [wx.offBluetoothDeviceFound()](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.offBluetoothDeviceFound.html)
  24966. *
  24967. * 需要基础库: `2.9.0`
  24968. *
  24969. * 在插件中使用:需要基础库 `2.9.1`
  24970. *
  24971. * 移除搜索到新设备的事件的全部监听函数
  24972. *
  24973. * **示例代码**
  24974. *
  24975. * ```js
  24976. wx.offBluetoothDeviceFound()
  24977. ``` */
  24978. offBluetoothDeviceFound(): void
  24979. /** [wx.offCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.offCompassChange.html)
  24980. *
  24981. * 需要基础库: `2.9.3`
  24982. *
  24983. * 在插件中使用:需要基础库 `2.9.1`
  24984. *
  24985. * 移除罗盘数据变化事件的监听函数
  24986. *
  24987. * **示例代码**
  24988. *
  24989. * ```js
  24990. const listener = function (res) { console.log(res) }
  24991. wx.onCompassChange(listener)
  24992. wx.offCompassChange(listener) // 需传入与监听时同一个的函数对象
  24993. ``` */
  24994. offCompassChange(
  24995. /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  24996. listener?: OffCompassChangeCallback
  24997. ): void
  24998. /** [wx.offCopyUrl()](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.offCopyUrl.html)
  24999. *
  25000. * 需要基础库: `2.14.3`
  25001. *
  25002. * 在插件中使用:不支持
  25003. *
  25004. * 移除用户点击右上角菜单的「复制链接」按钮时触发的事件的全部监听函数 */
  25005. offCopyUrl(): void
  25006. /** [wx.offDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.offDeviceMotionChange.html)
  25007. *
  25008. * 需要基础库: `2.9.3`
  25009. *
  25010. * 在插件中使用:需要基础库 `2.9.1`
  25011. *
  25012. * 移除设备方向变化事件的监听函数
  25013. *
  25014. * **示例代码**
  25015. *
  25016. * ```js
  25017. const listener = function (res) { console.log(res) }
  25018. wx.onDeviceMotionChange(listener)
  25019. wx.offDeviceMotionChange(listener) // 需传入与监听时同一个的函数对象
  25020. ``` */
  25021. offDeviceMotionChange(
  25022. /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25023. listener?: OffDeviceMotionChangeCallback
  25024. ): void
  25025. /** [wx.offEmbeddedMiniProgramHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.offEmbeddedMiniProgramHeightChange.html)
  25026. *
  25027. * 需要基础库: `2.33.0`
  25028. *
  25029. * 在插件中使用:不支持
  25030. *
  25031. * 移除半屏小程序可视高度变化事件的监听函数
  25032. *
  25033. * **示例代码**
  25034. *
  25035. * ```js
  25036. const listener = function (res) { console.log(res) }
  25037. wx.onEmbeddedMiniProgramHeightChange(listener)
  25038. wx.offEmbeddedMiniProgramHeightChange(listener) // 需传入与监听时同一个的函数对象
  25039. ``` */
  25040. offEmbeddedMiniProgramHeightChange(
  25041. /** onEmbeddedMiniProgramHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25042. listener?: OffEmbeddedMiniProgramHeightChangeCallback
  25043. ): void
  25044. /** [wx.offError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offError.html)
  25045. *
  25046. * 需要基础库: `2.1.2`
  25047. *
  25048. * 在插件中使用:不支持
  25049. *
  25050. * 移除小程序错误事件的监听函数
  25051. *
  25052. * **示例代码**
  25053. *
  25054. * ```js
  25055. const listener = function (res) { console.log(res) }
  25056. wx.onError(listener)
  25057. wx.offError(listener) // 需传入与监听时同一个的函数对象
  25058. ``` */
  25059. offError(
  25060. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  25061. listener?: WxOffErrorCallback
  25062. ): void
  25063. /** [wx.offGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offGetWifiList.html)
  25064. *
  25065. * 需要基础库: `2.9.0`
  25066. *
  25067. * 在插件中使用:需要基础库 `2.9.1`
  25068. *
  25069. * 移除获取到 Wi-Fi 列表数据事件的监听函数
  25070. *
  25071. * **示例代码**
  25072. *
  25073. * ```js
  25074. const listener = function (res) { console.log(res) }
  25075. wx.onGetWifiList(listener)
  25076. wx.offGetWifiList(listener) // 需传入与监听时同一个的函数对象
  25077. ``` */
  25078. offGetWifiList(
  25079. /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */
  25080. listener?: OffGetWifiListCallback
  25081. ): void
  25082. /** [wx.offGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.offGyroscopeChange.html)
  25083. *
  25084. * 需要基础库: `2.9.3`
  25085. *
  25086. * 在插件中使用:需要基础库 `2.9.1`
  25087. *
  25088. * 移除陀螺仪数据变化事件的监听函数
  25089. *
  25090. * **示例代码**
  25091. *
  25092. * ```js
  25093. const listener = function (res) { console.log(res) }
  25094. wx.onGyroscopeChange(listener)
  25095. wx.offGyroscopeChange(listener) // 需传入与监听时同一个的函数对象
  25096. ``` */
  25097. offGyroscopeChange(
  25098. /** onGyroscopeChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25099. listener?: OffGyroscopeChangeCallback
  25100. ): void
  25101. /** [wx.offHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.offHCEMessage.html)
  25102. *
  25103. * 需要基础库: `2.8.1`
  25104. *
  25105. * 在插件中使用:需要基础库 `2.9.1`
  25106. *
  25107. * 移除接收 NFC 设备消息事件的监听函数
  25108. *
  25109. * **示例代码**
  25110. *
  25111. * ```js
  25112. const listener = function (res) { console.log(res) }
  25113. wx.onHCEMessage(listener)
  25114. wx.offHCEMessage(listener) // 需传入与监听时同一个的函数对象
  25115. ``` */
  25116. offHCEMessage(
  25117. /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  25118. listener?: OffHCEMessageCallback
  25119. ): void
  25120. /** [wx.offKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.offKeyboardHeightChange.html)
  25121. *
  25122. * 需要基础库: `2.9.2`
  25123. *
  25124. * 在插件中使用:不支持
  25125. *
  25126. * 移除键盘高度变化事件的监听函数
  25127. *
  25128. * **示例代码**
  25129. *
  25130. * ```js
  25131. const listener = function (res) { console.log(res) }
  25132. wx.onKeyboardHeightChange(listener)
  25133. wx.offKeyboardHeightChange(listener) // 需传入与监听时同一个的函数对象
  25134. ``` */
  25135. offKeyboardHeightChange(
  25136. /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25137. listener?: OffKeyboardHeightChangeCallback
  25138. ): void
  25139. /** [wx.offLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offLazyLoadError.html)
  25140. *
  25141. * 需要基础库: `2.24.3`
  25142. *
  25143. * 在插件中使用:不支持
  25144. *
  25145. * 移除小程序异步组件加载失败事件的监听函数
  25146. *
  25147. * **示例代码**
  25148. *
  25149. * ```js
  25150. const listener = function (res) { console.log(res) }
  25151. wx.onLazyLoadError(listener)
  25152. wx.offLazyLoadError(listener) // 需传入与监听时同一个的函数对象
  25153. ``` */
  25154. offLazyLoadError(
  25155. /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */
  25156. listener?: OffLazyLoadErrorCallback
  25157. ): void
  25158. /** [wx.offLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceDiscoveryStop.html)
  25159. *
  25160. * 需要基础库: `2.4.0`
  25161. *
  25162. * 在插件中使用:需要基础库 `2.15.0`
  25163. *
  25164. * 移除 mDNS 服务停止搜索的事件的监听函数
  25165. *
  25166. * **示例代码**
  25167. *
  25168. * ```js
  25169. const listener = function (res) { console.log(res) }
  25170. wx.onLocalServiceDiscoveryStop(listener)
  25171. wx.offLocalServiceDiscoveryStop(listener) // 需传入与监听时同一个的函数对象
  25172. ``` */
  25173. offLocalServiceDiscoveryStop(
  25174. /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */
  25175. listener?: OffLocalServiceDiscoveryStopCallback
  25176. ): void
  25177. /** [wx.offLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceFound.html)
  25178. *
  25179. * 需要基础库: `2.4.0`
  25180. *
  25181. * 在插件中使用:需要基础库 `2.15.0`
  25182. *
  25183. * 移除 mDNS 服务发现的事件的监听函数
  25184. *
  25185. * **示例代码**
  25186. *
  25187. * ```js
  25188. const listener = function (res) { console.log(res) }
  25189. wx.onLocalServiceFound(listener)
  25190. wx.offLocalServiceFound(listener) // 需传入与监听时同一个的函数对象
  25191. ``` */
  25192. offLocalServiceFound(
  25193. /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */
  25194. listener?: OffLocalServiceFoundCallback
  25195. ): void
  25196. /** [wx.offLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceLost.html)
  25197. *
  25198. * 需要基础库: `2.4.0`
  25199. *
  25200. * 在插件中使用:需要基础库 `2.15.0`
  25201. *
  25202. * 移除 mDNS 服务离开的事件的监听函数
  25203. *
  25204. * **示例代码**
  25205. *
  25206. * ```js
  25207. const listener = function (res) { console.log(res) }
  25208. wx.onLocalServiceLost(listener)
  25209. wx.offLocalServiceLost(listener) // 需传入与监听时同一个的函数对象
  25210. ``` */
  25211. offLocalServiceLost(
  25212. /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */
  25213. listener?: OffLocalServiceLostCallback
  25214. ): void
  25215. /** [wx.offLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.offLocalServiceResolveFail.html)
  25216. *
  25217. * 需要基础库: `2.4.0`
  25218. *
  25219. * 在插件中使用:需要基础库 `2.15.0`
  25220. *
  25221. * 移除 mDNS 服务解析失败的事件的监听函数
  25222. *
  25223. * **示例代码**
  25224. *
  25225. * ```js
  25226. const listener = function (res) { console.log(res) }
  25227. wx.onLocalServiceResolveFail(listener)
  25228. wx.offLocalServiceResolveFail(listener) // 需传入与监听时同一个的函数对象
  25229. ``` */
  25230. offLocalServiceResolveFail(
  25231. /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */
  25232. listener?: OffLocalServiceResolveFailCallback
  25233. ): void
  25234. /** [wx.offLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChange.html)
  25235. *
  25236. * 需要基础库: `2.8.1`
  25237. *
  25238. * 在插件中使用:不支持
  25239. *
  25240. * 移除实时地理位置变化事件的监听函数
  25241. *
  25242. * **示例代码**
  25243. *
  25244. * ```js
  25245. const listener = function (res) { console.log(res) }
  25246. wx.onLocationChange(listener)
  25247. wx.offLocationChange(listener) // 需传入与监听时同一个的函数对象
  25248. ``` */
  25249. offLocationChange(
  25250. /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25251. listener?: OffLocationChangeCallback
  25252. ): void
  25253. /** [wx.offLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.offLocationChangeError.html)
  25254. *
  25255. * 需要基础库: `2.19.5`
  25256. *
  25257. * 在插件中使用:不支持
  25258. *
  25259. * 移除持续定位接口返回失败时触发。的监听函数
  25260. *
  25261. * **示例代码**
  25262. *
  25263. * ```js
  25264. const listener = function (res) { console.log(res) }
  25265. wx.onLocationChangeError(listener)
  25266. wx.offLocationChangeError(listener) // 需传入与监听时同一个的函数对象
  25267. ``` */
  25268. offLocationChangeError(
  25269. /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */
  25270. listener?: OffLocationChangeErrorCallback
  25271. ): void
  25272. /** [wx.offMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.offMemoryWarning.html)
  25273. *
  25274. * 需要基础库: `2.9.0`
  25275. *
  25276. * 在插件中使用:不支持
  25277. *
  25278. * 移除内存不足告警事件的监听函数
  25279. *
  25280. * **示例代码**
  25281. *
  25282. * ```js
  25283. const listener = function (res) { console.log(res) }
  25284. wx.onMemoryWarning(listener)
  25285. wx.offMemoryWarning(listener) // 需传入与监听时同一个的函数对象
  25286. ``` */
  25287. offMemoryWarning(
  25288. /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */
  25289. listener?: OffMemoryWarningCallback
  25290. ): void
  25291. /** [wx.offMenuButtonBoundingClientRectWeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.offMenuButtonBoundingClientRectWeightChange.html)
  25292. *
  25293. * 需要基础库: `3.4.3`
  25294. *
  25295. * 在插件中使用:不支持
  25296. *
  25297. * 移除菜单按钮(右上角胶囊按钮)的布局位置信息变化事件的监听函数
  25298. *
  25299. * **示例代码**
  25300. *
  25301. * ```js
  25302. const listener = function (res) { console.log(res) }
  25303. wx.onMenuButtonBoundingClientRectWeightChange(listener)
  25304. wx.offMenuButtonBoundingClientRectWeightChange(listener) // 需传入与监听时同一个的函数对象
  25305. ``` */
  25306. offMenuButtonBoundingClientRectWeightChange(
  25307. /** onMenuButtonBoundingClientRectWeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25308. listener?: OffMenuButtonBoundingClientRectWeightChangeCallback
  25309. ): void
  25310. /** [wx.offNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html)
  25311. *
  25312. * 需要基础库: `2.9.3`
  25313. *
  25314. * 在插件中使用:需要基础库 `2.9.1`
  25315. *
  25316. * 移除网络状态变化事件的监听函数
  25317. *
  25318. * **示例代码**
  25319. *
  25320. * ```js
  25321. const listener = function (res) { console.log(res) }
  25322. wx.onNetworkStatusChange(listener)
  25323. wx.offNetworkStatusChange(listener) // 需传入与监听时同一个的函数对象
  25324. ``` */
  25325. offNetworkStatusChange(
  25326. /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25327. listener?: OffNetworkStatusChangeCallback
  25328. ): void
  25329. /** [wx.offNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html)
  25330. *
  25331. * 需要基础库: `2.21.0`
  25332. *
  25333. * 在插件中使用:不支持
  25334. *
  25335. * 移除弱网状态变化事件的监听函数
  25336. *
  25337. * **示例代码**
  25338. *
  25339. * ```js
  25340. const listener = function (res) { console.log(res) }
  25341. wx.onNetworkWeakChange(listener)
  25342. wx.offNetworkWeakChange(listener) // 需传入与监听时同一个的函数对象
  25343. ``` */
  25344. offNetworkWeakChange(
  25345. /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25346. listener?: OffNetworkWeakChangeCallback
  25347. ): void
  25348. /** [wx.offPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offPageNotFound.html)
  25349. *
  25350. * 需要基础库: `2.1.2`
  25351. *
  25352. * 在插件中使用:不支持
  25353. *
  25354. * 移除小程序要打开的页面不存在事件的监听函数
  25355. *
  25356. * **示例代码**
  25357. *
  25358. * ```js
  25359. const listener = function (res) { console.log(res) }
  25360. wx.onPageNotFound(listener)
  25361. wx.offPageNotFound(listener) // 需传入与监听时同一个的函数对象
  25362. ``` */
  25363. offPageNotFound(
  25364. /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */
  25365. listener?: OffPageNotFoundCallback
  25366. ): void
  25367. /** [wx.offScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offScreenRecordingStateChanged.html)
  25368. *
  25369. * 需要基础库: `2.24.0`
  25370. *
  25371. * 在插件中使用:不支持
  25372. *
  25373. * 移除用户录屏事件的监听函数
  25374. *
  25375. * **示例代码**
  25376. *
  25377. * ```js
  25378. const listener = function (res) { console.log(res) }
  25379. wx.onScreenRecordingStateChanged(listener)
  25380. wx.offScreenRecordingStateChanged(listener) // 需传入与监听时同一个的函数对象
  25381. ``` */
  25382. offScreenRecordingStateChanged(
  25383. /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  25384. listener?: OffScreenRecordingStateChangedCallback
  25385. ): void
  25386. /** [wx.offThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offThemeChange.html)
  25387. *
  25388. * 需要基础库: `2.11.0`
  25389. *
  25390. * 在插件中使用:不支持
  25391. *
  25392. * 移除系统主题改变事件的监听函数
  25393. *
  25394. * **示例代码**
  25395. *
  25396. * ```js
  25397. const listener = function (res) { console.log(res) }
  25398. wx.onThemeChange(listener)
  25399. wx.offThemeChange(listener) // 需传入与监听时同一个的函数对象
  25400. ``` */
  25401. offThemeChange(
  25402. /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  25403. listener?: OffThemeChangeCallback
  25404. ): void
  25405. /** [wx.offUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.offUnhandledRejection.html)
  25406. *
  25407. * 需要基础库: `2.10.0`
  25408. *
  25409. * 在插件中使用:不支持
  25410. *
  25411. * 移除未处理的 Promise 拒绝事件的监听函数
  25412. *
  25413. * **示例代码**
  25414. *
  25415. * ```js
  25416. const listener = function (res) { console.log(res) }
  25417. wx.onUnhandledRejection(listener)
  25418. wx.offUnhandledRejection(listener) // 需传入与监听时同一个的函数对象
  25419. ``` */
  25420. offUnhandledRejection(
  25421. /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */
  25422. listener?: OffUnhandledRejectionCallback
  25423. ): void
  25424. /** [wx.offUserCaptureScreen(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.offUserCaptureScreen.html)
  25425. *
  25426. * 需要基础库: `2.9.3`
  25427. *
  25428. * 在插件中使用:需要基础库 `2.9.1`
  25429. *
  25430. * 在插件中使用时,只能在当前插件的页面中调用
  25431. *
  25432. * 用户主动截屏事件。取消事件监听。 */
  25433. offUserCaptureScreen(
  25434. /** 用户主动截屏事件的回调函数 */
  25435. callback?: (...args: any[]) => any
  25436. ): void
  25437. /** [wx.offVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatInterrupted.html)
  25438. *
  25439. * 需要基础库: `2.9.0`
  25440. *
  25441. * 在插件中使用:需要基础库 `2.9.1`
  25442. *
  25443. * 移除被动断开实时语音通话事件的监听函数
  25444. *
  25445. * **示例代码**
  25446. *
  25447. * ```js
  25448. const listener = function (res) { console.log(res) }
  25449. wx.onVoIPChatInterrupted(listener)
  25450. wx.offVoIPChatInterrupted(listener) // 需传入与监听时同一个的函数对象
  25451. ``` */
  25452. offVoIPChatInterrupted(
  25453. /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */
  25454. listener?: OffVoIPChatInterruptedCallback
  25455. ): void
  25456. /** [wx.offVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatMembersChanged.html)
  25457. *
  25458. * 需要基础库: `2.9.0`
  25459. *
  25460. * 在插件中使用:需要基础库 `2.9.1`
  25461. *
  25462. * 移除实时语音通话成员在线状态变化事件的监听函数
  25463. *
  25464. * **示例代码**
  25465. *
  25466. * ```js
  25467. const listener = function (res) { console.log(res) }
  25468. wx.onVoIPChatMembersChanged(listener)
  25469. wx.offVoIPChatMembersChanged(listener) // 需传入与监听时同一个的函数对象
  25470. ``` */
  25471. offVoIPChatMembersChanged(
  25472. /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  25473. listener?: OffVoIPChatMembersChangedCallback
  25474. ): void
  25475. /** [wx.offVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatSpeakersChanged.html)
  25476. *
  25477. * 需要基础库: `2.9.0`
  25478. *
  25479. * 在插件中使用:需要基础库 `2.9.1`
  25480. *
  25481. * 移除实时语音通话成员通话状态变化事件的监听函数
  25482. *
  25483. * **示例代码**
  25484. *
  25485. * ```js
  25486. const listener = function (res) { console.log(res) }
  25487. wx.onVoIPChatSpeakersChanged(listener)
  25488. wx.offVoIPChatSpeakersChanged(listener) // 需传入与监听时同一个的函数对象
  25489. ``` */
  25490. offVoIPChatSpeakersChanged(
  25491. /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  25492. listener?: OffVoIPChatSpeakersChangedCallback
  25493. ): void
  25494. /** [wx.offVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPChatStateChanged.html)
  25495. *
  25496. * 需要基础库: `2.16.0`
  25497. *
  25498. * 在插件中使用:不支持
  25499. *
  25500. * 移除房间状态变化事件的监听函数
  25501. *
  25502. * **示例代码**
  25503. *
  25504. * ```js
  25505. const listener = function (res) { console.log(res) }
  25506. wx.onVoIPChatStateChanged(listener)
  25507. wx.offVoIPChatStateChanged(listener) // 需传入与监听时同一个的函数对象
  25508. ``` */
  25509. offVoIPChatStateChanged(
  25510. /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  25511. listener?: OffVoIPChatStateChangedCallback
  25512. ): void
  25513. /** [wx.offVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.offVoIPVideoMembersChanged.html)
  25514. *
  25515. * 需要基础库: `2.11.0`
  25516. *
  25517. * 在插件中使用:不支持
  25518. *
  25519. * 移除实时语音通话成员视频状态变化事件的监听函数
  25520. *
  25521. * **示例代码**
  25522. *
  25523. * ```js
  25524. const listener = function (res) { console.log(res) }
  25525. wx.onVoIPVideoMembersChanged(listener)
  25526. wx.offVoIPVideoMembersChanged(listener) // 需传入与监听时同一个的函数对象
  25527. ``` */
  25528. offVoIPVideoMembersChanged(
  25529. /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  25530. listener?: OffVoIPVideoMembersChangedCallback
  25531. ): void
  25532. /** [wx.offWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnected.html)
  25533. *
  25534. * 需要基础库: `2.9.0`
  25535. *
  25536. * 在插件中使用:需要基础库 `2.9.1`
  25537. *
  25538. * 移除连接上 Wi-Fi 的事件的监听函数
  25539. *
  25540. * **示例代码**
  25541. *
  25542. * ```js
  25543. const listener = function (res) { console.log(res) }
  25544. wx.onWifiConnected(listener)
  25545. wx.offWifiConnected(listener) // 需传入与监听时同一个的函数对象
  25546. ``` */
  25547. offWifiConnected(
  25548. /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */
  25549. listener?: OffWifiConnectedCallback
  25550. ): void
  25551. /** [wx.offWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.offWifiConnectedWithPartialInfo.html)
  25552. *
  25553. * 需要基础库: `2.22.0`
  25554. *
  25555. * 在插件中使用:需要基础库 `2.22.1`
  25556. *
  25557. * 移除连接上 Wi-Fi 的事件的监听函数
  25558. *
  25559. * **示例代码**
  25560. *
  25561. * ```js
  25562. const listener = function (res) { console.log(res) }
  25563. wx.onWifiConnectedWithPartialInfo(listener)
  25564. wx.offWifiConnectedWithPartialInfo(listener) // 需传入与监听时同一个的函数对象
  25565. ``` */
  25566. offWifiConnectedWithPartialInfo(
  25567. /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */
  25568. listener?: OffWifiConnectedWithPartialInfoCallback
  25569. ): void
  25570. /** [wx.offWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.offWindowResize.html)
  25571. *
  25572. * 需要基础库: `2.3.0`
  25573. *
  25574. * 在插件中使用:不支持
  25575. *
  25576. * 移除窗口尺寸变化事件的监听函数
  25577. *
  25578. * **示例代码**
  25579. *
  25580. * ```js
  25581. const listener = function (res) { console.log(res) }
  25582. wx.onWindowResize(listener)
  25583. wx.offWindowResize(listener) // 需传入与监听时同一个的函数对象
  25584. ``` */
  25585. offWindowResize(
  25586. /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */
  25587. listener?: OffWindowResizeCallback
  25588. ): void
  25589. /** [wx.onAccelerometerChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.onAccelerometerChange.html)
  25590. *
  25591. * 在插件中使用:不支持
  25592. *
  25593. * 监听加速度数据事件。频率根据 [wx.startAccelerometer()](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html) 的 interval 参数, 接口调用后会自动开始监听。
  25594. *
  25595. * **示例代码**
  25596. *
  25597. * ```js
  25598. wx.onAccelerometerChange(callback)
  25599. ``` */
  25600. onAccelerometerChange(
  25601. /** 加速度数据事件的监听函数 */
  25602. listener: OnAccelerometerChangeCallback
  25603. ): void
  25604. /** [wx.onAfterPageLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onAfterPageLoad.html)
  25605. *
  25606. * 需要基础库: `3.5.5`
  25607. *
  25608. * 在插件中使用:需要基础库 `3.5.5`
  25609. *
  25610. * 监听路由事件引起新的页面实例化时,页面实例化完成的事件监听,详见 [页面路由监听](#)。
  25611. *
  25612. * ****
  25613. *
  25614. * > 新旧版本小程序组件框架的说明详见:[glass-easel:新版微信小程序组件框架](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/glass-easel/introduction.html)
  25615. *
  25616. * **示例代码**
  25617. *
  25618. * ```js
  25619. const func = function (res) {
  25620. console.log(res)
  25621. }
  25622. wx.onAfterPageLoad(func)
  25623. // 取消监听
  25624. wx.offAfterPageLoad(func)
  25625. ``` */
  25626. onAfterPageLoad(
  25627. /** 路由事件的监听函数 */
  25628. listener: OnAfterPageLoadCallback
  25629. ): void
  25630. /** [wx.onAfterPageUnload(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onAfterPageUnload.html)
  25631. *
  25632. * 需要基础库: `3.5.5`
  25633. *
  25634. * 在插件中使用:需要基础库 `3.5.5`
  25635. *
  25636. * 监听路由事件引起现有页面实例销毁时,页面实例销毁后的事件监听,详见 [页面路由监听](#)。
  25637. *
  25638. * **示例代码**
  25639. *
  25640. * ```js
  25641. const func = function (res) {
  25642. console.log(res)
  25643. }
  25644. wx.onAfterPageUnload(func)
  25645. // 取消监听
  25646. wx.offAfterPageUnload(func)
  25647. ``` */
  25648. onAfterPageUnload(
  25649. /** 路由事件的监听函数 */
  25650. listener: OnAfterPageUnloadCallback
  25651. ): void
  25652. /** [wx.onApiCategoryChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.onApiCategoryChange.html)
  25653. *
  25654. * 需要基础库: `2.33.0`
  25655. *
  25656. * 在插件中使用:不支持
  25657. *
  25658. * 监听 API 类别变化事件
  25659. *
  25660. * **不同 apiCategory 场景下的 API 限制**
  25661. *
  25662. * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。
  25663. *
  25664. * | | default | nativeFunctionalized | browseOnly | embedded |
  25665. * |-|-|-|-|-|
  25666. * |navigateToMiniProgram | | `X` | `X` | |
  25667. * |openSetting | | | `X` | |
  25668. * |&lt;button open-type="share"&gt; | | `X` | `X` | `X` |
  25669. * |&lt;button open-type="feedback"&gt; | | | `X` | |
  25670. * |&lt;button open-type="open-setting"&gt;| | | `X` | |
  25671. * |openEmbeddedMiniProgram | | `X` | `X` | `X` |
  25672. *
  25673. * **示例代码**
  25674. *
  25675. * ```js
  25676. const func = function (res) {
  25677. console.log(res.apiCategory)
  25678. }
  25679. wx.onApiCategoryChange(func)
  25680. // 取消监听
  25681. wx.offApiCategoryChange(func)
  25682. ``` */
  25683. onApiCategoryChange(
  25684. /** API 类别变化事件的监听函数 */
  25685. listener: OnApiCategoryChangeCallback
  25686. ): void
  25687. /** [wx.onAppHide(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppHide.html)
  25688. *
  25689. * 需要基础库: `2.1.2`
  25690. *
  25691. * 在插件中使用:不支持
  25692. *
  25693. * 监听小程序切后台事件。该事件与 [`App.onHide`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onhide) 的回调时机一致。 */
  25694. onAppHide(
  25695. /** 小程序切后台事件的监听函数 */
  25696. listener: OnAppHideCallback
  25697. ): void
  25698. /** [wx.onAppRoute(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onAppRoute.html)
  25699. *
  25700. * 需要基础库: `3.5.5`
  25701. *
  25702. * 在插件中使用:需要基础库 `3.5.5`
  25703. *
  25704. * 监听路由事件下发后,执行路由逻辑后的事件监听,详见 [页面路由监听](#)。
  25705. *
  25706. * ****
  25707. *
  25708. * > Skyline 渲染引擎相关说明:[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html)
  25709. * > xr-frame 解决方案相关说明:[详情](#)
  25710. *
  25711. * **注意**
  25712. *
  25713. * 在低于 3.5.5 版本的基础库中也存在此接口,但参数可能与当前文档不同,请注意。
  25714. *
  25715. * **示例代码**
  25716. *
  25717. * ```js
  25718. const func = function (res) {
  25719. console.log(res)
  25720. }
  25721. wx.onAppRoute(func)
  25722. // 取消监听
  25723. wx.offAppRoute(func)
  25724. ``` */
  25725. onAppRoute(
  25726. /** 路由事件的监听函数 */
  25727. listener: OnAppRouteCallback
  25728. ): void
  25729. /** [wx.onAppRouteDone(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onAppRouteDone.html)
  25730. *
  25731. * 需要基础库: `3.5.5`
  25732. *
  25733. * 在插件中使用:需要基础库 `3.5.5`
  25734. *
  25735. * 监听当前路由动画执行完成的事件监听,详见 [页面路由监听](#)。
  25736. *
  25737. * **注意**
  25738. *
  25739. * 在低于 3.5.5 版本的基础库中也存在此接口,但参数可能与当前文档不同,请注意。
  25740. *
  25741. * **示例代码**
  25742. *
  25743. * ```js
  25744. const func = function (res) {
  25745. console.log(res)
  25746. }
  25747. wx.onAppRouteDone(func)
  25748. // 取消监听
  25749. wx.offAppRouteDone(func)
  25750. ``` */
  25751. onAppRouteDone(
  25752. /** 当前路由动画执行完成的事件的监听函数 */
  25753. listener: OnAppRouteDoneCallback
  25754. ): void
  25755. /** [wx.onAppShow(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAppShow.html)
  25756. *
  25757. * 需要基础库: `2.1.2`
  25758. *
  25759. * 在插件中使用:不支持
  25760. *
  25761. * 监听小程序切前台事件。该事件与 [`App.onShow`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onshowobject-object) 的回调参数一致。
  25762. *
  25763. * **返回有效 referrerInfo 的场景**
  25764. *
  25765. * | 场景值 | 场景 | appId含义 |
  25766. * | ------ | ------------------------------- | ---------- |
  25767. * | 1020 | 公众号 profile 页相关小程序列表 | 来源公众号 |
  25768. * | 1035 | 公众号自定义菜单 | 来源公众号 |
  25769. * | 1036 | App 分享消息卡片 | 来源App |
  25770. * | 1037 | 小程序打开小程序 | 来源小程序 |
  25771. * | 1038 | 从另一个小程序返回 | 来源小程序 |
  25772. * | 1043 | 公众号模板消息 | 来源公众号 |
  25773. *
  25774. * **不同 apiCategory 场景下的 API 限制**
  25775. *
  25776. * `X` 表示 API 被限制无法使用;不在表格中的 API 不限制。
  25777. *
  25778. * | | default | nativeFunctionalized | browseOnly | embedded |
  25779. * |-|-|-|-|-|
  25780. * |navigateToMiniProgram | | `X` | `X` | |
  25781. * |openSetting | | | `X` | |
  25782. * |&lt;button open-type="share"&gt; | | `X` | `X` | `X` |
  25783. * |&lt;button open-type="feedback"&gt; | | | `X` | |
  25784. * |&lt;button open-type="open-setting"&gt;| | | `X` | |
  25785. * |openEmbeddedMiniProgram | | `X` | `X` | `X` |
  25786. *
  25787. * **注意**
  25788. *
  25789. * 部分版本在无`referrerInfo`的时候会返回 `undefined`,建议使用 `options.referrerInfo && options.referrerInfo.appId` 进行判断。 */
  25790. onAppShow(
  25791. /** 小程序切前台事件的监听函数 */
  25792. listener: OnAppShowCallback
  25793. ): void
  25794. /** [wx.onAudioInterruptionBegin(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionBegin.html)
  25795. *
  25796. * 需要基础库: `2.6.2`
  25797. *
  25798. * 在插件中使用:需要基础库 `2.15.0`
  25799. *
  25800. * 监听音频因为受到系统占用而被中断开始事件。以下场景会触发此事件:闹钟、电话、FaceTime 通话、微信语音聊天、微信视频聊天、有声广告开始播放、实名认证页面弹出等。此事件触发后,小程序内所有音频会暂停。 */
  25801. onAudioInterruptionBegin(
  25802. /** 音频因为受到系统占用而被中断开始事件的监听函数 */
  25803. listener: OnAudioInterruptionBeginCallback
  25804. ): void
  25805. /** [wx.onAudioInterruptionEnd(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onAudioInterruptionEnd.html)
  25806. *
  25807. * 需要基础库: `2.6.2`
  25808. *
  25809. * 在插件中使用:需要基础库 `2.15.0`
  25810. *
  25811. * 监听音频中断结束事件。在收到 onAudioInterruptionBegin 事件之后,小程序内所有音频会暂停,收到此事件之后才可再次播放成功 */
  25812. onAudioInterruptionEnd(
  25813. /** 音频中断结束事件的监听函数 */
  25814. listener: OnAudioInterruptionEndCallback
  25815. ): void
  25816. /** [wx.onBLECharacteristicValueChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html)
  25817. *
  25818. * 需要基础库: `1.1.0`
  25819. *
  25820. * 在插件中使用:需要基础库 `2.9.1`
  25821. *
  25822. * 监听蓝牙低功耗设备的特征值变化事件。必须先调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 接口才能接收到设备推送的 notification。
  25823. *
  25824. * **示例代码**
  25825. *
  25826. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  25827. *
  25828. * ```js
  25829. // ArrayBuffer转16进制字符串示例
  25830. function ab2hex(buffer) {
  25831. let hexArr = Array.prototype.map.call(
  25832. new Uint8Array(buffer),
  25833. function(bit) {
  25834. return ('00' + bit.toString(16)).slice(-2)
  25835. }
  25836. )
  25837. return hexArr.join('');
  25838. }
  25839. wx.onBLECharacteristicValueChange(function(res) {
  25840. console.log(`characteristic ${res.characteristicId} has changed, now is ${res.value}`)
  25841. console.log(ab2hex(res.value))
  25842. })
  25843. ``` */
  25844. onBLECharacteristicValueChange(
  25845. /** 蓝牙低功耗设备的特征值变化事件的监听函数 */
  25846. listener: OnBLECharacteristicValueChangeCallback
  25847. ): void
  25848. /** [wx.onBLEConnectionStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEConnectionStateChange.html)
  25849. *
  25850. * 需要基础库: `1.1.0`
  25851. *
  25852. * 在插件中使用:需要基础库 `2.9.1`
  25853. *
  25854. * 监听蓝牙低功耗连接状态改变事件。包括开发者主动连接或断开连接,设备丢失,连接异常断开等等
  25855. *
  25856. * **示例代码**
  25857. *
  25858. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  25859. * ```js
  25860. wx.onBLEConnectionStateChange(function(res) {
  25861. // 该方法回调中可以用于处理连接意外断开等异常情况
  25862. console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)
  25863. })
  25864. ``` */
  25865. onBLEConnectionStateChange(
  25866. /** 蓝牙低功耗连接状态改变事件的监听函数 */
  25867. listener: OnBLEConnectionStateChangeCallback
  25868. ): void
  25869. /** [wx.onBLEMTUChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLEMTUChange.html)
  25870. *
  25871. * 需要基础库: `2.20.1`
  25872. *
  25873. * 在插件中使用:需要基础库 `2.20.1`
  25874. *
  25875. * 监听蓝牙低功耗的最大传输单元变化事件(仅安卓触发)。
  25876. *
  25877. * **示例代码**
  25878. *
  25879. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  25880. * ```js
  25881. wx.onBLEMTUChange(function (res) {
  25882. console.log('bluetooth mtu is', res.mtu)
  25883. })
  25884. ``` */
  25885. onBLEMTUChange(
  25886. /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */
  25887. listener: OnBLEMTUChangeCallback
  25888. ): void
  25889. /** [wx.onBLEPeripheralConnectionStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-peripheral/wx.onBLEPeripheralConnectionStateChanged.html)
  25890. *
  25891. * 需要基础库: `2.10.3`
  25892. *
  25893. * 在插件中使用:需要基础库 `2.22.1`
  25894. *
  25895. * 监听当前外围设备被连接或断开连接事件 */
  25896. onBLEPeripheralConnectionStateChanged(
  25897. /** 当前外围设备被连接或断开连接事件的监听函数 */
  25898. listener: OnBLEPeripheralConnectionStateChangedCallback
  25899. ): void
  25900. /** [wx.onBackgroundAudioPause(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPause.html)
  25901. *
  25902. * 在插件中使用:不支持
  25903. * @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) 替换
  25904. *
  25905. * 监听音乐暂停事件。 */
  25906. onBackgroundAudioPause(
  25907. /** 音乐暂停事件的监听函数 */
  25908. listener: OnBackgroundAudioPauseCallback
  25909. ): void
  25910. /** [wx.onBackgroundAudioPlay(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioPlay.html)
  25911. *
  25912. * 在插件中使用:不支持
  25913. * @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) 替换
  25914. *
  25915. * 监听音乐播放事件。 */
  25916. onBackgroundAudioPlay(
  25917. /** 音乐播放事件的监听函数 */
  25918. listener: OnBackgroundAudioPlayCallback
  25919. ): void
  25920. /** [wx.onBackgroundAudioStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.onBackgroundAudioStop.html)
  25921. *
  25922. * 在插件中使用:不支持
  25923. * @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) 替换
  25924. *
  25925. * 监听音乐停止事件。 */
  25926. onBackgroundAudioStop(
  25927. /** 音乐停止事件的监听函数 */
  25928. listener: OnBackgroundAudioStopCallback
  25929. ): void
  25930. /** [wx.onBackgroundFetchData(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.onBackgroundFetchData.html)
  25931. *
  25932. * 需要基础库: `2.8.0`
  25933. *
  25934. * 在插件中使用:不支持
  25935. *
  25936. * 监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和 [wx.getBackgroundFetchData](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.html) 配合使用 */
  25937. onBackgroundFetchData(
  25938. /** 收到 backgroundFetch 数据事件的监听函数 */
  25939. listener: OnBackgroundFetchDataCallback
  25940. ): void
  25941. /** [wx.onBatteryInfoChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/battery/wx.onBatteryInfoChange.html)
  25942. *
  25943. * 需要基础库: `3.4.3`
  25944. *
  25945. * 在插件中使用:不支持
  25946. *
  25947. * 监听电池信息变化事件,目前只支持监听省电模式的切换,目前仅 iOS 端支持
  25948. *
  25949. * **示例代码**
  25950. *
  25951. * ```js
  25952. const cb = res => {
  25953. console.log(res.isLowPowerModeEnabled)
  25954. }
  25955. wx.onBatteryInfoChange(cb)
  25956. // 取消监听
  25957. wx.offBatteryInfoChange(cb)
  25958. ``` */
  25959. onBatteryInfoChange(
  25960. /** 电池信息变化事件的监听函数 */
  25961. listener: OnBatteryInfoChangeCallback
  25962. ): void
  25963. /** [wx.onBeaconServiceChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconServiceChange.html)
  25964. *
  25965. * 需要基础库: `1.2.0`
  25966. *
  25967. * 在插件中使用:需要基础库 `1.9.6`
  25968. *
  25969. * 监听 Beacon 服务状态变化事件,仅能注册一个监听
  25970. *
  25971. * **示例代码**
  25972. *
  25973. * ```js
  25974. wx.onBeaconServiceChange(res => {
  25975. console.log(res.available, res.discovering)
  25976. })
  25977. ``` */
  25978. onBeaconServiceChange(
  25979. /** Beacon 服务状态变化事件的监听函数 */
  25980. listener: OnBeaconServiceChangeCallback
  25981. ): void
  25982. /** [wx.onBeaconUpdate(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.onBeaconUpdate.html)
  25983. *
  25984. * 需要基础库: `1.2.0`
  25985. *
  25986. * 在插件中使用:需要基础库 `1.9.6`
  25987. *
  25988. * 监听 Beacon 设备更新事件,仅能注册一个监听
  25989. *
  25990. * **示例代码**
  25991. *
  25992. * ```js
  25993. wx.onBeaconUpdate(res => {
  25994. console.log(res.beacons)
  25995. })
  25996. ``` */
  25997. onBeaconUpdate(
  25998. /** Beacon 设备更新事件的监听函数 */
  25999. listener: OnBeaconUpdateCallback
  26000. ): void
  26001. /** [wx.onBeforeAppRoute(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onBeforeAppRoute.html)
  26002. *
  26003. * 需要基础库: `3.5.5`
  26004. *
  26005. * 在插件中使用:需要基础库 `3.5.5`
  26006. *
  26007. * 监听路由事件下发后,执行路由逻辑前的事件监听,详见 [页面路由监听](#)。
  26008. *
  26009. * ****
  26010. *
  26011. * > Skyline 渲染引擎相关说明:[详情](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html)
  26012. * > xr-frame 解决方案相关说明:[详情](#)
  26013. *
  26014. * **示例代码**
  26015. *
  26016. * ```js
  26017. const func = function (res) {
  26018. console.log(res)
  26019. }
  26020. wx.onBeforeAppRoute(func)
  26021. // 取消监听
  26022. wx.offBeforeAppRoute(func)
  26023. ``` */
  26024. onBeforeAppRoute(
  26025. /** 路由事件的监听函数 */
  26026. listener: OnBeforeAppRouteCallback
  26027. ): void
  26028. /** [wx.onBeforePageLoad(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onBeforePageLoad.html)
  26029. *
  26030. * 需要基础库: `3.5.5`
  26031. *
  26032. * 在插件中使用:需要基础库 `3.5.5`
  26033. *
  26034. * 监听路由事件引起新的页面实例化时,页面实例化前的事件监听,详见 [页面路由监听](#)。
  26035. *
  26036. * ****
  26037. *
  26038. * > 新旧版本小程序组件框架的说明详见:[glass-easel:新版微信小程序组件框架](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/glass-easel/introduction.html)
  26039. *
  26040. * **示例代码**
  26041. *
  26042. * ```js
  26043. const func = function (res) {
  26044. console.log(res)
  26045. }
  26046. wx.onBeforePageLoad(func)
  26047. // 取消监听
  26048. wx.offBeforePageLoad(func)
  26049. ``` */
  26050. onBeforePageLoad(
  26051. /** 路由事件的监听函数 */
  26052. listener: OnBeforePageLoadCallback
  26053. ): void
  26054. /** [wx.onBeforePageUnload(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-route/wx.onBeforePageUnload.html)
  26055. *
  26056. * 需要基础库: `3.5.5`
  26057. *
  26058. * 在插件中使用:需要基础库 `3.5.5`
  26059. *
  26060. * 监听路由事件引起现有页面实例销毁时,页面实例销毁前的事件监听,详见 [页面路由监听](#)。
  26061. *
  26062. * **示例代码**
  26063. *
  26064. * ```js
  26065. const func = function (res) {
  26066. console.log(res)
  26067. }
  26068. wx.onBeforePageUnload(func)
  26069. // 取消监听
  26070. wx.offBeforePageUnload(func)
  26071. ``` */
  26072. onBeforePageUnload(
  26073. /** 路由事件的监听函数 */
  26074. listener: OnBeforePageUnloadCallback
  26075. ): void
  26076. /** [wx.onBluetoothAdapterStateChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothAdapterStateChange.html)
  26077. *
  26078. * 需要基础库: `1.1.0`
  26079. *
  26080. * 在插件中使用:需要基础库 `2.9.1`
  26081. *
  26082. * 监听蓝牙适配器状态变化事件
  26083. *
  26084. * **示例代码**
  26085. *
  26086. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  26087. * ```js
  26088. wx.onBluetoothAdapterStateChange(function (res) {
  26089. console.log('adapterState changed, now is', res)
  26090. })
  26091. ``` */
  26092. onBluetoothAdapterStateChange(
  26093. /** 蓝牙适配器状态变化事件的监听函数 */
  26094. listener: OnBluetoothAdapterStateChangeCallback
  26095. ): void
  26096. /** [wx.onBluetoothDeviceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.onBluetoothDeviceFound.html)
  26097. *
  26098. * 需要基础库: `1.1.0`
  26099. *
  26100. * 在插件中使用:需要基础库 `2.9.1`
  26101. *
  26102. * 监听搜索到新设备的事件
  26103. *
  26104. * **注意**
  26105. *
  26106. * - 若在 [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) 接口获取到的数组中。
  26107. *
  26108. * **示例代码**
  26109. *
  26110. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  26111. *
  26112. * ```js
  26113. // ArrayBuffer转16进度字符串示例
  26114. function ab2hex(buffer) {
  26115. var hexArr = Array.prototype.map.call(
  26116. new Uint8Array(buffer),
  26117. function(bit) {
  26118. return ('00' + bit.toString(16)).slice(-2)
  26119. }
  26120. )
  26121. return hexArr.join('');
  26122. }
  26123. wx.onBluetoothDeviceFound(function(res) {
  26124. var devices = res.devices;
  26125. console.log('new device list has founded')
  26126. console.dir(devices)
  26127. console.log(ab2hex(devices[0].advertisData))
  26128. })
  26129. ```
  26130. *
  26131. * **注意**
  26132. *
  26133. * - 蓝牙设备在被搜索到时,系统返回的 `name` 字段一般为广播包中的 `LocalName` 字段中的设备名称,而如果与蓝牙设备建立连接,系统返回的 `name` 字段会改为从蓝牙设备上获取到的 `GattName`。若需要动态改变设备名称并展示,建议使用 `localName` 字段。
  26134. * - 安卓下部分机型需要有位置权限才能搜索到设备,需留意是否开启了位置权限 */
  26135. onBluetoothDeviceFound(
  26136. /** 搜索到新设备的事件的监听函数 */
  26137. listener: OnBluetoothDeviceFoundCallback
  26138. ): void
  26139. /** [wx.onCompassChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.onCompassChange.html)
  26140. *
  26141. * 在插件中使用:不支持
  26142. *
  26143. * 监听罗盘数据变化事件。频率:5 次/秒,接口调用后会自动开始监听,可使用 wx.stopCompass 停止监听。
  26144. *
  26145. * **accuracy 在 iOS/Android 的差异**
  26146. *
  26147. * 由于平台差异,accuracy 在 iOS/Android 的值不同。
  26148. *
  26149. * - iOS:accuracy 是一个 number 类型的值,表示相对于磁北极的偏差。0 表示设备指向磁北,90 表示指向东,180 表示指向南,依此类推。
  26150. * - Android:accuracy 是一个 string 类型的枚举值。
  26151. *
  26152. * | 值 | 说明 |
  26153. * | --------------- | -------------------------------------------------------------------------------------- |
  26154. * | high | 高精度 |
  26155. * | medium | 中等精度 |
  26156. * | low | 低精度 |
  26157. * | no-contact | 不可信,传感器失去连接 |
  26158. * | unreliable | 不可信,原因未知 |
  26159. * | unknow ${value} | 未知的精度枚举值,即该 Android 系统此时返回的表示精度的 value 不是一个标准的精度枚举值 | */
  26160. onCompassChange(
  26161. /** 罗盘数据变化事件的监听函数 */
  26162. listener: OnCompassChangeCallback
  26163. ): void
  26164. /** [wx.onCopyUrl(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.onCopyUrl.html)
  26165. *
  26166. * 需要基础库: `2.14.3`
  26167. *
  26168. * 在插件中使用:不支持
  26169. *
  26170. * 监听用户点击右上角菜单的「复制链接」按钮时触发的事件。本接口为 Beta 版本,暂只在 Android 平台支持。 */
  26171. onCopyUrl(
  26172. /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */
  26173. listener: OnCopyUrlCallback
  26174. ): void
  26175. /** [wx.onDeviceMotionChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.onDeviceMotionChange.html)
  26176. *
  26177. * 需要基础库: `2.3.0`
  26178. *
  26179. * 在插件中使用:不支持
  26180. *
  26181. * 监听设备方向变化事件。频率根据 [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) 停止监听。 */
  26182. onDeviceMotionChange(
  26183. /** 设备方向变化事件的监听函数 */
  26184. listener: OnDeviceMotionChangeCallback
  26185. ): void
  26186. /** [wx.onEmbeddedMiniProgramHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.onEmbeddedMiniProgramHeightChange.html)
  26187. *
  26188. * 需要基础库: `2.33.0`
  26189. *
  26190. * 在插件中使用:不支持
  26191. *
  26192. * 监听半屏小程序可视高度变化事件
  26193. *
  26194. * **示例代码**
  26195. *
  26196. * ```js
  26197. const func = function (res) {
  26198. console.log(res.height)
  26199. console.log(res.initialHeight)
  26200. }
  26201. wx.onEmbeddedMiniProgramHeightChange(func)
  26202. // 取消监听
  26203. wx.offEmbeddedMiniProgramHeightChange(func)
  26204. ``` */
  26205. onEmbeddedMiniProgramHeightChange(
  26206. /** 半屏小程序可视高度变化事件的监听函数 */
  26207. listener: OnEmbeddedMiniProgramHeightChangeCallback
  26208. ): void
  26209. /** [wx.onError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onError.html)
  26210. *
  26211. * 需要基础库: `2.1.2`
  26212. *
  26213. * 在插件中使用:不支持
  26214. *
  26215. * 监听小程序错误事件。如脚本错误或 API 调用报错等。该事件与 [`App.onError`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onerrorstring-error) 的回调时机与参数一致。 */
  26216. onError(
  26217. /** 小程序错误事件的监听函数 */
  26218. listener: WxOnErrorCallback
  26219. ): void
  26220. /** [wx.onGetWifiList(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onGetWifiList.html)
  26221. *
  26222. * 需要基础库: `1.6.0`
  26223. *
  26224. * 在插件中使用:需要基础库 `2.9.1`
  26225. *
  26226. * 监听获取到 Wi-Fi 列表数据事件 */
  26227. onGetWifiList(
  26228. /** 获取到 Wi-Fi 列表数据事件的监听函数 */
  26229. listener: OnGetWifiListCallback
  26230. ): void
  26231. /** [wx.onGyroscopeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.onGyroscopeChange.html)
  26232. *
  26233. * 需要基础库: `2.3.0`
  26234. *
  26235. * 在插件中使用:需要基础库 `2.9.1`
  26236. *
  26237. * 监听陀螺仪数据变化事件。频率根据 [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) 停止监听。 */
  26238. onGyroscopeChange(
  26239. /** 陀螺仪数据变化事件的监听函数 */
  26240. listener: OnGyroscopeChangeCallback
  26241. ): void
  26242. /** [wx.onHCEMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.onHCEMessage.html)
  26243. *
  26244. * 需要基础库: `1.7.0`
  26245. *
  26246. * 在插件中使用:需要基础库 `2.9.1`
  26247. *
  26248. * 监听接收 NFC 设备消息事件。仅能注册一个监听 */
  26249. onHCEMessage(
  26250. /** 接收 NFC 设备消息事件的监听函数 */
  26251. listener: OnHCEMessageCallback
  26252. ): void
  26253. /** [wx.onKeyboardHeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/keyboard/wx.onKeyboardHeightChange.html)
  26254. *
  26255. * 需要基础库: `2.7.0`
  26256. *
  26257. * 在插件中使用:不支持
  26258. *
  26259. * 监听键盘高度变化事件
  26260. *
  26261. * **示例代码**
  26262. *
  26263. * ```js
  26264. wx.onKeyboardHeightChange(res => {
  26265. console.log(res.height)
  26266. })
  26267. ``` */
  26268. onKeyboardHeightChange(
  26269. /** 键盘高度变化事件的监听函数 */
  26270. listener: OnKeyboardHeightChangeCallback
  26271. ): void
  26272. /** [wx.onLazyLoadError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onLazyLoadError.html)
  26273. *
  26274. * 需要基础库: `2.24.3`
  26275. *
  26276. * 在插件中使用:不支持
  26277. *
  26278. * 监听小程序异步组件加载失败事件。
  26279. *
  26280. * **注意**
  26281. *
  26282. * - 加载异步组件通常需要下载分包,若分包下载超时,则会触发 errMsg 为 "loadSubpackage: timeout" 的回调,默认超时等待时间为 5 秒。
  26283. * - 可以通过第二个参数指定超时时间(单位:ms),该设置全局有效,多次指定超时时间则覆盖前面。
  26284. * - 分包确认下载失败时,会再次触发 errMsg 为 "loadSubpackage: fail" 的回调。
  26285. * - 若在页面中使用该接口进行监听,请确保在必要时手动调用 offLazyLoadError 取消监听,以避免非预期的内存泄漏。 */
  26286. onLazyLoadError(
  26287. /** 小程序异步组件加载失败事件的监听函数 */
  26288. listener: OnLazyLoadErrorCallback
  26289. ): void
  26290. /** [wx.onLocalServiceDiscoveryStop(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceDiscoveryStop.html)
  26291. *
  26292. * 需要基础库: `2.4.0`
  26293. *
  26294. * 在插件中使用:需要基础库 `2.15.0`
  26295. *
  26296. * 监听 mDNS 服务停止搜索的事件 */
  26297. onLocalServiceDiscoveryStop(
  26298. /** mDNS 服务停止搜索的事件的监听函数 */
  26299. listener: OnLocalServiceDiscoveryStopCallback
  26300. ): void
  26301. /** [wx.onLocalServiceFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceFound.html)
  26302. *
  26303. * 需要基础库: `2.4.0`
  26304. *
  26305. * 在插件中使用:需要基础库 `2.15.0`
  26306. *
  26307. * 监听 mDNS 服务发现的事件 */
  26308. onLocalServiceFound(
  26309. /** mDNS 服务发现的事件的监听函数 */
  26310. listener: OnLocalServiceFoundCallback
  26311. ): void
  26312. /** [wx.onLocalServiceLost(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceLost.html)
  26313. *
  26314. * 需要基础库: `2.4.0`
  26315. *
  26316. * 在插件中使用:需要基础库 `2.15.0`
  26317. *
  26318. * 监听 mDNS 服务离开的事件 */
  26319. onLocalServiceLost(
  26320. /** mDNS 服务离开的事件的监听函数 */
  26321. listener: OnLocalServiceLostCallback
  26322. ): void
  26323. /** [wx.onLocalServiceResolveFail(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.onLocalServiceResolveFail.html)
  26324. *
  26325. * 需要基础库: `2.4.0`
  26326. *
  26327. * 在插件中使用:需要基础库 `2.15.0`
  26328. *
  26329. * 监听 mDNS 服务解析失败的事件 */
  26330. onLocalServiceResolveFail(
  26331. /** mDNS 服务解析失败的事件的监听函数 */
  26332. listener: OnLocalServiceResolveFailCallback
  26333. ): void
  26334. /** [wx.onLocationChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html)
  26335. *
  26336. * 需要基础库: `2.8.1`
  26337. *
  26338. * 在插件中使用:不支持
  26339. *
  26340. * 监听实时地理位置变化事件,需结合 [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)使用。
  26341. *
  26342. * ## 使用方法
  26343. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  26344. *
  26345. * ## 申请开通
  26346. * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。
  26347. * 接口权限申请入口将于2022年3月11日开始内测,于3月31日全量上线。并从4月18日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  26348. *
  26349. * ### 国内主体开放类目
  26350. *
  26351. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  26352. * | -------------- | -------| -------- |
  26353. * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 |
  26354. * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 |
  26355. * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 |
  26356. * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 |
  26357. * | 生活服务 | / | 上门服务作业等线下场景 |
  26358. * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 |
  26359. * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 |
  26360. * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 |
  26361. * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 |
  26362. * | 旅游 | 景区服务 | 提供景区导航、导览服务 |
  26363. * | 政务民生 | / | 提供政务单位相关业务 |
  26364. * | 政府主体账号 | / | 提供政务单位相关业务 |
  26365. *
  26366. * ### 海外主体开放类目
  26367. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  26368. * | -------------- | -------| -------- |
  26369. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  26370. * | 快递业与邮政 | / | 快递/货物收发服务 |
  26371. * | 餐饮 | / | 线下送餐服务 |
  26372. * | 电商平台 | / | 售卖商品线下发货、线下收货服务 |
  26373. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  26374. * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 |
  26375. * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 |
  26376. * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 |
  26377. *
  26378. * **示例代码**
  26379. *
  26380. * ```js
  26381. const _locationChangeFn = function(res) {
  26382. console.log('location change', res)
  26383. }
  26384. wx.onLocationChange(_locationChangeFn)
  26385. wx.offLocationChange(_locationChangeFn)
  26386. ``` */
  26387. onLocationChange(
  26388. /** 实时地理位置变化事件的监听函数 */
  26389. listener: OnLocationChangeCallback
  26390. ): void
  26391. /** [wx.onLocationChangeError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChangeError.html)
  26392. *
  26393. * 需要基础库: `2.19.5`
  26394. *
  26395. * 在插件中使用:不支持
  26396. *
  26397. * 监听持续定位接口返回失败时触发。 */
  26398. onLocationChangeError(
  26399. /** 的监听函数 */
  26400. listener: OnLocationChangeErrorCallback
  26401. ): void
  26402. /** [wx.onMemoryWarning(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/memory/wx.onMemoryWarning.html)
  26403. *
  26404. * 需要基础库: `2.0.2`
  26405. *
  26406. * 在插件中使用:不支持
  26407. *
  26408. * 监听内存不足告警事件。
  26409. *
  26410. * 当 iOS/Android 向小程序进程发出内存警告时,触发该事件。触发该事件不意味小程序被杀,大部分情况下仅仅是告警,开发者可在收到通知后回收一些不必要资源避免进一步加剧内存紧张。
  26411. *
  26412. * **示例代码**
  26413. *
  26414. * ```js
  26415. * wx.onMemoryWarning(function () {
  26416. * console.log('onMemoryWarningReceive')
  26417. * })
  26418. * `` */
  26419. onMemoryWarning(
  26420. /** 内存不足告警事件的监听函数 */
  26421. listener: OnMemoryWarningCallback
  26422. ): void
  26423. /** [wx.onMenuButtonBoundingClientRectWeightChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/menu/wx.onMenuButtonBoundingClientRectWeightChange.html)
  26424. *
  26425. * 需要基础库: `3.4.3`
  26426. *
  26427. * 在插件中使用:不支持
  26428. *
  26429. * 监听菜单按钮(右上角胶囊按钮)的布局位置信息变化事件
  26430. *
  26431. * **示例代码**
  26432. *
  26433. * ```js
  26434. const callback = res => console.log('menuButtonBoundingClientRectWeightChange', res)
  26435. wx.onMenuButtonBoundingClientRectWeightChange(callback)
  26436. // 取消监听
  26437. wx.offMenuButtonBoundingClientRectWeightChange(callback)
  26438. ``` */
  26439. onMenuButtonBoundingClientRectWeightChange(
  26440. /** 菜单按钮(右上角胶囊按钮)的布局位置信息变化事件的监听函数 */
  26441. listener: OnMenuButtonBoundingClientRectWeightChangeCallback
  26442. ): void
  26443. /** [wx.onNeedPrivacyAuthorization(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/privacy/wx.onNeedPrivacyAuthorization.html)
  26444. *
  26445. * 需要基础库: `2.32.3`
  26446. *
  26447. * 在插件中使用:不支持
  26448. *
  26449. * 监听隐私接口需要用户授权事件。当需要用户进行隐私授权时会触发。触发该事件时,开发者需要弹出隐私协议说明,并在用户同意或拒绝授权后调用回调接口 resolve 触发原隐私接口或组件继续执行。隐私合规开发指南详情可见[《小程序隐私协议开发指南》](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html)
  26450. *
  26451. * ****
  26452. *
  26453. * ## 回调参数
  26454. *
  26455. * ### function resolve
  26456. *
  26457. * resolve 是 onNeedPrivacyAuthorization 的首个回调参数,是一个接口函数。
  26458. *
  26459. * 当触发 onNeedPrivacyAuthorization 事件时,触发该事件的隐私接口或组件会处于 pending 状态。
  26460. *
  26461. * 如果调用 resolve({ buttonId: 'agree-btn', event:'agree' }),则触发当前 onNeedPrivacyAuthorization 事件的原隐私接口或组件会继续执行。其中 buttonId 为隐私同意授权按钮的id,为确保用户有同意的操作,基础库会检查对应的同意按钮是否被点击过。(Tips: 需要在`<button open-type="agreePrivacyAuthorization">` 组件的 bindagreeprivacyauthorization 事件触发后再调用 `resolve({ buttonId: 'agree-btn', event:'agree' })`)
  26462. *
  26463. * 如果调用 resolve({ event: 'disagree' }),则触发当前 onNeedPrivacyAuthorization 事件的原隐私接口或组件会失败并返回 `API:fail privacy permission is not authorized` 的错误信息。
  26464. *
  26465. * 在调用 resolve({ event: 'agree'/'disagree' }) 之前,开发者可以调用 resolve({ event: 'exposureAuthorization' }) 把隐私弹窗曝光告知平台。
  26466. *
  26467. * ### Object eventInfo
  26468. *
  26469. * eventInfo 是 onNeedPrivacyAuthorization 的第二个回调参数,表示触发本次 onNeedPrivacyAuthorization 事件的关联信息
  26470. *
  26471. * | 属性 | 类型 | 说明 |
  26472. * | ---- | ---- | ---- |
  26473. * | referrer | string | 触发本次 onNeedPrivacyAuthorization 事件的接口或组件名(例如:"getUserProfile", "button.getPhoneNumber") |
  26474. *
  26475. * ****
  26476. *
  26477. * ## resolve 接口参数
  26478. *
  26479. * | 属性 | 类型 | 是否必填 | 说明 |
  26480. * | ---- | ---- | ---- | ---- |
  26481. * | event | string | 是 | 用户操作类型 |
  26482. * | buttonId | string | 是 | 同意授权按钮的id (仅event=agree时必填) |
  26483. *
  26484. * ### event 合法值
  26485. *
  26486. * | event | 说明 |
  26487. * | ---- | ---- |
  26488. * | exposureAuthorization | 自定义隐私弹窗曝光 |
  26489. * | agree | 用户同意隐私授权 |
  26490. * | disagree | 用户拒绝隐私授权 |
  26491. *
  26492. * ****
  26493. *
  26494. * ## 具体说明:
  26495. *
  26496. * - 1. 什么时候会触发 onNeedPrivacyAuthorization 事件?
  26497. * - 1. 调用隐私相关接口(比如 wx.getUserProfile、wx.getClipboardData)和组件(比如 `<button open-type="getPhoneNumber"></button>`),并且用户还未同意过隐私协议时
  26498. * - 2. 调用 wx.requirePrivacyAuthorize 接口来模拟隐私接口调用,并且用户还未同意过隐私协议时
  26499. * - 3. 如果用户已经同意过隐私协议,则不会再触发 onNeedPrivacyAuthorization 事件
  26500. * - 2. 当触发 onNeedPrivacyAuthorization 事件时,触发该事件的隐私接口或组件会处于 pending 状态,等待用户授权后才会继续执行,此时开发者需要弹出自定义隐私弹窗,并在用户点击同意/拒绝后调用回调接口 resolve ,触发该事件的隐私接口或组件才会继续执行。
  26501. * - 3. wx.onNeedPrivacyAuthorization 是覆盖式注册监听,若重复注册监听,则只有最后一次注册会生效。
  26502. * - 4. 一定要注册 wx.onNeedPrivacyAuthorization 监听以及调用 resolve 吗?
  26503. * - 1. 不是的,如果能保证在调用隐私接口之前,用户已经轻触过了 `<button open-type="agreePrivacyAuthorization">` 按钮,那就不需要 wx.onNeedPrivacyAuthorization。
  26504. * - 2. 但如果注册了 wx.onNeedPrivacyAuthorization 监听,则一定要调用 resolve 接口。
  26505. *
  26506. * **示例代码**
  26507. *
  26508. * ```html
  26509. * // page.wxml
  26510. * <view wx:if="{{showPrivacy}}">
  26511. * <view>隐私弹窗内容....</view>
  26512. * <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
  26513. * </view>
  26514. * ```
  26515. * ```js
  26516. // page.js
  26517. Page({
  26518. data: {
  26519. showPrivacy: false
  26520. },
  26521. onLoad() {
  26522. wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {
  26523. console.log('触发本次事件的接口是:' + eventInfo.referrer)
  26524. // 需要用户同意隐私授权时
  26525. // 弹出开发者自定义的隐私授权弹窗
  26526. this.setData({
  26527. showPrivacy: true
  26528. })
  26529. this.resolvePrivacyAuthorization = resolve
  26530. })
  26531. wx.getUserProfile({
  26532. success: console.log,
  26533. fail: console.error
  26534. })
  26535. },
  26536. handleAgreePrivacyAuthorization() {
  26537. // 用户点击同意按钮后
  26538. this.resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
  26539. // 用户点击同意后,开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' }) 告知平台用户已经同意,参数传同意按钮的id。为确保用户有同意的操作,基础库在 resolve 被调用后,会去检查对应的同意按钮有没有被点击过。检查通过后,相关隐私接口会继续调用
  26540. // 用户点击拒绝后,开发者调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
  26541. }
  26542. })
  26543. ```
  26544. *
  26545. * **完整示例demo**
  26546. *
  26547. * demo1: 演示使用 `wx.getPrivacySetting` 和 `<button open-type="agreePrivacyAuthorization">` 在首页处理隐私弹窗逻辑
  26548. * [https://developers.weixin.qq.com/s/gi71sGm67hK0](https://developers.weixin.qq.com/s/gi71sGm67hK0)
  26549. *
  26550. * demo2: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。
  26551. * [https://developers.weixin.qq.com/s/hndZUOmA7gKn](https://developers.weixin.qq.com/s/hndZUOmA7gKn)
  26552. *
  26553. * demo3: 演示 `wx.onNeedPrivacyAuthorization`、`wx.requirePrivacyAuthorize`、`<button open-type="agreePrivacyAuthorization">` 和 `<input type="nickname">` 组件如何结合使用
  26554. * [https://developers.weixin.qq.com/s/jX7xWGmA7UKa](https://developers.weixin.qq.com/s/jX7xWGmA7UKa)
  26555. *
  26556. * demo4: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个 tabBar 页面处理隐私弹窗逻辑。
  26557. * [https://developers.weixin.qq.com/s/g6BWZGmt7XK9](https://developers.weixin.qq.com/s/g6BWZGmt7XK9) */
  26558. onNeedPrivacyAuthorization(
  26559. /** 隐私接口需要用户授权事件的监听函数 */
  26560. listener: OnNeedPrivacyAuthorizationCallback
  26561. ): void
  26562. /** [wx.onNetworkStatusChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html)
  26563. *
  26564. * 需要基础库: `1.1.0`
  26565. *
  26566. * 在插件中使用:支持
  26567. *
  26568. * 监听网络状态变化事件
  26569. *
  26570. * **示例代码**
  26571. *
  26572. * ```js
  26573. wx.onNetworkStatusChange(function (res) {
  26574. console.log(res.isConnected)
  26575. console.log(res.networkType)
  26576. })
  26577. ``` */
  26578. onNetworkStatusChange(
  26579. /** 网络状态变化事件的监听函数 */
  26580. listener: OnNetworkStatusChangeCallback
  26581. ): void
  26582. /** [wx.onNetworkWeakChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html)
  26583. *
  26584. * 需要基础库: `2.21.0`
  26585. *
  26586. * 在插件中使用:不支持
  26587. *
  26588. * 监听弱网状态变化事件
  26589. *
  26590. * **示例代码**
  26591. *
  26592. * ```js
  26593. wx.onNetworkWeakChange(function (res) {
  26594. console.log(res.weakNet)
  26595. console.log(res.networkType)
  26596. })
  26597. // 取消监听
  26598. wx.offNetworkWeakChange()
  26599. ``` */
  26600. onNetworkWeakChange(
  26601. /** 弱网状态变化事件的监听函数 */
  26602. listener: OnNetworkWeakChangeCallback
  26603. ): void
  26604. /** [wx.onPageNotFound(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html)
  26605. *
  26606. * 需要基础库: `2.1.2`
  26607. *
  26608. * 在插件中使用:不支持
  26609. *
  26610. * 监听小程序要打开的页面不存在事件。该事件与 [`App.onPageNotFound`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onpagenotfoundobject-object) 的回调时机一致。
  26611. *
  26612. * **注意**
  26613. *
  26614. * - 开发者可以在回调中进行页面重定向,但必须在回调中**同步**处理,异步处理(例如 `setTimeout` 异步执行)无效。
  26615. * - 若开发者没有调用 [wx.onPageNotFound](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onPageNotFound.html) 绑定监听,也没有声明 `App.onPageNotFound`,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
  26616. * - 如果回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再第二次回调。 */
  26617. onPageNotFound(
  26618. /** 小程序要打开的页面不存在事件的监听函数 */
  26619. listener: OnPageNotFoundCallback
  26620. ): void
  26621. /** [wx.onScreenRecordingStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onScreenRecordingStateChanged.html)
  26622. *
  26623. * 需要基础库: `2.24.0`
  26624. *
  26625. * 在插件中使用:不支持
  26626. *
  26627. * 监听用户录屏事件。 */
  26628. onScreenRecordingStateChanged(
  26629. /** 用户录屏事件的监听函数 */
  26630. listener: OnScreenRecordingStateChangedCallback
  26631. ): void
  26632. /** [wx.onSocketClose(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketClose.html)
  26633. *
  26634. * 在插件中使用:不支持
  26635. *
  26636. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  26637. *
  26638. * 监听 WebSocket 连接关闭事件。 */
  26639. onSocketClose(
  26640. /** WebSocket 连接关闭事件的监听函数 */
  26641. listener: OnSocketCloseCallback
  26642. ): void
  26643. /** [wx.onSocketError(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketError.html)
  26644. *
  26645. * 在插件中使用:不支持
  26646. *
  26647. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  26648. *
  26649. * 监听 WebSocket 错误事件。 */
  26650. onSocketError(
  26651. /** WebSocket 错误事件的监听函数 */
  26652. listener: OnSocketErrorCallback
  26653. ): void
  26654. /** [wx.onSocketMessage(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketMessage.html)
  26655. *
  26656. * 在插件中使用:不支持
  26657. *
  26658. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  26659. *
  26660. * 监听 WebSocket 接收到服务器的消息事件。 */
  26661. onSocketMessage(
  26662. /** WebSocket 接收到服务器的消息事件的监听函数 */
  26663. listener: OnSocketMessageCallback
  26664. ): void
  26665. /** [wx.onSocketOpen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.onSocketOpen.html)
  26666. *
  26667. * 在插件中使用:不支持
  26668. *
  26669. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  26670. *
  26671. * 监听 WebSocket 连接打开事件。 */
  26672. onSocketOpen(
  26673. /** WebSocket 连接打开事件的监听函数 */
  26674. listener: OnSocketOpenCallback
  26675. ): void
  26676. /** [wx.onThemeChange(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onThemeChange.html)
  26677. *
  26678. * 需要基础库: `2.11.0`
  26679. *
  26680. * 在插件中使用:不支持
  26681. *
  26682. * 监听系统主题改变事件。该事件与 [`App.onThemeChange`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onThemeChange-Object-object) 的回调时机一致。
  26683. *
  26684. * **注意**
  26685. *
  26686. * - 只有在全局配置"darkmode": true时才会触发此事件。 */
  26687. onThemeChange(
  26688. /** 系统主题改变事件的监听函数 */
  26689. listener: OnThemeChangeCallback
  26690. ): void
  26691. /** [wx.onUnhandledRejection(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.onUnhandledRejection.html)
  26692. *
  26693. * 需要基础库: `2.10.0`
  26694. *
  26695. * 在插件中使用:不支持
  26696. *
  26697. * 监听未处理的 Promise 拒绝事件。该事件与 [`App.onUnhandledRejection`](https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html#onUnhandledRejection-Object-object) 的回调时机与参数一致。
  26698. *
  26699. * **注意**
  26700. *
  26701. * - 所有的 unhandledRejection 都可以被这一监听捕获,但只有 Error 类型的才会在小程序后台触发报警。 */
  26702. onUnhandledRejection(
  26703. /** 未处理的 Promise 拒绝事件的监听函数 */
  26704. listener: OnUnhandledRejectionCallback
  26705. ): void
  26706. /** [wx.onUserCaptureScreen(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.onUserCaptureScreen.html)
  26707. *
  26708. * 需要基础库: `1.4.0`
  26709. *
  26710. * 在插件中使用:不支持
  26711. *
  26712. * 监听用户主动截屏事件。用户使用系统截屏按键截屏时触发,只能注册一个监听
  26713. *
  26714. * **示例代码**
  26715. *
  26716. * ```js
  26717. wx.onUserCaptureScreen(function (res) {
  26718. console.log('用户截屏了')
  26719. return {
  26720. query: "parameter=test", // 通过截屏图片打开小程序的query参数
  26721. promise: new Promise((resolve) => { // 通过promise延时传递小程序的query参数
  26722. setTimeout(() => {
  26723. resolve({
  26724. query: "parameter=test2",
  26725. })
  26726. }, 1000) // 在1秒内对query进行解析
  26727. })
  26728. }
  26729. }
  26730. )
  26731. ``` */
  26732. onUserCaptureScreen(
  26733. /** 用户主动截屏事件的监听函数 */
  26734. listener: OnUserCaptureScreenCallback
  26735. ): void
  26736. /** [wx.onVoIPChatInterrupted(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatInterrupted.html)
  26737. *
  26738. * 需要基础库: `2.7.0`
  26739. *
  26740. * 在插件中使用:需要基础库 `2.9.1`
  26741. *
  26742. * 监听被动断开实时语音通话事件。包括小游戏切入后端时断开 */
  26743. onVoIPChatInterrupted(
  26744. /** 被动断开实时语音通话事件的监听函数 */
  26745. listener: OnVoIPChatInterruptedCallback
  26746. ): void
  26747. /** [wx.onVoIPChatMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatMembersChanged.html)
  26748. *
  26749. * 需要基础库: `2.7.0`
  26750. *
  26751. * 在插件中使用:需要基础库 `2.9.1`
  26752. *
  26753. * 监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 */
  26754. onVoIPChatMembersChanged(
  26755. /** 实时语音通话成员在线状态变化事件的监听函数 */
  26756. listener: OnVoIPChatMembersChangedCallback
  26757. ): void
  26758. /** [wx.onVoIPChatSpeakersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatSpeakersChanged.html)
  26759. *
  26760. * 需要基础库: `2.7.0`
  26761. *
  26762. * 在插件中使用:需要基础库 `2.9.1`
  26763. *
  26764. * 监听实时语音通话成员通话状态变化事件。有成员开始/停止说话时触发回调 */
  26765. onVoIPChatSpeakersChanged(
  26766. /** 实时语音通话成员通话状态变化事件的监听函数 */
  26767. listener: OnVoIPChatSpeakersChangedCallback
  26768. ): void
  26769. /** [wx.onVoIPChatStateChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPChatStateChanged.html)
  26770. *
  26771. * 需要基础库: `2.16.0`
  26772. *
  26773. * 在插件中使用:不支持
  26774. *
  26775. * 监听房间状态变化事件。 */
  26776. onVoIPChatStateChanged(
  26777. /** 房间状态变化事件的监听函数 */
  26778. listener: OnVoIPChatStateChangedCallback
  26779. ): void
  26780. /** [wx.onVoIPVideoMembersChanged(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.onVoIPVideoMembersChanged.html)
  26781. *
  26782. * 需要基础库: `2.11.0`
  26783. *
  26784. * 在插件中使用:不支持
  26785. *
  26786. * 监听实时语音通话成员视频状态变化事件。 */
  26787. onVoIPVideoMembersChanged(
  26788. /** 实时语音通话成员视频状态变化事件的监听函数 */
  26789. listener: OnVoIPVideoMembersChangedCallback
  26790. ): void
  26791. /** [wx.onWifiConnected(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnected.html)
  26792. *
  26793. * 需要基础库: `1.6.0`
  26794. *
  26795. * 在插件中使用:需要基础库 `2.9.1`
  26796. *
  26797. * 监听连接上 Wi-Fi 的事件 */
  26798. onWifiConnected(
  26799. /** 连接上 Wi-Fi 的事件的监听函数 */
  26800. listener: OnWifiConnectedCallback
  26801. ): void
  26802. /** [wx.onWifiConnectedWithPartialInfo(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.onWifiConnectedWithPartialInfo.html)
  26803. *
  26804. * 需要基础库: `2.22.0`
  26805. *
  26806. * 在插件中使用:需要基础库 `2.22.1`
  26807. *
  26808. * 监听连接上 Wi-Fi 的事件 */
  26809. onWifiConnectedWithPartialInfo(
  26810. /** 连接上 Wi-Fi 的事件的监听函数 */
  26811. listener: OnWifiConnectedWithPartialInfoCallback
  26812. ): void
  26813. /** [wx.onWindowResize(function listener)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.onWindowResize.html)
  26814. *
  26815. * 需要基础库: `2.3.0`
  26816. *
  26817. * 在插件中使用:不支持
  26818. *
  26819. * 监听窗口尺寸变化事件 */
  26820. onWindowResize(
  26821. /** 窗口尺寸变化事件的监听函数 */
  26822. listener: OnWindowResizeCallback
  26823. ): void
  26824. /** [wx.openAppAuthorizeSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openAppAuthorizeSetting.html)
  26825. *
  26826. * 需要基础库: `2.20.1`
  26827. *
  26828. * 在插件中使用:需要基础库 `2.21.3`
  26829. *
  26830. * 跳转系统微信授权管理页
  26831. *
  26832. * **示例代码**
  26833. *
  26834. * ```js
  26835. wx.openAppAuthorizeSetting({
  26836. success (res) {
  26837. console.log(res)
  26838. }
  26839. })
  26840. ``` */
  26841. openAppAuthorizeSetting<
  26842. T extends OpenAppAuthorizeSettingOption = OpenAppAuthorizeSettingOption
  26843. >(
  26844. option?: T
  26845. ): PromisifySuccessResult<T, OpenAppAuthorizeSettingOption>
  26846. /** [wx.openBluetoothAdapter(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html)
  26847. *
  26848. * 需要基础库: `1.1.0`
  26849. *
  26850. * 在插件中使用:需要基础库 `1.9.6`
  26851. *
  26852. * 初始化蓝牙模块。iOS 上开启主机/从机(外围设备)模式时需分别调用一次,并指定对应的 `mode`。
  26853. *
  26854. * **object.fail 回调函数返回的 state 参数(仅 iOS)**
  26855. *
  26856. * | 状态码 | 说明 |
  26857. * | ------ | ------ |
  26858. * | 0 | 未知 |
  26859. * | 1 | 重置中 |
  26860. * | 2 | 不支持 |
  26861. * | 3 | 未授权 |
  26862. * | 4 | 未开启 |
  26863. *
  26864. * **注意**
  26865. *
  26866. * - 其他蓝牙相关 API 必须在 [wx.openBluetoothAdapter](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.openBluetoothAdapter.html) 调用之后使用。否则 API 会返回错误(errCode=10000)。
  26867. * - 在用户蓝牙开关未开启或者手机不支持蓝牙功能的情况下,调用 [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。
  26868. *
  26869. * **示例代码**
  26870. *
  26871. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  26872. * ```js
  26873. wx.openBluetoothAdapter({
  26874. success (res) {
  26875. console.log(res)
  26876. }
  26877. })
  26878. ``` */
  26879. openBluetoothAdapter<
  26880. T extends OpenBluetoothAdapterOption = OpenBluetoothAdapterOption
  26881. >(
  26882. option?: T
  26883. ): PromisifySuccessResult<T, OpenBluetoothAdapterOption>
  26884. /** [wx.openCard(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.openCard.html)
  26885. *
  26886. * 需要基础库: `1.1.0`
  26887. *
  26888. * 在插件中使用:不支持
  26889. *
  26890. * 查看微信卡包中的卡券。只有通过 [认证](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)。
  26891. *
  26892. * **示例代码**
  26893. *
  26894. * ```js
  26895. wx.openCard({
  26896. cardList: [{
  26897. cardId: '',
  26898. code: ''
  26899. }, {
  26900. cardId: '',
  26901. code: ''
  26902. }],
  26903. success (res) { }
  26904. })
  26905. ``` */
  26906. openCard<T extends OpenCardOption = OpenCardOption>(
  26907. option: T
  26908. ): PromisifySuccessResult<T, OpenCardOption>
  26909. /** [wx.openChannelsActivity(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsActivity.html)
  26910. *
  26911. * 需要基础库: `2.19.2`
  26912. *
  26913. * 在插件中使用:不支持
  26914. *
  26915. * 打开视频号视频 */
  26916. openChannelsActivity(option: OpenChannelsActivityOption): void
  26917. /** [wx.openChannelsEvent(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsEvent.html)
  26918. *
  26919. * 需要基础库: `2.21.0`
  26920. *
  26921. * 在插件中使用:不支持
  26922. *
  26923. * 打开视频号活动页 */
  26924. openChannelsEvent(option: OpenChannelsEventOption): void
  26925. /** [wx.openChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsLive.html)
  26926. *
  26927. * 需要基础库: `2.15.0`
  26928. *
  26929. * 在插件中使用:不支持
  26930. *
  26931. * 打开视频号直播 */
  26932. openChannelsLive(option: OpenChannelsLiveOption): void
  26933. /** [wx.openChannelsUserProfile(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.openChannelsUserProfile.html)
  26934. *
  26935. * 需要基础库: `2.21.2`
  26936. *
  26937. * 在插件中使用:支持
  26938. *
  26939. * 打开视频号主页。若为插件环境,只允许在插件页面中调用。 */
  26940. openChannelsUserProfile(option: OpenChannelsUserProfileOption): void
  26941. /** [wx.openCustomerServiceChat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/service-chat/wx.openCustomerServiceChat.html)
  26942. *
  26943. * 需要基础库: `2.19.0`
  26944. *
  26945. * 在插件中使用:不支持
  26946. *
  26947. * 打开微信客服,页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用。了解更多信息,可以参考[微信客服介绍](https://work.weixin.qq.com/kf/)。
  26948. *
  26949. * **示例代码**
  26950. *
  26951. * ```js
  26952. wx.openCustomerServiceChat({
  26953. extInfo: {url: ''},
  26954. corpId: '',
  26955. success(res) {}
  26956. })
  26957. ``` */
  26958. openCustomerServiceChat(option: OpenCustomerServiceChatOption): void
  26959. /** [wx.openDocument(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html)
  26960. *
  26961. * 在插件中使用:需要基础库 `2.15.0`
  26962. *
  26963. * 新开页面打开文档。微信客户端 `7.0.12` 版本前默认显示右上角菜单按钮,之后的版本默认不显示,需主动传入 `showMenu`。 */
  26964. openDocument<T extends OpenDocumentOption = OpenDocumentOption>(
  26965. option: T
  26966. ): PromisifySuccessResult<T, OpenDocumentOption>
  26967. /** [wx.openEmbeddedMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html)
  26968. *
  26969. * 需要基础库: `2.20.1`
  26970. *
  26971. * 在插件中使用:需要基础库 `2.26.2`
  26972. *
  26973. * 打开半屏小程序。接入指引请参考 [半屏小程序能力](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html)。 */
  26974. openEmbeddedMiniProgram<
  26975. T extends OpenEmbeddedMiniProgramOption = OpenEmbeddedMiniProgramOption
  26976. >(
  26977. option: T
  26978. ): PromisifySuccessResult<T, OpenEmbeddedMiniProgramOption>
  26979. /** [wx.openHKOfflinePayView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.openHKOfflinePayView.html)
  26980. *
  26981. * 需要基础库: `3.4.4`
  26982. *
  26983. * 在插件中使用:不支持
  26984. *
  26985. * 拉起WeChat Pay HK付款码。
  26986. *
  26987. * 接入步骤:
  26988. * 1. 商户需已经开通微信港币钱包WeChat Pay HK的支付权限,
  26989. * 2.请用商户在微信支付入驻时预留的邮箱,发起邮件申请接入权限:
  26990. * - 【收件人】hkpayment@wechat.com
  26991. * - 【邮件主题】申请接入拉起WeChat Pay HK付款码+商户名称:***+商户号:***
  26992. * - 【邮件内容】因XXX原因(原因请按商户实际情况填写,不合理会驳回),需申请拉起WeChat Pay HK付款码,申请材料如下:
  26993. * - 商户名称
  26994. * - 商户号
  26995. * - 商户资质材料扫描件或照片(CI,BR任一),所有材料均需清晰,且有盖章
  26996. * - 拉起WeChat Pay HK付款码的场景说明:需有文字和示意图说明
  26997. * - 商户联系方式:邮件***,联系电话***
  26998. *
  26999. * **示例代码**
  27000. *
  27001. * ```js
  27002. wx.openHKOfflinePayView({
  27003. timeStamp: '',
  27004. nonceStr: '',
  27005. package: '',
  27006. signType: 'SHA1',
  27007. paySign: '',
  27008. success (res) { },
  27009. fail (res) { }
  27010. })
  27011. ``` */
  27012. openHKOfflinePayView(option: OpenHKOfflinePayViewOption): void
  27013. /** [wx.openLocation(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.openLocation.html)
  27014. *
  27015. * 在插件中使用:需要基础库 `1.9.6`
  27016. *
  27017. * 使用微信内置地图查看位置
  27018. *
  27019. * **示例代码**
  27020. *
  27021. * ```js
  27022. wx.getLocation({
  27023. type: 'gcj02', //返回可以用于wx.openLocation的经纬度
  27024. success (res) {
  27025. const latitude = res.latitude
  27026. const longitude = res.longitude
  27027. wx.openLocation({
  27028. latitude,
  27029. longitude,
  27030. scale: 18
  27031. })
  27032. }
  27033. })
  27034. ``` */
  27035. openLocation<T extends OpenLocationOption = OpenLocationOption>(
  27036. option: T
  27037. ): PromisifySuccessResult<T, OpenLocationOption>
  27038. /** [wx.openOfficialAccountArticle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openOfficialAccountArticle.html)
  27039. *
  27040. * 需要基础库: `3.4.8`
  27041. *
  27042. * 在插件中使用:不支持
  27043. *
  27044. * 通过小程序打开任意公众号文章(不包括临时链接等异常状态下的公众号文章),必须有点击行为才能调用成功。
  27045. *
  27046. * **示例代码**
  27047. *
  27048. * ```js
  27049. wx.openOfficialAccountArticle({
  27050. url:'', // 此处填写公众号文章连接
  27051. success: res => {
  27052. },
  27053. fail: res => {
  27054. }
  27055. })
  27056. ``` */
  27057. openOfficialAccountArticle(
  27058. option: OpenOfficialAccountArticleOption
  27059. ): void
  27060. /** [wx.openPrivacyContract(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/privacy/wx.openPrivacyContract.html)
  27061. *
  27062. * 需要基础库: `2.32.3`
  27063. *
  27064. * 在插件中使用:不支持
  27065. *
  27066. * 跳转至隐私协议页面。隐私合规开发指南详情可见[《小程序隐私协议开发指南》](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html)
  27067. *
  27068. * ****
  27069. *
  27070. * ## 具体说明:
  27071. *
  27072. * - 1. 一定要调用 wx.openPrivacyContract 接口吗?
  27073. *
  27074. * - 不是。开发者也可以选择在小程序页面内自行展示完整的隐私协议。但推荐使用该接口。
  27075. *
  27076. * **示例代码**
  27077. *
  27078. * ```js
  27079. wx.openPrivacyContract({
  27080. success: () => {}, // 打开成功
  27081. fail: () => {}, // 打开失败
  27082. complete: () => {}
  27083. })
  27084. ```
  27085. *
  27086. * **完整示例demo**
  27087. *
  27088. * demo1: 演示使用 `wx.getPrivacySetting` 和 `<button open-type="agreePrivacyAuthorization">` 在首页处理隐私弹窗逻辑
  27089. * [https://developers.weixin.qq.com/s/gi71sGm67hK0](https://developers.weixin.qq.com/s/gi71sGm67hK0)
  27090. *
  27091. * demo2: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。
  27092. * [https://developers.weixin.qq.com/s/hndZUOmA7gKn](https://developers.weixin.qq.com/s/hndZUOmA7gKn)
  27093. *
  27094. * demo3: 演示 `wx.onNeedPrivacyAuthorization`、`wx.requirePrivacyAuthorize`、`<button open-type="agreePrivacyAuthorization">` 和 `<input type="nickname">` 组件如何结合使用
  27095. * [https://developers.weixin.qq.com/s/jX7xWGmA7UKa](https://developers.weixin.qq.com/s/jX7xWGmA7UKa)
  27096. *
  27097. * demo4: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个 tabBar 页面处理隐私弹窗逻辑。
  27098. * [https://developers.weixin.qq.com/s/g6BWZGmt7XK9](https://developers.weixin.qq.com/s/g6BWZGmt7XK9) */
  27099. openPrivacyContract(option: OpenPrivacyContractOption): void
  27100. /** [wx.openSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.openSetting.html)
  27101. *
  27102. * 需要基础库: `1.1.0`
  27103. *
  27104. * 在插件中使用:需要基础库 `2.10.3`
  27105. *
  27106. * 调起客户端小程序设置界面,返回用户设置的操作结果。**设置界面只会出现小程序已经向用户请求过的[权限](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html)**。
  27107. *
  27108. * ****
  27109. *
  27110. * - 注意:[2.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为后,才可以跳转打开设置页,管理授权信息。[详情](https://developers.weixin.qq.com/community/develop/doc/000cea2305cc5047af5733de751008)
  27111. *
  27112. * **示例代码**
  27113. *
  27114. * ```js
  27115. wx.openSetting({
  27116. success (res) {
  27117. console.log(res.authSetting)
  27118. // res.authSetting = {
  27119. // "scope.userInfo": true,
  27120. // "scope.userLocation": true
  27121. // }
  27122. }
  27123. })
  27124. ``` */
  27125. openSetting<T extends OpenSettingOption = OpenSettingOption>(
  27126. option?: T
  27127. ): PromisifySuccessResult<T, OpenSettingOption>
  27128. /** [wx.openSingleStickerView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sticker/wx.openSingleStickerView.html)
  27129. *
  27130. * 需要基础库: `3.0.1`
  27131. *
  27132. * 在插件中使用:不支持
  27133. *
  27134. * 打开单个表情
  27135. *
  27136. * **示例代码**
  27137. *
  27138. * ```js
  27139. wx.openSingleStickerView({
  27140. url: '',
  27141. success(res) {}
  27142. })
  27143. ``` */
  27144. openSingleStickerView(option: OpenSingleStickerViewOption): void
  27145. /** [wx.openStickerIPView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sticker/wx.openStickerIPView.html)
  27146. *
  27147. * 需要基础库: `3.0.1`
  27148. *
  27149. * 在插件中使用:不支持
  27150. *
  27151. * 打开表情IP合辑
  27152. *
  27153. * **示例代码**
  27154. *
  27155. * ```js
  27156. wx.openStickerIPView({
  27157. url: '',
  27158. success(res) {}
  27159. })
  27160. ``` */
  27161. openStickerIPView(option: OpenStickerIPViewOption): void
  27162. /** [wx.openStickerSetView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/sticker/wx.openStickerSetView.html)
  27163. *
  27164. * 需要基础库: `3.0.1`
  27165. *
  27166. * 在插件中使用:不支持
  27167. *
  27168. * 打开表情专辑
  27169. *
  27170. * **示例代码**
  27171. *
  27172. * ```js
  27173. wx.openStickerSetView({
  27174. url: '',
  27175. success(res) {}
  27176. })
  27177. ``` */
  27178. openStickerSetView(option: OpenStickerSetViewOption): void
  27179. /** [wx.openSystemBluetoothSetting(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.openSystemBluetoothSetting.html)
  27180. *
  27181. * 需要基础库: `2.20.1`
  27182. *
  27183. * 在插件中使用:需要基础库 `2.21.3`
  27184. *
  27185. * 跳转系统蓝牙设置页。仅支持安卓。
  27186. *
  27187. * **示例代码**
  27188. *
  27189. * ```js
  27190. wx.openSystemBluetoothSetting({
  27191. success (res) {
  27192. console.log(res)
  27193. }
  27194. })
  27195. ``` */
  27196. openSystemBluetoothSetting<
  27197. T extends OpenSystemBluetoothSettingOption = OpenSystemBluetoothSettingOption
  27198. >(
  27199. option?: T
  27200. ): PromisifySuccessResult<T, OpenSystemBluetoothSettingOption>
  27201. /** [wx.openVideoEditor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.openVideoEditor.html)
  27202. *
  27203. * 需要基础库: `2.12.0`
  27204. *
  27205. * 在插件中使用:需要基础库 `2.15.0`
  27206. *
  27207. * 打开视频编辑器 */
  27208. openVideoEditor(option: OpenVideoEditorOption): void
  27209. /** [wx.pageScrollTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html)
  27210. *
  27211. * 需要基础库: `1.4.0`
  27212. *
  27213. * 在插件中使用:需要基础库 `2.1.0`
  27214. *
  27215. * 在插件中使用时,只能在当前插件的页面中调用
  27216. *
  27217. * 将页面滚动到目标位置,支持选择器和滚动距离两种方式定位
  27218. *
  27219. * **selector 语法**
  27220. *
  27221. * selector类似于 CSS 的选择器,但仅支持下列语法。
  27222. *
  27223. * + ID选择器:#the-id
  27224. * + class选择器(可以连续指定多个):.a-class.another-class
  27225. * + 子元素选择器:.the-parent > .the-child
  27226. * + 后代选择器:.the-ancestor .the-descendant
  27227. * + 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant
  27228. * + 多选择器的并集:#a-node, .some-other-nodes
  27229. *
  27230. * **示例代码**
  27231. *
  27232. * ```js
  27233. wx.pageScrollTo({
  27234. scrollTop: 0,
  27235. duration: 300
  27236. })
  27237. ``` */
  27238. pageScrollTo<T extends PageScrollToOption = PageScrollToOption>(
  27239. option: T
  27240. ): PromisifySuccessResult<T, PageScrollToOption>
  27241. /** [wx.pauseBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.pauseBackgroundAudio.html)
  27242. *
  27243. * 在插件中使用:需要基础库 `1.9.6`
  27244. * @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) 替换
  27245. *
  27246. * 暂停播放音乐。
  27247. *
  27248. * **示例代码**
  27249. *
  27250. * ```js
  27251. wx.pauseBackgroundAudio()
  27252. ``` */
  27253. pauseBackgroundAudio<
  27254. T extends PauseBackgroundAudioOption = PauseBackgroundAudioOption
  27255. >(
  27256. option?: T
  27257. ): PromisifySuccessResult<T, PauseBackgroundAudioOption>
  27258. /** [wx.pauseVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.pauseVoice.html)
  27259. *
  27260. * 在插件中使用:需要基础库 `1.9.6`
  27261. * @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) 替换
  27262. *
  27263. * 暂停正在播放的语音。再次调用 [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)。
  27264. *
  27265. * **示例代码**
  27266. *
  27267. * ```js
  27268. wx.startRecord({
  27269. success (res) {
  27270. const tempFilePath = res.tempFilePath
  27271. wx.playVoice({
  27272. filePath: tempFilePath
  27273. })
  27274. setTimeout(() => { wx.pauseVoice() }, 5000)
  27275. }
  27276. })
  27277. ``` */
  27278. pauseVoice<T extends PauseVoiceOption = PauseVoiceOption>(
  27279. option?: T
  27280. ): PromisifySuccessResult<T, PauseVoiceOption>
  27281. /** [wx.playBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.playBackgroundAudio.html)
  27282. *
  27283. * 在插件中使用:需要基础库 `1.9.6`
  27284. * @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) 替换
  27285. *
  27286. * 使用后台播放器播放音乐。对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。
  27287. *
  27288. * **示例代码**
  27289. *
  27290. * ```js
  27291. wx.playBackgroundAudio({
  27292. dataUrl: '',
  27293. title: '',
  27294. coverImgUrl: ''
  27295. })
  27296. ``` */
  27297. playBackgroundAudio<
  27298. T extends PlayBackgroundAudioOption = PlayBackgroundAudioOption
  27299. >(
  27300. option: T
  27301. ): PromisifySuccessResult<T, PlayBackgroundAudioOption>
  27302. /** [wx.playVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html)
  27303. *
  27304. * 在插件中使用:需要基础库 `1.9.6`
  27305. * @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) 替换
  27306. *
  27307. * 开始播放语音。同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。
  27308. *
  27309. * **示例代码**
  27310. *
  27311. * ```js
  27312. wx.startRecord({
  27313. success (res) {
  27314. const tempFilePath = res.tempFilePath
  27315. wx.playVoice({
  27316. filePath: tempFilePath,
  27317. complete () { }
  27318. })
  27319. }
  27320. })
  27321. ``` */
  27322. playVoice<T extends PlayVoiceOption = PlayVoiceOption>(
  27323. option: T
  27324. ): PromisifySuccessResult<T, PlayVoiceOption>
  27325. /** [wx.pluginLogin(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html)
  27326. *
  27327. * 需要基础库: `2.20.1`
  27328. *
  27329. * 在插件中使用:需要基础库 `2.20.1`
  27330. *
  27331. * __该接口仅在小程序插件中可调用__,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。 */
  27332. pluginLogin(args?: PluginLoginOption): void
  27333. /** [wx.postMessageToReferrerMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/app-event/wx.postMessageToReferrerMiniProgram.html)
  27334. *
  27335. * 需要基础库: `3.2.1`
  27336. *
  27337. * 在插件中使用:不支持
  27338. *
  27339. * 向跳转的源小程序发送消息,源小程序可在 [wx.onShow](#) 或 [wx.getEnterOptionsSync](https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getEnterOptionsSync.html) 中通过 extraData 接收消息。
  27340. *
  27341. * ****
  27342. *
  27343. * 多次调用会覆盖之前传递的消息,通过 [wx.navigateBackMiniProgram](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.html) 传递 extraData 也会覆盖消息。
  27344. *
  27345. * ****
  27346. *
  27347. * 在触发返回后传递的消息不会被收到。 */
  27348. postMessageToReferrerMiniProgram(
  27349. option: PostMessageToReferrerMiniProgramOption
  27350. ): void
  27351. /** [wx.preloadAssets(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadAssets.html)
  27352. *
  27353. * 需要基础库: `2.22.1`
  27354. *
  27355. * 在插件中使用:不支持
  27356. *
  27357. * 为视图层预加载媒体资源文件, 目前支持:font,image
  27358. *
  27359. * **示例代码**
  27360. *
  27361. * ```js
  27362. wx.preloadAssets({
  27363. data: [
  27364. {
  27365. type: 'image',
  27366. src: imgUrl,
  27367. },
  27368. ],
  27369. success(resp) {
  27370. console.log('preloadAssets success', resp)
  27371. },
  27372. fail(err) {
  27373. console.log('preloadAssets fail', err)
  27374. },
  27375. })
  27376. ```
  27377. *
  27378. * ****
  27379. *
  27380. * - 开发过程中,可在开发者工具network面板查看预加载情况。 */
  27381. preloadAssets(option: PreloadAssetsOption): void
  27382. /** [wx.preloadSkylineView(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadSkylineView.html)
  27383. *
  27384. * 需要基础库: `2.24.7`
  27385. *
  27386. * 在插件中使用:需要基础库 `2.24.7`
  27387. *
  27388. * 预加载下个页面所需要的 [Skyline](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 运行环境。 */
  27389. preloadSkylineView(option?: PreloadSkylineViewOption): void
  27390. /** [wx.preloadWebview(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.preloadWebview.html)
  27391. *
  27392. * 需要基础库: `2.15.0`
  27393. *
  27394. * 在插件中使用:需要基础库 `2.15.0`
  27395. *
  27396. * 预加载下个页面的 WebView。参见[预加载下个页面的时机](https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips/runtime_nav.html#_2-4-控制预加载下个页面的时机) */
  27397. preloadWebview(option?: PreloadWebviewOption): void
  27398. /** [wx.previewImage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html)
  27399. *
  27400. * 在插件中使用:需要基础库 `1.9.6`
  27401. *
  27402. * 在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作。
  27403. *
  27404. * **支持长按识别的码**
  27405. *
  27406. * | 类型 | 说明 | 最低版本 |
  27407. * |------|------| -------|
  27408. * | 小程序码 | |
  27409. * | 微信个人码 | | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27410. * | 企业微信个人码 | | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27411. * | 普通群码 | 指仅包含微信用户的群 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27412. * | 互通群码 | 指既有微信用户也有企业微信用户的群 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27413. * | 公众号二维码 | | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27414. *
  27415. * **示例代码**
  27416. *
  27417. * ```js
  27418. wx.previewImage({
  27419. current: '', // 当前显示图片的http链接
  27420. urls: [] // 需要预览的图片http链接列表
  27421. })
  27422. ``` */
  27423. previewImage<T extends PreviewImageOption = PreviewImageOption>(
  27424. option: T
  27425. ): PromisifySuccessResult<T, PreviewImageOption>
  27426. /** [wx.previewMedia(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewMedia.html)
  27427. *
  27428. * 需要基础库: `2.12.0`
  27429. *
  27430. * 在插件中使用:需要基础库 `2.15.0`
  27431. *
  27432. * 预览图片和视频。
  27433. *
  27434. * **支持长按识别的码**
  27435. *
  27436. * | 类型 | 说明 | 最低版本 |
  27437. * |------|------| -------|
  27438. * | 小程序码 | |
  27439. * | 微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27440. * | 企业微信个人码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27441. * | 普通群码 | 指仅包含微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27442. * | 互通群码 | 指既有微信用户也有企业微信用户的群,不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
  27443. * | 公众号二维码 | 不支持小游戏 | [2.18.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) | */
  27444. previewMedia<T extends PreviewMediaOption = PreviewMediaOption>(
  27445. option: T
  27446. ): PromisifySuccessResult<T, PreviewMediaOption>
  27447. /** [wx.reLaunch(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.reLaunch.html)
  27448. *
  27449. * 需要基础库: `1.1.0`
  27450. *
  27451. * 在插件中使用:需要基础库 `2.3.1`
  27452. *
  27453. * 在插件中使用时,只能在当前插件的页面中调用
  27454. *
  27455. * 关闭所有页面,打开到应用内的某个页面
  27456. *
  27457. * **示例代码**
  27458. *
  27459. * ```js
  27460. wx.reLaunch({
  27461. url: 'test?id=1'
  27462. })
  27463. ```
  27464. *
  27465. * ```html
  27466. * // test
  27467. * Page({
  27468. * onLoad (option) {
  27469. * console.log(option.query)
  27470. * }
  27471. * })
  27472. * ``` */
  27473. reLaunch<T extends ReLaunchOption = ReLaunchOption>(
  27474. option: T
  27475. ): PromisifySuccessResult<T, ReLaunchOption>
  27476. /** [wx.readBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.readBLECharacteristicValue.html)
  27477. *
  27478. * 需要基础库: `1.1.0`
  27479. *
  27480. * 在插件中使用:需要基础库 `1.9.6`
  27481. *
  27482. * 读取蓝牙低功耗设备特征值的二进制数据。注意:必须设备的特征支持 read 才可以成功调用。
  27483. *
  27484. * **注意**
  27485. *
  27486. * - 并行调用多次会存在读失败的可能性。
  27487. * - 接口读取到的信息需要在 [wx.onBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.onBLECharacteristicValueChange.html) 方法注册的回调中获取。
  27488. *
  27489. * **示例代码**
  27490. *
  27491. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  27492. * ```js
  27493. // 必须在这里的回调才能获取
  27494. wx.onBLECharacteristicValueChange(function(characteristic) {
  27495. console.log('characteristic value comed:', characteristic)
  27496. })
  27497. wx.readBLECharacteristicValue({
  27498. // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
  27499. deviceId,
  27500. // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
  27501. serviceId,
  27502. // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
  27503. characteristicId,
  27504. success (res) {
  27505. console.log('readBLECharacteristicValue:', res.errCode)
  27506. }
  27507. })
  27508. ``` */
  27509. readBLECharacteristicValue<
  27510. T extends ReadBLECharacteristicValueOption = ReadBLECharacteristicValueOption
  27511. >(
  27512. option: T
  27513. ): PromisifySuccessResult<T, ReadBLECharacteristicValueOption>
  27514. /** [wx.redirectTo(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html)
  27515. *
  27516. * 在插件中使用:需要基础库 `2.2.2`
  27517. *
  27518. * 在插件中使用时,只能在当前插件的页面中调用
  27519. *
  27520. * 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
  27521. *
  27522. * **示例代码**
  27523. *
  27524. * ```js
  27525. wx.redirectTo({
  27526. url: 'test?id=1'
  27527. })
  27528. ``` */
  27529. redirectTo<T extends RedirectToOption = RedirectToOption>(
  27530. option: T
  27531. ): PromisifySuccessResult<T, RedirectToOption>
  27532. /** [wx.removeStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html)
  27533. *
  27534. * 在插件中使用:需要基础库 `1.9.6`
  27535. *
  27536. * 从本地缓存中移除指定 key。
  27537. *
  27538. * **示例代码**
  27539. *
  27540. * ```js
  27541. wx.removeStorage({
  27542. key: 'key',
  27543. success (res) {
  27544. console.log(res)
  27545. }
  27546. })
  27547. ```
  27548. *
  27549. * ```js
  27550. try {
  27551. wx.removeStorageSync('key')
  27552. } catch (e) {
  27553. // Do something when catch error
  27554. }
  27555. ``` */
  27556. removeStorage<T extends RemoveStorageOption = RemoveStorageOption>(
  27557. option: T
  27558. ): PromisifySuccessResult<T, RemoveStorageOption>
  27559. /** [wx.removeStorageSync(string key)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorageSync.html)
  27560. *
  27561. * 在插件中使用:需要基础库 `1.9.6`
  27562. *
  27563. * [wx.removeStorage](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.removeStorage.html) 的同步版本
  27564. *
  27565. * **示例代码**
  27566. *
  27567. * ```js
  27568. wx.removeStorage({
  27569. key: 'key',
  27570. success (res) {
  27571. console.log(res)
  27572. }
  27573. })
  27574. ```
  27575. *
  27576. * ```js
  27577. try {
  27578. wx.removeStorageSync('key')
  27579. } catch (e) {
  27580. // Do something when catch error
  27581. }
  27582. ``` */
  27583. removeStorageSync(
  27584. /** 本地缓存中指定的 key */
  27585. key: string
  27586. ): void
  27587. /** [wx.removeTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.removeTabBarBadge.html)
  27588. *
  27589. * 需要基础库: `1.9.0`
  27590. *
  27591. * 在插件中使用:不支持
  27592. *
  27593. * 移除 tabBar 某一项右上角的文本 */
  27594. removeTabBarBadge<
  27595. T extends RemoveTabBarBadgeOption = RemoveTabBarBadgeOption
  27596. >(
  27597. option: T
  27598. ): PromisifySuccessResult<T, RemoveTabBarBadgeOption>
  27599. /** [wx.reportAnalytics(string eventName, Object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html)
  27600. *
  27601. * 在插件中使用:需要基础库 `1.9.6`
  27602. *
  27603. * 在插件中使用时,可以被正常调用,但目前不会进行统计展示
  27604. * @deprecated 基础库版本 [2.31.1](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.reportEvent](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) 替换
  27605. *
  27606. * 自定义分析数据上报接口。使用前,需要在小程序管理后台自定义分析中新建事件,配置好事件名与字段。
  27607. *
  27608. * **示例代码**
  27609. *
  27610. * ```js
  27611. wx.reportAnalytics('purchase', {
  27612. price: 120,
  27613. color: 'red'
  27614. })
  27615. ``` */
  27616. reportAnalytics(
  27617. /** 事件名 */
  27618. eventName: string,
  27619. /** 上报的自定义数据,key 为配置中的字段名,value 为上报的数据。 */
  27620. data: IAnyObject
  27621. ): void
  27622. /** [wx.reportEvent(string eventId, object data)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html)
  27623. *
  27624. * 需要基础库: `2.14.4`
  27625. *
  27626. * 在插件中使用:不支持
  27627. *
  27628. * 事件上报 */
  27629. reportEvent(
  27630. /** 在 mp 实验系统中设置的事件英文名 */
  27631. eventId: string,
  27632. /** 可被 JSON.stringify 的对象,将一起上报至系统 */
  27633. data?: IAnyObject
  27634. ): void
  27635. /** [wx.reportMonitor(string name, number value)](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportMonitor.html)
  27636. *
  27637. * 需要基础库: `2.0.1`
  27638. *
  27639. * 在插件中使用:不支持
  27640. * @deprecated 基础库版本 [2.31.1](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃,请使用 [wx.reportEvent](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportEvent.html) 替换
  27641. *
  27642. * 自定义业务数据监控上报接口。
  27643. *
  27644. * **使用说明**
  27645. *
  27646. * 使用前,需要在「小程序管理后台-运维中心-性能监控-业务数据监控」中新建监控事件,配置监控描述与告警类型。每一个监控事件对应唯一的监控ID,开发者最多可以创建128个监控事件。
  27647. *
  27648. * **示例代码**
  27649. *
  27650. * ```js
  27651. wx.reportMonitor('1', 1)
  27652. ``` */
  27653. reportMonitor(
  27654. /** 监控ID,在「小程序管理后台」新建数据指标后获得 */
  27655. name: string,
  27656. /** 上报数值,经处理后会在「小程序管理后台」上展示每分钟的上报总量 */
  27657. value: number
  27658. ): void
  27659. /** [wx.reportPerformance(Number id, Number value, String|Array dimensions)](https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/wx.reportPerformance.html)
  27660. *
  27661. * 需要基础库: `2.9.2`
  27662. *
  27663. * 在插件中使用:需要基础库 `2.9.3`
  27664. *
  27665. * 小程序测速上报。使用前,需要在小程序管理后台配置。
  27666. *
  27667. * **示例代码**
  27668. *
  27669. * ```js
  27670. wx.reportPerformance(1101, 680)
  27671. wx.reportPerformance(1101, 680, 'custom')
  27672. ``` */
  27673. reportPerformance(
  27674. /** 指标 id */
  27675. id: number,
  27676. /** 需要上报的数值 */
  27677. value: number,
  27678. /** 自定义维度 (选填) */
  27679. dimensions?: string | any[]
  27680. ): void
  27681. /** [wx.requestCommonPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestCommonPayment.html)
  27682. *
  27683. * 需要基础库: `2.19.2`
  27684. *
  27685. * 在插件中使用:不支持
  27686. *
  27687. * 发起通用支付。目前该接口仅支持 B2b 支付类型。
  27688. *
  27689. * ****
  27690. *
  27691. * ## 注意事项:
  27692. *
  27693. * **示例代码**
  27694. *
  27695. * ```js
  27696. wx.requestCommonPayment({
  27697. signData: JSON.stringify({
  27698. mchid: '1234567890',
  27699. out_trade_no: 'test1244',
  27700. description: '测试测试',
  27701. amount: {
  27702. order_amount: 1,
  27703. currency: 'CNY'
  27704. },
  27705. attach: 'test_attach',
  27706. product_info: {
  27707. product_list: [{
  27708. spu_id: 'spu123456',
  27709. sku_id: 'sku123',
  27710. title: 'QQ长鹅',
  27711. path: 'pages/index',
  27712. head_img: 'https://mp.weixin.qq.com/123',
  27713. category: '玩偶',
  27714. sku_attr: '50cm',
  27715. org_price: 5000,
  27716. sale_price: 4000,
  27717. quantity: 5
  27718. }]
  27719. },
  27720. delivery_type: 2,
  27721. env: 0
  27722. }),
  27723. paySig: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
  27724. signature: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
  27725. mode: 'retail_pay_goods',
  27726. success(res) {
  27727. console.log('requestCommonPayment success', res)
  27728. },
  27729. fail({ errMsg, errno }) {
  27730. console.error(errMsg, errno)
  27731. },
  27732. })
  27733. ``` */
  27734. requestCommonPayment(option: RequestCommonPaymentOption): void
  27735. /** [wx.requestDeviceVoIP(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/device-voip/wx.requestDeviceVoIP.html)
  27736. *
  27737. * 需要基础库: `2.27.3`
  27738. *
  27739. * 在插件中使用:不支持
  27740. *
  27741. * 请求用户授权与设备(组)间进行音视频通话。
  27742. *
  27743. * **示例代码**
  27744. *
  27745. * ```js
  27746. // 授权单台设备
  27747. wx.requestDeviceVoIP({
  27748. sn: 'xxxx',
  27749. snTicket: 'xxxxx',
  27750. modelId: 'xxx',
  27751. deviceName: 'xxx',
  27752. success(res) {
  27753. console.log(res)
  27754. },
  27755. fail(res) {
  27756. console.log(res)
  27757. }
  27758. })
  27759. // 批量授权(授权设备组)
  27760. wx.requestDeviceVoIP({
  27761. isGroup: true,
  27762. groupId: '设备组 ID',
  27763. success(res) {
  27764. console.log(res)
  27765. },
  27766. fail(res) {
  27767. console.log(res)
  27768. }
  27769. })
  27770. ``` */
  27771. requestDeviceVoIP(option: RequestDeviceVoIPOption): void
  27772. /** [wx.requestMerchantTransfer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestMerchantTransfer.html)
  27773. *
  27774. * 需要基础库: `3.3.0`
  27775. *
  27776. * 在插件中使用:不支持
  27777. *
  27778. * 商家转账用户确认模式下,在微信客户端通过小程序拉起页面请求用户确认收款。调用前需在微信支付商户平台/合作伙伴平台-产品中心,申请开通商家转账。
  27779. *
  27780. * **示例代码**
  27781. *
  27782. * ```js
  27783. wx.requestMerchantTransfer({
  27784. mchId: '',
  27785. subMchId: '',
  27786. appId: '',
  27787. subAppId: '',
  27788. package: '',
  27789. openId: '',
  27790. success (res) { },
  27791. fail (res) { }
  27792. })
  27793. ``` */
  27794. requestMerchantTransfer(option: RequestMerchantTransferOption): void
  27795. /** [wx.requestOrderPayment(Object args)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestOrderPayment.html)
  27796. *
  27797. * 需要基础库: `2.16.0`
  27798. *
  27799. * 在插件中使用:不支持
  27800. *
  27801. * 仅接入了[自定义版交易组件](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)。
  27802. *
  27803. * **前置检查**
  27804. *
  27805. * 接入自定义版交易组件之后,若要发起微信支付,请先查询[需要校验的场景](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/check_scene)。
  27806. * 在需要校验的场景中,发起微信支付时,必须使用该接口,需要按照要求传入相关的[订单信息](https://developers.weixin.qq.com/miniprogram/dev/framework/ministore/minishopopencomponent2/API/order/add_order)进行校验,校验通过后用户才可以完成当前订单的支付,非需要校验的场景则可以按照商家要求自行选择传入订单信息或不传入。 */
  27807. requestOrderPayment<
  27808. T extends RequestOrderPaymentOption = RequestOrderPaymentOption
  27809. >(
  27810. args: T
  27811. ): PromisifySuccessResult<T, RequestOrderPaymentOption>
  27812. /** [wx.requestPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html)
  27813. *
  27814. * 在插件中使用:不支持
  27815. *
  27816. * 发起微信支付。调用前需在[小程序微信公众平台](https://mp.weixin.qq.com/) -功能-微信支付入口申请接入微信支付。了解更多信息,可以参考 [微信支付开发文档](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml):
  27817. * - [开发指引](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter2_3.shtml)
  27818. * - [下单接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_2.shtml)
  27819. * - [支付接口](https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_12.shtml)
  27820. * - 旧版本 (v2)
  27821. * - [开发指引](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1)
  27822. * - [支付接口](https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3)
  27823. *
  27824. * 如果使用[云开发](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)。
  27825. *
  27826. * **示例代码**
  27827. *
  27828. * ```js
  27829. wx.requestPayment({
  27830. timeStamp: '',
  27831. nonceStr: '',
  27832. package: '',
  27833. signType: 'MD5',
  27834. paySign: '',
  27835. success (res) { },
  27836. fail (res) { }
  27837. })
  27838. ```
  27839. *
  27840. * 注:如果服务端有使用云开发,可以通过云开发微信支付[统一下单](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html)接口免鉴权获取以上所需所有参数,示例:
  27841. *
  27842. * ```js
  27843. // 云函数代码
  27844. const cloud = require('wx-server-sdk')
  27845. cloud.init({
  27846. env: cloud.DYNAMIC_CURRENT_ENV
  27847. })
  27848. exports.main = async (event, context) => {
  27849. const res = await cloud.cloudPay.unifiedOrder({
  27850. "body" : "小秋TIT店-超市",
  27851. "outTradeNo" : "1217752501201407033233368018",
  27852. "spbillCreateIp" : "127.0.0.1",
  27853. "subMchId" : "1900009231",
  27854. "totalFee" : 1,
  27855. "envId": "test-f0b102",
  27856. "functionName": "pay_cb"
  27857. })
  27858. return res
  27859. }
  27860. // 小程序代码
  27861. wx.cloud.callFunction({
  27862. name: '函数名',
  27863. data: {
  27864. // ...
  27865. },
  27866. success: res => {
  27867. const payment = res.result.payment
  27868. wx.requestPayment({
  27869. ...payment,
  27870. success (res) {
  27871. console.log('pay success', res)
  27872. },
  27873. fail (err) {
  27874. console.error('pay fail', err)
  27875. }
  27876. })
  27877. },
  27878. fail: console.error,
  27879. })
  27880. ``` */
  27881. requestPayment<T extends RequestPaymentOption = RequestPaymentOption>(
  27882. option: T
  27883. ): PromisifySuccessResult<T, RequestPaymentOption>
  27884. /** [wx.requestPluginPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPluginPayment.html)
  27885. *
  27886. * 需要基础库: `2.22.1`
  27887. *
  27888. * 在插件中使用:需要基础库 `2.22.1`
  27889. *
  27890. * 插件中发起支付。
  27891. *
  27892. * **Tip**
  27893. *
  27894. * 1. `tip`: 小程序与插件绑定在同一个open平台账号上且小程序与插件均为open账号的同主体/关联主体时,调用此接口将直接拉起支付收银台。
  27895. * 1. `tip`: 这个接口本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。
  27896. * 1. `tip`: 跳转支付功能页需要在 `app.json` 中配置 `"functionalPages": true`
  27897. *
  27898. * **示例代码**
  27899. *
  27900. * 具体用法及参数说明可参考 [插件支付文档](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages/request-payment.html)
  27901. * ```js
  27902. wx.requestPluginPayment({
  27903. version: 'release',
  27904. fee: 1,
  27905. paymentArgs: {},
  27906. currencyType: 'CNY',
  27907. success (res) { },
  27908. fail (res) { }
  27909. })
  27910. ``` */
  27911. requestPluginPayment(option: RequestPluginPaymentOption): void
  27912. /** [wx.requestSubscribeDeviceMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeDeviceMessage.html)
  27913. *
  27914. * 需要基础库: `2.20.0`
  27915. *
  27916. * 在插件中使用:需要基础库 `3.4.1`
  27917. *
  27918. * 订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。
  27919. *
  27920. * **错误码**
  27921. *
  27922. * | errCode | errMsg | 说明 |
  27923. * | ------- | ------------------------------------------------------ | -------------------------------------------------------------- |
  27924. * | 10001 | TmplIds can't be empty | tmplIds 为空 |
  27925. * | 10004 | Invalid template id | tmplId 参数类型错误 |
  27926. * | 20001 | No template data return, verify the template id exist | tmplId 为空 |
  27927. * | 20003 | Templates count out of max bounds | tmplId 数量超过上限 |
  27928. * | 19720726 | check sn_ticket fail | snTicket 不合法 |
  27929. * | 19720727 | sn_ticket expire | snTicket 过期 |
  27930. * | 19720728 | err_not_found_tid | tmplId 不存在 |
  27931. * | 19720736 | template_id do not match model_id | modelId 类型与 tmplId 类型不符 |
  27932. *
  27933. * **示例代码**
  27934. *
  27935. * ```js
  27936. wx.requestSubscribeDeviceMessage({
  27937. tmplIds: ['xxxxx'],
  27938. sn: 'xxxx',
  27939. snTicket: 'xxxxx',
  27940. modelId: 'xxx',
  27941. success(res) {
  27942. console.log(res)
  27943. },
  27944. fail(res) {
  27945. console.log(res)
  27946. }
  27947. })
  27948. ``` */
  27949. requestSubscribeDeviceMessage<
  27950. T extends RequestSubscribeDeviceMessageOption = RequestSubscribeDeviceMessageOption
  27951. >(
  27952. option: T
  27953. ): PromisifySuccessResult<T, RequestSubscribeDeviceMessageOption>
  27954. /** [wx.requestSubscribeMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html)
  27955. *
  27956. * 需要基础库: `2.4.4`
  27957. *
  27958. * 在插件中使用:需要基础库 `3.4.1`
  27959. *
  27960. * 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过 [wx.getSetting](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/wx.getSetting.html) 接口可获取用户对相关模板消息的订阅状态。
  27961. *
  27962. * ## 注意事项
  27963. * - 一次性模板 id 和永久模板 id 不可同时使用。
  27964. * - 低版本基础库2.4.4~2.8.3 已支持订阅消息接口调用,仅支持传入一个一次性 tmplId / 永久 tmplId。
  27965. * - [2.8.2](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,用户发生点击行为或者发起支付回调后,才可以调起订阅消息界面。
  27966. * - [2.10.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 版本开始,开发版和体验版小程序将禁止使用模板消息 formId。
  27967. * - 一次授权调用里,每个tmplId对应的模板标题不能存在相同的,若出现相同的,只保留一个。
  27968. * - [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)
  27969. *
  27970. * **错误码**
  27971. *
  27972. * | errCode | errMsg | 说明 |
  27973. * | ------- | ------------------------------------------------------ | -------------------------------------------------------------- |
  27974. * | 10001 | TmplIds can't be empty | 参数传空了 |
  27975. * | 10002 | Request list fail | 网络问题,请求消息列表失败 |
  27976. * | 10003 | Request subscribe fail | 网络问题,订阅请求发送失败 |
  27977. * | 10004 | Invalid template id | 参数类型错误 |
  27978. * | 10005 | Cannot show subscribe message UI | 无法展示 UI,一般是小程序这个时候退后台了导致的 |
  27979. * | 20001 | No template data return, verify the template id exist | 没有模板数据,一般是模板 ID 不存在 或者和模板类型不对应 导致的 |
  27980. * | 20002 | Templates type must be same | 模板消息类型 既有一次性的又有永久的 |
  27981. * | 20003 | Templates count out of max bounds | 模板消息数量超过上限 |
  27982. * | 20004 | The main switch is switched off | 用户关闭了主开关,无法进行订阅 |
  27983. * | 20005 | This mini program was banned from subscribing messages | 小程序被禁封 |
  27984. * | 20013 | Reject DeviceMsg Template | 不允许通过该接口订阅设备消息 |
  27985. *
  27986. * **示例代码**
  27987. *
  27988. * ```js
  27989. wx.requestSubscribeMessage({
  27990. tmplIds: [''],
  27991. success (res) { }
  27992. })
  27993. ``` */
  27994. requestSubscribeMessage<
  27995. T extends RequestSubscribeMessageOption = RequestSubscribeMessageOption
  27996. >(
  27997. option: T
  27998. ): PromisifySuccessResult<T, RequestSubscribeMessageOption>
  27999. /** [wx.requestVirtualPayment(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestVirtualPayment.html)
  28000. *
  28001. * 需要基础库: `2.19.2`
  28002. *
  28003. * 在插件中使用:不支持
  28004. *
  28005. * 发起米大师虚拟支付
  28006. *
  28007. * ****
  28008. *
  28009. * ## 注意事项:
  28010. *
  28011. * - 1. 目前只有 >= v2.19.2 的基础库支持该接口,后续将对更多低版本基础库支持该接口。因此建议开发者这样判断:当前用户的基础库版本 >= v2.19.2 时可以直接用 wx.requestVirtualPayment,小于 v2.19.2 时,用 wx.canIUse('requestVirtualPayment') 来判断接口是否可用。具体判断方法可参考示例代码。
  28012. *
  28013. * **示例代码**
  28014. *
  28015. * ```js
  28016. function compareVersion(_v1, _v2) {
  28017. if (typeof _v1 !== 'string' || typeof _v2 !== 'string') return 0
  28018. const v1 = _v1.split('.')
  28019. const v2 = _v2.split('.')
  28020. const len = Math.max(v1.length, v2.length)
  28021. while (v1.length < len) {
  28022. v1.push('0')
  28023. }
  28024. while (v2.length < len) {
  28025. v2.push('0')
  28026. }
  28027. for (let i = 0; i < len; i++) {
  28028. const num1 = parseInt(v1[i], 10)
  28029. const num2 = parseInt(v2[i], 10)
  28030. if (num1 > num2) {
  28031. return 1
  28032. } else if (num1 < num2) {
  28033. return -1
  28034. }
  28035. }
  28036. return 0
  28037. }
  28038. const SDKVersion = wx.getSystemInfoSync().SDKVersion
  28039. if (compareVersion(SDKVersion, '2.19.2') >= 0 || wx.canIUse('requestVirtualPayment')) {
  28040. wx.requestVirtualPayment({
  28041. signData: JSON.stringify({
  28042. offerId: '123',
  28043. buyQuantity: 1,
  28044. env: 0,
  28045. currencyType: 'CNY',
  28046. productId: 'testproductId',
  28047. goodsPrice: 10,
  28048. outTradeNo: 'xxxxxx',
  28049. attach: 'testdata',
  28050. }),
  28051. paySig: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
  28052. signature: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
  28053. mode: 'short_series_goods',
  28054. success(res) {
  28055. console.log('requestVirtualPayment success', res)
  28056. },
  28057. fail({ errMsg, errCode }) {
  28058. console.error(errMsg, errCode)
  28059. },
  28060. })
  28061. } else {
  28062. console.log('当前用户的客户端版本不支持 wx.requestVirtualPayment')
  28063. }
  28064. ``` */
  28065. requestVirtualPayment(option: RequestVirtualPaymentOption): void
  28066. /** [wx.requirePrivacyAuthorize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/privacy/wx.requirePrivacyAuthorize.html)
  28067. *
  28068. * 需要基础库: `2.32.3`
  28069. *
  28070. * 在插件中使用:不支持
  28071. *
  28072. * 模拟隐私接口调用,并触发隐私弹窗逻辑。隐私合规开发指南详情可见[《小程序隐私协议开发指南》](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html)
  28073. *
  28074. * ****
  28075. *
  28076. * ## 具体说明:
  28077. *
  28078. * 1. 调用 wx.requirePrivacyAuthorize() 时:
  28079. *
  28080. * - 1. 如果用户之前已经同意过隐私授权,会立即返回success回调,不会触发 wx.onNeedPrivacyAuthorization 事件。
  28081. * - 2. 如果用户之前没有授权过,并且开发者注册了 [wx.onNeedPrivacyAuthorization()](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/privacy/wx.onNeedPrivacyAuthorization.html) 事件监听,就会立即触发 wx.onNeedPrivacyAuthorization 事件,然后开发者在 onNeedPrivacyAuthorization 回调中弹出自定义隐私授权弹窗,用户点了同意后开发者调用 wx.onNeedPrivacyAuthorization 的回调接口 resolve({ event: 'agree', buttonId: 'agree-btn' }),会触发 requirePrivacyAuthorize 的 success 回调。开发者调用 wx.onNeedPrivacyAuthorization 的回调接口 resolve({ event: 'disagree' }) 的话,会触发 requirePrivacyAuthorize 的 fail 回调。
  28082. * - 3. 基于上述特性,开发者可以在调用任何真实隐私接口之前调用 wx.requirePrivacyAuthorize 接口来模拟隐私接口调用,并触发隐私弹窗逻辑。
  28083. *
  28084. * 2. 一定要调用 wx.requirePrivacyAuthorize 接口吗?
  28085. *
  28086. * - 不是,wx.requirePrivacyAuthorize 只是一个辅助接口,可以根据实际情况选择使用。
  28087. *
  28088. * **示例代码**
  28089. *
  28090. * ```html
  28091. * // page.wxml
  28092. * <view wx:if="{{showPrivacy}}">
  28093. * <view>隐私弹窗内容....</view>
  28094. * <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
  28095. * </view>
  28096. * ```
  28097. * ```js
  28098. // page.js
  28099. Page({
  28100. data: {
  28101. showPrivacy: false
  28102. },
  28103. onLoad() {
  28104. wx.onNeedPrivacyAuthorization(resolve => {
  28105. // 需要用户同意隐私授权时
  28106. // 弹出开发者自定义的隐私授权弹窗
  28107. this.setData({
  28108. showPrivacy: true
  28109. })
  28110. this.resolvePrivacyAuthorization = resolve
  28111. })
  28112. wx.requirePrivacyAuthorize({
  28113. success: () => {
  28114. // 用户同意授权
  28115. // 继续小程序逻辑
  28116. },
  28117. fail: () => {}, // 用户拒绝授权
  28118. complete: () => {}
  28119. })
  28120. },
  28121. handleAgreePrivacyAuthorization() {
  28122. // 用户点击同意按钮后
  28123. this.resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
  28124. }
  28125. })
  28126. ```
  28127. *
  28128. * **完整示例demo**
  28129. *
  28130. * demo1: 演示使用 `wx.getPrivacySetting` 和 `<button open-type="agreePrivacyAuthorization">` 在首页处理隐私弹窗逻辑
  28131. * [https://developers.weixin.qq.com/s/gi71sGm67hK0](https://developers.weixin.qq.com/s/gi71sGm67hK0)
  28132. *
  28133. * demo2: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。
  28134. * [https://developers.weixin.qq.com/s/hndZUOmA7gKn](https://developers.weixin.qq.com/s/hndZUOmA7gKn)
  28135. *
  28136. * demo3: 演示 `wx.onNeedPrivacyAuthorization`、`wx.requirePrivacyAuthorize`、`<button open-type="agreePrivacyAuthorization">` 和 `<input type="nickname">` 组件如何结合使用
  28137. * [https://developers.weixin.qq.com/s/jX7xWGmA7UKa](https://developers.weixin.qq.com/s/jX7xWGmA7UKa)
  28138. *
  28139. * demo4: 演示使用 `wx.onNeedPrivacyAuthorization` 和 `<button open-type="agreePrivacyAuthorization">` 在多个 tabBar 页面处理隐私弹窗逻辑。
  28140. * [https://developers.weixin.qq.com/s/g6BWZGmt7XK9](https://developers.weixin.qq.com/s/g6BWZGmt7XK9) */
  28141. requirePrivacyAuthorize(option: RequirePrivacyAuthorizeOption): void
  28142. /** [wx.reserveChannelsLive(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/channels/wx.reserveChannelsLive.html)
  28143. *
  28144. * 需要基础库: `2.19.0`
  28145. *
  28146. * 在插件中使用:不支持
  28147. *
  28148. * 预约视频号直播 */
  28149. reserveChannelsLive(option: ReserveChannelsLiveOption): void
  28150. /** [wx.restartMiniProgram(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.restartMiniProgram.html)
  28151. *
  28152. * 需要基础库: `3.0.1`
  28153. *
  28154. * 在插件中使用:不支持
  28155. *
  28156. * 重启当前小程序 */
  28157. restartMiniProgram(option: RestartMiniProgramOption): void
  28158. /** [wx.revokeBufferURL(string url)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.revokeBufferURL.html)
  28159. *
  28160. * 需要基础库: `2.14.0`
  28161. *
  28162. * 在插件中使用:不支持
  28163. *
  28164. * 根据 URL 销毁存在内存中的数据 */
  28165. revokeBufferURL(
  28166. /** 需要销毁的二进制数据 URL */
  28167. url: string
  28168. ): void
  28169. /** [wx.saveFileToDisk(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.saveFileToDisk.html)
  28170. *
  28171. * 需要基础库: `2.11.0`
  28172. *
  28173. * 在插件中使用:需要基础库 `2.15.0`
  28174. *
  28175. * 保存文件系统的文件到用户磁盘,仅在 PC 端支持
  28176. *
  28177. * **示例代码**
  28178. *
  28179. * ```js
  28180. wx.saveFileToDisk({
  28181. filePath: `${wx.env.USER_DATA_PATH}/hello.txt`,
  28182. success(res) {
  28183. console.log(res)
  28184. },
  28185. fail(res) {
  28186. console.error(res)
  28187. }
  28188. })
  28189. ``` */
  28190. saveFileToDisk(option: SaveFileToDiskOption): void
  28191. /** [wx.saveImageToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html)
  28192. *
  28193. * 需要基础库: `1.2.0`
  28194. *
  28195. * 在插件中使用:需要基础库 `1.9.6`
  28196. *
  28197. * 保存图片到系统相册。
  28198. *
  28199. * **示例代码**
  28200. *
  28201. * ```js
  28202. wx.saveImageToPhotosAlbum({
  28203. success(res) { }
  28204. })
  28205. ``` */
  28206. saveImageToPhotosAlbum<
  28207. T extends SaveImageToPhotosAlbumOption = SaveImageToPhotosAlbumOption
  28208. >(
  28209. option: T
  28210. ): PromisifySuccessResult<T, SaveImageToPhotosAlbumOption>
  28211. /** [wx.saveVideoToPhotosAlbum(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.html)
  28212. *
  28213. * 需要基础库: `1.2.0`
  28214. *
  28215. * 在插件中使用:需要基础库 `1.9.6`
  28216. *
  28217. * 保存视频到系统相册。支持mp4视频格式。
  28218. *
  28219. * **示例代码**
  28220. *
  28221. * ```js
  28222. wx.saveVideoToPhotosAlbum({
  28223. filePath: 'wxfile://xxx',
  28224. success (res) {
  28225. console.log(res.errMsg)
  28226. }
  28227. })
  28228. ``` */
  28229. saveVideoToPhotosAlbum<
  28230. T extends SaveVideoToPhotosAlbumOption = SaveVideoToPhotosAlbumOption
  28231. >(
  28232. option: T
  28233. ): PromisifySuccessResult<T, SaveVideoToPhotosAlbumOption>
  28234. /** [wx.scanCode(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/scan/wx.scanCode.html)
  28235. *
  28236. * 需要基础库: `1.0.0`
  28237. *
  28238. * 在插件中使用:需要基础库 `1.9.6`
  28239. *
  28240. * 调起客户端扫码界面进行扫码
  28241. *
  28242. * **示例代码**
  28243. *
  28244. * ```js
  28245. // 允许从相机和相册扫码
  28246. wx.scanCode({
  28247. success (res) {
  28248. console.log(res)
  28249. }
  28250. })
  28251. // 只允许从相机扫码
  28252. wx.scanCode({
  28253. onlyFromCamera: true,
  28254. success (res) {
  28255. console.log(res)
  28256. }
  28257. })
  28258. ``` */
  28259. scanCode<T extends ScanCodeOption = ScanCodeOption>(
  28260. option: T
  28261. ): PromisifySuccessResult<T, ScanCodeOption>
  28262. /** [wx.seekBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.seekBackgroundAudio.html)
  28263. *
  28264. * 在插件中使用:需要基础库 `1.9.6`
  28265. * @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) 替换
  28266. *
  28267. * 控制音乐播放进度。
  28268. *
  28269. * **示例代码**
  28270. *
  28271. * ```js
  28272. wx.seekBackgroundAudio({
  28273. position: 30
  28274. })
  28275. ``` */
  28276. seekBackgroundAudio<
  28277. T extends SeekBackgroundAudioOption = SeekBackgroundAudioOption
  28278. >(
  28279. option: T
  28280. ): PromisifySuccessResult<T, SeekBackgroundAudioOption>
  28281. /** [wx.sendHCEMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.sendHCEMessage.html)
  28282. *
  28283. * 需要基础库: `1.7.0`
  28284. *
  28285. * 在插件中使用:需要基础库 `2.1.0`
  28286. *
  28287. * 发送 NFC 消息。仅在安卓系统下有效。
  28288. *
  28289. * **示例代码**
  28290. *
  28291. * ```js
  28292. const buffer = new ArrayBuffer(1)
  28293. const dataView = new DataView(buffer)
  28294. dataView.setUint8(0, 0)
  28295. wx.startHCE({
  28296. success (res) {
  28297. wx.onHCEMessage(function(res) {
  28298. if (res.messageType === 1) {
  28299. wx.sendHCEMessage({data: buffer})
  28300. }
  28301. })
  28302. }
  28303. })
  28304. ``` */
  28305. sendHCEMessage<T extends SendHCEMessageOption = SendHCEMessageOption>(
  28306. option: T
  28307. ): PromisifySuccessResult<T, SendHCEMessageOption>
  28308. /** [wx.sendSms(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/sms/wx.sendSms.html)
  28309. *
  28310. * 需要基础库: `2.25.0`
  28311. *
  28312. * 在插件中使用:不支持
  28313. *
  28314. * 拉起手机发送短信界面。 */
  28315. sendSms(option: SendSmsOption): void
  28316. /** [wx.sendSocketMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/wx.sendSocketMessage.html)
  28317. *
  28318. * 在插件中使用:不支持
  28319. *
  28320. * @warning **推荐使用 [SocketTask](https://developers.weixin.qq.com/miniprogram/dev/api/network/websocket/SocketTask.html) 的方式去管理 webSocket 链接,每一条链路的生命周期都更加可控,同时存在多个 webSocket 的链接的情况下使用 wx 前缀的方法可能会带来一些和预期不一致的情况。**
  28321. *
  28322. * 通过 WebSocket 连接发送数据。需要先 wx.connectSocket,并在 wx.onSocketOpen 回调之后才能发送。
  28323. *
  28324. * **示例代码**
  28325. *
  28326. * ```js
  28327. let socketOpen = false
  28328. let socketMsgQueue = []
  28329. wx.connectSocket({
  28330. url: 'test.php'
  28331. })
  28332. wx.onSocketOpen(function(res) {
  28333. socketOpen = true
  28334. for (let i = 0; i < socketMsgQueue.length; i++){
  28335. sendSocketMessage(socketMsgQueue[i])
  28336. }
  28337. socketMsgQueue = []
  28338. })
  28339. function sendSocketMessage(msg) {
  28340. if (socketOpen) {
  28341. wx.sendSocketMessage({
  28342. data:msg
  28343. })
  28344. } else {
  28345. socketMsgQueue.push(msg)
  28346. }
  28347. }
  28348. ``` */
  28349. sendSocketMessage<
  28350. T extends SendSocketMessageOption = SendSocketMessageOption
  28351. >(
  28352. option: T
  28353. ): PromisifySuccessResult<T, SendSocketMessageOption>
  28354. /** [wx.setBLEMTU(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.setBLEMTU.html)
  28355. *
  28356. * 需要基础库: `2.11.0`
  28357. *
  28358. * 在插件中使用:需要基础库 `2.11.0`
  28359. *
  28360. * 协商设置蓝牙低功耗的最大传输单元 (Maximum Transmission Unit, MTU)。需在 [wx.createBLEConnection](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.createBLEConnection.html) 调用成功后调用。仅安卓系统 5.1 以上版本有效,iOS 因系统限制不支持。 */
  28361. setBLEMTU<T extends SetBLEMTUOption = SetBLEMTUOption>(
  28362. option: T
  28363. ): PromisifySuccessResult<T, SetBLEMTUOption>
  28364. /** [wx.setBackgroundColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundColor.html)
  28365. *
  28366. * 需要基础库: `2.1.0`
  28367. *
  28368. * 在插件中使用:需要基础库 `2.4.0`
  28369. *
  28370. * 在插件中使用时,只能在当前插件的页面中调用
  28371. *
  28372. * 动态设置窗口的背景色
  28373. *
  28374. * **示例代码**
  28375. *
  28376. * ```js
  28377. wx.setBackgroundColor({
  28378. backgroundColor: '#ffffff', // 窗口的背景色为白色
  28379. })
  28380. wx.setBackgroundColor({
  28381. backgroundColorTop: '#ffffff', // 顶部窗口的背景色为白色
  28382. backgroundColorBottom: '#ffffff', // 底部窗口的背景色为白色
  28383. })
  28384. ``` */
  28385. setBackgroundColor<
  28386. T extends SetBackgroundColorOption = SetBackgroundColorOption
  28387. >(
  28388. option: T
  28389. ): PromisifySuccessResult<T, SetBackgroundColorOption>
  28390. /** [wx.setBackgroundFetchToken(object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/background-fetch/wx.setBackgroundFetchToken.html)
  28391. *
  28392. * 需要基础库: `2.8.0`
  28393. *
  28394. * 在插件中使用:不支持
  28395. *
  28396. * 设置自定义登录态,在周期性拉取数据时带上,便于第三方服务器验证请求合法性 */
  28397. setBackgroundFetchToken<
  28398. T extends SetBackgroundFetchTokenOption = SetBackgroundFetchTokenOption
  28399. >(
  28400. option: T
  28401. ): PromisifySuccessResult<T, SetBackgroundFetchTokenOption>
  28402. /** [wx.setBackgroundTextStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.html)
  28403. *
  28404. * 需要基础库: `2.1.0`
  28405. *
  28406. * 在插件中使用:需要基础库 `2.4.0`
  28407. *
  28408. * 在插件中使用时,只能在当前插件的页面中调用
  28409. *
  28410. * 动态设置下拉背景字体、loading 图的样式
  28411. *
  28412. * **示例代码**
  28413. *
  28414. * ```js
  28415. wx.setBackgroundTextStyle({
  28416. textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark
  28417. })
  28418. ``` */
  28419. setBackgroundTextStyle<
  28420. T extends SetBackgroundTextStyleOption = SetBackgroundTextStyleOption
  28421. >(
  28422. option: T
  28423. ): PromisifySuccessResult<T, SetBackgroundTextStyleOption>
  28424. /** [wx.setClipboardData(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/clipboard/wx.setClipboardData.html)
  28425. *
  28426. * 需要基础库: `1.1.0`
  28427. *
  28428. * 在插件中使用:需要基础库 `1.9.6`
  28429. *
  28430. * 设置系统剪贴板的内容。调用成功后,会弹出 toast 提示"内容已复制",持续 1.5s
  28431. *
  28432. * **示例代码**
  28433. *
  28434. * ```js
  28435. wx.setClipboardData({
  28436. data: 'data',
  28437. success (res) {
  28438. wx.getClipboardData({
  28439. success (res) {
  28440. console.log(res.data) // data
  28441. }
  28442. })
  28443. }
  28444. })
  28445. ``` */
  28446. setClipboardData<
  28447. T extends SetClipboardDataOption = SetClipboardDataOption
  28448. >(
  28449. option: T
  28450. ): PromisifySuccessResult<T, SetClipboardDataOption>
  28451. /** [wx.setEnable1v1Chat(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.setEnable1v1Chat.html)
  28452. *
  28453. * 需要基础库: `2.20.1`
  28454. *
  28455. * 在插件中使用:不支持
  28456. *
  28457. * 开启双人通话。设置 `enable` 为 `false` 时,无法接听呼叫。 */
  28458. setEnable1v1Chat(option: SetEnable1v1ChatOption): void
  28459. /** [wx.setEnableDebug(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.setEnableDebug.html)
  28460. *
  28461. * 需要基础库: `1.4.0`
  28462. *
  28463. * 在插件中使用:不支持
  28464. *
  28465. * 设置是否打开调试开关。此开关对正式版也能生效。
  28466. *
  28467. * **示例代码**
  28468. *
  28469. * ```javascript
  28470. // 打开调试
  28471. wx.setEnableDebug({
  28472. enableDebug: true
  28473. })
  28474. // 关闭调试
  28475. wx.setEnableDebug({
  28476. enableDebug: false
  28477. })
  28478. ```
  28479. *
  28480. * **Tips**
  28481. *
  28482. * - 在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole。 */
  28483. setEnableDebug<T extends SetEnableDebugOption = SetEnableDebugOption>(
  28484. option: T
  28485. ): PromisifySuccessResult<T, SetEnableDebugOption>
  28486. /** [wx.setInnerAudioOption(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.setInnerAudioOption.html)
  28487. *
  28488. * 需要基础库: `2.3.0`
  28489. *
  28490. * 在插件中使用:需要基础库 `2.10.0`
  28491. *
  28492. * 设置 [InnerAudioContext](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html) 的播放选项。设置之后对当前小程序全局生效。
  28493. *
  28494. * ****
  28495. *
  28496. * ## 注意事项
  28497. * - 为保证微信整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOther 参数的内容,强制与其它音频互斥
  28498. * - 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频
  28499. * - 目前 wx.setInnerAudioOption 接口不兼容 wx.createWebAudioContext 接口,也不兼容 wx.createInnerAudioContext 开启 useWebAudioImplement 的情况,将在后续版本中支持 */
  28500. setInnerAudioOption<
  28501. T extends SetInnerAudioOption = SetInnerAudioOption
  28502. >(
  28503. option: T
  28504. ): PromisifySuccessResult<T, SetInnerAudioOption>
  28505. /** [wx.setKeepScreenOn(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setKeepScreenOn.html)
  28506. *
  28507. * 需要基础库: `1.4.0`
  28508. *
  28509. * 在插件中使用:需要基础库 `1.9.6`
  28510. *
  28511. * 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。
  28512. *
  28513. * **示例代码**
  28514. *
  28515. * ```js
  28516. wx.setKeepScreenOn({
  28517. keepScreenOn: true
  28518. })
  28519. ``` */
  28520. setKeepScreenOn<
  28521. T extends SetKeepScreenOnOption = SetKeepScreenOnOption
  28522. >(
  28523. option: T
  28524. ): PromisifySuccessResult<T, SetKeepScreenOnOption>
  28525. /** [wx.setNavigationBarColor(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarColor.html)
  28526. *
  28527. * 需要基础库: `1.4.0`
  28528. *
  28529. * 在插件中使用:需要基础库 `2.1.0`
  28530. *
  28531. * 在插件中使用时,只能在当前插件的页面中调用
  28532. *
  28533. * 设置页面导航条颜色 */
  28534. setNavigationBarColor<
  28535. T extends SetNavigationBarColorOption = SetNavigationBarColorOption
  28536. >(
  28537. option: T
  28538. ): PromisifySuccessResult<T, SetNavigationBarColorOption>
  28539. /** [wx.setNavigationBarTitle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.setNavigationBarTitle.html)
  28540. *
  28541. * 在插件中使用:需要基础库 `2.1.0`
  28542. *
  28543. * 在插件中使用时,只能在当前插件的页面中调用
  28544. *
  28545. * 动态设置当前页面的标题
  28546. *
  28547. * **示例代码**
  28548. *
  28549. * ```js
  28550. wx.setNavigationBarTitle({
  28551. title: '当前页面'
  28552. })
  28553. ``` */
  28554. setNavigationBarTitle<
  28555. T extends SetNavigationBarTitleOption = SetNavigationBarTitleOption
  28556. >(
  28557. option: T
  28558. ): PromisifySuccessResult<T, SetNavigationBarTitleOption>
  28559. /** [wx.setScreenBrightness(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setScreenBrightness.html)
  28560. *
  28561. * 需要基础库: `1.2.0`
  28562. *
  28563. * 在插件中使用:需要基础库 `1.9.6`
  28564. *
  28565. * 设置屏幕亮度 */
  28566. setScreenBrightness<
  28567. T extends SetScreenBrightnessOption = SetScreenBrightnessOption
  28568. >(
  28569. option: T
  28570. ): PromisifySuccessResult<T, SetScreenBrightnessOption>
  28571. /** [wx.setStorage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html)
  28572. *
  28573. * 在插件中使用:需要基础库 `1.9.6`
  28574. *
  28575. * 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
  28576. *
  28577. * **示例代码**
  28578. *
  28579. * ```js
  28580. wx.setStorage({
  28581. key:"key",
  28582. data:"value"
  28583. })
  28584. ```
  28585. *
  28586. * ```js
  28587. // 开启加密存储
  28588. wx.setStorage({
  28589. key: "key",
  28590. data: "value",
  28591. encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
  28592. success() {
  28593. wx.getStorage({
  28594. key: "key",
  28595. encrypt: true, // 若开启加密存储,setStorage 和 getStorage 需要同时声明 encrypt 的值为 true
  28596. success(res) {
  28597. console.log(res.data)
  28598. }
  28599. })
  28600. }
  28601. })
  28602. ``` */
  28603. setStorage<
  28604. T = any,
  28605. U extends SetStorageOption<T> = SetStorageOption<T>
  28606. >(
  28607. option: U
  28608. ): PromisifySuccessResult<U, SetStorageOption<T>>
  28609. /** [wx.setStorageSync(string key, any data)](https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html)
  28610. *
  28611. * 在插件中使用:需要基础库 `1.9.6`
  28612. *
  28613. * 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
  28614. *
  28615. * **注意**
  28616. *
  28617. * storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。
  28618. *
  28619. * **示例代码**
  28620. *
  28621. * ```js
  28622. try {
  28623. wx.setStorageSync('key', 'value')
  28624. } catch (e) { }
  28625. ``` */
  28626. setStorageSync<T = any>(
  28627. /** 本地缓存中指定的 key */
  28628. key: string,
  28629. /** 需要存储的内容。只支持原生类型、Date、及能够通过`JSON.stringify`序列化的对象。 */
  28630. data: T
  28631. ): void
  28632. /** [wx.setTabBarBadge(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarBadge.html)
  28633. *
  28634. * 需要基础库: `1.9.0`
  28635. *
  28636. * 在插件中使用:不支持
  28637. *
  28638. * 为 tabBar 某一项的右上角添加文本
  28639. *
  28640. * **示例代码**
  28641. *
  28642. * ```js
  28643. wx.setTabBarBadge({
  28644. index: 0,
  28645. text: '1'
  28646. })
  28647. ``` */
  28648. setTabBarBadge<T extends SetTabBarBadgeOption = SetTabBarBadgeOption>(
  28649. option: T
  28650. ): PromisifySuccessResult<T, SetTabBarBadgeOption>
  28651. /** [wx.setTabBarItem(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarItem.html)
  28652. *
  28653. * 需要基础库: `1.9.0`
  28654. *
  28655. * 在插件中使用:不支持
  28656. *
  28657. * 动态设置 tabBar 某一项的内容,`2.7.0` 起图片支持临时文件和网络文件。
  28658. *
  28659. * **示例代码**
  28660. *
  28661. * ```js
  28662. wx.setTabBarItem({
  28663. index: 0,
  28664. text: 'text',
  28665. iconPath: '/path/to/iconPath',
  28666. selectedIconPath: '/path/to/selectedIconPath'
  28667. })
  28668. ``` */
  28669. setTabBarItem<T extends SetTabBarItemOption = SetTabBarItemOption>(
  28670. option: T
  28671. ): PromisifySuccessResult<T, SetTabBarItemOption>
  28672. /** [wx.setTabBarStyle(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.setTabBarStyle.html)
  28673. *
  28674. * 需要基础库: `1.9.0`
  28675. *
  28676. * 在插件中使用:不支持
  28677. *
  28678. * 动态设置 tabBar 的整体样式
  28679. *
  28680. * **示例代码**
  28681. *
  28682. * ```js
  28683. wx.setTabBarStyle({
  28684. color: '#FF0000',
  28685. selectedColor: '#00FF00',
  28686. backgroundColor: '#0000FF',
  28687. borderStyle: 'white'
  28688. })
  28689. ``` */
  28690. setTabBarStyle<T extends SetTabBarStyleOption = SetTabBarStyleOption>(
  28691. option?: T
  28692. ): PromisifySuccessResult<T, SetTabBarStyleOption>
  28693. /** [wx.setTopBarText(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/sticky/wx.setTopBarText.html)
  28694. *
  28695. * 需要基础库: `1.4.3`
  28696. *
  28697. * 在插件中使用:不支持
  28698. * @deprecated 基础库版本 [1.9.9](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃
  28699. *
  28700. * 动态设置置顶栏文字内容。只有当前小程序被置顶时能生效,如果当前小程序没有被置顶,也能调用成功,但是不会立即生效,只有在用户将这个小程序置顶后才换上设置的文字内容.
  28701. *
  28702. * **示例代码**
  28703. *
  28704. * ```js
  28705. wx.setTopBarText({
  28706. text: 'hello, world!'
  28707. })
  28708. ```
  28709. *
  28710. * **注意**
  28711. *
  28712. * - 调用成功后,需间隔 5s 才能再次调用此接口,如果在 5s 内再次调用此接口,会回调 fail,errMsg:"setTopBarText: fail invoke too frequently" */
  28713. setTopBarText<T extends SetTopBarTextOption = SetTopBarTextOption>(
  28714. option: T
  28715. ): PromisifySuccessResult<T, SetTopBarTextOption>
  28716. /** [wx.setVisualEffectOnCapture(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/screen/wx.setVisualEffectOnCapture.html)
  28717. *
  28718. * 需要基础库: `2.20.1`
  28719. *
  28720. * 在插件中使用:需要基础库 `2.21.3`
  28721. *
  28722. * 设置截屏/录屏时屏幕表现
  28723. *
  28724. * **Bug & Tip**
  28725. *
  28726. * 1. `tip`:iOS 要求基础库版本为 3.3.0 以上,且系统版本为 iOS 16 以上
  28727. * 2. `tip`:iOS 目前只支持处理录屏时的表现 */
  28728. setVisualEffectOnCapture(option: SetVisualEffectOnCaptureOption): void
  28729. /** [wx.setWifiList(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.setWifiList.html)
  28730. *
  28731. * 需要基础库: `1.6.0`
  28732. *
  28733. * 在插件中使用:需要基础库 `2.9.1`
  28734. *
  28735. * 设置 `wifiList` 中 AP 的相关信息。在 `onGetWifiList` 回调后调用,**iOS特有接口**。
  28736. *
  28737. * **注意**
  28738. *
  28739. * - 该接口只能在 `onGetWifiList` 回调之后才能调用。
  28740. * - 此时客户端会挂起,等待小程序设置 Wi-Fi 信息,请务必尽快调用该接口,若无数据请传入一个空数组。
  28741. * - 有可能随着周边 Wi-Fi 列表的刷新,单个流程内收到多次带有存在重复的 Wi-Fi 列表的回调。
  28742. *
  28743. * **示例代码**
  28744. *
  28745. * ```js
  28746. wx.onGetWifiList(function(res) {
  28747. if (res.wifiList.length) {
  28748. wx.setWifiList({
  28749. wifiList: [{
  28750. SSID: res.wifiList[0].SSID,
  28751. BSSID: res.wifiList[0].BSSID,
  28752. password: '123456'
  28753. }]
  28754. })
  28755. } else {
  28756. wx.setWifiList({
  28757. wifiList: []
  28758. })
  28759. }
  28760. })
  28761. wx.getWifiList()
  28762. ``` */
  28763. setWifiList<T extends SetWifiListOption = SetWifiListOption>(
  28764. option: T
  28765. ): PromisifySuccessResult<T, SetWifiListOption>
  28766. /** [wx.setWindowSize(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/window/wx.setWindowSize.html)
  28767. *
  28768. * 需要基础库: `2.10.1`
  28769. *
  28770. * 在插件中使用:不支持
  28771. * @deprecated 基础库版本 [2.11.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) 起已废弃
  28772. *
  28773. * 设置窗口大小,该接口仅适用于 PC 平台,使用细则请参见指南 */
  28774. setWindowSize(option: SetWindowSizeOption): void
  28775. /** [wx.shareFileMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareFileMessage.html)
  28776. *
  28777. * 需要基础库: `2.16.1`
  28778. *
  28779. * 在插件中使用:不支持
  28780. *
  28781. * 转发文件到聊天 */
  28782. shareFileMessage<
  28783. T extends ShareFileMessageOption = ShareFileMessageOption
  28784. >(
  28785. option: T
  28786. ): PromisifySuccessResult<T, ShareFileMessageOption>
  28787. /** [wx.shareToWeRun(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.shareToWeRun.html)
  28788. *
  28789. * 在插件中使用:不支持
  28790. *
  28791. * 分享数据到微信运动。 */
  28792. shareToWeRun<T extends ShareToWeRunOption = ShareToWeRunOption>(
  28793. option: T
  28794. ): PromisifySuccessResult<T, ShareToWeRunOption>
  28795. /** [wx.shareVideoMessage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.shareVideoMessage.html)
  28796. *
  28797. * 需要基础库: `2.16.1`
  28798. *
  28799. * 在插件中使用:不支持
  28800. *
  28801. * 转发视频到聊天 */
  28802. shareVideoMessage<
  28803. T extends ShareVideoMessageOption = ShareVideoMessageOption
  28804. >(
  28805. option: T
  28806. ): PromisifySuccessResult<T, ShareVideoMessageOption>
  28807. /** [wx.showActionSheet(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showActionSheet.html)
  28808. *
  28809. * 在插件中使用:需要基础库 `1.9.6`
  28810. *
  28811. * 显示操作菜单
  28812. *
  28813. * **示例代码**
  28814. *
  28815. * ```js
  28816. wx.showActionSheet({
  28817. itemList: ['A', 'B', 'C'],
  28818. success (res) {
  28819. console.log(res.tapIndex)
  28820. },
  28821. fail (res) {
  28822. console.log(res.errMsg)
  28823. }
  28824. })
  28825. ```
  28826. *
  28827. * **注意**
  28828. *
  28829. * - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel";
  28830. * - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑 */
  28831. showActionSheet<
  28832. T extends ShowActionSheetOption = ShowActionSheetOption
  28833. >(
  28834. option: T
  28835. ): PromisifySuccessResult<T, ShowActionSheetOption>
  28836. /** [wx.showLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showLoading.html)
  28837. *
  28838. * 需要基础库: `1.1.0`
  28839. *
  28840. * 在插件中使用:需要基础库 `1.9.6`
  28841. *
  28842. * 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
  28843. *
  28844. * **示例代码**
  28845. *
  28846. * ```js
  28847. wx.showLoading({
  28848. title: '加载中',
  28849. })
  28850. setTimeout(function () {
  28851. wx.hideLoading()
  28852. }, 2000)
  28853. ```
  28854. *
  28855. * **注意**
  28856. *
  28857. * - [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) 同时只能显示一个
  28858. * - [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) 配对使用 */
  28859. showLoading<T extends ShowLoadingOption = ShowLoadingOption>(
  28860. option: T
  28861. ): PromisifySuccessResult<T, ShowLoadingOption>
  28862. /** [wx.showModal(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html)
  28863. *
  28864. * 在插件中使用:需要基础库 `1.9.6`
  28865. *
  28866. * 显示模态对话框
  28867. *
  28868. * **示例代码**
  28869. *
  28870. * ```js
  28871. wx.showModal({
  28872. title: '提示',
  28873. content: '这是一个模态弹窗',
  28874. success (res) {
  28875. if (res.confirm) {
  28876. console.log('用户点击确定')
  28877. } else if (res.cancel) {
  28878. console.log('用户点击取消')
  28879. }
  28880. }
  28881. })
  28882. ```
  28883. *
  28884. * **注意**
  28885. *
  28886. * - Android 6.7.2 以下版本,点击取消或蒙层时,回调 fail, errMsg 为 "fail cancel";
  28887. * - Android 6.7.2 及以上版本 和 iOS 点击蒙层不会关闭模态弹窗,所以尽量避免使用「取消」分支中实现业务逻辑
  28888. * - 自基础库 2.17.1 版本起,支持传入 editable 参数,显示带输入框的弹窗 */
  28889. showModal<T extends ShowModalOption = ShowModalOption>(
  28890. option: T
  28891. ): PromisifySuccessResult<T, ShowModalOption>
  28892. /** [wx.showNavigationBarLoading(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.html)
  28893. *
  28894. * 在插件中使用:需要基础库 `2.1.0`
  28895. *
  28896. * 在插件中使用时,只能在当前插件的页面中调用
  28897. *
  28898. * 在当前页面显示导航条加载动画 */
  28899. showNavigationBarLoading<
  28900. T extends ShowNavigationBarLoadingOption = ShowNavigationBarLoadingOption
  28901. >(
  28902. option?: T
  28903. ): PromisifySuccessResult<T, ShowNavigationBarLoadingOption>
  28904. /** [wx.showRedPackage(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.html)
  28905. *
  28906. * 需要基础库: `2.10.0`
  28907. *
  28908. * 在插件中使用:不支持
  28909. *
  28910. * 拉取h5领取红包封面页。获取参考红包封面地址参考 [微信红包封面开发平台](https://cover.weixin.qq.com/cgi-bin/mmcover-bin/readtemplate?t=page/index#/doc?page=introduce)。 */
  28911. showRedPackage<T extends ShowRedPackageOption = ShowRedPackageOption>(
  28912. option: T
  28913. ): PromisifySuccessResult<T, ShowRedPackageOption>
  28914. /** [wx.showShareImageMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareImageMenu.html)
  28915. *
  28916. * 需要基础库: `2.14.3`
  28917. *
  28918. * 在插件中使用:需要基础库 `2.16.0`
  28919. *
  28920. * 打开分享图片弹窗,可以将图片发送给朋友、收藏或下载
  28921. *
  28922. * **Bug & Tip**
  28923. *
  28924. * 1. `tip`: `needShowEntrance`分享的图片消息是否要带小程序入口,支持申明类目:商家自营、电商平台、餐饮服务(餐饮服务场所/餐饮服务管理企业、点餐平台、外卖平台)、旅游服务(住宿服务、景区服务、OTA、旅游管理单位)、生活服务(家政服务、丽人服务、宠物(非医院类)、婚庆服务、洗浴保健、休闲娱乐、百货/超市/便利店、开锁服务、营业性演出票务、其他宠物健康服务、洗浴保健平台、共享服务、跑腿、寄存、求职/招聘)
  28925. * 2. `tip`: `needShowEntrance`小游戏所有类目都支持 */
  28926. showShareImageMenu<
  28927. T extends ShowShareImageMenuOption = ShowShareImageMenuOption
  28928. >(
  28929. option: T
  28930. ): PromisifySuccessResult<T, ShowShareImageMenuOption>
  28931. /** [wx.showShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.showShareMenu.html)
  28932. *
  28933. * 需要基础库: `1.1.0`
  28934. *
  28935. * 在插件中使用:需要基础库 `2.1.0`
  28936. *
  28937. * 在插件中使用时,只能在当前插件的页面中调用
  28938. *
  28939. * 显示当前页面的转发按钮
  28940. *
  28941. * ****
  28942. *
  28943. * ## 注意事项
  28944. * - "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
  28945. * - 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮
  28946. *
  28947. * **示例代码**
  28948. *
  28949. * ```js
  28950. wx.showShareMenu({
  28951. withShareTicket: true,
  28952. menus: ['shareAppMessage', 'shareTimeline']
  28953. })
  28954. ``` */
  28955. showShareMenu<T extends ShowShareMenuOption = ShowShareMenuOption>(
  28956. option: T
  28957. ): PromisifySuccessResult<T, ShowShareMenuOption>
  28958. /** [wx.showTabBar(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBar.html)
  28959. *
  28960. * 需要基础库: `1.9.0`
  28961. *
  28962. * 在插件中使用:不支持
  28963. *
  28964. * 显示 tabBar */
  28965. showTabBar<T extends ShowTabBarOption = ShowTabBarOption>(
  28966. option: T
  28967. ): PromisifySuccessResult<T, ShowTabBarOption>
  28968. /** [wx.showTabBarRedDot(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.html)
  28969. *
  28970. * 需要基础库: `1.9.0`
  28971. *
  28972. * 在插件中使用:不支持
  28973. *
  28974. * 显示 tabBar 某一项的右上角的红点 */
  28975. showTabBarRedDot<
  28976. T extends ShowTabBarRedDotOption = ShowTabBarRedDotOption
  28977. >(
  28978. option: T
  28979. ): PromisifySuccessResult<T, ShowTabBarRedDotOption>
  28980. /** [wx.showToast(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html)
  28981. *
  28982. * 在插件中使用:需要基础库 `1.9.6`
  28983. *
  28984. * 显示消息提示框
  28985. *
  28986. * **示例代码**
  28987. *
  28988. * ```js
  28989. wx.showToast({
  28990. title: '成功',
  28991. icon: 'success',
  28992. duration: 2000
  28993. })
  28994. ```
  28995. *
  28996. * **注意**
  28997. *
  28998. * - [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) 同时只能显示一个
  28999. * - [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) 配对使用 */
  29000. showToast<T extends ShowToastOption = ShowToastOption>(
  29001. option: T
  29002. ): PromisifySuccessResult<T, ShowToastOption>
  29003. /** [wx.startAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.startAccelerometer.html)
  29004. *
  29005. * 需要基础库: `1.1.0`
  29006. *
  29007. * 在插件中使用:需要基础库 `1.9.6`
  29008. *
  29009. * 开始监听加速度数据。
  29010. *
  29011. * **示例代码**
  29012. *
  29013. * ```js
  29014. wx.startAccelerometer({
  29015. interval: 'game'
  29016. })
  29017. ```
  29018. *
  29019. * **注意**
  29020. *
  29021. * - 根据机型性能、当前 CPU 与内存的占用情况,`interval` 的设置与实际 `wx.onAccelerometerChange()` 回调函数的执行频率会有一些出入。 */
  29022. startAccelerometer<
  29023. T extends StartAccelerometerOption = StartAccelerometerOption
  29024. >(
  29025. option?: T
  29026. ): PromisifySuccessResult<T, StartAccelerometerOption>
  29027. /** [wx.startBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.html)
  29028. *
  29029. * 需要基础库: `1.2.0`
  29030. *
  29031. * 在插件中使用:需要基础库 `1.9.6`
  29032. *
  29033. * 开始搜索附近的 Beacon 设备
  29034. *
  29035. * **示例代码**
  29036. *
  29037. * ```js
  29038. wx.startBeaconDiscovery({
  29039. success(res) { }
  29040. })
  29041. ``` */
  29042. startBeaconDiscovery<
  29043. T extends StartBeaconDiscoveryOption = StartBeaconDiscoveryOption
  29044. >(
  29045. option: T
  29046. ): PromisifySuccessResult<T, StartBeaconDiscoveryOption>
  29047. /** [wx.startBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.html)
  29048. *
  29049. * 需要基础库: `1.1.0`
  29050. *
  29051. * 在插件中使用:需要基础库 `1.9.6`
  29052. *
  29053. * 开始搜寻附近的蓝牙外围设备。
  29054. *
  29055. * **此操作比较耗费系统资源,请在搜索到需要的设备后及时调用 [wx.stopBluetoothDevicesDiscovery](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html) 停止搜索。**
  29056. *
  29057. * **注意**
  29058. *
  29059. * - 考虑到蓝牙功能可以间接进行定位,安卓 6.0 及以上版本,无定位权限或定位开关未打开时,无法进行设备搜索。这种情况下,安卓 8.0.16 前,接口调用成功但无法扫描设备;8.0.16 及以上版本,会返回错误。
  29060. *
  29061. * **示例代码**
  29062. *
  29063. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/m7klFDmZ72i1)
  29064. *
  29065. * ```js
  29066. // 以微信硬件平台的蓝牙智能灯为例,主服务的 UUID 是 FEE7。传入这个参数,只搜索主服务 UUID 为 FEE7 的设备
  29067. wx.startBluetoothDevicesDiscovery({
  29068. services: ['FEE7'],
  29069. success (res) {
  29070. console.log(res)
  29071. }
  29072. })
  29073. ``` */
  29074. startBluetoothDevicesDiscovery<
  29075. T extends StartBluetoothDevicesDiscoveryOption = StartBluetoothDevicesDiscoveryOption
  29076. >(
  29077. option: T
  29078. ): PromisifySuccessResult<T, StartBluetoothDevicesDiscoveryOption>
  29079. /** [wx.startCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.startCompass.html)
  29080. *
  29081. * 需要基础库: `1.1.0`
  29082. *
  29083. * 在插件中使用:需要基础库 `1.9.6`
  29084. *
  29085. * 开始监听罗盘数据
  29086. *
  29087. * **示例代码**
  29088. *
  29089. * ```js
  29090. wx.startCompass()
  29091. ``` */
  29092. startCompass<T extends StartCompassOption = StartCompassOption>(
  29093. option?: T
  29094. ): PromisifySuccessResult<T, StartCompassOption>
  29095. /** [wx.startDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.startDeviceMotionListening.html)
  29096. *
  29097. * 需要基础库: `2.3.0`
  29098. *
  29099. * 在插件中使用:需要基础库 `2.9.1`
  29100. *
  29101. * 开始监听设备方向的变化。 */
  29102. startDeviceMotionListening<
  29103. T extends StartDeviceMotionListeningOption = StartDeviceMotionListeningOption
  29104. >(
  29105. option?: T
  29106. ): PromisifySuccessResult<T, StartDeviceMotionListeningOption>
  29107. /** [wx.startGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.startGyroscope.html)
  29108. *
  29109. * 需要基础库: `2.3.0`
  29110. *
  29111. * 在插件中使用:需要基础库 `2.9.1`
  29112. *
  29113. * 开始监听陀螺仪数据。 */
  29114. startGyroscope<T extends StartGyroscopeOption = StartGyroscopeOption>(
  29115. option?: T
  29116. ): PromisifySuccessResult<T, StartGyroscopeOption>
  29117. /** [wx.startHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.startHCE.html)
  29118. *
  29119. * 需要基础库: `1.7.0`
  29120. *
  29121. * 在插件中使用:需要基础库 `2.1.0`
  29122. *
  29123. * 初始化 NFC 模块。(HCE 模式仅安卓支持)
  29124. *
  29125. * **示例代码**
  29126. *
  29127. * ```js
  29128. wx.startHCE({
  29129. aid_list: ['F222222222'],
  29130. success (res) {
  29131. console.log(res.errMsg)
  29132. }
  29133. })
  29134. ``` */
  29135. startHCE<T extends StartHCEOption = StartHCEOption>(
  29136. option: T
  29137. ): PromisifySuccessResult<T, StartHCEOption>
  29138. /** [wx.startLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.html)
  29139. *
  29140. * 需要基础库: `2.4.0`
  29141. *
  29142. * 在插件中使用:需要基础库 `2.15.0`
  29143. *
  29144. * 开始搜索局域网下的 mDNS 服务。搜索的结果会通过 wx.onLocalService* 事件返回。
  29145. *
  29146. * **注意**
  29147. *
  29148. * 1. 由于操作系统相关能力变更,iOS 微信客户端 7.0.18 及以上版本无法使用 mDNS 相关接口,安卓版本不受影响
  29149. * 2. wx.startLocalServiceDiscovery 是一个消耗性能的行为,开始 30 秒后会自动 stop 并执行 wx.onLocalServiceDiscoveryStop 注册的回调函数。
  29150. * 3. 在调用 wx.startLocalServiceDiscovery 后,在这次搜索行为停止后才能发起下次 wx.startLocalServiceDiscovery。停止本次搜索行为的操作包括调用 wx.stopLocalServiceDiscovery 和 30 秒后系统自动 stop 本次搜索。 */
  29151. startLocalServiceDiscovery<
  29152. T extends StartLocalServiceDiscoveryOption = StartLocalServiceDiscoveryOption
  29153. >(
  29154. option: T
  29155. ): PromisifySuccessResult<T, StartLocalServiceDiscoveryOption>
  29156. /** [wx.startLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdate.html)
  29157. *
  29158. * 需要基础库: `2.8.0`
  29159. *
  29160. * 在插件中使用:需要基础库 `2.8.0`
  29161. *
  29162. * 开启小程序进入前台时接收位置消息。
  29163. * ## 使用方法
  29164. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  29165. *
  29166. * ## 申请开通
  29167. * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  29168. *
  29169. * ### 国内主体开放类目
  29170. *
  29171. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  29172. * | -------------- | -------| -------- |
  29173. * | 电商平台 | / | 售卖商品线下发货、收货、送货服务 |
  29174. * | 商家自营 | / | 提供售卖商品线下发货、收货、送货服务、线下商超导览、导航服务 |
  29175. * | 医疗服务 | 公立医疗机构、三级私立医疗机构、其他私立医疗机构、就医服务、其他医学健康服务、药品(非处方药)销售、非处方药销售平台、医疗器械生产企业、医疗器械自营、医疗器械经营销售平台、互联网医院血液、干细胞服务、临床试验 | 1、实际物品/药品接收服务 2、基于地理位置取号并现场报到、附近医院导航等服务 |
  29176. * | 交通服务 | / | 代驾服务、租车网点导航等相关服务 |
  29177. * | 生活服务 | / | 上门服务作业等线下场景 |
  29178. * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 快递/货物收发服务 |
  29179. * | 餐饮服务 | 点餐平台、外卖平台 | 线下送餐服务 |
  29180. * | 工具 | 天气、信息查询 | 与地理位置相关的服务,比如潮汐查询、海拔查询、天气查询等 |
  29181. * | 金融 | 保险 | 提供线下网点预约、基于地理位置取号并现场报到、附近网点导航等服务 |
  29182. * | 旅游 | 景区服务 | 提供景区导航、导览服务 |
  29183. * | 政务民生 | / | 提供政务单位相关业务 |
  29184. * | 政府主体账号 | / | 提供政务单位相关业务 |
  29185. *
  29186. * ### 海外主体开放类目
  29187. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  29188. * | -------------- | -------| -------- |
  29189. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  29190. * | 快递业与邮政 | / | 快递/货物收发服务 |
  29191. * | 餐饮 | / | 线下送餐服务 |
  29192. * | 电商平台 | / | 售卖商品线下发货、线下收货服务 |
  29193. * | 出行与交通 | / | 代驾服务、租车网点导航等相关服务 |
  29194. * | 跨境电商 | / | 提供售卖商品线下发货、收货服务、线下商超导览、导航服务 |
  29195. * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 提供售卖商品线下发货、线下收货服务、线下商超导览、导航服务 |
  29196. * | 生活服务 | 家政、外送 | 上门服务作业等线下场景 |
  29197. *
  29198. * **注意**
  29199. *
  29200. * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */
  29201. startLocationUpdate<
  29202. T extends StartLocationUpdateOption = StartLocationUpdateOption
  29203. >(
  29204. option: T
  29205. ): PromisifySuccessResult<T, StartLocationUpdateOption>
  29206. /** [wx.startLocationUpdateBackground(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.startLocationUpdateBackground.html)
  29207. *
  29208. * 需要基础库: `2.8.0`
  29209. *
  29210. * 在插件中使用:不支持
  29211. *
  29212. * 开启小程序在前后台时均可接收位置消息,后台包括离开小程序后继续使用微信(微信仍在前台)、离开微信(微信在后台)两个场景,需引导用户开启[授权](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/authorize.html#后台定位)。授权以后,小程序在运行中或进入后台均可接受位置消息变化。
  29213. * ## 使用方法
  29214. * 自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。[具体规则见公告](https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01)
  29215. *
  29216. * ## 申请开通
  29217. * 暂只针对如下类目的小程序开放,需要先通过类目审核,再在小程序管理后台,「开发」-「开发管理」-「接口设置」中自助开通该接口权限。从2022年7月14日开始,在代码审核环节将检测该接口是否已完成开通,如未开通,将在代码提审环节进行拦截。
  29218. *
  29219. * ### 国内主体开放类目
  29220. *
  29221. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  29222. * | -------------- | -------| -------- |
  29223. * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 |
  29224. * | 商家自营 | / | 在小程序内提供线下商超导览、导航服务 |
  29225. * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 |
  29226. * | 生活服务 | 跑腿、共享服务 | 含有B端小程序配送服务,基于地理位置共享工具类服务 |
  29227. * | 物流服务 | 收件/派件、查件、邮政、装卸搬运、快递柜、货物运输 | 提供B端小程序快递/货物收发服务 |
  29228. * | 餐饮服务 | 点餐平台、外卖平台 | 提供B端小程序餐饮配送服务、线下门店实时导航 |
  29229. * | 工具 | 健康管理 | 基于实时地理位置提供身体管理记录等服务 |
  29230. * | 旅游 | 景区服务、住宿服务 | 在小程序内提供景区导航、导览服务、酒店导航服务 |
  29231. * | 政务民生 | / | 提供政务单位相关业务 |
  29232. * | 政府主体账号 | / | 提供政务单位相关业务 |
  29233. *
  29234. * ### 海外主体开放类目
  29235. * | 一级类目/主体类型 | 二级类目 | 应用场景 |
  29236. * | -------------- | -------| -------- |
  29237. * | 交通服务 | / | 代驾服务、打车出行、城市共享交通、实时导航服务等 |
  29238. * | 生活服务 | 家政、外送 | 含有B端小程序配送服务,基于地理位置导航上门服务 |
  29239. * | 快递业与邮政 | / | 提供B端小程序快递/货物收发服务 |
  29240. * | 餐饮服务 | 外卖点餐 | 提供B端小程序餐饮配送服务、线下门店实时导航 |
  29241. * | 电商平台 | / | 在小程序内提供线下商超导览、导航服务 |
  29242. * | 跨境电商 | / | 在小程序内提供线下商超导览、导航服务 |
  29243. * | 本地服务 | 服装/鞋/箱包、玩具、家电/数码/手机、美妆/洗护、珠宝/饰品/眼镜/钟表、运动/户外/乐器、鲜花/园艺/工艺品、家居/家饰/家纺、办公/文具、机械/电子器件、酒、食品、百货/超市/便利店、宠物食品/用品 | 在小程序内提供线下商超导览、导航服务 |
  29244. *
  29245. * **注意**
  29246. *
  29247. * - 安卓微信7.0.6版本,iOS 7.0.5版本起支持该接口
  29248. * - 需在app.json中配置requiredBackgroundModes: ['location']后使用
  29249. * - 获取位置信息需配置[地理位置用途说明](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission)。 */
  29250. startLocationUpdateBackground<
  29251. T extends StartLocationUpdateBackgroundOption = StartLocationUpdateBackgroundOption
  29252. >(
  29253. option: T
  29254. ): PromisifySuccessResult<T, StartLocationUpdateBackgroundOption>
  29255. /** [wx.startPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.startPullDownRefresh.html)
  29256. *
  29257. * 需要基础库: `1.5.0`
  29258. *
  29259. * 在插件中使用:需要基础库 `2.1.0`
  29260. *
  29261. * 在插件中使用时,只能在当前插件的页面中调用
  29262. *
  29263. * 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  29264. *
  29265. * **示例代码**
  29266. *
  29267. * ```js
  29268. wx.startPullDownRefresh()
  29269. ``` */
  29270. startPullDownRefresh<
  29271. T extends StartPullDownRefreshOption = StartPullDownRefreshOption
  29272. >(
  29273. option?: T
  29274. ): PromisifySuccessResult<T, StartPullDownRefreshOption>
  29275. /** [wx.startRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.startRecord.html)
  29276. *
  29277. * 在插件中使用:需要基础库 `1.9.6`
  29278. * @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) 替换
  29279. *
  29280. * 开始录音。当主动调用 [wx.stopRecord](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html),或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。
  29281. *
  29282. * **示例代码**
  29283. *
  29284. * ```js
  29285. wx.startRecord({
  29286. success (res) {
  29287. const tempFilePath = res.tempFilePath
  29288. }
  29289. })
  29290. setTimeout(function () {
  29291. wx.stopRecord() // 结束录音
  29292. }, 10000)
  29293. ``` */
  29294. startRecord<T extends WxStartRecordOption = WxStartRecordOption>(
  29295. option?: T
  29296. ): PromisifySuccessResult<T, WxStartRecordOption>
  29297. /** [wx.startSoterAuthentication(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.html)
  29298. *
  29299. * 需要基础库: `1.5.0`
  29300. *
  29301. * 在插件中使用:不支持
  29302. *
  29303. * 开始 SOTER 生物认证。验证流程请参考[说明](https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html)。
  29304. *
  29305. * **resultJSON 说明**
  29306. *
  29307. * 此数据为设备TEE中,将传入的challenge和TEE内其他安全信息组成的数据进行组装而来的JSON,对下述字段的解释如下表。例子如下:
  29308. * | 字段名 | 说明 |
  29309. * |---------|-------------------------------------------------------------------------------------------|
  29310. * | raw | 调用者传入的challenge |
  29311. * | fid | (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号) |
  29312. * | counter | 防重放特征参数 |
  29313. * | tee_n | TEE名称(如高通或者trustonic等) |
  29314. * | tee_v | TEE版本号 |
  29315. * | fp_n | 指纹以及相关逻辑模块提供商(如FPC等) |
  29316. * | fp_v | 指纹以及相关模块版本号 |
  29317. * | cpu_id | 机器唯一识别ID |
  29318. * | uid | 概念同Android系统定义uid,即应用程序编号 |
  29319. *
  29320. * ```json
  29321. {
  29322. "raw":"msg",
  29323. "fid":"2",
  29324. "counter":123,
  29325. "tee_n":"TEE Name",
  29326. "tee_v":"TEE Version",
  29327. "fp_n":"Fingerprint Sensor Name",
  29328. "fp_v":"Fingerprint Sensor Version",
  29329. "cpu_id":"CPU Id",
  29330. "uid":"21"
  29331. }
  29332. ```
  29333. *
  29334. * **示例代码**
  29335. *
  29336. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/q3tCKkmJ7g2e)
  29337. * ```js
  29338. wx.startSoterAuthentication({
  29339. requestAuthModes: ['fingerPrint'],
  29340. challenge: '123456',
  29341. authContent: '请用指纹解锁',
  29342. success(res) {
  29343. }
  29344. })
  29345. ``` */
  29346. startSoterAuthentication<
  29347. T extends StartSoterAuthenticationOption = StartSoterAuthenticationOption
  29348. >(
  29349. option: T
  29350. ): PromisifySuccessResult<T, StartSoterAuthenticationOption>
  29351. /** [wx.startWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.startWifi.html)
  29352. *
  29353. * 需要基础库: `1.6.0`
  29354. *
  29355. * 在插件中使用:需要基础库 `2.9.1`
  29356. *
  29357. * 初始化 Wi-Fi 模块。
  29358. *
  29359. * **示例代码**
  29360. *
  29361. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/8P7zrkmd7r2n)
  29362. * ```js
  29363. wx.startWifi({
  29364. success (res) {
  29365. console.log(res.errMsg)
  29366. }
  29367. })
  29368. ``` */
  29369. startWifi<T extends StartWifiOption = StartWifiOption>(
  29370. option?: T
  29371. ): PromisifySuccessResult<T, StartWifiOption>
  29372. /** [wx.stopAccelerometer(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/accelerometer/wx.stopAccelerometer.html)
  29373. *
  29374. * 需要基础库: `1.1.0`
  29375. *
  29376. * 在插件中使用:需要基础库 `1.9.6`
  29377. *
  29378. * 停止监听加速度数据。
  29379. *
  29380. * **示例代码**
  29381. *
  29382. * ```js
  29383. wx.stopAccelerometer()
  29384. ``` */
  29385. stopAccelerometer<
  29386. T extends StopAccelerometerOption = StopAccelerometerOption
  29387. >(
  29388. option?: T
  29389. ): PromisifySuccessResult<T, StopAccelerometerOption>
  29390. /** [wx.stopBackgroundAudio(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/wx.stopBackgroundAudio.html)
  29391. *
  29392. * 在插件中使用:需要基础库 `1.9.6`
  29393. * @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) 替换
  29394. *
  29395. * 停止播放音乐。
  29396. *
  29397. * **示例代码**
  29398. *
  29399. * ```js
  29400. wx.stopBackgroundAudio()
  29401. ``` */
  29402. stopBackgroundAudio<
  29403. T extends StopBackgroundAudioOption = StopBackgroundAudioOption
  29404. >(
  29405. option?: T
  29406. ): PromisifySuccessResult<T, StopBackgroundAudioOption>
  29407. /** [wx.stopBeaconDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/ibeacon/wx.stopBeaconDiscovery.html)
  29408. *
  29409. * 需要基础库: `1.2.0`
  29410. *
  29411. * 在插件中使用:需要基础库 `1.9.6`
  29412. *
  29413. * 停止搜索附近的 Beacon 设备 */
  29414. stopBeaconDiscovery<
  29415. T extends StopBeaconDiscoveryOption = StopBeaconDiscoveryOption
  29416. >(
  29417. option?: T
  29418. ): PromisifySuccessResult<T, StopBeaconDiscoveryOption>
  29419. /** [wx.stopBluetoothDevicesDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth/wx.stopBluetoothDevicesDiscovery.html)
  29420. *
  29421. * 需要基础库: `1.1.0`
  29422. *
  29423. * 在插件中使用:需要基础库 `1.9.6`
  29424. *
  29425. * 停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,建议调用该接口停止蓝牙搜索。
  29426. *
  29427. * **示例代码**
  29428. *
  29429. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  29430. * ```js
  29431. wx.stopBluetoothDevicesDiscovery({
  29432. success (res) {
  29433. console.log(res)
  29434. }
  29435. })
  29436. ``` */
  29437. stopBluetoothDevicesDiscovery<
  29438. T extends StopBluetoothDevicesDiscoveryOption = StopBluetoothDevicesDiscoveryOption
  29439. >(
  29440. option?: T
  29441. ): PromisifySuccessResult<T, StopBluetoothDevicesDiscoveryOption>
  29442. /** [wx.stopCompass(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/compass/wx.stopCompass.html)
  29443. *
  29444. * 需要基础库: `1.1.0`
  29445. *
  29446. * 在插件中使用:需要基础库 `1.9.6`
  29447. *
  29448. * 停止监听罗盘数据
  29449. *
  29450. * **示例代码**
  29451. *
  29452. * ```js
  29453. wx.stopCompass()
  29454. ``` */
  29455. stopCompass<T extends StopCompassOption = StopCompassOption>(
  29456. option?: T
  29457. ): PromisifySuccessResult<T, StopCompassOption>
  29458. /** [wx.stopDeviceMotionListening(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/motion/wx.stopDeviceMotionListening.html)
  29459. *
  29460. * 需要基础库: `2.3.0`
  29461. *
  29462. * 在插件中使用:需要基础库 `2.9.1`
  29463. *
  29464. * 停止监听设备方向的变化。 */
  29465. stopDeviceMotionListening<
  29466. T extends StopDeviceMotionListeningOption = StopDeviceMotionListeningOption
  29467. >(
  29468. option?: T
  29469. ): PromisifySuccessResult<T, StopDeviceMotionListeningOption>
  29470. /** [wx.stopFaceDetect(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ai/face/wx.stopFaceDetect.html)
  29471. *
  29472. * 需要基础库: `2.18.0`
  29473. *
  29474. * 在插件中使用:需要基础库 `2.21.3`
  29475. *
  29476. * @warning **该接口已停止维护,推荐使用 [wx.createVKSession](https://developers.weixin.qq.com/miniprogram/dev/api/ai/visionkit/wx.createVKSession.html) 代替**
  29477. *
  29478. * 停止人脸检测。本接口不再维护,请使用 [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) */
  29479. stopFaceDetect(option?: StopFaceDetectOption): void
  29480. /** [wx.stopGyroscope(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/gyroscope/wx.stopGyroscope.html)
  29481. *
  29482. * 需要基础库: `2.3.0`
  29483. *
  29484. * 在插件中使用:需要基础库 `2.9.1`
  29485. *
  29486. * 停止监听陀螺仪数据。 */
  29487. stopGyroscope<T extends StopGyroscopeOption = StopGyroscopeOption>(
  29488. option?: T
  29489. ): PromisifySuccessResult<T, StopGyroscopeOption>
  29490. /** [wx.stopHCE(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/nfc-hce/wx.stopHCE.html)
  29491. *
  29492. * 需要基础库: `1.7.0`
  29493. *
  29494. * 在插件中使用:需要基础库 `2.1.0`
  29495. *
  29496. * 关闭 NFC 模块。仅在安卓系统下有效。
  29497. *
  29498. * **示例代码**
  29499. *
  29500. * ```js
  29501. wx.stopHCE({
  29502. success (res) {
  29503. console.log(res.errMsg)
  29504. }
  29505. })
  29506. ``` */
  29507. stopHCE<T extends StopHCEOption = StopHCEOption>(
  29508. option?: T
  29509. ): PromisifySuccessResult<T, StopHCEOption>
  29510. /** [wx.stopLocalServiceDiscovery(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/network/mdns/wx.stopLocalServiceDiscovery.html)
  29511. *
  29512. * 需要基础库: `2.4.0`
  29513. *
  29514. * 在插件中使用:需要基础库 `2.15.0`
  29515. *
  29516. * 停止搜索 mDNS 服务 */
  29517. stopLocalServiceDiscovery<
  29518. T extends StopLocalServiceDiscoveryOption = StopLocalServiceDiscoveryOption
  29519. >(
  29520. option?: T
  29521. ): PromisifySuccessResult<T, StopLocalServiceDiscoveryOption>
  29522. /** [wx.stopLocationUpdate(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.stopLocationUpdate.html)
  29523. *
  29524. * 需要基础库: `2.8.0`
  29525. *
  29526. * 在插件中使用:需要基础库 `2.8.0`
  29527. *
  29528. * 关闭监听实时位置变化,前后台都停止消息接收 */
  29529. stopLocationUpdate<
  29530. T extends StopLocationUpdateOption = StopLocationUpdateOption
  29531. >(
  29532. option?: T
  29533. ): PromisifySuccessResult<T, StopLocationUpdateOption>
  29534. /** [wx.stopPullDownRefresh(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/ui/pull-down-refresh/wx.stopPullDownRefresh.html)
  29535. *
  29536. * 需要基础库: `1.5.0`
  29537. *
  29538. * 在插件中使用:需要基础库 `2.1.0`
  29539. *
  29540. * 在插件中使用时,只能在当前插件的页面中调用
  29541. *
  29542. * 停止当前页面下拉刷新。
  29543. *
  29544. * **示例代码**
  29545. *
  29546. * ```js
  29547. Page({
  29548. onPullDownRefresh () {
  29549. wx.stopPullDownRefresh()
  29550. }
  29551. })
  29552. ``` */
  29553. stopPullDownRefresh<
  29554. T extends StopPullDownRefreshOption = StopPullDownRefreshOption
  29555. >(
  29556. option?: T
  29557. ): PromisifySuccessResult<T, StopPullDownRefreshOption>
  29558. /** [wx.stopRecord(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/recorder/wx.stopRecord.html)
  29559. *
  29560. * 在插件中使用:需要基础库 `1.9.6`
  29561. * @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) 替换
  29562. *
  29563. * 停止录音。
  29564. *
  29565. * **示例代码**
  29566. *
  29567. * ```js
  29568. wx.startRecord({
  29569. success (res) {
  29570. const tempFilePath = res.tempFilePath
  29571. }
  29572. })
  29573. setTimeout(function () {
  29574. wx.stopRecord() // 结束录音
  29575. }, 10000)
  29576. ``` */
  29577. stopRecord<T extends WxStopRecordOption = WxStopRecordOption>(
  29578. option?: T
  29579. ): PromisifySuccessResult<T, WxStopRecordOption>
  29580. /** [wx.stopVoice(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.stopVoice.html)
  29581. *
  29582. * 在插件中使用:需要基础库 `1.9.6`
  29583. * @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) 替换
  29584. *
  29585. * 结束播放语音。
  29586. *
  29587. * **示例代码**
  29588. *
  29589. * ```js
  29590. wx.startRecord({
  29591. success (res) {
  29592. const tempFilePath = res.tempFilePath
  29593. wx.playVoice({
  29594. filePath: tempFilePath,
  29595. })
  29596. setTimeout(() => { wx.stopVoice() }, 5000)
  29597. }
  29598. })
  29599. ``` */
  29600. stopVoice<T extends StopVoiceOption = StopVoiceOption>(
  29601. option?: T
  29602. ): PromisifySuccessResult<T, StopVoiceOption>
  29603. /** [wx.stopWifi(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/wifi/wx.stopWifi.html)
  29604. *
  29605. * 需要基础库: `1.6.0`
  29606. *
  29607. * 在插件中使用:需要基础库 `2.9.1`
  29608. *
  29609. * 关闭 Wi-Fi 模块。
  29610. *
  29611. * **示例代码**
  29612. *
  29613. * ```js
  29614. wx.stopWifi({
  29615. success (res) {
  29616. console.log(res.errMsg)
  29617. }
  29618. })
  29619. ``` */
  29620. stopWifi<T extends StopWifiOption = StopWifiOption>(
  29621. option?: T
  29622. ): PromisifySuccessResult<T, StopWifiOption>
  29623. /** [wx.subscribeVoIPVideoMembers(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.subscribeVoIPVideoMembers.html)
  29624. *
  29625. * 需要基础库: `2.11.0`
  29626. *
  29627. * 在插件中使用:需要基础库 `2.11.0`
  29628. *
  29629. * 订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 */
  29630. subscribeVoIPVideoMembers<
  29631. T extends SubscribeVoIPVideoMembersOption = SubscribeVoIPVideoMembersOption
  29632. >(
  29633. option: T
  29634. ): PromisifySuccessResult<T, SubscribeVoIPVideoMembersOption>
  29635. /** [wx.switchTab(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html)
  29636. *
  29637. * 在插件中使用:需要基础库 `2.3.1`
  29638. *
  29639. * 在插件中使用时,只能在当前插件的页面中调用
  29640. *
  29641. * 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
  29642. *
  29643. * **示例代码**
  29644. *
  29645. * ```json
  29646. // app.json
  29647. {
  29648. "tabBar": {
  29649. "list": [{
  29650. "pagePath": "index",
  29651. "text": "首页"
  29652. },{
  29653. "pagePath": "other",
  29654. "text": "其他"
  29655. }]
  29656. }
  29657. }
  29658. ```
  29659. *
  29660. * ```js
  29661. wx.switchTab({
  29662. url: '/index'
  29663. })
  29664. ``` */
  29665. switchTab<T extends SwitchTabOption = SwitchTabOption>(
  29666. option: T
  29667. ): PromisifySuccessResult<T, SwitchTabOption>
  29668. /** [wx.updateShareMenu(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html)
  29669. *
  29670. * 需要基础库: `1.2.0`
  29671. *
  29672. * 在插件中使用:需要基础库 `2.1.0`
  29673. *
  29674. * 在插件中使用时,只能在当前插件的页面中调用
  29675. *
  29676. * 更新转发属性
  29677. *
  29678. * ****
  29679. *
  29680. * ## 注意事项
  29681. * - bug:在iOS上,如果 withShareTicket 传了 true ,同时 isUpdatableMessage 传了 false,会导致 withShareTicket 失效。解决办法:当 withShareTicket 传了 true 的时候,isUpdatableMessage 传 true 或者不传都可以,但不要传 false。如果需要关掉动态消息设置,则另外单独调用一次 wx.updateShareMenu({ isUpdatableMessage: false }) 即可。
  29682. *
  29683. * **示例代码**
  29684. *
  29685. * ```js
  29686. wx.updateShareMenu({
  29687. withShareTicket: true,
  29688. success () { }
  29689. })
  29690. ```
  29691. * ```js
  29692. // 转发私密消息
  29693. wx.updateShareMenu({
  29694. isPrivateMessage: true,
  29695. activityId: 'xxx',
  29696. templateInfo: {},
  29697. success () { },
  29698. fail () {}
  29699. })
  29700. ``` */
  29701. updateShareMenu<
  29702. T extends UpdateShareMenuOption = UpdateShareMenuOption
  29703. >(
  29704. option: T
  29705. ): PromisifySuccessResult<T, UpdateShareMenuOption>
  29706. /** [wx.updateVoIPChatMuteConfig(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/media/voip/wx.updateVoIPChatMuteConfig.html)
  29707. *
  29708. * 需要基础库: `2.7.0`
  29709. *
  29710. * 在插件中使用:需要基础库 `2.9.0`
  29711. *
  29712. * 更新实时语音静音设置 */
  29713. updateVoIPChatMuteConfig<
  29714. T extends UpdateVoIPChatMuteConfigOption = UpdateVoIPChatMuteConfigOption
  29715. >(
  29716. option: T
  29717. ): PromisifySuccessResult<T, UpdateVoIPChatMuteConfigOption>
  29718. /** [wx.updateWeChatApp(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/base/update/wx.updateWeChatApp.html)
  29719. *
  29720. * 需要基础库: `2.12.0`
  29721. *
  29722. * 在插件中使用:需要基础库 `2.12.0`
  29723. *
  29724. * 更新客户端版本。当判断用户小程序所在客户端版本过低时,可使用该接口跳转到更新微信页面。 */
  29725. updateWeChatApp<
  29726. T extends UpdateWeChatAppOption = UpdateWeChatAppOption
  29727. >(
  29728. option?: T
  29729. ): PromisifySuccessResult<T, UpdateWeChatAppOption>
  29730. /** [wx.vibrateLong(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateLong.html)
  29731. *
  29732. * 需要基础库: `1.2.0`
  29733. *
  29734. * 在插件中使用:需要基础库 `1.9.6`
  29735. *
  29736. * 使手机发生较长时间的振动(400 ms) */
  29737. vibrateLong<T extends VibrateLongOption = VibrateLongOption>(
  29738. option?: T
  29739. ): PromisifySuccessResult<T, VibrateLongOption>
  29740. /** [wx.vibrateShort(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/vibrate/wx.vibrateShort.html)
  29741. *
  29742. * 需要基础库: `1.2.0`
  29743. *
  29744. * 在插件中使用:需要基础库 `1.9.6`
  29745. *
  29746. * 使手机发生较短时间的振动(15 ms)。仅在 iPhone `7 / 7 Plus` 以上及 Android 机型生效 */
  29747. vibrateShort<T extends VibrateShortOption = VibrateShortOption>(
  29748. option: T
  29749. ): PromisifySuccessResult<T, VibrateShortOption>
  29750. /** [wx.writeBLECharacteristicValue(Object object)](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.writeBLECharacteristicValue.html)
  29751. *
  29752. * 需要基础库: `1.1.0`
  29753. *
  29754. * 在插件中使用:需要基础库 `1.9.6`
  29755. *
  29756. * 向蓝牙低功耗设备特征值中写入二进制数据。注意:必须设备的特征支持 write 才可以成功调用。
  29757. *
  29758. * **注意**
  29759. *
  29760. * - 并行调用多次会存在写失败的可能性。
  29761. * - 小程序不会对写入数据包大小做限制,但系统与蓝牙设备会限制蓝牙 4.0 单次传输的数据大小,超过最大字节数后会发生写入错误,建议每次写入不超过 20 字节。
  29762. * - 若单次写入数据过长,iOS 上存在系统不会有任何回调的情况(包括错误回调)。
  29763. * - 安卓平台上,在调用 [wx.notifyBLECharacteristicValueChange](https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.notifyBLECharacteristicValueChange.html) 成功后立即调用本接口,在部分机型上会发生 10008 系统错误
  29764. *
  29765. * **示例代码**
  29766. *
  29767. * [在微信开发者工具中查看示例](https://developers.weixin.qq.com/s/pQU51zmz7a3K)
  29768. * ```js
  29769. // 向蓝牙设备发送一个0x00的16进制数据
  29770. let buffer = new ArrayBuffer(1)
  29771. let dataView = new DataView(buffer)
  29772. dataView.setUint8(0, 0)
  29773. wx.writeBLECharacteristicValue({
  29774. // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
  29775. deviceId,
  29776. // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
  29777. serviceId,
  29778. // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
  29779. characteristicId,
  29780. // 这里的value是ArrayBuffer类型
  29781. value: buffer,
  29782. success (res) {
  29783. console.log('writeBLECharacteristicValue success', res.errMsg)
  29784. }
  29785. })
  29786. ``` */
  29787. writeBLECharacteristicValue<
  29788. T extends WriteBLECharacteristicValueOption = WriteBLECharacteristicValueOption
  29789. >(
  29790. option: T
  29791. ): PromisifySuccessResult<T, WriteBLECharacteristicValueOption>
  29792. /** 小程序云开发 */
  29793. cloud: WxCloud
  29794. /** 文件系统中的用户目录路径 */
  29795. env: { USER_DATA_PATH: string }
  29796. /** 获得 xr-frame 接口系统 */
  29797. getXrFrameSystem(): import('XrFrame').IXrFrameSystem
  29798. /** 需要基础库: `2.29.2`
  29799. *
  29800. * router 对象,可以通过 `wx.router` 获取。 */
  29801. router: Router
  29802. /** 需要基础库: `2.29.2`
  29803. *
  29804. * worklet 对象,可以通过 `wx.worklet` 获取。 */
  29805. worklet: Worklet
  29806. }
  29807. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29808. type AccessCompleteCallback = (res: FileError) => void
  29809. /** 接口调用失败的回调函数 */
  29810. type AccessFailCallback = (res: FileError) => void
  29811. /** 接口调用成功的回调函数 */
  29812. type AccessSuccessCallback = (res: FileError) => void
  29813. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29814. type AddArcCompleteCallback = (res: GeneralCallbackResult) => void
  29815. /** 接口调用失败的回调函数 */
  29816. type AddArcFailCallback = (res: GeneralCallbackResult) => void
  29817. /** 接口调用成功的回调函数 */
  29818. type AddArcSuccessCallback = (res: GeneralCallbackResult) => void
  29819. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29820. type AddCardCompleteCallback = (res: GeneralCallbackResult) => void
  29821. /** 接口调用失败的回调函数 */
  29822. type AddCardFailCallback = (res: GeneralCallbackResult) => void
  29823. /** 接口调用成功的回调函数 */
  29824. type AddCardSuccessCallback = (result: AddCardSuccessCallbackResult) => void
  29825. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29826. type AddCustomLayerCompleteCallback = (res: GeneralCallbackResult) => void
  29827. /** 接口调用失败的回调函数 */
  29828. type AddCustomLayerFailCallback = (res: GeneralCallbackResult) => void
  29829. /** 接口调用成功的回调函数 */
  29830. type AddCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void
  29831. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29832. type AddFileToFavoritesCompleteCallback = (
  29833. res: GeneralCallbackResult
  29834. ) => void
  29835. /** 接口调用失败的回调函数 */
  29836. type AddFileToFavoritesFailCallback = (res: GeneralCallbackResult) => void
  29837. /** 接口调用成功的回调函数 */
  29838. type AddFileToFavoritesSuccessCallback = (
  29839. res: GeneralCallbackResult
  29840. ) => void
  29841. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29842. type AddGroundOverlayCompleteCallback = (res: GeneralCallbackResult) => void
  29843. /** 接口调用失败的回调函数 */
  29844. type AddGroundOverlayFailCallback = (res: GeneralCallbackResult) => void
  29845. /** 接口调用成功的回调函数 */
  29846. type AddGroundOverlaySuccessCallback = (res: GeneralCallbackResult) => void
  29847. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29848. type AddMarkersCompleteCallback = (res: GeneralCallbackResult) => void
  29849. /** 接口调用失败的回调函数 */
  29850. type AddMarkersFailCallback = (res: GeneralCallbackResult) => void
  29851. /** 接口调用成功的回调函数 */
  29852. type AddMarkersSuccessCallback = (res: GeneralCallbackResult) => void
  29853. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29854. type AddPhoneCalendarCompleteCallback = (res: GeneralCallbackResult) => void
  29855. /** 接口调用失败的回调函数 */
  29856. type AddPhoneCalendarFailCallback = (res: GeneralCallbackResult) => void
  29857. /** 接口调用成功的回调函数 */
  29858. type AddPhoneCalendarSuccessCallback = (res: GeneralCallbackResult) => void
  29859. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29860. type AddPhoneContactCompleteCallback = (res: GeneralCallbackResult) => void
  29861. /** 接口调用失败的回调函数 */
  29862. type AddPhoneContactFailCallback = (res: GeneralCallbackResult) => void
  29863. /** 接口调用成功的回调函数 */
  29864. type AddPhoneContactSuccessCallback = (res: GeneralCallbackResult) => void
  29865. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29866. type AddPhoneRepeatCalendarCompleteCallback = (
  29867. res: GeneralCallbackResult
  29868. ) => void
  29869. /** 接口调用失败的回调函数 */
  29870. type AddPhoneRepeatCalendarFailCallback = (
  29871. res: GeneralCallbackResult
  29872. ) => void
  29873. /** 接口调用成功的回调函数 */
  29874. type AddPhoneRepeatCalendarSuccessCallback = (
  29875. res: GeneralCallbackResult
  29876. ) => void
  29877. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29878. type AddServiceCompleteCallback = (res: GeneralCallbackResult) => void
  29879. /** 接口调用失败的回调函数 */
  29880. type AddServiceFailCallback = (res: GeneralCallbackResult) => void
  29881. /** 接口调用成功的回调函数 */
  29882. type AddServiceSuccessCallback = (res: GeneralCallbackResult) => void
  29883. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29884. type AddVideoToFavoritesCompleteCallback = (
  29885. res: GeneralCallbackResult
  29886. ) => void
  29887. /** 接口调用失败的回调函数 */
  29888. type AddVideoToFavoritesFailCallback = (res: GeneralCallbackResult) => void
  29889. /** 接口调用成功的回调函数 */
  29890. type AddVideoToFavoritesSuccessCallback = (
  29891. res: GeneralCallbackResult
  29892. ) => void
  29893. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29894. type AddVisualLayerCompleteCallback = (res: GeneralCallbackResult) => void
  29895. /** 接口调用失败的回调函数 */
  29896. type AddVisualLayerFailCallback = (res: GeneralCallbackResult) => void
  29897. /** 接口调用成功的回调函数 */
  29898. type AddVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void
  29899. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29900. type AppendFileCompleteCallback = (res: FileError) => void
  29901. /** 接口调用失败的回调函数 */
  29902. type AppendFileFailCallback = (res: FileError) => void
  29903. /** 接口调用成功的回调函数 */
  29904. type AppendFileSuccessCallback = (res: FileError) => void
  29905. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29906. type ApplyBlusherStickMakeupCompleteCallback = (
  29907. res: GeneralCallbackResult
  29908. ) => void
  29909. /** 接口调用失败的回调函数 */
  29910. type ApplyBlusherStickMakeupFailCallback = (
  29911. res: GeneralCallbackResult
  29912. ) => void
  29913. /** 接口调用成功的回调函数 */
  29914. type ApplyBlusherStickMakeupSuccessCallback = (
  29915. res: GeneralCallbackResult
  29916. ) => void
  29917. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29918. type ApplyEyeBrowMakeupCompleteCallback = (
  29919. res: GeneralCallbackResult
  29920. ) => void
  29921. /** 接口调用失败的回调函数 */
  29922. type ApplyEyeBrowMakeupFailCallback = (res: GeneralCallbackResult) => void
  29923. /** 接口调用成功的回调函数 */
  29924. type ApplyEyeBrowMakeupSuccessCallback = (
  29925. res: GeneralCallbackResult
  29926. ) => void
  29927. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29928. type ApplyEyeShadowMakeupCompleteCallback = (
  29929. res: GeneralCallbackResult
  29930. ) => void
  29931. /** 接口调用失败的回调函数 */
  29932. type ApplyEyeShadowMakeupFailCallback = (res: GeneralCallbackResult) => void
  29933. /** 接口调用成功的回调函数 */
  29934. type ApplyEyeShadowMakeupSuccessCallback = (
  29935. res: GeneralCallbackResult
  29936. ) => void
  29937. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29938. type ApplyFaceContourMakeupCompleteCallback = (
  29939. res: GeneralCallbackResult
  29940. ) => void
  29941. /** 接口调用失败的回调函数 */
  29942. type ApplyFaceContourMakeupFailCallback = (
  29943. res: GeneralCallbackResult
  29944. ) => void
  29945. /** 接口调用成功的回调函数 */
  29946. type ApplyFaceContourMakeupSuccessCallback = (
  29947. res: GeneralCallbackResult
  29948. ) => void
  29949. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29950. type ApplyFilterCompleteCallback = (res: GeneralCallbackResult) => void
  29951. /** 接口调用失败的回调函数 */
  29952. type ApplyFilterFailCallback = (res: GeneralCallbackResult) => void
  29953. /** 接口调用成功的回调函数 */
  29954. type ApplyFilterSuccessCallback = (res: GeneralCallbackResult) => void
  29955. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29956. type ApplyLipStickMakeupCompleteCallback = (
  29957. res: GeneralCallbackResult
  29958. ) => void
  29959. /** 接口调用失败的回调函数 */
  29960. type ApplyLipStickMakeupFailCallback = (res: GeneralCallbackResult) => void
  29961. /** 接口调用成功的回调函数 */
  29962. type ApplyLipStickMakeupSuccessCallback = (
  29963. res: GeneralCallbackResult
  29964. ) => void
  29965. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29966. type ApplyStickerCompleteCallback = (res: GeneralCallbackResult) => void
  29967. /** 接口调用失败的回调函数 */
  29968. type ApplyStickerFailCallback = (res: GeneralCallbackResult) => void
  29969. /** 接口调用成功的回调函数 */
  29970. type ApplyStickerSuccessCallback = (res: GeneralCallbackResult) => void
  29971. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29972. type AuthPrivateMessageCompleteCallback = (
  29973. res: GeneralCallbackResult
  29974. ) => void
  29975. /** 接口调用失败的回调函数 */
  29976. type AuthPrivateMessageFailCallback = (res: GeneralCallbackResult) => void
  29977. /** 接口调用成功的回调函数 */
  29978. type AuthPrivateMessageSuccessCallback = (
  29979. result: AuthPrivateMessageSuccessCallbackResult
  29980. ) => void
  29981. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29982. type AuthorizeCompleteCallback = (res: GeneralCallbackResult) => void
  29983. /** 接口调用失败的回调函数 */
  29984. type AuthorizeFailCallback = (res: GeneralCallbackResult) => void
  29985. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  29986. type AuthorizeForMiniProgramCompleteCallback = (
  29987. res: GeneralCallbackResult
  29988. ) => void
  29989. /** 接口调用失败的回调函数 */
  29990. type AuthorizeForMiniProgramFailCallback = (
  29991. res: GeneralCallbackResult
  29992. ) => void
  29993. /** 接口调用成功的回调函数 */
  29994. type AuthorizeForMiniProgramSuccessCallback = (
  29995. res: GeneralCallbackResult
  29996. ) => void
  29997. /** 接口调用成功的回调函数 */
  29998. type AuthorizeSuccessCallback = (res: GeneralCallbackResult) => void
  29999. /** 背景音频播放错误事件的监听函数 */
  30000. type BackgroundAudioManagerOnErrorCallback = (
  30001. res: GeneralCallbackResult
  30002. ) => void
  30003. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30004. type BatchGetStorageCompleteCallback = (res: GeneralCallbackResult) => void
  30005. /** 接口调用失败的回调函数 */
  30006. type BatchGetStorageFailCallback = (res: GeneralCallbackResult) => void
  30007. /** 接口调用成功的回调函数 */
  30008. type BatchGetStorageSuccessCallback = (res: GeneralCallbackResult) => void
  30009. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30010. type BatchSetStorageCompleteCallback = (res: GeneralCallbackResult) => void
  30011. /** 接口调用失败的回调函数 */
  30012. type BatchSetStorageFailCallback = (res: GeneralCallbackResult) => void
  30013. /** 接口调用成功的回调函数 */
  30014. type BatchSetStorageSuccessCallback = (res: GeneralCallbackResult) => void
  30015. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30016. type BlurCompleteCallback = (res: GeneralCallbackResult) => void
  30017. /** 接口调用失败的回调函数 */
  30018. type BlurFailCallback = (res: GeneralCallbackResult) => void
  30019. /** 接口调用成功的回调函数 */
  30020. type BlurSuccessCallback = (res: GeneralCallbackResult) => void
  30021. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */
  30022. type BoundingClientRectCallback = (
  30023. result: BoundingClientRectCallbackResult
  30024. ) => void
  30025. /** 接口调用成功的回调函数 */
  30026. type CameraContextSetZoomSuccessCallback = (
  30027. result: SetZoomSuccessCallbackResult
  30028. ) => void
  30029. /** 接口调用成功的回调函数 */
  30030. type CameraContextStartRecordSuccessCallback = (
  30031. res: GeneralCallbackResult
  30032. ) => void
  30033. /** 接口调用成功的回调函数 */
  30034. type CameraContextStopRecordSuccessCallback = (
  30035. result: StopRecordSuccessCallbackResult
  30036. ) => void
  30037. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30038. type CanvasGetImageDataCompleteCallback = (
  30039. res: GeneralCallbackResult
  30040. ) => void
  30041. /** 接口调用失败的回调函数 */
  30042. type CanvasGetImageDataFailCallback = (res: GeneralCallbackResult) => void
  30043. /** 接口调用成功的回调函数 */
  30044. type CanvasGetImageDataSuccessCallback = (
  30045. result: CanvasGetImageDataSuccessCallbackResult
  30046. ) => void
  30047. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30048. type CanvasPutImageDataCompleteCallback = (
  30049. res: GeneralCallbackResult
  30050. ) => void
  30051. /** 接口调用失败的回调函数 */
  30052. type CanvasPutImageDataFailCallback = (res: GeneralCallbackResult) => void
  30053. /** 接口调用成功的回调函数 */
  30054. type CanvasPutImageDataSuccessCallback = (
  30055. res: GeneralCallbackResult
  30056. ) => void
  30057. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30058. type CanvasToTempFilePathCompleteCallback = (
  30059. res: GeneralCallbackResult
  30060. ) => void
  30061. /** 接口调用失败的回调函数 */
  30062. type CanvasToTempFilePathFailCallback = (res: GeneralCallbackResult) => void
  30063. /** 接口调用成功的回调函数 */
  30064. type CanvasToTempFilePathSuccessCallback = (
  30065. result: CanvasToTempFilePathSuccessCallbackResult
  30066. ) => void
  30067. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30068. type CheckIsAddedToMyMiniProgramCompleteCallback = (
  30069. res: GeneralCallbackResult
  30070. ) => void
  30071. /** 接口调用失败的回调函数 */
  30072. type CheckIsAddedToMyMiniProgramFailCallback = (
  30073. res: GeneralCallbackResult
  30074. ) => void
  30075. /** 接口调用成功的回调函数 */
  30076. type CheckIsAddedToMyMiniProgramSuccessCallback = (
  30077. result: CheckIsAddedToMyMiniProgramSuccessCallbackResult
  30078. ) => void
  30079. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30080. type CheckIsOpenAccessibilityCompleteCallback = (
  30081. res: GeneralCallbackResult
  30082. ) => void
  30083. /** 接口调用失败的回调函数 */
  30084. type CheckIsOpenAccessibilityFailCallback = (
  30085. res: GeneralCallbackResult
  30086. ) => void
  30087. /** 接口调用成功的回调函数 */
  30088. type CheckIsOpenAccessibilitySuccessCallback = (
  30089. option: CheckIsOpenAccessibilitySuccessCallbackOption
  30090. ) => void
  30091. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30092. type CheckIsSoterEnrolledInDeviceCompleteCallback = (
  30093. res: GeneralCallbackResult
  30094. ) => void
  30095. /** 接口调用失败的回调函数 */
  30096. type CheckIsSoterEnrolledInDeviceFailCallback = (
  30097. res: GeneralCallbackResult
  30098. ) => void
  30099. /** 接口调用成功的回调函数 */
  30100. type CheckIsSoterEnrolledInDeviceSuccessCallback = (
  30101. result: CheckIsSoterEnrolledInDeviceSuccessCallbackResult
  30102. ) => void
  30103. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30104. type CheckIsSupportSoterAuthenticationCompleteCallback = (
  30105. res: GeneralCallbackResult
  30106. ) => void
  30107. /** 接口调用失败的回调函数 */
  30108. type CheckIsSupportSoterAuthenticationFailCallback = (
  30109. res: GeneralCallbackResult
  30110. ) => void
  30111. /** 接口调用成功的回调函数 */
  30112. type CheckIsSupportSoterAuthenticationSuccessCallback = (
  30113. result: CheckIsSupportSoterAuthenticationSuccessCallbackResult
  30114. ) => void
  30115. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30116. type CheckSessionCompleteCallback = (res: GeneralCallbackResult) => void
  30117. /** 接口调用失败的回调函数 */
  30118. type CheckSessionFailCallback = (res: GeneralCallbackResult) => void
  30119. /** 接口调用成功的回调函数 */
  30120. type CheckSessionSuccessCallback = (res: GeneralCallbackResult) => void
  30121. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30122. type ChooseAddressCompleteCallback = (res: GeneralCallbackResult) => void
  30123. /** 接口调用失败的回调函数 */
  30124. type ChooseAddressFailCallback = (res: GeneralCallbackResult) => void
  30125. /** 接口调用成功的回调函数 */
  30126. type ChooseAddressSuccessCallback = (
  30127. result: ChooseAddressSuccessCallbackResult
  30128. ) => void
  30129. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30130. type ChooseContactCompleteCallback = (res: GeneralCallbackResult) => void
  30131. /** 接口调用失败的回调函数 */
  30132. type ChooseContactFailCallback = (res: GeneralCallbackResult) => void
  30133. /** 接口调用成功的回调函数 */
  30134. type ChooseContactSuccessCallback = (
  30135. option: ChooseContactSuccessCallbackOption
  30136. ) => void
  30137. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30138. type ChooseImageCompleteCallback = (res: GeneralCallbackResult) => void
  30139. /** 接口调用失败的回调函数 */
  30140. type ChooseImageFailCallback = (res: GeneralCallbackResult) => void
  30141. /** 接口调用成功的回调函数 */
  30142. type ChooseImageSuccessCallback = (
  30143. result: ChooseImageSuccessCallbackResult
  30144. ) => void
  30145. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30146. type ChooseInvoiceCompleteCallback = (res: GeneralCallbackResult) => void
  30147. /** 接口调用失败的回调函数 */
  30148. type ChooseInvoiceFailCallback = (res: GeneralCallbackResult) => void
  30149. /** 接口调用成功的回调函数 */
  30150. type ChooseInvoiceSuccessCallback = (
  30151. result: ChooseInvoiceSuccessCallbackResult
  30152. ) => void
  30153. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30154. type ChooseInvoiceTitleCompleteCallback = (
  30155. res: GeneralCallbackResult
  30156. ) => void
  30157. /** 接口调用失败的回调函数 */
  30158. type ChooseInvoiceTitleFailCallback = (res: GeneralCallbackResult) => void
  30159. /** 接口调用成功的回调函数 */
  30160. type ChooseInvoiceTitleSuccessCallback = (
  30161. result: ChooseInvoiceTitleSuccessCallbackResult
  30162. ) => void
  30163. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30164. type ChooseLicensePlateCompleteCallback = (
  30165. res: GeneralCallbackResult
  30166. ) => void
  30167. /** 接口调用失败的回调函数 */
  30168. type ChooseLicensePlateFailCallback = (res: GeneralCallbackResult) => void
  30169. /** 接口调用成功的回调函数 */
  30170. type ChooseLicensePlateSuccessCallback = (
  30171. result: ChooseLicensePlateSuccessCallbackResult
  30172. ) => void
  30173. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30174. type ChooseLocationCompleteCallback = (res: GeneralCallbackResult) => void
  30175. /** 接口调用失败的回调函数 */
  30176. type ChooseLocationFailCallback = (res: GeneralCallbackResult) => void
  30177. /** 接口调用成功的回调函数 */
  30178. type ChooseLocationSuccessCallback = (
  30179. result: ChooseLocationSuccessCallbackResult
  30180. ) => void
  30181. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30182. type ChooseMediaCompleteCallback = (res: GeneralCallbackResult) => void
  30183. /** 接口调用失败的回调函数 */
  30184. type ChooseMediaFailCallback = (res: GeneralCallbackResult) => void
  30185. /** 接口调用成功的回调函数 */
  30186. type ChooseMediaSuccessCallback = (
  30187. result: ChooseMediaSuccessCallbackResult
  30188. ) => void
  30189. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30190. type ChooseMessageFileCompleteCallback = (
  30191. res: GeneralCallbackResult
  30192. ) => void
  30193. /** 接口调用失败的回调函数 */
  30194. type ChooseMessageFileFailCallback = (res: GeneralCallbackResult) => void
  30195. /** 接口调用成功的回调函数 */
  30196. type ChooseMessageFileSuccessCallback = (
  30197. result: ChooseMessageFileSuccessCallbackResult
  30198. ) => void
  30199. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30200. type ChoosePoiCompleteCallback = (res: GeneralCallbackResult) => void
  30201. /** 接口调用失败的回调函数 */
  30202. type ChoosePoiFailCallback = (res: GeneralCallbackResult) => void
  30203. /** 接口调用成功的回调函数 */
  30204. type ChoosePoiSuccessCallback = (
  30205. result: ChoosePoiSuccessCallbackResult
  30206. ) => void
  30207. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30208. type ChooseVideoCompleteCallback = (res: GeneralCallbackResult) => void
  30209. /** 接口调用失败的回调函数 */
  30210. type ChooseVideoFailCallback = (res: GeneralCallbackResult) => void
  30211. /** 接口调用成功的回调函数 */
  30212. type ChooseVideoSuccessCallback = (
  30213. result: ChooseVideoSuccessCallbackResult
  30214. ) => void
  30215. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30216. type ClearCompleteCallback = (res: GeneralCallbackResult) => void
  30217. /** 接口调用失败的回调函数 */
  30218. type ClearFailCallback = (res: GeneralCallbackResult) => void
  30219. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30220. type ClearFiltersCompleteCallback = (res: GeneralCallbackResult) => void
  30221. /** 接口调用失败的回调函数 */
  30222. type ClearFiltersFailCallback = (res: GeneralCallbackResult) => void
  30223. /** 接口调用成功的回调函数 */
  30224. type ClearFiltersSuccessCallback = (res: GeneralCallbackResult) => void
  30225. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30226. type ClearMakeupsCompleteCallback = (res: GeneralCallbackResult) => void
  30227. /** 接口调用失败的回调函数 */
  30228. type ClearMakeupsFailCallback = (res: GeneralCallbackResult) => void
  30229. /** 接口调用成功的回调函数 */
  30230. type ClearMakeupsSuccessCallback = (res: GeneralCallbackResult) => void
  30231. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30232. type ClearStickersCompleteCallback = (res: GeneralCallbackResult) => void
  30233. /** 接口调用失败的回调函数 */
  30234. type ClearStickersFailCallback = (res: GeneralCallbackResult) => void
  30235. /** 接口调用成功的回调函数 */
  30236. type ClearStickersSuccessCallback = (res: GeneralCallbackResult) => void
  30237. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30238. type ClearStorageCompleteCallback = (res: GeneralCallbackResult) => void
  30239. /** 接口调用失败的回调函数 */
  30240. type ClearStorageFailCallback = (res: GeneralCallbackResult) => void
  30241. /** 接口调用成功的回调函数 */
  30242. type ClearStorageSuccessCallback = (res: GeneralCallbackResult) => void
  30243. /** 接口调用成功的回调函数 */
  30244. type ClearSuccessCallback = (res: GeneralCallbackResult) => void
  30245. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30246. type CloseBLEConnectionCompleteCallback = (res: BluetoothError) => void
  30247. /** 接口调用失败的回调函数 */
  30248. type CloseBLEConnectionFailCallback = (res: BluetoothError) => void
  30249. /** 接口调用成功的回调函数 */
  30250. type CloseBLEConnectionSuccessCallback = (res: BluetoothError) => void
  30251. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30252. type CloseBluetoothAdapterCompleteCallback = (res: BluetoothError) => void
  30253. /** 接口调用失败的回调函数 */
  30254. type CloseBluetoothAdapterFailCallback = (res: BluetoothError) => void
  30255. /** 接口调用成功的回调函数 */
  30256. type CloseBluetoothAdapterSuccessCallback = (res: BluetoothError) => void
  30257. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30258. type CloseSocketCompleteCallback = (res: GeneralCallbackResult) => void
  30259. /** 接口调用失败的回调函数 */
  30260. type CloseSocketFailCallback = (res: GeneralCallbackResult) => void
  30261. /** 接口调用成功的回调函数 */
  30262. type CloseSocketSuccessCallback = (res: GeneralCallbackResult) => void
  30263. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30264. type CompressImageCompleteCallback = (res: GeneralCallbackResult) => void
  30265. /** 接口调用失败的回调函数 */
  30266. type CompressImageFailCallback = (res: GeneralCallbackResult) => void
  30267. /** 接口调用成功的回调函数 */
  30268. type CompressImageSuccessCallback = (
  30269. result: CompressImageSuccessCallbackResult
  30270. ) => void
  30271. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30272. type CompressVideoCompleteCallback = (res: GeneralCallbackResult) => void
  30273. /** 接口调用失败的回调函数 */
  30274. type CompressVideoFailCallback = (res: GeneralCallbackResult) => void
  30275. /** 接口调用成功的回调函数 */
  30276. type CompressVideoSuccessCallback = (
  30277. result: CompressVideoSuccessCallbackResult
  30278. ) => void
  30279. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30280. type ConnectCompleteCallback = (res: Nfcrwerror) => void
  30281. /** 接口调用失败的回调函数 */
  30282. type ConnectFailCallback = (res: Nfcrwerror) => void
  30283. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30284. type ConnectSocketCompleteCallback = (res: GeneralCallbackResult) => void
  30285. /** 接口调用失败的回调函数 */
  30286. type ConnectSocketFailCallback = (res: GeneralCallbackResult) => void
  30287. /** 接口调用成功的回调函数 */
  30288. type ConnectSocketSuccessCallback = (res: GeneralCallbackResult) => void
  30289. /** 接口调用成功的回调函数 */
  30290. type ConnectSuccessCallback = (res: Nfcrwerror) => void
  30291. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30292. type ConnectWifiCompleteCallback = (res: WifiError) => void
  30293. /** 接口调用失败的回调函数 */
  30294. type ConnectWifiFailCallback = (res: WifiError) => void
  30295. /** 接口调用成功的回调函数 */
  30296. type ConnectWifiSuccessCallback = (res: WifiError) => void
  30297. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */
  30298. type ContextCallback = (result: ContextCallbackResult) => void
  30299. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30300. type CopyFileCompleteCallback = (res: FileError) => void
  30301. /** 接口调用失败的回调函数 */
  30302. type CopyFileFailCallback = (res: FileError) => void
  30303. /** 接口调用成功的回调函数 */
  30304. type CopyFileSuccessCallback = (res: FileError) => void
  30305. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30306. type CreateBLEConnectionCompleteCallback = (res: BluetoothError) => void
  30307. /** 接口调用失败的回调函数 */
  30308. type CreateBLEConnectionFailCallback = (res: BluetoothError) => void
  30309. /** 接口调用成功的回调函数 */
  30310. type CreateBLEConnectionSuccessCallback = (res: BluetoothError) => void
  30311. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30312. type CreateBLEPeripheralServerCompleteCallback = (
  30313. res: GeneralCallbackResult
  30314. ) => void
  30315. /** 接口调用失败的回调函数 */
  30316. type CreateBLEPeripheralServerFailCallback = (
  30317. res: GeneralCallbackResult
  30318. ) => void
  30319. /** 接口调用成功的回调函数 */
  30320. type CreateBLEPeripheralServerSuccessCallback = (
  30321. result: CreateBLEPeripheralServerSuccessCallbackResult
  30322. ) => void
  30323. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30324. type CropImageCompleteCallback = (res: GeneralCallbackResult) => void
  30325. /** 接口调用失败的回调函数 */
  30326. type CropImageFailCallback = (res: GeneralCallbackResult) => void
  30327. /** 接口调用成功的回调函数 */
  30328. type CropImageSuccessCallback = (
  30329. result: CropImageSuccessCallbackResult
  30330. ) => void
  30331. /** 自定义渲染事件处理回调函数 */
  30332. type CustomRendererFrameEventCallback = (
  30333. result: OnCustomRendererEventCallbackResult
  30334. ) => void
  30335. /** [路由动画定义函数](#) */
  30336. type CustomRouteBuilder = (
  30337. /** 自定义路由上下文对象 */
  30338. customRouteContext: CustomRouteContext
  30339. ) => CustomRouteConfig
  30340. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30341. type DisableAlertBeforeUnloadCompleteCallback = (
  30342. res: GeneralCallbackResult
  30343. ) => void
  30344. /** 接口调用失败的回调函数 */
  30345. type DisableAlertBeforeUnloadFailCallback = (
  30346. res: GeneralCallbackResult
  30347. ) => void
  30348. /** 接口调用成功的回调函数 */
  30349. type DisableAlertBeforeUnloadSuccessCallback = (
  30350. res: GeneralCallbackResult
  30351. ) => void
  30352. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30353. type DownloadFileCompleteCallback = (res: GeneralCallbackResult) => void
  30354. /** 接口调用失败的回调函数 */
  30355. type DownloadFileFailCallback = (res: GeneralCallbackResult) => void
  30356. /** 接口调用成功的回调函数 */
  30357. type DownloadFileSuccessCallback = (
  30358. result: DownloadFileSuccessCallbackResult
  30359. ) => void
  30360. /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  30361. type DownloadTaskOffHeadersReceivedCallback = (
  30362. result: DownloadTaskOnHeadersReceivedListenerResult
  30363. ) => void
  30364. /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  30365. type DownloadTaskOffProgressUpdateCallback = (
  30366. result: DownloadTaskOnProgressUpdateListenerResult
  30367. ) => void
  30368. /** HTTP Response Header 事件的监听函数 */
  30369. type DownloadTaskOnHeadersReceivedCallback = (
  30370. result: DownloadTaskOnHeadersReceivedListenerResult
  30371. ) => void
  30372. /** 下载进度变化事件的监听函数 */
  30373. type DownloadTaskOnProgressUpdateCallback = (
  30374. result: DownloadTaskOnProgressUpdateListenerResult
  30375. ) => void
  30376. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30377. type EditImageCompleteCallback = (res: GeneralCallbackResult) => void
  30378. /** 接口调用失败的回调函数 */
  30379. type EditImageFailCallback = (res: GeneralCallbackResult) => void
  30380. /** 接口调用成功的回调函数 */
  30381. type EditImageSuccessCallback = (
  30382. result: CropImageSuccessCallbackResult
  30383. ) => void
  30384. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30385. type EnableAlertBeforeUnloadCompleteCallback = (
  30386. res: GeneralCallbackResult
  30387. ) => void
  30388. /** 接口调用失败的回调函数 */
  30389. type EnableAlertBeforeUnloadFailCallback = (
  30390. res: GeneralCallbackResult
  30391. ) => void
  30392. /** 接口调用成功的回调函数 */
  30393. type EnableAlertBeforeUnloadSuccessCallback = (
  30394. res: GeneralCallbackResult
  30395. ) => void
  30396. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30397. type EraseLinesCompleteCallback = (res: GeneralCallbackResult) => void
  30398. /** 接口调用失败的回调函数 */
  30399. type EraseLinesFailCallback = (res: GeneralCallbackResult) => void
  30400. /** 接口调用成功的回调函数 */
  30401. type EraseLinesSuccessCallback = (res: GeneralCallbackResult) => void
  30402. /** 事件监听函数 */
  30403. type EventCallback = (
  30404. /** 触发事件参数 */
  30405. ...args: any
  30406. ) => void
  30407. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30408. type ExecuteVisualLayerCommandCompleteCallback = (
  30409. res: GeneralCallbackResult
  30410. ) => void
  30411. /** 接口调用失败的回调函数 */
  30412. type ExecuteVisualLayerCommandFailCallback = (
  30413. res: GeneralCallbackResult
  30414. ) => void
  30415. /** 接口调用成功的回调函数 */
  30416. type ExecuteVisualLayerCommandSuccessCallback = (
  30417. result: ExecuteVisualLayerCommandSuccessCallbackResult
  30418. ) => void
  30419. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30420. type ExitCastingCompleteCallback = (res: GeneralCallbackResult) => void
  30421. /** 接口调用失败的回调函数 */
  30422. type ExitCastingFailCallback = (res: GeneralCallbackResult) => void
  30423. /** 接口调用成功的回调函数 */
  30424. type ExitCastingSuccessCallback = (res: GeneralCallbackResult) => void
  30425. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30426. type ExitFullScreenCompleteCallback = (res: GeneralCallbackResult) => void
  30427. /** 接口调用失败的回调函数 */
  30428. type ExitFullScreenFailCallback = (res: GeneralCallbackResult) => void
  30429. /** 接口调用成功的回调函数 */
  30430. type ExitFullScreenSuccessCallback = (res: GeneralCallbackResult) => void
  30431. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30432. type ExitMiniProgramCompleteCallback = (res: GeneralCallbackResult) => void
  30433. /** 接口调用失败的回调函数 */
  30434. type ExitMiniProgramFailCallback = (res: GeneralCallbackResult) => void
  30435. /** 接口调用成功的回调函数 */
  30436. type ExitMiniProgramSuccessCallback = (res: GeneralCallbackResult) => void
  30437. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30438. type ExitPictureInPictureCompleteCallback = (
  30439. res: GeneralCallbackResult
  30440. ) => void
  30441. /** 接口调用失败的回调函数 */
  30442. type ExitPictureInPictureFailCallback = (res: GeneralCallbackResult) => void
  30443. /** 接口调用成功的回调函数 */
  30444. type ExitPictureInPictureSuccessCallback = (
  30445. res: GeneralCallbackResult
  30446. ) => void
  30447. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30448. type ExitVoIPChatCompleteCallback = (res: GeneralCallbackResult) => void
  30449. /** 接口调用失败的回调函数 */
  30450. type ExitVoIPChatFailCallback = (res: GeneralCallbackResult) => void
  30451. /** 接口调用成功的回调函数 */
  30452. type ExitVoIPChatSuccessCallback = (res: GeneralCallbackResult) => void
  30453. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30454. type FaceDetectCompleteCallback = (res: GeneralCallbackResult) => void
  30455. /** 接口调用失败的回调函数 */
  30456. type FaceDetectFailCallback = (res: GeneralCallbackResult) => void
  30457. /** 接口调用成功的回调函数 */
  30458. type FaceDetectSuccessCallback = (
  30459. result: FaceDetectSuccessCallbackResult
  30460. ) => void
  30461. /** 回调函数 */
  30462. type FieldsCallback = (
  30463. /** 节点的相关信息 */
  30464. res: IAnyObject
  30465. ) => void
  30466. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30467. type FileSystemManagerCloseCompleteCallback = (res: FileError) => void
  30468. /** 接口调用失败的回调函数 */
  30469. type FileSystemManagerCloseFailCallback = (res: FileError) => void
  30470. /** 接口调用成功的回调函数 */
  30471. type FileSystemManagerCloseSuccessCallback = (res: FileError) => void
  30472. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30473. type FromScreenLocationCompleteCallback = (
  30474. res: GeneralCallbackResult
  30475. ) => void
  30476. /** 接口调用失败的回调函数 */
  30477. type FromScreenLocationFailCallback = (res: GeneralCallbackResult) => void
  30478. /** 接口调用成功的回调函数 */
  30479. type FromScreenLocationSuccessCallback = (
  30480. result: GetCenterLocationSuccessCallbackResult
  30481. ) => void
  30482. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30483. type FstatCompleteCallback = (res: FileError) => void
  30484. /** 接口调用失败的回调函数 */
  30485. type FstatFailCallback = (res: FileError) => void
  30486. /** 接口调用成功的回调函数 */
  30487. type FstatSuccessCallback = (result: FstatSuccessCallbackResult) => void
  30488. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30489. type FtruncateCompleteCallback = (res: FileError) => void
  30490. /** 接口调用失败的回调函数 */
  30491. type FtruncateFailCallback = (res: FileError) => void
  30492. /** 接口调用成功的回调函数 */
  30493. type FtruncateSuccessCallback = (res: FileError) => void
  30494. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30495. type GetAtqaCompleteCallback = (res: Nfcrwerror) => void
  30496. /** 接口调用失败的回调函数 */
  30497. type GetAtqaFailCallback = (res: Nfcrwerror) => void
  30498. /** 接口调用成功的回调函数 */
  30499. type GetAtqaSuccessCallback = (result: GetAtqaSuccessCallbackResult) => void
  30500. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30501. type GetAvailableAudioSourcesCompleteCallback = (
  30502. res: GeneralCallbackResult
  30503. ) => void
  30504. /** 接口调用失败的回调函数 */
  30505. type GetAvailableAudioSourcesFailCallback = (
  30506. res: GeneralCallbackResult
  30507. ) => void
  30508. /** 接口调用成功的回调函数 */
  30509. type GetAvailableAudioSourcesSuccessCallback = (
  30510. result: GetAvailableAudioSourcesSuccessCallbackResult
  30511. ) => void
  30512. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30513. type GetBLEDeviceCharacteristicsCompleteCallback = (
  30514. res: BluetoothError
  30515. ) => void
  30516. /** 接口调用失败的回调函数 */
  30517. type GetBLEDeviceCharacteristicsFailCallback = (res: BluetoothError) => void
  30518. /** 接口调用成功的回调函数 */
  30519. type GetBLEDeviceCharacteristicsSuccessCallback = (
  30520. result: GetBLEDeviceCharacteristicsSuccessCallbackResult
  30521. ) => void
  30522. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30523. type GetBLEDeviceRSSICompleteCallback = (res: GeneralCallbackResult) => void
  30524. /** 接口调用失败的回调函数 */
  30525. type GetBLEDeviceRSSIFailCallback = (res: GeneralCallbackResult) => void
  30526. /** 接口调用成功的回调函数 */
  30527. type GetBLEDeviceRSSISuccessCallback = (
  30528. result: GetBLEDeviceRSSISuccessCallbackResult
  30529. ) => void
  30530. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30531. type GetBLEDeviceServicesCompleteCallback = (res: BluetoothError) => void
  30532. /** 接口调用失败的回调函数 */
  30533. type GetBLEDeviceServicesFailCallback = (res: BluetoothError) => void
  30534. /** 接口调用成功的回调函数 */
  30535. type GetBLEDeviceServicesSuccessCallback = (
  30536. result: GetBLEDeviceServicesSuccessCallbackResult
  30537. ) => void
  30538. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30539. type GetBLEMTUCompleteCallback = (res: BluetoothError) => void
  30540. /** 接口调用失败的回调函数 */
  30541. type GetBLEMTUFailCallback = (res: BluetoothError) => void
  30542. /** 接口调用成功的回调函数 */
  30543. type GetBLEMTUSuccessCallback = (
  30544. result: GetBLEMTUSuccessCallbackResult
  30545. ) => void
  30546. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30547. type GetBackgroundAudioPlayerStateCompleteCallback = (
  30548. res: GeneralCallbackResult
  30549. ) => void
  30550. /** 接口调用失败的回调函数 */
  30551. type GetBackgroundAudioPlayerStateFailCallback = (
  30552. res: GeneralCallbackResult
  30553. ) => void
  30554. /** 接口调用成功的回调函数 */
  30555. type GetBackgroundAudioPlayerStateSuccessCallback = (
  30556. result: GetBackgroundAudioPlayerStateSuccessCallbackResult
  30557. ) => void
  30558. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30559. type GetBackgroundFetchDataCompleteCallback = (
  30560. res: GeneralCallbackResult
  30561. ) => void
  30562. /** 接口调用失败的回调函数 */
  30563. type GetBackgroundFetchDataFailCallback = (
  30564. res: GeneralCallbackResult
  30565. ) => void
  30566. /** 接口调用成功的回调函数 */
  30567. type GetBackgroundFetchDataSuccessCallback = (
  30568. result: GetBackgroundFetchDataSuccessCallbackResult
  30569. ) => void
  30570. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30571. type GetBackgroundFetchTokenCompleteCallback = (
  30572. res: GeneralCallbackResult
  30573. ) => void
  30574. /** 接口调用失败的回调函数 */
  30575. type GetBackgroundFetchTokenFailCallback = (
  30576. res: GeneralCallbackResult
  30577. ) => void
  30578. /** 接口调用成功的回调函数 */
  30579. type GetBackgroundFetchTokenSuccessCallback = (
  30580. result: GetBackgroundFetchTokenSuccessCallbackResult
  30581. ) => void
  30582. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30583. type GetBatteryInfoCompleteCallback = (res: GeneralCallbackResult) => void
  30584. /** 接口调用失败的回调函数 */
  30585. type GetBatteryInfoFailCallback = (res: GeneralCallbackResult) => void
  30586. /** 接口调用成功的回调函数 */
  30587. type GetBatteryInfoSuccessCallback = (
  30588. result: GetBatteryInfoSuccessCallbackResult
  30589. ) => void
  30590. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30591. type GetBeaconsCompleteCallback = (res: BeaconError) => void
  30592. /** 接口调用失败的回调函数 */
  30593. type GetBeaconsFailCallback = (res: BeaconError) => void
  30594. /** 接口调用成功的回调函数 */
  30595. type GetBeaconsSuccessCallback = (
  30596. result: GetBeaconsSuccessCallbackResult
  30597. ) => void
  30598. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30599. type GetBluetoothAdapterStateCompleteCallback = (
  30600. res: BluetoothError
  30601. ) => void
  30602. /** 接口调用失败的回调函数 */
  30603. type GetBluetoothAdapterStateFailCallback = (res: BluetoothError) => void
  30604. /** 接口调用成功的回调函数 */
  30605. type GetBluetoothAdapterStateSuccessCallback = (
  30606. result: GetBluetoothAdapterStateSuccessCallbackResult
  30607. ) => void
  30608. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30609. type GetBluetoothDevicesCompleteCallback = (res: BluetoothError) => void
  30610. /** 接口调用失败的回调函数 */
  30611. type GetBluetoothDevicesFailCallback = (res: BluetoothError) => void
  30612. /** 接口调用成功的回调函数 */
  30613. type GetBluetoothDevicesSuccessCallback = (
  30614. result: GetBluetoothDevicesSuccessCallbackResult
  30615. ) => void
  30616. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30617. type GetCenterLocationCompleteCallback = (
  30618. res: GeneralCallbackResult
  30619. ) => void
  30620. /** 接口调用失败的回调函数 */
  30621. type GetCenterLocationFailCallback = (res: GeneralCallbackResult) => void
  30622. /** 接口调用成功的回调函数 */
  30623. type GetCenterLocationSuccessCallback = (
  30624. result: GetCenterLocationSuccessCallbackResult
  30625. ) => void
  30626. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30627. type GetChannelsLiveInfoCompleteCallback = (
  30628. res: GeneralCallbackResult
  30629. ) => void
  30630. /** 接口调用失败的回调函数 */
  30631. type GetChannelsLiveInfoFailCallback = (res: GeneralCallbackResult) => void
  30632. /** 接口调用成功的回调函数 */
  30633. type GetChannelsLiveInfoSuccessCallback = (
  30634. result: GetChannelsLiveInfoSuccessCallbackResult
  30635. ) => void
  30636. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30637. type GetChannelsLiveNoticeInfoCompleteCallback = (
  30638. res: GeneralCallbackResult
  30639. ) => void
  30640. /** 接口调用失败的回调函数 */
  30641. type GetChannelsLiveNoticeInfoFailCallback = (
  30642. res: GeneralCallbackResult
  30643. ) => void
  30644. /** 接口调用成功的回调函数 */
  30645. type GetChannelsLiveNoticeInfoSuccessCallback = (
  30646. result: GetChannelsLiveNoticeInfoSuccessCallbackResult
  30647. ) => void
  30648. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30649. type GetChannelsShareKeyCompleteCallback = (
  30650. res: GeneralCallbackResult
  30651. ) => void
  30652. /** 接口调用失败的回调函数 */
  30653. type GetChannelsShareKeyFailCallback = (res: GeneralCallbackResult) => void
  30654. /** 接口调用成功的回调函数 */
  30655. type GetChannelsShareKeySuccessCallback = (
  30656. result: GetChannelsShareKeySuccessCallbackResult
  30657. ) => void
  30658. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30659. type GetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void
  30660. /** 接口调用失败的回调函数 */
  30661. type GetClipboardDataFailCallback = (res: GeneralCallbackResult) => void
  30662. /** 接口调用成功的回调函数 */
  30663. type GetClipboardDataSuccessCallback = (
  30664. option: GetClipboardDataSuccessCallbackOption
  30665. ) => void
  30666. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30667. type GetCommonConfigCompleteCallback = (res: GeneralCallbackResult) => void
  30668. /** 接口调用失败的回调函数 */
  30669. type GetCommonConfigFailCallback = (res: GeneralCallbackResult) => void
  30670. /** 接口调用成功的回调函数 */
  30671. type GetCommonConfigSuccessCallback = (
  30672. result: GetCommonConfigSuccessCallbackResult
  30673. ) => void
  30674. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30675. type GetConnectedBluetoothDevicesCompleteCallback = (
  30676. res: BluetoothError
  30677. ) => void
  30678. /** 接口调用失败的回调函数 */
  30679. type GetConnectedBluetoothDevicesFailCallback = (
  30680. res: BluetoothError
  30681. ) => void
  30682. /** 接口调用成功的回调函数 */
  30683. type GetConnectedBluetoothDevicesSuccessCallback = (
  30684. result: GetConnectedBluetoothDevicesSuccessCallbackResult
  30685. ) => void
  30686. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30687. type GetConnectedWifiCompleteCallback = (res: WifiError) => void
  30688. /** 接口调用失败的回调函数 */
  30689. type GetConnectedWifiFailCallback = (res: WifiError) => void
  30690. /** 接口调用成功的回调函数 */
  30691. type GetConnectedWifiSuccessCallback = (
  30692. result: GetConnectedWifiSuccessCallbackResult
  30693. ) => void
  30694. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30695. type GetContentsCompleteCallback = (res: GeneralCallbackResult) => void
  30696. /** 接口调用失败的回调函数 */
  30697. type GetContentsFailCallback = (res: GeneralCallbackResult) => void
  30698. /** 接口调用成功的回调函数 */
  30699. type GetContentsSuccessCallback = (
  30700. result: GetContentsSuccessCallbackResult
  30701. ) => void
  30702. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30703. type GetDeviceBenchmarkInfoCompleteCallback = (
  30704. res: GeneralCallbackResult
  30705. ) => void
  30706. /** 接口调用失败的回调函数 */
  30707. type GetDeviceBenchmarkInfoFailCallback = (
  30708. res: GeneralCallbackResult
  30709. ) => void
  30710. /** 接口调用成功的回调函数 */
  30711. type GetDeviceBenchmarkInfoSuccessCallback = (
  30712. result: GetDeviceBenchmarkInfoSuccessCallbackResult
  30713. ) => void
  30714. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30715. type GetDeviceVoIPListCompleteCallback = (
  30716. res: GeneralCallbackResult
  30717. ) => void
  30718. /** 接口调用失败的回调函数 */
  30719. type GetDeviceVoIPListFailCallback = (res: GeneralCallbackResult) => void
  30720. /** 接口调用成功的回调函数 */
  30721. type GetDeviceVoIPListSuccessCallback = (
  30722. result: GetDeviceVoIPListSuccessCallbackResult
  30723. ) => void
  30724. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30725. type GetExtConfigCompleteCallback = (res: GeneralCallbackResult) => void
  30726. /** 接口调用失败的回调函数 */
  30727. type GetExtConfigFailCallback = (res: GeneralCallbackResult) => void
  30728. /** 接口调用成功的回调函数 */
  30729. type GetExtConfigSuccessCallback = (
  30730. result: GetExtConfigSuccessCallbackResult
  30731. ) => void
  30732. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30733. type GetFileInfoCompleteCallback = (res: FileError) => void
  30734. /** 接口调用失败的回调函数 */
  30735. type GetFileInfoFailCallback = (res: FileError) => void
  30736. /** 接口调用成功的回调函数 */
  30737. type GetFileInfoSuccessCallback = (
  30738. result: GetFileInfoSuccessCallbackResult
  30739. ) => void
  30740. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30741. type GetFuzzyLocationCompleteCallback = (res: GeneralCallbackResult) => void
  30742. /** 接口调用失败的回调函数 */
  30743. type GetFuzzyLocationFailCallback = (res: GeneralCallbackResult) => void
  30744. /** 接口调用成功的回调函数 */
  30745. type GetFuzzyLocationSuccessCallback = (
  30746. result: GetFuzzyLocationSuccessCallbackResult
  30747. ) => void
  30748. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30749. type GetGroupEnterInfoCompleteCallback = (
  30750. res: GetGroupEnterInfoError
  30751. ) => void
  30752. /** 接口调用失败的回调函数 */
  30753. type GetGroupEnterInfoFailCallback = (res: GetGroupEnterInfoError) => void
  30754. /** 接口调用成功的回调函数 */
  30755. type GetGroupEnterInfoSuccessCallback = (
  30756. result: GetGroupEnterInfoSuccessCallbackResult
  30757. ) => void
  30758. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30759. type GetHCEStateCompleteCallback = (res: NFCError) => void
  30760. /** 接口调用失败的回调函数 */
  30761. type GetHCEStateFailCallback = (res: NFCError) => void
  30762. /** 接口调用成功的回调函数 */
  30763. type GetHCEStateSuccessCallback = (res: NFCError) => void
  30764. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30765. type GetHistoricalBytesCompleteCallback = (res: Nfcrwerror) => void
  30766. /** 接口调用失败的回调函数 */
  30767. type GetHistoricalBytesFailCallback = (res: Nfcrwerror) => void
  30768. /** 接口调用成功的回调函数 */
  30769. type GetHistoricalBytesSuccessCallback = (
  30770. result: GetHistoricalBytesSuccessCallbackResult
  30771. ) => void
  30772. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30773. type GetImageInfoCompleteCallback = (res: GeneralCallbackResult) => void
  30774. /** 接口调用失败的回调函数 */
  30775. type GetImageInfoFailCallback = (res: GeneralCallbackResult) => void
  30776. /** 接口调用成功的回调函数 */
  30777. type GetImageInfoSuccessCallback = (
  30778. result: GetImageInfoSuccessCallbackResult
  30779. ) => void
  30780. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30781. type GetInferenceEnvInfoCompleteCallback = (
  30782. res: GeneralCallbackResult
  30783. ) => void
  30784. /** 接口调用失败的回调函数 */
  30785. type GetInferenceEnvInfoFailCallback = (res: GeneralCallbackResult) => void
  30786. /** 接口调用成功的回调函数 */
  30787. type GetInferenceEnvInfoSuccessCallback = (
  30788. result: GetInferenceEnvInfoSuccessCallbackResult
  30789. ) => void
  30790. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30791. type GetLatestUserKeyCompleteCallback = (res: GeneralCallbackResult) => void
  30792. /** 接口调用失败的回调函数 */
  30793. type GetLatestUserKeyFailCallback = (res: GeneralCallbackResult) => void
  30794. /** 接口调用成功的回调函数 */
  30795. type GetLatestUserKeySuccessCallback = (
  30796. result: GetLatestUserKeySuccessCallbackResult
  30797. ) => void
  30798. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30799. type GetLocalIPAddressCompleteCallback = (
  30800. res: GeneralCallbackResult
  30801. ) => void
  30802. /** 接口调用失败的回调函数 */
  30803. type GetLocalIPAddressFailCallback = (res: GeneralCallbackResult) => void
  30804. /** 接口调用成功的回调函数 */
  30805. type GetLocalIPAddressSuccessCallback = (
  30806. result: GetLocalIPAddressSuccessCallbackResult
  30807. ) => void
  30808. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30809. type GetLocationCompleteCallback = (res: GeneralCallbackResult) => void
  30810. /** 接口调用失败的回调函数 */
  30811. type GetLocationFailCallback = (res: GeneralCallbackResult) => void
  30812. /** 接口调用成功的回调函数 */
  30813. type GetLocationSuccessCallback = (
  30814. result: GetLocationSuccessCallbackResult
  30815. ) => void
  30816. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30817. type GetMaxTransceiveLengthCompleteCallback = (res: Nfcrwerror) => void
  30818. /** 接口调用失败的回调函数 */
  30819. type GetMaxTransceiveLengthFailCallback = (res: Nfcrwerror) => void
  30820. /** 接口调用成功的回调函数 */
  30821. type GetMaxTransceiveLengthSuccessCallback = (
  30822. result: GetMaxTransceiveLengthSuccessCallbackResult
  30823. ) => void
  30824. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30825. type GetMaxZoomCompleteCallback = (res: GeneralCallbackResult) => void
  30826. /** 接口调用失败的回调函数 */
  30827. type GetMaxZoomFailCallback = (res: GeneralCallbackResult) => void
  30828. /** 接口调用成功的回调函数 */
  30829. type GetMaxZoomSuccessCallback = (
  30830. result: GetMaxZoomSuccessCallbackResult
  30831. ) => void
  30832. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30833. type GetNetworkTypeCompleteCallback = (res: GeneralCallbackResult) => void
  30834. /** 接口调用失败的回调函数 */
  30835. type GetNetworkTypeFailCallback = (res: GeneralCallbackResult) => void
  30836. /** 接口调用成功的回调函数 */
  30837. type GetNetworkTypeSuccessCallback = (
  30838. result: GetNetworkTypeSuccessCallbackResult
  30839. ) => void
  30840. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30841. type GetPrivacySettingCompleteCallback = (
  30842. res: GeneralCallbackResult
  30843. ) => void
  30844. /** 接口调用失败的回调函数 */
  30845. type GetPrivacySettingFailCallback = (res: GeneralCallbackResult) => void
  30846. /** 接口调用成功的回调函数 */
  30847. type GetPrivacySettingSuccessCallback = (
  30848. result: GetPrivacySettingSuccessCallbackResult
  30849. ) => void
  30850. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30851. type GetRandomValuesCompleteCallback = (res: GeneralCallbackResult) => void
  30852. /** 接口调用失败的回调函数 */
  30853. type GetRandomValuesFailCallback = (res: GeneralCallbackResult) => void
  30854. /** 接口调用成功的回调函数 */
  30855. type GetRandomValuesSuccessCallback = (
  30856. result: GetRandomValuesSuccessCallbackResult
  30857. ) => void
  30858. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30859. type GetRegionCompleteCallback = (res: GeneralCallbackResult) => void
  30860. /** 接口调用失败的回调函数 */
  30861. type GetRegionFailCallback = (res: GeneralCallbackResult) => void
  30862. /** 接口调用成功的回调函数 */
  30863. type GetRegionSuccessCallback = (
  30864. result: GetRegionSuccessCallbackResult
  30865. ) => void
  30866. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30867. type GetRendererUserAgentCompleteCallback = (
  30868. res: GeneralCallbackResult
  30869. ) => void
  30870. /** 接口调用失败的回调函数 */
  30871. type GetRendererUserAgentFailCallback = (res: GeneralCallbackResult) => void
  30872. /** 接口调用成功的回调函数 */
  30873. type GetRendererUserAgentSuccessCallback = (
  30874. /** UserAgent */
  30875. userAgent: string
  30876. ) => void
  30877. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30878. type GetRotateCompleteCallback = (res: GeneralCallbackResult) => void
  30879. /** 接口调用失败的回调函数 */
  30880. type GetRotateFailCallback = (res: GeneralCallbackResult) => void
  30881. /** 接口调用成功的回调函数 */
  30882. type GetRotateSuccessCallback = (
  30883. result: GetRotateSuccessCallbackResult
  30884. ) => void
  30885. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30886. type GetSakCompleteCallback = (res: Nfcrwerror) => void
  30887. /** 接口调用失败的回调函数 */
  30888. type GetSakFailCallback = (res: Nfcrwerror) => void
  30889. /** 接口调用成功的回调函数 */
  30890. type GetSakSuccessCallback = (result: GetSakSuccessCallbackResult) => void
  30891. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30892. type GetSavedFileListCompleteCallback = (res: GeneralCallbackResult) => void
  30893. /** 接口调用失败的回调函数 */
  30894. type GetSavedFileListFailCallback = (res: GeneralCallbackResult) => void
  30895. /** 接口调用成功的回调函数 */
  30896. type GetSavedFileListSuccessCallback = (
  30897. result: GetSavedFileListSuccessCallbackResult
  30898. ) => void
  30899. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30900. type GetScaleCompleteCallback = (res: GeneralCallbackResult) => void
  30901. /** 接口调用失败的回调函数 */
  30902. type GetScaleFailCallback = (res: GeneralCallbackResult) => void
  30903. /** 接口调用成功的回调函数 */
  30904. type GetScaleSuccessCallback = (
  30905. result: GetScaleSuccessCallbackResult
  30906. ) => void
  30907. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30908. type GetScreenBrightnessCompleteCallback = (
  30909. res: GeneralCallbackResult
  30910. ) => void
  30911. /** 接口调用失败的回调函数 */
  30912. type GetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void
  30913. /** 接口调用成功的回调函数 */
  30914. type GetScreenBrightnessSuccessCallback = (
  30915. option: GetScreenBrightnessSuccessCallbackOption
  30916. ) => void
  30917. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30918. type GetScreenRecordingStateCompleteCallback = (
  30919. res: GeneralCallbackResult
  30920. ) => void
  30921. /** 接口调用失败的回调函数 */
  30922. type GetScreenRecordingStateFailCallback = (
  30923. res: GeneralCallbackResult
  30924. ) => void
  30925. /** 接口调用成功的回调函数 */
  30926. type GetScreenRecordingStateSuccessCallback = (
  30927. result: GetScreenRecordingStateSuccessCallbackResult
  30928. ) => void
  30929. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30930. type GetSelectedTextRangeCompleteCallback = (
  30931. res: GeneralCallbackResult
  30932. ) => void
  30933. /** 接口调用失败的回调函数 */
  30934. type GetSelectedTextRangeFailCallback = (res: GeneralCallbackResult) => void
  30935. /** 接口调用成功的回调函数 */
  30936. type GetSelectedTextRangeSuccessCallback = (
  30937. result: GetSelectedTextRangeSuccessCallbackResult
  30938. ) => void
  30939. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30940. type GetSelectionTextCompleteCallback = (res: GeneralCallbackResult) => void
  30941. /** 接口调用失败的回调函数 */
  30942. type GetSelectionTextFailCallback = (res: GeneralCallbackResult) => void
  30943. /** 接口调用成功的回调函数 */
  30944. type GetSelectionTextSuccessCallback = (
  30945. result: GetSelectionTextSuccessCallbackResult
  30946. ) => void
  30947. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30948. type GetSettingCompleteCallback = (res: GeneralCallbackResult) => void
  30949. /** 接口调用失败的回调函数 */
  30950. type GetSettingFailCallback = (res: GeneralCallbackResult) => void
  30951. /** 接口调用成功的回调函数 */
  30952. type GetSettingSuccessCallback = (
  30953. result: GetSettingSuccessCallbackResult
  30954. ) => void
  30955. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30956. type GetShareInfoCompleteCallback = (res: GeneralCallbackResult) => void
  30957. /** 接口调用失败的回调函数 */
  30958. type GetShareInfoFailCallback = (res: GeneralCallbackResult) => void
  30959. /** 接口调用成功的回调函数 */
  30960. type GetShareInfoSuccessCallback = (
  30961. result: GetGroupEnterInfoSuccessCallbackResult
  30962. ) => void
  30963. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30964. type GetSkewCompleteCallback = (res: GeneralCallbackResult) => void
  30965. /** 接口调用失败的回调函数 */
  30966. type GetSkewFailCallback = (res: GeneralCallbackResult) => void
  30967. /** 接口调用成功的回调函数 */
  30968. type GetSkewSuccessCallback = (result: GetSkewSuccessCallbackResult) => void
  30969. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30970. type GetSkylineInfoCompleteCallback = (res: GeneralCallbackResult) => void
  30971. /** 接口调用失败的回调函数 */
  30972. type GetSkylineInfoFailCallback = (res: GeneralCallbackResult) => void
  30973. /** 接口调用成功的回调函数 */
  30974. type GetSkylineInfoSuccessCallback = (
  30975. /** 当前运行环境对于 [Skyline 渲染引擎](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) 的支持情况 */
  30976. result: SkylineInfo
  30977. ) => void
  30978. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30979. type GetStorageCompleteCallback = (res: GeneralCallbackResult) => void
  30980. /** 接口调用失败的回调函数 */
  30981. type GetStorageFailCallback = (res: GeneralCallbackResult) => void
  30982. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30983. type GetStorageInfoCompleteCallback = (res: GeneralCallbackResult) => void
  30984. /** 接口调用失败的回调函数 */
  30985. type GetStorageInfoFailCallback = (res: GeneralCallbackResult) => void
  30986. /** 接口调用成功的回调函数 */
  30987. type GetStorageInfoSuccessCallback = (
  30988. option: GetStorageInfoSuccessCallbackOption
  30989. ) => void
  30990. /** 接口调用成功的回调函数 */
  30991. type GetStorageSuccessCallback<T = any> = (
  30992. result: GetStorageSuccessCallbackResult<T>
  30993. ) => void
  30994. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  30995. type GetSystemInfoAsyncCompleteCallback = (
  30996. res: GeneralCallbackResult
  30997. ) => void
  30998. /** 接口调用失败的回调函数 */
  30999. type GetSystemInfoAsyncFailCallback = (res: GeneralCallbackResult) => void
  31000. /** 接口调用成功的回调函数 */
  31001. type GetSystemInfoAsyncSuccessCallback = (result: SystemInfo) => void
  31002. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31003. type GetSystemInfoCompleteCallback = (res: GeneralCallbackResult) => void
  31004. /** 接口调用失败的回调函数 */
  31005. type GetSystemInfoFailCallback = (res: GeneralCallbackResult) => void
  31006. /** 接口调用成功的回调函数 */
  31007. type GetSystemInfoSuccessCallback = (result: SystemInfo) => void
  31008. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31009. type GetUserInfoCompleteCallback = (res: GeneralCallbackResult) => void
  31010. /** 接口调用失败的回调函数 */
  31011. type GetUserInfoFailCallback = (res: GeneralCallbackResult) => void
  31012. /** 接口调用成功的回调函数 */
  31013. type GetUserInfoSuccessCallback = (
  31014. result: GetUserInfoSuccessCallbackResult
  31015. ) => void
  31016. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31017. type GetUserProfileCompleteCallback = (res: GeneralCallbackResult) => void
  31018. /** 接口调用失败的回调函数 */
  31019. type GetUserProfileFailCallback = (res: GeneralCallbackResult) => void
  31020. /** 接口调用成功的回调函数 */
  31021. type GetUserProfileSuccessCallback = (
  31022. result: GetUserProfileSuccessCallbackResult
  31023. ) => void
  31024. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31025. type GetVideoInfoCompleteCallback = (res: GeneralCallbackResult) => void
  31026. /** 接口调用失败的回调函数 */
  31027. type GetVideoInfoFailCallback = (res: GeneralCallbackResult) => void
  31028. /** 接口调用成功的回调函数 */
  31029. type GetVideoInfoSuccessCallback = (
  31030. result: GetVideoInfoSuccessCallbackResult
  31031. ) => void
  31032. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31033. type GetWeRunDataCompleteCallback = (res: GeneralCallbackResult) => void
  31034. /** 接口调用失败的回调函数 */
  31035. type GetWeRunDataFailCallback = (res: GeneralCallbackResult) => void
  31036. /** 接口调用成功的回调函数 */
  31037. type GetWeRunDataSuccessCallback = (
  31038. result: GetWeRunDataSuccessCallbackResult
  31039. ) => void
  31040. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31041. type GetWifiListCompleteCallback = (res: WifiError) => void
  31042. /** 接口调用失败的回调函数 */
  31043. type GetWifiListFailCallback = (res: WifiError) => void
  31044. /** 接口调用成功的回调函数 */
  31045. type GetWifiListSuccessCallback = (res: WifiError) => void
  31046. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31047. type HideHomeButtonCompleteCallback = (res: GeneralCallbackResult) => void
  31048. /** 接口调用失败的回调函数 */
  31049. type HideHomeButtonFailCallback = (res: GeneralCallbackResult) => void
  31050. /** 接口调用成功的回调函数 */
  31051. type HideHomeButtonSuccessCallback = (res: GeneralCallbackResult) => void
  31052. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31053. type HideKeyboardCompleteCallback = (res: GeneralCallbackResult) => void
  31054. /** 接口调用失败的回调函数 */
  31055. type HideKeyboardFailCallback = (res: GeneralCallbackResult) => void
  31056. /** 接口调用成功的回调函数 */
  31057. type HideKeyboardSuccessCallback = (res: GeneralCallbackResult) => void
  31058. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31059. type HideLoadingCompleteCallback = (res: GeneralCallbackResult) => void
  31060. /** 接口调用失败的回调函数 */
  31061. type HideLoadingFailCallback = (res: GeneralCallbackResult) => void
  31062. /** 接口调用成功的回调函数 */
  31063. type HideLoadingSuccessCallback = (res: GeneralCallbackResult) => void
  31064. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31065. type HideNavigationBarLoadingCompleteCallback = (
  31066. res: GeneralCallbackResult
  31067. ) => void
  31068. /** 接口调用失败的回调函数 */
  31069. type HideNavigationBarLoadingFailCallback = (
  31070. res: GeneralCallbackResult
  31071. ) => void
  31072. /** 接口调用成功的回调函数 */
  31073. type HideNavigationBarLoadingSuccessCallback = (
  31074. res: GeneralCallbackResult
  31075. ) => void
  31076. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31077. type HideShareMenuCompleteCallback = (res: GeneralCallbackResult) => void
  31078. /** 接口调用失败的回调函数 */
  31079. type HideShareMenuFailCallback = (res: GeneralCallbackResult) => void
  31080. /** 接口调用成功的回调函数 */
  31081. type HideShareMenuSuccessCallback = (res: GeneralCallbackResult) => void
  31082. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31083. type HideTabBarCompleteCallback = (res: GeneralCallbackResult) => void
  31084. /** 接口调用失败的回调函数 */
  31085. type HideTabBarFailCallback = (res: GeneralCallbackResult) => void
  31086. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31087. type HideTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void
  31088. /** 接口调用失败的回调函数 */
  31089. type HideTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void
  31090. /** 接口调用成功的回调函数 */
  31091. type HideTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void
  31092. /** 接口调用成功的回调函数 */
  31093. type HideTabBarSuccessCallback = (res: GeneralCallbackResult) => void
  31094. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31095. type HideToastCompleteCallback = (res: GeneralCallbackResult) => void
  31096. /** 接口调用失败的回调函数 */
  31097. type HideToastFailCallback = (res: GeneralCallbackResult) => void
  31098. /** 接口调用成功的回调函数 */
  31099. type HideToastSuccessCallback = (res: GeneralCallbackResult) => void
  31100. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31101. type IncludePointsCompleteCallback = (res: GeneralCallbackResult) => void
  31102. /** 接口调用失败的回调函数 */
  31103. type IncludePointsFailCallback = (res: GeneralCallbackResult) => void
  31104. /** 接口调用成功的回调函数 */
  31105. type IncludePointsSuccessCallback = (res: GeneralCallbackResult) => void
  31106. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31107. type InitFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void
  31108. /** 接口调用失败的回调函数 */
  31109. type InitFaceDetectFailCallback = (res: GeneralCallbackResult) => void
  31110. /** 接口调用成功的回调函数 */
  31111. type InitFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void
  31112. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31113. type InitMarkerClusterCompleteCallback = (
  31114. res: GeneralCallbackResult
  31115. ) => void
  31116. /** 接口调用失败的回调函数 */
  31117. type InitMarkerClusterFailCallback = (res: GeneralCallbackResult) => void
  31118. /** 接口调用成功的回调函数 */
  31119. type InitMarkerClusterSuccessCallback = (res: GeneralCallbackResult) => void
  31120. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  31121. type InnerAudioContextOffErrorCallback = (
  31122. result: InnerAudioContextOnErrorListenerResult
  31123. ) => void
  31124. /** 音频播放错误事件的监听函数 */
  31125. type InnerAudioContextOnErrorCallback = (
  31126. result: InnerAudioContextOnErrorListenerResult
  31127. ) => void
  31128. type InnerAudioContextOnStopCallback = (res: GeneralCallbackResult) => void
  31129. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31130. type InsertDividerCompleteCallback = (res: GeneralCallbackResult) => void
  31131. /** 接口调用失败的回调函数 */
  31132. type InsertDividerFailCallback = (res: GeneralCallbackResult) => void
  31133. /** 接口调用成功的回调函数 */
  31134. type InsertDividerSuccessCallback = (res: GeneralCallbackResult) => void
  31135. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31136. type InsertImageCompleteCallback = (res: GeneralCallbackResult) => void
  31137. /** 接口调用失败的回调函数 */
  31138. type InsertImageFailCallback = (res: GeneralCallbackResult) => void
  31139. /** 接口调用成功的回调函数 */
  31140. type InsertImageSuccessCallback = (res: GeneralCallbackResult) => void
  31141. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31142. type InsertTextCompleteCallback = (res: GeneralCallbackResult) => void
  31143. /** 接口调用失败的回调函数 */
  31144. type InsertTextFailCallback = (res: GeneralCallbackResult) => void
  31145. /** 接口调用成功的回调函数 */
  31146. type InsertTextSuccessCallback = (res: GeneralCallbackResult) => void
  31147. /** 监听相交状态变化的回调函数 */
  31148. type IntersectionObserverObserveCallback = (
  31149. result: IntersectionObserverObserveCallbackResult
  31150. ) => void
  31151. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  31152. type InterstitialAdOffErrorCallback = (
  31153. result: InterstitialAdOnErrorListenerResult
  31154. ) => void
  31155. /** 插屏错误事件的监听函数 */
  31156. type InterstitialAdOnErrorCallback = (
  31157. result: InterstitialAdOnErrorListenerResult
  31158. ) => void
  31159. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31160. type IsBluetoothDevicePairedCompleteCallback = (
  31161. res: GeneralCallbackResult
  31162. ) => void
  31163. /** 接口调用失败的回调函数 */
  31164. type IsBluetoothDevicePairedFailCallback = (
  31165. res: GeneralCallbackResult
  31166. ) => void
  31167. /** 接口调用成功的回调函数 */
  31168. type IsBluetoothDevicePairedSuccessCallback = (
  31169. res: GeneralCallbackResult
  31170. ) => void
  31171. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31172. type IsConnectedCompleteCallback = (res: Nfcrwerror) => void
  31173. /** 接口调用失败的回调函数 */
  31174. type IsConnectedFailCallback = (res: Nfcrwerror) => void
  31175. /** 接口调用成功的回调函数 */
  31176. type IsConnectedSuccessCallback = (res: Nfcrwerror) => void
  31177. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31178. type Join1v1ChatCompleteCallback = (res: Join1v1ChatError) => void
  31179. /** 接口调用失败的回调函数 */
  31180. type Join1v1ChatFailCallback = (res: Join1v1ChatError) => void
  31181. /** 接口调用成功的回调函数 */
  31182. type Join1v1ChatSuccessCallback = (res: Join1v1ChatError) => void
  31183. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31184. type JoinVoIPChatCompleteCallback = (res: JoinVoIPChatError) => void
  31185. /** 接口调用失败的回调函数 */
  31186. type JoinVoIPChatFailCallback = (res: JoinVoIPChatError) => void
  31187. /** 接口调用成功的回调函数 */
  31188. type JoinVoIPChatSuccessCallback = (
  31189. result: JoinVoIPChatSuccessCallbackResult
  31190. ) => void
  31191. /** 接口调用成功的回调函数 */
  31192. type LivePlayerContextSnapshotSuccessCallback = (
  31193. result: LivePlayerContextSnapshotSuccessCallbackResult
  31194. ) => void
  31195. /** 接口调用成功的回调函数 */
  31196. type LivePusherContextSetZoomSuccessCallback = (
  31197. res: GeneralCallbackResult
  31198. ) => void
  31199. /** 接口调用成功的回调函数 */
  31200. type LivePusherContextSnapshotSuccessCallback = (
  31201. result: LivePusherContextSnapshotSuccessCallbackResult
  31202. ) => void
  31203. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31204. type LoadFontFaceCompleteCallback = (
  31205. result: LoadFontFaceCompleteCallbackResult
  31206. ) => void
  31207. /** 接口调用失败的回调函数 */
  31208. type LoadFontFaceFailCallback = (
  31209. result: LoadFontFaceCompleteCallbackResult
  31210. ) => void
  31211. /** 接口调用成功的回调函数 */
  31212. type LoadFontFaceSuccessCallback = (
  31213. result: LoadFontFaceCompleteCallbackResult
  31214. ) => void
  31215. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31216. type LoginCompleteCallback = (res: GeneralCallbackResult) => void
  31217. /** 接口调用失败的回调函数 */
  31218. type LoginFailCallback = (err: RequestFailCallbackErr) => void
  31219. /** 接口调用成功的回调函数 */
  31220. type LoginSuccessCallback = (result: LoginSuccessCallbackResult) => void
  31221. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31222. type MakeBluetoothPairCompleteCallback = (
  31223. res: GeneralCallbackResult
  31224. ) => void
  31225. /** 接口调用失败的回调函数 */
  31226. type MakeBluetoothPairFailCallback = (res: GeneralCallbackResult) => void
  31227. /** 接口调用成功的回调函数 */
  31228. type MakeBluetoothPairSuccessCallback = (res: GeneralCallbackResult) => void
  31229. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31230. type MakePhoneCallCompleteCallback = (res: GeneralCallbackResult) => void
  31231. /** 接口调用失败的回调函数 */
  31232. type MakePhoneCallFailCallback = (res: GeneralCallbackResult) => void
  31233. /** 接口调用成功的回调函数 */
  31234. type MakePhoneCallSuccessCallback = (res: GeneralCallbackResult) => void
  31235. /** 监听 media query 状态变化的回调函数 */
  31236. type MediaQueryObserverObserveCallback = (
  31237. result: MediaQueryObserverObserveCallbackResult
  31238. ) => void
  31239. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31240. type MkdirCompleteCallback = (res: FileError) => void
  31241. /** 接口调用失败的回调函数 */
  31242. type MkdirFailCallback = (res: FileError) => void
  31243. /** 接口调用成功的回调函数 */
  31244. type MkdirSuccessCallback = (res: FileError) => void
  31245. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31246. type MoveAlongCompleteCallback = (res: GeneralCallbackResult) => void
  31247. /** 接口调用失败的回调函数 */
  31248. type MoveAlongFailCallback = (res: GeneralCallbackResult) => void
  31249. /** 接口调用成功的回调函数 */
  31250. type MoveAlongSuccessCallback = (res: GeneralCallbackResult) => void
  31251. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31252. type MoveToLocationCompleteCallback = (res: GeneralCallbackResult) => void
  31253. /** 接口调用失败的回调函数 */
  31254. type MoveToLocationFailCallback = (res: GeneralCallbackResult) => void
  31255. /** 接口调用成功的回调函数 */
  31256. type MoveToLocationSuccessCallback = (res: GeneralCallbackResult) => void
  31257. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31258. type MuteCompleteCallback = (res: GeneralCallbackResult) => void
  31259. /** 接口调用失败的回调函数 */
  31260. type MuteFailCallback = (res: GeneralCallbackResult) => void
  31261. /** 接口调用成功的回调函数 */
  31262. type MuteSuccessCallback = (res: GeneralCallbackResult) => void
  31263. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31264. type NavigateBackCompleteCallback = (res: GeneralCallbackResult) => void
  31265. /** 接口调用失败的回调函数 */
  31266. type NavigateBackFailCallback = (res: GeneralCallbackResult) => void
  31267. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31268. type NavigateBackMiniProgramCompleteCallback = (
  31269. res: GeneralCallbackResult
  31270. ) => void
  31271. /** 接口调用失败的回调函数 */
  31272. type NavigateBackMiniProgramFailCallback = (
  31273. res: GeneralCallbackResult
  31274. ) => void
  31275. /** 接口调用成功的回调函数 */
  31276. type NavigateBackMiniProgramSuccessCallback = (
  31277. res: GeneralCallbackResult
  31278. ) => void
  31279. /** 接口调用成功的回调函数 */
  31280. type NavigateBackSuccessCallback = (res: GeneralCallbackResult) => void
  31281. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31282. type NavigateToCompleteCallback = (res: GeneralCallbackResult) => void
  31283. /** 接口调用失败的回调函数 */
  31284. type NavigateToFailCallback = (res: GeneralCallbackResult) => void
  31285. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31286. type NavigateToMiniProgramCompleteCallback = (
  31287. res: GeneralCallbackResult
  31288. ) => void
  31289. /** 接口调用失败的回调函数 */
  31290. type NavigateToMiniProgramFailCallback = (
  31291. res: GeneralCallbackResult
  31292. ) => void
  31293. /** 接口调用成功的回调函数 */
  31294. type NavigateToMiniProgramSuccessCallback = (
  31295. res: GeneralCallbackResult
  31296. ) => void
  31297. /** 接口调用成功的回调函数 */
  31298. type NavigateToSuccessCallback = (
  31299. result: NavigateToSuccessCallbackResult
  31300. ) => void
  31301. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31302. type NdefCloseCompleteCallback = (res: Nfcrwerror) => void
  31303. /** 接口调用失败的回调函数 */
  31304. type NdefCloseFailCallback = (res: Nfcrwerror) => void
  31305. /** 接口调用成功的回调函数 */
  31306. type NdefCloseSuccessCallback = (res: Nfcrwerror) => void
  31307. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点信息。 */
  31308. type NodeCallback = (result: NodeCallbackResult) => void
  31309. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31310. type NotifyBLECharacteristicValueChangeCompleteCallback = (
  31311. res: BluetoothError
  31312. ) => void
  31313. /** 接口调用失败的回调函数 */
  31314. type NotifyBLECharacteristicValueChangeFailCallback = (
  31315. res: BluetoothError
  31316. ) => void
  31317. /** 接口调用成功的回调函数 */
  31318. type NotifyBLECharacteristicValueChangeSuccessCallback = (
  31319. res: BluetoothError
  31320. ) => void
  31321. /** onAccelerometerChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31322. type OffAccelerometerChangeCallback = (res: GeneralCallbackResult) => void
  31323. /** onAfterPageLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  31324. type OffAfterPageLoadCallback = (
  31325. result: OnAfterPageLoadListenerResult
  31326. ) => void
  31327. /** onAfterPageUnload 传入的监听函数。不传此参数则移除所有监听函数。 */
  31328. type OffAfterPageUnloadCallback = (
  31329. result: OnAfterPageUnloadListenerResult
  31330. ) => void
  31331. /** onApiCategoryChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31332. type OffApiCategoryChangeCallback = (
  31333. result: OnApiCategoryChangeListenerResult
  31334. ) => void
  31335. /** onAppHide 传入的监听函数。不传此参数则移除所有监听函数。 */
  31336. type OffAppHideCallback = (res: GeneralCallbackResult) => void
  31337. /** onAppRoute 传入的监听函数。不传此参数则移除所有监听函数。 */
  31338. type OffAppRouteCallback = (result: OnAppRouteListenerResult) => void
  31339. /** onAppRouteDone 传入的监听函数。不传此参数则移除所有监听函数。 */
  31340. type OffAppRouteDoneCallback = (
  31341. result: OnAppRouteDoneListenerResult
  31342. ) => void
  31343. /** onAppShow 传入的监听函数。不传此参数则移除所有监听函数。 */
  31344. type OffAppShowCallback = (res: GeneralCallbackResult) => void
  31345. /** onAudioInterruptionBegin 传入的监听函数。不传此参数则移除所有监听函数。 */
  31346. type OffAudioInterruptionBeginCallback = (
  31347. res: GeneralCallbackResult
  31348. ) => void
  31349. /** onAudioInterruptionEnd 传入的监听函数。不传此参数则移除所有监听函数。 */
  31350. type OffAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void
  31351. /** onBLEConnectionStateChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31352. type OffBLEConnectionStateChangeCallback = (
  31353. result: OnBLEConnectionStateChangeListenerResult
  31354. ) => void
  31355. /** onBLEMTUChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31356. type OffBLEMTUChangeCallback = (
  31357. result: OnBLEMTUChangeListenerResult
  31358. ) => void
  31359. /** onBLEPeripheralConnectionStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31360. type OffBLEPeripheralConnectionStateChangedCallback = (
  31361. result: OnBLEPeripheralConnectionStateChangedListenerResult
  31362. ) => void
  31363. /** onBatteryInfoChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31364. type OffBatteryInfoChangeCallback = (
  31365. result: OnBatteryInfoChangeListenerResult
  31366. ) => void
  31367. /** onBeforeAppRoute 传入的监听函数。不传此参数则移除所有监听函数。 */
  31368. type OffBeforeAppRouteCallback = (
  31369. result: OnBeforeAppRouteListenerResult
  31370. ) => void
  31371. /** onBeforePageLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  31372. type OffBeforePageLoadCallback = (
  31373. result: OnBeforePageLoadListenerResult
  31374. ) => void
  31375. /** onBeforePageUnload 传入的监听函数。不传此参数则移除所有监听函数。 */
  31376. type OffBeforePageUnloadCallback = (
  31377. result: OnBeforePageUnloadListenerResult
  31378. ) => void
  31379. /** onBindWifi 传入的监听函数。不传此参数则移除所有监听函数。 */
  31380. type OffBindWifiCallback = (res: GeneralCallbackResult) => void
  31381. /** onCanplay 传入的监听函数。不传此参数则移除所有监听函数。 */
  31382. type OffCanplayCallback = (res: GeneralCallbackResult) => void
  31383. /** onCharacteristicReadRequest 传入的监听函数。不传此参数则移除所有监听函数。 */
  31384. type OffCharacteristicReadRequestCallback = (
  31385. result: OnCharacteristicReadRequestListenerResult
  31386. ) => void
  31387. /** onCharacteristicSubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */
  31388. type OffCharacteristicSubscribedCallback = (
  31389. result: OnCharacteristicSubscribedListenerResult
  31390. ) => void
  31391. /** onCharacteristicUnsubscribed 传入的监听函数。不传此参数则移除所有监听函数。 */
  31392. type OffCharacteristicUnsubscribedCallback = (
  31393. result: OnCharacteristicSubscribedListenerResult
  31394. ) => void
  31395. /** onCharacteristicWriteRequest 传入的监听函数。不传此参数则移除所有监听函数。 */
  31396. type OffCharacteristicWriteRequestCallback = (
  31397. result: OnCharacteristicWriteRequestListenerResult
  31398. ) => void
  31399. /** onChunkReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  31400. type OffChunkReceivedCallback = (
  31401. result: OnChunkReceivedListenerResult
  31402. ) => void
  31403. /** onCompassChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31404. type OffCompassChangeCallback = (res: GeneralCallbackResult) => void
  31405. /** onConnect 传入的监听函数。不传此参数则移除所有监听函数。 */
  31406. type OffConnectCallback = (result: OnConnectListenerResult) => void
  31407. /** onDeviceMotionChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31408. type OffDeviceMotionChangeCallback = (res: GeneralCallbackResult) => void
  31409. /** onDiscovered 传入的监听函数。不传此参数则移除所有监听函数。 */
  31410. type OffDiscoveredCallback = (result: OnDiscoveredListenerResult) => void
  31411. /** onEmbeddedMiniProgramHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31412. type OffEmbeddedMiniProgramHeightChangeCallback = (
  31413. result: OnEmbeddedMiniProgramHeightChangeListenerResult
  31414. ) => void
  31415. /** onEnded 传入的监听函数。不传此参数则移除所有监听函数。 */
  31416. type OffEndedCallback = (res: GeneralCallbackResult) => void
  31417. /** onGetWifiList 传入的监听函数。不传此参数则移除所有监听函数。 */
  31418. type OffGetWifiListCallback = (result: OnGetWifiListListenerResult) => void
  31419. /** onGyroscopeChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31420. type OffGyroscopeChangeCallback = (res: GeneralCallbackResult) => void
  31421. /** onHCEMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  31422. type OffHCEMessageCallback = (result: OnHCEMessageListenerResult) => void
  31423. /** onKeyboardHeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31424. type OffKeyboardHeightChangeCallback = (
  31425. result: OnKeyboardHeightChangeListenerResult
  31426. ) => void
  31427. /** onLazyLoadError 传入的监听函数。不传此参数则移除所有监听函数。 */
  31428. type OffLazyLoadErrorCallback = (
  31429. result: OnLazyLoadErrorListenerResult
  31430. ) => void
  31431. /** onListening 传入的监听函数。不传此参数则移除所有监听函数。 */
  31432. type OffListeningCallback = (res: GeneralCallbackResult) => void
  31433. /** onLoad 传入的监听函数。不传此参数则移除所有监听函数。 */
  31434. type OffLoadCallback = (res: GeneralCallbackResult) => void
  31435. /** onLocalServiceDiscoveryStop 传入的监听函数。不传此参数则移除所有监听函数。 */
  31436. type OffLocalServiceDiscoveryStopCallback = (
  31437. res: GeneralCallbackResult
  31438. ) => void
  31439. /** onLocalServiceFound 传入的监听函数。不传此参数则移除所有监听函数。 */
  31440. type OffLocalServiceFoundCallback = (
  31441. result: OnLocalServiceFoundListenerResult
  31442. ) => void
  31443. /** onLocalServiceLost 传入的监听函数。不传此参数则移除所有监听函数。 */
  31444. type OffLocalServiceLostCallback = (
  31445. result: OnLocalServiceLostListenerResult
  31446. ) => void
  31447. /** onLocalServiceResolveFail 传入的监听函数。不传此参数则移除所有监听函数。 */
  31448. type OffLocalServiceResolveFailCallback = (
  31449. result: OnLocalServiceLostListenerResult
  31450. ) => void
  31451. /** onLocationChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31452. type OffLocationChangeCallback = (
  31453. result: OnLocationChangeListenerResult
  31454. ) => void
  31455. /** onLocationChangeError 传入的监听函数。不传此参数则移除所有监听函数。 */
  31456. type OffLocationChangeErrorCallback = (
  31457. result: OnLocationChangeErrorListenerResult
  31458. ) => void
  31459. /** onMemoryWarning 传入的监听函数。不传此参数则移除所有监听函数。 */
  31460. type OffMemoryWarningCallback = (
  31461. result: OnMemoryWarningListenerResult
  31462. ) => void
  31463. /** onMenuButtonBoundingClientRectWeightChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31464. type OffMenuButtonBoundingClientRectWeightChangeCallback = (
  31465. result: OnMenuButtonBoundingClientRectWeightChangeListenerResult
  31466. ) => void
  31467. /** onNetworkStatusChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31468. type OffNetworkStatusChangeCallback = (res: GeneralCallbackResult) => void
  31469. /** onNetworkWeakChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31470. type OffNetworkWeakChangeCallback = (
  31471. result: OnNetworkWeakChangeListenerResult
  31472. ) => void
  31473. /** onPageNotFound 传入的监听函数。不传此参数则移除所有监听函数。 */
  31474. type OffPageNotFoundCallback = (
  31475. result: OnPageNotFoundListenerResult
  31476. ) => void
  31477. /** onPause 传入的监听函数。不传此参数则移除所有监听函数。 */
  31478. type OffPauseCallback = (res: GeneralCallbackResult) => void
  31479. /** onPlay 传入的监听函数。不传此参数则移除所有监听函数。 */
  31480. type OffPlayCallback = (res: GeneralCallbackResult) => void
  31481. /** onScreenRecordingStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31482. type OffScreenRecordingStateChangedCallback = (
  31483. result: OnScreenRecordingStateChangedListenerResult
  31484. ) => void
  31485. /** onSeeked 传入的监听函数。不传此参数则移除所有监听函数。 */
  31486. type OffSeekedCallback = (res: GeneralCallbackResult) => void
  31487. /** onSeeking 传入的监听函数。不传此参数则移除所有监听函数。 */
  31488. type OffSeekingCallback = (res: GeneralCallbackResult) => void
  31489. /** onStop 传入的监听函数。不传此参数则移除所有监听函数。 */
  31490. type OffStopCallback = (res: GeneralCallbackResult) => void
  31491. /** onThemeChange 传入的监听函数。不传此参数则移除所有监听函数。 */
  31492. type OffThemeChangeCallback = (result: OnThemeChangeListenerResult) => void
  31493. /** onTimeUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  31494. type OffTimeUpdateCallback = (res: GeneralCallbackResult) => void
  31495. /** onUnhandledRejection 传入的监听函数。不传此参数则移除所有监听函数。 */
  31496. type OffUnhandledRejectionCallback = (
  31497. result: OnUnhandledRejectionListenerResult
  31498. ) => void
  31499. /** onVoIPChatInterrupted 传入的监听函数。不传此参数则移除所有监听函数。 */
  31500. type OffVoIPChatInterruptedCallback = (
  31501. result: OnVoIPChatInterruptedListenerResult
  31502. ) => void
  31503. /** onVoIPChatMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31504. type OffVoIPChatMembersChangedCallback = (
  31505. result: OnVoIPChatMembersChangedListenerResult
  31506. ) => void
  31507. /** onVoIPChatSpeakersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31508. type OffVoIPChatSpeakersChangedCallback = (
  31509. result: OnVoIPChatSpeakersChangedListenerResult
  31510. ) => void
  31511. /** onVoIPChatStateChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31512. type OffVoIPChatStateChangedCallback = (
  31513. result: OnVoIPChatStateChangedListenerResult
  31514. ) => void
  31515. /** onVoIPVideoMembersChanged 传入的监听函数。不传此参数则移除所有监听函数。 */
  31516. type OffVoIPVideoMembersChangedCallback = (
  31517. result: OnVoIPVideoMembersChangedListenerResult
  31518. ) => void
  31519. /** onWaiting 传入的监听函数。不传此参数则移除所有监听函数。 */
  31520. type OffWaitingCallback = (res: GeneralCallbackResult) => void
  31521. /** onWifiConnected 传入的监听函数。不传此参数则移除所有监听函数。 */
  31522. type OffWifiConnectedCallback = (
  31523. result: OnWifiConnectedListenerResult
  31524. ) => void
  31525. /** onWifiConnectedWithPartialInfo 传入的监听函数。不传此参数则移除所有监听函数。 */
  31526. type OffWifiConnectedWithPartialInfoCallback = (
  31527. result: OnWifiConnectedWithPartialInfoListenerResult
  31528. ) => void
  31529. /** onWindowResize 传入的监听函数。不传此参数则移除所有监听函数。 */
  31530. type OffWindowResizeCallback = (
  31531. result: OnWindowResizeListenerResult
  31532. ) => void
  31533. /** 加速度数据事件的监听函数 */
  31534. type OnAccelerometerChangeCallback = (
  31535. result: OnAccelerometerChangeListenerResult
  31536. ) => void
  31537. /** 路由事件的监听函数 */
  31538. type OnAfterPageLoadCallback = (
  31539. result: OnAfterPageLoadListenerResult
  31540. ) => void
  31541. /** 路由事件的监听函数 */
  31542. type OnAfterPageUnloadCallback = (
  31543. result: OnAfterPageUnloadListenerResult
  31544. ) => void
  31545. /** API 类别变化事件的监听函数 */
  31546. type OnApiCategoryChangeCallback = (
  31547. result: OnApiCategoryChangeListenerResult
  31548. ) => void
  31549. /** 小程序切后台事件的监听函数 */
  31550. type OnAppHideCallback = (res: GeneralCallbackResult) => void
  31551. /** 路由事件的监听函数 */
  31552. type OnAppRouteCallback = (result: OnAppRouteListenerResult) => void
  31553. /** 当前路由动画执行完成的事件的监听函数 */
  31554. type OnAppRouteDoneCallback = (result: OnAppRouteDoneListenerResult) => void
  31555. /** 小程序切前台事件的监听函数 */
  31556. type OnAppShowCallback = (
  31557. /** 启动参数 */
  31558. options: LaunchOptionsApp
  31559. ) => void
  31560. /** 音频因为受到系统占用而被中断开始事件的监听函数 */
  31561. type OnAudioInterruptionBeginCallback = (res: GeneralCallbackResult) => void
  31562. /** 音频中断结束事件的监听函数 */
  31563. type OnAudioInterruptionEndCallback = (res: GeneralCallbackResult) => void
  31564. /** 蓝牙低功耗设备的特征值变化事件的监听函数 */
  31565. type OnBLECharacteristicValueChangeCallback = (
  31566. result: OnBLECharacteristicValueChangeListenerResult
  31567. ) => void
  31568. /** 蓝牙低功耗连接状态改变事件的监听函数 */
  31569. type OnBLEConnectionStateChangeCallback = (
  31570. result: OnBLEConnectionStateChangeListenerResult
  31571. ) => void
  31572. /** 蓝牙低功耗的最大传输单元变化事件的监听函数 */
  31573. type OnBLEMTUChangeCallback = (result: OnBLEMTUChangeListenerResult) => void
  31574. /** 当前外围设备被连接或断开连接事件的监听函数 */
  31575. type OnBLEPeripheralConnectionStateChangedCallback = (
  31576. result: OnBLEPeripheralConnectionStateChangedListenerResult
  31577. ) => void
  31578. /** 音乐暂停事件的监听函数 */
  31579. type OnBackgroundAudioPauseCallback = (res: GeneralCallbackResult) => void
  31580. /** 音乐播放事件的监听函数 */
  31581. type OnBackgroundAudioPlayCallback = (res: GeneralCallbackResult) => void
  31582. /** 音乐停止事件的监听函数 */
  31583. type OnBackgroundAudioStopCallback = (res: GeneralCallbackResult) => void
  31584. /** 收到 backgroundFetch 数据事件的监听函数 */
  31585. type OnBackgroundFetchDataCallback = (
  31586. result: OnBackgroundFetchDataListenerResult
  31587. ) => void
  31588. /** 电池信息变化事件的监听函数 */
  31589. type OnBatteryInfoChangeCallback = (
  31590. result: OnBatteryInfoChangeListenerResult
  31591. ) => void
  31592. /** Beacon 服务状态变化事件的监听函数 */
  31593. type OnBeaconServiceChangeCallback = (
  31594. result: OnBeaconServiceChangeListenerResult
  31595. ) => void
  31596. /** Beacon 设备更新事件的监听函数 */
  31597. type OnBeaconUpdateCallback = (result: OnBeaconUpdateListenerResult) => void
  31598. /** 路由事件的监听函数 */
  31599. type OnBeforeAppRouteCallback = (
  31600. result: OnBeforeAppRouteListenerResult
  31601. ) => void
  31602. /** 路由事件的监听函数 */
  31603. type OnBeforePageLoadCallback = (
  31604. result: OnBeforePageLoadListenerResult
  31605. ) => void
  31606. /** 路由事件的监听函数 */
  31607. type OnBeforePageUnloadCallback = (
  31608. result: OnBeforePageUnloadListenerResult
  31609. ) => void
  31610. /** 当一个 socket 绑定当前 wifi 网络成功时触发该事件的监听函数 */
  31611. type OnBindWifiCallback = (res: GeneralCallbackResult) => void
  31612. /** 蓝牙适配器状态变化事件的监听函数 */
  31613. type OnBluetoothAdapterStateChangeCallback = (
  31614. result: OnBluetoothAdapterStateChangeListenerResult
  31615. ) => void
  31616. /** 搜索到新设备的事件的监听函数 */
  31617. type OnBluetoothDeviceFoundCallback = (
  31618. result: OnBluetoothDeviceFoundListenerResult
  31619. ) => void
  31620. /** 回调函数 */
  31621. type OnCameraFrameCallback = (result: OnCameraFrameCallbackResult) => void
  31622. type OnCanplayCallback = (res: GeneralCallbackResult) => void
  31623. /** 已连接的设备请求读当前外围设备的特征值事件的监听函数 */
  31624. type OnCharacteristicReadRequestCallback = (
  31625. result: OnCharacteristicReadRequestListenerResult
  31626. ) => void
  31627. /** 特征订阅事件的监听函数 */
  31628. type OnCharacteristicSubscribedCallback = (
  31629. result: OnCharacteristicSubscribedListenerResult
  31630. ) => void
  31631. /** 取消特征订阅事件的监听函数 */
  31632. type OnCharacteristicUnsubscribedCallback = (
  31633. result: OnCharacteristicSubscribedListenerResult
  31634. ) => void
  31635. /** 已连接的设备请求写当前外围设备的特征值事件的监听函数 */
  31636. type OnCharacteristicWriteRequestCallback = (
  31637. result: OnCharacteristicWriteRequestListenerResult
  31638. ) => void
  31639. /** 向微信后台请求检查更新结果事件的监听函数 */
  31640. type OnCheckForUpdateCallback = (
  31641. result: OnCheckForUpdateListenerResult
  31642. ) => void
  31643. /** Transfer-Encoding Chunk Received 事件的监听函数 */
  31644. type OnChunkReceivedCallback = (
  31645. result: OnChunkReceivedListenerResult
  31646. ) => void
  31647. /** 罗盘数据变化事件的监听函数 */
  31648. type OnCompassChangeCallback = (
  31649. result: OnCompassChangeListenerResult
  31650. ) => void
  31651. /** 当一个 socket 连接成功建立的时候触发该事件的监听函数 */
  31652. type OnConnectCallback = (result: OnConnectListenerResult) => void
  31653. /** 用户点击右上角菜单的「复制链接」按钮时触发的事件的监听函数 */
  31654. type OnCopyUrlCallback = (result: OnCopyUrlListenerResult) => void
  31655. /** 设备方向变化事件的监听函数 */
  31656. type OnDeviceMotionChangeCallback = (
  31657. result: OnDeviceMotionChangeListenerResult
  31658. ) => void
  31659. /** 的监听函数 */
  31660. type OnDiscoveredCallback = (result: OnDiscoveredListenerResult) => void
  31661. /** 半屏小程序可视高度变化事件的监听函数 */
  31662. type OnEmbeddedMiniProgramHeightChangeCallback = (
  31663. result: OnEmbeddedMiniProgramHeightChangeListenerResult
  31664. ) => void
  31665. type OnEndedCallback = (res: GeneralCallbackResult) => void
  31666. /** 已录制完指定帧大小的文件事件的监听函数 */
  31667. type OnFrameRecordedCallback = (
  31668. result: OnFrameRecordedListenerResult
  31669. ) => void
  31670. /** 获取到 Wi-Fi 列表数据事件的监听函数 */
  31671. type OnGetWifiListCallback = (result: OnGetWifiListListenerResult) => void
  31672. /** 陀螺仪数据变化事件的监听函数 */
  31673. type OnGyroscopeChangeCallback = (
  31674. result: OnGyroscopeChangeListenerResult
  31675. ) => void
  31676. /** 接收 NFC 设备消息事件的监听函数 */
  31677. type OnHCEMessageCallback = (result: OnHCEMessageListenerResult) => void
  31678. /** 录音因为受到系统占用而被中断开始事件的监听函数 */
  31679. type OnInterruptionBeginCallback = (res: GeneralCallbackResult) => void
  31680. /** 录音中断结束事件的监听函数 */
  31681. type OnInterruptionEndCallback = (res: GeneralCallbackResult) => void
  31682. /** 键盘高度变化事件的监听函数 */
  31683. type OnKeyboardHeightChangeCallback = (
  31684. result: OnKeyboardHeightChangeListenerResult
  31685. ) => void
  31686. /** 小程序异步组件加载失败事件的监听函数 */
  31687. type OnLazyLoadErrorCallback = (
  31688. result: OnLazyLoadErrorListenerResult
  31689. ) => void
  31690. /** 开始监听数据包消息的事件的监听函数 */
  31691. type OnListeningCallback = (res: GeneralCallbackResult) => void
  31692. type OnLoadCallback = (res: GeneralCallbackResult) => void
  31693. /** mDNS 服务停止搜索的事件的监听函数 */
  31694. type OnLocalServiceDiscoveryStopCallback = (
  31695. res: GeneralCallbackResult
  31696. ) => void
  31697. /** mDNS 服务发现的事件的监听函数 */
  31698. type OnLocalServiceFoundCallback = (
  31699. result: OnLocalServiceFoundListenerResult
  31700. ) => void
  31701. /** mDNS 服务离开的事件的监听函数 */
  31702. type OnLocalServiceLostCallback = (
  31703. result: OnLocalServiceLostListenerResult
  31704. ) => void
  31705. /** mDNS 服务解析失败的事件的监听函数 */
  31706. type OnLocalServiceResolveFailCallback = (
  31707. result: OnLocalServiceLostListenerResult
  31708. ) => void
  31709. /** 实时地理位置变化事件的监听函数 */
  31710. type OnLocationChangeCallback = (
  31711. result: OnLocationChangeListenerResult
  31712. ) => void
  31713. /** 的监听函数 */
  31714. type OnLocationChangeErrorCallback = (
  31715. result: OnLocationChangeErrorListenerResult
  31716. ) => void
  31717. /** 内存不足告警事件的监听函数 */
  31718. type OnMemoryWarningCallback = (
  31719. result: OnMemoryWarningListenerResult
  31720. ) => void
  31721. /** 菜单按钮(右上角胶囊按钮)的布局位置信息变化事件的监听函数 */
  31722. type OnMenuButtonBoundingClientRectWeightChangeCallback = (
  31723. result: OnMenuButtonBoundingClientRectWeightChangeListenerResult
  31724. ) => void
  31725. /** 隐私接口需要用户授权事件的监听函数 */
  31726. type OnNeedPrivacyAuthorizationCallback = (
  31727. res: GeneralCallbackResult
  31728. ) => void
  31729. /** 网络状态变化事件的监听函数 */
  31730. type OnNetworkStatusChangeCallback = (
  31731. result: OnNetworkStatusChangeListenerResult
  31732. ) => void
  31733. /** 弱网状态变化事件的监听函数 */
  31734. type OnNetworkWeakChangeCallback = (
  31735. result: OnNetworkWeakChangeListenerResult
  31736. ) => void
  31737. /** 用户在系统音乐播放面板点击下一曲事件的监听函数 */
  31738. type OnNextCallback = (res: GeneralCallbackResult) => void
  31739. /** WebSocket 连接打开事件的监听函数 */
  31740. type OnOpenCallback = (result: OnOpenListenerResult) => void
  31741. /** 小程序要打开的页面不存在事件的监听函数 */
  31742. type OnPageNotFoundCallback = (result: OnPageNotFoundListenerResult) => void
  31743. type OnPauseCallback = (res: GeneralCallbackResult) => void
  31744. type OnPlayCallback = (res: GeneralCallbackResult) => void
  31745. /** 用户在系统音乐播放面板点击上一曲事件的监听函数 */
  31746. type OnPrevCallback = (res: GeneralCallbackResult) => void
  31747. /** worker线程被系统回收事件的监听函数 */
  31748. type OnProcessKilledCallback = (res: GeneralCallbackResult) => void
  31749. /** 录音继续事件的监听函数 */
  31750. type OnResumeCallback = (res: GeneralCallbackResult) => void
  31751. /** 用户录屏事件的监听函数 */
  31752. type OnScreenRecordingStateChangedCallback = (
  31753. result: OnScreenRecordingStateChangedListenerResult
  31754. ) => void
  31755. type OnSeekedCallback = (res: GeneralCallbackResult) => void
  31756. type OnSeekingCallback = (res: GeneralCallbackResult) => void
  31757. /** WebSocket 连接关闭事件的监听函数 */
  31758. type OnSocketCloseCallback = (
  31759. result: SocketTaskOnCloseListenerResult
  31760. ) => void
  31761. /** WebSocket 错误事件的监听函数 */
  31762. type OnSocketErrorCallback = (result: GeneralCallbackResult) => void
  31763. /** WebSocket 接收到服务器的消息事件的监听函数 */
  31764. type OnSocketMessageCallback = (
  31765. result: SocketTaskOnMessageListenerResult
  31766. ) => void
  31767. /** WebSocket 连接打开事件的监听函数 */
  31768. type OnSocketOpenCallback = (result: OnSocketOpenListenerResult) => void
  31769. /** 录音开始事件的监听函数 */
  31770. type OnStartCallback = (res: GeneralCallbackResult) => void
  31771. /** 系统主题改变事件的监听函数 */
  31772. type OnThemeChangeCallback = (result: OnThemeChangeListenerResult) => void
  31773. type OnTimeUpdateCallback = (res: GeneralCallbackResult) => void
  31774. /** 未处理的 Promise 拒绝事件的监听函数 */
  31775. type OnUnhandledRejectionCallback = (
  31776. result: OnUnhandledRejectionListenerResult
  31777. ) => void
  31778. /** 小程序更新失败事件的监听函数 */
  31779. type OnUpdateFailedCallback = (res: GeneralCallbackResult) => void
  31780. /** 小程序有版本更新事件的监听函数 */
  31781. type OnUpdateReadyCallback = (res: GeneralCallbackResult) => void
  31782. /** 用户主动截屏事件的监听函数 */
  31783. type OnUserCaptureScreenCallback = (
  31784. result: OnUserCaptureScreenListenerResult
  31785. ) => void
  31786. /** 被动断开实时语音通话事件的监听函数 */
  31787. type OnVoIPChatInterruptedCallback = (
  31788. result: OnVoIPChatInterruptedListenerResult
  31789. ) => void
  31790. /** 实时语音通话成员在线状态变化事件的监听函数 */
  31791. type OnVoIPChatMembersChangedCallback = (
  31792. result: OnVoIPChatMembersChangedListenerResult
  31793. ) => void
  31794. /** 实时语音通话成员通话状态变化事件的监听函数 */
  31795. type OnVoIPChatSpeakersChangedCallback = (
  31796. result: OnVoIPChatSpeakersChangedListenerResult
  31797. ) => void
  31798. /** 房间状态变化事件的监听函数 */
  31799. type OnVoIPChatStateChangedCallback = (
  31800. result: OnVoIPChatStateChangedListenerResult
  31801. ) => void
  31802. /** 实时语音通话成员视频状态变化事件的监听函数 */
  31803. type OnVoIPVideoMembersChangedCallback = (
  31804. result: OnVoIPVideoMembersChangedListenerResult
  31805. ) => void
  31806. /** 音频加载中事件的监听函数 */
  31807. type OnWaitingCallback = (res: GeneralCallbackResult) => void
  31808. /** 连接上 Wi-Fi 的事件的监听函数 */
  31809. type OnWifiConnectedCallback = (
  31810. result: OnWifiConnectedListenerResult
  31811. ) => void
  31812. /** 连接上 Wi-Fi 的事件的监听函数 */
  31813. type OnWifiConnectedWithPartialInfoCallback = (
  31814. result: OnWifiConnectedWithPartialInfoListenerResult
  31815. ) => void
  31816. /** 窗口尺寸变化事件的监听函数 */
  31817. type OnWindowResizeCallback = (result: OnWindowResizeListenerResult) => void
  31818. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31819. type OpenAppAuthorizeSettingCompleteCallback = (
  31820. res: GeneralCallbackResult
  31821. ) => void
  31822. /** 接口调用失败的回调函数 */
  31823. type OpenAppAuthorizeSettingFailCallback = (
  31824. res: GeneralCallbackResult
  31825. ) => void
  31826. /** 接口调用成功的回调函数 */
  31827. type OpenAppAuthorizeSettingSuccessCallback = (
  31828. res: GeneralCallbackResult
  31829. ) => void
  31830. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31831. type OpenBluetoothAdapterCompleteCallback = (res: BluetoothError) => void
  31832. /** 接口调用失败的回调函数 */
  31833. type OpenBluetoothAdapterFailCallback = (res: BluetoothError) => void
  31834. /** 接口调用成功的回调函数 */
  31835. type OpenBluetoothAdapterSuccessCallback = (res: BluetoothError) => void
  31836. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31837. type OpenCardCompleteCallback = (res: GeneralCallbackResult) => void
  31838. /** 接口调用失败的回调函数 */
  31839. type OpenCardFailCallback = (res: GeneralCallbackResult) => void
  31840. /** 接口调用成功的回调函数 */
  31841. type OpenCardSuccessCallback = (res: GeneralCallbackResult) => void
  31842. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31843. type OpenChannelsActivityCompleteCallback = (
  31844. res: GeneralCallbackResult
  31845. ) => void
  31846. /** 接口调用失败的回调函数 */
  31847. type OpenChannelsActivityFailCallback = (res: GeneralCallbackResult) => void
  31848. /** 接口调用成功的回调函数 */
  31849. type OpenChannelsActivitySuccessCallback = (
  31850. res: GeneralCallbackResult
  31851. ) => void
  31852. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31853. type OpenChannelsEventCompleteCallback = (
  31854. res: GeneralCallbackResult
  31855. ) => void
  31856. /** 接口调用失败的回调函数 */
  31857. type OpenChannelsEventFailCallback = (res: GeneralCallbackResult) => void
  31858. /** 接口调用成功的回调函数 */
  31859. type OpenChannelsEventSuccessCallback = (res: GeneralCallbackResult) => void
  31860. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31861. type OpenChannelsLiveCompleteCallback = (res: GeneralCallbackResult) => void
  31862. /** 接口调用失败的回调函数 */
  31863. type OpenChannelsLiveFailCallback = (res: GeneralCallbackResult) => void
  31864. /** 接口调用成功的回调函数 */
  31865. type OpenChannelsLiveSuccessCallback = (res: GeneralCallbackResult) => void
  31866. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31867. type OpenChannelsUserProfileCompleteCallback = (
  31868. res: GeneralCallbackResult
  31869. ) => void
  31870. /** 接口调用失败的回调函数 */
  31871. type OpenChannelsUserProfileFailCallback = (
  31872. res: GeneralCallbackResult
  31873. ) => void
  31874. /** 接口调用成功的回调函数 */
  31875. type OpenChannelsUserProfileSuccessCallback = (
  31876. res: GeneralCallbackResult
  31877. ) => void
  31878. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31879. type OpenCompleteCallback = (res: FileError) => void
  31880. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31881. type OpenCustomerServiceChatCompleteCallback = (
  31882. res: GeneralCallbackResult
  31883. ) => void
  31884. /** 接口调用失败的回调函数 */
  31885. type OpenCustomerServiceChatFailCallback = (
  31886. res: GeneralCallbackResult
  31887. ) => void
  31888. /** 接口调用成功的回调函数 */
  31889. type OpenCustomerServiceChatSuccessCallback = (
  31890. res: GeneralCallbackResult
  31891. ) => void
  31892. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31893. type OpenDocumentCompleteCallback = (res: GeneralCallbackResult) => void
  31894. /** 接口调用失败的回调函数 */
  31895. type OpenDocumentFailCallback = (res: GeneralCallbackResult) => void
  31896. /** 接口调用成功的回调函数 */
  31897. type OpenDocumentSuccessCallback = (res: GeneralCallbackResult) => void
  31898. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31899. type OpenEmbeddedMiniProgramCompleteCallback = (
  31900. res: GeneralCallbackResult
  31901. ) => void
  31902. /** 接口调用失败的回调函数 */
  31903. type OpenEmbeddedMiniProgramFailCallback = (
  31904. res: GeneralCallbackResult
  31905. ) => void
  31906. /** 接口调用成功的回调函数 */
  31907. type OpenEmbeddedMiniProgramSuccessCallback = (
  31908. res: GeneralCallbackResult
  31909. ) => void
  31910. /** 接口调用失败的回调函数 */
  31911. type OpenFailCallback = (res: FileError) => void
  31912. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31913. type OpenHKOfflinePayViewCompleteCallback = (
  31914. res: GeneralCallbackResult
  31915. ) => void
  31916. /** 接口调用失败的回调函数 */
  31917. type OpenHKOfflinePayViewFailCallback = (res: GeneralCallbackResult) => void
  31918. /** 接口调用成功的回调函数 */
  31919. type OpenHKOfflinePayViewSuccessCallback = (
  31920. res: GeneralCallbackResult
  31921. ) => void
  31922. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31923. type OpenLocationCompleteCallback = (res: GeneralCallbackResult) => void
  31924. /** 接口调用失败的回调函数 */
  31925. type OpenLocationFailCallback = (res: GeneralCallbackResult) => void
  31926. /** 接口调用成功的回调函数 */
  31927. type OpenLocationSuccessCallback = (res: GeneralCallbackResult) => void
  31928. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31929. type OpenMapAppCompleteCallback = (res: GeneralCallbackResult) => void
  31930. /** 接口调用失败的回调函数 */
  31931. type OpenMapAppFailCallback = (res: GeneralCallbackResult) => void
  31932. /** 接口调用成功的回调函数 */
  31933. type OpenMapAppSuccessCallback = (res: GeneralCallbackResult) => void
  31934. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31935. type OpenOfficialAccountArticleCompleteCallback = (
  31936. res: GeneralCallbackResult
  31937. ) => void
  31938. /** 接口调用失败的回调函数 */
  31939. type OpenOfficialAccountArticleFailCallback = (
  31940. err: RequestVirtualPaymentFailCallbackErr
  31941. ) => void
  31942. /** 接口调用成功的回调函数 */
  31943. type OpenOfficialAccountArticleSuccessCallback = (
  31944. result: OpenOfficialAccountArticleSuccessCallbackResult
  31945. ) => void
  31946. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31947. type OpenPrivacyContractCompleteCallback = (
  31948. res: GeneralCallbackResult
  31949. ) => void
  31950. /** 接口调用失败的回调函数 */
  31951. type OpenPrivacyContractFailCallback = (res: GeneralCallbackResult) => void
  31952. /** 接口调用成功的回调函数 */
  31953. type OpenPrivacyContractSuccessCallback = (
  31954. res: GeneralCallbackResult
  31955. ) => void
  31956. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31957. type OpenSettingCompleteCallback = (res: GeneralCallbackResult) => void
  31958. /** 接口调用失败的回调函数 */
  31959. type OpenSettingFailCallback = (res: GeneralCallbackResult) => void
  31960. /** 接口调用成功的回调函数 */
  31961. type OpenSettingSuccessCallback = (
  31962. result: OpenSettingSuccessCallbackResult
  31963. ) => void
  31964. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31965. type OpenSingleStickerViewCompleteCallback = (
  31966. res: GeneralCallbackResult
  31967. ) => void
  31968. /** 接口调用失败的回调函数 */
  31969. type OpenSingleStickerViewFailCallback = (
  31970. res: GeneralCallbackResult
  31971. ) => void
  31972. /** 接口调用成功的回调函数 */
  31973. type OpenSingleStickerViewSuccessCallback = (
  31974. res: GeneralCallbackResult
  31975. ) => void
  31976. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31977. type OpenStickerIPViewCompleteCallback = (
  31978. res: GeneralCallbackResult
  31979. ) => void
  31980. /** 接口调用失败的回调函数 */
  31981. type OpenStickerIPViewFailCallback = (res: GeneralCallbackResult) => void
  31982. /** 接口调用成功的回调函数 */
  31983. type OpenStickerIPViewSuccessCallback = (res: GeneralCallbackResult) => void
  31984. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31985. type OpenStickerSetViewCompleteCallback = (
  31986. res: GeneralCallbackResult
  31987. ) => void
  31988. /** 接口调用失败的回调函数 */
  31989. type OpenStickerSetViewFailCallback = (res: GeneralCallbackResult) => void
  31990. /** 接口调用成功的回调函数 */
  31991. type OpenStickerSetViewSuccessCallback = (
  31992. res: GeneralCallbackResult
  31993. ) => void
  31994. /** 接口调用成功的回调函数 */
  31995. type OpenSuccessCallback = (result: OpenSuccessCallbackResult) => void
  31996. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  31997. type OpenSystemBluetoothSettingCompleteCallback = (
  31998. res: GeneralCallbackResult
  31999. ) => void
  32000. /** 接口调用失败的回调函数 */
  32001. type OpenSystemBluetoothSettingFailCallback = (
  32002. res: GeneralCallbackResult
  32003. ) => void
  32004. /** 接口调用成功的回调函数 */
  32005. type OpenSystemBluetoothSettingSuccessCallback = (
  32006. res: GeneralCallbackResult
  32007. ) => void
  32008. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32009. type OpenVideoEditorCompleteCallback = (res: GeneralCallbackResult) => void
  32010. /** 接口调用失败的回调函数 */
  32011. type OpenVideoEditorFailCallback = (res: GeneralCallbackResult) => void
  32012. /** 接口调用成功的回调函数 */
  32013. type OpenVideoEditorSuccessCallback = (
  32014. result: OpenVideoEditorSuccessCallbackResult
  32015. ) => void
  32016. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32017. type PageScrollToCompleteCallback = (res: GeneralCallbackResult) => void
  32018. /** 接口调用失败的回调函数 */
  32019. type PageScrollToFailCallback = (res: GeneralCallbackResult) => void
  32020. /** 接口调用成功的回调函数 */
  32021. type PageScrollToSuccessCallback = (res: GeneralCallbackResult) => void
  32022. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32023. type PauseBGMCompleteCallback = (res: GeneralCallbackResult) => void
  32024. /** 接口调用失败的回调函数 */
  32025. type PauseBGMFailCallback = (res: GeneralCallbackResult) => void
  32026. /** 接口调用成功的回调函数 */
  32027. type PauseBGMSuccessCallback = (res: GeneralCallbackResult) => void
  32028. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32029. type PauseBackgroundAudioCompleteCallback = (
  32030. res: GeneralCallbackResult
  32031. ) => void
  32032. /** 接口调用失败的回调函数 */
  32033. type PauseBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void
  32034. /** 接口调用成功的回调函数 */
  32035. type PauseBackgroundAudioSuccessCallback = (
  32036. res: GeneralCallbackResult
  32037. ) => void
  32038. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32039. type PauseCompleteCallback = (res: GeneralCallbackResult) => void
  32040. /** 接口调用失败的回调函数 */
  32041. type PauseFailCallback = (res: GeneralCallbackResult) => void
  32042. /** 接口调用成功的回调函数 */
  32043. type PauseSuccessCallback = (res: GeneralCallbackResult) => void
  32044. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32045. type PauseVoiceCompleteCallback = (res: GeneralCallbackResult) => void
  32046. /** 接口调用失败的回调函数 */
  32047. type PauseVoiceFailCallback = (res: GeneralCallbackResult) => void
  32048. /** 接口调用成功的回调函数 */
  32049. type PauseVoiceSuccessCallback = (res: GeneralCallbackResult) => void
  32050. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32051. type PlayBGMCompleteCallback = (res: GeneralCallbackResult) => void
  32052. /** 接口调用失败的回调函数 */
  32053. type PlayBGMFailCallback = (res: GeneralCallbackResult) => void
  32054. /** 接口调用成功的回调函数 */
  32055. type PlayBGMSuccessCallback = (res: GeneralCallbackResult) => void
  32056. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32057. type PlayBackgroundAudioCompleteCallback = (
  32058. res: GeneralCallbackResult
  32059. ) => void
  32060. /** 接口调用失败的回调函数 */
  32061. type PlayBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void
  32062. /** 接口调用成功的回调函数 */
  32063. type PlayBackgroundAudioSuccessCallback = (
  32064. res: GeneralCallbackResult
  32065. ) => void
  32066. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32067. type PlayCompleteCallback = (res: GeneralCallbackResult) => void
  32068. /** 接口调用失败的回调函数 */
  32069. type PlayFailCallback = (res: GeneralCallbackResult) => void
  32070. /** 接口调用成功的回调函数 */
  32071. type PlaySuccessCallback = (res: GeneralCallbackResult) => void
  32072. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32073. type PlayVoiceCompleteCallback = (res: GeneralCallbackResult) => void
  32074. /** 接口调用失败的回调函数 */
  32075. type PlayVoiceFailCallback = (res: GeneralCallbackResult) => void
  32076. /** 接口调用成功的回调函数 */
  32077. type PlayVoiceSuccessCallback = (res: GeneralCallbackResult) => void
  32078. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32079. type PluginLoginCompleteCallback = (res: GeneralCallbackResult) => void
  32080. /** 接口调用失败的回调函数 */
  32081. type PluginLoginFailCallback = (res: GeneralCallbackResult) => void
  32082. /** 接口调用成功的回调函数 */
  32083. type PluginLoginSuccessCallback = (
  32084. result: PluginLoginSuccessCallbackResult
  32085. ) => void
  32086. /** 分包加载进度变化事件的监听函数 */
  32087. type PreDownloadSubpackageTaskOnProgressUpdateCallback = (
  32088. result: PreDownloadSubpackageTaskOnProgressUpdateListenerResult
  32089. ) => void
  32090. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32091. type PreloadAssetsCompleteCallback = (res: GeneralCallbackResult) => void
  32092. /** 接口调用失败的回调函数 */
  32093. type PreloadAssetsFailCallback = (res: GeneralCallbackResult) => void
  32094. /** 接口调用成功的回调函数 */
  32095. type PreloadAssetsSuccessCallback = (res: GeneralCallbackResult) => void
  32096. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32097. type PreloadSkylineViewCompleteCallback = (
  32098. res: GeneralCallbackResult
  32099. ) => void
  32100. /** 接口调用失败的回调函数 */
  32101. type PreloadSkylineViewFailCallback = (res: GeneralCallbackResult) => void
  32102. /** 接口调用成功的回调函数 */
  32103. type PreloadSkylineViewSuccessCallback = (
  32104. res: GeneralCallbackResult
  32105. ) => void
  32106. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32107. type PreloadWebviewCompleteCallback = (res: GeneralCallbackResult) => void
  32108. /** 接口调用失败的回调函数 */
  32109. type PreloadWebviewFailCallback = (res: GeneralCallbackResult) => void
  32110. /** 接口调用成功的回调函数 */
  32111. type PreloadWebviewSuccessCallback = (res: GeneralCallbackResult) => void
  32112. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32113. type PreviewImageCompleteCallback = (res: GeneralCallbackResult) => void
  32114. /** 接口调用失败的回调函数 */
  32115. type PreviewImageFailCallback = (res: GeneralCallbackResult) => void
  32116. /** 接口调用成功的回调函数 */
  32117. type PreviewImageSuccessCallback = (res: GeneralCallbackResult) => void
  32118. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32119. type PreviewMediaCompleteCallback = (res: GeneralCallbackResult) => void
  32120. /** 接口调用失败的回调函数 */
  32121. type PreviewMediaFailCallback = (res: GeneralCallbackResult) => void
  32122. /** 接口调用成功的回调函数 */
  32123. type PreviewMediaSuccessCallback = (res: GeneralCallbackResult) => void
  32124. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32125. type ReLaunchCompleteCallback = (res: GeneralCallbackResult) => void
  32126. /** 接口调用失败的回调函数 */
  32127. type ReLaunchFailCallback = (res: GeneralCallbackResult) => void
  32128. /** 接口调用成功的回调函数 */
  32129. type ReLaunchSuccessCallback = (res: GeneralCallbackResult) => void
  32130. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32131. type ReadBLECharacteristicValueCompleteCallback = (
  32132. res: BluetoothError
  32133. ) => void
  32134. /** 接口调用失败的回调函数 */
  32135. type ReadBLECharacteristicValueFailCallback = (res: BluetoothError) => void
  32136. /** 接口调用成功的回调函数 */
  32137. type ReadBLECharacteristicValueSuccessCallback = (
  32138. res: BluetoothError
  32139. ) => void
  32140. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32141. type ReadCompleteCallback = (res: FileError) => void
  32142. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32143. type ReadCompressedFileCompleteCallback = (res: FileError) => void
  32144. /** 接口调用失败的回调函数 */
  32145. type ReadCompressedFileFailCallback = (res: FileError) => void
  32146. /** 接口调用成功的回调函数 */
  32147. type ReadCompressedFileSuccessCallback = (
  32148. result: ReadCompressedFileSuccessCallbackResult
  32149. ) => void
  32150. /** 接口调用失败的回调函数 */
  32151. type ReadFailCallback = (res: FileError) => void
  32152. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32153. type ReadFileCompleteCallback = (res: FileError) => void
  32154. /** 接口调用失败的回调函数 */
  32155. type ReadFileFailCallback = (res: FileError) => void
  32156. /** 接口调用成功的回调函数 */
  32157. type ReadFileSuccessCallback = (
  32158. result: ReadFileSuccessCallbackResult
  32159. ) => void
  32160. /** 接口调用成功的回调函数 */
  32161. type ReadSuccessCallback = (result: ReadSuccessCallbackResult) => void
  32162. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32163. type ReadZipEntryCompleteCallback = (res: FileError) => void
  32164. /** 接口调用失败的回调函数 */
  32165. type ReadZipEntryFailCallback = (res: FileError) => void
  32166. /** 接口调用成功的回调函数 */
  32167. type ReadZipEntrySuccessCallback = (
  32168. result: ReadZipEntrySuccessCallbackResult
  32169. ) => void
  32170. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32171. type ReaddirCompleteCallback = (res: FileError) => void
  32172. /** 接口调用失败的回调函数 */
  32173. type ReaddirFailCallback = (res: FileError) => void
  32174. /** 接口调用成功的回调函数 */
  32175. type ReaddirSuccessCallback = (result: ReaddirSuccessCallbackResult) => void
  32176. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32177. type ReconnectCastingCompleteCallback = (res: GeneralCallbackResult) => void
  32178. /** 接口调用失败的回调函数 */
  32179. type ReconnectCastingFailCallback = (res: GeneralCallbackResult) => void
  32180. /** 接口调用成功的回调函数 */
  32181. type ReconnectCastingSuccessCallback = (res: GeneralCallbackResult) => void
  32182. /** 录音结束事件的监听函数 */
  32183. type RecorderManagerOnStopCallback = (result: OnStopListenerResult) => void
  32184. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32185. type RedirectToCompleteCallback = (res: GeneralCallbackResult) => void
  32186. /** 接口调用失败的回调函数 */
  32187. type RedirectToFailCallback = (res: GeneralCallbackResult) => void
  32188. /** 接口调用成功的回调函数 */
  32189. type RedirectToSuccessCallback = (res: GeneralCallbackResult) => void
  32190. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32191. type RedoCompleteCallback = (res: GeneralCallbackResult) => void
  32192. /** 接口调用失败的回调函数 */
  32193. type RedoFailCallback = (res: GeneralCallbackResult) => void
  32194. /** 接口调用成功的回调函数 */
  32195. type RedoSuccessCallback = (res: GeneralCallbackResult) => void
  32196. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,返回节点 Ref 对象。 */
  32197. type RefCallback = (result: RefCallbackResult) => void
  32198. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32199. type RemoveArcCompleteCallback = (res: GeneralCallbackResult) => void
  32200. /** 接口调用失败的回调函数 */
  32201. type RemoveArcFailCallback = (res: GeneralCallbackResult) => void
  32202. /** 接口调用成功的回调函数 */
  32203. type RemoveArcSuccessCallback = (res: GeneralCallbackResult) => void
  32204. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32205. type RemoveCustomLayerCompleteCallback = (
  32206. res: GeneralCallbackResult
  32207. ) => void
  32208. /** 接口调用失败的回调函数 */
  32209. type RemoveCustomLayerFailCallback = (res: GeneralCallbackResult) => void
  32210. /** 接口调用成功的回调函数 */
  32211. type RemoveCustomLayerSuccessCallback = (res: GeneralCallbackResult) => void
  32212. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32213. type RemoveFormatCompleteCallback = (res: GeneralCallbackResult) => void
  32214. /** 接口调用失败的回调函数 */
  32215. type RemoveFormatFailCallback = (res: GeneralCallbackResult) => void
  32216. /** 接口调用成功的回调函数 */
  32217. type RemoveFormatSuccessCallback = (res: GeneralCallbackResult) => void
  32218. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32219. type RemoveGroundOverlayCompleteCallback = (
  32220. res: GeneralCallbackResult
  32221. ) => void
  32222. /** 接口调用失败的回调函数 */
  32223. type RemoveGroundOverlayFailCallback = (res: GeneralCallbackResult) => void
  32224. /** 接口调用成功的回调函数 */
  32225. type RemoveGroundOverlaySuccessCallback = (
  32226. res: GeneralCallbackResult
  32227. ) => void
  32228. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32229. type RemoveMarkersCompleteCallback = (res: GeneralCallbackResult) => void
  32230. /** 接口调用失败的回调函数 */
  32231. type RemoveMarkersFailCallback = (res: GeneralCallbackResult) => void
  32232. /** 接口调用成功的回调函数 */
  32233. type RemoveMarkersSuccessCallback = (res: GeneralCallbackResult) => void
  32234. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32235. type RemoveSavedFileCompleteCallback = (res: FileError) => void
  32236. /** 接口调用失败的回调函数 */
  32237. type RemoveSavedFileFailCallback = (res: FileError) => void
  32238. /** 接口调用成功的回调函数 */
  32239. type RemoveSavedFileSuccessCallback = (res: FileError) => void
  32240. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32241. type RemoveServiceCompleteCallback = (res: GeneralCallbackResult) => void
  32242. /** 接口调用失败的回调函数 */
  32243. type RemoveServiceFailCallback = (res: GeneralCallbackResult) => void
  32244. /** 接口调用成功的回调函数 */
  32245. type RemoveServiceSuccessCallback = (res: GeneralCallbackResult) => void
  32246. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32247. type RemoveStorageCompleteCallback = (res: GeneralCallbackResult) => void
  32248. /** 接口调用失败的回调函数 */
  32249. type RemoveStorageFailCallback = (res: GeneralCallbackResult) => void
  32250. /** 接口调用成功的回调函数 */
  32251. type RemoveStorageSuccessCallback = (res: GeneralCallbackResult) => void
  32252. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32253. type RemoveTabBarBadgeCompleteCallback = (
  32254. res: GeneralCallbackResult
  32255. ) => void
  32256. /** 接口调用失败的回调函数 */
  32257. type RemoveTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void
  32258. /** 接口调用成功的回调函数 */
  32259. type RemoveTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void
  32260. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32261. type RemoveVisualLayerCompleteCallback = (
  32262. res: GeneralCallbackResult
  32263. ) => void
  32264. /** 接口调用失败的回调函数 */
  32265. type RemoveVisualLayerFailCallback = (res: GeneralCallbackResult) => void
  32266. /** 接口调用成功的回调函数 */
  32267. type RemoveVisualLayerSuccessCallback = (res: GeneralCallbackResult) => void
  32268. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32269. type RenameCompleteCallback = (res: FileError) => void
  32270. /** 接口调用失败的回调函数 */
  32271. type RenameFailCallback = (res: FileError) => void
  32272. /** 接口调用成功的回调函数 */
  32273. type RenameSuccessCallback = (res: FileError) => void
  32274. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32275. type RequestCommonPaymentCompleteCallback = (
  32276. res: CommonPaymentError
  32277. ) => void
  32278. /** 接口调用失败的回调函数 */
  32279. type RequestCommonPaymentFailCallback = (
  32280. err: RequestCommonPaymentFailCallbackErr
  32281. ) => void
  32282. /** 接口调用成功的回调函数 */
  32283. type RequestCommonPaymentSuccessCallback = (
  32284. result: RequestCommonPaymentSuccessCallbackResult
  32285. ) => void
  32286. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32287. type RequestCompleteCallback = (res: GeneralCallbackResult) => void
  32288. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32289. type RequestDeviceVoIPCompleteCallback = (
  32290. res: GeneralCallbackResult
  32291. ) => void
  32292. /** 接口调用失败的回调函数 */
  32293. type RequestDeviceVoIPFailCallback = (res: GeneralCallbackResult) => void
  32294. /** 接口调用成功的回调函数 */
  32295. type RequestDeviceVoIPSuccessCallback = (res: GeneralCallbackResult) => void
  32296. /** 接口调用失败的回调函数 */
  32297. type RequestFailCallback = (err: RequestFailCallbackErr) => void
  32298. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32299. type RequestFullScreenCompleteCallback = (
  32300. res: GeneralCallbackResult
  32301. ) => void
  32302. /** 接口调用失败的回调函数 */
  32303. type RequestFullScreenFailCallback = (res: GeneralCallbackResult) => void
  32304. /** 接口调用成功的回调函数 */
  32305. type RequestFullScreenSuccessCallback = (res: GeneralCallbackResult) => void
  32306. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32307. type RequestMerchantTransferCompleteCallback = (
  32308. res: GeneralCallbackResult
  32309. ) => void
  32310. /** 接口调用失败的回调函数 */
  32311. type RequestMerchantTransferFailCallback = (
  32312. res: GeneralCallbackResult
  32313. ) => void
  32314. /** 接口调用成功的回调函数 */
  32315. type RequestMerchantTransferSuccessCallback = (
  32316. res: GeneralCallbackResult
  32317. ) => void
  32318. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32319. type RequestOrderPaymentCompleteCallback = (
  32320. res: GeneralCallbackResult
  32321. ) => void
  32322. /** 接口调用失败的回调函数 */
  32323. type RequestOrderPaymentFailCallback = (res: GeneralCallbackResult) => void
  32324. /** 接口调用成功的回调函数 */
  32325. type RequestOrderPaymentSuccessCallback = (
  32326. res: GeneralCallbackResult
  32327. ) => void
  32328. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32329. type RequestPaymentCompleteCallback = (res: GeneralCallbackResult) => void
  32330. /** 接口调用失败的回调函数 */
  32331. type RequestPaymentFailCallback = (res: GeneralCallbackResult) => void
  32332. /** 接口调用成功的回调函数 */
  32333. type RequestPaymentSuccessCallback = (res: GeneralCallbackResult) => void
  32334. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32335. type RequestPictureInPictureCompleteCallback = (
  32336. res: GeneralCallbackResult
  32337. ) => void
  32338. /** 接口调用失败的回调函数 */
  32339. type RequestPictureInPictureFailCallback = (
  32340. res: GeneralCallbackResult
  32341. ) => void
  32342. /** 接口调用成功的回调函数 */
  32343. type RequestPictureInPictureSuccessCallback = (
  32344. res: GeneralCallbackResult
  32345. ) => void
  32346. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32347. type RequestPluginPaymentCompleteCallback = (
  32348. res: GeneralCallbackResult
  32349. ) => void
  32350. /** 接口调用失败的回调函数 */
  32351. type RequestPluginPaymentFailCallback = (res: GeneralCallbackResult) => void
  32352. /** 接口调用成功的回调函数 */
  32353. type RequestPluginPaymentSuccessCallback = (
  32354. res: GeneralCallbackResult
  32355. ) => void
  32356. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32357. type RequestSubscribeDeviceMessageCompleteCallback = (
  32358. res: GeneralCallbackResult
  32359. ) => void
  32360. /** 接口调用失败的回调函数 */
  32361. type RequestSubscribeDeviceMessageFailCallback = (
  32362. result: RequestSubscribeDeviceMessageFailCallbackResult
  32363. ) => void
  32364. /** 接口调用成功的回调函数 */
  32365. type RequestSubscribeDeviceMessageSuccessCallback = (
  32366. result: RequestSubscribeDeviceMessageSuccessCallbackResult
  32367. ) => void
  32368. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32369. type RequestSubscribeMessageCompleteCallback = (
  32370. res: GeneralCallbackResult
  32371. ) => void
  32372. /** 接口调用失败的回调函数 */
  32373. type RequestSubscribeMessageFailCallback = (
  32374. result: RequestSubscribeMessageFailCallbackResult
  32375. ) => void
  32376. /** 接口调用成功的回调函数 */
  32377. type RequestSubscribeMessageSuccessCallback = (
  32378. result: RequestSubscribeMessageSuccessCallbackResult
  32379. ) => void
  32380. /** 接口调用成功的回调函数 */
  32381. type RequestSuccessCallback<
  32382. T extends string | IAnyObject | ArrayBuffer =
  32383. | string
  32384. | IAnyObject
  32385. | ArrayBuffer
  32386. > = (result: RequestSuccessCallbackResult<T>) => void
  32387. /** onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。 */
  32388. type RequestTaskOffHeadersReceivedCallback = (
  32389. result: RequestTaskOnHeadersReceivedListenerResult
  32390. ) => void
  32391. /** HTTP Response Header 事件的监听函数 */
  32392. type RequestTaskOnHeadersReceivedCallback = (
  32393. result: RequestTaskOnHeadersReceivedListenerResult
  32394. ) => void
  32395. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32396. type RequestVirtualPaymentCompleteCallback = (
  32397. res: VirtualPaymentError
  32398. ) => void
  32399. /** 接口调用失败的回调函数 */
  32400. type RequestVirtualPaymentFailCallback = (
  32401. err: RequestVirtualPaymentFailCallbackErr
  32402. ) => void
  32403. /** 接口调用成功的回调函数 */
  32404. type RequestVirtualPaymentSuccessCallback = (
  32405. result: RequestCommonPaymentSuccessCallbackResult
  32406. ) => void
  32407. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32408. type RequirePrivacyAuthorizeCompleteCallback = (
  32409. res: GeneralCallbackResult
  32410. ) => void
  32411. /** 接口调用失败的回调函数 */
  32412. type RequirePrivacyAuthorizeFailCallback = (
  32413. res: GeneralCallbackResult
  32414. ) => void
  32415. /** 接口调用成功的回调函数 */
  32416. type RequirePrivacyAuthorizeSuccessCallback = (
  32417. res: GeneralCallbackResult
  32418. ) => void
  32419. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32420. type RestartMiniProgramCompleteCallback = (
  32421. res: GeneralCallbackResult
  32422. ) => void
  32423. /** 接口调用失败的回调函数 */
  32424. type RestartMiniProgramFailCallback = (res: GeneralCallbackResult) => void
  32425. /** 接口调用成功的回调函数 */
  32426. type RestartMiniProgramSuccessCallback = (
  32427. res: GeneralCallbackResult
  32428. ) => void
  32429. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32430. type ResumeBGMCompleteCallback = (res: GeneralCallbackResult) => void
  32431. /** 接口调用失败的回调函数 */
  32432. type ResumeBGMFailCallback = (res: GeneralCallbackResult) => void
  32433. /** 接口调用成功的回调函数 */
  32434. type ResumeBGMSuccessCallback = (res: GeneralCallbackResult) => void
  32435. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32436. type ResumeCompleteCallback = (res: GeneralCallbackResult) => void
  32437. /** 接口调用失败的回调函数 */
  32438. type ResumeFailCallback = (res: GeneralCallbackResult) => void
  32439. /** 接口调用成功的回调函数 */
  32440. type ResumeSuccessCallback = (res: GeneralCallbackResult) => void
  32441. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  32442. type RewardedVideoAdOffCloseCallback = (
  32443. result: RewardedVideoAdOnCloseListenerResult
  32444. ) => void
  32445. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  32446. type RewardedVideoAdOffErrorCallback = (
  32447. result: RewardedVideoAdOnErrorListenerResult
  32448. ) => void
  32449. /** 用户点击 `关闭广告` 按钮的事件的监听函数 */
  32450. type RewardedVideoAdOnCloseCallback = (
  32451. result: RewardedVideoAdOnCloseListenerResult
  32452. ) => void
  32453. /** 激励视频错误事件的监听函数 */
  32454. type RewardedVideoAdOnErrorCallback = (
  32455. result: RewardedVideoAdOnErrorListenerResult
  32456. ) => void
  32457. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32458. type RmdirCompleteCallback = (res: FileError) => void
  32459. /** 接口调用失败的回调函数 */
  32460. type RmdirFailCallback = (res: FileError) => void
  32461. /** 接口调用成功的回调函数 */
  32462. type RmdirSuccessCallback = (res: FileError) => void
  32463. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32464. type SaveFileCompleteCallback = (res: FileError) => void
  32465. /** 接口调用失败的回调函数 */
  32466. type SaveFileFailCallback = (res: FileError) => void
  32467. /** 接口调用成功的回调函数 */
  32468. type SaveFileSuccessCallback = (
  32469. result: SaveFileSuccessCallbackResult
  32470. ) => void
  32471. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32472. type SaveFileToDiskCompleteCallback = (res: GeneralCallbackResult) => void
  32473. /** 接口调用失败的回调函数 */
  32474. type SaveFileToDiskFailCallback = (res: GeneralCallbackResult) => void
  32475. /** 接口调用成功的回调函数 */
  32476. type SaveFileToDiskSuccessCallback = (res: GeneralCallbackResult) => void
  32477. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32478. type SaveImageToPhotosAlbumCompleteCallback = (
  32479. res: GeneralCallbackResult
  32480. ) => void
  32481. /** 接口调用失败的回调函数 */
  32482. type SaveImageToPhotosAlbumFailCallback = (
  32483. res: GeneralCallbackResult
  32484. ) => void
  32485. /** 接口调用成功的回调函数 */
  32486. type SaveImageToPhotosAlbumSuccessCallback = (
  32487. res: GeneralCallbackResult
  32488. ) => void
  32489. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32490. type SaveVideoToPhotosAlbumCompleteCallback = (
  32491. res: GeneralCallbackResult
  32492. ) => void
  32493. /** 接口调用失败的回调函数 */
  32494. type SaveVideoToPhotosAlbumFailCallback = (
  32495. res: GeneralCallbackResult
  32496. ) => void
  32497. /** 接口调用成功的回调函数 */
  32498. type SaveVideoToPhotosAlbumSuccessCallback = (
  32499. res: GeneralCallbackResult
  32500. ) => void
  32501. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32502. type ScanCodeCompleteCallback = (res: GeneralCallbackResult) => void
  32503. /** 接口调用失败的回调函数 */
  32504. type ScanCodeFailCallback = (res: GeneralCallbackResult) => void
  32505. /** 接口调用成功的回调函数 */
  32506. type ScanCodeSuccessCallback = (
  32507. result: ScanCodeSuccessCallbackResult
  32508. ) => void
  32509. /** 回调函数,在执行 `SelectorQuery.exec` 方法后,节点信息会在 `callback` 中返回。 */
  32510. type ScrollOffsetCallback = (result: ScrollOffsetCallbackResult) => void
  32511. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32512. type SeekBackgroundAudioCompleteCallback = (
  32513. res: GeneralCallbackResult
  32514. ) => void
  32515. /** 接口调用失败的回调函数 */
  32516. type SeekBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void
  32517. /** 接口调用成功的回调函数 */
  32518. type SeekBackgroundAudioSuccessCallback = (
  32519. res: GeneralCallbackResult
  32520. ) => void
  32521. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32522. type SendCompleteCallback = (res: GeneralCallbackResult) => void
  32523. /** 接口调用失败的回调函数 */
  32524. type SendFailCallback = (res: GeneralCallbackResult) => void
  32525. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32526. type SendHCEMessageCompleteCallback = (res: NFCError) => void
  32527. /** 接口调用失败的回调函数 */
  32528. type SendHCEMessageFailCallback = (res: NFCError) => void
  32529. /** 接口调用成功的回调函数 */
  32530. type SendHCEMessageSuccessCallback = (res: NFCError) => void
  32531. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32532. type SendMessageCompleteCallback = (res: GeneralCallbackResult) => void
  32533. /** 接口调用失败的回调函数 */
  32534. type SendMessageFailCallback = (res: GeneralCallbackResult) => void
  32535. /** 接口调用成功的回调函数 */
  32536. type SendMessageSuccessCallback = (res: GeneralCallbackResult) => void
  32537. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32538. type SendSmsCompleteCallback = (res: GeneralCallbackResult) => void
  32539. /** 接口调用失败的回调函数 */
  32540. type SendSmsFailCallback = (res: GeneralCallbackResult) => void
  32541. /** 接口调用成功的回调函数 */
  32542. type SendSmsSuccessCallback = (res: GeneralCallbackResult) => void
  32543. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32544. type SendSocketMessageCompleteCallback = (
  32545. res: GeneralCallbackResult
  32546. ) => void
  32547. /** 接口调用失败的回调函数 */
  32548. type SendSocketMessageFailCallback = (res: GeneralCallbackResult) => void
  32549. /** 接口调用成功的回调函数 */
  32550. type SendSocketMessageSuccessCallback = (res: GeneralCallbackResult) => void
  32551. /** 接口调用成功的回调函数 */
  32552. type SendSuccessCallback = (res: GeneralCallbackResult) => void
  32553. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32554. type SetBGMVolumeCompleteCallback = (res: GeneralCallbackResult) => void
  32555. /** 接口调用失败的回调函数 */
  32556. type SetBGMVolumeFailCallback = (res: GeneralCallbackResult) => void
  32557. /** 接口调用成功的回调函数 */
  32558. type SetBGMVolumeSuccessCallback = (res: GeneralCallbackResult) => void
  32559. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32560. type SetBLEMTUCompleteCallback = (res: GeneralCallbackResult) => void
  32561. /** 接口调用失败的回调函数 */
  32562. type SetBLEMTUFailCallback = (result: SetBLEMTUFailCallbackResult) => void
  32563. /** 接口调用成功的回调函数 */
  32564. type SetBLEMTUSuccessCallback = (
  32565. result: SetBLEMTUSuccessCallbackResult
  32566. ) => void
  32567. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32568. type SetBackgroundColorCompleteCallback = (
  32569. res: GeneralCallbackResult
  32570. ) => void
  32571. /** 接口调用失败的回调函数 */
  32572. type SetBackgroundColorFailCallback = (res: GeneralCallbackResult) => void
  32573. /** 接口调用成功的回调函数 */
  32574. type SetBackgroundColorSuccessCallback = (
  32575. res: GeneralCallbackResult
  32576. ) => void
  32577. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32578. type SetBackgroundFetchTokenCompleteCallback = (
  32579. res: GeneralCallbackResult
  32580. ) => void
  32581. /** 接口调用失败的回调函数 */
  32582. type SetBackgroundFetchTokenFailCallback = (
  32583. res: GeneralCallbackResult
  32584. ) => void
  32585. /** 接口调用成功的回调函数 */
  32586. type SetBackgroundFetchTokenSuccessCallback = (
  32587. res: GeneralCallbackResult
  32588. ) => void
  32589. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32590. type SetBackgroundTextStyleCompleteCallback = (
  32591. res: GeneralCallbackResult
  32592. ) => void
  32593. /** 接口调用失败的回调函数 */
  32594. type SetBackgroundTextStyleFailCallback = (
  32595. res: GeneralCallbackResult
  32596. ) => void
  32597. /** 接口调用成功的回调函数 */
  32598. type SetBackgroundTextStyleSuccessCallback = (
  32599. res: GeneralCallbackResult
  32600. ) => void
  32601. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32602. type SetBoundaryCompleteCallback = (res: GeneralCallbackResult) => void
  32603. /** 接口调用失败的回调函数 */
  32604. type SetBoundaryFailCallback = (res: GeneralCallbackResult) => void
  32605. /** 接口调用成功的回调函数 */
  32606. type SetBoundarySuccessCallback = (res: GeneralCallbackResult) => void
  32607. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32608. type SetCenterOffsetCompleteCallback = (res: GeneralCallbackResult) => void
  32609. /** 接口调用失败的回调函数 */
  32610. type SetCenterOffsetFailCallback = (res: GeneralCallbackResult) => void
  32611. /** 接口调用成功的回调函数 */
  32612. type SetCenterOffsetSuccessCallback = (res: GeneralCallbackResult) => void
  32613. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32614. type SetClipboardDataCompleteCallback = (res: GeneralCallbackResult) => void
  32615. /** 接口调用失败的回调函数 */
  32616. type SetClipboardDataFailCallback = (res: GeneralCallbackResult) => void
  32617. /** 接口调用成功的回调函数 */
  32618. type SetClipboardDataSuccessCallback = (res: GeneralCallbackResult) => void
  32619. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32620. type SetContentsCompleteCallback = (res: GeneralCallbackResult) => void
  32621. /** 接口调用失败的回调函数 */
  32622. type SetContentsFailCallback = (res: GeneralCallbackResult) => void
  32623. /** 接口调用成功的回调函数 */
  32624. type SetContentsSuccessCallback = (res: GeneralCallbackResult) => void
  32625. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32626. type SetEnable1v1ChatCompleteCallback = (res: GeneralCallbackResult) => void
  32627. /** 接口调用失败的回调函数 */
  32628. type SetEnable1v1ChatFailCallback = (res: GeneralCallbackResult) => void
  32629. /** 接口调用成功的回调函数 */
  32630. type SetEnable1v1ChatSuccessCallback = (res: GeneralCallbackResult) => void
  32631. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32632. type SetEnableDebugCompleteCallback = (res: GeneralCallbackResult) => void
  32633. /** 接口调用失败的回调函数 */
  32634. type SetEnableDebugFailCallback = (res: GeneralCallbackResult) => void
  32635. /** 接口调用成功的回调函数 */
  32636. type SetEnableDebugSuccessCallback = (res: GeneralCallbackResult) => void
  32637. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32638. type SetInnerAudioOptionCompleteCallback = (
  32639. res: GeneralCallbackResult
  32640. ) => void
  32641. /** 接口调用失败的回调函数 */
  32642. type SetInnerAudioOptionFailCallback = (res: GeneralCallbackResult) => void
  32643. /** 接口调用成功的回调函数 */
  32644. type SetInnerAudioOptionSuccessCallback = (
  32645. res: GeneralCallbackResult
  32646. ) => void
  32647. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32648. type SetKeepScreenOnCompleteCallback = (res: GeneralCallbackResult) => void
  32649. /** 接口调用失败的回调函数 */
  32650. type SetKeepScreenOnFailCallback = (res: GeneralCallbackResult) => void
  32651. /** 接口调用成功的回调函数 */
  32652. type SetKeepScreenOnSuccessCallback = (res: GeneralCallbackResult) => void
  32653. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32654. type SetLocMarkerIconCompleteCallback = (res: GeneralCallbackResult) => void
  32655. /** 接口调用失败的回调函数 */
  32656. type SetLocMarkerIconFailCallback = (res: GeneralCallbackResult) => void
  32657. /** 接口调用成功的回调函数 */
  32658. type SetLocMarkerIconSuccessCallback = (res: GeneralCallbackResult) => void
  32659. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32660. type SetMICVolumeCompleteCallback = (res: GeneralCallbackResult) => void
  32661. /** 接口调用失败的回调函数 */
  32662. type SetMICVolumeFailCallback = (res: GeneralCallbackResult) => void
  32663. /** 接口调用成功的回调函数 */
  32664. type SetMICVolumeSuccessCallback = (res: GeneralCallbackResult) => void
  32665. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32666. type SetNavigationBarColorCompleteCallback = (
  32667. res: GeneralCallbackResult
  32668. ) => void
  32669. /** 接口调用失败的回调函数 */
  32670. type SetNavigationBarColorFailCallback = (
  32671. res: GeneralCallbackResult
  32672. ) => void
  32673. /** 接口调用成功的回调函数 */
  32674. type SetNavigationBarColorSuccessCallback = (
  32675. res: GeneralCallbackResult
  32676. ) => void
  32677. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32678. type SetNavigationBarTitleCompleteCallback = (
  32679. res: GeneralCallbackResult
  32680. ) => void
  32681. /** 接口调用失败的回调函数 */
  32682. type SetNavigationBarTitleFailCallback = (
  32683. res: GeneralCallbackResult
  32684. ) => void
  32685. /** 接口调用成功的回调函数 */
  32686. type SetNavigationBarTitleSuccessCallback = (
  32687. res: GeneralCallbackResult
  32688. ) => void
  32689. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32690. type SetScreenBrightnessCompleteCallback = (
  32691. res: GeneralCallbackResult
  32692. ) => void
  32693. /** 接口调用失败的回调函数 */
  32694. type SetScreenBrightnessFailCallback = (res: GeneralCallbackResult) => void
  32695. /** 接口调用成功的回调函数 */
  32696. type SetScreenBrightnessSuccessCallback = (
  32697. res: GeneralCallbackResult
  32698. ) => void
  32699. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32700. type SetStorageCompleteCallback = (res: GeneralCallbackResult) => void
  32701. /** 接口调用失败的回调函数 */
  32702. type SetStorageFailCallback = (res: GeneralCallbackResult) => void
  32703. /** 接口调用成功的回调函数 */
  32704. type SetStorageSuccessCallback = (res: GeneralCallbackResult) => void
  32705. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32706. type SetTabBarBadgeCompleteCallback = (res: GeneralCallbackResult) => void
  32707. /** 接口调用失败的回调函数 */
  32708. type SetTabBarBadgeFailCallback = (res: GeneralCallbackResult) => void
  32709. /** 接口调用成功的回调函数 */
  32710. type SetTabBarBadgeSuccessCallback = (res: GeneralCallbackResult) => void
  32711. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32712. type SetTabBarItemCompleteCallback = (res: GeneralCallbackResult) => void
  32713. /** 接口调用失败的回调函数 */
  32714. type SetTabBarItemFailCallback = (res: GeneralCallbackResult) => void
  32715. /** 接口调用成功的回调函数 */
  32716. type SetTabBarItemSuccessCallback = (res: GeneralCallbackResult) => void
  32717. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32718. type SetTabBarStyleCompleteCallback = (res: GeneralCallbackResult) => void
  32719. /** 接口调用失败的回调函数 */
  32720. type SetTabBarStyleFailCallback = (res: GeneralCallbackResult) => void
  32721. /** 接口调用成功的回调函数 */
  32722. type SetTabBarStyleSuccessCallback = (res: GeneralCallbackResult) => void
  32723. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32724. type SetTimeoutCompleteCallback = (res: Nfcrwerror) => void
  32725. /** 接口调用失败的回调函数 */
  32726. type SetTimeoutFailCallback = (res: Nfcrwerror) => void
  32727. /** 接口调用成功的回调函数 */
  32728. type SetTimeoutSuccessCallback = (res: Nfcrwerror) => void
  32729. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32730. type SetTopBarTextCompleteCallback = (res: GeneralCallbackResult) => void
  32731. /** 接口调用失败的回调函数 */
  32732. type SetTopBarTextFailCallback = (res: GeneralCallbackResult) => void
  32733. /** 接口调用成功的回调函数 */
  32734. type SetTopBarTextSuccessCallback = (res: GeneralCallbackResult) => void
  32735. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32736. type SetVisualEffectOnCaptureCompleteCallback = (
  32737. res: GeneralCallbackResult
  32738. ) => void
  32739. /** 接口调用失败的回调函数 */
  32740. type SetVisualEffectOnCaptureFailCallback = (
  32741. res: GeneralCallbackResult
  32742. ) => void
  32743. /** 接口调用成功的回调函数 */
  32744. type SetVisualEffectOnCaptureSuccessCallback = (
  32745. res: GeneralCallbackResult
  32746. ) => void
  32747. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32748. type SetWifiListCompleteCallback = (res: WifiError) => void
  32749. /** 接口调用失败的回调函数 */
  32750. type SetWifiListFailCallback = (res: WifiError) => void
  32751. /** 接口调用成功的回调函数 */
  32752. type SetWifiListSuccessCallback = (res: WifiError) => void
  32753. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32754. type SetWindowSizeCompleteCallback = (res: GeneralCallbackResult) => void
  32755. /** 接口调用失败的回调函数 */
  32756. type SetWindowSizeFailCallback = (res: GeneralCallbackResult) => void
  32757. /** 接口调用成功的回调函数 */
  32758. type SetWindowSizeSuccessCallback = (res: GeneralCallbackResult) => void
  32759. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32760. type SetZoomCompleteCallback = (res: GeneralCallbackResult) => void
  32761. /** 接口调用失败的回调函数 */
  32762. type SetZoomFailCallback = (res: GeneralCallbackResult) => void
  32763. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32764. type ShareFileMessageCompleteCallback = (res: GeneralCallbackResult) => void
  32765. /** 接口调用失败的回调函数 */
  32766. type ShareFileMessageFailCallback = (res: GeneralCallbackResult) => void
  32767. /** 接口调用成功的回调函数 */
  32768. type ShareFileMessageSuccessCallback = (res: GeneralCallbackResult) => void
  32769. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32770. type ShareToWeRunCompleteCallback = (res: GeneralCallbackResult) => void
  32771. /** 接口调用失败的回调函数 */
  32772. type ShareToWeRunFailCallback = (res: GeneralCallbackResult) => void
  32773. /** 接口调用成功的回调函数 */
  32774. type ShareToWeRunSuccessCallback = (res: GeneralCallbackResult) => void
  32775. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32776. type ShareVideoMessageCompleteCallback = (
  32777. res: GeneralCallbackResult
  32778. ) => void
  32779. /** 接口调用失败的回调函数 */
  32780. type ShareVideoMessageFailCallback = (res: GeneralCallbackResult) => void
  32781. /** 接口调用成功的回调函数 */
  32782. type ShareVideoMessageSuccessCallback = (res: GeneralCallbackResult) => void
  32783. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32784. type ShowActionSheetCompleteCallback = (res: GeneralCallbackResult) => void
  32785. /** 接口调用失败的回调函数 */
  32786. type ShowActionSheetFailCallback = (res: GeneralCallbackResult) => void
  32787. /** 接口调用成功的回调函数 */
  32788. type ShowActionSheetSuccessCallback = (
  32789. result: ShowActionSheetSuccessCallbackResult
  32790. ) => void
  32791. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32792. type ShowLoadingCompleteCallback = (res: GeneralCallbackResult) => void
  32793. /** 接口调用失败的回调函数 */
  32794. type ShowLoadingFailCallback = (res: GeneralCallbackResult) => void
  32795. /** 接口调用成功的回调函数 */
  32796. type ShowLoadingSuccessCallback = (res: GeneralCallbackResult) => void
  32797. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32798. type ShowModalCompleteCallback = (res: GeneralCallbackResult) => void
  32799. /** 接口调用失败的回调函数 */
  32800. type ShowModalFailCallback = (res: GeneralCallbackResult) => void
  32801. /** 接口调用成功的回调函数 */
  32802. type ShowModalSuccessCallback = (
  32803. result: ShowModalSuccessCallbackResult
  32804. ) => void
  32805. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32806. type ShowNavigationBarLoadingCompleteCallback = (
  32807. res: GeneralCallbackResult
  32808. ) => void
  32809. /** 接口调用失败的回调函数 */
  32810. type ShowNavigationBarLoadingFailCallback = (
  32811. res: GeneralCallbackResult
  32812. ) => void
  32813. /** 接口调用成功的回调函数 */
  32814. type ShowNavigationBarLoadingSuccessCallback = (
  32815. res: GeneralCallbackResult
  32816. ) => void
  32817. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32818. type ShowRedPackageCompleteCallback = (res: GeneralCallbackResult) => void
  32819. /** 接口调用失败的回调函数 */
  32820. type ShowRedPackageFailCallback = (res: GeneralCallbackResult) => void
  32821. /** 接口调用成功的回调函数 */
  32822. type ShowRedPackageSuccessCallback = (res: GeneralCallbackResult) => void
  32823. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32824. type ShowShareImageMenuCompleteCallback = (
  32825. res: GeneralCallbackResult
  32826. ) => void
  32827. /** 接口调用失败的回调函数 */
  32828. type ShowShareImageMenuFailCallback = (res: GeneralCallbackResult) => void
  32829. /** 接口调用成功的回调函数 */
  32830. type ShowShareImageMenuSuccessCallback = (
  32831. res: GeneralCallbackResult
  32832. ) => void
  32833. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32834. type ShowShareMenuCompleteCallback = (res: GeneralCallbackResult) => void
  32835. /** 接口调用失败的回调函数 */
  32836. type ShowShareMenuFailCallback = (res: GeneralCallbackResult) => void
  32837. /** 接口调用成功的回调函数 */
  32838. type ShowShareMenuSuccessCallback = (res: GeneralCallbackResult) => void
  32839. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32840. type ShowTabBarCompleteCallback = (res: GeneralCallbackResult) => void
  32841. /** 接口调用失败的回调函数 */
  32842. type ShowTabBarFailCallback = (res: GeneralCallbackResult) => void
  32843. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32844. type ShowTabBarRedDotCompleteCallback = (res: GeneralCallbackResult) => void
  32845. /** 接口调用失败的回调函数 */
  32846. type ShowTabBarRedDotFailCallback = (res: GeneralCallbackResult) => void
  32847. /** 接口调用成功的回调函数 */
  32848. type ShowTabBarRedDotSuccessCallback = (res: GeneralCallbackResult) => void
  32849. /** 接口调用成功的回调函数 */
  32850. type ShowTabBarSuccessCallback = (res: GeneralCallbackResult) => void
  32851. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32852. type ShowToastCompleteCallback = (res: GeneralCallbackResult) => void
  32853. /** 接口调用失败的回调函数 */
  32854. type ShowToastFailCallback = (res: GeneralCallbackResult) => void
  32855. /** 接口调用成功的回调函数 */
  32856. type ShowToastSuccessCallback = (res: GeneralCallbackResult) => void
  32857. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32858. type SnapshotCompleteCallback = (res: GeneralCallbackResult) => void
  32859. /** 接口调用失败的回调函数 */
  32860. type SnapshotFailCallback = (res: GeneralCallbackResult) => void
  32861. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32862. type SocketTaskCloseCompleteCallback = (res: GeneralCallbackResult) => void
  32863. /** 接口调用失败的回调函数 */
  32864. type SocketTaskCloseFailCallback = (res: GeneralCallbackResult) => void
  32865. /** 接口调用成功的回调函数 */
  32866. type SocketTaskCloseSuccessCallback = (res: GeneralCallbackResult) => void
  32867. /** WebSocket 连接关闭事件的监听函数 */
  32868. type SocketTaskOnCloseCallback = (
  32869. result: SocketTaskOnCloseListenerResult
  32870. ) => void
  32871. /** WebSocket 接收到服务器的消息事件的监听函数 */
  32872. type SocketTaskOnMessageCallback = (
  32873. result: SocketTaskOnMessageListenerResult
  32874. ) => void
  32875. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32876. type StartAccelerometerCompleteCallback = (
  32877. res: GeneralCallbackResult
  32878. ) => void
  32879. /** 接口调用失败的回调函数 */
  32880. type StartAccelerometerFailCallback = (res: GeneralCallbackResult) => void
  32881. /** 接口调用成功的回调函数 */
  32882. type StartAccelerometerSuccessCallback = (
  32883. res: GeneralCallbackResult
  32884. ) => void
  32885. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32886. type StartAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void
  32887. /** 接口调用失败的回调函数 */
  32888. type StartAdvertisingFailCallback = (res: GeneralCallbackResult) => void
  32889. /** 接口调用成功的回调函数 */
  32890. type StartAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void
  32891. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32892. type StartBeaconDiscoveryCompleteCallback = (res: BeaconError) => void
  32893. /** 接口调用失败的回调函数 */
  32894. type StartBeaconDiscoveryFailCallback = (res: BeaconError) => void
  32895. /** 接口调用成功的回调函数 */
  32896. type StartBeaconDiscoverySuccessCallback = (res: BeaconError) => void
  32897. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32898. type StartBluetoothDevicesDiscoveryCompleteCallback = (
  32899. res: BluetoothError
  32900. ) => void
  32901. /** 接口调用失败的回调函数 */
  32902. type StartBluetoothDevicesDiscoveryFailCallback = (
  32903. res: BluetoothError
  32904. ) => void
  32905. /** 接口调用成功的回调函数 */
  32906. type StartBluetoothDevicesDiscoverySuccessCallback = (
  32907. res: BluetoothError
  32908. ) => void
  32909. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32910. type StartCastingCompleteCallback = (res: GeneralCallbackResult) => void
  32911. /** 接口调用失败的回调函数 */
  32912. type StartCastingFailCallback = (res: GeneralCallbackResult) => void
  32913. /** 接口调用成功的回调函数 */
  32914. type StartCastingSuccessCallback = (res: GeneralCallbackResult) => void
  32915. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32916. type StartCompassCompleteCallback = (res: GeneralCallbackResult) => void
  32917. /** 接口调用失败的回调函数 */
  32918. type StartCompassFailCallback = (res: GeneralCallbackResult) => void
  32919. /** 接口调用成功的回调函数 */
  32920. type StartCompassSuccessCallback = (res: GeneralCallbackResult) => void
  32921. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32922. type StartCompleteCallback = (res: GeneralCallbackResult) => void
  32923. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32924. type StartDeviceMotionListeningCompleteCallback = (
  32925. res: GeneralCallbackResult
  32926. ) => void
  32927. /** 接口调用失败的回调函数 */
  32928. type StartDeviceMotionListeningFailCallback = (
  32929. res: GeneralCallbackResult
  32930. ) => void
  32931. /** 接口调用成功的回调函数 */
  32932. type StartDeviceMotionListeningSuccessCallback = (
  32933. res: GeneralCallbackResult
  32934. ) => void
  32935. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32936. type StartDiscoveryCompleteCallback = (res: Nfcrwerror) => void
  32937. /** 接口调用失败的回调函数 */
  32938. type StartDiscoveryFailCallback = (res: Nfcrwerror) => void
  32939. /** 接口调用成功的回调函数 */
  32940. type StartDiscoverySuccessCallback = (res: Nfcrwerror) => void
  32941. /** 接口调用失败的回调函数 */
  32942. type StartFailCallback = (res: GeneralCallbackResult) => void
  32943. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32944. type StartGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void
  32945. /** 接口调用失败的回调函数 */
  32946. type StartGyroscopeFailCallback = (res: GeneralCallbackResult) => void
  32947. /** 接口调用成功的回调函数 */
  32948. type StartGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void
  32949. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32950. type StartHCECompleteCallback = (res: NFCError) => void
  32951. /** 接口调用失败的回调函数 */
  32952. type StartHCEFailCallback = (res: NFCError) => void
  32953. /** 接口调用成功的回调函数 */
  32954. type StartHCESuccessCallback = (res: NFCError) => void
  32955. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32956. type StartLocalServiceDiscoveryCompleteCallback = (
  32957. res: GeneralCallbackResult
  32958. ) => void
  32959. /** 接口调用失败的回调函数 */
  32960. type StartLocalServiceDiscoveryFailCallback = (
  32961. result: StartLocalServiceDiscoveryFailCallbackResult
  32962. ) => void
  32963. /** 接口调用成功的回调函数 */
  32964. type StartLocalServiceDiscoverySuccessCallback = (
  32965. res: GeneralCallbackResult
  32966. ) => void
  32967. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32968. type StartLocationUpdateBackgroundCompleteCallback = (
  32969. res: GeneralCallbackResult
  32970. ) => void
  32971. /** 接口调用失败的回调函数 */
  32972. type StartLocationUpdateBackgroundFailCallback = (
  32973. res: GeneralCallbackResult
  32974. ) => void
  32975. /** 接口调用成功的回调函数 */
  32976. type StartLocationUpdateBackgroundSuccessCallback = (
  32977. res: GeneralCallbackResult
  32978. ) => void
  32979. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32980. type StartLocationUpdateCompleteCallback = (
  32981. res: GeneralCallbackResult
  32982. ) => void
  32983. /** 接口调用失败的回调函数 */
  32984. type StartLocationUpdateFailCallback = (res: GeneralCallbackResult) => void
  32985. /** 接口调用成功的回调函数 */
  32986. type StartLocationUpdateSuccessCallback = (
  32987. res: GeneralCallbackResult
  32988. ) => void
  32989. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32990. type StartPreviewCompleteCallback = (res: GeneralCallbackResult) => void
  32991. /** 接口调用失败的回调函数 */
  32992. type StartPreviewFailCallback = (res: GeneralCallbackResult) => void
  32993. /** 接口调用成功的回调函数 */
  32994. type StartPreviewSuccessCallback = (res: GeneralCallbackResult) => void
  32995. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  32996. type StartPullDownRefreshCompleteCallback = (
  32997. res: GeneralCallbackResult
  32998. ) => void
  32999. /** 接口调用失败的回调函数 */
  33000. type StartPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void
  33001. /** 接口调用成功的回调函数 */
  33002. type StartPullDownRefreshSuccessCallback = (
  33003. res: GeneralCallbackResult
  33004. ) => void
  33005. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33006. type StartRecordCompleteCallback = (res: GeneralCallbackResult) => void
  33007. /** 接口调用失败的回调函数 */
  33008. type StartRecordFailCallback = (res: GeneralCallbackResult) => void
  33009. /** 超过录制时长上限时会结束录像并触发此回调,录像异常退出时也会触发此回调 */
  33010. type StartRecordTimeoutCallback = (
  33011. result: StartRecordTimeoutCallbackResult
  33012. ) => void
  33013. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33014. type StartSoterAuthenticationCompleteCallback = (
  33015. res: GeneralCallbackResult
  33016. ) => void
  33017. /** 接口调用失败的回调函数 */
  33018. type StartSoterAuthenticationFailCallback = (
  33019. res: GeneralCallbackResult
  33020. ) => void
  33021. /** 接口调用成功的回调函数 */
  33022. type StartSoterAuthenticationSuccessCallback = (
  33023. result: StartSoterAuthenticationSuccessCallbackResult
  33024. ) => void
  33025. /** 接口调用成功的回调函数 */
  33026. type StartSuccessCallback = (res: GeneralCallbackResult) => void
  33027. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33028. type StartWifiCompleteCallback = (res: WifiError) => void
  33029. /** 接口调用失败的回调函数 */
  33030. type StartWifiFailCallback = (res: WifiError) => void
  33031. /** 接口调用成功的回调函数 */
  33032. type StartWifiSuccessCallback = (res: WifiError) => void
  33033. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33034. type StatCompleteCallback = (res: FileError) => void
  33035. /** 接口调用失败的回调函数 */
  33036. type StatFailCallback = (res: FileError) => void
  33037. /** 接口调用成功的回调函数 */
  33038. type StatSuccessCallback = (result: StatSuccessCallbackResult) => void
  33039. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33040. type StopAccelerometerCompleteCallback = (
  33041. res: GeneralCallbackResult
  33042. ) => void
  33043. /** 接口调用失败的回调函数 */
  33044. type StopAccelerometerFailCallback = (res: GeneralCallbackResult) => void
  33045. /** 接口调用成功的回调函数 */
  33046. type StopAccelerometerSuccessCallback = (res: GeneralCallbackResult) => void
  33047. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33048. type StopAdvertisingCompleteCallback = (res: GeneralCallbackResult) => void
  33049. /** 接口调用失败的回调函数 */
  33050. type StopAdvertisingFailCallback = (res: GeneralCallbackResult) => void
  33051. /** 接口调用成功的回调函数 */
  33052. type StopAdvertisingSuccessCallback = (res: GeneralCallbackResult) => void
  33053. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33054. type StopBGMCompleteCallback = (res: GeneralCallbackResult) => void
  33055. /** 接口调用失败的回调函数 */
  33056. type StopBGMFailCallback = (res: GeneralCallbackResult) => void
  33057. /** 接口调用成功的回调函数 */
  33058. type StopBGMSuccessCallback = (res: GeneralCallbackResult) => void
  33059. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33060. type StopBackgroundAudioCompleteCallback = (
  33061. res: GeneralCallbackResult
  33062. ) => void
  33063. /** 接口调用失败的回调函数 */
  33064. type StopBackgroundAudioFailCallback = (res: GeneralCallbackResult) => void
  33065. /** 接口调用成功的回调函数 */
  33066. type StopBackgroundAudioSuccessCallback = (
  33067. res: GeneralCallbackResult
  33068. ) => void
  33069. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33070. type StopBeaconDiscoveryCompleteCallback = (res: BeaconError) => void
  33071. /** 接口调用失败的回调函数 */
  33072. type StopBeaconDiscoveryFailCallback = (res: BeaconError) => void
  33073. /** 接口调用成功的回调函数 */
  33074. type StopBeaconDiscoverySuccessCallback = (res: BeaconError) => void
  33075. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33076. type StopBluetoothDevicesDiscoveryCompleteCallback = (
  33077. res: BluetoothError
  33078. ) => void
  33079. /** 接口调用失败的回调函数 */
  33080. type StopBluetoothDevicesDiscoveryFailCallback = (
  33081. res: BluetoothError
  33082. ) => void
  33083. /** 接口调用成功的回调函数 */
  33084. type StopBluetoothDevicesDiscoverySuccessCallback = (
  33085. res: BluetoothError
  33086. ) => void
  33087. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33088. type StopCompassCompleteCallback = (res: GeneralCallbackResult) => void
  33089. /** 接口调用失败的回调函数 */
  33090. type StopCompassFailCallback = (res: GeneralCallbackResult) => void
  33091. /** 接口调用成功的回调函数 */
  33092. type StopCompassSuccessCallback = (res: GeneralCallbackResult) => void
  33093. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33094. type StopCompleteCallback = (res: GeneralCallbackResult) => void
  33095. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33096. type StopDeviceMotionListeningCompleteCallback = (
  33097. res: GeneralCallbackResult
  33098. ) => void
  33099. /** 接口调用失败的回调函数 */
  33100. type StopDeviceMotionListeningFailCallback = (
  33101. res: GeneralCallbackResult
  33102. ) => void
  33103. /** 接口调用成功的回调函数 */
  33104. type StopDeviceMotionListeningSuccessCallback = (
  33105. res: GeneralCallbackResult
  33106. ) => void
  33107. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33108. type StopDiscoveryCompleteCallback = (res: Nfcrwerror) => void
  33109. /** 接口调用失败的回调函数 */
  33110. type StopDiscoveryFailCallback = (res: Nfcrwerror) => void
  33111. /** 接口调用成功的回调函数 */
  33112. type StopDiscoverySuccessCallback = (res: Nfcrwerror) => void
  33113. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33114. type StopFaceDetectCompleteCallback = (res: GeneralCallbackResult) => void
  33115. /** 接口调用失败的回调函数 */
  33116. type StopFaceDetectFailCallback = (res: GeneralCallbackResult) => void
  33117. /** 接口调用成功的回调函数 */
  33118. type StopFaceDetectSuccessCallback = (res: GeneralCallbackResult) => void
  33119. /** 接口调用失败的回调函数 */
  33120. type StopFailCallback = (res: GeneralCallbackResult) => void
  33121. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33122. type StopGyroscopeCompleteCallback = (res: GeneralCallbackResult) => void
  33123. /** 接口调用失败的回调函数 */
  33124. type StopGyroscopeFailCallback = (res: GeneralCallbackResult) => void
  33125. /** 接口调用成功的回调函数 */
  33126. type StopGyroscopeSuccessCallback = (res: GeneralCallbackResult) => void
  33127. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33128. type StopHCECompleteCallback = (res: NFCError) => void
  33129. /** 接口调用失败的回调函数 */
  33130. type StopHCEFailCallback = (res: NFCError) => void
  33131. /** 接口调用成功的回调函数 */
  33132. type StopHCESuccessCallback = (res: NFCError) => void
  33133. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33134. type StopLocalServiceDiscoveryCompleteCallback = (
  33135. res: GeneralCallbackResult
  33136. ) => void
  33137. /** 接口调用失败的回调函数 */
  33138. type StopLocalServiceDiscoveryFailCallback = (
  33139. result: StopLocalServiceDiscoveryFailCallbackResult
  33140. ) => void
  33141. /** 接口调用成功的回调函数 */
  33142. type StopLocalServiceDiscoverySuccessCallback = (
  33143. res: GeneralCallbackResult
  33144. ) => void
  33145. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33146. type StopLocationUpdateCompleteCallback = (
  33147. res: GeneralCallbackResult
  33148. ) => void
  33149. /** 接口调用失败的回调函数 */
  33150. type StopLocationUpdateFailCallback = (res: GeneralCallbackResult) => void
  33151. /** 接口调用成功的回调函数 */
  33152. type StopLocationUpdateSuccessCallback = (
  33153. res: GeneralCallbackResult
  33154. ) => void
  33155. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33156. type StopPreviewCompleteCallback = (res: GeneralCallbackResult) => void
  33157. /** 接口调用失败的回调函数 */
  33158. type StopPreviewFailCallback = (res: GeneralCallbackResult) => void
  33159. /** 接口调用成功的回调函数 */
  33160. type StopPreviewSuccessCallback = (res: GeneralCallbackResult) => void
  33161. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33162. type StopPullDownRefreshCompleteCallback = (
  33163. res: GeneralCallbackResult
  33164. ) => void
  33165. /** 接口调用失败的回调函数 */
  33166. type StopPullDownRefreshFailCallback = (res: GeneralCallbackResult) => void
  33167. /** 接口调用成功的回调函数 */
  33168. type StopPullDownRefreshSuccessCallback = (
  33169. res: GeneralCallbackResult
  33170. ) => void
  33171. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33172. type StopRecordCompleteCallback = (res: GeneralCallbackResult) => void
  33173. /** 接口调用失败的回调函数 */
  33174. type StopRecordFailCallback = (res: GeneralCallbackResult) => void
  33175. /** 接口调用成功的回调函数 */
  33176. type StopSuccessCallback = (res: GeneralCallbackResult) => void
  33177. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33178. type StopVoiceCompleteCallback = (res: GeneralCallbackResult) => void
  33179. /** 接口调用失败的回调函数 */
  33180. type StopVoiceFailCallback = (res: GeneralCallbackResult) => void
  33181. /** 接口调用成功的回调函数 */
  33182. type StopVoiceSuccessCallback = (res: GeneralCallbackResult) => void
  33183. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33184. type StopWifiCompleteCallback = (res: WifiError) => void
  33185. /** 接口调用失败的回调函数 */
  33186. type StopWifiFailCallback = (res: WifiError) => void
  33187. /** 接口调用成功的回调函数 */
  33188. type StopWifiSuccessCallback = (res: WifiError) => void
  33189. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33190. type SubscribeVoIPVideoMembersCompleteCallback = (
  33191. res: GeneralCallbackResult
  33192. ) => void
  33193. /** 接口调用失败的回调函数 */
  33194. type SubscribeVoIPVideoMembersFailCallback = (
  33195. res: GeneralCallbackResult
  33196. ) => void
  33197. /** 接口调用成功的回调函数 */
  33198. type SubscribeVoIPVideoMembersSuccessCallback = (
  33199. res: GeneralCallbackResult
  33200. ) => void
  33201. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33202. type SwitchCameraCompleteCallback = (res: GeneralCallbackResult) => void
  33203. /** 接口调用失败的回调函数 */
  33204. type SwitchCameraFailCallback = (res: GeneralCallbackResult) => void
  33205. /** 接口调用成功的回调函数 */
  33206. type SwitchCameraSuccessCallback = (res: GeneralCallbackResult) => void
  33207. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33208. type SwitchCastingCompleteCallback = (res: GeneralCallbackResult) => void
  33209. /** 接口调用失败的回调函数 */
  33210. type SwitchCastingFailCallback = (res: GeneralCallbackResult) => void
  33211. /** 接口调用成功的回调函数 */
  33212. type SwitchCastingSuccessCallback = (res: GeneralCallbackResult) => void
  33213. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33214. type SwitchTabCompleteCallback = (res: GeneralCallbackResult) => void
  33215. /** 接口调用失败的回调函数 */
  33216. type SwitchTabFailCallback = (res: GeneralCallbackResult) => void
  33217. /** 接口调用成功的回调函数 */
  33218. type SwitchTabSuccessCallback = (res: GeneralCallbackResult) => void
  33219. /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  33220. type TCPSocketOffMessageCallback = (
  33221. result: TCPSocketOnMessageListenerResult
  33222. ) => void
  33223. /** 当接收到数据的时触发该事件的监听函数 */
  33224. type TCPSocketOnMessageCallback = (
  33225. result: TCPSocketOnMessageListenerResult
  33226. ) => void
  33227. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33228. type TakePhotoCompleteCallback = (res: GeneralCallbackResult) => void
  33229. /** 接口调用失败的回调函数 */
  33230. type TakePhotoFailCallback = (res: GeneralCallbackResult) => void
  33231. /** 接口调用成功的回调函数 */
  33232. type TakePhotoSuccessCallback = (
  33233. result: TakePhotoSuccessCallbackResult
  33234. ) => void
  33235. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33236. type TakeSnapshotCompleteCallback = (res: GeneralCallbackResult) => void
  33237. /** 接口调用失败的回调函数 */
  33238. type TakeSnapshotFailCallback = (res: GeneralCallbackResult) => void
  33239. /** 接口调用成功的回调函数 */
  33240. type TakeSnapshotSuccessCallback = (
  33241. result: TakeSnapshotSuccessCallbackResult
  33242. ) => void
  33243. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33244. type ToScreenLocationCompleteCallback = (res: GeneralCallbackResult) => void
  33245. /** 接口调用失败的回调函数 */
  33246. type ToScreenLocationFailCallback = (res: GeneralCallbackResult) => void
  33247. /** 接口调用成功的回调函数 */
  33248. type ToScreenLocationSuccessCallback = (
  33249. result: ToScreenLocationSuccessCallbackResult
  33250. ) => void
  33251. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33252. type ToggleTorchCompleteCallback = (res: GeneralCallbackResult) => void
  33253. /** 接口调用失败的回调函数 */
  33254. type ToggleTorchFailCallback = (res: GeneralCallbackResult) => void
  33255. /** 接口调用成功的回调函数 */
  33256. type ToggleTorchSuccessCallback = (res: GeneralCallbackResult) => void
  33257. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33258. type TransceiveCompleteCallback = (res: Nfcrwerror) => void
  33259. /** 接口调用失败的回调函数 */
  33260. type TransceiveFailCallback = (res: Nfcrwerror) => void
  33261. /** 接口调用成功的回调函数 */
  33262. type TransceiveSuccessCallback = (
  33263. result: TransceiveSuccessCallbackResult
  33264. ) => void
  33265. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33266. type TranslateMarkerCompleteCallback = (res: GeneralCallbackResult) => void
  33267. /** 接口调用失败的回调函数 */
  33268. type TranslateMarkerFailCallback = (res: GeneralCallbackResult) => void
  33269. /** 接口调用成功的回调函数 */
  33270. type TranslateMarkerSuccessCallback = (res: GeneralCallbackResult) => void
  33271. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33272. type TruncateCompleteCallback = (res: FileError) => void
  33273. /** 接口调用失败的回调函数 */
  33274. type TruncateFailCallback = (res: FileError) => void
  33275. /** 接口调用成功的回调函数 */
  33276. type TruncateSuccessCallback = (res: FileError) => void
  33277. /** onClose 传入的监听函数。不传此参数则移除所有监听函数。 */
  33278. type UDPSocketOffCloseCallback = (res: GeneralCallbackResult) => void
  33279. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  33280. type UDPSocketOffErrorCallback = (result: GeneralCallbackResult) => void
  33281. /** onMessage 传入的监听函数。不传此参数则移除所有监听函数。 */
  33282. type UDPSocketOffMessageCallback = (
  33283. result: UDPSocketOnMessageListenerResult
  33284. ) => void
  33285. type UDPSocketOnCloseCallback = (res: GeneralCallbackResult) => void
  33286. type UDPSocketOnErrorCallback = (result: GeneralCallbackResult) => void
  33287. /** 收到消息的事件的监听函数 */
  33288. type UDPSocketOnMessageCallback = (
  33289. result: UDPSocketOnMessageListenerResult
  33290. ) => void
  33291. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33292. type UndoCompleteCallback = (res: GeneralCallbackResult) => void
  33293. /** 接口调用失败的回调函数 */
  33294. type UndoFailCallback = (res: GeneralCallbackResult) => void
  33295. /** 接口调用成功的回调函数 */
  33296. type UndoSuccessCallback = (res: GeneralCallbackResult) => void
  33297. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33298. type UnlinkCompleteCallback = (res: FileError) => void
  33299. /** 接口调用失败的回调函数 */
  33300. type UnlinkFailCallback = (res: FileError) => void
  33301. /** 接口调用成功的回调函数 */
  33302. type UnlinkSuccessCallback = (res: FileError) => void
  33303. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33304. type UnzipCompleteCallback = (res: FileError) => void
  33305. /** 接口调用失败的回调函数 */
  33306. type UnzipFailCallback = (res: FileError) => void
  33307. /** 接口调用成功的回调函数 */
  33308. type UnzipSuccessCallback = (res: FileError) => void
  33309. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33310. type UpdateGroundOverlayCompleteCallback = (
  33311. res: GeneralCallbackResult
  33312. ) => void
  33313. /** 接口调用失败的回调函数 */
  33314. type UpdateGroundOverlayFailCallback = (res: GeneralCallbackResult) => void
  33315. /** 接口调用成功的回调函数 */
  33316. type UpdateGroundOverlaySuccessCallback = (
  33317. res: GeneralCallbackResult
  33318. ) => void
  33319. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33320. type UpdateShareMenuCompleteCallback = (res: GeneralCallbackResult) => void
  33321. /** 接口调用失败的回调函数 */
  33322. type UpdateShareMenuFailCallback = (res: GeneralCallbackResult) => void
  33323. /** 接口调用成功的回调函数 */
  33324. type UpdateShareMenuSuccessCallback = (res: GeneralCallbackResult) => void
  33325. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33326. type UpdateVoIPChatMuteConfigCompleteCallback = (
  33327. res: GeneralCallbackResult
  33328. ) => void
  33329. /** 接口调用失败的回调函数 */
  33330. type UpdateVoIPChatMuteConfigFailCallback = (
  33331. res: GeneralCallbackResult
  33332. ) => void
  33333. /** 接口调用成功的回调函数 */
  33334. type UpdateVoIPChatMuteConfigSuccessCallback = (
  33335. res: GeneralCallbackResult
  33336. ) => void
  33337. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33338. type UpdateWeChatAppCompleteCallback = (res: GeneralCallbackResult) => void
  33339. /** 接口调用失败的回调函数 */
  33340. type UpdateWeChatAppFailCallback = (res: GeneralCallbackResult) => void
  33341. /** 接口调用成功的回调函数 */
  33342. type UpdateWeChatAppSuccessCallback = (res: GeneralCallbackResult) => void
  33343. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33344. type UploadFileCompleteCallback = (res: GeneralCallbackResult) => void
  33345. /** 接口调用失败的回调函数 */
  33346. type UploadFileFailCallback = (res: GeneralCallbackResult) => void
  33347. /** 接口调用成功的回调函数 */
  33348. type UploadFileSuccessCallback = (
  33349. result: UploadFileSuccessCallbackResult
  33350. ) => void
  33351. /** onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。 */
  33352. type UploadTaskOffProgressUpdateCallback = (
  33353. result: UploadTaskOnProgressUpdateListenerResult
  33354. ) => void
  33355. /** 上传进度变化事件的监听函数 */
  33356. type UploadTaskOnProgressUpdateCallback = (
  33357. result: UploadTaskOnProgressUpdateListenerResult
  33358. ) => void
  33359. /** 开启会话回调 */
  33360. type VKSessionStartCallback = (
  33361. /** 参数 status 可选值:
  33362. * - 0: 成功;
  33363. * - 104: 用户取消授权;
  33364. * - 112: 接口未在隐私协议中声明;
  33365. * - 1025: 小程序隐私接口被封禁,[解决方案参考链接](https://developers.weixin.qq.com/community/develop/doc/00062a6d514c88baacdf52e8a56009);
  33366. * - 1026: 小游戏隐私接口被封禁,[解决方案参考链接](https://developers.weixin.qq.com/community/minigame/doc/0004c84925817819b7ffd8b2356008);
  33367. * - 2000001: 参数错误;
  33368. * - 2003000: 会话不可用;
  33369. * - 2000000: 系统错误;
  33370. * - 2000002: 设备不支持;
  33371. * - 2000003: 系统不支持;
  33372. * - 2000004: 设备不支持;
  33373. * - 2003001: 未开启系统相机权限;
  33374. * - 2003002: 未开启小程序相机权限; */
  33375. status:
  33376. | 0
  33377. | 104
  33378. | 112
  33379. | 1025
  33380. | 1026
  33381. | 2000001
  33382. | 2003000
  33383. | 2000000
  33384. | 2000002
  33385. | 2000003
  33386. | 2000004
  33387. | 2003001
  33388. | 2003002
  33389. ) => void
  33390. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33391. type VibrateLongCompleteCallback = (res: GeneralCallbackResult) => void
  33392. /** 接口调用失败的回调函数 */
  33393. type VibrateLongFailCallback = (res: GeneralCallbackResult) => void
  33394. /** 接口调用成功的回调函数 */
  33395. type VibrateLongSuccessCallback = (res: GeneralCallbackResult) => void
  33396. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33397. type VibrateShortCompleteCallback = (res: GeneralCallbackResult) => void
  33398. /** 接口调用失败的回调函数 */
  33399. type VibrateShortFailCallback = (
  33400. result: VibrateShortFailCallbackResult
  33401. ) => void
  33402. /** 接口调用成功的回调函数 */
  33403. type VibrateShortSuccessCallback = (res: GeneralCallbackResult) => void
  33404. /** 主线程/Worker 线程向当前线程发送的消息的事件的监听函数 */
  33405. type WorkerOnMessageCallback = (
  33406. result: WorkerOnMessageListenerResult
  33407. ) => void
  33408. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33409. type WriteBLECharacteristicValueCompleteCallback = (
  33410. res: BluetoothError
  33411. ) => void
  33412. /** 接口调用失败的回调函数 */
  33413. type WriteBLECharacteristicValueFailCallback = (res: BluetoothError) => void
  33414. /** 接口调用成功的回调函数 */
  33415. type WriteBLECharacteristicValueSuccessCallback = (
  33416. res: BluetoothError
  33417. ) => void
  33418. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33419. type WriteCharacteristicValueCompleteCallback = (
  33420. res: GeneralCallbackResult
  33421. ) => void
  33422. /** 接口调用失败的回调函数 */
  33423. type WriteCharacteristicValueFailCallback = (
  33424. res: GeneralCallbackResult
  33425. ) => void
  33426. /** 接口调用成功的回调函数 */
  33427. type WriteCharacteristicValueSuccessCallback = (
  33428. res: GeneralCallbackResult
  33429. ) => void
  33430. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33431. type WriteCompleteCallback = (res: FileError) => void
  33432. /** 接口调用失败的回调函数 */
  33433. type WriteFailCallback = (res: FileError) => void
  33434. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33435. type WriteFileCompleteCallback = (res: FileError) => void
  33436. /** 接口调用失败的回调函数 */
  33437. type WriteFileFailCallback = (res: FileError) => void
  33438. /** 接口调用成功的回调函数 */
  33439. type WriteFileSuccessCallback = (res: FileError) => void
  33440. /** 接口调用结束的回调函数(调用成功、失败都会执行) */
  33441. type WriteNdefMessageCompleteCallback = (res: Nfcrwerror) => void
  33442. /** 接口调用失败的回调函数 */
  33443. type WriteNdefMessageFailCallback = (res: Nfcrwerror) => void
  33444. /** 接口调用成功的回调函数 */
  33445. type WriteNdefMessageSuccessCallback = (res: Nfcrwerror) => void
  33446. /** 接口调用成功的回调函数 */
  33447. type WriteSuccessCallback = (result: WriteSuccessCallbackResult) => void
  33448. /** onError 传入的监听函数。不传此参数则移除所有监听函数。 */
  33449. type WxOffErrorCallback = (res: GeneralCallbackResult) => void
  33450. /** 小程序错误事件的监听函数 */
  33451. type WxOnErrorCallback = (
  33452. /** 错误 */
  33453. error: Error
  33454. ) => void
  33455. /** 接口调用成功的回调函数 */
  33456. type WxStartRecordSuccessCallback = (
  33457. result: StartRecordSuccessCallbackResult
  33458. ) => void
  33459. /** 接口调用成功的回调函数 */
  33460. type WxStopRecordSuccessCallback = (res: GeneralCallbackResult) => void
  33461. }