uview-plus.js 117 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586
  1. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/test.js
  2. function email(value) {
  3. return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
  4. }
  5. function mobile(value) {
  6. return /^1[23456789]\d{9}$/.test(value);
  7. }
  8. function url(value) {
  9. return /^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\/?)$/.test(value);
  10. }
  11. function date(value) {
  12. if (!value)
  13. return false;
  14. if (number(value))
  15. value = +value;
  16. return !/Invalid|NaN/.test(new Date(value).toString());
  17. }
  18. function dateISO(value) {
  19. return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);
  20. }
  21. function number(value) {
  22. return /^[\+-]?(\d+\.?\d*|\.\d+|\d\.\d+e\+\d+)$/.test(value);
  23. }
  24. function string(value) {
  25. return typeof value === "string";
  26. }
  27. function digits(value) {
  28. return /^\d+$/.test(value);
  29. }
  30. function idCard(value) {
  31. return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(
  32. value
  33. );
  34. }
  35. function carNo(value) {
  36. const xreg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
  37. const creg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
  38. if (value.length === 7) {
  39. return creg.test(value);
  40. }
  41. if (value.length === 8) {
  42. return xreg.test(value);
  43. }
  44. return false;
  45. }
  46. function amount(value) {
  47. return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value);
  48. }
  49. function chinese(value) {
  50. const reg = /^[\u4e00-\u9fa5]+$/gi;
  51. return reg.test(value);
  52. }
  53. function letter(value) {
  54. return /^[a-zA-Z]*$/.test(value);
  55. }
  56. function enOrNum(value) {
  57. const reg = /^[0-9a-zA-Z]*$/g;
  58. return reg.test(value);
  59. }
  60. function contains(value, param) {
  61. return value.indexOf(param) >= 0;
  62. }
  63. function range(value, param) {
  64. return value >= param[0] && value <= param[1];
  65. }
  66. function rangeLength(value, param) {
  67. return value.length >= param[0] && value.length <= param[1];
  68. }
  69. function landline(value) {
  70. const reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/;
  71. return reg.test(value);
  72. }
  73. function empty(value) {
  74. switch (typeof value) {
  75. case "undefined":
  76. return true;
  77. case "string":
  78. if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, "").length == 0)
  79. return true;
  80. break;
  81. case "boolean":
  82. if (!value)
  83. return true;
  84. break;
  85. case "number":
  86. if (value === 0 || isNaN(value))
  87. return true;
  88. break;
  89. case "object":
  90. if (value === null || value.length === 0)
  91. return true;
  92. for (const i in value) {
  93. return false;
  94. }
  95. return true;
  96. }
  97. return false;
  98. }
  99. function jsonString(value) {
  100. if (typeof value === "string") {
  101. try {
  102. const obj = JSON.parse(value);
  103. if (typeof obj === "object" && obj) {
  104. return true;
  105. }
  106. return false;
  107. } catch (e) {
  108. return false;
  109. }
  110. }
  111. return false;
  112. }
  113. function array(value) {
  114. if (typeof Array.isArray === "function") {
  115. return Array.isArray(value);
  116. }
  117. return Object.prototype.toString.call(value) === "[object Array]";
  118. }
  119. function object(value) {
  120. return Object.prototype.toString.call(value) === "[object Object]";
  121. }
  122. function code(value, len = 6) {
  123. return new RegExp(`^\\d{${len}}$`).test(value);
  124. }
  125. function func(value) {
  126. return typeof value === "function";
  127. }
  128. function promise(value) {
  129. return object(value) && func(value.then) && func(value.catch);
  130. }
  131. function image(value) {
  132. const newValue = value.split("?")[0];
  133. const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;
  134. return IMAGE_REGEXP.test(newValue);
  135. }
  136. function video(value) {
  137. const VIDEO_REGEXP = /\.(mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8)/i;
  138. return VIDEO_REGEXP.test(value);
  139. }
  140. function regExp(o) {
  141. return o && Object.prototype.toString.call(o) === "[object RegExp]";
  142. }
  143. var test_default = {
  144. email,
  145. mobile,
  146. url,
  147. date,
  148. dateISO,
  149. number,
  150. digits,
  151. idCard,
  152. carNo,
  153. amount,
  154. chinese,
  155. letter,
  156. enOrNum,
  157. contains,
  158. range,
  159. rangeLength,
  160. empty,
  161. isEmpty: empty,
  162. jsonString,
  163. landline,
  164. object,
  165. array,
  166. code,
  167. func,
  168. promise,
  169. video,
  170. image,
  171. regExp,
  172. string
  173. };
  174. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/digit.js
  175. var _boundaryCheckingState = true;
  176. function strip(num, precision = 15) {
  177. return +parseFloat(Number(num).toPrecision(precision));
  178. }
  179. function digitLength(num) {
  180. const eSplit = num.toString().split(/[eE]/);
  181. const len = (eSplit[0].split(".")[1] || "").length - +(eSplit[1] || 0);
  182. return len > 0 ? len : 0;
  183. }
  184. function float2Fixed(num) {
  185. if (num.toString().indexOf("e") === -1) {
  186. return Number(num.toString().replace(".", ""));
  187. }
  188. const dLen = digitLength(num);
  189. return dLen > 0 ? strip(Number(num) * Math.pow(10, dLen)) : Number(num);
  190. }
  191. function checkBoundary(num) {
  192. if (_boundaryCheckingState) {
  193. if (num > Number.MAX_SAFE_INTEGER || num < Number.MIN_SAFE_INTEGER) {
  194. console.warn(`${num} 超出了精度限制,结果可能不正确`);
  195. }
  196. }
  197. }
  198. function iteratorOperation(arr, operation) {
  199. const [num1, num2, ...others] = arr;
  200. let res = operation(num1, num2);
  201. others.forEach((num) => {
  202. res = operation(res, num);
  203. });
  204. return res;
  205. }
  206. function times(...nums) {
  207. if (nums.length > 2) {
  208. return iteratorOperation(nums, times);
  209. }
  210. const [num1, num2] = nums;
  211. const num1Changed = float2Fixed(num1);
  212. const num2Changed = float2Fixed(num2);
  213. const baseNum = digitLength(num1) + digitLength(num2);
  214. const leftValue = num1Changed * num2Changed;
  215. checkBoundary(leftValue);
  216. return leftValue / Math.pow(10, baseNum);
  217. }
  218. function divide(...nums) {
  219. if (nums.length > 2) {
  220. return iteratorOperation(nums, divide);
  221. }
  222. const [num1, num2] = nums;
  223. const num1Changed = float2Fixed(num1);
  224. const num2Changed = float2Fixed(num2);
  225. checkBoundary(num1Changed);
  226. checkBoundary(num2Changed);
  227. return times(num1Changed / num2Changed, strip(Math.pow(10, digitLength(num2) - digitLength(num1))));
  228. }
  229. function round(num, ratio) {
  230. const base = Math.pow(10, ratio);
  231. let result = divide(Math.round(Math.abs(times(num, base))), base);
  232. if (num < 0 && result !== 0) {
  233. result = times(result, -1);
  234. }
  235. return result;
  236. }
  237. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/config.js
  238. var version = "3";
  239. if (true) {
  240. console.log(`
  241. %c uview-plus V${version} %c https://ijry.github.io/uview-plus/
  242. `, "color: #ffffff; background: #3c9cff; padding:5px 0;", "color: #3c9cff;background: #ffffff; padding:5px 0;");
  243. }
  244. var config_default = {
  245. v: version,
  246. version,
  247. // 主题名称
  248. type: [
  249. "primary",
  250. "success",
  251. "info",
  252. "error",
  253. "warning"
  254. ],
  255. // 颜色部分,本来可以通过scss的:export导出供js使用,但是奈何nvue不支持
  256. color: {
  257. "u-primary": "#2979ff",
  258. "u-warning": "#ff9900",
  259. "u-success": "#19be6b",
  260. "u-error": "#fa3534",
  261. "u-info": "#909399",
  262. "u-main-color": "#303133",
  263. "u-content-color": "#606266",
  264. "u-tips-color": "#909399",
  265. "u-light-color": "#c0c4cc"
  266. },
  267. // 默认单位,可以通过配置为rpx,那么在用于传入组件大小参数为数值时,就默认为rpx
  268. unit: "px"
  269. };
  270. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/index.js
  271. function range2(min = 0, max = 0, value = 0) {
  272. return Math.max(min, Math.min(max, Number(value)));
  273. }
  274. function getPx(value, unit = false) {
  275. if (number(value)) {
  276. return unit ? `${value}px` : Number(value);
  277. }
  278. if (/(rpx|upx)$/.test(value)) {
  279. return unit ? `${uni.upx2px(parseInt(value))}px` : Number(uni.upx2px(parseInt(value)));
  280. }
  281. return unit ? `${parseInt(value)}px` : parseInt(value);
  282. }
  283. function sleep(value = 30) {
  284. return new Promise((resolve) => {
  285. setTimeout(() => {
  286. resolve();
  287. }, value);
  288. });
  289. }
  290. function os() {
  291. return uni.getSystemInfoSync().platform.toLowerCase();
  292. }
  293. function sys() {
  294. return uni.getSystemInfoSync();
  295. }
  296. function random(min, max) {
  297. if (min >= 0 && max > 0 && max >= min) {
  298. const gab = max - min + 1;
  299. return Math.floor(Math.random() * gab + min);
  300. }
  301. return 0;
  302. }
  303. function guid(len = 32, firstU = true, radix = null) {
  304. const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
  305. const uuid = [];
  306. radix = radix || chars.length;
  307. if (len) {
  308. for (let i = 0; i < len; i++)
  309. uuid[i] = chars[0 | Math.random() * radix];
  310. } else {
  311. let r;
  312. uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
  313. uuid[14] = "4";
  314. for (let i = 0; i < 36; i++) {
  315. if (!uuid[i]) {
  316. r = 0 | Math.random() * 16;
  317. uuid[i] = chars[i == 19 ? r & 3 | 8 : r];
  318. }
  319. }
  320. }
  321. if (firstU) {
  322. uuid.shift();
  323. return `u${uuid.join("")}`;
  324. }
  325. return uuid.join("");
  326. }
  327. function $parent(name = void 0) {
  328. let parent = this.$parent;
  329. while (parent) {
  330. if (parent.$options && parent.$options.name !== name) {
  331. parent = parent.$parent;
  332. } else {
  333. return parent;
  334. }
  335. }
  336. return false;
  337. }
  338. function addStyle(customStyle, target = "object") {
  339. if (empty(customStyle) || typeof customStyle === "object" && target === "object" || target === "string" && typeof customStyle === "string") {
  340. return customStyle;
  341. }
  342. if (target === "object") {
  343. customStyle = trim(customStyle);
  344. const styleArray = customStyle.split(";");
  345. const style = {};
  346. for (let i = 0; i < styleArray.length; i++) {
  347. if (styleArray[i]) {
  348. const item = styleArray[i].split(":");
  349. style[trim(item[0])] = trim(item[1]);
  350. }
  351. }
  352. return style;
  353. }
  354. let string2 = "";
  355. if (typeof customStyle === "object") {
  356. customStyle.forEach((val, i) => {
  357. const key = i.replace(/([A-Z])/g, "-$1").toLowerCase();
  358. string2 += `${key}:${val};`;
  359. });
  360. }
  361. return trim(string2);
  362. }
  363. function addUnit(value = "auto", unit = "") {
  364. if (!unit) {
  365. unit = config_default.unit || "px";
  366. }
  367. value = String(value);
  368. return number(value) ? `${value}${unit}` : value;
  369. }
  370. function deepClone(obj) {
  371. if ([null, void 0, NaN, false].includes(obj))
  372. return obj;
  373. if (typeof obj !== "object" && typeof obj !== "function") {
  374. return obj;
  375. }
  376. const o = array(obj) ? [] : {};
  377. for (const i in obj) {
  378. if (obj.hasOwnProperty(i)) {
  379. o[i] = typeof obj[i] === "object" ? deepClone(obj[i]) : obj[i];
  380. }
  381. }
  382. return o;
  383. }
  384. function deepMerge(targetOrigin = {}, source = {}) {
  385. let target = deepClone(targetOrigin);
  386. if (typeof target !== "object" || typeof source !== "object")
  387. return false;
  388. for (const prop in source) {
  389. if (!source.hasOwnProperty(prop))
  390. continue;
  391. if (prop in target) {
  392. if (source[prop] == null) {
  393. target[prop] = source[prop];
  394. } else if (typeof target[prop] !== "object") {
  395. target[prop] = source[prop];
  396. } else if (typeof source[prop] !== "object") {
  397. target[prop] = source[prop];
  398. } else if (target[prop].concat && source[prop].concat) {
  399. target[prop] = target[prop].concat(source[prop]);
  400. } else {
  401. target[prop] = deepMerge(target[prop], source[prop]);
  402. }
  403. } else {
  404. target[prop] = source[prop];
  405. }
  406. }
  407. return target;
  408. }
  409. function shallowMerge(target, source = {}) {
  410. if (typeof target !== "object" || typeof source !== "object")
  411. return false;
  412. for (const prop in source) {
  413. if (!source.hasOwnProperty(prop))
  414. continue;
  415. if (prop in target) {
  416. if (source[prop] == null) {
  417. target[prop] = source[prop];
  418. } else if (typeof target[prop] !== "object") {
  419. target[prop] = source[prop];
  420. } else if (typeof source[prop] !== "object") {
  421. target[prop] = source[prop];
  422. } else if (target[prop].concat && source[prop].concat) {
  423. target[prop] = target[prop].concat(source[prop]);
  424. } else {
  425. target[prop] = shallowMerge(target[prop], source[prop]);
  426. }
  427. } else {
  428. target[prop] = source[prop];
  429. }
  430. }
  431. return target;
  432. }
  433. function error(err) {
  434. if (true) {
  435. console.error(`uView提示:${err}`);
  436. }
  437. }
  438. function randomArray(array2 = []) {
  439. return array2.sort(() => Math.random() - 0.5);
  440. }
  441. if (!String.prototype.padStart) {
  442. String.prototype.padStart = function(maxLength, fillString = " ") {
  443. if (Object.prototype.toString.call(fillString) !== "[object String]") {
  444. throw new TypeError(
  445. "fillString must be String"
  446. );
  447. }
  448. const str = this;
  449. if (str.length >= maxLength)
  450. return String(str);
  451. const fillLength = maxLength - str.length;
  452. let times2 = Math.ceil(fillLength / fillString.length);
  453. while (times2 >>= 1) {
  454. fillString += fillString;
  455. if (times2 === 1) {
  456. fillString += fillString;
  457. }
  458. }
  459. return fillString.slice(0, fillLength) + str;
  460. };
  461. }
  462. function timeFormat(dateTime = null, formatStr = "yyyy-mm-dd") {
  463. let date2;
  464. if (!dateTime) {
  465. date2 = /* @__PURE__ */ new Date();
  466. } else if (/^\d{10}$/.test(dateTime.toString().trim())) {
  467. date2 = new Date(dateTime * 1e3);
  468. } else if (typeof dateTime === "string" && /^\d+$/.test(dateTime.trim())) {
  469. date2 = new Date(Number(dateTime));
  470. } else {
  471. date2 = new Date(
  472. typeof dateTime === "string" ? dateTime.replace(/-/g, "/") : dateTime
  473. );
  474. }
  475. const timeSource = {
  476. "y": date2.getFullYear().toString(),
  477. // 年
  478. "m": (date2.getMonth() + 1).toString().padStart(2, "0"),
  479. // 月
  480. "d": date2.getDate().toString().padStart(2, "0"),
  481. // 日
  482. "h": date2.getHours().toString().padStart(2, "0"),
  483. // 时
  484. "M": date2.getMinutes().toString().padStart(2, "0"),
  485. // 分
  486. "s": date2.getSeconds().toString().padStart(2, "0")
  487. // 秒
  488. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  489. };
  490. for (const key in timeSource) {
  491. const [ret] = new RegExp(`${key}+`).exec(formatStr) || [];
  492. if (ret) {
  493. const beginIndex = key === "y" && ret.length === 2 ? 2 : 0;
  494. formatStr = formatStr.replace(ret, timeSource[key].slice(beginIndex));
  495. }
  496. }
  497. return formatStr;
  498. }
  499. function timeFrom(timestamp = null, format = "yyyy-mm-dd") {
  500. if (timestamp == null)
  501. timestamp = Number(/* @__PURE__ */ new Date());
  502. timestamp = parseInt(timestamp);
  503. if (timestamp.toString().length == 10)
  504. timestamp *= 1e3;
  505. let timer2 = (/* @__PURE__ */ new Date()).getTime() - timestamp;
  506. timer2 = parseInt(timer2 / 1e3);
  507. let tips = "";
  508. switch (true) {
  509. case timer2 < 300:
  510. tips = "刚刚";
  511. break;
  512. case (timer2 >= 300 && timer2 < 3600):
  513. tips = `${parseInt(timer2 / 60)}分钟前`;
  514. break;
  515. case (timer2 >= 3600 && timer2 < 86400):
  516. tips = `${parseInt(timer2 / 3600)}小时前`;
  517. break;
  518. case (timer2 >= 86400 && timer2 < 2592e3):
  519. tips = `${parseInt(timer2 / 86400)}天前`;
  520. break;
  521. default:
  522. if (format === false) {
  523. if (timer2 >= 2592e3 && timer2 < 365 * 86400) {
  524. tips = `${parseInt(timer2 / (86400 * 30))}个月前`;
  525. } else {
  526. tips = `${parseInt(timer2 / (86400 * 365))}年前`;
  527. }
  528. } else {
  529. tips = timeFormat(timestamp, format);
  530. }
  531. }
  532. return tips;
  533. }
  534. function trim(str, pos = "both") {
  535. str = String(str);
  536. if (pos == "both") {
  537. return str.replace(/^\s+|\s+$/g, "");
  538. }
  539. if (pos == "left") {
  540. return str.replace(/^\s*/, "");
  541. }
  542. if (pos == "right") {
  543. return str.replace(/(\s*$)/g, "");
  544. }
  545. if (pos == "all") {
  546. return str.replace(/\s+/g, "");
  547. }
  548. return str;
  549. }
  550. function queryParams(data = {}, isPrefix = true, arrayFormat = "brackets") {
  551. const prefix = isPrefix ? "?" : "";
  552. const _result = [];
  553. if (["indices", "brackets", "repeat", "comma"].indexOf(arrayFormat) == -1)
  554. arrayFormat = "brackets";
  555. for (const key in data) {
  556. const value = data[key];
  557. if (["", void 0, null].indexOf(value) >= 0) {
  558. continue;
  559. }
  560. if (value.constructor === Array) {
  561. switch (arrayFormat) {
  562. case "indices":
  563. for (let i = 0; i < value.length; i++) {
  564. _result.push(`${key}[${i}]=${value[i]}`);
  565. }
  566. break;
  567. case "brackets":
  568. value.forEach((_value) => {
  569. _result.push(`${key}[]=${_value}`);
  570. });
  571. break;
  572. case "repeat":
  573. value.forEach((_value) => {
  574. _result.push(`${key}=${_value}`);
  575. });
  576. break;
  577. case "comma":
  578. let commaStr = "";
  579. value.forEach((_value) => {
  580. commaStr += (commaStr ? "," : "") + _value;
  581. });
  582. _result.push(`${key}=${commaStr}`);
  583. break;
  584. default:
  585. value.forEach((_value) => {
  586. _result.push(`${key}[]=${_value}`);
  587. });
  588. }
  589. } else {
  590. _result.push(`${key}=${value}`);
  591. }
  592. }
  593. return _result.length ? prefix + _result.join("&") : "";
  594. }
  595. function toast(title, duration = 2e3) {
  596. uni.showToast({
  597. title: String(title),
  598. icon: "none",
  599. duration
  600. });
  601. }
  602. function type2icon(type = "success", fill = false) {
  603. if (["primary", "info", "error", "warning", "success"].indexOf(type) == -1)
  604. type = "success";
  605. let iconName = "";
  606. switch (type) {
  607. case "primary":
  608. iconName = "info-circle";
  609. break;
  610. case "info":
  611. iconName = "info-circle";
  612. break;
  613. case "error":
  614. iconName = "close-circle";
  615. break;
  616. case "warning":
  617. iconName = "error-circle";
  618. break;
  619. case "success":
  620. iconName = "checkmark-circle";
  621. break;
  622. default:
  623. iconName = "checkmark-circle";
  624. }
  625. if (fill)
  626. iconName += "-fill";
  627. return iconName;
  628. }
  629. function priceFormat(number2, decimals = 0, decimalPoint = ".", thousandsSeparator = ",") {
  630. number2 = `${number2}`.replace(/[^0-9+-Ee.]/g, "");
  631. const n = !isFinite(+number2) ? 0 : +number2;
  632. const prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);
  633. const sep = typeof thousandsSeparator === "undefined" ? "," : thousandsSeparator;
  634. const dec = typeof decimalPoint === "undefined" ? "." : decimalPoint;
  635. let s = "";
  636. s = (prec ? round(n, prec) + "" : `${Math.round(n)}`).split(".");
  637. const re = /(-?\d+)(\d{3})/;
  638. while (re.test(s[0])) {
  639. s[0] = s[0].replace(re, `$1${sep}$2`);
  640. }
  641. if ((s[1] || "").length < prec) {
  642. s[1] = s[1] || "";
  643. s[1] += new Array(prec - s[1].length + 1).join("0");
  644. }
  645. return s.join(dec);
  646. }
  647. function getDuration(value, unit = true) {
  648. const valueNum = parseInt(value);
  649. if (unit) {
  650. if (/s$/.test(value))
  651. return value;
  652. return value > 30 ? `${value}ms` : `${value}s`;
  653. }
  654. if (/ms$/.test(value))
  655. return valueNum;
  656. if (/s$/.test(value))
  657. return valueNum > 30 ? valueNum : valueNum * 1e3;
  658. return valueNum;
  659. }
  660. function padZero(value) {
  661. return `00${value}`.slice(-2);
  662. }
  663. function formValidate(instance, event) {
  664. const formItem = $parent.call(instance, "u-form-item");
  665. const form = $parent.call(instance, "u-form");
  666. if (formItem && form) {
  667. form.validateField(formItem.prop, () => {
  668. }, event);
  669. }
  670. }
  671. function getProperty(obj, key) {
  672. if (typeof obj !== "object" || null == obj) {
  673. return "";
  674. }
  675. if (typeof key !== "string" || key === "") {
  676. return "";
  677. }
  678. if (key.indexOf(".") !== -1) {
  679. const keys = key.split(".");
  680. let firstObj = obj[keys[0]] || {};
  681. for (let i = 1; i < keys.length; i++) {
  682. if (firstObj) {
  683. firstObj = firstObj[keys[i]];
  684. }
  685. }
  686. return firstObj;
  687. }
  688. return obj[key];
  689. }
  690. function setProperty(obj, key, value) {
  691. if (typeof obj !== "object" || null == obj) {
  692. return;
  693. }
  694. const inFn = function(_obj, keys, v) {
  695. if (keys.length === 1) {
  696. _obj[keys[0]] = v;
  697. return;
  698. }
  699. while (keys.length > 1) {
  700. const k = keys[0];
  701. if (!_obj[k] || typeof _obj[k] !== "object") {
  702. _obj[k] = {};
  703. }
  704. const key2 = keys.shift();
  705. inFn(_obj[k], keys, v);
  706. }
  707. };
  708. if (typeof key !== "string" || key === "") {
  709. } else if (key.indexOf(".") !== -1) {
  710. const keys = key.split(".");
  711. inFn(obj, keys, value);
  712. } else {
  713. obj[key] = value;
  714. }
  715. }
  716. function page() {
  717. const pages2 = getCurrentPages();
  718. return `/${pages2[pages2.length - 1].route || ""}`;
  719. }
  720. function pages() {
  721. const pages2 = getCurrentPages();
  722. return pages2;
  723. }
  724. var function_default = {
  725. range: range2,
  726. getPx,
  727. sleep,
  728. os,
  729. sys,
  730. random,
  731. guid,
  732. $parent,
  733. addStyle,
  734. addUnit,
  735. deepClone,
  736. deepMerge,
  737. shallowMerge,
  738. error,
  739. randomArray,
  740. timeFormat,
  741. timeFrom,
  742. trim,
  743. queryParams,
  744. toast,
  745. type2icon,
  746. priceFormat,
  747. getDuration,
  748. padZero,
  749. formValidate,
  750. getProperty,
  751. setProperty,
  752. page,
  753. pages
  754. // setConfig
  755. };
  756. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/util/route.js
  757. var Router = class {
  758. constructor() {
  759. this.config = {
  760. type: "navigateTo",
  761. url: "",
  762. delta: 1,
  763. // navigateBack页面后退时,回退的层数
  764. params: {},
  765. // 传递的参数
  766. animationType: "pop-in",
  767. // 窗口动画,只在APP有效
  768. animationDuration: 300,
  769. // 窗口动画持续时间,单位毫秒,只在APP有效
  770. intercept: false
  771. // 是否需要拦截
  772. };
  773. this.route = this.route.bind(this);
  774. }
  775. // 判断url前面是否有"/",如果没有则加上,否则无法跳转
  776. addRootPath(url2) {
  777. return url2[0] === "/" ? url2 : `/${url2}`;
  778. }
  779. // 整合路由参数
  780. mixinParam(url2, params) {
  781. url2 = url2 && this.addRootPath(url2);
  782. let query = "";
  783. if (/.*\/.*\?.*=.*/.test(url2)) {
  784. query = queryParams(params, false);
  785. return url2 += `&${query}`;
  786. }
  787. query = queryParams(params);
  788. return url2 += query;
  789. }
  790. // 对外的方法名称
  791. async route(options = {}, params = {}) {
  792. let mergeConfig = {};
  793. if (typeof options === "string") {
  794. mergeConfig.url = this.mixinParam(options, params);
  795. mergeConfig.type = "navigateTo";
  796. } else {
  797. mergeConfig = deepMerge(this.config, options);
  798. mergeConfig.url = this.mixinParam(options.url, options.params);
  799. }
  800. if (mergeConfig.url === page())
  801. return;
  802. if (params.intercept) {
  803. this.config.intercept = params.intercept;
  804. }
  805. mergeConfig.params = params;
  806. mergeConfig = deepMerge(this.config, mergeConfig);
  807. if (typeof uni.$u.routeIntercept === "function") {
  808. const isNext = await new Promise((resolve, reject) => {
  809. uni.$u.routeIntercept(mergeConfig, resolve);
  810. });
  811. isNext && this.openPage(mergeConfig);
  812. } else {
  813. this.openPage(mergeConfig);
  814. }
  815. }
  816. // 执行路由跳转
  817. openPage(config) {
  818. const {
  819. url: url2,
  820. type,
  821. delta,
  822. animationType,
  823. animationDuration
  824. } = config;
  825. if (config.type == "navigateTo" || config.type == "to") {
  826. uni.navigateTo({
  827. url: url2,
  828. animationType,
  829. animationDuration
  830. });
  831. }
  832. if (config.type == "redirectTo" || config.type == "redirect") {
  833. uni.redirectTo({
  834. url: url2
  835. });
  836. }
  837. if (config.type == "switchTab" || config.type == "tab") {
  838. uni.switchTab({
  839. url: url2
  840. });
  841. }
  842. if (config.type == "reLaunch" || config.type == "launch") {
  843. uni.reLaunch({
  844. url: url2
  845. });
  846. }
  847. if (config.type == "navigateBack" || config.type == "back") {
  848. uni.navigateBack({
  849. delta
  850. });
  851. }
  852. }
  853. };
  854. var route_default = new Router().route;
  855. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/mixin/mixin.js
  856. var mixin_default = {
  857. // 定义每个组件都可能需要用到的外部样式以及类名
  858. props: {
  859. // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式
  860. customStyle: {
  861. type: [Object, String],
  862. default: () => ({})
  863. },
  864. customClass: {
  865. type: String,
  866. default: ""
  867. },
  868. // 跳转的页面路径
  869. url: {
  870. type: String,
  871. default: ""
  872. },
  873. // 页面跳转的类型
  874. linkType: {
  875. type: String,
  876. default: "navigateTo"
  877. }
  878. },
  879. data() {
  880. return {};
  881. },
  882. onLoad() {
  883. this.$u.getRect = this.$uGetRect;
  884. },
  885. created() {
  886. this.$u.getRect = this.$uGetRect;
  887. },
  888. computed: {
  889. // 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式
  890. // 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用uni.$u.xxx
  891. // 只在nvue环境通过此方式引入完整的$u,其他平台会出现性能问题,非nvue则按需引入(主要原因是props过大)
  892. $u() {
  893. return deepMerge(uni.$u, {
  894. props: void 0,
  895. http: void 0,
  896. mixin: void 0
  897. });
  898. },
  899. /**
  900. * 生成bem规则类名
  901. * 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class="[bem()]"的形式进行同用
  902. * 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式
  903. * @param {String} name 组件名称
  904. * @param {Array} fixed 一直会存在的类名
  905. * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名
  906. * @returns {Array|string}
  907. */
  908. bem() {
  909. return function(name, fixed, change) {
  910. const prefix = `u-${name}--`;
  911. const classes = {};
  912. if (fixed) {
  913. fixed.map((item) => {
  914. classes[prefix + this[item]] = true;
  915. });
  916. }
  917. if (change) {
  918. change.map((item) => {
  919. this[item] ? classes[prefix + item] = this[item] : delete classes[prefix + item];
  920. });
  921. }
  922. return Object.keys(classes);
  923. };
  924. }
  925. },
  926. methods: {
  927. // 跳转某一个页面
  928. openPage(urlKey = "url") {
  929. const url2 = this[urlKey];
  930. if (url2) {
  931. route_default({ type: this.linkType, url: url2 });
  932. }
  933. },
  934. // 查询节点信息
  935. // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)
  936. // 解决办法为在组件根部再套一个没有任何作用的view元素
  937. $uGetRect(selector, all) {
  938. return new Promise((resolve) => {
  939. uni.createSelectorQuery().in(this)[all ? "selectAll" : "select"](selector).boundingClientRect((rect) => {
  940. if (all && Array.isArray(rect) && rect.length) {
  941. resolve(rect);
  942. }
  943. if (!all && rect) {
  944. resolve(rect);
  945. }
  946. }).exec();
  947. });
  948. },
  949. getParentData(parentName = "") {
  950. if (!this.parent)
  951. this.parent = {};
  952. this.parent = $parent.call(this, parentName);
  953. if (this.parent.children) {
  954. this.parent.children.indexOf(this) === -1 && this.parent.children.push(this);
  955. }
  956. if (this.parent && this.parentData) {
  957. Object.keys(this.parentData).map((key) => {
  958. this.parentData[key] = this.parent[key];
  959. });
  960. }
  961. },
  962. // 阻止事件冒泡
  963. preventEvent(e) {
  964. e && typeof e.stopPropagation === "function" && e.stopPropagation();
  965. },
  966. // 空操作
  967. noop(e) {
  968. this.preventEvent(e);
  969. }
  970. },
  971. onReachBottom() {
  972. uni.$emit("uOnReachBottom");
  973. },
  974. beforeUnmount() {
  975. if (this.parent && test_default.array(this.parent.children)) {
  976. const childrenList = this.parent.children;
  977. childrenList.map((child, index) => {
  978. if (child === this) {
  979. childrenList.splice(index, 1);
  980. }
  981. });
  982. }
  983. }
  984. };
  985. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/mixin/mpMixin.js
  986. var mpMixin_default = {};
  987. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/utils.js
  988. var { toString } = Object.prototype;
  989. function isArray(val) {
  990. return toString.call(val) === "[object Array]";
  991. }
  992. function isObject(val) {
  993. return val !== null && typeof val === "object";
  994. }
  995. function isDate(val) {
  996. return toString.call(val) === "[object Date]";
  997. }
  998. function isURLSearchParams(val) {
  999. return typeof URLSearchParams !== "undefined" && val instanceof URLSearchParams;
  1000. }
  1001. function forEach(obj, fn) {
  1002. if (obj === null || typeof obj === "undefined") {
  1003. return;
  1004. }
  1005. if (typeof obj !== "object") {
  1006. obj = [obj];
  1007. }
  1008. if (isArray(obj)) {
  1009. for (let i = 0, l = obj.length; i < l; i++) {
  1010. fn.call(null, obj[i], i, obj);
  1011. }
  1012. } else {
  1013. for (const key in obj) {
  1014. if (Object.prototype.hasOwnProperty.call(obj, key)) {
  1015. fn.call(null, obj[key], key, obj);
  1016. }
  1017. }
  1018. }
  1019. }
  1020. function isPlainObject(obj) {
  1021. return Object.prototype.toString.call(obj) === "[object Object]";
  1022. }
  1023. function deepMerge2() {
  1024. const result = {};
  1025. function assignValue(val, key) {
  1026. if (typeof result[key] === "object" && typeof val === "object") {
  1027. result[key] = deepMerge2(result[key], val);
  1028. } else if (typeof val === "object") {
  1029. result[key] = deepMerge2({}, val);
  1030. } else {
  1031. result[key] = val;
  1032. }
  1033. }
  1034. for (let i = 0, l = arguments.length; i < l; i++) {
  1035. forEach(arguments[i], assignValue);
  1036. }
  1037. return result;
  1038. }
  1039. function isUndefined(val) {
  1040. return typeof val === "undefined";
  1041. }
  1042. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/helpers/buildURL.js
  1043. function encode(val) {
  1044. return encodeURIComponent(val).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
  1045. }
  1046. function buildURL(url2, params) {
  1047. if (!params) {
  1048. return url2;
  1049. }
  1050. let serializedParams;
  1051. if (isURLSearchParams(params)) {
  1052. serializedParams = params.toString();
  1053. } else {
  1054. const parts = [];
  1055. forEach(params, (val, key) => {
  1056. if (val === null || typeof val === "undefined") {
  1057. return;
  1058. }
  1059. if (isArray(val)) {
  1060. key = `${key}[]`;
  1061. } else {
  1062. val = [val];
  1063. }
  1064. forEach(val, (v) => {
  1065. if (isDate(v)) {
  1066. v = v.toISOString();
  1067. } else if (isObject(v)) {
  1068. v = JSON.stringify(v);
  1069. }
  1070. parts.push(`${encode(key)}=${encode(v)}`);
  1071. });
  1072. });
  1073. serializedParams = parts.join("&");
  1074. }
  1075. if (serializedParams) {
  1076. const hashmarkIndex = url2.indexOf("#");
  1077. if (hashmarkIndex !== -1) {
  1078. url2 = url2.slice(0, hashmarkIndex);
  1079. }
  1080. url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams;
  1081. }
  1082. return url2;
  1083. }
  1084. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js
  1085. function isAbsoluteURL(url2) {
  1086. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2);
  1087. }
  1088. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/helpers/combineURLs.js
  1089. function combineURLs(baseURL, relativeURL) {
  1090. return relativeURL ? `${baseURL.replace(/\/+$/, "")}/${relativeURL.replace(/^\/+/, "")}` : baseURL;
  1091. }
  1092. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/buildFullPath.js
  1093. function buildFullPath(baseURL, requestedURL) {
  1094. if (baseURL && !isAbsoluteURL(requestedURL)) {
  1095. return combineURLs(baseURL, requestedURL);
  1096. }
  1097. return requestedURL;
  1098. }
  1099. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/settle.js
  1100. function settle(resolve, reject, response) {
  1101. const { validateStatus: validateStatus2 } = response.config;
  1102. const status = response.statusCode;
  1103. if (status && (!validateStatus2 || validateStatus2(status))) {
  1104. resolve(response);
  1105. } else {
  1106. reject(response);
  1107. }
  1108. }
  1109. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/adapters/index.js
  1110. var mergeKeys = (keys, config2) => {
  1111. const config = {};
  1112. keys.forEach((prop) => {
  1113. if (!isUndefined(config2[prop])) {
  1114. config[prop] = config2[prop];
  1115. }
  1116. });
  1117. return config;
  1118. };
  1119. var adapters_default = (config) => new Promise((resolve, reject) => {
  1120. const fullPath = buildURL(buildFullPath(config.baseURL, config.url), config.params);
  1121. const _config = {
  1122. url: fullPath,
  1123. header: config.header,
  1124. complete: (response) => {
  1125. config.fullPath = fullPath;
  1126. response.config = config;
  1127. try {
  1128. if (typeof response.data === "string") {
  1129. response.data = JSON.parse(response.data);
  1130. }
  1131. } catch (e) {
  1132. }
  1133. settle(resolve, reject, response);
  1134. }
  1135. };
  1136. let requestTask;
  1137. if (config.method === "UPLOAD") {
  1138. delete _config.header["content-type"];
  1139. delete _config.header["Content-Type"];
  1140. const otherConfig = {
  1141. filePath: config.filePath,
  1142. name: config.name
  1143. };
  1144. const optionalKeys = [
  1145. "files",
  1146. "file",
  1147. "timeout",
  1148. "formData"
  1149. ];
  1150. requestTask = uni.uploadFile({ ..._config, ...otherConfig, ...mergeKeys(optionalKeys, config) });
  1151. } else if (config.method === "DOWNLOAD") {
  1152. if (!isUndefined(config.timeout)) {
  1153. _config.timeout = config.timeout;
  1154. }
  1155. requestTask = uni.downloadFile(_config);
  1156. } else {
  1157. const optionalKeys = [
  1158. "data",
  1159. "method",
  1160. "timeout",
  1161. "dataType",
  1162. "responseType",
  1163. "withCredentials"
  1164. ];
  1165. requestTask = uni.request({ ..._config, ...mergeKeys(optionalKeys, config) });
  1166. }
  1167. if (config.getTask) {
  1168. config.getTask(requestTask, config);
  1169. }
  1170. });
  1171. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/dispatchRequest.js
  1172. var dispatchRequest_default = (config) => adapters_default(config);
  1173. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/InterceptorManager.js
  1174. function InterceptorManager() {
  1175. this.handlers = [];
  1176. }
  1177. InterceptorManager.prototype.use = function use(fulfilled, rejected) {
  1178. this.handlers.push({
  1179. fulfilled,
  1180. rejected
  1181. });
  1182. return this.handlers.length - 1;
  1183. };
  1184. InterceptorManager.prototype.eject = function eject(id) {
  1185. if (this.handlers[id]) {
  1186. this.handlers[id] = null;
  1187. }
  1188. };
  1189. InterceptorManager.prototype.forEach = function forEach2(fn) {
  1190. this.handlers.forEach((h) => {
  1191. if (h !== null) {
  1192. fn(h);
  1193. }
  1194. });
  1195. };
  1196. var InterceptorManager_default = InterceptorManager;
  1197. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/mergeConfig.js
  1198. var mergeKeys2 = (keys, globalsConfig, config2) => {
  1199. const config = {};
  1200. keys.forEach((prop) => {
  1201. if (!isUndefined(config2[prop])) {
  1202. config[prop] = config2[prop];
  1203. } else if (!isUndefined(globalsConfig[prop])) {
  1204. config[prop] = globalsConfig[prop];
  1205. }
  1206. });
  1207. return config;
  1208. };
  1209. var mergeConfig_default = (globalsConfig, config2 = {}) => {
  1210. const method = config2.method || globalsConfig.method || "GET";
  1211. let config = {
  1212. baseURL: globalsConfig.baseURL || "",
  1213. method,
  1214. url: config2.url || "",
  1215. params: config2.params || {},
  1216. custom: { ...globalsConfig.custom || {}, ...config2.custom || {} },
  1217. header: deepMerge2(globalsConfig.header || {}, config2.header || {})
  1218. };
  1219. const defaultToConfig2Keys = ["getTask", "validateStatus"];
  1220. config = { ...config, ...mergeKeys2(defaultToConfig2Keys, globalsConfig, config2) };
  1221. if (method === "DOWNLOAD") {
  1222. if (!isUndefined(config2.timeout)) {
  1223. config.timeout = config2.timeout;
  1224. } else if (!isUndefined(globalsConfig.timeout)) {
  1225. config.timeout = globalsConfig.timeout;
  1226. }
  1227. } else if (method === "UPLOAD") {
  1228. delete config.header["content-type"];
  1229. delete config.header["Content-Type"];
  1230. const uploadKeys = [
  1231. "files",
  1232. "file",
  1233. "filePath",
  1234. "name",
  1235. "timeout",
  1236. "formData"
  1237. ];
  1238. uploadKeys.forEach((prop) => {
  1239. if (!isUndefined(config2[prop])) {
  1240. config[prop] = config2[prop];
  1241. }
  1242. });
  1243. if (isUndefined(config.timeout) && !isUndefined(globalsConfig.timeout)) {
  1244. config.timeout = globalsConfig.timeout;
  1245. }
  1246. } else {
  1247. const defaultsKeys = [
  1248. "data",
  1249. "timeout",
  1250. "dataType",
  1251. "responseType",
  1252. "withCredentials"
  1253. ];
  1254. config = { ...config, ...mergeKeys2(defaultsKeys, globalsConfig, config2) };
  1255. }
  1256. return config;
  1257. };
  1258. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/defaults.js
  1259. var defaults_default = {
  1260. baseURL: "",
  1261. header: {},
  1262. method: "GET",
  1263. dataType: "json",
  1264. responseType: "text",
  1265. custom: {},
  1266. timeout: 6e4,
  1267. withCredentials: false,
  1268. validateStatus: function validateStatus(status) {
  1269. return status >= 200 && status < 300;
  1270. }
  1271. };
  1272. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/utils/clone.js
  1273. var clone = function() {
  1274. "use strict";
  1275. function _instanceof(obj, type) {
  1276. return type != null && obj instanceof type;
  1277. }
  1278. var nativeMap;
  1279. try {
  1280. nativeMap = Map;
  1281. } catch (_) {
  1282. nativeMap = function() {
  1283. };
  1284. }
  1285. var nativeSet;
  1286. try {
  1287. nativeSet = Set;
  1288. } catch (_) {
  1289. nativeSet = function() {
  1290. };
  1291. }
  1292. var nativePromise;
  1293. try {
  1294. nativePromise = Promise;
  1295. } catch (_) {
  1296. nativePromise = function() {
  1297. };
  1298. }
  1299. function clone2(parent, circular, depth, prototype, includeNonEnumerable) {
  1300. if (typeof circular === "object") {
  1301. depth = circular.depth;
  1302. prototype = circular.prototype;
  1303. includeNonEnumerable = circular.includeNonEnumerable;
  1304. circular = circular.circular;
  1305. }
  1306. var allParents = [];
  1307. var allChildren = [];
  1308. var useBuffer = typeof Buffer != "undefined";
  1309. if (typeof circular == "undefined")
  1310. circular = true;
  1311. if (typeof depth == "undefined")
  1312. depth = Infinity;
  1313. function _clone(parent2, depth2) {
  1314. if (parent2 === null)
  1315. return null;
  1316. if (depth2 === 0)
  1317. return parent2;
  1318. var child;
  1319. var proto;
  1320. if (typeof parent2 != "object") {
  1321. return parent2;
  1322. }
  1323. if (_instanceof(parent2, nativeMap)) {
  1324. child = new nativeMap();
  1325. } else if (_instanceof(parent2, nativeSet)) {
  1326. child = new nativeSet();
  1327. } else if (_instanceof(parent2, nativePromise)) {
  1328. child = new nativePromise(function(resolve, reject) {
  1329. parent2.then(function(value) {
  1330. resolve(_clone(value, depth2 - 1));
  1331. }, function(err) {
  1332. reject(_clone(err, depth2 - 1));
  1333. });
  1334. });
  1335. } else if (clone2.__isArray(parent2)) {
  1336. child = [];
  1337. } else if (clone2.__isRegExp(parent2)) {
  1338. child = new RegExp(parent2.source, __getRegExpFlags(parent2));
  1339. if (parent2.lastIndex)
  1340. child.lastIndex = parent2.lastIndex;
  1341. } else if (clone2.__isDate(parent2)) {
  1342. child = new Date(parent2.getTime());
  1343. } else if (useBuffer && Buffer.isBuffer(parent2)) {
  1344. if (Buffer.from) {
  1345. child = Buffer.from(parent2);
  1346. } else {
  1347. child = new Buffer(parent2.length);
  1348. parent2.copy(child);
  1349. }
  1350. return child;
  1351. } else if (_instanceof(parent2, Error)) {
  1352. child = Object.create(parent2);
  1353. } else {
  1354. if (typeof prototype == "undefined") {
  1355. proto = Object.getPrototypeOf(parent2);
  1356. child = Object.create(proto);
  1357. } else {
  1358. child = Object.create(prototype);
  1359. proto = prototype;
  1360. }
  1361. }
  1362. if (circular) {
  1363. var index = allParents.indexOf(parent2);
  1364. if (index != -1) {
  1365. return allChildren[index];
  1366. }
  1367. allParents.push(parent2);
  1368. allChildren.push(child);
  1369. }
  1370. if (_instanceof(parent2, nativeMap)) {
  1371. parent2.forEach(function(value, key) {
  1372. var keyChild = _clone(key, depth2 - 1);
  1373. var valueChild = _clone(value, depth2 - 1);
  1374. child.set(keyChild, valueChild);
  1375. });
  1376. }
  1377. if (_instanceof(parent2, nativeSet)) {
  1378. parent2.forEach(function(value) {
  1379. var entryChild = _clone(value, depth2 - 1);
  1380. child.add(entryChild);
  1381. });
  1382. }
  1383. for (var i in parent2) {
  1384. var attrs = Object.getOwnPropertyDescriptor(parent2, i);
  1385. if (attrs) {
  1386. child[i] = _clone(parent2[i], depth2 - 1);
  1387. }
  1388. try {
  1389. var objProperty = Object.getOwnPropertyDescriptor(parent2, i);
  1390. if (objProperty.set === "undefined") {
  1391. continue;
  1392. }
  1393. child[i] = _clone(parent2[i], depth2 - 1);
  1394. } catch (e) {
  1395. if (e instanceof TypeError) {
  1396. continue;
  1397. } else if (e instanceof ReferenceError) {
  1398. continue;
  1399. }
  1400. }
  1401. }
  1402. if (Object.getOwnPropertySymbols) {
  1403. var symbols = Object.getOwnPropertySymbols(parent2);
  1404. for (var i = 0; i < symbols.length; i++) {
  1405. var symbol = symbols[i];
  1406. var descriptor = Object.getOwnPropertyDescriptor(parent2, symbol);
  1407. if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {
  1408. continue;
  1409. }
  1410. child[symbol] = _clone(parent2[symbol], depth2 - 1);
  1411. Object.defineProperty(child, symbol, descriptor);
  1412. }
  1413. }
  1414. if (includeNonEnumerable) {
  1415. var allPropertyNames = Object.getOwnPropertyNames(parent2);
  1416. for (var i = 0; i < allPropertyNames.length; i++) {
  1417. var propertyName = allPropertyNames[i];
  1418. var descriptor = Object.getOwnPropertyDescriptor(parent2, propertyName);
  1419. if (descriptor && descriptor.enumerable) {
  1420. continue;
  1421. }
  1422. child[propertyName] = _clone(parent2[propertyName], depth2 - 1);
  1423. Object.defineProperty(child, propertyName, descriptor);
  1424. }
  1425. }
  1426. return child;
  1427. }
  1428. return _clone(parent, depth);
  1429. }
  1430. clone2.clonePrototype = function clonePrototype(parent) {
  1431. if (parent === null)
  1432. return null;
  1433. var c = function() {
  1434. };
  1435. c.prototype = parent;
  1436. return new c();
  1437. };
  1438. function __objToStr(o) {
  1439. return Object.prototype.toString.call(o);
  1440. }
  1441. clone2.__objToStr = __objToStr;
  1442. function __isDate(o) {
  1443. return typeof o === "object" && __objToStr(o) === "[object Date]";
  1444. }
  1445. clone2.__isDate = __isDate;
  1446. function __isArray(o) {
  1447. return typeof o === "object" && __objToStr(o) === "[object Array]";
  1448. }
  1449. clone2.__isArray = __isArray;
  1450. function __isRegExp(o) {
  1451. return typeof o === "object" && __objToStr(o) === "[object RegExp]";
  1452. }
  1453. clone2.__isRegExp = __isRegExp;
  1454. function __getRegExpFlags(re) {
  1455. var flags = "";
  1456. if (re.global)
  1457. flags += "g";
  1458. if (re.ignoreCase)
  1459. flags += "i";
  1460. if (re.multiline)
  1461. flags += "m";
  1462. return flags;
  1463. }
  1464. clone2.__getRegExpFlags = __getRegExpFlags;
  1465. return clone2;
  1466. }();
  1467. var clone_default = clone;
  1468. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/core/Request.js
  1469. var Request = class {
  1470. /**
  1471. * @param {Object} arg - 全局配置
  1472. * @param {String} arg.baseURL - 全局根路径
  1473. * @param {Object} arg.header - 全局header
  1474. * @param {String} arg.method = [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE] - 全局默认请求方式
  1475. * @param {String} arg.dataType = [json] - 全局默认的dataType
  1476. * @param {String} arg.responseType = [text|arraybuffer] - 全局默认的responseType。支付宝小程序不支持
  1477. * @param {Object} arg.custom - 全局默认的自定义参数
  1478. * @param {Number} arg.timeout - 全局默认的超时时间,单位 ms。默认60000。H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序
  1479. * @param {Boolean} arg.sslVerify - 全局默认的是否验证 ssl 证书。默认true.仅App安卓端支持(HBuilderX 2.3.3+)
  1480. * @param {Boolean} arg.withCredentials - 全局默认的跨域请求时是否携带凭证(cookies)。默认false。仅H5支持(HBuilderX 2.6.15+)
  1481. * @param {Boolean} arg.firstIpv4 - 全DNS解析时优先使用ipv4。默认false。仅 App-Android 支持 (HBuilderX 2.8.0+)
  1482. * @param {Function(statusCode):Boolean} arg.validateStatus - 全局默认的自定义验证器。默认statusCode >= 200 && statusCode < 300
  1483. */
  1484. constructor(arg = {}) {
  1485. if (!isPlainObject(arg)) {
  1486. arg = {};
  1487. console.warn("设置全局参数必须接收一个Object");
  1488. }
  1489. this.config = clone_default({ ...defaults_default, ...arg });
  1490. this.interceptors = {
  1491. request: new InterceptorManager_default(),
  1492. response: new InterceptorManager_default()
  1493. };
  1494. }
  1495. /**
  1496. * @Function
  1497. * @param {Request~setConfigCallback} f - 设置全局默认配置
  1498. */
  1499. setConfig(f) {
  1500. this.config = f(this.config);
  1501. }
  1502. middleware(config) {
  1503. config = mergeConfig_default(this.config, config);
  1504. const chain = [dispatchRequest_default, void 0];
  1505. let promise2 = Promise.resolve(config);
  1506. this.interceptors.request.forEach((interceptor) => {
  1507. chain.unshift(interceptor.fulfilled, interceptor.rejected);
  1508. });
  1509. this.interceptors.response.forEach((interceptor) => {
  1510. chain.push(interceptor.fulfilled, interceptor.rejected);
  1511. });
  1512. while (chain.length) {
  1513. promise2 = promise2.then(chain.shift(), chain.shift());
  1514. }
  1515. return promise2;
  1516. }
  1517. /**
  1518. * @Function
  1519. * @param {Object} config - 请求配置项
  1520. * @prop {String} options.url - 请求路径
  1521. * @prop {Object} options.data - 请求参数
  1522. * @prop {Object} [options.responseType = config.responseType] [text|arraybuffer] - 响应的数据类型
  1523. * @prop {Object} [options.dataType = config.dataType] - 如果设为 json,会尝试对返回的数据做一次 JSON.parse
  1524. * @prop {Object} [options.header = config.header] - 请求header
  1525. * @prop {Object} [options.method = config.method] - 请求方法
  1526. * @returns {Promise<unknown>}
  1527. */
  1528. request(config = {}) {
  1529. return this.middleware(config);
  1530. }
  1531. get(url2, options = {}) {
  1532. return this.middleware({
  1533. url: url2,
  1534. method: "GET",
  1535. ...options
  1536. });
  1537. }
  1538. post(url2, data, options = {}) {
  1539. return this.middleware({
  1540. url: url2,
  1541. data,
  1542. method: "POST",
  1543. ...options
  1544. });
  1545. }
  1546. put(url2, data, options = {}) {
  1547. return this.middleware({
  1548. url: url2,
  1549. data,
  1550. method: "PUT",
  1551. ...options
  1552. });
  1553. }
  1554. delete(url2, data, options = {}) {
  1555. return this.middleware({
  1556. url: url2,
  1557. data,
  1558. method: "DELETE",
  1559. ...options
  1560. });
  1561. }
  1562. connect(url2, data, options = {}) {
  1563. return this.middleware({
  1564. url: url2,
  1565. data,
  1566. method: "CONNECT",
  1567. ...options
  1568. });
  1569. }
  1570. head(url2, data, options = {}) {
  1571. return this.middleware({
  1572. url: url2,
  1573. data,
  1574. method: "HEAD",
  1575. ...options
  1576. });
  1577. }
  1578. options(url2, data, options = {}) {
  1579. return this.middleware({
  1580. url: url2,
  1581. data,
  1582. method: "OPTIONS",
  1583. ...options
  1584. });
  1585. }
  1586. trace(url2, data, options = {}) {
  1587. return this.middleware({
  1588. url: url2,
  1589. data,
  1590. method: "TRACE",
  1591. ...options
  1592. });
  1593. }
  1594. upload(url2, config = {}) {
  1595. config.url = url2;
  1596. config.method = "UPLOAD";
  1597. return this.middleware(config);
  1598. }
  1599. download(url2, config = {}) {
  1600. config.url = url2;
  1601. config.method = "DOWNLOAD";
  1602. return this.middleware(config);
  1603. }
  1604. };
  1605. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/luch-request/index.js
  1606. var luch_request_default = Request;
  1607. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/colorGradient.js
  1608. function colorGradient(startColor = "rgb(0, 0, 0)", endColor = "rgb(255, 255, 255)", step = 10) {
  1609. const startRGB = hexToRgb(startColor, false);
  1610. const startR = startRGB[0];
  1611. const startG = startRGB[1];
  1612. const startB = startRGB[2];
  1613. const endRGB = hexToRgb(endColor, false);
  1614. const endR = endRGB[0];
  1615. const endG = endRGB[1];
  1616. const endB = endRGB[2];
  1617. const sR = (endR - startR) / step;
  1618. const sG = (endG - startG) / step;
  1619. const sB = (endB - startB) / step;
  1620. const colorArr = [];
  1621. for (let i = 0; i < step; i++) {
  1622. let hex = rgbToHex(`rgb(${Math.round(sR * i + startR)},${Math.round(sG * i + startG)},${Math.round(sB * i + startB)})`);
  1623. if (i === 0)
  1624. hex = rgbToHex(startColor);
  1625. if (i === step - 1)
  1626. hex = rgbToHex(endColor);
  1627. colorArr.push(hex);
  1628. }
  1629. return colorArr;
  1630. }
  1631. function hexToRgb(sColor, str = true) {
  1632. const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
  1633. sColor = String(sColor).toLowerCase();
  1634. if (sColor && reg.test(sColor)) {
  1635. if (sColor.length === 4) {
  1636. let sColorNew = "#";
  1637. for (let i = 1; i < 4; i += 1) {
  1638. sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
  1639. }
  1640. sColor = sColorNew;
  1641. }
  1642. const sColorChange = [];
  1643. for (let i = 1; i < 7; i += 2) {
  1644. sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));
  1645. }
  1646. if (!str) {
  1647. return sColorChange;
  1648. }
  1649. return `rgb(${sColorChange[0]},${sColorChange[1]},${sColorChange[2]})`;
  1650. }
  1651. if (/^(rgb|RGB)/.test(sColor)) {
  1652. const arr = sColor.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(",");
  1653. return arr.map((val) => Number(val));
  1654. }
  1655. return sColor;
  1656. }
  1657. function rgbToHex(rgb) {
  1658. const _this = rgb;
  1659. const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
  1660. if (/^(rgb|RGB)/.test(_this)) {
  1661. const aColor = _this.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(",");
  1662. let strHex = "#";
  1663. for (let i = 0; i < aColor.length; i++) {
  1664. let hex = Number(aColor[i]).toString(16);
  1665. hex = String(hex).length == 1 ? `${0}${hex}` : hex;
  1666. if (hex === "0") {
  1667. hex += hex;
  1668. }
  1669. strHex += hex;
  1670. }
  1671. if (strHex.length !== 7) {
  1672. strHex = _this;
  1673. }
  1674. return strHex;
  1675. }
  1676. if (reg.test(_this)) {
  1677. const aNum = _this.replace(/#/, "").split("");
  1678. if (aNum.length === 6) {
  1679. return _this;
  1680. }
  1681. if (aNum.length === 3) {
  1682. let numHex = "#";
  1683. for (let i = 0; i < aNum.length; i += 1) {
  1684. numHex += aNum[i] + aNum[i];
  1685. }
  1686. return numHex;
  1687. }
  1688. } else {
  1689. return _this;
  1690. }
  1691. }
  1692. function colorToRgba(color6, alpha) {
  1693. color6 = rgbToHex(color6);
  1694. const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
  1695. let sColor = String(color6).toLowerCase();
  1696. if (sColor && reg.test(sColor)) {
  1697. if (sColor.length === 4) {
  1698. let sColorNew = "#";
  1699. for (let i = 1; i < 4; i += 1) {
  1700. sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
  1701. }
  1702. sColor = sColorNew;
  1703. }
  1704. const sColorChange = [];
  1705. for (let i = 1; i < 7; i += 2) {
  1706. sColorChange.push(parseInt(`0x${sColor.slice(i, i + 2)}`));
  1707. }
  1708. return `rgba(${sColorChange.join(",")},${alpha})`;
  1709. }
  1710. return sColor;
  1711. }
  1712. var colorGradient_default = {
  1713. colorGradient,
  1714. hexToRgb,
  1715. rgbToHex,
  1716. colorToRgba
  1717. };
  1718. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/debounce.js
  1719. var timeout = null;
  1720. function debounce(func2, wait = 500, immediate = false) {
  1721. if (timeout !== null)
  1722. clearTimeout(timeout);
  1723. if (immediate) {
  1724. const callNow = !timeout;
  1725. timeout = setTimeout(() => {
  1726. timeout = null;
  1727. }, wait);
  1728. if (callNow)
  1729. typeof func2 === "function" && func2();
  1730. } else {
  1731. timeout = setTimeout(() => {
  1732. typeof func2 === "function" && func2();
  1733. }, wait);
  1734. }
  1735. }
  1736. var debounce_default = debounce;
  1737. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/throttle.js
  1738. var timer;
  1739. var flag;
  1740. function throttle(func2, wait = 500, immediate = true) {
  1741. if (immediate) {
  1742. if (!flag) {
  1743. flag = true;
  1744. typeof func2 === "function" && func2();
  1745. timer = setTimeout(() => {
  1746. flag = false;
  1747. }, wait);
  1748. }
  1749. } else if (!flag) {
  1750. flag = true;
  1751. timer = setTimeout(() => {
  1752. flag = false;
  1753. typeof func2 === "function" && func2();
  1754. }, wait);
  1755. }
  1756. }
  1757. var throttle_default = throttle;
  1758. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/actionSheet.js
  1759. var actionSheet_default = {
  1760. // action-sheet组件
  1761. actionSheet: {
  1762. show: false,
  1763. title: "",
  1764. description: "",
  1765. actions: [],
  1766. index: "",
  1767. cancelText: "",
  1768. closeOnClickAction: true,
  1769. safeAreaInsetBottom: true,
  1770. openType: "",
  1771. closeOnClickOverlay: true,
  1772. round: 0
  1773. }
  1774. };
  1775. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/album.js
  1776. var album_default = {
  1777. // album 组件
  1778. album: {
  1779. urls: [],
  1780. keyName: "",
  1781. singleSize: 180,
  1782. multipleSize: 70,
  1783. space: 6,
  1784. singleMode: "scaleToFill",
  1785. multipleMode: "aspectFill",
  1786. maxCount: 9,
  1787. previewFullImage: true,
  1788. rowCount: 3,
  1789. showMore: true
  1790. }
  1791. };
  1792. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/alert.js
  1793. var alert_default = {
  1794. // alert警告组件
  1795. alert: {
  1796. title: "",
  1797. type: "warning",
  1798. description: "",
  1799. closable: false,
  1800. showIcon: false,
  1801. effect: "light",
  1802. center: false,
  1803. fontSize: 14
  1804. }
  1805. };
  1806. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/avatar.js
  1807. var avatar_default = {
  1808. // avatar 组件
  1809. avatar: {
  1810. src: "",
  1811. shape: "circle",
  1812. size: 40,
  1813. mode: "scaleToFill",
  1814. text: "",
  1815. bgColor: "#c0c4cc",
  1816. color: "#ffffff",
  1817. fontSize: 18,
  1818. icon: "",
  1819. mpAvatar: false,
  1820. randomBgColor: false,
  1821. defaultUrl: "",
  1822. colorIndex: "",
  1823. name: ""
  1824. }
  1825. };
  1826. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/avatarGroup.js
  1827. var avatarGroup_default = {
  1828. // avatarGroup 组件
  1829. avatarGroup: {
  1830. urls: [],
  1831. maxCount: 5,
  1832. shape: "circle",
  1833. mode: "scaleToFill",
  1834. showMore: true,
  1835. size: 40,
  1836. keyName: "",
  1837. gap: 0.5,
  1838. extraValue: 0
  1839. }
  1840. };
  1841. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/backtop.js
  1842. var backtop_default = {
  1843. // backtop组件
  1844. backtop: {
  1845. mode: "circle",
  1846. icon: "arrow-upward",
  1847. text: "",
  1848. duration: 100,
  1849. scrollTop: 0,
  1850. top: 400,
  1851. bottom: 100,
  1852. right: 20,
  1853. zIndex: 9,
  1854. iconStyle: {
  1855. color: "#909399",
  1856. fontSize: "19px"
  1857. }
  1858. }
  1859. };
  1860. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/badge.js
  1861. var badge_default = {
  1862. // 徽标数组件
  1863. badge: {
  1864. isDot: false,
  1865. value: "",
  1866. show: true,
  1867. max: 999,
  1868. type: "error",
  1869. showZero: false,
  1870. bgColor: null,
  1871. color: null,
  1872. shape: "circle",
  1873. numberType: "overflow",
  1874. offset: [],
  1875. inverted: false,
  1876. absolute: false
  1877. }
  1878. };
  1879. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/button.js
  1880. var button_default = {
  1881. // button组件
  1882. button: {
  1883. hairline: false,
  1884. type: "info",
  1885. size: "normal",
  1886. shape: "square",
  1887. plain: false,
  1888. disabled: false,
  1889. loading: false,
  1890. loadingText: "",
  1891. loadingMode: "spinner",
  1892. loadingSize: 15,
  1893. openType: "",
  1894. formType: "",
  1895. appParameter: "",
  1896. hoverStopPropagation: true,
  1897. lang: "en",
  1898. sessionFrom: "",
  1899. sendMessageTitle: "",
  1900. sendMessagePath: "",
  1901. sendMessageImg: "",
  1902. showMessageCard: false,
  1903. dataName: "",
  1904. throttleTime: 0,
  1905. hoverStartTime: 0,
  1906. hoverStayTime: 200,
  1907. text: "",
  1908. icon: "",
  1909. iconColor: "",
  1910. color: ""
  1911. }
  1912. };
  1913. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/calendar.js
  1914. var calendar_default = {
  1915. // calendar 组件
  1916. calendar: {
  1917. title: "日期选择",
  1918. showTitle: true,
  1919. showSubtitle: true,
  1920. mode: "single",
  1921. startText: "开始",
  1922. endText: "结束",
  1923. customList: [],
  1924. color: "#3c9cff",
  1925. minDate: 0,
  1926. maxDate: 0,
  1927. defaultDate: null,
  1928. maxCount: Number.MAX_SAFE_INTEGER,
  1929. // Infinity
  1930. rowHeight: 56,
  1931. formatter: null,
  1932. showLunar: false,
  1933. showMark: true,
  1934. confirmText: "确定",
  1935. confirmDisabledText: "确定",
  1936. show: false,
  1937. closeOnClickOverlay: false,
  1938. readonly: false,
  1939. showConfirm: true,
  1940. maxRange: Number.MAX_SAFE_INTEGER,
  1941. // Infinity
  1942. rangePrompt: "",
  1943. showRangePrompt: true,
  1944. allowSameDay: false,
  1945. round: 0,
  1946. monthNum: 3
  1947. }
  1948. };
  1949. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/carKeyboard.js
  1950. var carKeyboard_default = {
  1951. // 车牌号键盘
  1952. carKeyboard: {
  1953. random: false
  1954. }
  1955. };
  1956. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/cell.js
  1957. var cell_default = {
  1958. // cell组件的props
  1959. cell: {
  1960. customClass: "",
  1961. title: "",
  1962. label: "",
  1963. value: "",
  1964. icon: "",
  1965. disabled: false,
  1966. border: true,
  1967. center: false,
  1968. url: "",
  1969. linkType: "navigateTo",
  1970. clickable: false,
  1971. isLink: false,
  1972. required: false,
  1973. arrowDirection: "",
  1974. iconStyle: {},
  1975. rightIconStyle: {},
  1976. rightIcon: "arrow-right",
  1977. titleStyle: {},
  1978. size: "",
  1979. stop: true,
  1980. name: ""
  1981. }
  1982. };
  1983. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/cellGroup.js
  1984. var cellGroup_default = {
  1985. // cell-group组件的props
  1986. cellGroup: {
  1987. title: "",
  1988. border: true,
  1989. customStyle: {}
  1990. }
  1991. };
  1992. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/checkbox.js
  1993. var checkbox_default = {
  1994. // checkbox组件
  1995. checkbox: {
  1996. name: "",
  1997. shape: "",
  1998. size: "",
  1999. checkbox: false,
  2000. disabled: "",
  2001. activeColor: "",
  2002. inactiveColor: "",
  2003. iconSize: "",
  2004. iconColor: "",
  2005. label: "",
  2006. labelSize: "",
  2007. labelColor: "",
  2008. labelDisabled: ""
  2009. }
  2010. };
  2011. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/checkboxGroup.js
  2012. var checkboxGroup_default = {
  2013. // checkbox-group组件
  2014. checkboxGroup: {
  2015. name: "",
  2016. value: [],
  2017. shape: "square",
  2018. disabled: false,
  2019. activeColor: "#2979ff",
  2020. inactiveColor: "#c8c9cc",
  2021. size: 18,
  2022. placement: "row",
  2023. labelSize: 14,
  2024. labelColor: "#303133",
  2025. labelDisabled: false,
  2026. iconColor: "#ffffff",
  2027. iconSize: 12,
  2028. iconPlacement: "left",
  2029. borderBottom: false
  2030. }
  2031. };
  2032. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/circleProgress.js
  2033. var circleProgress_default = {
  2034. // circleProgress 组件
  2035. circleProgress: {
  2036. percentage: 30
  2037. }
  2038. };
  2039. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/code.js
  2040. var code_default = {
  2041. // code 组件
  2042. code: {
  2043. seconds: 60,
  2044. startText: "获取验证码",
  2045. changeText: "X秒重新获取",
  2046. endText: "重新获取",
  2047. keepRunning: false,
  2048. uniqueKey: ""
  2049. }
  2050. };
  2051. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/codeInput.js
  2052. var codeInput_default = {
  2053. // codeInput 组件
  2054. codeInput: {
  2055. adjustPosition: true,
  2056. maxlength: 6,
  2057. dot: false,
  2058. mode: "box",
  2059. hairline: false,
  2060. space: 10,
  2061. value: "",
  2062. focus: false,
  2063. bold: false,
  2064. color: "#606266",
  2065. fontSize: 18,
  2066. size: 35,
  2067. disabledKeyboard: false,
  2068. borderColor: "#c9cacc",
  2069. disabledDot: true
  2070. }
  2071. };
  2072. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/col.js
  2073. var col_default = {
  2074. // col 组件
  2075. col: {
  2076. span: 12,
  2077. offset: 0,
  2078. justify: "start",
  2079. align: "stretch",
  2080. textAlign: "left"
  2081. }
  2082. };
  2083. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/collapse.js
  2084. var collapse_default = {
  2085. // collapse 组件
  2086. collapse: {
  2087. value: null,
  2088. accordion: false,
  2089. border: true
  2090. }
  2091. };
  2092. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/collapseItem.js
  2093. var collapseItem_default = {
  2094. // collapseItem 组件
  2095. collapseItem: {
  2096. title: "",
  2097. value: "",
  2098. label: "",
  2099. disabled: false,
  2100. isLink: true,
  2101. clickable: true,
  2102. border: true,
  2103. align: "left",
  2104. name: "",
  2105. icon: "",
  2106. duration: 300
  2107. }
  2108. };
  2109. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/columnNotice.js
  2110. var columnNotice_default = {
  2111. // columnNotice 组件
  2112. columnNotice: {
  2113. text: "",
  2114. icon: "volume",
  2115. mode: "",
  2116. color: "#f9ae3d",
  2117. bgColor: "#fdf6ec",
  2118. fontSize: 14,
  2119. speed: 80,
  2120. step: false,
  2121. duration: 1500,
  2122. disableTouch: true
  2123. }
  2124. };
  2125. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/countDown.js
  2126. var countDown_default = {
  2127. // u-count-down 计时器组件
  2128. countDown: {
  2129. time: 0,
  2130. format: "HH:mm:ss",
  2131. autoStart: true,
  2132. millisecond: false
  2133. }
  2134. };
  2135. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/countTo.js
  2136. var countTo_default = {
  2137. // countTo 组件
  2138. countTo: {
  2139. startVal: 0,
  2140. endVal: 0,
  2141. duration: 2e3,
  2142. autoplay: true,
  2143. decimals: 0,
  2144. useEasing: true,
  2145. decimal: ".",
  2146. color: "#606266",
  2147. fontSize: 22,
  2148. bold: false,
  2149. separator: ""
  2150. }
  2151. };
  2152. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/datetimePicker.js
  2153. var datetimePicker_default = {
  2154. // datetimePicker 组件
  2155. datetimePicker: {
  2156. show: false,
  2157. popupMode: "bottom",
  2158. showToolbar: true,
  2159. value: "",
  2160. title: "",
  2161. mode: "datetime",
  2162. maxDate: new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 0, 1).getTime(),
  2163. minDate: new Date((/* @__PURE__ */ new Date()).getFullYear() - 10, 0, 1).getTime(),
  2164. minHour: 0,
  2165. maxHour: 23,
  2166. minMinute: 0,
  2167. maxMinute: 59,
  2168. filter: null,
  2169. formatter: null,
  2170. loading: false,
  2171. itemHeight: 44,
  2172. cancelText: "取消",
  2173. confirmText: "确认",
  2174. cancelColor: "#909193",
  2175. confirmColor: "#3c9cff",
  2176. visibleItemCount: 5,
  2177. closeOnClickOverlay: false,
  2178. defaultIndex: []
  2179. }
  2180. };
  2181. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/divider.js
  2182. var divider_default = {
  2183. // divider组件
  2184. divider: {
  2185. dashed: false,
  2186. hairline: true,
  2187. dot: false,
  2188. textPosition: "center",
  2189. text: "",
  2190. textSize: 14,
  2191. textColor: "#909399",
  2192. lineColor: "#dcdfe6"
  2193. }
  2194. };
  2195. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/empty.js
  2196. var empty_default = {
  2197. // empty组件
  2198. empty: {
  2199. icon: "",
  2200. text: "",
  2201. textColor: "#c0c4cc",
  2202. textSize: 14,
  2203. iconColor: "#c0c4cc",
  2204. iconSize: 90,
  2205. mode: "data",
  2206. width: 160,
  2207. height: 160,
  2208. show: true,
  2209. marginTop: 0
  2210. }
  2211. };
  2212. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/form.js
  2213. var form_default = {
  2214. // form 组件
  2215. form: {
  2216. model: {},
  2217. rules: {},
  2218. errorType: "message",
  2219. borderBottom: true,
  2220. labelPosition: "left",
  2221. labelWidth: 45,
  2222. labelAlign: "left",
  2223. labelStyle: {}
  2224. }
  2225. };
  2226. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/formItem.js
  2227. var formItem_default = {
  2228. // formItem 组件
  2229. formItem: {
  2230. label: "",
  2231. prop: "",
  2232. rule: "",
  2233. borderBottom: "",
  2234. labelPosition: "",
  2235. labelWidth: "",
  2236. rightIcon: "",
  2237. leftIcon: "",
  2238. required: false,
  2239. leftIconStyle: ""
  2240. }
  2241. };
  2242. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/gap.js
  2243. var gap_default = {
  2244. // gap组件
  2245. gap: {
  2246. bgColor: "transparent",
  2247. height: 20,
  2248. marginTop: 0,
  2249. marginBottom: 0,
  2250. customStyle: {}
  2251. }
  2252. };
  2253. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/grid.js
  2254. var grid_default = {
  2255. // grid组件
  2256. grid: {
  2257. col: 3,
  2258. border: false,
  2259. align: "left"
  2260. }
  2261. };
  2262. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/gridItem.js
  2263. var gridItem_default = {
  2264. // grid-item组件
  2265. gridItem: {
  2266. name: null,
  2267. bgColor: "transparent"
  2268. }
  2269. };
  2270. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/icon.js
  2271. var {
  2272. color
  2273. } = config_default;
  2274. var icon_default = {
  2275. // icon组件
  2276. icon: {
  2277. name: "",
  2278. color: color["u-content-color"],
  2279. size: "16px",
  2280. bold: false,
  2281. index: "",
  2282. hoverClass: "",
  2283. customPrefix: "uicon",
  2284. label: "",
  2285. labelPos: "right",
  2286. labelSize: "15px",
  2287. labelColor: color["u-content-color"],
  2288. space: "3px",
  2289. imgMode: "",
  2290. width: "",
  2291. height: "",
  2292. top: 0,
  2293. stop: false
  2294. }
  2295. };
  2296. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/image.js
  2297. var image_default = {
  2298. // image组件
  2299. image: {
  2300. src: "",
  2301. mode: "aspectFill",
  2302. width: "300",
  2303. height: "225",
  2304. shape: "square",
  2305. radius: 0,
  2306. lazyLoad: true,
  2307. showMenuByLongpress: true,
  2308. loadingIcon: "photo",
  2309. errorIcon: "error-circle",
  2310. showLoading: true,
  2311. showError: true,
  2312. fade: true,
  2313. webp: false,
  2314. duration: 500,
  2315. bgColor: "#f3f4f6"
  2316. }
  2317. };
  2318. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/indexAnchor.js
  2319. var indexAnchor_default = {
  2320. // indexAnchor 组件
  2321. indexAnchor: {
  2322. text: "",
  2323. color: "#606266",
  2324. size: 14,
  2325. bgColor: "#dedede",
  2326. height: 32
  2327. }
  2328. };
  2329. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/indexList.js
  2330. var indexList_default = {
  2331. // indexList 组件
  2332. indexList: {
  2333. inactiveColor: "#606266",
  2334. activeColor: "#5677fc",
  2335. indexList: [],
  2336. sticky: true,
  2337. customNavHeight: 0
  2338. }
  2339. };
  2340. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/input.js
  2341. var input_default = {
  2342. // index 组件
  2343. input: {
  2344. value: "",
  2345. type: "text",
  2346. fixed: false,
  2347. disabled: false,
  2348. disabledColor: "#f5f7fa",
  2349. clearable: false,
  2350. password: false,
  2351. maxlength: -1,
  2352. placeholder: null,
  2353. placeholderClass: "input-placeholder",
  2354. placeholderStyle: "color: #c0c4cc",
  2355. showWordLimit: false,
  2356. confirmType: "done",
  2357. confirmHold: false,
  2358. holdKeyboard: false,
  2359. focus: false,
  2360. autoBlur: false,
  2361. disableDefaultPadding: false,
  2362. cursor: -1,
  2363. cursorSpacing: 30,
  2364. selectionStart: -1,
  2365. selectionEnd: -1,
  2366. adjustPosition: true,
  2367. inputAlign: "left",
  2368. fontSize: "15px",
  2369. color: "#303133",
  2370. prefixIcon: "",
  2371. prefixIconStyle: "",
  2372. suffixIcon: "",
  2373. suffixIconStyle: "",
  2374. border: "surround",
  2375. readonly: false,
  2376. shape: "square",
  2377. formatter: null
  2378. }
  2379. };
  2380. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/keyboard.js
  2381. var keyboard_default = {
  2382. // 键盘组件
  2383. keyboard: {
  2384. mode: "number",
  2385. dotDisabled: false,
  2386. tooltip: true,
  2387. showTips: true,
  2388. tips: "",
  2389. showCancel: true,
  2390. showConfirm: true,
  2391. random: false,
  2392. safeAreaInsetBottom: true,
  2393. closeOnClickOverlay: true,
  2394. show: false,
  2395. overlay: true,
  2396. zIndex: 10075,
  2397. cancelText: "取消",
  2398. confirmText: "确定",
  2399. autoChange: false
  2400. }
  2401. };
  2402. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/line.js
  2403. var line_default = {
  2404. // line组件
  2405. line: {
  2406. color: "#d6d7d9",
  2407. length: "100%",
  2408. direction: "row",
  2409. hairline: true,
  2410. margin: 0,
  2411. dashed: false
  2412. }
  2413. };
  2414. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/lineProgress.js
  2415. var lineProgress_default = {
  2416. // lineProgress 组件
  2417. lineProgress: {
  2418. activeColor: "#19be6b",
  2419. inactiveColor: "#ececec",
  2420. percentage: 0,
  2421. showText: true,
  2422. height: 12
  2423. }
  2424. };
  2425. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/link.js
  2426. var {
  2427. color: color2
  2428. } = config_default;
  2429. var link_default = {
  2430. // link超链接组件props参数
  2431. link: {
  2432. color: color2["u-primary"],
  2433. fontSize: 15,
  2434. underLine: false,
  2435. href: "",
  2436. mpTips: "链接已复制,请在浏览器打开",
  2437. lineColor: "",
  2438. text: ""
  2439. }
  2440. };
  2441. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/list.js
  2442. var list_default = {
  2443. // list 组件
  2444. list: {
  2445. showScrollbar: false,
  2446. lowerThreshold: 50,
  2447. upperThreshold: 0,
  2448. scrollTop: 0,
  2449. offsetAccuracy: 10,
  2450. enableFlex: false,
  2451. pagingEnabled: false,
  2452. scrollable: true,
  2453. scrollIntoView: "",
  2454. scrollWithAnimation: false,
  2455. enableBackToTop: false,
  2456. height: 0,
  2457. width: 0,
  2458. preLoadScreen: 1
  2459. }
  2460. };
  2461. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/listItem.js
  2462. var listItem_default = {
  2463. // listItem 组件
  2464. listItem: {
  2465. anchor: ""
  2466. }
  2467. };
  2468. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/loadingIcon.js
  2469. var {
  2470. color: color3
  2471. } = config_default;
  2472. var loadingIcon_default = {
  2473. // loading-icon加载中图标组件
  2474. loadingIcon: {
  2475. show: true,
  2476. color: color3["u-tips-color"],
  2477. textColor: color3["u-tips-color"],
  2478. vertical: false,
  2479. mode: "spinner",
  2480. size: 24,
  2481. textSize: 15,
  2482. text: "",
  2483. timingFunction: "ease-in-out",
  2484. duration: 1200,
  2485. inactiveColor: ""
  2486. }
  2487. };
  2488. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/loadingPage.js
  2489. var loadingPage_default = {
  2490. // loading-page组件
  2491. loadingPage: {
  2492. loadingText: "正在加载",
  2493. image: "",
  2494. loadingMode: "circle",
  2495. loading: false,
  2496. bgColor: "#ffffff",
  2497. color: "#C8C8C8",
  2498. fontSize: 19,
  2499. iconSize: 28,
  2500. loadingColor: "#C8C8C8"
  2501. }
  2502. };
  2503. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/loadmore.js
  2504. var loadmore_default = {
  2505. // loadmore 组件
  2506. loadmore: {
  2507. status: "loadmore",
  2508. bgColor: "transparent",
  2509. icon: true,
  2510. fontSize: 14,
  2511. iconSize: 17,
  2512. color: "#606266",
  2513. loadingIcon: "spinner",
  2514. loadmoreText: "加载更多",
  2515. loadingText: "正在加载...",
  2516. nomoreText: "没有更多了",
  2517. isDot: false,
  2518. iconColor: "#b7b7b7",
  2519. marginTop: 10,
  2520. marginBottom: 10,
  2521. height: "auto",
  2522. line: false,
  2523. lineColor: "#E6E8EB",
  2524. dashed: false
  2525. }
  2526. };
  2527. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/modal.js
  2528. var modal_default = {
  2529. // modal 组件
  2530. modal: {
  2531. show: false,
  2532. title: "",
  2533. content: "",
  2534. confirmText: "确认",
  2535. cancelText: "取消",
  2536. showConfirmButton: true,
  2537. showCancelButton: false,
  2538. confirmColor: "#2979ff",
  2539. cancelColor: "#606266",
  2540. buttonReverse: false,
  2541. zoom: true,
  2542. asyncClose: false,
  2543. closeOnClickOverlay: false,
  2544. negativeTop: 0,
  2545. width: "650rpx",
  2546. confirmButtonShape: ""
  2547. }
  2548. };
  2549. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/color.js
  2550. var color4 = {
  2551. primary: "#3c9cff",
  2552. info: "#909399",
  2553. default: "#909399",
  2554. warning: "#f9ae3d",
  2555. error: "#f56c6c",
  2556. success: "#5ac725",
  2557. mainColor: "#303133",
  2558. contentColor: "#606266",
  2559. tipsColor: "#909399",
  2560. lightColor: "#c0c4cc",
  2561. borderColor: "#e4e7ed"
  2562. };
  2563. var color_default = color4;
  2564. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/navbar.js
  2565. var navbar_default = {
  2566. // navbar 组件
  2567. navbar: {
  2568. safeAreaInsetTop: true,
  2569. placeholder: false,
  2570. fixed: true,
  2571. border: false,
  2572. leftIcon: "arrow-left",
  2573. leftText: "",
  2574. rightText: "",
  2575. rightIcon: "",
  2576. title: "",
  2577. bgColor: "#ffffff",
  2578. titleWidth: "400rpx",
  2579. height: "44px",
  2580. leftIconSize: 20,
  2581. leftIconColor: color_default.mainColor,
  2582. autoBack: false,
  2583. titleStyle: ""
  2584. }
  2585. };
  2586. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/noNetwork.js
  2587. var noNetwork_default = {
  2588. // noNetwork
  2589. noNetwork: {
  2590. tips: "哎呀,网络信号丢失",
  2591. zIndex: "",
  2592. image: "data:image/png;base64,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"
  2593. }
  2594. };
  2595. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/noticeBar.js
  2596. var noticeBar_default = {
  2597. // noticeBar
  2598. noticeBar: {
  2599. text: [],
  2600. direction: "row",
  2601. step: false,
  2602. icon: "volume",
  2603. mode: "",
  2604. color: "#f9ae3d",
  2605. bgColor: "#fdf6ec",
  2606. speed: 80,
  2607. fontSize: 14,
  2608. duration: 2e3,
  2609. disableTouch: true,
  2610. url: "",
  2611. linkType: "navigateTo"
  2612. }
  2613. };
  2614. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/notify.js
  2615. var notify_default = {
  2616. // notify组件
  2617. notify: {
  2618. top: 0,
  2619. type: "primary",
  2620. color: "#ffffff",
  2621. bgColor: "",
  2622. message: "",
  2623. duration: 3e3,
  2624. fontSize: 15,
  2625. safeAreaInsetTop: false
  2626. }
  2627. };
  2628. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/numberBox.js
  2629. var numberBox_default = {
  2630. // 步进器组件
  2631. numberBox: {
  2632. name: "",
  2633. value: 0,
  2634. min: 1,
  2635. max: Number.MAX_SAFE_INTEGER,
  2636. step: 1,
  2637. integer: false,
  2638. disabled: false,
  2639. disabledInput: false,
  2640. asyncChange: false,
  2641. inputWidth: 35,
  2642. showMinus: true,
  2643. showPlus: true,
  2644. decimalLength: null,
  2645. longPress: true,
  2646. color: "#323233",
  2647. buttonSize: 30,
  2648. bgColor: "#EBECEE",
  2649. cursorSpacing: 100,
  2650. disableMinus: false,
  2651. disablePlus: false,
  2652. iconStyle: ""
  2653. }
  2654. };
  2655. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/numberKeyboard.js
  2656. var numberKeyboard_default = {
  2657. // 数字键盘
  2658. numberKeyboard: {
  2659. mode: "number",
  2660. dotDisabled: false,
  2661. random: false
  2662. }
  2663. };
  2664. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/overlay.js
  2665. var overlay_default = {
  2666. // overlay组件
  2667. overlay: {
  2668. show: false,
  2669. zIndex: 10070,
  2670. duration: 300,
  2671. opacity: 0.5
  2672. }
  2673. };
  2674. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/parse.js
  2675. var parse_default = {
  2676. // parse
  2677. parse: {
  2678. copyLink: true,
  2679. errorImg: "",
  2680. lazyLoad: false,
  2681. loadingImg: "",
  2682. pauseVideo: true,
  2683. previewImg: true,
  2684. setTitle: true,
  2685. showImgMenu: true
  2686. }
  2687. };
  2688. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/picker.js
  2689. var picker_default = {
  2690. // picker
  2691. picker: {
  2692. show: false,
  2693. popupMode: "bottom",
  2694. showToolbar: true,
  2695. title: "",
  2696. columns: [],
  2697. loading: false,
  2698. itemHeight: 44,
  2699. cancelText: "取消",
  2700. confirmText: "确定",
  2701. cancelColor: "#909193",
  2702. confirmColor: "#3c9cff",
  2703. visibleItemCount: 5,
  2704. keyName: "text",
  2705. closeOnClickOverlay: false,
  2706. defaultIndex: [],
  2707. immediateChange: true
  2708. }
  2709. };
  2710. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/popup.js
  2711. var popup_default = {
  2712. // popup组件
  2713. popup: {
  2714. show: false,
  2715. overlay: true,
  2716. mode: "bottom",
  2717. duration: 300,
  2718. closeable: false,
  2719. overlayStyle: {},
  2720. closeOnClickOverlay: true,
  2721. zIndex: 10075,
  2722. safeAreaInsetBottom: true,
  2723. safeAreaInsetTop: false,
  2724. closeIconPos: "top-right",
  2725. round: 0,
  2726. zoom: true,
  2727. bgColor: "",
  2728. overlayOpacity: 0.5
  2729. }
  2730. };
  2731. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/radio.js
  2732. var radio_default = {
  2733. // radio组件
  2734. radio: {
  2735. name: "",
  2736. shape: "",
  2737. disabled: "",
  2738. labelDisabled: "",
  2739. activeColor: "",
  2740. inactiveColor: "",
  2741. iconSize: "",
  2742. labelSize: "",
  2743. label: "",
  2744. labelColor: "",
  2745. size: "",
  2746. iconColor: "",
  2747. placement: ""
  2748. }
  2749. };
  2750. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/radioGroup.js
  2751. var radioGroup_default = {
  2752. // radio-group组件
  2753. radioGroup: {
  2754. value: "",
  2755. disabled: false,
  2756. shape: "circle",
  2757. activeColor: "#2979ff",
  2758. inactiveColor: "#c8c9cc",
  2759. name: "",
  2760. size: 18,
  2761. placement: "row",
  2762. label: "",
  2763. labelColor: "#303133",
  2764. labelSize: 14,
  2765. labelDisabled: false,
  2766. iconColor: "#ffffff",
  2767. iconSize: 12,
  2768. borderBottom: false,
  2769. iconPlacement: "left"
  2770. }
  2771. };
  2772. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/rate.js
  2773. var rate_default = {
  2774. // rate组件
  2775. rate: {
  2776. value: 1,
  2777. count: 5,
  2778. disabled: false,
  2779. size: 18,
  2780. inactiveColor: "#b2b2b2",
  2781. activeColor: "#FA3534",
  2782. gutter: 4,
  2783. minCount: 1,
  2784. allowHalf: false,
  2785. activeIcon: "star-fill",
  2786. inactiveIcon: "star",
  2787. touchable: true
  2788. }
  2789. };
  2790. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/readMore.js
  2791. var readMore_default = {
  2792. // readMore
  2793. readMore: {
  2794. showHeight: 400,
  2795. toggle: false,
  2796. closeText: "展开阅读全文",
  2797. openText: "收起",
  2798. color: "#2979ff",
  2799. fontSize: 14,
  2800. textIndent: "2em",
  2801. name: ""
  2802. }
  2803. };
  2804. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/row.js
  2805. var row_default = {
  2806. // row
  2807. row: {
  2808. gutter: 0,
  2809. justify: "start",
  2810. align: "center"
  2811. }
  2812. };
  2813. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/rowNotice.js
  2814. var rowNotice_default = {
  2815. // rowNotice
  2816. rowNotice: {
  2817. text: "",
  2818. icon: "volume",
  2819. mode: "",
  2820. color: "#f9ae3d",
  2821. bgColor: "#fdf6ec",
  2822. fontSize: 14,
  2823. speed: 80
  2824. }
  2825. };
  2826. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/scrollList.js
  2827. var scrollList_default = {
  2828. // scrollList
  2829. scrollList: {
  2830. indicatorWidth: 50,
  2831. indicatorBarWidth: 20,
  2832. indicator: true,
  2833. indicatorColor: "#f2f2f2",
  2834. indicatorActiveColor: "#3c9cff",
  2835. indicatorStyle: ""
  2836. }
  2837. };
  2838. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/search.js
  2839. var search_default = {
  2840. // search
  2841. search: {
  2842. shape: "round",
  2843. bgColor: "#f2f2f2",
  2844. placeholder: "请输入关键字",
  2845. clearabled: true,
  2846. focus: false,
  2847. showAction: true,
  2848. actionStyle: {},
  2849. actionText: "搜索",
  2850. inputAlign: "left",
  2851. inputStyle: {},
  2852. disabled: false,
  2853. borderColor: "transparent",
  2854. searchIconColor: "#909399",
  2855. searchIconSize: 22,
  2856. color: "#606266",
  2857. placeholderColor: "#909399",
  2858. searchIcon: "search",
  2859. margin: "0",
  2860. animation: false,
  2861. value: "",
  2862. maxlength: "-1",
  2863. height: 32,
  2864. label: null
  2865. }
  2866. };
  2867. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/section.js
  2868. var section_default = {
  2869. // u-section组件
  2870. section: {
  2871. title: "",
  2872. subTitle: "更多",
  2873. right: true,
  2874. fontSize: 15,
  2875. bold: true,
  2876. color: "#303133",
  2877. subColor: "#909399",
  2878. showLine: true,
  2879. lineColor: "",
  2880. arrow: true
  2881. }
  2882. };
  2883. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/skeleton.js
  2884. var skeleton_default = {
  2885. // skeleton
  2886. skeleton: {
  2887. loading: true,
  2888. animate: true,
  2889. rows: 0,
  2890. rowsWidth: "100%",
  2891. rowsHeight: 18,
  2892. title: true,
  2893. titleWidth: "50%",
  2894. titleHeight: 18,
  2895. avatar: false,
  2896. avatarSize: 32,
  2897. avatarShape: "circle"
  2898. }
  2899. };
  2900. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/slider.js
  2901. var slider_default = {
  2902. // slider组件
  2903. slider: {
  2904. value: 0,
  2905. blockSize: 18,
  2906. min: 0,
  2907. max: 100,
  2908. step: 1,
  2909. activeColor: "#2979ff",
  2910. inactiveColor: "#c0c4cc",
  2911. blockColor: "#ffffff",
  2912. showValue: false,
  2913. disabled: false,
  2914. blockStyle: {}
  2915. }
  2916. };
  2917. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/statusBar.js
  2918. var statusBar_default = {
  2919. // statusBar
  2920. statusBar: {
  2921. bgColor: "transparent"
  2922. }
  2923. };
  2924. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/steps.js
  2925. var steps_default = {
  2926. // steps组件
  2927. steps: {
  2928. direction: "row",
  2929. current: 0,
  2930. activeColor: "#3c9cff",
  2931. inactiveColor: "#969799",
  2932. activeIcon: "",
  2933. inactiveIcon: "",
  2934. dot: false
  2935. }
  2936. };
  2937. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/stepsItem.js
  2938. var stepsItem_default = {
  2939. // steps-item组件
  2940. stepsItem: {
  2941. title: "",
  2942. desc: "",
  2943. iconSize: 17,
  2944. error: false
  2945. }
  2946. };
  2947. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/sticky.js
  2948. var sticky_default = {
  2949. // sticky组件
  2950. sticky: {
  2951. offsetTop: 0,
  2952. customNavHeight: 0,
  2953. disabled: false,
  2954. bgColor: "transparent",
  2955. zIndex: "",
  2956. index: ""
  2957. }
  2958. };
  2959. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/subsection.js
  2960. var subsection_default = {
  2961. // subsection组件
  2962. subsection: {
  2963. list: [],
  2964. current: 0,
  2965. activeColor: "#3c9cff",
  2966. inactiveColor: "#303133",
  2967. mode: "button",
  2968. fontSize: 12,
  2969. bold: true,
  2970. bgColor: "#eeeeef",
  2971. keyName: "name"
  2972. }
  2973. };
  2974. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/swipeAction.js
  2975. var swipeAction_default = {
  2976. // swipe-action组件
  2977. swipeAction: {
  2978. autoClose: true
  2979. }
  2980. };
  2981. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/swipeActionItem.js
  2982. var swipeActionItem_default = {
  2983. // swipeActionItem 组件
  2984. swipeActionItem: {
  2985. show: false,
  2986. name: "",
  2987. disabled: false,
  2988. threshold: 20,
  2989. autoClose: true,
  2990. options: [],
  2991. duration: 300
  2992. }
  2993. };
  2994. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/swiper.js
  2995. var swiper_default = {
  2996. // swiper 组件
  2997. swiper: {
  2998. list: [],
  2999. indicator: false,
  3000. indicatorActiveColor: "#FFFFFF",
  3001. indicatorInactiveColor: "rgba(255, 255, 255, 0.35)",
  3002. indicatorStyle: "",
  3003. indicatorMode: "line",
  3004. autoplay: true,
  3005. current: 0,
  3006. currentItemId: "",
  3007. interval: 3e3,
  3008. duration: 300,
  3009. circular: false,
  3010. previousMargin: 0,
  3011. nextMargin: 0,
  3012. acceleration: false,
  3013. displayMultipleItems: 1,
  3014. easingFunction: "default",
  3015. keyName: "url",
  3016. imgMode: "aspectFill",
  3017. height: 130,
  3018. bgColor: "#f3f4f6",
  3019. radius: 4,
  3020. loading: false,
  3021. showTitle: false
  3022. }
  3023. };
  3024. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/swipterIndicator.js
  3025. var swipterIndicator_default = {
  3026. // swiperIndicator 组件
  3027. swiperIndicator: {
  3028. length: 0,
  3029. current: 0,
  3030. indicatorActiveColor: "",
  3031. indicatorInactiveColor: "",
  3032. indicatorMode: "line"
  3033. }
  3034. };
  3035. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/switch.js
  3036. var switch_default = {
  3037. // switch
  3038. switch: {
  3039. loading: false,
  3040. disabled: false,
  3041. size: 25,
  3042. activeColor: "#2979ff",
  3043. inactiveColor: "#ffffff",
  3044. value: false,
  3045. activeValue: true,
  3046. inactiveValue: false,
  3047. asyncChange: false,
  3048. space: 0
  3049. }
  3050. };
  3051. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/tabbar.js
  3052. var tabbar_default = {
  3053. // tabbar
  3054. tabbar: {
  3055. value: null,
  3056. safeAreaInsetBottom: true,
  3057. border: true,
  3058. zIndex: 1,
  3059. activeColor: "#1989fa",
  3060. inactiveColor: "#7d7e80",
  3061. fixed: true,
  3062. placeholder: true
  3063. }
  3064. };
  3065. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/tabbarItem.js
  3066. var tabbarItem_default = {
  3067. //
  3068. tabbarItem: {
  3069. name: null,
  3070. icon: "",
  3071. badge: null,
  3072. dot: false,
  3073. text: "",
  3074. badgeStyle: "top: 6px;right:2px;"
  3075. }
  3076. };
  3077. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/tabs.js
  3078. var tabs_default = {
  3079. //
  3080. tabs: {
  3081. duration: 300,
  3082. list: [],
  3083. lineColor: "#3c9cff",
  3084. activeStyle: {
  3085. color: "#303133"
  3086. },
  3087. inactiveStyle: {
  3088. color: "#606266"
  3089. },
  3090. lineWidth: 20,
  3091. lineHeight: 3,
  3092. lineBgSize: "cover",
  3093. itemStyle: {
  3094. height: "44px"
  3095. },
  3096. scrollable: true,
  3097. current: 0,
  3098. keyName: "name"
  3099. }
  3100. };
  3101. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/tag.js
  3102. var tag_default = {
  3103. // tag 组件
  3104. tag: {
  3105. type: "primary",
  3106. disabled: false,
  3107. size: "medium",
  3108. shape: "square",
  3109. text: "",
  3110. bgColor: "",
  3111. color: "",
  3112. borderColor: "",
  3113. closeColor: "#C6C7CB",
  3114. name: "",
  3115. plainFill: false,
  3116. plain: false,
  3117. closable: false,
  3118. show: true,
  3119. icon: "",
  3120. iconColor: ""
  3121. }
  3122. };
  3123. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/text.js
  3124. var text_default = {
  3125. // text 组件
  3126. text: {
  3127. type: "",
  3128. show: true,
  3129. text: "",
  3130. prefixIcon: "",
  3131. suffixIcon: "",
  3132. mode: "",
  3133. href: "",
  3134. format: "",
  3135. call: false,
  3136. openType: "",
  3137. bold: false,
  3138. block: false,
  3139. lines: "",
  3140. color: "#303133",
  3141. size: 15,
  3142. iconStyle: {
  3143. fontSize: "15px"
  3144. },
  3145. decoration: "none",
  3146. margin: 0,
  3147. lineHeight: "",
  3148. align: "left",
  3149. wordWrap: "normal"
  3150. }
  3151. };
  3152. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/textarea.js
  3153. var textarea_default = {
  3154. // textarea 组件
  3155. textarea: {
  3156. value: "",
  3157. placeholder: "",
  3158. placeholderClass: "textarea-placeholder",
  3159. placeholderStyle: "color: #c0c4cc",
  3160. height: 70,
  3161. confirmType: "done",
  3162. disabled: false,
  3163. count: false,
  3164. focus: false,
  3165. autoHeight: false,
  3166. fixed: false,
  3167. cursorSpacing: 0,
  3168. cursor: "",
  3169. showConfirmBar: true,
  3170. selectionStart: -1,
  3171. selectionEnd: -1,
  3172. adjustPosition: true,
  3173. disableDefaultPadding: false,
  3174. holdKeyboard: false,
  3175. maxlength: 140,
  3176. border: "surround",
  3177. formatter: null
  3178. }
  3179. };
  3180. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/toast.js
  3181. var toast_default = {
  3182. // toast组件
  3183. toast: {
  3184. zIndex: 10090,
  3185. loading: false,
  3186. text: "",
  3187. icon: "",
  3188. type: "",
  3189. loadingMode: "",
  3190. show: "",
  3191. overlay: false,
  3192. position: "center",
  3193. params: {},
  3194. duration: 2e3,
  3195. isTab: false,
  3196. url: "",
  3197. callback: null,
  3198. back: false
  3199. }
  3200. };
  3201. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/toolbar.js
  3202. var toolbar_default = {
  3203. // toolbar 组件
  3204. toolbar: {
  3205. show: true,
  3206. cancelText: "取消",
  3207. confirmText: "确认",
  3208. cancelColor: "#909193",
  3209. confirmColor: "#3c9cff",
  3210. title: ""
  3211. }
  3212. };
  3213. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/tooltip.js
  3214. var tooltip_default = {
  3215. // tooltip 组件
  3216. tooltip: {
  3217. text: "",
  3218. copyText: "",
  3219. size: 14,
  3220. color: "#606266",
  3221. bgColor: "transparent",
  3222. direction: "top",
  3223. zIndex: 10071,
  3224. showCopy: true,
  3225. buttons: [],
  3226. overlay: true,
  3227. showToast: true
  3228. }
  3229. };
  3230. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/transition.js
  3231. var transition_default = {
  3232. // transition动画组件的props
  3233. transition: {
  3234. show: false,
  3235. mode: "fade",
  3236. duration: "300",
  3237. timingFunction: "ease-out"
  3238. }
  3239. };
  3240. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props/upload.js
  3241. var upload_default = {
  3242. // upload组件
  3243. upload: {
  3244. accept: "image",
  3245. capture: ["album", "camera"],
  3246. compressed: true,
  3247. camera: "back",
  3248. maxDuration: 60,
  3249. uploadIcon: "camera-fill",
  3250. uploadIconColor: "#D3D4D6",
  3251. useBeforeRead: false,
  3252. previewFullImage: true,
  3253. maxCount: 52,
  3254. disabled: false,
  3255. imageMode: "aspectFill",
  3256. name: "",
  3257. sizeType: ["original", "compressed"],
  3258. multiple: false,
  3259. deletable: true,
  3260. maxSize: Number.MAX_VALUE,
  3261. fileList: [],
  3262. uploadText: "",
  3263. width: 80,
  3264. height: 80,
  3265. previewImage: true
  3266. }
  3267. };
  3268. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/props.js
  3269. var {
  3270. color: color5
  3271. } = config_default;
  3272. var props_default = {
  3273. ...actionSheet_default,
  3274. ...album_default,
  3275. ...alert_default,
  3276. ...avatar_default,
  3277. ...avatarGroup_default,
  3278. ...backtop_default,
  3279. ...badge_default,
  3280. ...button_default,
  3281. ...calendar_default,
  3282. ...carKeyboard_default,
  3283. ...cell_default,
  3284. ...cellGroup_default,
  3285. ...checkbox_default,
  3286. ...checkboxGroup_default,
  3287. ...circleProgress_default,
  3288. ...code_default,
  3289. ...codeInput_default,
  3290. ...col_default,
  3291. ...collapse_default,
  3292. ...collapseItem_default,
  3293. ...columnNotice_default,
  3294. ...countDown_default,
  3295. ...countTo_default,
  3296. ...datetimePicker_default,
  3297. ...divider_default,
  3298. ...empty_default,
  3299. ...form_default,
  3300. ...formItem_default,
  3301. ...gap_default,
  3302. ...grid_default,
  3303. ...gridItem_default,
  3304. ...icon_default,
  3305. ...image_default,
  3306. ...indexAnchor_default,
  3307. ...indexList_default,
  3308. ...input_default,
  3309. ...keyboard_default,
  3310. ...line_default,
  3311. ...lineProgress_default,
  3312. ...link_default,
  3313. ...list_default,
  3314. ...listItem_default,
  3315. ...loadingIcon_default,
  3316. ...loadingPage_default,
  3317. ...loadmore_default,
  3318. ...modal_default,
  3319. ...navbar_default,
  3320. ...noNetwork_default,
  3321. ...noticeBar_default,
  3322. ...notify_default,
  3323. ...numberBox_default,
  3324. ...numberKeyboard_default,
  3325. ...overlay_default,
  3326. ...parse_default,
  3327. ...picker_default,
  3328. ...popup_default,
  3329. ...radio_default,
  3330. ...radioGroup_default,
  3331. ...rate_default,
  3332. ...readMore_default,
  3333. ...row_default,
  3334. ...rowNotice_default,
  3335. ...scrollList_default,
  3336. ...search_default,
  3337. ...section_default,
  3338. ...skeleton_default,
  3339. ...slider_default,
  3340. ...statusBar_default,
  3341. ...steps_default,
  3342. ...stepsItem_default,
  3343. ...sticky_default,
  3344. ...subsection_default,
  3345. ...swipeAction_default,
  3346. ...swipeActionItem_default,
  3347. ...swiper_default,
  3348. ...swipterIndicator_default,
  3349. ...switch_default,
  3350. ...tabbar_default,
  3351. ...tabbarItem_default,
  3352. ...tabs_default,
  3353. ...tag_default,
  3354. ...text_default,
  3355. ...textarea_default,
  3356. ...toast_default,
  3357. ...toolbar_default,
  3358. ...tooltip_default,
  3359. ...transition_default,
  3360. ...upload_default
  3361. };
  3362. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/config/zIndex.js
  3363. var zIndex_default = {
  3364. toast: 10090,
  3365. noNetwork: 10080,
  3366. // popup包含popup,actionsheet,keyboard,picker的值
  3367. popup: 10075,
  3368. mask: 10070,
  3369. navbar: 980,
  3370. topTips: 975,
  3371. sticky: 970,
  3372. indexListSticky: 965
  3373. };
  3374. // ../../../project/学吧/learn_applet/node_modules/uview-plus/libs/function/platform.js
  3375. var platform = "none";
  3376. platform = "vue3";
  3377. platform = "h5";
  3378. var platform_default = platform;
  3379. // ../../../project/学吧/learn_applet/node_modules/uview-plus/index.js
  3380. var http = new luch_request_default();
  3381. var themeType = ["primary", "success", "error", "warning", "info"];
  3382. function setConfig(configs) {
  3383. function_default.shallowMerge(config_default, configs.config || {});
  3384. function_default.shallowMerge(props_default, configs.props || {});
  3385. function_default.shallowMerge(color_default, configs.color || {});
  3386. function_default.shallowMerge(zIndex_default, configs.zIndex || {});
  3387. }
  3388. function_default.setConfig = setConfig;
  3389. var $u = {
  3390. route: route_default,
  3391. date: function_default.timeFormat,
  3392. // 另名date
  3393. colorGradient: colorGradient_default.colorGradient,
  3394. hexToRgb: colorGradient_default.hexToRgb,
  3395. rgbToHex: colorGradient_default.rgbToHex,
  3396. colorToRgba: colorGradient_default.colorToRgba,
  3397. test: test_default,
  3398. type: themeType,
  3399. http,
  3400. config: config_default,
  3401. // uview-plus配置信息相关,比如版本号
  3402. zIndex: zIndex_default,
  3403. debounce: debounce_default,
  3404. throttle: throttle_default,
  3405. mixin: mixin_default,
  3406. mpMixin: mpMixin_default,
  3407. props: props_default,
  3408. ...function_default,
  3409. color: color_default,
  3410. platform: platform_default
  3411. };
  3412. uni.$u = $u;
  3413. var install = (Vue) => {
  3414. Vue.config.globalProperties.$u = $u;
  3415. Vue.mixin(mixin_default);
  3416. };
  3417. var uview_plus_default = {
  3418. install
  3419. };
  3420. export {
  3421. $parent,
  3422. addStyle,
  3423. addUnit,
  3424. color_default as color,
  3425. colorGradient,
  3426. colorToRgba,
  3427. debounce_default as debounce,
  3428. deepClone,
  3429. deepMerge,
  3430. uview_plus_default as default,
  3431. error,
  3432. formValidate,
  3433. getDuration,
  3434. getProperty,
  3435. getPx,
  3436. guid,
  3437. hexToRgb,
  3438. http,
  3439. mixin_default as mixin,
  3440. mpMixin_default as mpMixin,
  3441. os,
  3442. padZero,
  3443. page,
  3444. pages,
  3445. platform_default as platform,
  3446. priceFormat,
  3447. props_default as props,
  3448. queryParams,
  3449. random,
  3450. randomArray,
  3451. range2 as range,
  3452. rgbToHex,
  3453. route_default as route,
  3454. setConfig,
  3455. setProperty,
  3456. shallowMerge,
  3457. sleep,
  3458. sys,
  3459. test_default as test,
  3460. themeType,
  3461. throttle_default as throttle,
  3462. timeFormat,
  3463. timeFrom,
  3464. toast,
  3465. trim,
  3466. type2icon,
  3467. zIndex_default as zIndex
  3468. };
  3469. //# sourceMappingURL=uview-plus.js.map