qidian-shared 1.0.68 → 1.0.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/___vite-browser-external.mjs +7 -0
- package/dist/_virtual/___vite-browser-external.mjs.map +1 -0
- package/dist/_virtual/__vite-browser-external.mjs +5 -0
- package/dist/_virtual/__vite-browser-external.mjs.map +1 -0
- package/dist/_virtual/_commonjs-dynamic-modules.mjs +7 -0
- package/dist/_virtual/_commonjs-dynamic-modules.mjs.map +1 -0
- package/dist/_virtual/_commonjsHelpers.mjs +39 -0
- package/dist/_virtual/_commonjsHelpers.mjs.map +1 -0
- package/dist/_virtual/aes.mjs +5 -0
- package/dist/_virtual/aes.mjs.map +1 -0
- package/dist/_virtual/blowfish.mjs +5 -0
- package/dist/_virtual/blowfish.mjs.map +1 -0
- package/dist/_virtual/cipher-core.mjs +5 -0
- package/dist/_virtual/cipher-core.mjs.map +1 -0
- package/dist/_virtual/core.mjs +5 -0
- package/dist/_virtual/core.mjs.map +1 -0
- package/dist/_virtual/enc-base64.mjs +5 -0
- package/dist/_virtual/enc-base64.mjs.map +1 -0
- package/dist/_virtual/enc-base64url.mjs +5 -0
- package/dist/_virtual/enc-base64url.mjs.map +1 -0
- package/dist/_virtual/enc-utf16.mjs +5 -0
- package/dist/_virtual/enc-utf16.mjs.map +1 -0
- package/dist/_virtual/evpkdf.mjs +5 -0
- package/dist/_virtual/evpkdf.mjs.map +1 -0
- package/dist/_virtual/format-hex.mjs +5 -0
- package/dist/_virtual/format-hex.mjs.map +1 -0
- package/dist/_virtual/hmac.mjs +5 -0
- package/dist/_virtual/hmac.mjs.map +1 -0
- package/dist/_virtual/index.mjs +8 -0
- package/dist/_virtual/index.mjs.map +1 -0
- package/dist/_virtual/index2.mjs +5 -0
- package/dist/_virtual/index2.mjs.map +1 -0
- package/dist/_virtual/lib-typedarrays.mjs +5 -0
- package/dist/_virtual/lib-typedarrays.mjs.map +1 -0
- package/dist/_virtual/md5.mjs +5 -0
- package/dist/_virtual/md5.mjs.map +1 -0
- package/dist/_virtual/mode-cfb.mjs +5 -0
- package/dist/_virtual/mode-cfb.mjs.map +1 -0
- package/dist/_virtual/mode-ctr-gladman.mjs +5 -0
- package/dist/_virtual/mode-ctr-gladman.mjs.map +1 -0
- package/dist/_virtual/mode-ctr.mjs +5 -0
- package/dist/_virtual/mode-ctr.mjs.map +1 -0
- package/dist/_virtual/mode-ecb.mjs +5 -0
- package/dist/_virtual/mode-ecb.mjs.map +1 -0
- package/dist/_virtual/mode-ofb.mjs +5 -0
- package/dist/_virtual/mode-ofb.mjs.map +1 -0
- package/dist/_virtual/pad-ansix923.mjs +5 -0
- package/dist/_virtual/pad-ansix923.mjs.map +1 -0
- package/dist/_virtual/pad-iso10126.mjs +5 -0
- package/dist/_virtual/pad-iso10126.mjs.map +1 -0
- package/dist/_virtual/pad-iso97971.mjs +5 -0
- package/dist/_virtual/pad-iso97971.mjs.map +1 -0
- package/dist/_virtual/pad-nopadding.mjs +5 -0
- package/dist/_virtual/pad-nopadding.mjs.map +1 -0
- package/dist/_virtual/pad-zeropadding.mjs +5 -0
- package/dist/_virtual/pad-zeropadding.mjs.map +1 -0
- package/dist/_virtual/pbkdf2.mjs +5 -0
- package/dist/_virtual/pbkdf2.mjs.map +1 -0
- package/dist/_virtual/rabbit-legacy.mjs +5 -0
- package/dist/_virtual/rabbit-legacy.mjs.map +1 -0
- package/dist/_virtual/rabbit.mjs +5 -0
- package/dist/_virtual/rabbit.mjs.map +1 -0
- package/dist/_virtual/rc4.mjs +5 -0
- package/dist/_virtual/rc4.mjs.map +1 -0
- package/dist/_virtual/ripemd160.mjs +5 -0
- package/dist/_virtual/ripemd160.mjs.map +1 -0
- package/dist/_virtual/sha1.mjs +5 -0
- package/dist/_virtual/sha1.mjs.map +1 -0
- package/dist/_virtual/sha224.mjs +5 -0
- package/dist/_virtual/sha224.mjs.map +1 -0
- package/dist/_virtual/sha256.mjs +5 -0
- package/dist/_virtual/sha256.mjs.map +1 -0
- package/dist/_virtual/sha3.mjs +5 -0
- package/dist/_virtual/sha3.mjs.map +1 -0
- package/dist/_virtual/sha384.mjs +5 -0
- package/dist/_virtual/sha384.mjs.map +1 -0
- package/dist/_virtual/sha512.mjs +5 -0
- package/dist/_virtual/sha512.mjs.map +1 -0
- package/dist/_virtual/tripledes.mjs +5 -0
- package/dist/_virtual/tripledes.mjs.map +1 -0
- package/dist/_virtual/x64-core.mjs +5 -0
- package/dist/_virtual/x64-core.mjs.map +1 -0
- package/dist/directive/index.d.ts +1 -0
- package/dist/directive/resize.d.ts +19 -0
- package/dist/directive/resize.mjs +42 -0
- package/dist/directive/resize.mjs.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/useActivated.d.ts +3 -0
- package/dist/hooks/useActivated.mjs +17 -0
- package/dist/hooks/useActivated.mjs.map +1 -0
- package/dist/hooks/useAutofocus.d.ts +3 -0
- package/dist/hooks/useAutofocus.mjs +20 -0
- package/dist/hooks/useAutofocus.mjs.map +1 -0
- package/dist/hooks/useCsl.d.ts +13 -0
- package/dist/hooks/useCsl.mjs +43 -0
- package/dist/hooks/useCsl.mjs.map +1 -0
- package/dist/hooks/useDoubleClick.d.ts +7 -0
- package/dist/hooks/useDoubleClick.mjs +41 -0
- package/dist/hooks/useDoubleClick.mjs.map +1 -0
- package/dist/hooks/useProxy.d.ts +1 -0
- package/dist/hooks/useProxy.mjs +12 -0
- package/dist/hooks/useProxy.mjs.map +1 -0
- package/dist/hooks/useService/index.d.ts +3 -0
- package/dist/hooks/useService/loadMore.d.ts +2 -0
- package/dist/hooks/useService/loadMore.mjs +133 -0
- package/dist/hooks/useService/loadMore.mjs.map +1 -0
- package/dist/hooks/useService/pagination.d.ts +2 -0
- package/dist/hooks/useService/pagination.mjs +167 -0
- package/dist/hooks/useService/pagination.mjs.map +1 -0
- package/dist/hooks/useService/types.d.ts +56 -0
- package/dist/hooks/useTimer.d.ts +22 -0
- package/dist/hooks/useTimer.mjs +31 -0
- package/dist/hooks/useTimer.mjs.map +1 -0
- package/dist/hooks/useTplRefsList.d.ts +5 -0
- package/dist/hooks/useTplRefsList.mjs +18 -0
- package/dist/hooks/useTplRefsList.mjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +105 -0
- package/dist/index.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs +163 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs +1198 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/blowfish.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs +650 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs +615 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs +113 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs +124 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64url.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs +123 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf16.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs +98 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs +66 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/format-hex.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs +112 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs +56 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/index.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs +50 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/lib-typedarrays.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs +184 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs +58 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-cfb.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs +81 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr-gladman.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs +46 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ctr.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs +37 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs +44 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ofb.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs +38 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-ansix923.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs +34 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso10126.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs +33 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-iso97971.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs +29 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-nopadding.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs +40 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-zeropadding.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs +105 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pbkdf2.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs +135 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit-legacy.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs +138 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rabbit.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs +92 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/rc4.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs +476 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/ripemd160.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs +96 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs +51 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha224.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs +126 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha256.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs +208 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha3.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs +53 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha384.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs +288 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha512.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs +790 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/tripledes.mjs.map +1 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs +262 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/x64-core.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncrypt.mjs +123 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncrypt.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncryptRSAKey.mjs +182 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/JSEncryptRSAKey.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/index.mjs +6 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/index.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/asn1.mjs +541 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/asn1.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/base64.mjs +75 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/base64.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/hex.mjs +53 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/hex.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/int10.mjs +75 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/asn1js/int10.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/base64.mjs +65 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/base64.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/jsbn.mjs +1487 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/jsbn.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/prng4.mjs +47 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/prng4.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rng.mjs +73 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rng.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rsa.mjs +357 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/rsa.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/sha256.mjs +104 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/sha256.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/util.mjs +60 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsbn/util.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.mjs +746 -0
- package/dist/node_modules/.pnpm/jsencrypt@3.5.4/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/regular/jsonrepair.mjs +567 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/regular/jsonrepair.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/JSONRepairError.mjs +10 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/JSONRepairError.mjs.map +1 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/stringUtils.mjs +114 -0
- package/dist/node_modules/.pnpm/jsonrepair@3.13.1/node_modules/jsonrepair/lib/esm/utils/stringUtils.mjs.map +1 -0
- package/dist/node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs +1183 -0
- package/dist/node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs.map +1 -0
- package/dist/utils/calc.d.ts +5 -0
- package/dist/utils/calc.mjs +54 -0
- package/dist/utils/calc.mjs.map +1 -0
- package/dist/utils/common.d.ts +48 -0
- package/dist/utils/common.mjs +125 -0
- package/dist/utils/common.mjs.map +1 -0
- package/dist/utils/conversion.d.ts +12 -0
- package/dist/utils/conversion.mjs +59 -0
- package/dist/utils/conversion.mjs.map +1 -0
- package/dist/utils/crypto.d.ts +7 -0
- package/dist/utils/crypto.mjs +39 -0
- package/dist/utils/crypto.mjs.map +1 -0
- package/dist/utils/dom.d.ts +4 -0
- package/dist/utils/dom.mjs +29 -0
- package/dist/utils/dom.mjs.map +1 -0
- package/dist/utils/download.d.ts +1 -0
- package/dist/utils/download.mjs +20 -0
- package/dist/utils/download.mjs.map +1 -0
- package/dist/utils/file.d.ts +7 -0
- package/dist/utils/file.mjs +48 -0
- package/dist/utils/file.mjs.map +1 -0
- package/dist/utils/glob.d.ts +1 -0
- package/dist/utils/glob.mjs +16 -0
- package/dist/utils/glob.mjs.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/jsencrypt.d.ts +2 -0
- package/dist/utils/jsencrypt.mjs +16 -0
- package/dist/utils/jsencrypt.mjs.map +1 -0
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.mjs +24 -0
- package/dist/utils/json.mjs.map +1 -0
- package/dist/utils/platformInfo.d.ts +16 -0
- package/dist/utils/promise.d.ts +7 -0
- package/dist/utils/promise.mjs +38 -0
- package/dist/utils/promise.mjs.map +1 -0
- package/dist/utils/str.d.ts +8 -0
- package/dist/utils/str.mjs +79 -0
- package/dist/utils/str.mjs.map +1 -0
- package/dist/utils/type.d.ts +6 -0
- package/dist/utils/type.mjs +21 -0
- package/dist/utils/type.mjs.map +1 -0
- package/dist/utils/url.d.ts +4 -0
- package/dist/utils/url.mjs +75 -0
- package/dist/utils/url.mjs.map +1 -0
- package/dist/utils/validator.d.ts +14 -0
- package/dist/utils/validator.mjs +51 -0
- package/dist/utils/validator.mjs.map +1 -0
- package/dist/utils/vitePlugin.d.ts +8 -0
- package/dist/vite/qidian-vite-plugin.cjs.js +68 -0
- package/dist/vite/qidian-vite-plugin.cjs.js.map +1 -0
- package/dist/vite/qidian-vite-plugin.es.js +68 -0
- package/dist/vite/qidian-vite-plugin.es.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type CslType = 'log' | 'warn' | 'error';
|
|
2
|
+
type Csl = {
|
|
3
|
+
[key in CslType]: {
|
|
4
|
+
(childModule: ChildModule, ...rest: unknown[]): void;
|
|
5
|
+
dev(childModule: ChildModule, ...rest: unknown[]): void;
|
|
6
|
+
};
|
|
7
|
+
} & {
|
|
8
|
+
useNext(childModule: ChildModule): Csl;
|
|
9
|
+
};
|
|
10
|
+
type ChildModule = string | number | Array<string | number>;
|
|
11
|
+
export declare const isDev: boolean;
|
|
12
|
+
export declare function useCsl(module: string | Array<string>): Csl;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { noop, isEmpty } from "../utils/common.mjs";
|
|
2
|
+
const __vite_import_meta_env__ = { "BASE_URL": "/", "DEV": false, "MODE": "production", "PROD": true, "SSR": false };
|
|
3
|
+
const cslType = ["log", "warn", "error"];
|
|
4
|
+
const isDev = import.meta.env?.NODE_ENV !== "production" || __vite_import_meta_env__ && false;
|
|
5
|
+
function useCsl(module) {
|
|
6
|
+
const toStr = (data) => {
|
|
7
|
+
if (typeof data === "object") return data.join(".");
|
|
8
|
+
if (typeof data === "number") return data.toString();
|
|
9
|
+
return data;
|
|
10
|
+
};
|
|
11
|
+
module = toStr(module);
|
|
12
|
+
const getModule = (childModule) => {
|
|
13
|
+
if (isEmpty(childModule)) return `[${module}]`;
|
|
14
|
+
childModule = toStr(childModule);
|
|
15
|
+
if (childModule) childModule = "." + childModule;
|
|
16
|
+
return `[${module}${childModule}]`;
|
|
17
|
+
};
|
|
18
|
+
const core = (type = "log", childModule, ...rest) => {
|
|
19
|
+
if (isEmpty(rest)) {
|
|
20
|
+
console[type](getModule(), childModule);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
console[type](getModule(childModule), ...rest);
|
|
24
|
+
};
|
|
25
|
+
const csl = {
|
|
26
|
+
useNext(childModule) {
|
|
27
|
+
return useCsl(getModule(childModule).replace(/\[|\]/g, ""));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
cslType.forEach((item) => {
|
|
31
|
+
const temp = (childModule, ...rest) => {
|
|
32
|
+
core(item, childModule, ...rest);
|
|
33
|
+
};
|
|
34
|
+
temp.dev = isDev ? temp : noop;
|
|
35
|
+
csl[item] = temp;
|
|
36
|
+
});
|
|
37
|
+
return csl;
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
isDev,
|
|
41
|
+
useCsl
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=useCsl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCsl.mjs","sources":["../../src/hooks/useCsl.ts"],"sourcesContent":["import { isEmpty, noop } from '../utils'\n\ntype CslType = 'log' | 'warn' | 'error'\ntype Csl = {\n [key in CslType]: {\n (childModule: ChildModule, ...rest: unknown[]): void\n dev(childModule: ChildModule, ...rest: unknown[]): void\n }\n} & { useNext(childModule: ChildModule): Csl }\ntype ChildModule = string | number | Array<string | number>\n\nconst cslType: Array<CslType> = ['log', 'warn', 'error']\nexport const isDev =\n process?.env?.NODE_ENV !== 'production' ||\n (import.meta.env && import.meta.env.MODE !== 'production')\n\nexport function useCsl(module: string | Array<string>) {\n const toStr = (data: ChildModule) => {\n if (typeof data === 'object') return data.join('.')\n if (typeof data === 'number') return data.toString()\n return data\n }\n\n module = toStr(module)\n\n const getModule = (childModule?: ChildModule) => {\n if (isEmpty(childModule)) return `[${module}]`\n\n childModule = toStr(childModule!)\n if (childModule) childModule = '.' + childModule\n\n return `[${module}${childModule}]`\n }\n\n const core = (type: CslType = 'log', childModule: ChildModule, ...rest: unknown[]) => {\n if (isEmpty(rest)) {\n console[type](getModule(), childModule)\n return\n }\n\n console[type](getModule(childModule), ...rest)\n }\n\n const csl: Csl = {\n useNext(childModule: ChildModule) {\n return useCsl(getModule(childModule).replace(/\\[|\\]/g, ''))\n }\n } as Csl\n\n cslType.forEach((item) => {\n const temp: Csl[CslType] = (childModule: ChildModule, ...rest: unknown[]) => {\n core(item, childModule, ...rest)\n }\n\n temp.dev = isDev ? temp : noop\n csl[item] = temp\n })\n\n return csl\n}\n"],"names":[],"mappings":";;AAWA,MAAM,UAA0B,CAAC,OAAO,QAAQ,OAAO;AAChD,MAAM,QACX,YAAA,KAAc,aAAa,gBAC1B,4BAAmB;AAEf,SAAS,OAAO,QAAgC;AACrD,QAAM,QAAQ,CAAC,SAAsB;AACnC,QAAI,OAAO,SAAS,SAAU,QAAO,KAAK,KAAK,GAAG;AAClD,QAAI,OAAO,SAAS,SAAU,QAAO,KAAK,SAAA;AAC1C,WAAO;AAAA,EACT;AAEA,WAAS,MAAM,MAAM;AAErB,QAAM,YAAY,CAAC,gBAA8B;AAC/C,QAAI,QAAQ,WAAW,EAAG,QAAO,IAAI,MAAM;AAE3C,kBAAc,MAAM,WAAY;AAChC,QAAI,2BAA2B,MAAM;AAErC,WAAO,IAAI,MAAM,GAAG,WAAW;AAAA,EACjC;AAEA,QAAM,OAAO,CAAC,OAAgB,OAAO,gBAA6B,SAAoB;AACpF,QAAI,QAAQ,IAAI,GAAG;AACjB,cAAQ,IAAI,EAAE,UAAA,GAAa,WAAW;AACtC;AAAA,IACF;AAEA,YAAQ,IAAI,EAAE,UAAU,WAAW,GAAG,GAAG,IAAI;AAAA,EAC/C;AAEA,QAAM,MAAW;AAAA,IACf,QAAQ,aAA0B;AAChC,aAAO,OAAO,UAAU,WAAW,EAAE,QAAQ,UAAU,EAAE,CAAC;AAAA,IAC5D;AAAA,EAAA;AAGF,UAAQ,QAAQ,CAAC,SAAS;AACxB,UAAM,OAAqB,CAAC,gBAA6B,SAAoB;AAC3E,WAAK,MAAM,aAAa,GAAG,IAAI;AAAA,IACjC;AAEA,SAAK,MAAM,QAAQ,OAAO;AAC1B,QAAI,IAAI,IAAI;AAAA,EACd,CAAC;AAED,SAAO;AACT;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface UseDoubleClickOptions<TArgs extends any[] = []> {
|
|
2
|
+
delay?: number;
|
|
3
|
+
shouldReset?: (...args: TArgs) => boolean;
|
|
4
|
+
onSingleClick?: (...args: TArgs) => void;
|
|
5
|
+
onDoubleClick?: (...args: TArgs) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function useDoubleClick<TArgs extends any[] = []>(options?: UseDoubleClickOptions<TArgs>): (...args: TArgs) => void;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function useDoubleClick(options = {}) {
|
|
2
|
+
const { delay = 300, shouldReset, onSingleClick, onDoubleClick } = options;
|
|
3
|
+
let lastClickTime = 0;
|
|
4
|
+
let pendingTimer = null;
|
|
5
|
+
let cachedArgs = null;
|
|
6
|
+
function trigger(...args) {
|
|
7
|
+
const now = Date.now();
|
|
8
|
+
if (shouldReset?.(...args)) {
|
|
9
|
+
if (pendingTimer) clearTimeout(pendingTimer);
|
|
10
|
+
cachedArgs = args;
|
|
11
|
+
pendingTimer = setTimeout(() => {
|
|
12
|
+
onSingleClick?.(...cachedArgs);
|
|
13
|
+
pendingTimer = null;
|
|
14
|
+
cachedArgs = null;
|
|
15
|
+
}, delay);
|
|
16
|
+
lastClickTime = now;
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (now - lastClickTime < delay) {
|
|
20
|
+
if (pendingTimer) {
|
|
21
|
+
clearTimeout(pendingTimer);
|
|
22
|
+
pendingTimer = null;
|
|
23
|
+
}
|
|
24
|
+
onDoubleClick?.(...args);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (pendingTimer) clearTimeout(pendingTimer);
|
|
28
|
+
cachedArgs = args;
|
|
29
|
+
pendingTimer = setTimeout(() => {
|
|
30
|
+
onSingleClick?.(...cachedArgs);
|
|
31
|
+
pendingTimer = null;
|
|
32
|
+
cachedArgs = null;
|
|
33
|
+
}, delay);
|
|
34
|
+
lastClickTime = now;
|
|
35
|
+
}
|
|
36
|
+
return trigger;
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
useDoubleClick
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=useDoubleClick.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDoubleClick.mjs","sources":["../../src/hooks/useDoubleClick.ts"],"sourcesContent":["export interface UseDoubleClickOptions<TArgs extends any[] = []> {\n /** 双击延迟时间(ms),默认 300 */\n delay?: number\n /** 返回 true 时重置双击状态,不判定为双击 */\n shouldReset?: (...args: TArgs) => boolean\n /** 单击回调 */\n onSingleClick?: (...args: TArgs) => void\n /** 双击回调 */\n onDoubleClick?: (...args: TArgs) => void\n}\n\n/**\n * 处理单双击逻辑的 hooks\n * @example\n * ```ts\n * const trigger = useDoubleClick({\n * onSingleClick: (rowKeys, options) => console.log('单击', rowKeys, options),\n * onDoubleClick: (rowKeys, options) => console.log('双击', rowKeys, options),\n * })\n *\n * // 在事件处理中直接调用\n * function handleSelectChange(rowKeys: string[], options: SelectOptions) {\n * trigger(rowKeys, options)\n * }\n * ```\n */\nexport function useDoubleClick<TArgs extends any[] = []>(\n options: UseDoubleClickOptions<TArgs> = {}\n) {\n const { delay = 300, shouldReset, onSingleClick, onDoubleClick } = options\n\n let lastClickTime = 0\n let pendingTimer: ReturnType<typeof setTimeout> | null = null\n let cachedArgs: TArgs | null = null\n\n /**\n * 处理点击事件,自动判断单击还是双击\n */\n function trigger(...args: TArgs) {\n const now = Date.now()\n\n // 先检查业务是否要求重置\n if (shouldReset?.(...args)) {\n // 单击,等待延迟看有没有第二次点击\n if (pendingTimer) clearTimeout(pendingTimer)\n cachedArgs = args\n pendingTimer = setTimeout(() => {\n onSingleClick?.(...(cachedArgs as TArgs))\n pendingTimer = null\n cachedArgs = null\n }, delay)\n lastClickTime = now\n return\n }\n\n // 判断是否双击:时间间隔小于 delay\n if (now - lastClickTime < delay) {\n // 双击\n if (pendingTimer) {\n clearTimeout(pendingTimer)\n pendingTimer = null\n }\n onDoubleClick?.(...args)\n return\n }\n\n // 可能是单击,等待延迟看有没有第二次点击\n if (pendingTimer) clearTimeout(pendingTimer)\n cachedArgs = args\n pendingTimer = setTimeout(() => {\n onSingleClick?.(...(cachedArgs as TArgs))\n pendingTimer = null\n cachedArgs = null\n }, delay)\n\n lastClickTime = now\n }\n\n return trigger\n}\n"],"names":[],"mappings":"AA0BO,SAAS,eACd,UAAwC,IACxC;AACA,QAAM,EAAE,QAAQ,KAAK,aAAa,eAAe,kBAAkB;AAEnE,MAAI,gBAAgB;AACpB,MAAI,eAAqD;AACzD,MAAI,aAA2B;AAK/B,WAAS,WAAW,MAAa;AAC/B,UAAM,MAAM,KAAK,IAAA;AAGjB,QAAI,cAAc,GAAG,IAAI,GAAG;AAE1B,UAAI,2BAA2B,YAAY;AAC3C,mBAAa;AACb,qBAAe,WAAW,MAAM;AAC9B,wBAAgB,GAAI,UAAoB;AACxC,uBAAe;AACf,qBAAa;AAAA,MACf,GAAG,KAAK;AACR,sBAAgB;AAChB;AAAA,IACF;AAGA,QAAI,MAAM,gBAAgB,OAAO;AAE/B,UAAI,cAAc;AAChB,qBAAa,YAAY;AACzB,uBAAe;AAAA,MACjB;AACA,sBAAgB,GAAG,IAAI;AACvB;AAAA,IACF;AAGA,QAAI,2BAA2B,YAAY;AAC3C,iBAAa;AACb,mBAAe,WAAW,MAAM;AAC9B,sBAAgB,GAAI,UAAoB;AACxC,qBAAe;AACf,mBAAa;AAAA,IACf,GAAG,KAAK;AAER,oBAAgB;AAAA,EAClB;AAEA,SAAO;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useProxy(): import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getCurrentInstance } from "vue";
|
|
2
|
+
function useProxy() {
|
|
3
|
+
const instance = getCurrentInstance();
|
|
4
|
+
if (!instance || !instance.proxy) {
|
|
5
|
+
throw new Error("[useProxy] 必须在 setup 或生命周期内调用,并且组件已经挂载");
|
|
6
|
+
}
|
|
7
|
+
return instance.proxy;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
useProxy
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useProxy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useProxy.mjs","sources":["../../src/hooks/useProxy.ts"],"sourcesContent":["import type { ComponentInternalInstance } from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nexport function useProxy() {\n const instance = getCurrentInstance() as ComponentInternalInstance | null\n if (!instance || !instance.proxy) {\n throw new Error('[useProxy] 必须在 setup 或生命周期内调用,并且组件已经挂载')\n }\n return instance.proxy\n}\n"],"names":[],"mappings":";AAGO,SAAS,WAAW;AACzB,QAAM,WAAW,mBAAA;AACjB,MAAI,CAAC,YAAY,CAAC,SAAS,OAAO;AAChC,UAAM,IAAI,MAAM,wCAAwC;AAAA,EAC1D;AACA,SAAO,SAAS;AAClB;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { ServicePageLoadMoreOptions, ServicePageParams, ServicePagination, UseServicePageLoadMoreResult } from './types';
|
|
2
|
+
export declare function useServiceLoadMore<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>({ service, manual, transformParams, transformRes, pagination, onBefore, onAfter, onSuccess, onError }: ServicePageLoadMoreOptions<D, R, P, TP, Pag>): UseServicePageLoadMoreResult;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { ref, unref } from "vue";
|
|
2
|
+
import { useLoadMore } from "../../node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs";
|
|
3
|
+
import { suspectedWrapperPromise, to } from "../../utils/promise.mjs";
|
|
4
|
+
import { isEmpty, easyCopy } from "../../utils/common.mjs";
|
|
5
|
+
function useServiceLoadMore({
|
|
6
|
+
service,
|
|
7
|
+
manual,
|
|
8
|
+
transformParams,
|
|
9
|
+
transformRes,
|
|
10
|
+
pagination,
|
|
11
|
+
onBefore,
|
|
12
|
+
onAfter,
|
|
13
|
+
onSuccess,
|
|
14
|
+
onError
|
|
15
|
+
}) {
|
|
16
|
+
const reManual = service ? manual : true;
|
|
17
|
+
const firstLoad = ref(false);
|
|
18
|
+
const manualTriggerLoad = ref(!reManual);
|
|
19
|
+
const dataList = ref([]);
|
|
20
|
+
const {
|
|
21
|
+
data,
|
|
22
|
+
loading,
|
|
23
|
+
loadingMore,
|
|
24
|
+
noMore,
|
|
25
|
+
error,
|
|
26
|
+
refresh,
|
|
27
|
+
refreshAsync,
|
|
28
|
+
cancel,
|
|
29
|
+
loadMore,
|
|
30
|
+
loadMoreAsync,
|
|
31
|
+
mutate
|
|
32
|
+
} = useLoadMore(
|
|
33
|
+
async (params) => {
|
|
34
|
+
const res = { list: [], page: 1, total: 0 };
|
|
35
|
+
if (!service) return res;
|
|
36
|
+
const paginationV = unref(pagination);
|
|
37
|
+
const currentParams = paginationV !== false ? {
|
|
38
|
+
pageNum: isEmpty(params?.page) ? 1 : params.page + 1,
|
|
39
|
+
pageSize: params?.size ?? paginationV?.pageSize ?? 30
|
|
40
|
+
} : void 0;
|
|
41
|
+
if (manualTriggerLoad.value && (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum))) {
|
|
42
|
+
firstLoad.value = true;
|
|
43
|
+
}
|
|
44
|
+
let tParams;
|
|
45
|
+
if (transformParams) {
|
|
46
|
+
const [tpErr, tpRes] = await suspectedWrapperPromise(
|
|
47
|
+
transformParams(
|
|
48
|
+
currentParams ? easyCopy(currentParams) : currentParams
|
|
49
|
+
)
|
|
50
|
+
);
|
|
51
|
+
if (tpErr) throw tpErr;
|
|
52
|
+
tParams = tpRes;
|
|
53
|
+
}
|
|
54
|
+
const [serviceErr, serviceRes] = await to(service(tParams || currentParams));
|
|
55
|
+
if (serviceErr) throw serviceErr;
|
|
56
|
+
let temp;
|
|
57
|
+
if (transformRes) {
|
|
58
|
+
const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes));
|
|
59
|
+
if (trErr) throw trErr;
|
|
60
|
+
temp = trRes;
|
|
61
|
+
} else {
|
|
62
|
+
temp = serviceRes;
|
|
63
|
+
}
|
|
64
|
+
if (!temp.records) temp.records = [];
|
|
65
|
+
if (isEmpty(temp.total)) temp.total = temp.records.length;
|
|
66
|
+
if (!paginationV || currentParams?.pageNum === 1) {
|
|
67
|
+
res.list = temp.records;
|
|
68
|
+
} else {
|
|
69
|
+
res.list = res.list.concat(temp.records);
|
|
70
|
+
}
|
|
71
|
+
if (currentParams) {
|
|
72
|
+
res.page = currentParams?.pageNum;
|
|
73
|
+
res.size = currentParams?.pageSize;
|
|
74
|
+
}
|
|
75
|
+
res.total = temp.total;
|
|
76
|
+
return res;
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
manual: reManual,
|
|
80
|
+
isNoMore: (data2) => {
|
|
81
|
+
if (!data2) return true;
|
|
82
|
+
return isEmpty(data2.total) || data2.list.length >= data2.total;
|
|
83
|
+
},
|
|
84
|
+
onBefore,
|
|
85
|
+
onAfter: () => {
|
|
86
|
+
firstLoad.value = false;
|
|
87
|
+
manualTriggerLoad.value = false;
|
|
88
|
+
onAfter?.();
|
|
89
|
+
},
|
|
90
|
+
onSuccess: (res) => {
|
|
91
|
+
dataList.value = res.list;
|
|
92
|
+
onSuccess?.(res);
|
|
93
|
+
},
|
|
94
|
+
onError
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
function reRefresh() {
|
|
98
|
+
manualTriggerLoad.value = true;
|
|
99
|
+
refresh();
|
|
100
|
+
}
|
|
101
|
+
function reRefreshAsync() {
|
|
102
|
+
manualTriggerLoad.value = true;
|
|
103
|
+
return refreshAsync();
|
|
104
|
+
}
|
|
105
|
+
function reLoadMore() {
|
|
106
|
+
manualTriggerLoad.value = true;
|
|
107
|
+
loadMore();
|
|
108
|
+
}
|
|
109
|
+
function reLoadMoreAsync() {
|
|
110
|
+
manualTriggerLoad.value = true;
|
|
111
|
+
return loadMoreAsync();
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
data,
|
|
115
|
+
dataList,
|
|
116
|
+
firstLoad,
|
|
117
|
+
manualTriggerLoad,
|
|
118
|
+
loading,
|
|
119
|
+
loadingMore,
|
|
120
|
+
noMore,
|
|
121
|
+
error,
|
|
122
|
+
refresh: reRefresh,
|
|
123
|
+
refreshAsync: reRefreshAsync,
|
|
124
|
+
cancel,
|
|
125
|
+
loadMore: reLoadMore,
|
|
126
|
+
loadMoreAsync: reLoadMoreAsync,
|
|
127
|
+
mutate
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export {
|
|
131
|
+
useServiceLoadMore
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=loadMore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadMore.mjs","sources":["../../../src/hooks/useService/loadMore.ts"],"sourcesContent":["import { ref, unref } from 'vue'\nimport { useLoadMore } from 'vue-request'\n\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\nimport type {\n ServiceMaybePageParams,\n ServicePageDataType,\n ServicePageLoadMoreOptions,\n ServicePageParams,\n ServicePageRes,\n ServicePagination,\n UseServicePageLoadMoreResult\n} from './types'\n\nexport function useServiceLoadMore<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePageLoadMoreOptions<D, R, P, TP, Pag>) {\n const reManual = service ? manual : true\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(!reManual)\n const dataList = ref<D[]>([])\n\n const {\n data,\n loading,\n loadingMore,\n noMore,\n error,\n refresh,\n refreshAsync,\n cancel,\n loadMore,\n loadMoreAsync,\n mutate\n } = useLoadMore<ServicePageDataType<D>>(\n async (params) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n if (!service) return res\n\n const paginationV = unref(pagination)\n\n const currentParams =\n paginationV !== false\n ? {\n pageNum: isEmpty(params?.page) ? 1 : params!.page + 1,\n pageSize: params?.size ?? paginationV?.pageSize ?? 30\n }\n : undefined\n\n if (\n manualTriggerLoad.value &&\n (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum))\n ) {\n firstLoad.value = true\n }\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!paginationV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual: reManual,\n isNoMore: (data) => {\n if (!data) return true\n return isEmpty(data.total) || data.list.length >= data.total!\n },\n\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n return refreshAsync()\n }\n\n function reLoadMore() {\n manualTriggerLoad.value = true\n loadMore()\n }\n\n function reLoadMoreAsync() {\n manualTriggerLoad.value = true\n return loadMoreAsync()\n }\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n loadingMore,\n noMore,\n error,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n cancel,\n loadMore: reLoadMore,\n loadMoreAsync: reLoadMoreAsync,\n mutate\n } as UseServicePageLoadMoreResult\n}\n"],"names":["data"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { ServicePageParams, ServicePagination, ServicePaginationOptions, UseServicePaginationResult } from './types';
|
|
2
|
+
export declare function useServicePagination<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>({ service, manual, cacheKey, cacheTime, pollingInterval, transformParams, transformRes, pagination, onBefore, onAfter, onSuccess, onError }: ServicePaginationOptions<D, R, P, TP, Pag> & {}): UseServicePaginationResult;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { ref, unref, onActivated, onDeactivated, onBeforeUnmount } from "vue";
|
|
2
|
+
import { usePagination } from "../../node_modules/.pnpm/vue-request@2.0.4_vue@3.5.26_typescript@5.9.3_/node_modules/vue-request/dist/index.es.mjs";
|
|
3
|
+
import { isEmpty, easyCopy } from "../../utils/common.mjs";
|
|
4
|
+
import { suspectedWrapperPromise, to } from "../../utils/promise.mjs";
|
|
5
|
+
function useServicePagination({
|
|
6
|
+
service,
|
|
7
|
+
manual,
|
|
8
|
+
cacheKey,
|
|
9
|
+
cacheTime,
|
|
10
|
+
pollingInterval,
|
|
11
|
+
transformParams,
|
|
12
|
+
transformRes,
|
|
13
|
+
pagination,
|
|
14
|
+
onBefore,
|
|
15
|
+
onAfter,
|
|
16
|
+
onSuccess,
|
|
17
|
+
onError
|
|
18
|
+
}) {
|
|
19
|
+
const reManual = service ? manual : true;
|
|
20
|
+
const firstLoad = ref(false);
|
|
21
|
+
const manualTriggerLoad = ref(!reManual);
|
|
22
|
+
const dataList = ref([]);
|
|
23
|
+
const paginationV = unref(pagination);
|
|
24
|
+
const {
|
|
25
|
+
data,
|
|
26
|
+
loading,
|
|
27
|
+
error,
|
|
28
|
+
params,
|
|
29
|
+
current,
|
|
30
|
+
pageSize,
|
|
31
|
+
total,
|
|
32
|
+
totalPage,
|
|
33
|
+
changeCurrent,
|
|
34
|
+
changePageSize,
|
|
35
|
+
changePagination,
|
|
36
|
+
runAsync,
|
|
37
|
+
run,
|
|
38
|
+
cancel,
|
|
39
|
+
refresh,
|
|
40
|
+
refreshAsync,
|
|
41
|
+
mutate
|
|
42
|
+
} = usePagination(
|
|
43
|
+
async (params2) => {
|
|
44
|
+
const res = { list: [], page: 1, total: 0 };
|
|
45
|
+
if (!service) return res;
|
|
46
|
+
const currentPagV = unref(pagination);
|
|
47
|
+
const currentParams = currentPagV !== false ? {
|
|
48
|
+
pageNum: params2?.page ?? 1,
|
|
49
|
+
pageSize: params2?.size ?? 10
|
|
50
|
+
} : void 0;
|
|
51
|
+
if (manualTriggerLoad.value && (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum))) {
|
|
52
|
+
firstLoad.value = true;
|
|
53
|
+
}
|
|
54
|
+
let tParams;
|
|
55
|
+
if (transformParams) {
|
|
56
|
+
const [tpErr, tpRes] = await suspectedWrapperPromise(
|
|
57
|
+
transformParams(
|
|
58
|
+
currentParams ? easyCopy(currentParams) : currentParams
|
|
59
|
+
)
|
|
60
|
+
);
|
|
61
|
+
if (tpErr) throw tpErr;
|
|
62
|
+
tParams = tpRes;
|
|
63
|
+
}
|
|
64
|
+
const [serviceErr, serviceRes] = await to(service(tParams || currentParams));
|
|
65
|
+
if (serviceErr) throw serviceErr;
|
|
66
|
+
let temp;
|
|
67
|
+
if (transformRes) {
|
|
68
|
+
const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes));
|
|
69
|
+
if (trErr) throw trErr;
|
|
70
|
+
temp = trRes;
|
|
71
|
+
} else {
|
|
72
|
+
temp = serviceRes;
|
|
73
|
+
}
|
|
74
|
+
if (!temp.records) temp.records = [];
|
|
75
|
+
if (isEmpty(temp.total)) temp.total = temp.records.length;
|
|
76
|
+
if (!currentPagV || currentParams?.pageNum === 1) {
|
|
77
|
+
res.list = temp.records;
|
|
78
|
+
} else {
|
|
79
|
+
res.list = res.list.concat(temp.records);
|
|
80
|
+
}
|
|
81
|
+
if (currentParams) {
|
|
82
|
+
res.page = currentParams?.pageNum;
|
|
83
|
+
res.size = currentParams?.pageSize;
|
|
84
|
+
}
|
|
85
|
+
res.total = temp.total;
|
|
86
|
+
return res;
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
manual: reManual,
|
|
90
|
+
cacheKey,
|
|
91
|
+
cacheTime,
|
|
92
|
+
pollingInterval,
|
|
93
|
+
defaultParams: paginationV !== false ? [{ size: paginationV?.pageSize ?? 10 }] : void 0,
|
|
94
|
+
pagination: {
|
|
95
|
+
currentKey: "page",
|
|
96
|
+
pageSizeKey: "size",
|
|
97
|
+
totalKey: "total"
|
|
98
|
+
},
|
|
99
|
+
onBefore,
|
|
100
|
+
onAfter: () => {
|
|
101
|
+
firstLoad.value = false;
|
|
102
|
+
manualTriggerLoad.value = false;
|
|
103
|
+
onAfter?.();
|
|
104
|
+
},
|
|
105
|
+
onSuccess: (res) => {
|
|
106
|
+
dataList.value = res.list;
|
|
107
|
+
onSuccess?.(res);
|
|
108
|
+
},
|
|
109
|
+
onError
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
function reChangeCurrent(current2) {
|
|
113
|
+
manualTriggerLoad.value = true;
|
|
114
|
+
changeCurrent(current2);
|
|
115
|
+
}
|
|
116
|
+
function reChangePageSize(pageSize2) {
|
|
117
|
+
manualTriggerLoad.value = true;
|
|
118
|
+
changePageSize(pageSize2);
|
|
119
|
+
}
|
|
120
|
+
function reChangePagination(current2, pageSize2) {
|
|
121
|
+
manualTriggerLoad.value = true;
|
|
122
|
+
changePagination(current2, pageSize2);
|
|
123
|
+
}
|
|
124
|
+
function reRefresh() {
|
|
125
|
+
manualTriggerLoad.value = true;
|
|
126
|
+
refresh();
|
|
127
|
+
}
|
|
128
|
+
function reRefreshAsync() {
|
|
129
|
+
manualTriggerLoad.value = true;
|
|
130
|
+
refreshAsync();
|
|
131
|
+
}
|
|
132
|
+
onActivated(() => {
|
|
133
|
+
if (!manual && !isEmpty(unref(pollingInterval))) reRefresh();
|
|
134
|
+
});
|
|
135
|
+
onDeactivated(() => {
|
|
136
|
+
if (!isEmpty(unref(pollingInterval))) cancel();
|
|
137
|
+
});
|
|
138
|
+
onBeforeUnmount(() => {
|
|
139
|
+
if (!isEmpty(unref(pollingInterval))) cancel();
|
|
140
|
+
});
|
|
141
|
+
return {
|
|
142
|
+
data,
|
|
143
|
+
dataList,
|
|
144
|
+
firstLoad,
|
|
145
|
+
manualTriggerLoad,
|
|
146
|
+
loading,
|
|
147
|
+
error,
|
|
148
|
+
params,
|
|
149
|
+
current,
|
|
150
|
+
pageSize,
|
|
151
|
+
total,
|
|
152
|
+
totalPage,
|
|
153
|
+
changeCurrent: reChangeCurrent,
|
|
154
|
+
changePageSize: reChangePageSize,
|
|
155
|
+
changePagination: reChangePagination,
|
|
156
|
+
runAsync,
|
|
157
|
+
run,
|
|
158
|
+
cancel,
|
|
159
|
+
refresh: reRefresh,
|
|
160
|
+
refreshAsync: reRefreshAsync,
|
|
161
|
+
mutate
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
export {
|
|
165
|
+
useServicePagination
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=pagination.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.mjs","sources":["../../../src/hooks/useService/pagination.ts"],"sourcesContent":["import { onActivated, onBeforeUnmount, onDeactivated, ref, unref } from 'vue'\nimport { usePagination } from 'vue-request'\n\nimport { easyCopy, isEmpty, suspectedWrapperPromise, to } from '../../utils'\nimport type {\n ServiceMaybePageParams,\n ServicePageDataType,\n ServicePageParams,\n ServicePageRes,\n ServicePagination,\n ServicePaginationOptions,\n UseServicePaginationResult\n} from './types'\n\nexport function useServicePagination<\n D = unknown,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>({\n service,\n manual,\n cacheKey,\n cacheTime,\n pollingInterval,\n transformParams,\n transformRes,\n pagination,\n onBefore,\n onAfter,\n onSuccess,\n onError\n}: ServicePaginationOptions<D, R, P, TP, Pag> & {}) {\n const reManual = service ? manual : true\n const firstLoad = ref(false)\n const manualTriggerLoad = ref(!reManual)\n const dataList = ref<D[]>([])\n const paginationV = unref(pagination)\n\n const {\n data,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent,\n changePageSize,\n changePagination,\n runAsync,\n run,\n cancel,\n refresh,\n refreshAsync,\n mutate\n } = usePagination<ServicePageDataType<D>>(\n async (params?: { page?: number; size?: number }) => {\n const res: ServicePageDataType<D> = { list: [], page: 1, total: 0 }\n if (!service) return res\n\n const currentPagV = unref(pagination)\n\n const currentParams =\n currentPagV !== false\n ? {\n pageNum: params?.page ?? 1,\n pageSize: params?.size ?? 10\n }\n : undefined\n\n if (\n manualTriggerLoad.value &&\n (currentParams?.pageNum === 1 || isEmpty(currentParams?.pageNum))\n ) {\n firstLoad.value = true\n }\n\n let tParams: TP | undefined\n if (transformParams) {\n const [tpErr, tpRes] = await suspectedWrapperPromise(\n transformParams(\n (currentParams ? easyCopy(currentParams) : currentParams) as ServiceMaybePageParams<Pag>\n )\n )\n if (tpErr) throw tpErr\n\n tParams = tpRes\n }\n\n const [serviceErr, serviceRes] = await to(service(tParams || (currentParams as TP)))\n if (serviceErr) throw serviceErr\n\n let temp: ServicePageRes<D> | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n if (trErr) throw trErr\n\n temp = trRes\n } else {\n temp = serviceRes as ServicePageRes<D>\n }\n\n if (!temp.records) temp.records = []\n if (isEmpty(temp.total)) temp.total = temp.records.length\n\n if (!currentPagV || currentParams?.pageNum === 1) {\n res.list = temp.records\n } else {\n res.list = res.list.concat(temp.records)\n }\n\n if (currentParams) {\n res.page = currentParams?.pageNum\n res.size = currentParams?.pageSize\n }\n res.total = temp.total\n\n return res\n },\n {\n manual: reManual,\n cacheKey,\n cacheTime,\n pollingInterval,\n defaultParams: paginationV !== false ? [{ size: paginationV?.pageSize ?? 10 }] : undefined,\n pagination: {\n currentKey: 'page',\n pageSizeKey: 'size',\n totalKey: 'total'\n },\n onBefore,\n onAfter: () => {\n firstLoad.value = false\n manualTriggerLoad.value = false\n onAfter?.()\n },\n onSuccess: (res) => {\n dataList.value = res.list\n onSuccess?.(res)\n },\n onError\n }\n )\n\n function reChangeCurrent(current: number) {\n manualTriggerLoad.value = true\n changeCurrent(current)\n }\n\n function reChangePageSize(pageSize: number) {\n manualTriggerLoad.value = true\n changePageSize(pageSize)\n }\n\n function reChangePagination(current: number, pageSize: number) {\n manualTriggerLoad.value = true\n changePagination(current, pageSize)\n }\n\n function reRefresh() {\n manualTriggerLoad.value = true\n refresh()\n }\n\n function reRefreshAsync() {\n manualTriggerLoad.value = true\n refreshAsync()\n }\n\n onActivated(() => {\n if (!manual && !isEmpty(unref(pollingInterval))) reRefresh()\n })\n\n onDeactivated(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n onBeforeUnmount(() => {\n if (!isEmpty(unref(pollingInterval))) cancel()\n })\n\n return {\n data,\n dataList,\n firstLoad,\n manualTriggerLoad,\n loading,\n error,\n params,\n current,\n pageSize,\n total,\n totalPage,\n changeCurrent: reChangeCurrent,\n changePageSize: reChangePageSize,\n changePagination: reChangePagination,\n runAsync,\n run,\n cancel,\n refresh: reRefresh,\n refreshAsync: reRefreshAsync,\n mutate\n } as UseServicePaginationResult\n}\n"],"names":["params","current","pageSize"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { MaybeRef, Ref, UnwrapRef } from 'vue';
|
|
2
|
+
import type { LoadMoreBaseOptions, LoadMoreQueryResult, PaginationOptions, PaginationQueryResult } from 'vue-request';
|
|
3
|
+
export interface ServicePageParams {
|
|
4
|
+
pageSize: number;
|
|
5
|
+
pageNum: number;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
export interface ServicePageRes<T> {
|
|
9
|
+
records: T[];
|
|
10
|
+
total?: number;
|
|
11
|
+
}
|
|
12
|
+
export type ServicePagination = MaybeRef<false | {
|
|
13
|
+
pageSize?: number;
|
|
14
|
+
}>;
|
|
15
|
+
export interface ServicePageDataType<T> {
|
|
16
|
+
list: T[];
|
|
17
|
+
page?: number;
|
|
18
|
+
size?: number;
|
|
19
|
+
total?: number;
|
|
20
|
+
}
|
|
21
|
+
export type ServiceMaybePageParams<T> = UnwrapRef<T> extends false ? undefined : ServicePageParams;
|
|
22
|
+
type ServicePageLoadMoreBaseOptions<T> = LoadMoreBaseOptions<ServicePageDataType<T>>;
|
|
23
|
+
type ServicePaginationBaseOptions<T> = PaginationOptions<ServicePageDataType<T>, unknown[]>;
|
|
24
|
+
export interface ServicePageBaseOptions<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> {
|
|
25
|
+
service?: (params: TP) => Promise<R>;
|
|
26
|
+
manual?: boolean;
|
|
27
|
+
transformParams?: (params: ServiceMaybePageParams<Pag>) => TP | Promise<TP>;
|
|
28
|
+
transformRes?: (res: R) => ServicePageRes<D> | Promise<ServicePageRes<D>>;
|
|
29
|
+
pagination?: Pag extends ServicePagination ? Pag | false : Pag;
|
|
30
|
+
}
|
|
31
|
+
export interface ServicePageLoadMoreOptions<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends ServicePageBaseOptions<D, R, P, TP, Pag> {
|
|
32
|
+
onBefore?: ServicePageLoadMoreBaseOptions<D>['onBefore'];
|
|
33
|
+
onAfter?: ServicePageLoadMoreBaseOptions<D>['onAfter'];
|
|
34
|
+
onSuccess?: ServicePageLoadMoreBaseOptions<D>['onSuccess'];
|
|
35
|
+
onError?: ServicePageLoadMoreBaseOptions<D>['onError'];
|
|
36
|
+
}
|
|
37
|
+
export interface UseServicePageLoadMoreResult<D = unknown> extends Omit<LoadMoreQueryResult<ServicePageDataType<D>>, 'dataList'> {
|
|
38
|
+
firstLoad: Ref<boolean>;
|
|
39
|
+
manualTriggerLoad: Ref<boolean>;
|
|
40
|
+
dataList: Ref<D[]>;
|
|
41
|
+
}
|
|
42
|
+
export interface ServicePaginationOptions<D = unknown, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination> extends ServicePageBaseOptions<D, R, P, TP, Pag> {
|
|
43
|
+
cacheKey?: ServicePaginationBaseOptions<D>['cacheKey'];
|
|
44
|
+
cacheTime?: ServicePaginationBaseOptions<D>['cacheTime'];
|
|
45
|
+
pollingInterval?: ServicePaginationBaseOptions<D>['pollingInterval'];
|
|
46
|
+
onBefore?: ServicePageLoadMoreBaseOptions<D>['onBefore'];
|
|
47
|
+
onAfter?: ServicePageLoadMoreBaseOptions<D>['onAfter'];
|
|
48
|
+
onSuccess?: ServicePageLoadMoreBaseOptions<D>['onSuccess'];
|
|
49
|
+
onError?: ServicePageLoadMoreBaseOptions<D>['onError'];
|
|
50
|
+
}
|
|
51
|
+
export interface UseServicePaginationResult<D = unknown> extends PaginationQueryResult<ServicePageDataType<D>, unknown[]> {
|
|
52
|
+
firstLoad: Ref<boolean>;
|
|
53
|
+
manualTriggerLoad: Ref<boolean>;
|
|
54
|
+
dataList: Ref<D[]>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare function useTimer(type?: 'timeout' | 'interval'): {
|
|
2
|
+
timer: import("vue").Ref<{
|
|
3
|
+
close: () => NodeJS.Timeout;
|
|
4
|
+
hasRef: () => boolean;
|
|
5
|
+
ref: () => NodeJS.Timeout;
|
|
6
|
+
refresh: () => NodeJS.Timeout;
|
|
7
|
+
unref: () => NodeJS.Timeout;
|
|
8
|
+
_onTimeout: (...args: any[]) => void;
|
|
9
|
+
[Symbol.toPrimitive]: () => number;
|
|
10
|
+
[Symbol.dispose]: () => void;
|
|
11
|
+
} | null, NodeJS.Timeout | {
|
|
12
|
+
close: () => NodeJS.Timeout;
|
|
13
|
+
hasRef: () => boolean;
|
|
14
|
+
ref: () => NodeJS.Timeout;
|
|
15
|
+
refresh: () => NodeJS.Timeout;
|
|
16
|
+
unref: () => NodeJS.Timeout;
|
|
17
|
+
_onTimeout: (...args: any[]) => void;
|
|
18
|
+
[Symbol.toPrimitive]: () => number;
|
|
19
|
+
[Symbol.dispose]: () => void;
|
|
20
|
+
} | null>;
|
|
21
|
+
clearTimer: () => void;
|
|
22
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ref, onDeactivated, onBeforeUnmount } from "vue";
|
|
2
|
+
function useTimer(type = "timeout") {
|
|
3
|
+
const timer = ref(null);
|
|
4
|
+
const clearTimer = () => {
|
|
5
|
+
if (!timer.value) return;
|
|
6
|
+
switch (type) {
|
|
7
|
+
case "interval":
|
|
8
|
+
clearInterval(timer.value);
|
|
9
|
+
break;
|
|
10
|
+
case "timeout":
|
|
11
|
+
default:
|
|
12
|
+
clearTimeout(timer.value);
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
timer.value = null;
|
|
16
|
+
};
|
|
17
|
+
onDeactivated(() => {
|
|
18
|
+
clearTimer();
|
|
19
|
+
});
|
|
20
|
+
onBeforeUnmount(() => {
|
|
21
|
+
clearTimer();
|
|
22
|
+
});
|
|
23
|
+
return {
|
|
24
|
+
timer,
|
|
25
|
+
clearTimer
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
useTimer
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useTimer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimer.mjs","sources":["../../src/hooks/useTimer.ts"],"sourcesContent":["import { onBeforeUnmount, onDeactivated, ref } from 'vue'\n\nexport function useTimer(type: 'timeout' | 'interval' = 'timeout') {\n const timer = ref<NodeJS.Timeout | null>(null)\n\n const clearTimer = () => {\n if (!timer.value) return\n\n switch (type) {\n case 'interval':\n clearInterval(timer.value)\n break\n case 'timeout':\n default:\n clearTimeout(timer.value)\n break\n }\n\n timer.value = null\n }\n\n onDeactivated(() => {\n clearTimer()\n })\n\n onBeforeUnmount(() => {\n clearTimer()\n })\n\n return {\n timer,\n clearTimer\n }\n}\n"],"names":[],"mappings":";AAEO,SAAS,SAAS,OAA+B,WAAW;AACjE,QAAM,QAAQ,IAA2B,IAAI;AAE7C,QAAM,aAAa,MAAM;AACvB,QAAI,CAAC,MAAM,MAAO;AAElB,YAAQ,MAAA;AAAA,MACN,KAAK;AACH,sBAAc,MAAM,KAAK;AACzB;AAAA,MACF,KAAK;AAAA,MACL;AACE,qBAAa,MAAM,KAAK;AACxB;AAAA,IAAA;AAGJ,UAAM,QAAQ;AAAA,EAChB;AAEA,gBAAc,MAAM;AAClB,eAAA;AAAA,EACF,CAAC;AAED,kBAAgB,MAAM;AACpB,eAAA;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ref, onBeforeUpdate } from "vue";
|
|
2
|
+
import { isEmpty } from "../utils/common.mjs";
|
|
3
|
+
function useTplRefsList(onBeforeUpdateClear = true) {
|
|
4
|
+
const refs = ref([]);
|
|
5
|
+
refs.value.set = (el, index) => {
|
|
6
|
+
if (!el) return;
|
|
7
|
+
if (isEmpty(index)) refs.value.push(el);
|
|
8
|
+
else refs.value[index] = el;
|
|
9
|
+
};
|
|
10
|
+
onBeforeUpdate(() => {
|
|
11
|
+
if (onBeforeUpdateClear) refs.value.length = 0;
|
|
12
|
+
});
|
|
13
|
+
return refs;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
useTplRefsList
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useTplRefsList.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTplRefsList.mjs","sources":["../../src/hooks/useTplRefsList.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { onBeforeUpdate, ref as deepRef } from 'vue'\n\nimport { isEmpty } from '../utils'\n\nexport type TemplateRefsList<T> = T[] & {\n set: (el: object | null, index?: number) => void\n}\n\n/**\n * 获取 refs\n * @param onBeforeUpdateClear false 时 set 记得传入 index\n * @returns\n */\nexport function useTplRefsList<T = Element>(\n onBeforeUpdateClear = true\n): Readonly<Ref<Readonly<TemplateRefsList<T>>>> {\n const refs = deepRef<unknown>([]) as Ref<TemplateRefsList<T>>\n refs.value.set = (el: object | null, index?: number) => {\n if (!el) return\n\n if (isEmpty(index)) refs.value.push(el as T)\n else refs.value[index] = el as T\n }\n\n onBeforeUpdate(() => {\n if (onBeforeUpdateClear) refs.value.length = 0\n })\n return refs\n}\n"],"names":["deepRef"],"mappings":";;AAcO,SAAS,eACd,sBAAsB,MACwB;AAC9C,QAAM,OAAOA,IAAiB,EAAE;AAChC,OAAK,MAAM,MAAM,CAAC,IAAmB,UAAmB;AACtD,QAAI,CAAC,GAAI;AAET,QAAI,QAAQ,KAAK,EAAG,MAAK,MAAM,KAAK,EAAO;AAAA,QACtC,MAAK,MAAM,KAAK,IAAI;AAAA,EAC3B;AAEA,iBAAe,MAAM;AACnB,QAAI,oBAAqB,MAAK,MAAM,SAAS;AAAA,EAC/C,CAAC;AACD,SAAO;AACT;"}
|
package/dist/index.d.ts
ADDED