smartyz-web-sdk 1.0.2 → 1.0.3
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/smartyz-web-sdk.es.js +2666 -0
- package/dist/smartyz-web-sdk.umd.js +140 -0
- package/package.json +3 -19
- package/dist/smart-web-sdk.es.js +0 -86673
- package/dist/smart-web-sdk.umd.js +0 -9555
|
@@ -0,0 +1,2666 @@
|
|
|
1
|
+
import { reactive as o0, computed as X, ref as C, watch as W, onMounted as g2, resolveComponent as C2, openBlock as m, createElementBlock as T, createElementVNode as u, normalizeStyle as f2, normalizeClass as r2, withDirectives as M2, toDisplayString as z, createBlock as U, withCtx as L, createTextVNode as N, createCommentVNode as D, createVNode as K, unref as Y2, vShow as V2, renderSlot as r0, onUnmounted as n0, Fragment as T2, renderList as E2, withModifiers as A2 } from "vue";
|
|
2
|
+
const E0 = "data:image/svg+xml,%3csvg%20width='64'%20height='58'%20viewBox='0%200%2064%2058'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.4'%3e%3cpath%20d='M30.852%2024.1077C31.68%2023.5969%2033.0303%2023.5969%2033.8582%2024.1077L55.6009%2037.3501C56.4288%2037.8511%2056.4288%2038.6763%2055.6009%2039.1871L33.8582%2052.4196C33.0303%2052.9305%2031.68%2052.9305%2030.852%2052.4196L9.10934%2039.1871C8.28142%2038.6763%208.28142%2037.8511%209.10934%2037.3501L30.852%2024.1077Z'%20stroke='url(%23paint0_linear_10_3993)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%2014.0579C31.68%2013.5471%2033.0303%2013.5471%2033.8582%2014.0579L55.6009%2027.2905C56.4288%2027.8013%2056.4288%2028.6265%2055.6009%2029.1275L33.8582%2042.3699C33.0303%2042.8807%2031.68%2042.8807%2030.852%2042.3699L9.10934%2029.1275C8.28142%2028.6265%208.28142%2027.8013%209.10934%2027.2905L30.852%2014.0579Z'%20stroke='url(%23paint1_linear_10_3993)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%208.26203C31.68%207.7512%2033.0303%207.7512%2033.8582%208.26203L55.6009%2021.5044C56.4288%2022.0054%2056.4288%2022.8306%2055.6009%2023.3414L33.8582%2036.574C33.0303%2037.0848%2031.68%2037.0848%2030.852%2036.574L9.10934%2023.3414C8.28142%2022.8306%208.28142%2022.0054%209.10934%2021.5044L30.852%208.26203Z'%20stroke='url(%23paint2_linear_10_3993)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%201.37576C31.68%200.874748%2033.0303%200.874748%2033.8582%201.37576L55.6009%2014.6181C56.4288%2015.129%2056.4288%2015.9443%2055.6009%2016.4552L33.8582%2029.6975C33.0303%2030.1985%2031.68%2030.1985%2030.852%2029.6975L9.10934%2016.4552C8.28142%2015.9443%208.28142%2015.129%209.10934%2014.6181L30.852%201.37576Z'%20stroke='url(%23paint3_linear_10_3993)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.2'%3e%3cpath%20d='M30.852%2028.3025C31.68%2027.8015%2033.0303%2027.8015%2033.8582%2028.3025L55.6009%2041.5449C56.4288%2042.0557%2056.4288%2042.8711%2055.6009%2043.3819L33.8582%2056.6243C33.0303%2057.1253%2031.68%2057.1253%2030.852%2056.6243L9.10934%2043.3819C8.28142%2042.8711%208.28142%2042.0557%209.10934%2041.5449L30.852%2028.3025Z'%20stroke='url(%23paint4_linear_10_3993)'%20stroke-width='2'/%3e%3c/g%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M56.4087%2033.7646V34.9238C56.4087%2034.9828%2056.3989%2035.0417%2056.389%2035.1007V35.1105C56.3693%2035.1694%2056.3594%2035.2284%2056.3299%2035.2873V35.2971C56.3102%2035.3561%2056.2806%2035.415%2056.251%2035.474C56.2116%2035.5427%2056.1623%2035.6017%2056.1229%2035.6606V35.6705C56.0637%2035.7392%2055.9948%2035.808%2055.9159%2035.8767V35.8866C55.7976%2035.9946%2055.6596%2036.0929%2055.5019%2036.1911C55.5019%2036.1911%2055.4724%2036.2009%2055.4625%2036.2107V35.0712C55.4625%2035.0712%2055.4921%2035.0614%2055.5019%2035.0516C55.6596%2034.9533%2055.7976%2034.8551%2055.9159%2034.747C55.9849%2034.6783%2056.0539%2034.6095%2056.113%2034.5309C56.1623%2034.472%2056.2116%2034.4032%2056.2412%2034.3442V34.3344C56.2806%2034.2853%2056.3102%2034.2264%2056.3299%2034.1674V34.1576C56.3496%2034.0986%2056.3693%2034.0495%2056.3791%2033.9906V33.9709C56.389%2033.9316%2056.3989%2033.8825%2056.4087%2033.8334V33.7843C56.4087%2033.7843%2056.4087%2033.7745%2056.4087%2033.7646Z'%20fill='url(%23paint5_linear_10_3993)'/%3e%3cpath%20d='M55.3541%2033.7545V34.8941C55.3541%2034.5699%2055.1274%2034.2457%2054.7036%2034.0001V32.8606C55.1373%2033.1062%2055.3541%2033.4303%2055.3541%2033.7545Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.30612%2032.8606V34.0001L9.27655%2034.0198C9.16813%2034.0787%209.07943%2034.1475%209.00058%2034.2162V34.2261C8.9513%2034.2654%208.90202%2034.3145%208.86259%2034.3636C8.83302%2034.4029%208.80345%2034.4422%208.77388%2034.4913V34.5011C8.75417%2034.5404%208.73446%2034.5699%208.71475%2034.6092V34.619C8.70489%2034.6583%208.69504%2034.6878%208.68518%2034.7271V34.7467C8.67532%2034.786%208.66547%2034.8253%208.66547%2034.8646V33.7251C8.66547%2033.6956%208.67532%2033.6563%208.68518%2033.6268V33.6072C8.69504%2033.5679%208.70489%2033.5286%208.71475%2033.4893V33.4795C8.73446%2033.4402%208.75417%2033.4009%208.77388%2033.3616V33.3518C8.80345%2033.3125%208.83302%2033.2634%208.86259%2033.2241C8.90202%2033.1749%208.9513%2033.1258%209.00058%2033.0865C9.07943%2033.0079%209.16813%2032.9392%209.27655%2032.8802L9.30612%2032.8606Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M31.7979%2021.5241C31.7191%2021.5241%2031.6402%2021.5339%2031.5614%2021.5437C31.4628%2021.5535%2031.3741%2021.5634%2031.2755%2021.583C31.1376%2021.6027%2030.9996%2021.642%2030.8616%2021.6813C30.6842%2021.7402%2030.5265%2021.809%2030.3885%2021.8875V20.748C30.5363%2020.6694%2030.694%2020.6006%2030.8616%2020.5417C30.9996%2020.5024%2031.1376%2020.4631%2031.2755%2020.4435C31.3741%2020.4238%2031.4628%2020.414%2031.5515%2020.4042C31.6402%2020.3943%2031.7191%2020.3845%2031.7979%2020.3845H32.0246C32.1035%2020.3845%2032.1725%2020.3944%2032.2414%2020.3944C32.3203%2020.4042%2032.3893%2020.4042%2032.4583%2020.414C32.5371%2020.4336%2032.6061%2020.4435%2032.6751%2020.4533C32.754%2020.4729%2032.8328%2020.4926%2032.9018%2020.5122C33.0004%2020.5417%2033.0891%2020.5712%2033.1679%2020.6006C33.2862%2020.6399%2033.3848%2020.6989%2033.4833%2020.748V21.8875C33.3848%2021.8384%2033.2763%2021.7893%2033.1679%2021.7402C33.0792%2021.7009%2032.9905%2021.6714%2032.9018%2021.6518C32.823%2021.6321%2032.7441%2021.6125%2032.6751%2021.5928C32.5963%2021.583%2032.5273%2021.5634%2032.4583%2021.5535C32.3794%2021.5437%2032.3104%2021.5437%2032.2414%2021.5339C32.1725%2021.5241%2032.0936%2021.5241%2032.0246%2021.5241H31.7979Z'%20fill='%238399A7'/%3e%3cpath%20d='M54.7038%2032.8607V34.0002L33.4835%2021.8876V20.748L54.7038%2032.8607Z'%20fill='%238399A7'/%3e%3cpath%20d='M30.3889%2020.748L30.379%2021.8876L9.30652%2034.0002V32.8607L30.3889%2020.748Z'%20fill='%238399A7'/%3e%3cpath%20d='M8.56734%2035.0711V36.2106C7.92669%2035.8471%207.60144%2035.3658%207.60144%2034.8844V33.7449C7.60144%2034.2262%207.92669%2034.7076%208.56734%2035.0711Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.4629%2035.071V36.2106L34.3806%2048.3232L34.3904%2047.1837L55.4629%2035.071Z'%20fill='%23B7BDC2'/%3e%3cpath%20d='M29.7876%2047.1837V48.3232L8.56732%2036.2106V35.071L29.7876%2047.1837Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.453%2032.4382C56.7244%2033.1651%2056.7343%2034.344%2055.4628%2035.071L34.3805%2047.1836C33.1189%2047.9105%2031.0589%2047.9105%2029.7875%2047.1836L8.56717%2035.071C7.29572%2034.344%207.28587%2033.1553%208.55731%2032.4382L29.6397%2020.3157C30.9012%2019.5888%2032.9612%2019.5888%2034.2326%2020.3157L55.453%2032.4382ZM33.6314%2046.7612L54.7137%2034.6387C55.5712%2034.1574%2055.5614%2033.3518%2054.7039%2032.8606L33.4836%2020.748C32.6261%2020.2568%2031.2364%2020.2568%2030.3887%2020.748L9.30638%2032.8606C8.45875%2033.3518%208.45875%2034.1574%209.31624%2034.6387L30.5366%2046.7612C31.394%2047.2425%2032.7838%2047.2425%2033.6413%2046.7612H33.6314Z'%20fill='%23BCCDD6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M30.2507%2047.4095C30.3788%2047.4587%2030.5069%2047.498%2030.6449%2047.5373C30.7632%2047.5667%2030.8716%2047.5962%2030.9899%2047.6158C31.0983%2047.6453%2031.2067%2047.665%2031.3151%2047.6748C31.4235%2047.6944%2031.5221%2047.7043%2031.6305%2047.7141C31.7389%2047.7141%2031.8375%2047.7239%2031.9459%2047.7337V47.7239H32.281C32.4092%2047.7239%2032.5176%2047.7141%2032.6358%2047.7042C32.7837%2047.6846%2032.9217%2047.665%2033.0498%2047.6453C33.2666%2047.606%2033.4736%2047.5569%2033.6707%2047.498V47.4881C33.927%2047.4095%2034.1734%2047.3015%2034.3902%2047.1836V48.3231C34.1636%2048.4509%2033.927%2048.5491%2033.6707%2048.6277V48.6375C33.4736%2048.6965%2033.2666%2048.7456%2033.0597%2048.7849C32.9217%2048.8045%2032.7837%2048.8242%2032.6457%2048.8438C32.5176%2048.8536%2032.3993%2048.8634%2032.281%2048.8733V48.8634C32.1627%2048.8733%2032.0543%2048.8733%2031.9459%2048.8634V48.8733C31.8375%2048.8733%2031.7291%2048.8635%2031.6207%2048.8536C31.5122%2048.8438%2031.4137%2048.834%2031.3151%2048.8143C31.1968%2048.8045%2031.0884%2048.7849%2030.9899%2048.7652V48.7554C30.8716%2048.7357%2030.7533%2048.7063%2030.6449%2048.6768C30.5069%2048.6375%2030.3788%2048.5982%2030.2507%2048.5491C30.0831%2048.4803%2029.9254%2048.4017%2029.7874%2048.3231V47.1836C29.9353%2047.2622%2030.093%2047.3408%2030.2507%2047.4095Z'%20fill='url(%23paint6_linear_10_3993)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.61102%2033.7447V7.34839L56.4089%207.35819V33.784C56.4089%2033.8528%2056.399%2033.9117%2056.3892%2033.9706C56.3695%2034.0394%2056.3596%2034.0983%2056.3399%2034.1573C56.3103%2034.2162%2056.2906%2034.2752%2056.2512%2034.3341C56.2118%2034.4029%2056.1724%2034.4618%2056.1231%2034.5306C56.0639%2034.5993%2055.9949%2034.6779%2055.9161%2034.7467C55.7978%2034.8548%2055.6697%2034.953%2055.5021%2035.0512C55.4923%2035.0611%2055.4627%2035.0709%2055.4627%2035.0709L34.3902%2047.1835C34.1734%2047.3014%2033.9368%2047.4095%2033.6707%2047.4881C33.4736%2047.5568%2033.2765%2047.6059%2033.0596%2047.6452C32.9217%2047.6649%2032.7935%2047.6944%2032.6457%2047.7042C32.5274%2047.714%2032.4091%2047.7238%2032.281%2047.7238C32.1726%2047.7238%2032.0642%2047.7238%2031.9459%2047.7238C31.8375%2047.7238%2031.7291%2047.714%2031.6206%2047.714C31.5221%2047.7042%2031.4235%2047.6944%2031.3151%2047.6747C31.2067%2047.6649%2031.0983%2047.6452%2030.9899%2047.6158C30.8716%2047.5961%2030.7632%2047.5667%2030.6449%2047.5372C30.5069%2047.4979%2030.3886%2047.4586%2030.2506%2047.4095C30.0929%2047.3407%2029.9352%2047.2621%2029.7874%2047.1835L8.56707%2035.0709C7.92642%2034.7074%207.61102%2034.2261%207.61102%2033.7447Z'%20fill='url(%23paint7_linear_10_3993)'/%3e%3cpath%20d='M7.60139%2030.2673V37.9593L4.339%2035.7293C3.18583%2034.9532%203.18583%2033.2636%204.339%2032.4875L7.60139%2030.2673Z'%20stroke='url(%23paint8_linear_10_3993)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M5.12727%2030.2673V37.9593L1.86488%2035.7293C0.711707%2034.9532%200.711707%2033.2636%201.86488%2032.4875L5.12727%2030.2673Z'%20stroke='url(%23paint9_linear_10_3993)'%20stroke-width='1.5'/%3e%3c/g%3e%3cpath%20d='M56.3895%2030.2673V37.9593L59.6617%2035.7293C60.8149%2034.9532%2060.8149%2033.2636%2059.6617%2032.4875L56.3895%2030.2673Z'%20stroke='url(%23paint10_linear_10_3993)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M58.8727%2030.2673V37.9593L62.1351%2035.7293C63.2883%2034.9532%2063.2883%2033.2636%2062.1351%2032.4875L58.8727%2030.2673Z'%20stroke='url(%23paint11_linear_10_3993)'%20stroke-width='1.5'/%3e%3c/g%3e%3cpath%20d='M22.39%2034.978C22.0056%2034.5972%2021.7004%2034.144%2021.4921%2033.6445C21.2839%2033.1451%2021.1766%2032.6093%2021.1766%2032.0682C21.1766%2031.5271%2021.2839%2030.9913%2021.4921%2030.4919C21.7004%2029.9924%2022.0056%2029.5392%2022.39%2029.1584C22.9396%2028.614%2023.63%2028.2335%2024.3838%2028.0597C25.1375%2027.8859%2025.9248%2027.9256%2026.6573%2028.1743L26.7342%2028.2003L26.6815%2028.2624C26.4056%2028.5976%2026.0918%2028.9428%2025.8213%2029.2374L25.8007%2029.2591L25.7708%2029.2548C25.6208%2029.2311%2025.4693%2029.219%2025.3176%2029.2187C24.9417%2029.2175%2024.5694%2029.2903%2024.2217%2029.4331C23.874%2029.5758%2023.5579%2029.7856%2023.2913%2030.0505C23.0247%2030.3154%2022.8129%2030.6302%2022.668%2030.977C22.5231%2031.3237%2022.4479%2031.6956%2022.4467%2032.0714C22.4479%2032.4473%2022.5231%2032.8192%2022.668%2033.1659C22.8129%2033.5127%2023.0247%2033.8275%2023.2913%2034.0924C23.5579%2034.3573%2023.874%2034.5671%2024.2217%2034.7098C24.5694%2034.8526%2024.9417%2034.9254%2025.3176%2034.9242C26.0783%2034.9247%2026.8083%2034.6243%2027.3484%2034.0886C27.6679%2033.7696%2027.9072%2033.3795%2028.0467%2032.9501C28.1862%2032.5208%2028.2219%2032.0644%2028.1508%2031.6186L28.1461%2031.5897L28.1682%2031.5691C28.4571%2031.3008%2028.7712%2031.0275%2029.1479%2030.7151L29.2107%2030.6628L29.2381%2030.7404C29.4841%2031.4694%2029.5217%2032.2526%2029.3466%2033.0018C29.1716%2033.751%2028.7908%2034.4364%2028.2473%2034.9809C27.469%2035.7544%2026.4158%2036.1876%2025.3186%2036.1856C24.2212%2036.1867%2023.1682%2035.7523%2022.3904%2034.978H22.39ZM37.3844%2035.9646C36.8703%2035.7952%2036.3948%2035.5257%2035.9851%2035.1719C35.5755%2034.818%2035.2399%2034.3866%2034.9976%2033.9025C34.7552%2033.4184%2034.611%2032.8912%2034.5732%2032.3512C34.5354%2031.8112%2034.6047%2031.269%2034.7772%2030.7559L34.8032%2030.6801L34.8661%2030.7303C35.2041%2030.9981%2035.5329%2031.2774%2035.8519%2031.5677L35.8743%2031.5883L35.8696%2031.6183C35.7984%2032.0646%2035.8346%2032.5215%2035.9754%2032.951C36.1161%2033.3805%2036.3573%2033.7703%2036.6788%2034.0879C37.2202%2034.6226%2037.9508%2034.9219%2038.7117%2034.9208C39.4726%2034.9196%2040.2023%2034.6181%2040.7421%2034.0818C41.0085%2033.8173%2041.2198%2033.5026%2041.3639%2033.1559C41.508%2032.8093%2041.5819%2032.4375%2041.5815%2032.0621C41.581%2031.6867%2041.5061%2031.3151%2041.3612%2030.9688C41.2162%2030.6225%2041.0041%2030.3084%2040.737%2030.0445C40.471%2029.7792%2040.1552%2029.5691%2039.8077%2029.4262C39.4602%2029.2833%2039.088%2029.2104%2038.7123%2029.2118C38.5599%2029.2118%2038.4078%2029.2237%2038.2573%2029.2479L38.2269%2029.2526L38.2063%2029.2299C37.916%2028.9119%2037.6349%2028.5855%2037.3635%2028.2513L37.3129%2028.1888L37.3895%2028.1628C37.8152%2028.0213%2038.2608%2027.9494%2038.7094%2027.9497C39.2527%2027.9476%2039.7911%2028.0535%2040.2932%2028.2612C40.7953%2028.4688%2041.2512%2028.7742%2041.6344%2029.1594C42.1776%2029.6988%2042.5588%2030.3797%2042.7346%2031.1248C42.9104%2031.8699%2042.8738%2032.6494%2042.6289%2033.3747C42.3498%2034.1938%2041.8212%2034.9049%2041.1172%2035.408C40.4132%2035.9111%2039.5693%2036.181%2038.7039%2036.1798C38.2554%2036.1798%2037.8098%2036.1069%2037.3844%2035.9646ZM36.7117%2032.3004C36.7113%2032.0103%2036.7674%2031.723%2036.8767%2031.4543C35.5858%2030.2388%2033.7856%2028.7763%2032.4975%2028.6532C32.3441%2028.6409%2031.7421%2028.6409%2031.572%2028.6593C30.2749%2028.8038%2028.4773%2030.2793%2027.1953%2031.4901C27.2813%2031.732%2027.3253%2031.9866%2027.3253%2032.2433C27.3226%2032.8443%2027.0814%2033.4195%2026.6549%2033.8428C26.2284%2034.2661%2025.6513%2034.5028%2025.0503%2034.501C24.7527%2034.5023%2024.4577%2034.4449%2024.1823%2034.3321C23.9069%2034.2194%2023.6563%2034.0534%2023.4451%2033.8438C23.2338%2033.6342%2023.0659%2033.3849%2022.951%2033.1104C22.8361%2032.8358%2022.7764%2032.5413%2022.7753%2032.2437C22.7764%2031.9461%2022.8361%2031.6516%2022.951%2031.377C23.0659%2031.1025%2023.2338%2030.8532%2023.4451%2030.6436C23.6563%2030.434%2023.9069%2030.268%2024.1823%2030.1553C24.4577%2030.0425%2024.7527%2029.9851%2025.0503%2029.9864C25.3384%2029.986%2025.6238%2030.0402%2025.8917%2030.146C27.0404%2028.9446%2028.4141%2027.2976%2028.6842%2026.0402C28.7344%2025.6278%2028.7423%2025.2114%2028.7084%2024.7972C28.5163%2023.5203%2027.0726%2021.7819%2025.8758%2020.5339C25.6294%2020.6217%2025.3697%2020.6665%2025.1081%2020.6665C24.8105%2020.6678%2024.5155%2020.6104%2024.2401%2020.4976C23.9646%2020.3848%2023.7141%2020.2189%2023.5028%2020.0093C23.2916%2019.7996%2023.1237%2019.5504%2023.0088%2019.2759C22.8938%2019.0013%2022.8342%2018.7068%2022.8331%2018.4092C22.8342%2018.1115%2022.8938%2017.817%2023.0088%2017.5425C23.1237%2017.2679%2023.2916%2017.0187%2023.5028%2016.8091C23.7141%2016.5994%2023.9646%2016.4335%2024.2401%2016.3207C24.5155%2016.208%2024.8105%2016.1506%2025.1081%2016.1519C25.4057%2016.1507%2025.7006%2016.2081%2025.976%2016.3209C26.2513%2016.4337%2026.5018%2016.5996%2026.713%2016.8092C26.9243%2017.0187%2027.0922%2017.2679%2027.2072%2017.5423C27.3221%2017.8168%2027.3819%2018.1112%2027.3831%2018.4088C27.3832%2018.6928%2027.3293%2018.9741%2027.2242%2019.2379C28.5502%2020.487%2030.411%2021.999%2031.7067%2022.0492C31.8223%2022.0492%2032.3155%2022.055%2032.4614%2022.043C33.7524%2021.9484%2035.5695%2020.4708%2036.8728%2019.2441C36.766%2018.9782%2036.7113%2018.6943%2036.7117%2018.4077C36.7127%2018.1101%2036.7723%2017.8155%2036.8872%2017.5409C37.0021%2017.2663%2037.17%2017.0171%2037.3813%2016.8074C37.5926%2016.5977%2037.8431%2016.4318%2038.1186%2016.319C38.394%2016.2062%2038.689%2016.1488%2038.9867%2016.1501C39.2843%2016.1488%2039.5793%2016.2063%2039.8548%2016.3191C40.1302%2016.4319%2040.3807%2016.5978%2040.592%2016.8075C40.8033%2017.0172%2040.9712%2017.2664%2041.0861%2017.541C41.201%2017.8156%2041.2607%2018.1101%2041.2617%2018.4077C41.2585%2019.0084%2041.0173%2019.5834%2040.5908%2020.0064C40.1643%2020.4294%2039.5874%2020.666%2038.9867%2020.6643C38.7285%2020.6643%2038.4721%2020.621%2038.2284%2020.5354C36.9439%2021.8769%2035.3738%2023.7818%2035.3778%2025.0771V25.5736C35.3351%2026.8678%2036.9341%2028.8092%2038.2359%2030.168C38.4775%2030.0842%2038.7314%2030.0415%2038.9871%2030.0416C39.2847%2030.0404%2039.5797%2030.0978%2039.8551%2030.2106C40.1306%2030.3235%2040.3811%2030.4894%2040.5924%2030.6991C40.8036%2030.9088%2040.9715%2031.158%2041.0864%2031.4326C41.2013%2031.7071%2041.261%2032.0017%2041.2621%2032.2993C41.2591%2032.9001%2041.0179%2033.4752%2040.5914%2033.8983C40.1648%2034.3215%2039.5879%2034.5581%2038.9871%2034.5563C38.6896%2034.5575%2038.3947%2034.5002%2038.1194%2034.3875C37.844%2034.2748%2037.5936%2034.109%2037.3823%2033.8996C37.171%2033.6901%2037.0031%2033.441%2036.8881%2033.1666C36.7731%2032.8923%2036.7133%2032.5979%2036.7121%2032.3004H36.7117ZM30.6367%2023.9428C30.4524%2024.1257%2030.3061%2024.3433%2030.2064%2024.5831C30.1067%2024.8228%2030.0555%2025.08%2030.0558%2025.3396C30.0562%2025.5993%2030.108%2025.8563%2030.2083%2026.0958C30.3087%2026.3353%2030.4555%2026.5526%2030.6403%2026.735C31.015%2027.1049%2031.5205%2027.3122%2032.047%2027.3117C32.5736%2027.3112%2033.0787%2027.1031%2033.4527%2026.7324C33.6363%2026.5495%2033.7821%2026.3322%2033.8815%2026.0928C33.9809%2025.8535%2034.0321%2025.5968%2034.0321%2025.3376C34.0321%2025.0784%2033.9809%2024.8218%2033.8815%2024.5824C33.7821%2024.3431%2033.6363%2024.1257%2033.4527%2023.9428L33.4498%2023.9399C33.0763%2023.5693%2032.5712%2023.3616%2032.0451%2023.3622C31.5174%2023.3611%2031.0108%2023.5696%2030.6367%2023.9418V23.9428ZM31.1704%2026.2251C31.0536%2026.11%2030.9609%2025.9728%2030.8976%2025.8216C30.8344%2025.6703%2030.8019%2025.5079%2030.8021%2025.3439C30.801%2025.18%2030.8331%2025.0174%2030.8964%2024.8662C30.9597%2024.7149%2031.0529%2024.5779%2031.1704%2024.4636C31.2868%2024.347%2031.425%2024.2547%2031.5771%2024.1918C31.7293%2024.1289%2031.8923%2024.0967%2032.057%2024.097C32.391%2024.0963%2032.7106%2024.2306%2032.9439%2024.4697C33.06%2024.585%2033.1521%2024.7222%2033.2149%2024.8733C33.2777%2025.0245%2033.3098%2025.1866%2033.3095%2025.3502C33.3092%2025.5139%2033.2765%2025.6759%2033.2131%2025.8268C33.1498%2025.9777%2033.0572%2026.1145%2032.9406%2026.2294C32.8243%2026.3448%2032.6864%2026.4361%2032.5348%2026.4982C32.3832%2026.5603%2032.2208%2026.5919%2032.057%2026.5912H32.0483C31.8851%2026.5912%2031.7235%2026.5588%2031.5728%2026.4959C31.4222%2026.433%2031.2856%2026.3408%2031.1708%2026.2247L31.1704%2026.2251ZM22.3893%2021.5436C20.847%2019.9544%2020.847%2017.427%2022.3893%2015.8381C23.9804%2014.199%2026.5944%2014.1481%2028.248%2015.724C28.7955%2016.2719%2029.1778%2016.9629%2029.351%2017.718C29.5242%2018.473%2029.4813%2019.2615%2029.2273%2019.9934L29.2013%2020.0699L29.1388%2020.0172C28.7777%2019.7186%2028.4607%2019.4355%2028.1638%2019.1505L28.1425%2019.1303L28.1472%2019.1014C28.2209%2018.6531%2028.1865%2018.1936%2028.047%2017.7612C27.9074%2017.3288%2027.6667%2016.9359%2027.3448%2016.6152C26.8057%2016.0807%2026.0774%2015.7807%2025.3183%2015.7803C24.5591%2015.7767%2023.8295%2016.0749%2023.2901%2016.6092C22.7507%2017.1435%2022.4457%2017.8702%2022.442%2018.6295C22.4427%2019.0054%2022.5175%2019.3776%2022.6621%2019.7247C22.8066%2020.0718%2023.0181%2020.387%2023.2845%2020.6524C23.5509%2020.9177%2023.8669%2021.128%2024.2146%2021.2712C24.5622%2021.4144%2024.9347%2021.4877%2025.3107%2021.4869C25.4681%2021.4869%2025.6249%2021.4743%2025.7801%2021.449L25.8101%2021.444L25.8303%2021.4663C26.1033%2021.7552%2026.4204%2022.099%2026.7021%2022.4338L26.7544%2022.4959L26.6775%2022.5219C26.2391%2022.6735%2025.7783%2022.7508%2025.3147%2022.7508H25.2988C24.7581%2022.7516%2024.2225%2022.6452%2023.7231%2022.438C23.2237%2022.2307%2022.7703%2021.9266%2022.3889%2021.5433H22.3893V21.5436ZM38.7032%2022.7479C38.2516%2022.7486%2037.8029%2022.6764%2037.3743%2022.5341L37.2971%2022.5081L37.3498%2022.4457C37.6227%2022.112%2037.9058%2021.7869%2038.1988%2021.4707L38.2193%2021.4483L38.2493%2021.453C38.6991%2021.5256%2039.1597%2021.4906%2039.5934%2021.3509C40.027%2021.2111%2040.4214%2020.9707%2040.7442%2020.6491C41.0103%2020.3845%2041.2214%2020.0698%2041.3651%2019.7231C41.5089%2019.3764%2041.5825%2019.0047%2041.5818%2018.6294C41.5811%2018.2541%2041.506%2017.8827%2041.3608%2017.5366C41.2157%2017.1905%2041.0034%2016.8766%2040.7363%2016.613C40.1945%2016.079%2039.4639%2015.7802%2038.7032%2015.7816C37.9424%2015.7829%2037.2129%2016.0843%2036.6731%2016.6202C36.3536%2016.9392%2036.1143%2017.3294%2035.9748%2017.7587C35.8352%2018.1881%2035.7994%2018.6444%2035.8703%2019.0902L35.875%2019.1202L35.8526%2019.1404C35.4915%2019.4705%2035.1708%2019.7442%2034.8718%2019.9782L34.8086%2020.0273L34.7823%2019.9526C34.5339%2019.2249%2034.4955%2018.442%2034.6714%2017.6935C34.8473%2016.9451%2035.2304%2016.2612%2035.7768%2015.7203C37.3993%2014.1145%2040.0123%2014.1159%2041.6329%2015.7232C42.0169%2016.1044%2042.3216%2016.5577%2042.5295%2017.0572C42.7375%2017.5566%2042.8445%2018.0922%2042.8445%2018.6332C42.8445%2019.1742%2042.7375%2019.7099%2042.5295%2020.2093C42.3216%2020.7088%2042.0169%2021.1621%2041.6329%2021.5433C41.2505%2021.9253%2040.7965%2022.2284%2040.2969%2022.435C39.7973%2022.6416%2039.2619%2022.7478%2038.7213%2022.7476H38.7032V22.7479Z'%20fill='white'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_10_3993'%20x1='32.3586'%20y1='23.7317'%20x2='32.3586'%20y2='52.8076'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_10_3993'%20x1='32.3586'%20y1='13.6786'%20x2='32.3586'%20y2='42.7545'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_10_3993'%20x1='32.3586'%20y1='7.88708'%20x2='32.3586'%20y2='36.963'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint3_linear_10_3993'%20x1='32.3586'%20y1='1.00487'%20x2='32.3586'%20y2='30.0808'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint4_linear_10_3993'%20x1='32.3586'%20y1='27.9279'%20x2='32.3586'%20y2='57.0039'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint5_linear_10_3993'%20x1='55.5149'%20y1='35.513'%20x2='56.5734'%20y2='34.8105'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23B7BDC2'/%3e%3cstop%20offset='1'%20stop-color='%23A8ADB0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint6_linear_10_3993'%20x1='29.8838'%20y1='48.873'%20x2='34.303'%20y2='48.873'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%238399A7'/%3e%3cstop%20offset='1'%20stop-color='%23B7BDC2'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint7_linear_10_3993'%20x1='32.0138'%20y1='7.34981'%20x2='32.0138'%20y2='47.7327'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230E77BC'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23009AFF'%20stop-opacity='0.760784'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint8_linear_10_3993'%20x1='1.9546'%20y1='34.1148'%20x2='7.61118'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint9_linear_10_3993'%20x1='-0.520374'%20y1='34.1148'%20x2='5.13621'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint10_linear_10_3993'%20x1='62.0558'%20y1='34.1148'%20x2='56.3993'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint11_linear_10_3993'%20x1='64.5301'%20y1='34.1148'%20x2='58.8735'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e", A0 = "data:image/svg+xml,%3csvg%20width='64'%20height='58'%20viewBox='0%200%2064%2058'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.4'%3e%3cpath%20d='M30.852%2024.1077C31.68%2023.5969%2033.0303%2023.5969%2033.8582%2024.1077L55.6009%2037.3501C56.4288%2037.8511%2056.4288%2038.6763%2055.6009%2039.1871L33.8582%2052.4196C33.0303%2052.9305%2031.68%2052.9305%2030.852%2052.4196L9.10934%2039.1871C8.28142%2038.6763%208.28142%2037.8511%209.10934%2037.3501L30.852%2024.1077Z'%20stroke='url(%23paint0_linear_10_4030)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%2014.0579C31.68%2013.5471%2033.0303%2013.5471%2033.8582%2014.0579L55.6009%2027.2905C56.4288%2027.8013%2056.4288%2028.6265%2055.6009%2029.1275L33.8582%2042.3699C33.0303%2042.8807%2031.68%2042.8807%2030.852%2042.3699L9.10934%2029.1275C8.28142%2028.6265%208.28142%2027.8013%209.10934%2027.2905L30.852%2014.0579Z'%20stroke='url(%23paint1_linear_10_4030)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%208.26203C31.68%207.7512%2033.0303%207.7512%2033.8582%208.26203L55.6009%2021.5044C56.4288%2022.0054%2056.4288%2022.8306%2055.6009%2023.3414L33.8582%2036.574C33.0303%2037.0848%2031.68%2037.0848%2030.852%2036.574L9.10934%2023.3414C8.28142%2022.8306%208.28142%2022.0054%209.10934%2021.5044L30.852%208.26203Z'%20stroke='url(%23paint2_linear_10_4030)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%201.37576C31.68%200.874748%2033.0303%200.874748%2033.8582%201.37576L55.6009%2014.6181C56.4288%2015.129%2056.4288%2015.9443%2055.6009%2016.4552L33.8582%2029.6975C33.0303%2030.1985%2031.68%2030.1985%2030.852%2029.6975L9.10934%2016.4552C8.28142%2015.9443%208.28142%2015.129%209.10934%2014.6181L30.852%201.37576Z'%20stroke='url(%23paint3_linear_10_4030)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.2'%3e%3cpath%20d='M30.852%2028.3025C31.68%2027.8015%2033.0303%2027.8015%2033.8582%2028.3025L55.6009%2041.5449C56.4288%2042.0557%2056.4288%2042.8711%2055.6009%2043.3819L33.8582%2056.6243C33.0303%2057.1253%2031.68%2057.1253%2030.852%2056.6243L9.10934%2043.3819C8.28142%2042.8711%208.28142%2042.0557%209.10934%2041.5449L30.852%2028.3025Z'%20stroke='url(%23paint4_linear_10_4030)'%20stroke-width='2'/%3e%3c/g%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M56.4087%2033.7646V34.9238C56.4087%2034.9828%2056.3989%2035.0417%2056.389%2035.1007V35.1105C56.3693%2035.1694%2056.3594%2035.2284%2056.3299%2035.2873V35.2971C56.3102%2035.3561%2056.2806%2035.415%2056.251%2035.474C56.2116%2035.5427%2056.1623%2035.6017%2056.1229%2035.6606V35.6705C56.0637%2035.7392%2055.9948%2035.808%2055.9159%2035.8767V35.8866C55.7976%2035.9946%2055.6596%2036.0929%2055.5019%2036.1911C55.5019%2036.1911%2055.4724%2036.2009%2055.4625%2036.2107V35.0712C55.4625%2035.0712%2055.4921%2035.0614%2055.5019%2035.0516C55.6596%2034.9533%2055.7976%2034.8551%2055.9159%2034.747C55.9849%2034.6783%2056.0539%2034.6095%2056.113%2034.5309C56.1623%2034.472%2056.2116%2034.4032%2056.2412%2034.3442V34.3344C56.2806%2034.2853%2056.3102%2034.2264%2056.3299%2034.1674V34.1576C56.3496%2034.0986%2056.3693%2034.0495%2056.3791%2033.9906V33.9709C56.389%2033.9316%2056.3989%2033.8825%2056.4087%2033.8334V33.7843C56.4087%2033.7843%2056.4087%2033.7745%2056.4087%2033.7646Z'%20fill='url(%23paint5_linear_10_4030)'/%3e%3cpath%20d='M55.3541%2033.7545V34.8941C55.3541%2034.5699%2055.1274%2034.2457%2054.7036%2034.0001V32.8606C55.1373%2033.1062%2055.3541%2033.4303%2055.3541%2033.7545Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.30612%2032.8606V34.0001L9.27655%2034.0198C9.16813%2034.0787%209.07943%2034.1475%209.00058%2034.2162V34.2261C8.9513%2034.2654%208.90202%2034.3145%208.86259%2034.3636C8.83302%2034.4029%208.80345%2034.4422%208.77388%2034.4913V34.5011C8.75417%2034.5404%208.73446%2034.5699%208.71475%2034.6092V34.619C8.70489%2034.6583%208.69504%2034.6878%208.68518%2034.7271V34.7467C8.67532%2034.786%208.66547%2034.8253%208.66547%2034.8646V33.7251C8.66547%2033.6956%208.67532%2033.6563%208.68518%2033.6268V33.6072C8.69504%2033.5679%208.70489%2033.5286%208.71475%2033.4893V33.4795C8.73446%2033.4402%208.75417%2033.4009%208.77388%2033.3616V33.3518C8.80345%2033.3125%208.83302%2033.2634%208.86259%2033.2241C8.90202%2033.1749%208.9513%2033.1258%209.00058%2033.0865C9.07943%2033.0079%209.16813%2032.9392%209.27655%2032.8802L9.30612%2032.8606Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M31.7979%2021.5241C31.7191%2021.5241%2031.6402%2021.5339%2031.5614%2021.5437C31.4628%2021.5535%2031.3741%2021.5634%2031.2755%2021.583C31.1376%2021.6027%2030.9996%2021.642%2030.8616%2021.6813C30.6842%2021.7402%2030.5265%2021.809%2030.3885%2021.8875V20.748C30.5363%2020.6694%2030.694%2020.6006%2030.8616%2020.5417C30.9996%2020.5024%2031.1376%2020.4631%2031.2755%2020.4435C31.3741%2020.4238%2031.4628%2020.414%2031.5515%2020.4042C31.6402%2020.3943%2031.7191%2020.3845%2031.7979%2020.3845H32.0246C32.1035%2020.3845%2032.1725%2020.3944%2032.2414%2020.3944C32.3203%2020.4042%2032.3893%2020.4042%2032.4583%2020.414C32.5371%2020.4336%2032.6061%2020.4435%2032.6751%2020.4533C32.754%2020.4729%2032.8328%2020.4926%2032.9018%2020.5122C33.0004%2020.5417%2033.0891%2020.5712%2033.1679%2020.6006C33.2862%2020.6399%2033.3848%2020.6989%2033.4833%2020.748V21.8875C33.3848%2021.8384%2033.2763%2021.7893%2033.1679%2021.7402C33.0792%2021.7009%2032.9905%2021.6714%2032.9018%2021.6518C32.823%2021.6321%2032.7441%2021.6125%2032.6751%2021.5928C32.5963%2021.583%2032.5273%2021.5634%2032.4583%2021.5535C32.3794%2021.5437%2032.3104%2021.5437%2032.2414%2021.5339C32.1725%2021.5241%2032.0936%2021.5241%2032.0246%2021.5241H31.7979Z'%20fill='%238399A7'/%3e%3cpath%20d='M54.7038%2032.8607V34.0002L33.4835%2021.8876V20.748L54.7038%2032.8607Z'%20fill='%238399A7'/%3e%3cpath%20d='M30.3889%2020.748L30.379%2021.8876L9.30652%2034.0002V32.8607L30.3889%2020.748Z'%20fill='%238399A7'/%3e%3cpath%20d='M8.56734%2035.0711V36.2106C7.92669%2035.8471%207.60144%2035.3658%207.60144%2034.8844V33.7449C7.60144%2034.2262%207.92669%2034.7076%208.56734%2035.0711Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.4629%2035.071V36.2106L34.3806%2048.3232L34.3904%2047.1837L55.4629%2035.071Z'%20fill='%23B7BDC2'/%3e%3cpath%20d='M29.7876%2047.1837V48.3232L8.56732%2036.2106V35.071L29.7876%2047.1837Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.453%2032.4382C56.7244%2033.1651%2056.7343%2034.344%2055.4628%2035.071L34.3805%2047.1836C33.1189%2047.9105%2031.0589%2047.9105%2029.7875%2047.1836L8.56717%2035.071C7.29572%2034.344%207.28587%2033.1553%208.55731%2032.4382L29.6397%2020.3157C30.9012%2019.5888%2032.9612%2019.5888%2034.2326%2020.3157L55.453%2032.4382ZM33.6314%2046.7612L54.7137%2034.6387C55.5712%2034.1574%2055.5614%2033.3518%2054.7039%2032.8606L33.4836%2020.748C32.6261%2020.2568%2031.2364%2020.2568%2030.3887%2020.748L9.30638%2032.8606C8.45875%2033.3518%208.45875%2034.1574%209.31624%2034.6387L30.5366%2046.7612C31.394%2047.2425%2032.7838%2047.2425%2033.6413%2046.7612H33.6314Z'%20fill='%23BCCDD6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M30.2507%2047.4095C30.3788%2047.4587%2030.5069%2047.498%2030.6449%2047.5373C30.7632%2047.5667%2030.8716%2047.5962%2030.9899%2047.6158C31.0983%2047.6453%2031.2067%2047.665%2031.3151%2047.6748C31.4235%2047.6944%2031.5221%2047.7043%2031.6305%2047.7141C31.7389%2047.7141%2031.8375%2047.7239%2031.9459%2047.7337V47.7239H32.281C32.4092%2047.7239%2032.5176%2047.7141%2032.6358%2047.7042C32.7837%2047.6846%2032.9217%2047.665%2033.0498%2047.6453C33.2666%2047.606%2033.4736%2047.5569%2033.6707%2047.498V47.4881C33.927%2047.4095%2034.1734%2047.3015%2034.3902%2047.1836V48.3231C34.1636%2048.4509%2033.927%2048.5491%2033.6707%2048.6277V48.6375C33.4736%2048.6965%2033.2666%2048.7456%2033.0597%2048.7849C32.9217%2048.8045%2032.7837%2048.8242%2032.6457%2048.8438C32.5176%2048.8536%2032.3993%2048.8634%2032.281%2048.8733V48.8634C32.1627%2048.8733%2032.0543%2048.8733%2031.9459%2048.8634V48.8733C31.8375%2048.8733%2031.7291%2048.8635%2031.6207%2048.8536C31.5122%2048.8438%2031.4137%2048.834%2031.3151%2048.8143C31.1968%2048.8045%2031.0884%2048.7849%2030.9899%2048.7652V48.7554C30.8716%2048.7357%2030.7533%2048.7063%2030.6449%2048.6768C30.5069%2048.6375%2030.3788%2048.5982%2030.2507%2048.5491C30.0831%2048.4803%2029.9254%2048.4017%2029.7874%2048.3231V47.1836C29.9353%2047.2622%2030.093%2047.3408%2030.2507%2047.4095Z'%20fill='url(%23paint6_linear_10_4030)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.61102%2033.7447V7.34839L56.4089%207.35819V33.784C56.4089%2033.8528%2056.399%2033.9117%2056.3892%2033.9706C56.3695%2034.0394%2056.3596%2034.0983%2056.3399%2034.1573C56.3103%2034.2162%2056.2906%2034.2752%2056.2512%2034.3341C56.2118%2034.4029%2056.1724%2034.4618%2056.1231%2034.5306C56.0639%2034.5993%2055.9949%2034.6779%2055.9161%2034.7467C55.7978%2034.8548%2055.6697%2034.953%2055.5021%2035.0512C55.4923%2035.0611%2055.4627%2035.0709%2055.4627%2035.0709L34.3902%2047.1835C34.1734%2047.3014%2033.9368%2047.4095%2033.6707%2047.4881C33.4736%2047.5568%2033.2765%2047.6059%2033.0596%2047.6452C32.9217%2047.6649%2032.7935%2047.6944%2032.6457%2047.7042C32.5274%2047.714%2032.4091%2047.7238%2032.281%2047.7238C32.1726%2047.7238%2032.0642%2047.7238%2031.9459%2047.7238C31.8375%2047.7238%2031.7291%2047.714%2031.6206%2047.714C31.5221%2047.7042%2031.4235%2047.6944%2031.3151%2047.6747C31.2067%2047.6649%2031.0983%2047.6452%2030.9899%2047.6158C30.8716%2047.5961%2030.7632%2047.5667%2030.6449%2047.5372C30.5069%2047.4979%2030.3886%2047.4586%2030.2506%2047.4095C30.0929%2047.3407%2029.9352%2047.2621%2029.7874%2047.1835L8.56707%2035.0709C7.92642%2034.7074%207.61102%2034.2261%207.61102%2033.7447Z'%20fill='url(%23paint7_linear_10_4030)'/%3e%3cg%20clip-path='url(%23clip0_10_4030)'%3e%3cpath%20d='M37.3702%2016.8862C35.8426%2016.8888%2034.3501%2017.3443%2033.0813%2018.1951C31.8126%2019.0459%2030.8247%2020.2539%2030.2425%2021.6662C29.6603%2023.0785%2029.51%2024.6317%2029.8105%2026.1294C30.1111%2027.6272%2030.8491%2029.0021%2031.9311%2030.0805C33.0131%2031.1588%2034.3906%2031.892%2035.8893%2032.1875C37.3881%2032.4829%2038.9408%2032.3273%2040.3511%2031.7402C41.7614%2031.1532%2042.966%2030.1612%2043.8124%2028.8895C44.6589%2027.6179%2045.1093%2026.1238%2045.1066%2024.5962C45.1008%2022.5486%2044.283%2020.5869%2042.8327%2019.1415C41.3823%2017.6961%2039.4178%2016.885%2037.3702%2016.8862ZM36.6862%2028.9905C36.5506%2029.1174%2036.3719%2029.188%2036.1862%2029.188C36.0005%2029.188%2035.8218%2029.1174%2035.6862%2028.9905L35.1337%2028.438L31.8457%2025.15C31.7189%2025.0145%2031.6483%2024.8357%2031.6483%2024.6501C31.6483%2024.4644%2031.7189%2024.2857%2031.8457%2024.1501L32.3982%2023.5976C32.5338%2023.4707%2032.7125%2023.4001%2032.8982%2023.4001C33.0839%2023.4001%2033.2626%2023.4707%2033.3982%2023.5976L36.1878%2026.3872L41.4505%2021.1245C41.5861%2020.9976%2041.7648%2020.9271%2041.9505%2020.9271C42.1361%2020.9271%2042.3149%2020.9976%2042.4504%2021.1245L43.0029%2021.677C43.1298%2021.8126%2043.2004%2021.9913%2043.2004%2022.177C43.2004%2022.3627%2043.1298%2022.5414%2043.0029%2022.6769L36.6862%2028.9905Z'%20fill='white'/%3e%3cpath%20d='M37.3702%2014.5163C39.7055%2014.5213%2041.973%2015.3013%2043.8172%2016.7341V14.0579C43.8172%2013.0909%2042.8708%2012.3501%2041.7193%2012.3501H21.1236C19.9464%2012.3501%2019.0258%2013.0896%2019.0258%2014.0579V22.8517H27.1361C27.6142%2020.4928%2028.8956%2018.3727%2030.7617%2016.8528C32.6279%2015.3329%2034.9634%2014.5071%2037.3702%2014.5163ZM28.7737%2030.8034H20.9186C20.8046%2030.7789%2020.6865%2030.7803%2020.5731%2030.8074C20.4597%2030.8344%2020.3537%2030.8865%2020.263%2030.9598C20.1723%2031.0331%2020.0991%2031.1258%2020.0489%2031.231C19.9986%2031.3363%2019.9725%2031.4514%2019.9725%2031.568C19.9725%2031.6847%2019.9986%2031.7998%2020.0489%2031.905C20.0991%2032.0103%2020.1723%2032.103%2020.263%2032.1763C20.3537%2032.2496%2020.4597%2032.3017%2020.5731%2032.3287C20.6865%2032.3558%2020.8046%2032.3571%2020.9186%2032.3327H30.0786C29.5901%2031.8711%2029.1526%2031.3584%2028.7737%2030.8034ZM26.9298%2024.406H19V25.2725C19.0521%2025.779%2019.3013%2026.2446%2019.6938%2026.5689C20.0863%2026.8931%2020.5907%2027.05%2021.0979%2027.0055H27.1104C26.9765%2026.3168%2026.9081%2025.6169%2026.906%2024.9153C26.926%2024.7464%2026.934%2024.5762%2026.9298%2024.406Z'%20fill='white'/%3e%3c/g%3e%3cpath%20d='M7.60139%2030.2673V37.9593L4.339%2035.7293C3.18583%2034.9532%203.18583%2033.2636%204.339%2032.4875L7.60139%2030.2673Z'%20stroke='url(%23paint8_linear_10_4030)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M5.12727%2030.2673V37.9593L1.86488%2035.7293C0.711707%2034.9532%200.711707%2033.2636%201.86488%2032.4875L5.12727%2030.2673Z'%20stroke='url(%23paint9_linear_10_4030)'%20stroke-width='1.5'/%3e%3c/g%3e%3cpath%20d='M56.3895%2030.2673V37.9593L59.6617%2035.7293C60.8149%2034.9532%2060.8149%2033.2636%2059.6617%2032.4875L56.3895%2030.2673Z'%20stroke='url(%23paint10_linear_10_4030)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M58.8727%2030.2673V37.9593L62.1351%2035.7293C63.2883%2034.9532%2063.2883%2033.2636%2062.1351%2032.4875L58.8727%2030.2673Z'%20stroke='url(%23paint11_linear_10_4030)'%20stroke-width='1.5'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_10_4030'%20x1='32.3586'%20y1='23.7317'%20x2='32.3586'%20y2='52.8076'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_10_4030'%20x1='32.3586'%20y1='13.6786'%20x2='32.3586'%20y2='42.7545'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_10_4030'%20x1='32.3586'%20y1='7.88708'%20x2='32.3586'%20y2='36.963'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint3_linear_10_4030'%20x1='32.3586'%20y1='1.00487'%20x2='32.3586'%20y2='30.0808'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint4_linear_10_4030'%20x1='32.3586'%20y1='27.9279'%20x2='32.3586'%20y2='57.0039'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint5_linear_10_4030'%20x1='55.5149'%20y1='35.513'%20x2='56.5734'%20y2='34.8105'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23B7BDC2'/%3e%3cstop%20offset='1'%20stop-color='%23A8ADB0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint6_linear_10_4030'%20x1='29.8838'%20y1='48.873'%20x2='34.303'%20y2='48.873'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%238399A7'/%3e%3cstop%20offset='1'%20stop-color='%23B7BDC2'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint7_linear_10_4030'%20x1='32.0138'%20y1='7.34981'%20x2='32.0138'%20y2='47.7327'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230E77BC'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23009AFF'%20stop-opacity='0.760784'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint8_linear_10_4030'%20x1='1.9546'%20y1='34.1148'%20x2='7.61118'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint9_linear_10_4030'%20x1='-0.520374'%20y1='34.1148'%20x2='5.13621'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint10_linear_10_4030'%20x1='62.0558'%20y1='34.1148'%20x2='56.3993'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint11_linear_10_4030'%20x1='64.5301'%20y1='34.1148'%20x2='58.8735'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_10_4030'%3e%3crect%20width='26.1133'%20height='20'%20fill='white'%20transform='translate(19%2012.3501)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", k0 = "data:image/svg+xml,%3csvg%20width='64'%20height='58'%20viewBox='0%200%2064%2058'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.4'%3e%3cpath%20d='M30.852%2024.1077C31.68%2023.5969%2033.0303%2023.5969%2033.8582%2024.1077L55.6009%2037.3501C56.4288%2037.8511%2056.4288%2038.6763%2055.6009%2039.1871L33.8582%2052.4196C33.0303%2052.9305%2031.68%2052.9305%2030.852%2052.4196L9.10934%2039.1871C8.28142%2038.6763%208.28142%2037.8511%209.10934%2037.3501L30.852%2024.1077Z'%20stroke='url(%23paint0_linear_10_4065)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%2014.0579C31.68%2013.5471%2033.0303%2013.5471%2033.8582%2014.0579L55.6009%2027.2905C56.4288%2027.8013%2056.4288%2028.6265%2055.6009%2029.1275L33.8582%2042.3699C33.0303%2042.8807%2031.68%2042.8807%2030.852%2042.3699L9.10934%2029.1275C8.28142%2028.6265%208.28142%2027.8013%209.10934%2027.2905L30.852%2014.0579Z'%20stroke='url(%23paint1_linear_10_4065)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%208.26203C31.68%207.7512%2033.0303%207.7512%2033.8582%208.26203L55.6009%2021.5044C56.4288%2022.0054%2056.4288%2022.8306%2055.6009%2023.3414L33.8582%2036.574C33.0303%2037.0848%2031.68%2037.0848%2030.852%2036.574L9.10934%2023.3414C8.28142%2022.8306%208.28142%2022.0054%209.10934%2021.5044L30.852%208.26203Z'%20stroke='url(%23paint2_linear_10_4065)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.1'%3e%3cpath%20d='M30.852%201.37576C31.6799%200.874748%2033.0302%200.874748%2033.8581%201.37576L55.6009%2014.6181C56.4288%2015.129%2056.4288%2015.9443%2055.6009%2016.4552L33.8581%2029.6975C33.0302%2030.1985%2031.6799%2030.1985%2030.852%2029.6975L9.10931%2016.4552C8.28139%2015.9443%208.28139%2015.129%209.10931%2014.6181L30.852%201.37576Z'%20stroke='url(%23paint3_linear_10_4065)'%20stroke-width='2'/%3e%3c/g%3e%3cg%20opacity='0.2'%3e%3cpath%20d='M30.852%2028.3025C31.68%2027.8015%2033.0303%2027.8015%2033.8582%2028.3025L55.6009%2041.5449C56.4288%2042.0557%2056.4288%2042.8711%2055.6009%2043.3819L33.8582%2056.6243C33.0303%2057.1253%2031.68%2057.1253%2030.852%2056.6243L9.10934%2043.3819C8.28142%2042.8711%208.28142%2042.0557%209.10934%2041.5449L30.852%2028.3025Z'%20stroke='url(%23paint4_linear_10_4065)'%20stroke-width='2'/%3e%3c/g%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M56.4087%2033.7646V34.9238C56.4087%2034.9828%2056.3989%2035.0417%2056.389%2035.1007V35.1105C56.3693%2035.1694%2056.3594%2035.2284%2056.3299%2035.2873V35.2971C56.3102%2035.3561%2056.2806%2035.415%2056.251%2035.474C56.2116%2035.5427%2056.1623%2035.6017%2056.1229%2035.6606V35.6705C56.0637%2035.7392%2055.9948%2035.808%2055.9159%2035.8767V35.8866C55.7976%2035.9946%2055.6596%2036.0929%2055.5019%2036.1911C55.5019%2036.1911%2055.4724%2036.2009%2055.4625%2036.2107V35.0712C55.4625%2035.0712%2055.4921%2035.0614%2055.5019%2035.0516C55.6596%2034.9533%2055.7976%2034.8551%2055.9159%2034.747C55.9849%2034.6783%2056.0539%2034.6095%2056.113%2034.5309C56.1623%2034.472%2056.2116%2034.4032%2056.2412%2034.3442V34.3344C56.2806%2034.2853%2056.3102%2034.2264%2056.3299%2034.1674V34.1576C56.3496%2034.0986%2056.3693%2034.0495%2056.3791%2033.9906V33.9709C56.389%2033.9316%2056.3989%2033.8825%2056.4087%2033.8334V33.7843C56.4087%2033.7843%2056.4087%2033.7745%2056.4087%2033.7646Z'%20fill='url(%23paint5_linear_10_4065)'/%3e%3cpath%20d='M55.3541%2033.7545V34.8941C55.3541%2034.5699%2055.1274%2034.2457%2054.7036%2034.0001V32.8606C55.1373%2033.1062%2055.3541%2033.4303%2055.3541%2033.7545Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.30612%2032.8606V34.0001L9.27655%2034.0198C9.16813%2034.0787%209.07943%2034.1475%209.00058%2034.2162V34.2261C8.9513%2034.2654%208.90202%2034.3145%208.86259%2034.3636C8.83302%2034.4029%208.80345%2034.4422%208.77388%2034.4913V34.5011C8.75417%2034.5404%208.73446%2034.5699%208.71475%2034.6092V34.619C8.70489%2034.6583%208.69504%2034.6878%208.68518%2034.7271V34.7467C8.67532%2034.786%208.66547%2034.8253%208.66547%2034.8646V33.7251C8.66547%2033.6956%208.67532%2033.6563%208.68518%2033.6268V33.6072C8.69504%2033.5679%208.70489%2033.5286%208.71475%2033.4893V33.4795C8.73446%2033.4402%208.75417%2033.4009%208.77388%2033.3616V33.3518C8.80345%2033.3125%208.83302%2033.2634%208.86259%2033.2241C8.90202%2033.1749%208.9513%2033.1258%209.00058%2033.0865C9.07943%2033.0079%209.16813%2032.9392%209.27655%2032.8802L9.30612%2032.8606Z'%20fill='%238399A7'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M31.7979%2021.5241C31.7191%2021.5241%2031.6402%2021.5339%2031.5614%2021.5437C31.4628%2021.5535%2031.3741%2021.5634%2031.2755%2021.583C31.1376%2021.6027%2030.9996%2021.642%2030.8616%2021.6813C30.6842%2021.7402%2030.5265%2021.809%2030.3885%2021.8875V20.748C30.5363%2020.6694%2030.694%2020.6006%2030.8616%2020.5417C30.9996%2020.5024%2031.1376%2020.4631%2031.2755%2020.4435C31.3741%2020.4238%2031.4628%2020.414%2031.5515%2020.4042C31.6402%2020.3943%2031.7191%2020.3845%2031.7979%2020.3845H32.0246C32.1035%2020.3845%2032.1725%2020.3944%2032.2414%2020.3944C32.3203%2020.4042%2032.3893%2020.4042%2032.4583%2020.414C32.5371%2020.4336%2032.6061%2020.4435%2032.6751%2020.4533C32.754%2020.4729%2032.8328%2020.4926%2032.9018%2020.5122C33.0004%2020.5417%2033.0891%2020.5712%2033.1679%2020.6006C33.2862%2020.6399%2033.3848%2020.6989%2033.4833%2020.748V21.8875C33.3848%2021.8384%2033.2763%2021.7893%2033.1679%2021.7402C33.0792%2021.7009%2032.9905%2021.6714%2032.9018%2021.6518C32.823%2021.6321%2032.7441%2021.6125%2032.6751%2021.5928C32.5963%2021.583%2032.5273%2021.5634%2032.4583%2021.5535C32.3794%2021.5437%2032.3104%2021.5437%2032.2414%2021.5339C32.1725%2021.5241%2032.0936%2021.5241%2032.0246%2021.5241H31.7979Z'%20fill='%238399A7'/%3e%3cpath%20d='M54.7038%2032.8607V34.0002L33.4835%2021.8876V20.748L54.7038%2032.8607Z'%20fill='%238399A7'/%3e%3cpath%20d='M30.3889%2020.748L30.379%2021.8876L9.30652%2034.0002V32.8607L30.3889%2020.748Z'%20fill='%238399A7'/%3e%3cpath%20d='M8.56734%2035.0711V36.2106C7.92669%2035.8471%207.60144%2035.3658%207.60144%2034.8844V33.7449C7.60144%2034.2262%207.92669%2034.7076%208.56734%2035.0711Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.4629%2035.071V36.2106L34.3806%2048.3232L34.3904%2047.1837L55.4629%2035.071Z'%20fill='%23B7BDC2'/%3e%3cpath%20d='M29.7876%2047.1837V48.3232L8.56732%2036.2106V35.071L29.7876%2047.1837Z'%20fill='%238399A7'/%3e%3cpath%20d='M55.453%2032.4382C56.7244%2033.1651%2056.7343%2034.344%2055.4628%2035.071L34.3805%2047.1836C33.1189%2047.9105%2031.0589%2047.9105%2029.7875%2047.1836L8.56717%2035.071C7.29572%2034.344%207.28587%2033.1553%208.55731%2032.4382L29.6397%2020.3157C30.9012%2019.5888%2032.9612%2019.5888%2034.2326%2020.3157L55.453%2032.4382ZM33.6314%2046.7612L54.7137%2034.6387C55.5712%2034.1574%2055.5614%2033.3518%2054.7039%2032.8606L33.4836%2020.748C32.6261%2020.2568%2031.2364%2020.2568%2030.3887%2020.748L9.30638%2032.8606C8.45875%2033.3518%208.45875%2034.1574%209.31624%2034.6387L30.5366%2046.7612C31.394%2047.2425%2032.7838%2047.2425%2033.6413%2046.7612H33.6314Z'%20fill='%23BCCDD6'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M30.2507%2047.4095C30.3788%2047.4587%2030.5069%2047.498%2030.6449%2047.5373C30.7632%2047.5667%2030.8716%2047.5962%2030.9899%2047.6158C31.0983%2047.6453%2031.2067%2047.665%2031.3151%2047.6748C31.4235%2047.6944%2031.5221%2047.7043%2031.6305%2047.7141C31.7389%2047.7141%2031.8375%2047.7239%2031.9459%2047.7337V47.7239H32.281C32.4092%2047.7239%2032.5176%2047.7141%2032.6358%2047.7042C32.7837%2047.6846%2032.9217%2047.665%2033.0498%2047.6453C33.2666%2047.606%2033.4736%2047.5569%2033.6707%2047.498V47.4881C33.927%2047.4095%2034.1734%2047.3015%2034.3902%2047.1836V48.3231C34.1636%2048.4509%2033.927%2048.5491%2033.6707%2048.6277V48.6375C33.4736%2048.6965%2033.2666%2048.7456%2033.0597%2048.7849C32.9217%2048.8045%2032.7837%2048.8242%2032.6457%2048.8438C32.5176%2048.8536%2032.3993%2048.8634%2032.281%2048.8733V48.8634C32.1627%2048.8733%2032.0543%2048.8733%2031.9459%2048.8634V48.8733C31.8375%2048.8733%2031.7291%2048.8635%2031.6207%2048.8536C31.5122%2048.8438%2031.4137%2048.834%2031.3151%2048.8143C31.1968%2048.8045%2031.0884%2048.7849%2030.9899%2048.7652V48.7554C30.8716%2048.7357%2030.7533%2048.7063%2030.6449%2048.6768C30.5069%2048.6375%2030.3788%2048.5982%2030.2507%2048.5491C30.0831%2048.4803%2029.9254%2048.4017%2029.7874%2048.3231V47.1836C29.9353%2047.2622%2030.093%2047.3408%2030.2507%2047.4095Z'%20fill='url(%23paint6_linear_10_4065)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.61102%2033.7447V7.34839L56.4089%207.35819V33.784C56.4089%2033.8528%2056.399%2033.9117%2056.3892%2033.9706C56.3695%2034.0394%2056.3596%2034.0983%2056.3399%2034.1573C56.3103%2034.2162%2056.2906%2034.2752%2056.2512%2034.3341C56.2118%2034.4029%2056.1724%2034.4618%2056.1231%2034.5306C56.0639%2034.5993%2055.9949%2034.6779%2055.9161%2034.7467C55.7978%2034.8548%2055.6697%2034.953%2055.5021%2035.0512C55.4923%2035.0611%2055.4627%2035.0709%2055.4627%2035.0709L34.3902%2047.1835C34.1734%2047.3014%2033.9368%2047.4095%2033.6707%2047.4881C33.4736%2047.5568%2033.2765%2047.6059%2033.0596%2047.6452C32.9217%2047.6649%2032.7935%2047.6944%2032.6457%2047.7042C32.5274%2047.714%2032.4091%2047.7238%2032.281%2047.7238C32.1726%2047.7238%2032.0642%2047.7238%2031.9459%2047.7238C31.8375%2047.7238%2031.7291%2047.714%2031.6206%2047.714C31.5221%2047.7042%2031.4235%2047.6944%2031.3151%2047.6747C31.2067%2047.6649%2031.0983%2047.6452%2030.9899%2047.6158C30.8716%2047.5961%2030.7632%2047.5667%2030.6449%2047.5372C30.5069%2047.4979%2030.3886%2047.4586%2030.2506%2047.4095C30.0929%2047.3407%2029.9352%2047.2621%2029.7874%2047.1835L8.56707%2035.0709C7.92642%2034.7074%207.61102%2034.2261%207.61102%2033.7447Z'%20fill='url(%23paint7_linear_10_4065)'/%3e%3cpath%20d='M40.3571%2017.7666C41.3828%2017.7666%2042.2143%2018.5981%2042.2143%2019.6237V21.4809H43.1429C44.1685%2021.4809%2045%2022.3124%2045%2023.338V27.0523C45%2028.078%2044.1685%2028.9095%2043.1429%2028.9095H42.2143V30.7666C42.2143%2031.7923%2041.3828%2032.6237%2040.3571%2032.6237H20.8571C19.8315%2032.6237%2019%2031.7923%2019%2030.7666V19.6237C19%2018.5981%2019.8315%2017.7666%2020.8571%2017.7666H40.3571ZM43.1429%2027.0523V23.338H40.3571V19.6237H20.8571V30.7666H40.3571V27.0523H43.1429Z'%20fill='white'/%3e%3cpath%20d='M38.6162%2020.6685C39.0803%2020.6685%2039.3124%2020.9007%2039.3125%2021.3647V29.0259C39.3124%2029.49%2039.0803%2029.7221%2038.6162%2029.7222H22.5986C22.1344%2029.7222%2021.9014%2029.4901%2021.9014%2029.0259V21.3647C21.9015%2020.9006%2022.1344%2020.6685%2022.5986%2020.6685H38.6162ZM29.5449%2021.2212C29.3822%2021.2212%2029.2307%2021.3%2029.1377%2021.4302L29.1016%2021.4888L27.1152%2025.2808C27.0341%2025.4357%2027.0403%2025.6223%2027.1309%2025.772C27.2215%2025.9214%2027.3838%2026.0132%2027.5586%2026.0132H29.4375L28.7002%2028.8159C28.6418%2029.0379%2028.7421%2029.272%2028.9434%2029.3823C29.1445%2029.4923%2029.3952%2029.4511%2029.5508%2029.2827L33.8848%2024.5884C34.0193%2024.4425%2034.0541%2024.2302%2033.9746%2024.0483C33.8949%2023.8666%2033.715%2023.7486%2033.5166%2023.7485H31.8379L33.1875%2022.0298C33.3057%2021.8794%2033.3276%2021.6745%2033.2441%2021.5024C33.1605%2021.3306%2032.9861%2021.2214%2032.7949%2021.2212H29.5449Z'%20fill='white'/%3e%3cpath%20d='M7.60139%2030.2673V37.9593L4.339%2035.7293C3.18583%2034.9532%203.18583%2033.2636%204.339%2032.4875L7.60139%2030.2673Z'%20stroke='url(%23paint8_linear_10_4065)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M5.12727%2030.2673V37.9593L1.86488%2035.7293C0.711707%2034.9532%200.711707%2033.2636%201.86488%2032.4875L5.12727%2030.2673Z'%20stroke='url(%23paint9_linear_10_4065)'%20stroke-width='1.5'/%3e%3c/g%3e%3cpath%20d='M56.3895%2030.2673V37.9593L59.6617%2035.7293C60.8149%2034.9532%2060.8149%2033.2636%2059.6617%2032.4875L56.3895%2030.2673Z'%20stroke='url(%23paint10_linear_10_4065)'%20stroke-width='1.5'/%3e%3cg%20opacity='0.3'%3e%3cpath%20d='M58.8727%2030.2673V37.9593L62.1351%2035.7293C63.2883%2034.9532%2063.2883%2033.2636%2062.1351%2032.4875L58.8727%2030.2673Z'%20stroke='url(%23paint11_linear_10_4065)'%20stroke-width='1.5'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_10_4065'%20x1='32.3586'%20y1='23.7317'%20x2='32.3586'%20y2='52.8076'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_10_4065'%20x1='32.3586'%20y1='13.6786'%20x2='32.3586'%20y2='42.7545'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_10_4065'%20x1='32.3586'%20y1='7.88708'%20x2='32.3586'%20y2='36.963'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint3_linear_10_4065'%20x1='32.3586'%20y1='1.00487'%20x2='32.3586'%20y2='30.0808'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint4_linear_10_4065'%20x1='32.3586'%20y1='27.9279'%20x2='32.3586'%20y2='57.0039'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint5_linear_10_4065'%20x1='55.5149'%20y1='35.513'%20x2='56.5734'%20y2='34.8105'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23B7BDC2'/%3e%3cstop%20offset='1'%20stop-color='%23A8ADB0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint6_linear_10_4065'%20x1='29.8838'%20y1='48.873'%20x2='34.303'%20y2='48.873'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%238399A7'/%3e%3cstop%20offset='1'%20stop-color='%23B7BDC2'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint7_linear_10_4065'%20x1='32.0138'%20y1='7.34981'%20x2='32.0138'%20y2='47.7327'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230E77BC'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23009AFF'%20stop-opacity='0.760784'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint8_linear_10_4065'%20x1='1.9546'%20y1='34.1148'%20x2='7.61118'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint9_linear_10_4065'%20x1='-0.520374'%20y1='34.1148'%20x2='5.13621'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint10_linear_10_4065'%20x1='62.0558'%20y1='34.1148'%20x2='56.3993'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint11_linear_10_4065'%20x1='64.5301'%20y1='34.1148'%20x2='58.8735'%20y2='34.1148'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%236C8C99'/%3e%3cstop%20offset='0.884029'%20stop-color='%23576E77'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e", P0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAgCAYAAADjaQM7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH3SURBVHgBtVZLTsMwEH1OYAFCKOxYQGUWCNjBCSgnoDdoOQFwgvYI5QQchXICWCCVzwIEPUCEUFfgYRz6TeLaU5W3STT2+GXGz88B5oDukk7uKIEQEeaAiVBfX0EdQsxFxmhQhBqEEJNtd6nBD60I1a0uVQWpcrIoHrcvjnAuSIWSTLbC4P16nYx99rGRHqk0JF9UmYnRzMfWVsOrC66srKoB0vc9tYEABFf2A1QdQ0moUILJVFRs4Wgsdo+JyfTfl2vXuD0G+oEOsQgyWvKL4HsZp745XoHMEEYeKR+DnVnHwFuZCdwPRuLzS38byanC4lSPX84kG/ogAuHzy5lkLGmR92ULxu5WOskyuRO8ci6AUHNdrE4yE8svxwESl1+WSl8gdxdK/bK0MqPkt3AOpX5Z3kYlF0ZhiZLzWSCTyt1JxscgL5QCWTS/MArIC2VKIAsQRh5TfjlVmcAHQ5Gsr45vgxGZrYofISq8N0CLDM74/c03mRQaw/dRG60w+Da+diYROhSj1dtVt5Nxmxcp1HnRqivXGJz0DlRnRFZ5IrtXemqWQmoI7a8+rny/a5vcmWWFprLOT0hyH9r+2FeXGZn1QRbGja+KEGSk/HM0+GfRg3AmlIys8ky2fbXQKkKhX+iY9/aC7Nq8z1lwi4P4R9hqK490/gsTjbnHrj+4xQAAAABJRU5ErkJggg==", D0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAA8CAYAAAB8SnrYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAYnSURBVHgBnVhbbFRFGP7/s2e3UHpZAtpoFRuIYIgikkhEE2k0MeEJ+iCUB6EkRBMFrYkCJiZtIwmpvIAiT01sExMJNSk8EU0UiBLBqJQH5AW1hlsCCNvtAt222/Gfc5nzz+Vswb+dPXPm8n3/bWZnB6GarBvKw6ypThCwGkC0AGBL2IEFeh+m5xHAzFE41DaSBoHO1vahFhBTX2Kl3Fp7+wJk716B7PgNyEyMBTMq2Xqo5BrgXuNSmJjTLOv9RNTjIrIJNg524mS5q+7f4fycW+cIray6hIgmoQ5RengllOavJKsqPXC4fV86Qftgd6Zc7Jr3zxBkJouEGPwnEr1LAmFMrmQb4VZLG1Rq6smS17vj9gzXPDNR3DM/AB8DtwhLr9gab7oMs8b+gnL9olaxbOMonP/mdDIy8HnlbNPF/rz0s4iBNAuEbVEAgJoplWwD3Fy4oSCydc/JmHjh3EpX/Y0zOrhTc1cP/YmoSJeQa+fcPpeXSRIqQNpnyrf+bro4YPkbGJ1I57BkOlMDNxd3EMfkXI+0X5ujNBQcONBGxBwRulEEK0afVxmH2YULALm698hFYl1t4Q81WAGD+c6x4/boz+CTJXvnsvRPq0+fy72JYpVguoOri93r37su21uIQOSDnE+weEUPukiDs8Urj4LcWvwEj6emDiEeJMKG+JqWGpErYUXcBWnbmJMgnMS8rmmcFoP7s8pnKhnJLvSYVBHhaoi3kKSRQ/0PcOF++nabcAaaq+akRHDq4scTdf3TwMMnGgFW4xHBDJhvATjVq0aIEaFI2jDp9e8PDBRYUsVkeICP2nxMJ6hCiNpDf0ETWqQT6PFCN7DZIMz+8M2zxmKEycoTzY/A7l3vW/0Dn/XC0089GTS9tWkDvEkl7tfXQRW3LyDwof6DsObVlw1LkNpWE8HigE3W17yy2sRnCy1FPtnVGfC3bX6bgadIgIzauUatA5d8+M7WQLPN23bCpavXdHS0q1zzmCTVAmmuJNh7oA+O/XDSHpCkfFXx4rHcBun33R91wrHvT8Leg30W6INIspuy3JRBldWP9+wDl+LVtEb9XJlYEG8hsoyOlQKQ0WLJ1tr6sjHzBmwCNS+STdt2QENDHQwc6LU60QFkHoZR7U9qHehnjkuXrwaZ89LKFfDBtq3aZIsI+RuGLmKp6gyylFNnfgsyaAdl0otExLC08ygq0ITPtoC5iRN9+kUfnPrldxj4vJcy69FAK4z2CRVM5PpD1MdO3ZBmQiQd23dCkYLeTyThQkXwGIGyILIKweEit6DKpI53d8LlK9cCoNjH8q/vq0H4+dfhAPi74z/Ct8d/CscwFyFsGBTzzu7luImpkcbAtWbt3E22egCXlmxn3wfGTsnBMQ5d7BbU69XEd4LHu6Iiil0aBxBB/2Wjf4tZBMjhEVTQFJgqhmtiT6ttBq0TiR+jatqDDagK25zR2DFE2rkIWYpVI2AZAJbrU9I8JPDQ8j+C6RLU4mCCawc3kdQDAs8JgCweLMgwEzgniS1AT2mV5LYdF2APhq+DG4ShBR63QKkLfO/U3gV3uVAuMZ+JBZ5nQmiiZblxXk8D11zkzbAaTY1VTQj224XHIGmXv5NH5P2CloqGJSZ4+L3EtRXqGZcpulOipgIR4MhkzXzLHTa6kYIOlyQE4aUIgQ3TVQKcGJ/dzFzBvhx4Rgg9v4UDnGfTvblLZe2IB7X+/lLjEpjGXAgejROcjBFp1xMGeFIHump7nCyoHPWgv60w7dWcKOaXaXcQmtmgB05Rqw/QwEtNq2A6V98PhzZG90U4tWVs7rOFKb9eC1RkBnOP7vf4k7tninx/t2lVgbTvke8hATGRFT3XF7TBpF/HLph0i3g+mRIElm4iC4vWy7duiSnbkzu784OnxTNvwHjDotaa4p905xPfNjo2N4dUco1we+F6mM42dMPh9b1xe0YbdX7wJJGM3pm34gWyYFbNnSvspJAM46te0O1W6aHnofjYa3RPV7uLgyejTGn/uoVmdtHtY0eOLpZq6fbKp5tIX177YOhnuXbKtc1wl9JRUJLIOMZumZlAI8quJT3X0dtyKvmwQ4zIBSrXEEyU9sORLYU0iP8AEj8wt/SkQW0AAAAASUVORK5CYII=";
|
|
3
|
+
function v2() {
|
|
4
|
+
return v2 = Object.assign ? Object.assign.bind() : function(t) {
|
|
5
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
6
|
+
var a = arguments[e];
|
|
7
|
+
for (var s in a) ({}).hasOwnProperty.call(a, s) && (t[s] = a[s]);
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
}, v2.apply(null, arguments);
|
|
11
|
+
}
|
|
12
|
+
const O0 = {
|
|
13
|
+
locale: "zh_CN",
|
|
14
|
+
today: "今天",
|
|
15
|
+
now: "此刻",
|
|
16
|
+
backToToday: "返回今天",
|
|
17
|
+
ok: "确定",
|
|
18
|
+
timeSelect: "选择时间",
|
|
19
|
+
dateSelect: "选择日期",
|
|
20
|
+
weekSelect: "选择周",
|
|
21
|
+
clear: "清除",
|
|
22
|
+
month: "月",
|
|
23
|
+
year: "年",
|
|
24
|
+
previousMonth: "上个月 (翻页上键)",
|
|
25
|
+
nextMonth: "下个月 (翻页下键)",
|
|
26
|
+
monthSelect: "选择月份",
|
|
27
|
+
yearSelect: "选择年份",
|
|
28
|
+
decadeSelect: "选择年代",
|
|
29
|
+
yearFormat: "YYYY年",
|
|
30
|
+
dayFormat: "D日",
|
|
31
|
+
dateFormat: "YYYY年M月D日",
|
|
32
|
+
dateTimeFormat: "YYYY年M月D日 HH时mm分ss秒",
|
|
33
|
+
previousYear: "上一年 (Control键加左方向键)",
|
|
34
|
+
nextYear: "下一年 (Control键加右方向键)",
|
|
35
|
+
previousDecade: "上一年代",
|
|
36
|
+
nextDecade: "下一年代",
|
|
37
|
+
previousCentury: "上一世纪",
|
|
38
|
+
nextCentury: "下一世纪"
|
|
39
|
+
}, F0 = {
|
|
40
|
+
placeholder: "请选择时间",
|
|
41
|
+
rangePlaceholder: ["开始时间", "结束时间"]
|
|
42
|
+
}, O2 = {
|
|
43
|
+
lang: v2({
|
|
44
|
+
placeholder: "请选择日期",
|
|
45
|
+
yearPlaceholder: "请选择年份",
|
|
46
|
+
quarterPlaceholder: "请选择季度",
|
|
47
|
+
monthPlaceholder: "请选择月份",
|
|
48
|
+
weekPlaceholder: "请选择周",
|
|
49
|
+
rangePlaceholder: ["开始日期", "结束日期"],
|
|
50
|
+
rangeYearPlaceholder: ["开始年份", "结束年份"],
|
|
51
|
+
rangeMonthPlaceholder: ["开始月份", "结束月份"],
|
|
52
|
+
rangeQuarterPlaceholder: ["开始季度", "结束季度"],
|
|
53
|
+
rangeWeekPlaceholder: ["开始周", "结束周"]
|
|
54
|
+
}, O0),
|
|
55
|
+
timePickerLocale: v2({}, F0)
|
|
56
|
+
};
|
|
57
|
+
O2.lang.ok = "确定";
|
|
58
|
+
const O = [];
|
|
59
|
+
for (let t = 0; t < 256; ++t)
|
|
60
|
+
O.push((t + 256).toString(16).slice(1));
|
|
61
|
+
function I0(t, e = 0) {
|
|
62
|
+
return (O[t[e + 0]] + O[t[e + 1]] + O[t[e + 2]] + O[t[e + 3]] + "-" + O[t[e + 4]] + O[t[e + 5]] + "-" + O[t[e + 6]] + O[t[e + 7]] + "-" + O[t[e + 8]] + O[t[e + 9]] + "-" + O[t[e + 10]] + O[t[e + 11]] + O[t[e + 12]] + O[t[e + 13]] + O[t[e + 14]] + O[t[e + 15]]).toLowerCase();
|
|
63
|
+
}
|
|
64
|
+
let k2;
|
|
65
|
+
const B0 = new Uint8Array(16);
|
|
66
|
+
function R0() {
|
|
67
|
+
if (!k2) {
|
|
68
|
+
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
69
|
+
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
70
|
+
k2 = crypto.getRandomValues.bind(crypto);
|
|
71
|
+
}
|
|
72
|
+
return k2(B0);
|
|
73
|
+
}
|
|
74
|
+
const U0 = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), $2 = { randomUUID: U0 };
|
|
75
|
+
function m2(t, e, a) {
|
|
76
|
+
var i;
|
|
77
|
+
if ($2.randomUUID && !t)
|
|
78
|
+
return $2.randomUUID();
|
|
79
|
+
t = t || {};
|
|
80
|
+
const s = t.random ?? ((i = t.rng) == null ? void 0 : i.call(t)) ?? R0();
|
|
81
|
+
if (s.length < 16)
|
|
82
|
+
throw new Error("Random bytes length must be >= 16");
|
|
83
|
+
return s[6] = s[6] & 15 | 64, s[8] = s[8] & 63 | 128, I0(s);
|
|
84
|
+
}
|
|
85
|
+
const H0 = { class: "sys-VideoFrame-container-jessibuca" }, z0 = { class: "sys-VideoFrame-content" }, G0 = ["id"], j0 = { class: "sys-VideoFrame-Item-top-btns" }, Z0 = { class: "sys-VideoFrame-playbackItem" }, Y0 = ["id"], $0 = {
|
|
86
|
+
key: 0,
|
|
87
|
+
class: "sys-VideoFrame-Item-hzh"
|
|
88
|
+
}, N0 = ["id"], X0 = { class: "sys-VideoFrame-Half-Screen-top" }, W0 = { class: "sys-VideoFrame-Half-Screen-top-btns" }, J0 = { class: "sys-VideoFrame-playbackItem" }, Q0 = {
|
|
89
|
+
__name: "videoFrame",
|
|
90
|
+
props: {
|
|
91
|
+
playbackType: {
|
|
92
|
+
type: Boolean,
|
|
93
|
+
default: !1
|
|
94
|
+
},
|
|
95
|
+
mouseType: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: !0
|
|
98
|
+
},
|
|
99
|
+
smallType: {
|
|
100
|
+
type: Boolean,
|
|
101
|
+
default: !1
|
|
102
|
+
},
|
|
103
|
+
moveType: {
|
|
104
|
+
type: Boolean,
|
|
105
|
+
default: !1
|
|
106
|
+
},
|
|
107
|
+
zpType: {
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: !0
|
|
110
|
+
},
|
|
111
|
+
ytType: {
|
|
112
|
+
type: Boolean,
|
|
113
|
+
default: !0
|
|
114
|
+
},
|
|
115
|
+
hfType: {
|
|
116
|
+
type: Boolean,
|
|
117
|
+
default: !0
|
|
118
|
+
},
|
|
119
|
+
qpType: {
|
|
120
|
+
type: Boolean,
|
|
121
|
+
default: !0
|
|
122
|
+
},
|
|
123
|
+
bpType: {
|
|
124
|
+
type: Boolean,
|
|
125
|
+
default: !0
|
|
126
|
+
},
|
|
127
|
+
qxType: {
|
|
128
|
+
type: Boolean,
|
|
129
|
+
default: !0
|
|
130
|
+
},
|
|
131
|
+
// 半屏状态
|
|
132
|
+
HalfFull: {
|
|
133
|
+
type: Boolean,
|
|
134
|
+
default: !1
|
|
135
|
+
},
|
|
136
|
+
// 全屏状态
|
|
137
|
+
Full: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: !1
|
|
140
|
+
},
|
|
141
|
+
// 云台控制状态
|
|
142
|
+
ControlType: {
|
|
143
|
+
type: Boolean,
|
|
144
|
+
default: !1
|
|
145
|
+
},
|
|
146
|
+
width: {
|
|
147
|
+
type: String,
|
|
148
|
+
default: "346px"
|
|
149
|
+
},
|
|
150
|
+
height: {
|
|
151
|
+
type: String,
|
|
152
|
+
default: "195px"
|
|
153
|
+
},
|
|
154
|
+
HalfFullWidth: {
|
|
155
|
+
type: String,
|
|
156
|
+
default: "1263px"
|
|
157
|
+
},
|
|
158
|
+
HalfFullHeight: {
|
|
159
|
+
type: String,
|
|
160
|
+
default: "627px"
|
|
161
|
+
},
|
|
162
|
+
styleColor: {
|
|
163
|
+
type: String,
|
|
164
|
+
default: "rgba(0, 149, 255, 1)"
|
|
165
|
+
},
|
|
166
|
+
popupBackgroundColor: {
|
|
167
|
+
type: String,
|
|
168
|
+
default: "#2f3f50"
|
|
169
|
+
},
|
|
170
|
+
popupInnerColor: {
|
|
171
|
+
type: String,
|
|
172
|
+
default: "rgba(18, 37, 58, 0.3)"
|
|
173
|
+
},
|
|
174
|
+
popupInnerOpacityColor: {
|
|
175
|
+
type: String,
|
|
176
|
+
default: "#edffff30"
|
|
177
|
+
},
|
|
178
|
+
// 颜色主题-目前支持绿色和蓝色
|
|
179
|
+
styleType: {
|
|
180
|
+
type: String,
|
|
181
|
+
default: "blue"
|
|
182
|
+
},
|
|
183
|
+
title: {
|
|
184
|
+
type: String,
|
|
185
|
+
default: "摄像机:实时视频"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
emits: [
|
|
189
|
+
"setFull",
|
|
190
|
+
"setHalfFull",
|
|
191
|
+
"setScreenshot",
|
|
192
|
+
"setClose",
|
|
193
|
+
"update:HalfFull",
|
|
194
|
+
"update:Full",
|
|
195
|
+
"setControlType",
|
|
196
|
+
"update:ControlType",
|
|
197
|
+
"setplaybackTime"
|
|
198
|
+
],
|
|
199
|
+
setup(t, { emit: e }) {
|
|
200
|
+
const a = t, s = e, i = o0({
|
|
201
|
+
posX: window.innerWidth / 2,
|
|
202
|
+
// 初始X位置
|
|
203
|
+
posY: window.innerHeight / 2,
|
|
204
|
+
// 初始Y位置
|
|
205
|
+
isDragging: !1,
|
|
206
|
+
// 是否正在拖动
|
|
207
|
+
dragOffsetX: 0,
|
|
208
|
+
// X偏移量
|
|
209
|
+
dragOffsetY: 0,
|
|
210
|
+
// Y偏移量
|
|
211
|
+
posX1: window.innerWidth / 2,
|
|
212
|
+
// 初始X位置
|
|
213
|
+
posY1: window.innerHeight / 2,
|
|
214
|
+
// 初始Y位置
|
|
215
|
+
isDragging1: !1,
|
|
216
|
+
// 是否正在拖动
|
|
217
|
+
dragOffsetX1: 0,
|
|
218
|
+
// X偏移量
|
|
219
|
+
dragOffsetY1: 0
|
|
220
|
+
// Y偏移量
|
|
221
|
+
}), l = X(() => a.moveType && !c.value ? {
|
|
222
|
+
top: `${i.posY1}px`,
|
|
223
|
+
left: `${i.posX1}px`,
|
|
224
|
+
transform: "translate(-50%, -50%)",
|
|
225
|
+
position: "absolute",
|
|
226
|
+
zIndex: 9
|
|
227
|
+
} : _.value ? {
|
|
228
|
+
top: `${i.posY1}px`,
|
|
229
|
+
left: `${i.posX1}px`,
|
|
230
|
+
transform: "translate(-50%, -50%)",
|
|
231
|
+
position: "fixed",
|
|
232
|
+
zIndex: 9
|
|
233
|
+
} : null), r = X(() => a.smallType ? {
|
|
234
|
+
width: a.HalfFullWidth,
|
|
235
|
+
height: a.HalfFullHeight,
|
|
236
|
+
transform: "translate(-50%, -50%)"
|
|
237
|
+
} : {
|
|
238
|
+
top: i.posY + "px",
|
|
239
|
+
left: i.posX + "px",
|
|
240
|
+
width: a.HalfFullWidth,
|
|
241
|
+
height: a.HalfFullHeight,
|
|
242
|
+
transform: "translate(-50%, -50%)"
|
|
243
|
+
}), p = X(() => _.value ? {
|
|
244
|
+
top: "0px",
|
|
245
|
+
left: "7px",
|
|
246
|
+
transform: "translate(-50%, -50%)",
|
|
247
|
+
position: "fixed",
|
|
248
|
+
zIndex: 9999999,
|
|
249
|
+
width: "1930px",
|
|
250
|
+
height: "1009px"
|
|
251
|
+
} : {
|
|
252
|
+
width: a.width,
|
|
253
|
+
height: a.height,
|
|
254
|
+
display: c.value && a.moveType ? "none" : "block"
|
|
255
|
+
}), c = C(a.HalfFull), _ = C(a.Full), v = C(a.ControlType), w = C(null), k = C(null), g = C(null), f = C(m2()), E = C(m2()), B = C(m2()), x = C(!1), M = C(), S = C(!1), A = (d) => {
|
|
256
|
+
S.value = !1, M.value = null;
|
|
257
|
+
const o = /* @__PURE__ */ new Date(), h = new Date(o.getTime() - d * 60 * 1e3);
|
|
258
|
+
s("setplaybackTime", dayjs(h).format("YYYY-MM-DD HH:mm:ss"));
|
|
259
|
+
}, P = (d) => {
|
|
260
|
+
S.value = !1, M.value = null, s("setplaybackTime", dayjs(d).format("YYYY-MM-DD HH:mm:ss"));
|
|
261
|
+
}, Y = (d) => {
|
|
262
|
+
i.isDragging = !0, i.dragOffsetX = d.clientX - i.posX, i.dragOffsetY = d.clientY - i.posY, document.addEventListener("mousemove", $), document.addEventListener("mouseup", j);
|
|
263
|
+
}, $ = (d) => {
|
|
264
|
+
i.isDragging && (i.posX = d.clientX - i.dragOffsetX, i.posY = d.clientY - i.dragOffsetY);
|
|
265
|
+
}, j = () => {
|
|
266
|
+
i.isDragging = !1, document.removeEventListener("mousemove", $), document.removeEventListener("mouseup", j);
|
|
267
|
+
}, d2 = (d) => {
|
|
268
|
+
_.value || (i.isDragging1 = !0, i.dragOffsetX1 = d.clientX - i.posX1, i.dragOffsetY1 = d.clientY - i.posY1, document.addEventListener("mousemove", c2), document.addEventListener("mouseup", F));
|
|
269
|
+
}, c2 = (d) => {
|
|
270
|
+
i.isDragging1 && (i.posX1 = d.clientX - i.dragOffsetX1, i.posY1 = d.clientY - i.dragOffsetY1);
|
|
271
|
+
}, F = () => {
|
|
272
|
+
i.isDragging1 = !1, document.removeEventListener("mousemove", c2), document.removeEventListener("mouseup", F);
|
|
273
|
+
}, q = () => {
|
|
274
|
+
v.value = !v.value, s("setControlType", v.value), s("update:ControlType", v.value);
|
|
275
|
+
};
|
|
276
|
+
W(
|
|
277
|
+
() => a.ControlType,
|
|
278
|
+
(d, o) => {
|
|
279
|
+
v.value = d, s("setControlType", v.value);
|
|
280
|
+
}
|
|
281
|
+
);
|
|
282
|
+
const p2 = () => {
|
|
283
|
+
c.value = !c.value, s("setHalfFull", c.value), i.posX = window.innerWidth / 2, i.posY = window.innerHeight / 2, i2(c.value), s("update:HalfFull", c.value);
|
|
284
|
+
};
|
|
285
|
+
W(
|
|
286
|
+
() => a.HalfFull,
|
|
287
|
+
(d, o) => {
|
|
288
|
+
console.log(d), c.value = d, s("setHalfFull", c.value), i.posX = window.innerWidth / 2, i.posY = window.innerHeight / 2, i2(c.value);
|
|
289
|
+
}
|
|
290
|
+
);
|
|
291
|
+
const i2 = (d) => {
|
|
292
|
+
const o = document.getElementById(f.value), h = document.getElementById(E.value);
|
|
293
|
+
if (!o || !h) {
|
|
294
|
+
console.error("Elements not found.");
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
let n = document.getElementById(B.value);
|
|
298
|
+
if (n || (n = document.getElementById(B.value)), !n) {
|
|
299
|
+
console.error("sys-VideoFrame-Item-center not found.");
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
d ? (n.parentNode.removeChild(n), h.appendChild(n)) : h.contains(n) && (h.removeChild(n), o.appendChild(n));
|
|
303
|
+
};
|
|
304
|
+
document.addEventListener("fullscreenchange", () => {
|
|
305
|
+
_.value = document.fullscreenElement;
|
|
306
|
+
});
|
|
307
|
+
const s2 = () => {
|
|
308
|
+
s("setClose");
|
|
309
|
+
}, h2 = () => {
|
|
310
|
+
a.mouseType && (x.value = !0);
|
|
311
|
+
}, L2 = () => {
|
|
312
|
+
a.mouseType && (x.value = !1);
|
|
313
|
+
};
|
|
314
|
+
return g2(() => {
|
|
315
|
+
a.styleType === "green" ? (document.documentElement.style.setProperty("--sys-VideoFrame-Popup-border-color", "rgba(137, 176, 153, 1)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-background-color", "rgba(80, 80, 80, 1)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-select-color", "rgba(137, 176, 153, 1)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-inner-color", "rgba(198, 255, 222, 0.2)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-inner-opacity-color", "#edffff30")) : a.styleType === "blue" ? (document.documentElement.style.setProperty("--sys-VideoFrame-Popup-border-color", "rgba(0, 149, 255, 1)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-background-color", "#2f3f50"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-select-color", "rgba(0, 149, 255, 1)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-inner-color", "rgba(18, 37, 58, 0.3)"), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-inner-opacity-color", "#edffff30")) : a.styleType === "customize" && (document.documentElement.style.setProperty("--sys-VideoFrame-Popup-border-color", a.styleColor), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-background-color", a.popupBackgroundColor), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-select-color", a.styleColor), document.documentElement.style.setProperty("--sys-VideoFrame-Popup-inner-color", a.popupInnerColor), document.documentElement.style.setProperty(
|
|
316
|
+
"--sys-VideoFrame-Popup-inner-opacity-color",
|
|
317
|
+
a.popupInnerOpacityColor
|
|
318
|
+
));
|
|
319
|
+
}), (d, o) => {
|
|
320
|
+
const h = C2("a-tooltip"), n = C2("a-date-picker"), b = C2("a-popover");
|
|
321
|
+
return m(), T("div", H0, [
|
|
322
|
+
u("div", {
|
|
323
|
+
style: f2(l.value),
|
|
324
|
+
onMouseenter: h2,
|
|
325
|
+
onMouseleave: L2
|
|
326
|
+
}, [
|
|
327
|
+
u("div", {
|
|
328
|
+
ref_key: "fullscreenElement",
|
|
329
|
+
ref: g,
|
|
330
|
+
class: "sys-VideoFrame",
|
|
331
|
+
style: f2(p.value)
|
|
332
|
+
}, [
|
|
333
|
+
u("div", z0, [
|
|
334
|
+
u("div", {
|
|
335
|
+
ref_key: "videoItemRef",
|
|
336
|
+
ref: w,
|
|
337
|
+
id: f.value,
|
|
338
|
+
class: r2(c.value ? "sys-VideoFrame-Item hzh" : "sys-VideoFrame-Item")
|
|
339
|
+
}, [
|
|
340
|
+
M2(u("div", {
|
|
341
|
+
class: "sys-VideoFrame-Item-top",
|
|
342
|
+
onMousedown: d2
|
|
343
|
+
}, [
|
|
344
|
+
u("h3", null, z(a.title), 1),
|
|
345
|
+
u("div", j0, [
|
|
346
|
+
a.ytType ? (m(), U(h, {
|
|
347
|
+
key: 0,
|
|
348
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
349
|
+
}, {
|
|
350
|
+
title: L(() => [...o[12] || (o[12] = [
|
|
351
|
+
N("云台控制", -1)
|
|
352
|
+
])]),
|
|
353
|
+
default: L(() => [
|
|
354
|
+
v.value ? (m(), T("div", {
|
|
355
|
+
key: 0,
|
|
356
|
+
class: "sys-active-yt videoIcon",
|
|
357
|
+
onClick: q
|
|
358
|
+
})) : (m(), T("div", {
|
|
359
|
+
key: 1,
|
|
360
|
+
class: "sys-yt videoIcon",
|
|
361
|
+
onClick: q
|
|
362
|
+
}))
|
|
363
|
+
]),
|
|
364
|
+
_: 1
|
|
365
|
+
})) : D("", !0),
|
|
366
|
+
c.value ? D("", !0) : (m(), U(b, {
|
|
367
|
+
key: 1,
|
|
368
|
+
open: S.value,
|
|
369
|
+
"onUpdate:open": o[5] || (o[5] = (y) => S.value = y),
|
|
370
|
+
trigger: "click",
|
|
371
|
+
overlayClassName: "sys-VideoFrame-popover",
|
|
372
|
+
placement: "bottom"
|
|
373
|
+
}, {
|
|
374
|
+
content: L(() => [
|
|
375
|
+
u("div", {
|
|
376
|
+
class: "sys-VideoFrame-playbackItem",
|
|
377
|
+
onClick: o[0] || (o[0] = (y) => A(10))
|
|
378
|
+
}, "近十分钟"),
|
|
379
|
+
u("div", {
|
|
380
|
+
class: "sys-VideoFrame-playbackItem",
|
|
381
|
+
onClick: o[1] || (o[1] = (y) => A(60))
|
|
382
|
+
}, "近一小时"),
|
|
383
|
+
u("div", {
|
|
384
|
+
class: "sys-VideoFrame-playbackItem",
|
|
385
|
+
onClick: o[2] || (o[2] = (y) => A(180))
|
|
386
|
+
}, "近三小时"),
|
|
387
|
+
u("div", Z0, [
|
|
388
|
+
o[13] || (o[13] = u("div", { class: "sys-VideoFrame-playbackItem-box" }, "自定义", -1)),
|
|
389
|
+
K(n, {
|
|
390
|
+
class: "sys-VideoFrame-picker",
|
|
391
|
+
popupClassName: "sys-VideoFrame-Popup",
|
|
392
|
+
locale: Y2(O2),
|
|
393
|
+
value: M.value,
|
|
394
|
+
"onUpdate:value": o[3] || (o[3] = (y) => M.value = y),
|
|
395
|
+
"show-time": "",
|
|
396
|
+
placeholder: "",
|
|
397
|
+
onOk: P
|
|
398
|
+
}, null, 8, ["locale", "value"])
|
|
399
|
+
])
|
|
400
|
+
]),
|
|
401
|
+
default: L(() => [
|
|
402
|
+
a.hfType && !_.value ? (m(), U(h, {
|
|
403
|
+
key: 0,
|
|
404
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
405
|
+
}, {
|
|
406
|
+
title: L(() => [...o[14] || (o[14] = [
|
|
407
|
+
N("回放", -1)
|
|
408
|
+
])]),
|
|
409
|
+
default: L(() => [
|
|
410
|
+
u("div", {
|
|
411
|
+
class: "sys-hf videoIcon",
|
|
412
|
+
onClick: o[4] || (o[4] = (...y) => d.toggleDropdown && d.toggleDropdown(...y))
|
|
413
|
+
})
|
|
414
|
+
]),
|
|
415
|
+
_: 1
|
|
416
|
+
})) : D("", !0)
|
|
417
|
+
]),
|
|
418
|
+
_: 1
|
|
419
|
+
}, 8, ["open"])),
|
|
420
|
+
a.qxType ? (m(), U(h, {
|
|
421
|
+
key: 2,
|
|
422
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
423
|
+
}, {
|
|
424
|
+
title: L(() => [...o[15] || (o[15] = [
|
|
425
|
+
N("关闭", -1)
|
|
426
|
+
])]),
|
|
427
|
+
default: L(() => [
|
|
428
|
+
u("div", {
|
|
429
|
+
class: "sys-close videoIcon",
|
|
430
|
+
onClick: s2
|
|
431
|
+
})
|
|
432
|
+
]),
|
|
433
|
+
_: 1
|
|
434
|
+
})) : D("", !0)
|
|
435
|
+
])
|
|
436
|
+
], 544), [
|
|
437
|
+
[V2, !1]
|
|
438
|
+
]),
|
|
439
|
+
u("div", {
|
|
440
|
+
class: "sys-VideoFrame-Item-center",
|
|
441
|
+
id: B.value
|
|
442
|
+
}, [
|
|
443
|
+
r0(d.$slots, "VideoContent")
|
|
444
|
+
], 8, Y0),
|
|
445
|
+
c.value ? (m(), T("div", $0, " 以“画中画”模式播放 ")) : D("", !0)
|
|
446
|
+
], 10, G0)
|
|
447
|
+
])
|
|
448
|
+
], 4),
|
|
449
|
+
M2(u("div", {
|
|
450
|
+
class: "sys-VideoFrame-Half-Screen",
|
|
451
|
+
style: f2(r.value),
|
|
452
|
+
onMousedown: Y
|
|
453
|
+
}, [
|
|
454
|
+
o[20] || (o[20] = u("div", { class: "sys-VideoFrame-Half-Screen-one" }, null, -1)),
|
|
455
|
+
o[21] || (o[21] = u("div", { class: "sys-VideoFrame-Half-Screen-two" }, null, -1)),
|
|
456
|
+
o[22] || (o[22] = u("div", { class: "sys-VideoFrame-Half-Screen-three" }, null, -1)),
|
|
457
|
+
u("div", {
|
|
458
|
+
class: "sys-VideoFrame-Half-Screen-content",
|
|
459
|
+
id: E.value,
|
|
460
|
+
ref_key: "videoItemHalfRef",
|
|
461
|
+
ref: k
|
|
462
|
+
}, [
|
|
463
|
+
M2(u("div", X0, [
|
|
464
|
+
u("h3", null, z(a.title), 1),
|
|
465
|
+
u("div", W0, [
|
|
466
|
+
a.ytType && !t.playbackType ? (m(), U(h, {
|
|
467
|
+
key: 0,
|
|
468
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
469
|
+
}, {
|
|
470
|
+
title: L(() => [...o[16] || (o[16] = [
|
|
471
|
+
N("云台控制", -1)
|
|
472
|
+
])]),
|
|
473
|
+
default: L(() => [
|
|
474
|
+
v.value ? (m(), T("div", {
|
|
475
|
+
key: 0,
|
|
476
|
+
class: "sys-active-yt videoIcon",
|
|
477
|
+
onClick: q
|
|
478
|
+
})) : (m(), T("div", {
|
|
479
|
+
key: 1,
|
|
480
|
+
class: "sys-yt videoIcon",
|
|
481
|
+
onClick: q
|
|
482
|
+
}))
|
|
483
|
+
]),
|
|
484
|
+
_: 1
|
|
485
|
+
})) : D("", !0),
|
|
486
|
+
a.hfType && c.value && !_.value ? (m(), U(b, {
|
|
487
|
+
key: 1,
|
|
488
|
+
open: S.value,
|
|
489
|
+
"onUpdate:open": o[11] || (o[11] = (y) => S.value = y),
|
|
490
|
+
trigger: "click",
|
|
491
|
+
overlayClassName: "sys-VideoFrame-popover",
|
|
492
|
+
placement: "bottom"
|
|
493
|
+
}, {
|
|
494
|
+
content: L(() => [
|
|
495
|
+
u("div", {
|
|
496
|
+
class: "sys-VideoFrame-playbackItem",
|
|
497
|
+
onClick: o[6] || (o[6] = (y) => A(10))
|
|
498
|
+
}, "近十分钟"),
|
|
499
|
+
u("div", {
|
|
500
|
+
class: "sys-VideoFrame-playbackItem",
|
|
501
|
+
onClick: o[7] || (o[7] = (y) => A(60))
|
|
502
|
+
}, "近一小时"),
|
|
503
|
+
u("div", {
|
|
504
|
+
class: "sys-VideoFrame-playbackItem",
|
|
505
|
+
onClick: o[8] || (o[8] = (y) => A(180))
|
|
506
|
+
}, "近三小时"),
|
|
507
|
+
u("div", J0, [
|
|
508
|
+
o[17] || (o[17] = u("div", { class: "sys-VideoFrame-playbackItem-box" }, "自定义", -1)),
|
|
509
|
+
K(n, {
|
|
510
|
+
class: "sys-VideoFrame-picker",
|
|
511
|
+
popupClassName: "sys-VideoFrame-Popup",
|
|
512
|
+
locale: Y2(O2),
|
|
513
|
+
value: M.value,
|
|
514
|
+
"onUpdate:value": o[9] || (o[9] = (y) => M.value = y),
|
|
515
|
+
"show-time": "",
|
|
516
|
+
placeholder: "",
|
|
517
|
+
onOk: P
|
|
518
|
+
}, null, 8, ["locale", "value"])
|
|
519
|
+
])
|
|
520
|
+
]),
|
|
521
|
+
default: L(() => [
|
|
522
|
+
a.hfType ? (m(), U(h, {
|
|
523
|
+
key: 0,
|
|
524
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
525
|
+
}, {
|
|
526
|
+
title: L(() => [...o[18] || (o[18] = [
|
|
527
|
+
N("回放", -1)
|
|
528
|
+
])]),
|
|
529
|
+
default: L(() => [
|
|
530
|
+
u("div", {
|
|
531
|
+
class: "sys-hf videoIcon",
|
|
532
|
+
onClick: o[10] || (o[10] = (...y) => d.toggleDropdown && d.toggleDropdown(...y))
|
|
533
|
+
})
|
|
534
|
+
]),
|
|
535
|
+
_: 1
|
|
536
|
+
})) : D("", !0)
|
|
537
|
+
]),
|
|
538
|
+
_: 1
|
|
539
|
+
}, 8, ["open"])) : D("", !0),
|
|
540
|
+
!_.value && a.bpType ? (m(), U(h, {
|
|
541
|
+
key: 2,
|
|
542
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
543
|
+
}, {
|
|
544
|
+
title: L(() => [
|
|
545
|
+
N(z(c.value ? "非半屏" : "半屏"), 1)
|
|
546
|
+
]),
|
|
547
|
+
default: L(() => [
|
|
548
|
+
c.value ? (m(), T("div", {
|
|
549
|
+
key: 0,
|
|
550
|
+
class: "sys-active-bp videoIcon",
|
|
551
|
+
onClick: p2
|
|
552
|
+
})) : (m(), T("div", {
|
|
553
|
+
key: 1,
|
|
554
|
+
class: "sys-bp videoIcon",
|
|
555
|
+
onClick: p2
|
|
556
|
+
}))
|
|
557
|
+
]),
|
|
558
|
+
_: 1
|
|
559
|
+
})) : D("", !0),
|
|
560
|
+
a.qxType && !t.playbackType ? (m(), U(h, {
|
|
561
|
+
key: 3,
|
|
562
|
+
color: "rgba(22, 30, 40, 0.75)"
|
|
563
|
+
}, {
|
|
564
|
+
title: L(() => [...o[19] || (o[19] = [
|
|
565
|
+
N("关闭", -1)
|
|
566
|
+
])]),
|
|
567
|
+
default: L(() => [
|
|
568
|
+
u("div", {
|
|
569
|
+
class: "sys-close videoIcon",
|
|
570
|
+
onClick: s2
|
|
571
|
+
})
|
|
572
|
+
]),
|
|
573
|
+
_: 1
|
|
574
|
+
})) : D("", !0)
|
|
575
|
+
])
|
|
576
|
+
], 512), [
|
|
577
|
+
[V2, x.value]
|
|
578
|
+
])
|
|
579
|
+
], 8, N0)
|
|
580
|
+
], 36), [
|
|
581
|
+
[V2, c.value]
|
|
582
|
+
])
|
|
583
|
+
], 36)
|
|
584
|
+
]);
|
|
585
|
+
};
|
|
586
|
+
}
|
|
587
|
+
};
|
|
588
|
+
var l0 = typeof global == "object" && global && global.Object === Object && global, q0 = typeof self == "object" && self && self.Object === Object && self, e2 = l0 || q0 || Function("return this")(), y2 = e2.Symbol, u0 = Object.prototype, K0 = u0.hasOwnProperty, ee = u0.toString, o2 = y2 ? y2.toStringTag : void 0;
|
|
589
|
+
function te(t) {
|
|
590
|
+
var e = K0.call(t, o2), a = t[o2];
|
|
591
|
+
try {
|
|
592
|
+
t[o2] = void 0;
|
|
593
|
+
var s = !0;
|
|
594
|
+
} catch {
|
|
595
|
+
}
|
|
596
|
+
var i = ee.call(t);
|
|
597
|
+
return s && (e ? t[o2] = a : delete t[o2]), i;
|
|
598
|
+
}
|
|
599
|
+
var ae = Object.prototype, ie = ae.toString;
|
|
600
|
+
function se(t) {
|
|
601
|
+
return ie.call(t);
|
|
602
|
+
}
|
|
603
|
+
var oe = "[object Null]", re = "[object Undefined]", N2 = y2 ? y2.toStringTag : void 0;
|
|
604
|
+
function w2(t) {
|
|
605
|
+
return t == null ? t === void 0 ? re : oe : N2 && N2 in Object(t) ? te(t) : se(t);
|
|
606
|
+
}
|
|
607
|
+
function u2(t) {
|
|
608
|
+
return t != null && typeof t == "object";
|
|
609
|
+
}
|
|
610
|
+
var F2 = Array.isArray;
|
|
611
|
+
function Q(t) {
|
|
612
|
+
var e = typeof t;
|
|
613
|
+
return t != null && (e == "object" || e == "function");
|
|
614
|
+
}
|
|
615
|
+
function d0(t) {
|
|
616
|
+
return t;
|
|
617
|
+
}
|
|
618
|
+
var ne = "[object AsyncFunction]", le = "[object Function]", ue = "[object GeneratorFunction]", de = "[object Proxy]";
|
|
619
|
+
function U2(t) {
|
|
620
|
+
if (!Q(t))
|
|
621
|
+
return !1;
|
|
622
|
+
var e = w2(t);
|
|
623
|
+
return e == le || e == ue || e == ne || e == de;
|
|
624
|
+
}
|
|
625
|
+
var P2 = e2["__core-js_shared__"], X2 = (function() {
|
|
626
|
+
var t = /[^.]+$/.exec(P2 && P2.keys && P2.keys.IE_PROTO || "");
|
|
627
|
+
return t ? "Symbol(src)_1." + t : "";
|
|
628
|
+
})();
|
|
629
|
+
function ce(t) {
|
|
630
|
+
return !!X2 && X2 in t;
|
|
631
|
+
}
|
|
632
|
+
var pe = Function.prototype, he = pe.toString;
|
|
633
|
+
function Ce(t) {
|
|
634
|
+
if (t != null) {
|
|
635
|
+
try {
|
|
636
|
+
return he.call(t);
|
|
637
|
+
} catch {
|
|
638
|
+
}
|
|
639
|
+
try {
|
|
640
|
+
return t + "";
|
|
641
|
+
} catch {
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
return "";
|
|
645
|
+
}
|
|
646
|
+
var fe = /[\\^$.*+?()[\]{}|]/g, me = /^\[object .+?Constructor\]$/, ve = Function.prototype, ye = Object.prototype, _e = ve.toString, ge = ye.hasOwnProperty, we = RegExp(
|
|
647
|
+
"^" + _e.call(ge).replace(fe, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
648
|
+
);
|
|
649
|
+
function xe(t) {
|
|
650
|
+
if (!Q(t) || ce(t))
|
|
651
|
+
return !1;
|
|
652
|
+
var e = U2(t) ? we : me;
|
|
653
|
+
return e.test(Ce(t));
|
|
654
|
+
}
|
|
655
|
+
function Se(t, e) {
|
|
656
|
+
return t == null ? void 0 : t[e];
|
|
657
|
+
}
|
|
658
|
+
function H2(t, e) {
|
|
659
|
+
var a = Se(t, e);
|
|
660
|
+
return xe(a) ? a : void 0;
|
|
661
|
+
}
|
|
662
|
+
var W2 = Object.create, be = /* @__PURE__ */ (function() {
|
|
663
|
+
function t() {
|
|
664
|
+
}
|
|
665
|
+
return function(e) {
|
|
666
|
+
if (!Q(e))
|
|
667
|
+
return {};
|
|
668
|
+
if (W2)
|
|
669
|
+
return W2(e);
|
|
670
|
+
t.prototype = e;
|
|
671
|
+
var a = new t();
|
|
672
|
+
return t.prototype = void 0, a;
|
|
673
|
+
};
|
|
674
|
+
})();
|
|
675
|
+
function Le(t, e, a) {
|
|
676
|
+
switch (a.length) {
|
|
677
|
+
case 0:
|
|
678
|
+
return t.call(e);
|
|
679
|
+
case 1:
|
|
680
|
+
return t.call(e, a[0]);
|
|
681
|
+
case 2:
|
|
682
|
+
return t.call(e, a[0], a[1]);
|
|
683
|
+
case 3:
|
|
684
|
+
return t.call(e, a[0], a[1], a[2]);
|
|
685
|
+
}
|
|
686
|
+
return t.apply(e, a);
|
|
687
|
+
}
|
|
688
|
+
function Me(t, e) {
|
|
689
|
+
var a = -1, s = t.length;
|
|
690
|
+
for (e || (e = Array(s)); ++a < s; )
|
|
691
|
+
e[a] = t[a];
|
|
692
|
+
return e;
|
|
693
|
+
}
|
|
694
|
+
var Ve = 800, Te = 16, Ee = Date.now;
|
|
695
|
+
function Ae(t) {
|
|
696
|
+
var e = 0, a = 0;
|
|
697
|
+
return function() {
|
|
698
|
+
var s = Ee(), i = Te - (s - a);
|
|
699
|
+
if (a = s, i > 0) {
|
|
700
|
+
if (++e >= Ve)
|
|
701
|
+
return arguments[0];
|
|
702
|
+
} else
|
|
703
|
+
e = 0;
|
|
704
|
+
return t.apply(void 0, arguments);
|
|
705
|
+
};
|
|
706
|
+
}
|
|
707
|
+
function ke(t) {
|
|
708
|
+
return function() {
|
|
709
|
+
return t;
|
|
710
|
+
};
|
|
711
|
+
}
|
|
712
|
+
var _2 = (function() {
|
|
713
|
+
try {
|
|
714
|
+
var t = H2(Object, "defineProperty");
|
|
715
|
+
return t({}, "", {}), t;
|
|
716
|
+
} catch {
|
|
717
|
+
}
|
|
718
|
+
})(), Pe = _2 ? function(t, e) {
|
|
719
|
+
return _2(t, "toString", {
|
|
720
|
+
configurable: !0,
|
|
721
|
+
enumerable: !1,
|
|
722
|
+
value: ke(e),
|
|
723
|
+
writable: !0
|
|
724
|
+
});
|
|
725
|
+
} : d0, De = Ae(Pe), Oe = 9007199254740991, Fe = /^(?:0|[1-9]\d*)$/;
|
|
726
|
+
function c0(t, e) {
|
|
727
|
+
var a = typeof t;
|
|
728
|
+
return e = e ?? Oe, !!e && (a == "number" || a != "symbol" && Fe.test(t)) && t > -1 && t % 1 == 0 && t < e;
|
|
729
|
+
}
|
|
730
|
+
function z2(t, e, a) {
|
|
731
|
+
e == "__proto__" && _2 ? _2(t, e, {
|
|
732
|
+
configurable: !0,
|
|
733
|
+
enumerable: !0,
|
|
734
|
+
value: a,
|
|
735
|
+
writable: !0
|
|
736
|
+
}) : t[e] = a;
|
|
737
|
+
}
|
|
738
|
+
function x2(t, e) {
|
|
739
|
+
return t === e || t !== t && e !== e;
|
|
740
|
+
}
|
|
741
|
+
var Ie = Object.prototype, Be = Ie.hasOwnProperty;
|
|
742
|
+
function Re(t, e, a) {
|
|
743
|
+
var s = t[e];
|
|
744
|
+
(!(Be.call(t, e) && x2(s, a)) || a === void 0 && !(e in t)) && z2(t, e, a);
|
|
745
|
+
}
|
|
746
|
+
function Ue(t, e, a, s) {
|
|
747
|
+
var i = !a;
|
|
748
|
+
a || (a = {});
|
|
749
|
+
for (var l = -1, r = e.length; ++l < r; ) {
|
|
750
|
+
var p = e[l], c = void 0;
|
|
751
|
+
c === void 0 && (c = t[p]), i ? z2(a, p, c) : Re(a, p, c);
|
|
752
|
+
}
|
|
753
|
+
return a;
|
|
754
|
+
}
|
|
755
|
+
var J2 = Math.max;
|
|
756
|
+
function He(t, e, a) {
|
|
757
|
+
return e = J2(e === void 0 ? t.length - 1 : e, 0), function() {
|
|
758
|
+
for (var s = arguments, i = -1, l = J2(s.length - e, 0), r = Array(l); ++i < l; )
|
|
759
|
+
r[i] = s[e + i];
|
|
760
|
+
i = -1;
|
|
761
|
+
for (var p = Array(e + 1); ++i < e; )
|
|
762
|
+
p[i] = s[i];
|
|
763
|
+
return p[e] = a(r), Le(t, this, p);
|
|
764
|
+
};
|
|
765
|
+
}
|
|
766
|
+
function ze(t, e) {
|
|
767
|
+
return De(He(t, e, d0), t + "");
|
|
768
|
+
}
|
|
769
|
+
var Ge = 9007199254740991;
|
|
770
|
+
function p0(t) {
|
|
771
|
+
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Ge;
|
|
772
|
+
}
|
|
773
|
+
function G2(t) {
|
|
774
|
+
return t != null && p0(t.length) && !U2(t);
|
|
775
|
+
}
|
|
776
|
+
function je(t, e, a) {
|
|
777
|
+
if (!Q(a))
|
|
778
|
+
return !1;
|
|
779
|
+
var s = typeof e;
|
|
780
|
+
return (s == "number" ? G2(a) && c0(e, a.length) : s == "string" && e in a) ? x2(a[e], t) : !1;
|
|
781
|
+
}
|
|
782
|
+
function Ze(t) {
|
|
783
|
+
return ze(function(e, a) {
|
|
784
|
+
var s = -1, i = a.length, l = i > 1 ? a[i - 1] : void 0, r = i > 2 ? a[2] : void 0;
|
|
785
|
+
for (l = t.length > 3 && typeof l == "function" ? (i--, l) : void 0, r && je(a[0], a[1], r) && (l = i < 3 ? void 0 : l, i = 1), e = Object(e); ++s < i; ) {
|
|
786
|
+
var p = a[s];
|
|
787
|
+
p && t(e, p, s, l);
|
|
788
|
+
}
|
|
789
|
+
return e;
|
|
790
|
+
});
|
|
791
|
+
}
|
|
792
|
+
var Ye = Object.prototype;
|
|
793
|
+
function h0(t) {
|
|
794
|
+
var e = t && t.constructor, a = typeof e == "function" && e.prototype || Ye;
|
|
795
|
+
return t === a;
|
|
796
|
+
}
|
|
797
|
+
function $e(t, e) {
|
|
798
|
+
for (var a = -1, s = Array(t); ++a < t; )
|
|
799
|
+
s[a] = e(a);
|
|
800
|
+
return s;
|
|
801
|
+
}
|
|
802
|
+
var Ne = "[object Arguments]";
|
|
803
|
+
function Q2(t) {
|
|
804
|
+
return u2(t) && w2(t) == Ne;
|
|
805
|
+
}
|
|
806
|
+
var C0 = Object.prototype, Xe = C0.hasOwnProperty, We = C0.propertyIsEnumerable, I2 = Q2(/* @__PURE__ */ (function() {
|
|
807
|
+
return arguments;
|
|
808
|
+
})()) ? Q2 : function(t) {
|
|
809
|
+
return u2(t) && Xe.call(t, "callee") && !We.call(t, "callee");
|
|
810
|
+
};
|
|
811
|
+
function Je() {
|
|
812
|
+
return !1;
|
|
813
|
+
}
|
|
814
|
+
var f0 = typeof exports == "object" && exports && !exports.nodeType && exports, q2 = f0 && typeof module == "object" && module && !module.nodeType && module, Qe = q2 && q2.exports === f0, K2 = Qe ? e2.Buffer : void 0, qe = K2 ? K2.isBuffer : void 0, m0 = qe || Je, Ke = "[object Arguments]", e3 = "[object Array]", t3 = "[object Boolean]", a3 = "[object Date]", i3 = "[object Error]", s3 = "[object Function]", o3 = "[object Map]", r3 = "[object Number]", n3 = "[object Object]", l3 = "[object RegExp]", u3 = "[object Set]", d3 = "[object String]", c3 = "[object WeakMap]", p3 = "[object ArrayBuffer]", h3 = "[object DataView]", C3 = "[object Float32Array]", f3 = "[object Float64Array]", m3 = "[object Int8Array]", v3 = "[object Int16Array]", y3 = "[object Int32Array]", _3 = "[object Uint8Array]", g3 = "[object Uint8ClampedArray]", w3 = "[object Uint16Array]", x3 = "[object Uint32Array]", V = {};
|
|
815
|
+
V[C3] = V[f3] = V[m3] = V[v3] = V[y3] = V[_3] = V[g3] = V[w3] = V[x3] = !0;
|
|
816
|
+
V[Ke] = V[e3] = V[p3] = V[t3] = V[h3] = V[a3] = V[i3] = V[s3] = V[o3] = V[r3] = V[n3] = V[l3] = V[u3] = V[d3] = V[c3] = !1;
|
|
817
|
+
function S3(t) {
|
|
818
|
+
return u2(t) && p0(t.length) && !!V[w2(t)];
|
|
819
|
+
}
|
|
820
|
+
function b3(t) {
|
|
821
|
+
return function(e) {
|
|
822
|
+
return t(e);
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
var v0 = typeof exports == "object" && exports && !exports.nodeType && exports, n2 = v0 && typeof module == "object" && module && !module.nodeType && module, L3 = n2 && n2.exports === v0, D2 = L3 && l0.process, e0 = (function() {
|
|
826
|
+
try {
|
|
827
|
+
var t = n2 && n2.require && n2.require("util").types;
|
|
828
|
+
return t || D2 && D2.binding && D2.binding("util");
|
|
829
|
+
} catch {
|
|
830
|
+
}
|
|
831
|
+
})(), t0 = e0 && e0.isTypedArray, y0 = t0 ? b3(t0) : S3;
|
|
832
|
+
function M3(t, e) {
|
|
833
|
+
var a = F2(t), s = !a && I2(t), i = !a && !s && m0(t), l = !a && !s && !i && y0(t), r = a || s || i || l, p = r ? $e(t.length, String) : [], c = p.length;
|
|
834
|
+
for (var _ in t)
|
|
835
|
+
r && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
836
|
+
(_ == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
837
|
+
i && (_ == "offset" || _ == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
838
|
+
l && (_ == "buffer" || _ == "byteLength" || _ == "byteOffset") || // Skip index properties.
|
|
839
|
+
c0(_, c)) || p.push(_);
|
|
840
|
+
return p;
|
|
841
|
+
}
|
|
842
|
+
function V3(t, e) {
|
|
843
|
+
return function(a) {
|
|
844
|
+
return t(e(a));
|
|
845
|
+
};
|
|
846
|
+
}
|
|
847
|
+
function T3(t) {
|
|
848
|
+
var e = [];
|
|
849
|
+
if (t != null)
|
|
850
|
+
for (var a in Object(t))
|
|
851
|
+
e.push(a);
|
|
852
|
+
return e;
|
|
853
|
+
}
|
|
854
|
+
var E3 = Object.prototype, A3 = E3.hasOwnProperty;
|
|
855
|
+
function k3(t) {
|
|
856
|
+
if (!Q(t))
|
|
857
|
+
return T3(t);
|
|
858
|
+
var e = h0(t), a = [];
|
|
859
|
+
for (var s in t)
|
|
860
|
+
s == "constructor" && (e || !A3.call(t, s)) || a.push(s);
|
|
861
|
+
return a;
|
|
862
|
+
}
|
|
863
|
+
function _0(t) {
|
|
864
|
+
return G2(t) ? M3(t) : k3(t);
|
|
865
|
+
}
|
|
866
|
+
var l2 = H2(Object, "create");
|
|
867
|
+
function P3() {
|
|
868
|
+
this.__data__ = l2 ? l2(null) : {}, this.size = 0;
|
|
869
|
+
}
|
|
870
|
+
function D3(t) {
|
|
871
|
+
var e = this.has(t) && delete this.__data__[t];
|
|
872
|
+
return this.size -= e ? 1 : 0, e;
|
|
873
|
+
}
|
|
874
|
+
var O3 = "__lodash_hash_undefined__", F3 = Object.prototype, I3 = F3.hasOwnProperty;
|
|
875
|
+
function B3(t) {
|
|
876
|
+
var e = this.__data__;
|
|
877
|
+
if (l2) {
|
|
878
|
+
var a = e[t];
|
|
879
|
+
return a === O3 ? void 0 : a;
|
|
880
|
+
}
|
|
881
|
+
return I3.call(e, t) ? e[t] : void 0;
|
|
882
|
+
}
|
|
883
|
+
var R3 = Object.prototype, U3 = R3.hasOwnProperty;
|
|
884
|
+
function H3(t) {
|
|
885
|
+
var e = this.__data__;
|
|
886
|
+
return l2 ? e[t] !== void 0 : U3.call(e, t);
|
|
887
|
+
}
|
|
888
|
+
var z3 = "__lodash_hash_undefined__";
|
|
889
|
+
function G3(t, e) {
|
|
890
|
+
var a = this.__data__;
|
|
891
|
+
return this.size += this.has(t) ? 0 : 1, a[t] = l2 && e === void 0 ? z3 : e, this;
|
|
892
|
+
}
|
|
893
|
+
function J(t) {
|
|
894
|
+
var e = -1, a = t == null ? 0 : t.length;
|
|
895
|
+
for (this.clear(); ++e < a; ) {
|
|
896
|
+
var s = t[e];
|
|
897
|
+
this.set(s[0], s[1]);
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
J.prototype.clear = P3;
|
|
901
|
+
J.prototype.delete = D3;
|
|
902
|
+
J.prototype.get = B3;
|
|
903
|
+
J.prototype.has = H3;
|
|
904
|
+
J.prototype.set = G3;
|
|
905
|
+
function j3() {
|
|
906
|
+
this.__data__ = [], this.size = 0;
|
|
907
|
+
}
|
|
908
|
+
function S2(t, e) {
|
|
909
|
+
for (var a = t.length; a--; )
|
|
910
|
+
if (x2(t[a][0], e))
|
|
911
|
+
return a;
|
|
912
|
+
return -1;
|
|
913
|
+
}
|
|
914
|
+
var Z3 = Array.prototype, Y3 = Z3.splice;
|
|
915
|
+
function $3(t) {
|
|
916
|
+
var e = this.__data__, a = S2(e, t);
|
|
917
|
+
if (a < 0)
|
|
918
|
+
return !1;
|
|
919
|
+
var s = e.length - 1;
|
|
920
|
+
return a == s ? e.pop() : Y3.call(e, a, 1), --this.size, !0;
|
|
921
|
+
}
|
|
922
|
+
function N3(t) {
|
|
923
|
+
var e = this.__data__, a = S2(e, t);
|
|
924
|
+
return a < 0 ? void 0 : e[a][1];
|
|
925
|
+
}
|
|
926
|
+
function X3(t) {
|
|
927
|
+
return S2(this.__data__, t) > -1;
|
|
928
|
+
}
|
|
929
|
+
function W3(t, e) {
|
|
930
|
+
var a = this.__data__, s = S2(a, t);
|
|
931
|
+
return s < 0 ? (++this.size, a.push([t, e])) : a[s][1] = e, this;
|
|
932
|
+
}
|
|
933
|
+
function G(t) {
|
|
934
|
+
var e = -1, a = t == null ? 0 : t.length;
|
|
935
|
+
for (this.clear(); ++e < a; ) {
|
|
936
|
+
var s = t[e];
|
|
937
|
+
this.set(s[0], s[1]);
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
G.prototype.clear = j3;
|
|
941
|
+
G.prototype.delete = $3;
|
|
942
|
+
G.prototype.get = N3;
|
|
943
|
+
G.prototype.has = X3;
|
|
944
|
+
G.prototype.set = W3;
|
|
945
|
+
var g0 = H2(e2, "Map");
|
|
946
|
+
function J3() {
|
|
947
|
+
this.size = 0, this.__data__ = {
|
|
948
|
+
hash: new J(),
|
|
949
|
+
map: new (g0 || G)(),
|
|
950
|
+
string: new J()
|
|
951
|
+
};
|
|
952
|
+
}
|
|
953
|
+
function Q3(t) {
|
|
954
|
+
var e = typeof t;
|
|
955
|
+
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
|
|
956
|
+
}
|
|
957
|
+
function b2(t, e) {
|
|
958
|
+
var a = t.__data__;
|
|
959
|
+
return Q3(e) ? a[typeof e == "string" ? "string" : "hash"] : a.map;
|
|
960
|
+
}
|
|
961
|
+
function q3(t) {
|
|
962
|
+
var e = b2(this, t).delete(t);
|
|
963
|
+
return this.size -= e ? 1 : 0, e;
|
|
964
|
+
}
|
|
965
|
+
function K3(t) {
|
|
966
|
+
return b2(this, t).get(t);
|
|
967
|
+
}
|
|
968
|
+
function et(t) {
|
|
969
|
+
return b2(this, t).has(t);
|
|
970
|
+
}
|
|
971
|
+
function tt(t, e) {
|
|
972
|
+
var a = b2(this, t), s = a.size;
|
|
973
|
+
return a.set(t, e), this.size += a.size == s ? 0 : 1, this;
|
|
974
|
+
}
|
|
975
|
+
function t2(t) {
|
|
976
|
+
var e = -1, a = t == null ? 0 : t.length;
|
|
977
|
+
for (this.clear(); ++e < a; ) {
|
|
978
|
+
var s = t[e];
|
|
979
|
+
this.set(s[0], s[1]);
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
t2.prototype.clear = J3;
|
|
983
|
+
t2.prototype.delete = q3;
|
|
984
|
+
t2.prototype.get = K3;
|
|
985
|
+
t2.prototype.has = et;
|
|
986
|
+
t2.prototype.set = tt;
|
|
987
|
+
var w0 = V3(Object.getPrototypeOf, Object), at = "[object Object]", it = Function.prototype, st = Object.prototype, x0 = it.toString, ot = st.hasOwnProperty, rt = x0.call(Object);
|
|
988
|
+
function nt(t) {
|
|
989
|
+
if (!u2(t) || w2(t) != at)
|
|
990
|
+
return !1;
|
|
991
|
+
var e = w0(t);
|
|
992
|
+
if (e === null)
|
|
993
|
+
return !0;
|
|
994
|
+
var a = ot.call(e, "constructor") && e.constructor;
|
|
995
|
+
return typeof a == "function" && a instanceof a && x0.call(a) == rt;
|
|
996
|
+
}
|
|
997
|
+
function lt() {
|
|
998
|
+
this.__data__ = new G(), this.size = 0;
|
|
999
|
+
}
|
|
1000
|
+
function ut(t) {
|
|
1001
|
+
var e = this.__data__, a = e.delete(t);
|
|
1002
|
+
return this.size = e.size, a;
|
|
1003
|
+
}
|
|
1004
|
+
function dt(t) {
|
|
1005
|
+
return this.__data__.get(t);
|
|
1006
|
+
}
|
|
1007
|
+
function ct(t) {
|
|
1008
|
+
return this.__data__.has(t);
|
|
1009
|
+
}
|
|
1010
|
+
var pt = 200;
|
|
1011
|
+
function ht(t, e) {
|
|
1012
|
+
var a = this.__data__;
|
|
1013
|
+
if (a instanceof G) {
|
|
1014
|
+
var s = a.__data__;
|
|
1015
|
+
if (!g0 || s.length < pt - 1)
|
|
1016
|
+
return s.push([t, e]), this.size = ++a.size, this;
|
|
1017
|
+
a = this.__data__ = new t2(s);
|
|
1018
|
+
}
|
|
1019
|
+
return a.set(t, e), this.size = a.size, this;
|
|
1020
|
+
}
|
|
1021
|
+
function a2(t) {
|
|
1022
|
+
var e = this.__data__ = new G(t);
|
|
1023
|
+
this.size = e.size;
|
|
1024
|
+
}
|
|
1025
|
+
a2.prototype.clear = lt;
|
|
1026
|
+
a2.prototype.delete = ut;
|
|
1027
|
+
a2.prototype.get = dt;
|
|
1028
|
+
a2.prototype.has = ct;
|
|
1029
|
+
a2.prototype.set = ht;
|
|
1030
|
+
var S0 = typeof exports == "object" && exports && !exports.nodeType && exports, a0 = S0 && typeof module == "object" && module && !module.nodeType && module, Ct = a0 && a0.exports === S0, i0 = Ct ? e2.Buffer : void 0;
|
|
1031
|
+
i0 && i0.allocUnsafe;
|
|
1032
|
+
function ft(t, e) {
|
|
1033
|
+
return t.slice();
|
|
1034
|
+
}
|
|
1035
|
+
var s0 = e2.Uint8Array;
|
|
1036
|
+
function mt(t) {
|
|
1037
|
+
var e = new t.constructor(t.byteLength);
|
|
1038
|
+
return new s0(e).set(new s0(t)), e;
|
|
1039
|
+
}
|
|
1040
|
+
function vt(t, e) {
|
|
1041
|
+
var a = mt(t.buffer);
|
|
1042
|
+
return new t.constructor(a, t.byteOffset, t.length);
|
|
1043
|
+
}
|
|
1044
|
+
function yt(t) {
|
|
1045
|
+
return typeof t.constructor == "function" && !h0(t) ? be(w0(t)) : {};
|
|
1046
|
+
}
|
|
1047
|
+
function _t(t) {
|
|
1048
|
+
return function(e, a, s) {
|
|
1049
|
+
for (var i = -1, l = Object(e), r = s(e), p = r.length; p--; ) {
|
|
1050
|
+
var c = r[++i];
|
|
1051
|
+
if (a(l[c], c, l) === !1)
|
|
1052
|
+
break;
|
|
1053
|
+
}
|
|
1054
|
+
return e;
|
|
1055
|
+
};
|
|
1056
|
+
}
|
|
1057
|
+
var gt = _t();
|
|
1058
|
+
function B2(t, e, a) {
|
|
1059
|
+
(a !== void 0 && !x2(t[e], a) || a === void 0 && !(e in t)) && z2(t, e, a);
|
|
1060
|
+
}
|
|
1061
|
+
function wt(t) {
|
|
1062
|
+
return u2(t) && G2(t);
|
|
1063
|
+
}
|
|
1064
|
+
function R2(t, e) {
|
|
1065
|
+
if (!(e === "constructor" && typeof t[e] == "function") && e != "__proto__")
|
|
1066
|
+
return t[e];
|
|
1067
|
+
}
|
|
1068
|
+
function xt(t) {
|
|
1069
|
+
return Ue(t, _0(t));
|
|
1070
|
+
}
|
|
1071
|
+
function St(t, e, a, s, i, l, r) {
|
|
1072
|
+
var p = R2(t, a), c = R2(e, a), _ = r.get(c);
|
|
1073
|
+
if (_) {
|
|
1074
|
+
B2(t, a, _);
|
|
1075
|
+
return;
|
|
1076
|
+
}
|
|
1077
|
+
var v = l ? l(p, c, a + "", t, e, r) : void 0, w = v === void 0;
|
|
1078
|
+
if (w) {
|
|
1079
|
+
var k = F2(c), g = !k && m0(c), f = !k && !g && y0(c);
|
|
1080
|
+
v = c, k || g || f ? F2(p) ? v = p : wt(p) ? v = Me(p) : g ? (w = !1, v = ft(c)) : f ? (w = !1, v = vt(c)) : v = [] : nt(c) || I2(c) ? (v = p, I2(p) ? v = xt(p) : (!Q(p) || U2(p)) && (v = yt(c))) : w = !1;
|
|
1081
|
+
}
|
|
1082
|
+
w && (r.set(c, v), i(v, c, s, l, r), r.delete(c)), B2(t, a, v);
|
|
1083
|
+
}
|
|
1084
|
+
function b0(t, e, a, s, i) {
|
|
1085
|
+
t !== e && gt(e, function(l, r) {
|
|
1086
|
+
if (i || (i = new a2()), Q(l))
|
|
1087
|
+
St(t, e, r, a, b0, s, i);
|
|
1088
|
+
else {
|
|
1089
|
+
var p = s ? s(R2(t, r), l, r + "", t, e, i) : void 0;
|
|
1090
|
+
p === void 0 && (p = l), B2(t, r, p);
|
|
1091
|
+
}
|
|
1092
|
+
}, _0);
|
|
1093
|
+
}
|
|
1094
|
+
var bt = Ze(function(t, e, a) {
|
|
1095
|
+
b0(t, e, a);
|
|
1096
|
+
});
|
|
1097
|
+
const L0 = (t, e) => {
|
|
1098
|
+
const a = t.__vccOpts || t;
|
|
1099
|
+
for (const [s, i] of e)
|
|
1100
|
+
a[s] = i;
|
|
1101
|
+
return a;
|
|
1102
|
+
}, Lt = { class: "JessibucaPlayer" }, Mt = ["id"], Vt = {
|
|
1103
|
+
__name: "JessibucaPlayer",
|
|
1104
|
+
props: {
|
|
1105
|
+
url: {
|
|
1106
|
+
type: String,
|
|
1107
|
+
required: !0
|
|
1108
|
+
},
|
|
1109
|
+
options: {
|
|
1110
|
+
type: Object,
|
|
1111
|
+
default: () => ({})
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
setup(t, { expose: e }) {
|
|
1115
|
+
const a = {
|
|
1116
|
+
decoder: "./jesncrypt/decoder-pro.js",
|
|
1117
|
+
debug: !1,
|
|
1118
|
+
// 是否开启控制台调试打印
|
|
1119
|
+
debugLevel: "false",
|
|
1120
|
+
// debug模式下的日志级别,支持debug、warn,默认是warn
|
|
1121
|
+
videoBuffer: 0.1,
|
|
1122
|
+
// 设置缓冲时长,单位秒。
|
|
1123
|
+
videoBufferDelay: 0.3,
|
|
1124
|
+
// 设置最大缓冲延迟时长,单位秒,如果延迟超过该值,就会进行丢帧处理。
|
|
1125
|
+
isResize: !0,
|
|
1126
|
+
// 当为true的时候:视频画面做等比缩放后,高或宽对齐canvas区域,画面不被拉伸,但有黑边。 等同于 setScaleMode(1),当为false的时候:视频画面完全填充canvas区域,画面会被拉伸。等同于 setScaleMode(0)
|
|
1127
|
+
forceNoOffscreen: !1,
|
|
1128
|
+
// 是否不使用离屏模式(提升渲染能力)
|
|
1129
|
+
supportDblclickFullscreen: !1,
|
|
1130
|
+
// 是否支持屏幕的双击事件,触发全屏,取消全屏事件。
|
|
1131
|
+
loadingText: "加载中",
|
|
1132
|
+
// 加载提示文字。
|
|
1133
|
+
/* 超时配置 */
|
|
1134
|
+
timeout: 10,
|
|
1135
|
+
// 设置超时时长, 单位秒,在连接成功之前(loading)和播放中途(heart),如果超过设定时长无数据返回,则回调timeout事件
|
|
1136
|
+
mseWaitVideoCanplayTimeout: 3,
|
|
1137
|
+
// 流异常超时时长,不能比loadingTimeout大
|
|
1138
|
+
loadingTimeout: 3,
|
|
1139
|
+
// 设置超时时长, 单位秒,在刚开始播放的时候,在连接成功之前,如果超过设定时长无数据返回,则回调timeout事件
|
|
1140
|
+
loadingTimeoutReplay: !0,
|
|
1141
|
+
// 加载超时是否重试
|
|
1142
|
+
loadingTimeoutReplayTimes: 3,
|
|
1143
|
+
// 加载超时重试次数,-1无限重试
|
|
1144
|
+
heartTimeout: 5,
|
|
1145
|
+
// 设置超时时长, 单位秒,播放中途,如果超过设定时长无数据返回,则回调timeout事件
|
|
1146
|
+
heartTimeoutReplay: !0,
|
|
1147
|
+
// 播放超时是否重试
|
|
1148
|
+
heartTimeoutReplayTime: 5,
|
|
1149
|
+
// 播放超时重试次数,-1无限重试
|
|
1150
|
+
heartTimeoutReplayUseLastFrameShow: !0,
|
|
1151
|
+
// 播放过程中,超时重连时,是否使用最后一帧来显示。
|
|
1152
|
+
/* 解码配置 */
|
|
1153
|
+
useMSE: !1,
|
|
1154
|
+
// 是否开启MediaSource硬解码
|
|
1155
|
+
useWCS: !0,
|
|
1156
|
+
// 是否开启Webcodecs硬解码
|
|
1157
|
+
autoWasm: !0,
|
|
1158
|
+
// 是否在其他模式不支持的情况下,自动启用wasm
|
|
1159
|
+
useSIMD: !0,
|
|
1160
|
+
// 是否使用SIMD 软解码,仅仅wasm软解码的时候有效
|
|
1161
|
+
/* 音频配置 */
|
|
1162
|
+
muted: !1,
|
|
1163
|
+
// 是否静音。
|
|
1164
|
+
isNotMute: !1,
|
|
1165
|
+
// 是否开启声音,默认是关闭声音播放的。
|
|
1166
|
+
audioEngine: "worklet",
|
|
1167
|
+
// 音频解码引擎
|
|
1168
|
+
/* 渲染配置 */
|
|
1169
|
+
hasAudio: !1,
|
|
1170
|
+
// 是否包含音频
|
|
1171
|
+
useVideoRender: !0,
|
|
1172
|
+
// 是否使用video标签进行渲染
|
|
1173
|
+
useCanvasRender: !1,
|
|
1174
|
+
// 是否使用canvas标签进行渲染
|
|
1175
|
+
useWebGPU: !1,
|
|
1176
|
+
// true使用Webgpu进行渲染、false使用Webgl进行渲染
|
|
1177
|
+
/* 按钮配置 */
|
|
1178
|
+
hiddenControl: !1,
|
|
1179
|
+
// 隐藏控制栏
|
|
1180
|
+
controlAutoHide: !0,
|
|
1181
|
+
// 控制栏是否自动隐藏
|
|
1182
|
+
showBandwidth: !1,
|
|
1183
|
+
// 是否显示网速
|
|
1184
|
+
operateBtns: {
|
|
1185
|
+
// 配置底部操作按钮
|
|
1186
|
+
fullscreen: !0,
|
|
1187
|
+
// 是否显示全屏按钮
|
|
1188
|
+
screenshot: !0,
|
|
1189
|
+
// 是否显示截图按钮
|
|
1190
|
+
play: !0,
|
|
1191
|
+
// 是否显示播放暂停按钮
|
|
1192
|
+
audio: !0,
|
|
1193
|
+
// 是否显示声音按钮
|
|
1194
|
+
record: !0,
|
|
1195
|
+
// 是否显示录制按钮
|
|
1196
|
+
ptz: !1,
|
|
1197
|
+
// 是否显示PTZ轮盘按钮
|
|
1198
|
+
quality: !0,
|
|
1199
|
+
// 是否显示清晰度按钮
|
|
1200
|
+
close: !1,
|
|
1201
|
+
// 是否显示关闭按钮(会销毁播放器)
|
|
1202
|
+
zoom: !1,
|
|
1203
|
+
// 是否显示电子放大
|
|
1204
|
+
scale: !1,
|
|
1205
|
+
// 是否显示scale(拉伸、缩放)按钮
|
|
1206
|
+
performance: !1,
|
|
1207
|
+
// 是否显示性能按钮
|
|
1208
|
+
face: !1
|
|
1209
|
+
// 是否显示人脸识别按钮
|
|
1210
|
+
},
|
|
1211
|
+
extendOperateBtns: {
|
|
1212
|
+
// 添加自定义按钮
|
|
1213
|
+
},
|
|
1214
|
+
toolBar: {
|
|
1215
|
+
// 默认按钮配置(可替换或删除)
|
|
1216
|
+
screenshot: {
|
|
1217
|
+
icon: "path/to/your-icon.png",
|
|
1218
|
+
// 替换为自定义图标路径
|
|
1219
|
+
click: function() {
|
|
1220
|
+
player.screenshot();
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
// 其他按钮配置...
|
|
1224
|
+
}
|
|
1225
|
+
}, s = t, i = C(null), l = o0({
|
|
1226
|
+
id: m2()
|
|
1227
|
+
}), r = C(null), p = X(() => document.getElementById(l.id)), c = X(() => ({
|
|
1228
|
+
...a,
|
|
1229
|
+
container: p.value
|
|
1230
|
+
})), _ = X(() => bt({}, c.value, s.options)), v = () => {
|
|
1231
|
+
p.value && (r.value = new ResizeObserver(() => {
|
|
1232
|
+
i.value && i.value.resize();
|
|
1233
|
+
}), r.value.observe(p.value));
|
|
1234
|
+
}, w = () => {
|
|
1235
|
+
if (!p.value) {
|
|
1236
|
+
console.error("Jessibuca 播放器容器未找到");
|
|
1237
|
+
return;
|
|
1238
|
+
}
|
|
1239
|
+
try {
|
|
1240
|
+
i.value = new window.JessibucaPro(_.value), s.url && i.value.play(s.url);
|
|
1241
|
+
} catch (f) {
|
|
1242
|
+
console.error("初始化 Jessibuca 播放器失败:", f);
|
|
1243
|
+
}
|
|
1244
|
+
}, k = () => {
|
|
1245
|
+
i.value && (i.value.destroy(), i.value = null);
|
|
1246
|
+
}, g = () => {
|
|
1247
|
+
i.value && i.value.pause();
|
|
1248
|
+
};
|
|
1249
|
+
return W(
|
|
1250
|
+
() => s.url,
|
|
1251
|
+
(f, E) => {
|
|
1252
|
+
f && i.value && i.value.play(f);
|
|
1253
|
+
}
|
|
1254
|
+
), g2(() => {
|
|
1255
|
+
setTimeout(() => {
|
|
1256
|
+
w();
|
|
1257
|
+
}, 1e3), v();
|
|
1258
|
+
}), n0(() => {
|
|
1259
|
+
k();
|
|
1260
|
+
}), e({
|
|
1261
|
+
destroyPlayer: k,
|
|
1262
|
+
pausePlayer: g
|
|
1263
|
+
}), (f, E) => (m(), T("div", Lt, [
|
|
1264
|
+
u("div", {
|
|
1265
|
+
id: l.id,
|
|
1266
|
+
style: { height: "100%" }
|
|
1267
|
+
}, [
|
|
1268
|
+
r0(f.$slots, "Content", {}, () => [
|
|
1269
|
+
E[0] || (E[0] = u("div", { class: "JessibucaPlayer-status" }, "暂无视频画面", -1))
|
|
1270
|
+
], !0)
|
|
1271
|
+
], 8, Mt)
|
|
1272
|
+
]));
|
|
1273
|
+
}
|
|
1274
|
+
}, Tt = /* @__PURE__ */ L0(Vt, [["__scopeId", "data-v-ecc8060e"]]), Et = { class: "player" }, At = {
|
|
1275
|
+
__name: "videoItem",
|
|
1276
|
+
props: {
|
|
1277
|
+
deviceId: {
|
|
1278
|
+
type: String,
|
|
1279
|
+
default: "34020000001180000101"
|
|
1280
|
+
},
|
|
1281
|
+
channelId: {
|
|
1282
|
+
type: String,
|
|
1283
|
+
default: "34020000001320000033"
|
|
1284
|
+
},
|
|
1285
|
+
url: {
|
|
1286
|
+
type: String,
|
|
1287
|
+
default: ""
|
|
1288
|
+
}
|
|
1289
|
+
},
|
|
1290
|
+
setup(t, { expose: e }) {
|
|
1291
|
+
const a = t, s = C(null), i = C(!1), l = C(!1), r = C(!1), p = C(0), c = C(0), _ = C(""), v = C(""), w = C(["000000-240000-C"]), k = C(!1), g = C({
|
|
1292
|
+
cameraName: "摄像头",
|
|
1293
|
+
cameraType: "0"
|
|
1294
|
+
}), f = async (x) => {
|
|
1295
|
+
var $, j;
|
|
1296
|
+
l.value = !0, r.value = !0;
|
|
1297
|
+
const M = /* @__PURE__ */ new Date(), S = new Date(x), A = M.toDateString() === S.toDateString();
|
|
1298
|
+
let P;
|
|
1299
|
+
A ? P = M : (P = new Date(S), P.setHours(23, 59, 59, 0)), w.value = [`${dayjs(x).format("HHmmss")}-${dayjs(P).format("HHmmss")}-C`];
|
|
1300
|
+
const Y = await getVideoPlaybackUrl(
|
|
1301
|
+
a.deviceId,
|
|
1302
|
+
a.channelId,
|
|
1303
|
+
x,
|
|
1304
|
+
dayjs(P).format("YYYY-MM-DD HH:mm:ss")
|
|
1305
|
+
);
|
|
1306
|
+
($ = Y.data) != null && $.flv && (url.value = (j = Y.data) == null ? void 0 : j.flv, c.value = dayjs(x).diff(dayjs(x).startOf("day"), "second") + 1, p.value = 1), _.value = x, v.value = dayjs(P).format("YYYY-MM-DD HH:mm:ss"), console.log(
|
|
1307
|
+
{
|
|
1308
|
+
startTime: x,
|
|
1309
|
+
endTime: dayjs(P).format("YYYY-MM-DD HH:mm:ss")
|
|
1310
|
+
},
|
|
1311
|
+
Y,
|
|
1312
|
+
"playback time range"
|
|
1313
|
+
);
|
|
1314
|
+
}, E = async () => {
|
|
1315
|
+
g.value.cameraName = "摄像头";
|
|
1316
|
+
};
|
|
1317
|
+
return e({
|
|
1318
|
+
handleDestroy: () => {
|
|
1319
|
+
var x;
|
|
1320
|
+
(x = s.value) == null || x.destroyPlayer();
|
|
1321
|
+
}
|
|
1322
|
+
}), W(
|
|
1323
|
+
() => l.value,
|
|
1324
|
+
(x, M) => {
|
|
1325
|
+
x || E();
|
|
1326
|
+
}
|
|
1327
|
+
), g2(() => {
|
|
1328
|
+
E();
|
|
1329
|
+
}), (x, M) => (m(), U(Q0, {
|
|
1330
|
+
title: `${g.value.cameraName}:${k.value ? "视频回放" : "实时视频"}`,
|
|
1331
|
+
ControlType: i.value,
|
|
1332
|
+
"onUpdate:ControlType": M[0] || (M[0] = (S) => i.value = S),
|
|
1333
|
+
HalfFull: l.value,
|
|
1334
|
+
"onUpdate:HalfFull": M[1] || (M[1] = (S) => l.value = S),
|
|
1335
|
+
playbackType: r.value,
|
|
1336
|
+
qxType: !1,
|
|
1337
|
+
ytType: !1,
|
|
1338
|
+
hfType: !1,
|
|
1339
|
+
onSetplaybackTime: f,
|
|
1340
|
+
onSetClose: x.setClose
|
|
1341
|
+
}, {
|
|
1342
|
+
VideoContent: L(() => [
|
|
1343
|
+
u("div", Et, [
|
|
1344
|
+
K(Tt, {
|
|
1345
|
+
ref_key: "playerRef",
|
|
1346
|
+
ref: s,
|
|
1347
|
+
url: t.url,
|
|
1348
|
+
width: "100%",
|
|
1349
|
+
options: {}
|
|
1350
|
+
}, {
|
|
1351
|
+
Content: L(() => [...M[2] || (M[2] = [])]),
|
|
1352
|
+
_: 1
|
|
1353
|
+
}, 8, ["url"])
|
|
1354
|
+
])
|
|
1355
|
+
]),
|
|
1356
|
+
_: 1
|
|
1357
|
+
}, 8, ["title", "ControlType", "HalfFull", "playbackType", "onSetClose"]));
|
|
1358
|
+
}
|
|
1359
|
+
}, kt = /* @__PURE__ */ L0(At, [["__scopeId", "data-v-d948ede0"]]);
|
|
1360
|
+
class j2 {
|
|
1361
|
+
constructor() {
|
|
1362
|
+
this.video = document.createElement("video"), this.video.crossOrigin = "anonymous", this.video.loop = !0, this.video.muted = !0, this.video.playsInline = !0, this.video.autoplay = !1, this.video.style.display = "none", document.body.appendChild(this.video), this.player = null, this.url = null, this._reconnectCount = 0, this._maxReconnectCount = 15, this._reconnectInterval = 3e4, this._reconnectTimer = null, this._status = "idle", this._statusStartTime = Date.now(), this._lastError = null, this._statistics = {
|
|
1363
|
+
bufferDelay: 0,
|
|
1364
|
+
// 缓冲延迟(秒)
|
|
1365
|
+
downloadSpeed: 0,
|
|
1366
|
+
// 下载速度(KB/s)
|
|
1367
|
+
decodedFrames: 0,
|
|
1368
|
+
droppedFrames: 0
|
|
1369
|
+
}, this._frameCatchInterval = null, this._frameCatchPeriod = 2e3, this._maxBufferDelay = 5, this._seekOffset = 0.5, this._onVideoEventBound = this._onVideoEvent.bind(this);
|
|
1370
|
+
}
|
|
1371
|
+
get status() {
|
|
1372
|
+
return this._status;
|
|
1373
|
+
}
|
|
1374
|
+
get statistics() {
|
|
1375
|
+
return { ...this._statistics };
|
|
1376
|
+
}
|
|
1377
|
+
_setStatus(e, a = {}) {
|
|
1378
|
+
const s = Date.now(), i = s - this._statusStartTime;
|
|
1379
|
+
console.log(`[SyzVideoPlayer] 状态变化: ${this._status}(${i}ms) -> ${e}`, a), this._status = e, this._statusStartTime = s;
|
|
1380
|
+
}
|
|
1381
|
+
init(e) {
|
|
1382
|
+
this.url = e;
|
|
1383
|
+
}
|
|
1384
|
+
play() {
|
|
1385
|
+
this._resetReconnectCount(), this._setStatus("loading"), this._createPlayer();
|
|
1386
|
+
}
|
|
1387
|
+
_createPlayer() {
|
|
1388
|
+
this.player = flvjs.createPlayer({
|
|
1389
|
+
type: "flv",
|
|
1390
|
+
url: this.url,
|
|
1391
|
+
isLive: !0,
|
|
1392
|
+
hasAudio: !1
|
|
1393
|
+
}), this.player.attachMediaElement(this.video), this.player.load(), this.player.on(flvjs.Events.ERROR, (e, a, s) => {
|
|
1394
|
+
console.warn("FLV Player Error:", e, a, s), this._lastError = { type: e, detail: a, info: s, time: Date.now() }, this._setStatus("error", { errorType: e, errorDetail: a, errorInfo: s }), e === flvjs.ErrorTypes.NETWORK_ERROR && this._scheduleReconnect();
|
|
1395
|
+
}), this.player.on(flvjs.Events.STATISTICS_INFO, (e) => {
|
|
1396
|
+
this._statistics.downloadSpeed = e.speed || 0, e.decodedFrames !== void 0 && (this._statistics.decodedFrames = e.decodedFrames), e.droppedFrames !== void 0 && (this._statistics.droppedFrames = e.droppedFrames);
|
|
1397
|
+
}), this.video.addEventListener("canplay", this._onVideoEventBound), this.video.addEventListener("playing", this._onVideoEventBound), this.video.addEventListener("pause", this._onVideoEventBound), this.video.addEventListener("waiting", this._onVideoEventBound), this.video.addEventListener("stalled", this._onVideoEventBound), this.video.addEventListener("ended", this._onVideoEventBound), this.video.addEventListener("error", this._onVideoEventBound), this.video.addEventListener("canplay", () => {
|
|
1398
|
+
this._resetReconnectCount(), this.player.play();
|
|
1399
|
+
}, { once: !0 }), this._startFrameCatch();
|
|
1400
|
+
}
|
|
1401
|
+
_onVideoEvent(e) {
|
|
1402
|
+
switch (e.type) {
|
|
1403
|
+
case "canplay":
|
|
1404
|
+
break;
|
|
1405
|
+
case "playing":
|
|
1406
|
+
this._setStatus("playing");
|
|
1407
|
+
break;
|
|
1408
|
+
case "pause":
|
|
1409
|
+
!this.video.ended && this.video.readyState < 4 && this._setStatus("paused");
|
|
1410
|
+
break;
|
|
1411
|
+
case "waiting":
|
|
1412
|
+
case "stalled":
|
|
1413
|
+
this._status === "playing" && this._setStatus("loading");
|
|
1414
|
+
break;
|
|
1415
|
+
case "ended":
|
|
1416
|
+
this._setStatus("idle");
|
|
1417
|
+
break;
|
|
1418
|
+
case "error":
|
|
1419
|
+
this._lastError = { type: "VIDEO_ERROR", detail: this.video.error, time: Date.now() }, this._setStatus("error", { videoError: this.video.error });
|
|
1420
|
+
break;
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
_scheduleReconnect() {
|
|
1424
|
+
if (!this._reconnectTimer) {
|
|
1425
|
+
if (this._reconnectCount >= this._maxReconnectCount) {
|
|
1426
|
+
console.error(`重连次数已达上限 (${this._maxReconnectCount}次),停止重连`), this._setStatus("error", { reason: "max_reconnect_reached" });
|
|
1427
|
+
return;
|
|
1428
|
+
}
|
|
1429
|
+
this._reconnectCount++, this._setStatus("reconnecting", { count: this._reconnectCount, max: this._maxReconnectCount }), console.log(`计划第 ${this._reconnectCount}/${this._maxReconnectCount} 次重连,${this._reconnectInterval / 1e3}秒后执行...`), this._reconnectTimer = setTimeout(() => {
|
|
1430
|
+
console.log(`执行第 ${this._reconnectCount} 次重连...`), this.destroy(), this._createPlayer();
|
|
1431
|
+
}, this._reconnectInterval);
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1434
|
+
_resetReconnectCount() {
|
|
1435
|
+
this._reconnectCount = 0;
|
|
1436
|
+
}
|
|
1437
|
+
_startFrameCatch() {
|
|
1438
|
+
this._stopFrameCatch(), this._frameCatchInterval = setInterval(() => {
|
|
1439
|
+
this._checkAndCatchFrame();
|
|
1440
|
+
}, this._frameCatchPeriod);
|
|
1441
|
+
}
|
|
1442
|
+
_stopFrameCatch() {
|
|
1443
|
+
this._frameCatchInterval && (clearInterval(this._frameCatchInterval), this._frameCatchInterval = null);
|
|
1444
|
+
}
|
|
1445
|
+
_checkAndCatchFrame() {
|
|
1446
|
+
if (!this.video || this.video.readyState < 2) return;
|
|
1447
|
+
const e = this.video.buffered;
|
|
1448
|
+
if (!e || e.length === 0) return;
|
|
1449
|
+
const a = this.video.currentTime, s = e.end(e.length - 1), i = s - a;
|
|
1450
|
+
if (this._statistics.bufferDelay = parseFloat(i.toFixed(2)), i > this._maxBufferDelay) {
|
|
1451
|
+
const l = s - this._seekOffset;
|
|
1452
|
+
console.log(`[追帧] 缓冲延迟 ${i.toFixed(2)}s > ${this._maxBufferDelay}s,seek 到 ${l.toFixed(2)}s`), this.video.currentTime = l;
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
pause() {
|
|
1456
|
+
var e;
|
|
1457
|
+
(e = this.player) == null || e.pause(), this.video.pause(), this._setStatus("paused");
|
|
1458
|
+
}
|
|
1459
|
+
switchUrl(e) {
|
|
1460
|
+
this.destroy(), this.init(e), this.play();
|
|
1461
|
+
}
|
|
1462
|
+
stop() {
|
|
1463
|
+
this.destroy(), this._setStatus("idle");
|
|
1464
|
+
}
|
|
1465
|
+
destroy() {
|
|
1466
|
+
this._reconnectTimer && (clearTimeout(this._reconnectTimer), this._reconnectTimer = null), this._stopFrameCatch(), this.video.removeEventListener("canplay", this._onVideoEventBound), this.video.removeEventListener("playing", this._onVideoEventBound), this.video.removeEventListener("pause", this._onVideoEventBound), this.video.removeEventListener("waiting", this._onVideoEventBound), this.video.removeEventListener("stalled", this._onVideoEventBound), this.video.removeEventListener("ended", this._onVideoEventBound), this.video.removeEventListener("error", this._onVideoEventBound), this.player && (this.player.pause(), this.player.unload(), this.player.detachMediaElement(), this.player.destroy(), this.player = null);
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
class M0 {
|
|
1470
|
+
constructor(e, a, s = {}) {
|
|
1471
|
+
this.viewer = e, this.video = a, this.flipY = s.flipY || !1, this.generateMipmap = s.generateMipmap || !1, this.texture = new Cesium.Texture({
|
|
1472
|
+
context: e.scene.context,
|
|
1473
|
+
source: this.video,
|
|
1474
|
+
width: 1,
|
|
1475
|
+
height: 1,
|
|
1476
|
+
pixelFormat: Cesium.PixelFormat.RGBA,
|
|
1477
|
+
pixelDatatype: Cesium.PixelDatatype.UNSIGNED_BYTE
|
|
1478
|
+
}), this.lastUpdate = 0, this.enabled = !1;
|
|
1479
|
+
}
|
|
1480
|
+
update() {
|
|
1481
|
+
this.enabled && (this.flipY && (this.texture._flipY = !0), this.texture.copyFrom({ source: this.video }), this.generateMipmap && this.texture.generateMipmap());
|
|
1482
|
+
}
|
|
1483
|
+
stop() {
|
|
1484
|
+
this.destroy();
|
|
1485
|
+
}
|
|
1486
|
+
destroy() {
|
|
1487
|
+
var e;
|
|
1488
|
+
(e = this.texture) == null || e.destroy(), this.viewer = null, this.video = null;
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
class V0 {
|
|
1492
|
+
constructor(e, a) {
|
|
1493
|
+
this.viewer = e, this.guid = a.guid || a.id, this.options = a, this.player = new j2(), this._modelTexture = null, this.texture = null, this.model = null, this._updateOnce = !1, this._destroyed = !1;
|
|
1494
|
+
}
|
|
1495
|
+
async init() {
|
|
1496
|
+
if (this._destroyed) return;
|
|
1497
|
+
let e = this.options.video_url || "";
|
|
1498
|
+
e && e.startsWith("rtsp://") && (e = this._convertRtspToWs(e)), this.player.init(e), await this._loadModel();
|
|
1499
|
+
}
|
|
1500
|
+
async _loadModel() {
|
|
1501
|
+
let e = this.options.world_pos;
|
|
1502
|
+
if (typeof e == "string")
|
|
1503
|
+
try {
|
|
1504
|
+
e = JSON.parse(e);
|
|
1505
|
+
} catch (r) {
|
|
1506
|
+
console.warn("解析 world_pos 失败:", r), e = null;
|
|
1507
|
+
}
|
|
1508
|
+
if (!e && this.options.elementData && this.options.elementData._worldMapPos) {
|
|
1509
|
+
const r = this.options.elementData._worldMapPos;
|
|
1510
|
+
e = { longitude: r.x, latitude: r.y, altitude: r.z };
|
|
1511
|
+
}
|
|
1512
|
+
if (!e) {
|
|
1513
|
+
console.error("缺少位置信息:", this.options);
|
|
1514
|
+
return;
|
|
1515
|
+
}
|
|
1516
|
+
const a = Cesium.Cartesian3.fromDegrees(
|
|
1517
|
+
e.longitude,
|
|
1518
|
+
e.latitude,
|
|
1519
|
+
e.altitude || 1
|
|
1520
|
+
), s = Cesium.Transforms.eastNorthUpToFixedFrame(a), i = this._createShader();
|
|
1521
|
+
let l = this.options.model_url || this.options.url || "";
|
|
1522
|
+
if (l && !l.endsWith(".glb") && (l = l + ".glb"), this.model = await Cesium.Model.fromGltfAsync({
|
|
1523
|
+
url: l,
|
|
1524
|
+
modelMatrix: s,
|
|
1525
|
+
customShader: i,
|
|
1526
|
+
id: this.guid
|
|
1527
|
+
}), this._destroyed) {
|
|
1528
|
+
this.model && this.model.destroy(), this.model = null;
|
|
1529
|
+
return;
|
|
1530
|
+
}
|
|
1531
|
+
this.viewer.scene.primitives.add(this.model), this.model.readyEvent.addEventListener((r) => {
|
|
1532
|
+
var k;
|
|
1533
|
+
if (this._destroyed) return;
|
|
1534
|
+
const p = r.boundingSphere.center, c = {
|
|
1535
|
+
x: p.x,
|
|
1536
|
+
y: p.y,
|
|
1537
|
+
z: p.z
|
|
1538
|
+
}, _ = new Cesium.Cartesian3(1, 1, 1), v = Cesium.Matrix4.fromScale(_);
|
|
1539
|
+
r.modelMatrix = Cesium.Matrix4.multiply(
|
|
1540
|
+
r.modelMatrix,
|
|
1541
|
+
v,
|
|
1542
|
+
new Cesium.Matrix4()
|
|
1543
|
+
);
|
|
1544
|
+
let w = { x: 0, y: 0, z: 0 };
|
|
1545
|
+
if (this.options.euler_angles)
|
|
1546
|
+
try {
|
|
1547
|
+
w = typeof this.options.euler_angles == "string" ? JSON.parse(this.options.euler_angles) : this.options.euler_angles;
|
|
1548
|
+
} catch (g) {
|
|
1549
|
+
console.warn("解析 euler_angles 失败:", g);
|
|
1550
|
+
}
|
|
1551
|
+
else (k = this.options.elementData) != null && k._iveEuler && (w = this.options.elementData._iveEuler);
|
|
1552
|
+
if (w && (w.z !== 0 || w.y !== 0 || w.x !== 0)) {
|
|
1553
|
+
let g = r.modelMatrix;
|
|
1554
|
+
const f = w;
|
|
1555
|
+
if (f.z > 1e-4 || f.z < -1e-4) {
|
|
1556
|
+
const S = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(f.z)), A = Cesium.Matrix4.fromRotation(S);
|
|
1557
|
+
g = Cesium.Matrix4.multiply(g, A, new Cesium.Matrix4());
|
|
1558
|
+
}
|
|
1559
|
+
if (f.y > 1e-4 || f.y < -1e-4) {
|
|
1560
|
+
const S = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(f.y)), A = Cesium.Matrix4.fromRotation(S);
|
|
1561
|
+
g = Cesium.Matrix4.multiply(g, A, new Cesium.Matrix4());
|
|
1562
|
+
}
|
|
1563
|
+
if (f.x > 1e-4 || f.x < -1e-4) {
|
|
1564
|
+
const S = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(f.x)), A = Cesium.Matrix4.fromRotation(S);
|
|
1565
|
+
g = Cesium.Matrix4.multiply(g, A, new Cesium.Matrix4());
|
|
1566
|
+
}
|
|
1567
|
+
r.modelMatrix = g;
|
|
1568
|
+
const E = r.boundingSphere.center, B = new Cesium.Cartesian3(
|
|
1569
|
+
c.x,
|
|
1570
|
+
c.y,
|
|
1571
|
+
c.z
|
|
1572
|
+
), x = Cesium.Cartesian3.subtract(
|
|
1573
|
+
B,
|
|
1574
|
+
E,
|
|
1575
|
+
new Cesium.Cartesian3()
|
|
1576
|
+
), M = Cesium.Matrix4.fromTranslation(x);
|
|
1577
|
+
Cesium.Matrix4.multiply(M, r.modelMatrix, r.modelMatrix);
|
|
1578
|
+
}
|
|
1579
|
+
}, this);
|
|
1580
|
+
}
|
|
1581
|
+
update() {
|
|
1582
|
+
var e, a;
|
|
1583
|
+
(e = this._videoTexture) != null && e.enabled && this.player.video.readyState >= 2 && ((a = this._videoTexture) == null || a.update(), this._updateOnce || (this.model.customShader._textureManager._textures.SmartTexture = this._videoTexture.texture, this._updateOnce = !0));
|
|
1584
|
+
}
|
|
1585
|
+
play() {
|
|
1586
|
+
this.player.play(), this.player.video.addEventListener("playing", () => {
|
|
1587
|
+
console.log("第一帧已显示在屏幕上!"), this._videoTexture = new M0(this.viewer, this.player.video), this._videoTexture.enabled = !0;
|
|
1588
|
+
}, { once: !0 });
|
|
1589
|
+
}
|
|
1590
|
+
pause() {
|
|
1591
|
+
this.player.pause();
|
|
1592
|
+
}
|
|
1593
|
+
switchUrl(e) {
|
|
1594
|
+
this.player.switchUrl(e);
|
|
1595
|
+
}
|
|
1596
|
+
stop() {
|
|
1597
|
+
this.player.stop(), this._videoTexture && (this._videoTexture.enabled = !1, this._videoTexture.stop(), this._videoTexture = null), this._updateOnce = !1;
|
|
1598
|
+
}
|
|
1599
|
+
destroy() {
|
|
1600
|
+
var e;
|
|
1601
|
+
this._destroyed = !0, this.stop(), this.model && ((e = this.viewer) == null || e.scene.primitives.remove(this.model), this.model = null), this.viewer = null;
|
|
1602
|
+
}
|
|
1603
|
+
show() {
|
|
1604
|
+
this.model && (this.model.show = !0);
|
|
1605
|
+
}
|
|
1606
|
+
hide() {
|
|
1607
|
+
this.model && (this.model.show = !1);
|
|
1608
|
+
}
|
|
1609
|
+
_createShader() {
|
|
1610
|
+
let e = this.options.preview_url || "";
|
|
1611
|
+
return !e && this.options.url && (e = this.options.url + ".preview.png"), new Cesium.CustomShader({
|
|
1612
|
+
uniforms: {
|
|
1613
|
+
SmartTexture: {
|
|
1614
|
+
type: "sampler2D",
|
|
1615
|
+
value: new Cesium.TextureUniform({
|
|
1616
|
+
url: e
|
|
1617
|
+
})
|
|
1618
|
+
}
|
|
1619
|
+
},
|
|
1620
|
+
mode: "REPLACE_MATERIAL",
|
|
1621
|
+
fragmentShaderText: `
|
|
1622
|
+
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material)
|
|
1623
|
+
{
|
|
1624
|
+
vec2 texCoord = fsInput.attributes.texCoord_0;
|
|
1625
|
+
texCoord.y = 1.0 - texCoord.y;
|
|
1626
|
+
material.diffuse = texture(SmartTexture, texCoord).rgb;
|
|
1627
|
+
}
|
|
1628
|
+
`
|
|
1629
|
+
});
|
|
1630
|
+
}
|
|
1631
|
+
_convertRtspToWs(e, a = 8001) {
|
|
1632
|
+
if (!e || !e.startsWith("rtsp://")) return e;
|
|
1633
|
+
const s = /^rtsp:\/\/([^:]+):(\d+)\/(.+)$/, i = e.match(s);
|
|
1634
|
+
if (i) {
|
|
1635
|
+
const [, l, , r] = i;
|
|
1636
|
+
return `ws://${l}:${a}/${r}.live.flv`;
|
|
1637
|
+
}
|
|
1638
|
+
return e;
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
class Pt {
|
|
1642
|
+
constructor(e, a) {
|
|
1643
|
+
this.viewer = e, this.planes = /* @__PURE__ */ new Map(), this._destroyed = !1, this.readyPromise = this._init(a), this._tickHandler = () => {
|
|
1644
|
+
this.update();
|
|
1645
|
+
}, this.viewer.clock.onTick.addEventListener(this._tickHandler);
|
|
1646
|
+
}
|
|
1647
|
+
async whenReady() {
|
|
1648
|
+
return this.readyPromise;
|
|
1649
|
+
}
|
|
1650
|
+
async _init(e) {
|
|
1651
|
+
await Promise.allSettled(
|
|
1652
|
+
e.map((a) => this.add(a))
|
|
1653
|
+
);
|
|
1654
|
+
}
|
|
1655
|
+
async add(e) {
|
|
1656
|
+
if (this._destroyed) return;
|
|
1657
|
+
const a = new V0(this.viewer, e);
|
|
1658
|
+
if (await a.init(), this._destroyed) {
|
|
1659
|
+
a.destroy();
|
|
1660
|
+
return;
|
|
1661
|
+
}
|
|
1662
|
+
this.planes.set(e.guid || e.id, a);
|
|
1663
|
+
}
|
|
1664
|
+
update() {
|
|
1665
|
+
this.planes.forEach((e) => {
|
|
1666
|
+
e.update();
|
|
1667
|
+
});
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* 根据guid获取plane的街道代码
|
|
1671
|
+
*/
|
|
1672
|
+
_getStreetCode(e) {
|
|
1673
|
+
const a = this.planes.get(e);
|
|
1674
|
+
return a && a.options.street_code || null;
|
|
1675
|
+
}
|
|
1676
|
+
/**
|
|
1677
|
+
* 获取同一街道下的所有plane guid列表
|
|
1678
|
+
*/
|
|
1679
|
+
_getSameStreetPlanes(e) {
|
|
1680
|
+
const a = this._getStreetCode(e);
|
|
1681
|
+
if (!a) return [e];
|
|
1682
|
+
const s = [];
|
|
1683
|
+
return this.planes.forEach((i, l) => {
|
|
1684
|
+
i.options.street_code === a && s.push(l);
|
|
1685
|
+
}), s;
|
|
1686
|
+
}
|
|
1687
|
+
updateVideoPlane(e) {
|
|
1688
|
+
const a = e.guid || e.id;
|
|
1689
|
+
if (!this.planes.get(a)) return;
|
|
1690
|
+
let i = [a];
|
|
1691
|
+
(e.playState === 0 || e.playState === 3) && e.openSameStreet !== !1 && (i = this._getSameStreetPlanes(a)), e.playState === 4 && e.closeSameStreet === !0 && (i = this._getSameStreetPlanes(a)), i.forEach((l) => {
|
|
1692
|
+
const r = this.planes.get(l);
|
|
1693
|
+
if (r)
|
|
1694
|
+
switch (e.playState) {
|
|
1695
|
+
case 0:
|
|
1696
|
+
r.switchUrl(e.videoUrl), r.play();
|
|
1697
|
+
break;
|
|
1698
|
+
case 1:
|
|
1699
|
+
r.switchUrl(e.videoUrl);
|
|
1700
|
+
break;
|
|
1701
|
+
case 2:
|
|
1702
|
+
r.pause();
|
|
1703
|
+
break;
|
|
1704
|
+
case 3:
|
|
1705
|
+
r.play();
|
|
1706
|
+
break;
|
|
1707
|
+
case 4:
|
|
1708
|
+
r.stop();
|
|
1709
|
+
break;
|
|
1710
|
+
}
|
|
1711
|
+
});
|
|
1712
|
+
}
|
|
1713
|
+
remove(e) {
|
|
1714
|
+
const a = this.planes.get(e);
|
|
1715
|
+
a && (a.destroy(), this.planes.delete(e));
|
|
1716
|
+
}
|
|
1717
|
+
destroy() {
|
|
1718
|
+
this._destroyed = !0, this._tickHandler && this.viewer && (this.viewer.clock.onTick.removeEventListener(this._tickHandler), this._tickHandler = null), this.planes.forEach((e) => {
|
|
1719
|
+
e.destroy();
|
|
1720
|
+
}), this.planes.clear(), this.viewer = null;
|
|
1721
|
+
}
|
|
1722
|
+
show(e) {
|
|
1723
|
+
const a = this.planes.get(e);
|
|
1724
|
+
a && a.show();
|
|
1725
|
+
}
|
|
1726
|
+
hide(e) {
|
|
1727
|
+
const a = this.planes.get(e);
|
|
1728
|
+
a && a.hide();
|
|
1729
|
+
}
|
|
1730
|
+
showAll() {
|
|
1731
|
+
this.planes.forEach((e) => e.show());
|
|
1732
|
+
}
|
|
1733
|
+
hideAll() {
|
|
1734
|
+
this.planes.forEach((e) => e.hide());
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
const Dt = {
|
|
1738
|
+
/**
|
|
1739
|
+
* 将视频孪生体数据转换为旧格式(用于VideoPlane)
|
|
1740
|
+
*/
|
|
1741
|
+
transformVideoTwin(t) {
|
|
1742
|
+
let e = t.world_pos;
|
|
1743
|
+
if (typeof e == "string")
|
|
1744
|
+
try {
|
|
1745
|
+
e = JSON.parse(e);
|
|
1746
|
+
} catch {
|
|
1747
|
+
e = null;
|
|
1748
|
+
}
|
|
1749
|
+
let a = t.euler_angles;
|
|
1750
|
+
if (typeof a == "string")
|
|
1751
|
+
try {
|
|
1752
|
+
a = JSON.parse(a);
|
|
1753
|
+
} catch {
|
|
1754
|
+
a = { x: 0, y: 0, z: 0 };
|
|
1755
|
+
}
|
|
1756
|
+
return {
|
|
1757
|
+
guid: t.id,
|
|
1758
|
+
id: t.id,
|
|
1759
|
+
name: t.name,
|
|
1760
|
+
url: t.model_url,
|
|
1761
|
+
// 兼容旧字段
|
|
1762
|
+
model_url: t.model_url,
|
|
1763
|
+
video_url: t.video_url,
|
|
1764
|
+
preview_url: t.preview_url,
|
|
1765
|
+
world_pos: e,
|
|
1766
|
+
euler_angles: a,
|
|
1767
|
+
view_point_id: t.view_point_id,
|
|
1768
|
+
country_code: t.country_code,
|
|
1769
|
+
street_code: t.street_code,
|
|
1770
|
+
elementData: {
|
|
1771
|
+
_worldMapPos: e ? {
|
|
1772
|
+
x: e.longitude,
|
|
1773
|
+
y: e.latitude,
|
|
1774
|
+
z: e.altitude
|
|
1775
|
+
} : null,
|
|
1776
|
+
_subVecData: [{
|
|
1777
|
+
_videoUrl: t.video_url
|
|
1778
|
+
}],
|
|
1779
|
+
_iveEuler: a || { x: 0, y: 0, z: 0 }
|
|
1780
|
+
}
|
|
1781
|
+
};
|
|
1782
|
+
},
|
|
1783
|
+
/**
|
|
1784
|
+
* 按 country_code 分组,转换为旧的 area 格式
|
|
1785
|
+
*/
|
|
1786
|
+
groupByArea(t, e) {
|
|
1787
|
+
const a = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
|
|
1788
|
+
return e && e.forEach((i) => {
|
|
1789
|
+
i.county_code && !s.has(i.county_code.toString()) && s.set(i.county_code.toString(), i.county_name || i.region_name);
|
|
1790
|
+
}), t.forEach((i) => {
|
|
1791
|
+
const l = i.country_code || "unknown";
|
|
1792
|
+
a.has(l) || a.set(l, {
|
|
1793
|
+
areaCode: l,
|
|
1794
|
+
name: s.get(l) || `区域${l}`,
|
|
1795
|
+
content: []
|
|
1796
|
+
}), a.get(l).content.push(this.transformVideoTwin(i));
|
|
1797
|
+
}), Array.from(a.values());
|
|
1798
|
+
}
|
|
1799
|
+
}, Ot = new Cesium.Matrix4(
|
|
1800
|
+
0.5,
|
|
1801
|
+
0,
|
|
1802
|
+
0,
|
|
1803
|
+
0.5,
|
|
1804
|
+
0,
|
|
1805
|
+
0.5,
|
|
1806
|
+
0,
|
|
1807
|
+
0.5,
|
|
1808
|
+
0,
|
|
1809
|
+
0,
|
|
1810
|
+
0.5,
|
|
1811
|
+
0.5,
|
|
1812
|
+
0,
|
|
1813
|
+
0,
|
|
1814
|
+
0,
|
|
1815
|
+
1
|
|
1816
|
+
);
|
|
1817
|
+
class Ft {
|
|
1818
|
+
/**
|
|
1819
|
+
* @param {Cesium.Viewer} viewer
|
|
1820
|
+
* @param {Object} options
|
|
1821
|
+
* @param {Cesium.Cartesian3} options.position - 相机世界坐标位置(外参)
|
|
1822
|
+
* @param {number} [options.heading=0] - 航向角(度),正北为0顺时针(外参)
|
|
1823
|
+
* @param {number} [options.pitch=0] - 俯仰角(度),水平为0向上为正(外参)
|
|
1824
|
+
* @param {number} [options.roll=0] - 翻滚角(度)
|
|
1825
|
+
* @param {number} [options.fov=37] - 垂直视场角(度),用于初始化内参
|
|
1826
|
+
* @param {number} [options.aspectRatio=16/9] - 宽高比,配合 fov 计算水平视场
|
|
1827
|
+
* @param {number} [options.viewDistance=500] - 视锥可视距离(far)
|
|
1828
|
+
* @param {number} [options.viewNearDistance=0.1] - 近裁面距离
|
|
1829
|
+
*/
|
|
1830
|
+
constructor(e, a) {
|
|
1831
|
+
this.viewer = e, this.CameraId = a.id || Math.random().toString(36).substr(2), this.position = a.position || Cesium.Cartesian3.ZERO, this.heading = a.heading || 0, this.pitch = a.pitch || 0, this.roll = a.roll || 0, this.fov = a.fov || 37, this.aspectRatio = a.aspectRatio || 16 / 9, this.viewDistance = a.viewDistance || 500, this.viewNearDistance = a.viewNearDistance || 0.1, this.frustumOutlineColor = a.contourLineColor || a.frustumOutlineColor, this.enabled = typeof a.enabled == "boolean" ? a.enabled : !0, this.softShadows = typeof a.softShadows == "boolean" ? a.softShadows : !0, this.size = a.size || 2048, this.alpha = a.alpha || 1, this.textureType = a.textureType || 1, this.player = new j2(), this._videoTexture = null, this._updateHandler = null, this.postStage = null, this.lightCamera = null, this.shadowMap = null, this.frustumOutline = null, this.GLSL = `
|
|
1832
|
+
in vec2 v_textureCoordinates;
|
|
1833
|
+
uniform sampler2D colorTexture;
|
|
1834
|
+
uniform sampler2D depthTexture;
|
|
1835
|
+
uniform sampler2D shadowMap_texture;
|
|
1836
|
+
|
|
1837
|
+
uniform mat4 camera_projection_matrix;
|
|
1838
|
+
uniform mat4 camera_view_matrix;
|
|
1839
|
+
uniform mat4 scaleBiasMatrix;
|
|
1840
|
+
|
|
1841
|
+
uniform mat4 scene_camera_matrix;
|
|
1842
|
+
|
|
1843
|
+
uniform mat4 shadowMap_matrix;
|
|
1844
|
+
uniform vec4 shadowMap_lightPositionEC;
|
|
1845
|
+
uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness;
|
|
1846
|
+
uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth;
|
|
1847
|
+
uniform int helsing_textureType;
|
|
1848
|
+
uniform sampler2D helsing_texture;
|
|
1849
|
+
uniform float helsing_alpha;
|
|
1850
|
+
uniform vec4 helsing_visibleAreaColor;
|
|
1851
|
+
uniform vec4 helsing_invisibleAreaColor;
|
|
1852
|
+
|
|
1853
|
+
vec4 toEye(in vec2 uv, in float depth){
|
|
1854
|
+
vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));
|
|
1855
|
+
vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);
|
|
1856
|
+
posInCamera =posInCamera / posInCamera.w;
|
|
1857
|
+
return posInCamera;
|
|
1858
|
+
}
|
|
1859
|
+
float getDepth(in vec4 depth){
|
|
1860
|
+
float z_window = czm_unpackDepth(depth);
|
|
1861
|
+
z_window = czm_reverseLogDepth(z_window);
|
|
1862
|
+
float n_range = czm_depthRange.near;
|
|
1863
|
+
float f_range = czm_depthRange.far;
|
|
1864
|
+
return (2.0 * z_window - n_range - f_range) / (f_range - n_range);
|
|
1865
|
+
}
|
|
1866
|
+
float _czm_sampleShadowMap(sampler2D shadowMap, vec2 uv){
|
|
1867
|
+
return texture(shadowMap, uv).r;
|
|
1868
|
+
}
|
|
1869
|
+
float _czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth){
|
|
1870
|
+
return step(depth, _czm_sampleShadowMap(shadowMap, uv));
|
|
1871
|
+
}
|
|
1872
|
+
float _czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParameters){
|
|
1873
|
+
float depthBias = shadowParameters.depthBias;
|
|
1874
|
+
float depth = shadowParameters.depth;
|
|
1875
|
+
float nDotL = shadowParameters.nDotL;
|
|
1876
|
+
float normalShadingSmooth = shadowParameters.normalShadingSmooth;
|
|
1877
|
+
float darkness = shadowParameters.darkness;
|
|
1878
|
+
vec2 uv = shadowParameters.texCoords;
|
|
1879
|
+
depth -= depthBias;
|
|
1880
|
+
vec2 texelStepSize = shadowParameters.texelStepSize;
|
|
1881
|
+
float radius = 1.0;
|
|
1882
|
+
float dx0 = -texelStepSize.x * radius;
|
|
1883
|
+
float dy0 = -texelStepSize.y * radius;
|
|
1884
|
+
float dx1 = texelStepSize.x * radius;
|
|
1885
|
+
float dy1 = texelStepSize.y * radius;
|
|
1886
|
+
float visibility = (_czm_shadowDepthCompare(shadowMap, uv, depth)
|
|
1887
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy0), depth)
|
|
1888
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy0), depth)
|
|
1889
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy0), depth)
|
|
1890
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, 0.0), depth)
|
|
1891
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, 0.0), depth)
|
|
1892
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx0, dy1), depth)
|
|
1893
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(0.0, dy1), depth)
|
|
1894
|
+
+ _czm_shadowDepthCompare(shadowMap, uv + vec2(dx1, dy1), depth)
|
|
1895
|
+
) * (1.0 / 9.0);
|
|
1896
|
+
return visibility;
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
bool visible(in vec4 result)
|
|
1900
|
+
{
|
|
1901
|
+
result.x/=result.w;
|
|
1902
|
+
result.y/=result.w;
|
|
1903
|
+
result.z/=result.w;
|
|
1904
|
+
return result.x>=-1.&&result.x<=1.
|
|
1905
|
+
&&result.y>=-1.&&result.y<=1.
|
|
1906
|
+
&&result.z>=-1.&&result.z<=1.;
|
|
1907
|
+
}
|
|
1908
|
+
void main(){
|
|
1909
|
+
const float PI = 3.141592653589793;
|
|
1910
|
+
vec4 color = texture(colorTexture, v_textureCoordinates);
|
|
1911
|
+
vec4 currentDepth = texture(depthTexture, v_textureCoordinates);
|
|
1912
|
+
if(currentDepth.r >= 1.0){
|
|
1913
|
+
out_FragColor = color;
|
|
1914
|
+
return;
|
|
1915
|
+
}
|
|
1916
|
+
float depth = getDepth(currentDepth);
|
|
1917
|
+
vec4 positionEC = toEye(v_textureCoordinates, depth);
|
|
1918
|
+
vec3 normalEC = vec3(1.0);
|
|
1919
|
+
czm_shadowParameters shadowParameters;
|
|
1920
|
+
shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy;
|
|
1921
|
+
shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z;
|
|
1922
|
+
shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w;
|
|
1923
|
+
shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w;
|
|
1924
|
+
shadowParameters.depthBias *= max(depth * 0.01, 1.0);
|
|
1925
|
+
|
|
1926
|
+
vec4 wordPos = czm_inverseView * positionEC;
|
|
1927
|
+
vec4 vcPos = camera_view_matrix * wordPos;
|
|
1928
|
+
|
|
1929
|
+
vec4 shadowPosition = shadowMap_matrix * positionEC;
|
|
1930
|
+
shadowPosition /= shadowPosition.w;
|
|
1931
|
+
if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))){
|
|
1932
|
+
out_FragColor = color;
|
|
1933
|
+
return;
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
vec3 directionEC = positionEC.xyz-shadowMap_lightPositionEC.xyz;
|
|
1937
|
+
float distance = length(directionEC);
|
|
1938
|
+
directionEC = normalize(directionEC);
|
|
1939
|
+
|
|
1940
|
+
vec3 directionWC = czm_inverseViewRotation * directionEC;
|
|
1941
|
+
|
|
1942
|
+
float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0);
|
|
1943
|
+
|
|
1944
|
+
shadowParameters.texCoords = shadowPosition.xy;
|
|
1945
|
+
shadowParameters.depth = shadowPosition.z;
|
|
1946
|
+
shadowParameters.nDotL = nDotL;
|
|
1947
|
+
float visibility = _czm_shadowVisibility(shadowMap_texture, shadowParameters);
|
|
1948
|
+
if (helsing_textureType < 2){
|
|
1949
|
+
vec4 videoColor = texture(helsing_texture, shadowPosition.xy);
|
|
1950
|
+
if (visibility == 1.0){
|
|
1951
|
+
out_FragColor = mix(color, vec4(videoColor.xyz, 1.0), helsing_alpha * videoColor.a);
|
|
1952
|
+
}
|
|
1953
|
+
else{
|
|
1954
|
+
if(abs(shadowPosition.z - 0.0) < 0.001){
|
|
1955
|
+
return;
|
|
1956
|
+
}
|
|
1957
|
+
out_FragColor = color;
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
else{
|
|
1961
|
+
|
|
1962
|
+
}
|
|
1963
|
+
}`;
|
|
1964
|
+
}
|
|
1965
|
+
init() {
|
|
1966
|
+
this._createLightCamera(), this._createShadowMap(), this._drawFrustumOutline();
|
|
1967
|
+
}
|
|
1968
|
+
/**
|
|
1969
|
+
* 更新无人机外参(持续调用)
|
|
1970
|
+
* @param {Object} pose
|
|
1971
|
+
* @param {Cesium.Cartesian3} [pose.position] - 新位置
|
|
1972
|
+
* @param {number} [pose.heading] - 新航向角(度)
|
|
1973
|
+
* @param {number} [pose.pitch] - 新俯仰角(度)
|
|
1974
|
+
* @param {number} [pose.roll] - 新翻滚角(度)
|
|
1975
|
+
* @param {number} [pose.fov] - 新视场角(度,可选)
|
|
1976
|
+
*/
|
|
1977
|
+
updatePose(e) {
|
|
1978
|
+
if (e) {
|
|
1979
|
+
if (e.position !== void 0 && (this.position = e.position), e.heading !== void 0 && (this.heading = e.heading), e.pitch !== void 0 && (this.pitch = e.pitch), e.roll !== void 0 && (this.roll = e.roll), e.fov !== void 0) {
|
|
1980
|
+
this.fov = e.fov;
|
|
1981
|
+
const a = Cesium.Math.toRadians(this.fov);
|
|
1982
|
+
this.lightCamera.frustum.fov = a, this.lightCamera.frustum.aspectRatio = this.aspectRatio;
|
|
1983
|
+
}
|
|
1984
|
+
this.lightCamera.position = this.position, this.lightCamera.setView({
|
|
1985
|
+
destination: this.position,
|
|
1986
|
+
orientation: {
|
|
1987
|
+
heading: Cesium.Math.toRadians(this.heading),
|
|
1988
|
+
pitch: Cesium.Math.toRadians(this.pitch),
|
|
1989
|
+
roll: Cesium.Math.toRadians(this.roll)
|
|
1990
|
+
}
|
|
1991
|
+
}), this._updateFrustumPositions();
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1994
|
+
play(e) {
|
|
1995
|
+
e || (e = {}), e.url && this.player.init(e.url), this.player.play();
|
|
1996
|
+
const a = () => {
|
|
1997
|
+
this._videoTexture = new M0(this.viewer, this.player.video, {
|
|
1998
|
+
flipY: !0,
|
|
1999
|
+
generateMipmap: !0
|
|
2000
|
+
}), this._videoTexture.enabled = !0, this._updateHandler = () => {
|
|
2001
|
+
var s;
|
|
2002
|
+
(s = this._videoTexture) == null || s.update();
|
|
2003
|
+
}, this.viewer.clock.onTick.addEventListener(this._updateHandler), this._createPostStage();
|
|
2004
|
+
};
|
|
2005
|
+
this.player.video.readyState >= 3 ? a() : this.player.video.addEventListener("canplay", a, { once: !0 });
|
|
2006
|
+
}
|
|
2007
|
+
update() {
|
|
2008
|
+
var e;
|
|
2009
|
+
(e = this._videoTexture) == null || e.update();
|
|
2010
|
+
}
|
|
2011
|
+
stop() {
|
|
2012
|
+
this.player.stop(), this._videoTexture && (this._videoTexture.enabled = !1, this._videoTexture.stop(), this._videoTexture = null), this.postStage && this.viewer && (this.viewer.scene.postProcessStages.remove(this.postStage), this.postStage = null), this._updateHandler && this.viewer && (this.viewer.clock.onTick.removeEventListener(this._updateHandler), this._updateHandler = null);
|
|
2013
|
+
}
|
|
2014
|
+
destroy() {
|
|
2015
|
+
var e, a;
|
|
2016
|
+
this.stop(), this.frustumOutline && this.viewer && (this.viewer.scene.primitives.remove(this.frustumOutline), this.frustumOutline = null, this._frustumPolylines = null), this.sketch && this.viewer && (this.viewer.entities.remove(this.sketch), this.sketch = null), this.shadowMap && this.viewer && (this.viewer.scene.shadowMap === this.shadowMap && (this.viewer.scene.shadowMap = void 0), (a = (e = this.shadowMap).destroy) == null || a.call(e), this.shadowMap = null), this.lightCamera = null, this.player.destroy(), this.viewer = null;
|
|
2017
|
+
}
|
|
2018
|
+
_createPostStage() {
|
|
2019
|
+
const e = this, a = e.shadowMap._isPointLight ? e.shadowMap._pointBias : e.shadowMap._primitiveBias, s = new Cesium.PostProcessStage({
|
|
2020
|
+
fragmentShader: e.GLSL,
|
|
2021
|
+
uniforms: {
|
|
2022
|
+
helsing_textureType: function() {
|
|
2023
|
+
return e.textureType;
|
|
2024
|
+
},
|
|
2025
|
+
helsing_texture: function() {
|
|
2026
|
+
var i;
|
|
2027
|
+
return (i = e._videoTexture) == null ? void 0 : i.texture;
|
|
2028
|
+
},
|
|
2029
|
+
helsing_alpha: function() {
|
|
2030
|
+
return e.alpha;
|
|
2031
|
+
},
|
|
2032
|
+
helsing_visibleAreaColor: function() {
|
|
2033
|
+
return e.visibleAreaColor;
|
|
2034
|
+
},
|
|
2035
|
+
helsing_invisibleAreaColor: function() {
|
|
2036
|
+
return e.invisibleAreaColor;
|
|
2037
|
+
},
|
|
2038
|
+
shadowMap_texture: function() {
|
|
2039
|
+
return e.shadowMap._shadowMapTexture;
|
|
2040
|
+
},
|
|
2041
|
+
shadowMap_matrix: function() {
|
|
2042
|
+
return e.shadowMap._shadowMapMatrix;
|
|
2043
|
+
},
|
|
2044
|
+
camera_projection_matrix: function() {
|
|
2045
|
+
return e.lightCamera.frustum.projectionMatrix;
|
|
2046
|
+
},
|
|
2047
|
+
camera_view_matrix: function() {
|
|
2048
|
+
return e.lightCamera.viewMatrix;
|
|
2049
|
+
},
|
|
2050
|
+
scene_camera_matrix: this.viewer.scene.camera.inverseViewMatrix,
|
|
2051
|
+
scaleBiasMatrix: Ot,
|
|
2052
|
+
shadowMap_lightPositionEC: function() {
|
|
2053
|
+
return e.shadowMap._lightPositionEC;
|
|
2054
|
+
},
|
|
2055
|
+
shadowMap_texelSizeDepthBiasAndNormalShadingSmooth: function() {
|
|
2056
|
+
const i = new Cesium.Cartesian2();
|
|
2057
|
+
return i.x = 1 / e.shadowMap._textureSize.x, i.y = 1 / e.shadowMap._textureSize.y, Cesium.Cartesian4.fromElements(
|
|
2058
|
+
i.x,
|
|
2059
|
+
i.y,
|
|
2060
|
+
a.depthBias,
|
|
2061
|
+
a.normalShadingSmooth,
|
|
2062
|
+
new Cesium.Cartesian4()
|
|
2063
|
+
);
|
|
2064
|
+
},
|
|
2065
|
+
shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness: function() {
|
|
2066
|
+
return Cesium.Cartesian4.fromElements(
|
|
2067
|
+
a.normalOffsetScale,
|
|
2068
|
+
e.shadowMap._distance,
|
|
2069
|
+
e.shadowMap.maximumDistance,
|
|
2070
|
+
e.shadowMap._darkness,
|
|
2071
|
+
new Cesium.Cartesian4()
|
|
2072
|
+
);
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
});
|
|
2076
|
+
this.postStage = e.viewer.scene.postProcessStages.add(s);
|
|
2077
|
+
}
|
|
2078
|
+
_createShadowMap() {
|
|
2079
|
+
this.shadowMap = new Cesium.ShadowMap({
|
|
2080
|
+
context: this.viewer.scene.context,
|
|
2081
|
+
lightCamera: this.lightCamera,
|
|
2082
|
+
enabled: this.enabled,
|
|
2083
|
+
cascadesEnabled: !1,
|
|
2084
|
+
size: this.size,
|
|
2085
|
+
softShadows: this.softShadows,
|
|
2086
|
+
normalOffset: !1,
|
|
2087
|
+
fromLightSource: !1
|
|
2088
|
+
}), this.viewer.scene.shadowMap = this.shadowMap;
|
|
2089
|
+
}
|
|
2090
|
+
_createLightCamera() {
|
|
2091
|
+
this.lightCamera = new Cesium.Camera(this.viewer.scene), this.lightCamera.position = this.position, this.lightCamera.frustum.near = this.viewNearDistance, this.lightCamera.frustum.far = this.viewDistance;
|
|
2092
|
+
const e = Cesium.Math.toRadians(this.fov);
|
|
2093
|
+
this.lightCamera.frustum.fov = e, this.lightCamera.frustum.aspectRatio = this.aspectRatio, this.lightCamera.setView({
|
|
2094
|
+
destination: this.position,
|
|
2095
|
+
orientation: {
|
|
2096
|
+
heading: Cesium.Math.toRadians(this.heading),
|
|
2097
|
+
pitch: Cesium.Math.toRadians(this.pitch),
|
|
2098
|
+
roll: Cesium.Math.toRadians(this.roll)
|
|
2099
|
+
}
|
|
2100
|
+
});
|
|
2101
|
+
}
|
|
2102
|
+
/**
|
|
2103
|
+
* 计算视锥8个顶点(近面4角 + 远面4角)
|
|
2104
|
+
*/
|
|
2105
|
+
_computeFrustumCorners() {
|
|
2106
|
+
const e = this.lightCamera, a = this.viewNearDistance, s = this.viewDistance, l = Cesium.Math.toRadians(this.fov) / 2, r = this.aspectRatio, p = Math.tan(l), c = a * p, _ = c * r, v = s * p, w = v * r, k = Cesium.Cartesian3.clone(e.directionWC), g = Cesium.Cartesian3.clone(e.upWC), f = Cesium.Cartesian3.clone(e.rightWC);
|
|
2107
|
+
function E(M, S, A) {
|
|
2108
|
+
const P = Cesium.Cartesian3.add(
|
|
2109
|
+
e.positionWC,
|
|
2110
|
+
Cesium.Cartesian3.multiplyByScalar(k, M, new Cesium.Cartesian3()),
|
|
2111
|
+
new Cesium.Cartesian3()
|
|
2112
|
+
);
|
|
2113
|
+
return [
|
|
2114
|
+
Cesium.Cartesian3.add(P, Cesium.Cartesian3.add(
|
|
2115
|
+
Cesium.Cartesian3.multiplyByScalar(f, -S, new Cesium.Cartesian3()),
|
|
2116
|
+
Cesium.Cartesian3.multiplyByScalar(g, A, new Cesium.Cartesian3()),
|
|
2117
|
+
new Cesium.Cartesian3()
|
|
2118
|
+
), new Cesium.Cartesian3()),
|
|
2119
|
+
Cesium.Cartesian3.add(P, Cesium.Cartesian3.add(
|
|
2120
|
+
Cesium.Cartesian3.multiplyByScalar(f, S, new Cesium.Cartesian3()),
|
|
2121
|
+
Cesium.Cartesian3.multiplyByScalar(g, A, new Cesium.Cartesian3()),
|
|
2122
|
+
new Cesium.Cartesian3()
|
|
2123
|
+
), new Cesium.Cartesian3()),
|
|
2124
|
+
Cesium.Cartesian3.add(P, Cesium.Cartesian3.add(
|
|
2125
|
+
Cesium.Cartesian3.multiplyByScalar(f, S, new Cesium.Cartesian3()),
|
|
2126
|
+
Cesium.Cartesian3.multiplyByScalar(g, -A, new Cesium.Cartesian3()),
|
|
2127
|
+
new Cesium.Cartesian3()
|
|
2128
|
+
), new Cesium.Cartesian3()),
|
|
2129
|
+
Cesium.Cartesian3.add(P, Cesium.Cartesian3.add(
|
|
2130
|
+
Cesium.Cartesian3.multiplyByScalar(f, -S, new Cesium.Cartesian3()),
|
|
2131
|
+
Cesium.Cartesian3.multiplyByScalar(g, -A, new Cesium.Cartesian3()),
|
|
2132
|
+
new Cesium.Cartesian3()
|
|
2133
|
+
), new Cesium.Cartesian3())
|
|
2134
|
+
];
|
|
2135
|
+
}
|
|
2136
|
+
const B = E(a, _, c), x = E(s, w, v);
|
|
2137
|
+
return { nearCorners: B, farCorners: x };
|
|
2138
|
+
}
|
|
2139
|
+
/**
|
|
2140
|
+
* 创建视锥线框(PolylineCollection 方式,可动态更新)
|
|
2141
|
+
*/
|
|
2142
|
+
_drawFrustumOutline() {
|
|
2143
|
+
const e = this.frustumOutlineColor ? this.frustumOutlineColor instanceof Cesium.Color ? this.frustumOutlineColor : Cesium.Color.fromCssColorString(this.frustumOutlineColor) : Cesium.Color.GREEN, a = new Cesium.PolylineCollection(), s = e;
|
|
2144
|
+
for (let i = 0; i < 12; i++)
|
|
2145
|
+
a.add({
|
|
2146
|
+
positions: [Cesium.Cartesian3.ZERO, Cesium.Cartesian3.ZERO],
|
|
2147
|
+
width: 1.5,
|
|
2148
|
+
material: Cesium.Material.fromType("Color", { color: s })
|
|
2149
|
+
});
|
|
2150
|
+
this.frustumOutline = this.viewer.scene.primitives.add(a), this._frustumPolylines = a, this._updateFrustumPositions();
|
|
2151
|
+
}
|
|
2152
|
+
/**
|
|
2153
|
+
* 更新视锥线框顶点(updatePose 调用,不重建 Primitive)
|
|
2154
|
+
*/
|
|
2155
|
+
_updateFrustumPositions() {
|
|
2156
|
+
if (!this._frustumPolylines) return;
|
|
2157
|
+
const { nearCorners: e, farCorners: a } = this._computeFrustumCorners(), i = this._frustumPolylines._polylines;
|
|
2158
|
+
let l = 0;
|
|
2159
|
+
for (let r = 0; r < 4; r++) {
|
|
2160
|
+
const p = (r + 1) % 4;
|
|
2161
|
+
i[l].positions = [e[r], e[p]], l++;
|
|
2162
|
+
}
|
|
2163
|
+
for (let r = 0; r < 4; r++) {
|
|
2164
|
+
const p = (r + 1) % 4;
|
|
2165
|
+
i[l].positions = [a[r], a[p]], l++;
|
|
2166
|
+
}
|
|
2167
|
+
for (let r = 0; r < 4; r++)
|
|
2168
|
+
i[l].positions = [e[r], a[r]], l++;
|
|
2169
|
+
}
|
|
2170
|
+
_drawSketch() {
|
|
2171
|
+
const e = Cesium.Math.toDegrees(this.fov * this.aspectRatio / 2), a = Cesium.Math.toDegrees(this.fov / 2);
|
|
2172
|
+
this.sketch = this.viewer.entities.add({
|
|
2173
|
+
name: "sketch",
|
|
2174
|
+
id: this.CameraId,
|
|
2175
|
+
position: this.position,
|
|
2176
|
+
orientation: Cesium.Transforms.headingPitchRollQuaternion(
|
|
2177
|
+
this.position,
|
|
2178
|
+
Cesium.HeadingPitchRoll.fromDegrees(
|
|
2179
|
+
this.heading - e,
|
|
2180
|
+
this.pitch,
|
|
2181
|
+
this.roll
|
|
2182
|
+
)
|
|
2183
|
+
),
|
|
2184
|
+
ellipsoid: {
|
|
2185
|
+
radii: new Cesium.Cartesian3(this.viewDistance, this.viewDistance, this.viewDistance),
|
|
2186
|
+
minimumClock: Cesium.Math.toRadians(-e),
|
|
2187
|
+
maximumClock: Cesium.Math.toRadians(e),
|
|
2188
|
+
minimumCone: Cesium.Math.toRadians(a + 7.75),
|
|
2189
|
+
maximumCone: Cesium.Math.toRadians(180 - a - 7.75),
|
|
2190
|
+
fill: !1,
|
|
2191
|
+
outline: !0,
|
|
2192
|
+
subdivisions: 256,
|
|
2193
|
+
stackPartitions: 64,
|
|
2194
|
+
slicePartitions: 64,
|
|
2195
|
+
outlineColor: Cesium.Color.YELLOWGREEN
|
|
2196
|
+
}
|
|
2197
|
+
});
|
|
2198
|
+
}
|
|
2199
|
+
createTextureFromCanvas(e) {
|
|
2200
|
+
var a = new Cesium.Texture({
|
|
2201
|
+
context: this.viewer.scene.context,
|
|
2202
|
+
source: {
|
|
2203
|
+
width: e.width,
|
|
2204
|
+
height: e.height,
|
|
2205
|
+
arrayBufferView: e
|
|
2206
|
+
},
|
|
2207
|
+
flipY: !1,
|
|
2208
|
+
pixelFormat: Cesium.PixelFormat.RGBA,
|
|
2209
|
+
pixelDatatype: Cesium.PixelDatatype.UNSIGNED_BYTE,
|
|
2210
|
+
sampler: new Cesium.Sampler({
|
|
2211
|
+
wrapS: Cesium.TextureWrap.CLAMP_TO_EDGE,
|
|
2212
|
+
wrapT: Cesium.TextureWrap.CLAMP_TO_EDGE
|
|
2213
|
+
})
|
|
2214
|
+
});
|
|
2215
|
+
return a;
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
2218
|
+
const It = { class: "uav-container-box" }, Bt = {
|
|
2219
|
+
key: 0,
|
|
2220
|
+
class: "uav-container"
|
|
2221
|
+
}, Rt = { class: "uav-header" }, Ut = { class: "title" }, Ht = { class: "uav-body" }, zt = { class: "uav-video" }, Gt = { class: "uav-list-group" }, jt = { class: "uav-list" }, Zt = {
|
|
2222
|
+
key: 0,
|
|
2223
|
+
class: "uav-item-null"
|
|
2224
|
+
}, Yt = ["onClick"], $t = { class: "uav-item-content" }, Nt = { class: "uav-operate" }, Xt = ["onClick"], Wt = ["onClick"], Jt = ["onClick"], Qt = { class: "uav-info-group" }, qt = { class: "uav-info-detail" }, Kt = { class: "uav-info-base grid space-between" }, ea = { key: 0 }, ta = { key: 1 }, aa = { key: 2 }, ia = { class: "nameValue" }, sa = { class: "name" }, oa = { class: "value" }, ra = { class: "uav-info-attitude" }, na = { class: "compass" }, la = { class: "attitude" }, T0 = {
|
|
2225
|
+
__name: "index",
|
|
2226
|
+
props: {
|
|
2227
|
+
// 组件显示隐藏控制
|
|
2228
|
+
uavShow: {
|
|
2229
|
+
type: Boolean,
|
|
2230
|
+
default: !1
|
|
2231
|
+
},
|
|
2232
|
+
uavTitle: {
|
|
2233
|
+
type: String,
|
|
2234
|
+
default: "无人机信息"
|
|
2235
|
+
},
|
|
2236
|
+
activeType: {
|
|
2237
|
+
type: Boolean,
|
|
2238
|
+
default: !1
|
|
2239
|
+
},
|
|
2240
|
+
// 动态传入无人机列表数据
|
|
2241
|
+
virtualCameraList: {
|
|
2242
|
+
type: Array,
|
|
2243
|
+
default: () => []
|
|
2244
|
+
},
|
|
2245
|
+
// 是否使用外部传入的数据(默认true,如果为false则内部通过fetch获取)
|
|
2246
|
+
useExternalData: {
|
|
2247
|
+
type: Boolean,
|
|
2248
|
+
default: !1
|
|
2249
|
+
},
|
|
2250
|
+
// 无人机列表接口地址
|
|
2251
|
+
droneListAPiUrl: {
|
|
2252
|
+
type: String,
|
|
2253
|
+
default: ""
|
|
2254
|
+
},
|
|
2255
|
+
// 无人机动态信息接口
|
|
2256
|
+
droneWsUrl: {
|
|
2257
|
+
type: String,
|
|
2258
|
+
default: ""
|
|
2259
|
+
},
|
|
2260
|
+
// 视频平台地址
|
|
2261
|
+
vacApiIpPort: {
|
|
2262
|
+
type: String,
|
|
2263
|
+
default: ""
|
|
2264
|
+
},
|
|
2265
|
+
// 设备ID
|
|
2266
|
+
deviceId: {
|
|
2267
|
+
type: String,
|
|
2268
|
+
default: ""
|
|
2269
|
+
},
|
|
2270
|
+
// Cesium viewer实例对象挂载
|
|
2271
|
+
cesiumViewer: {
|
|
2272
|
+
type: Object,
|
|
2273
|
+
default: null
|
|
2274
|
+
},
|
|
2275
|
+
// 虚拟相机参数配置
|
|
2276
|
+
virtualCameraOptions: {
|
|
2277
|
+
type: Object,
|
|
2278
|
+
default: () => ({
|
|
2279
|
+
fov: 20,
|
|
2280
|
+
viewDistance: 5e4,
|
|
2281
|
+
frustumOutlineColor: "#FF0000"
|
|
2282
|
+
})
|
|
2283
|
+
}
|
|
2284
|
+
},
|
|
2285
|
+
emits: ["update:uavShow", "close", "track", "handleOperate"],
|
|
2286
|
+
setup(t, { emit: e }) {
|
|
2287
|
+
const a = t, s = e, i = C(a.uavTitle), l = C(0), r = C(a.uavShow), p = C(""), c = C("1"), _ = C("follow"), v = C(""), w = C([]), k = C(null);
|
|
2288
|
+
C(0);
|
|
2289
|
+
const g = C(10), f = C(/* @__PURE__ */ new Map());
|
|
2290
|
+
let E = null;
|
|
2291
|
+
const B = X(() => a.useExternalData && a.virtualCameraList.length > 0 ? a.virtualCameraList : w.value), x = C([
|
|
2292
|
+
{
|
|
2293
|
+
type: "name",
|
|
2294
|
+
name: "名称",
|
|
2295
|
+
value: "-- --"
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
type: "status",
|
|
2299
|
+
name: "状态",
|
|
2300
|
+
value: "-- --"
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
type: "battery",
|
|
2304
|
+
name: "电量",
|
|
2305
|
+
value: "-- --"
|
|
2306
|
+
}
|
|
2307
|
+
]), M = C([
|
|
2308
|
+
{
|
|
2309
|
+
name: "速度",
|
|
2310
|
+
value: ""
|
|
2311
|
+
},
|
|
2312
|
+
{
|
|
2313
|
+
name: "高度H",
|
|
2314
|
+
value: ""
|
|
2315
|
+
},
|
|
2316
|
+
{
|
|
2317
|
+
name: "高度E",
|
|
2318
|
+
value: ""
|
|
2319
|
+
},
|
|
2320
|
+
{
|
|
2321
|
+
name: "经度",
|
|
2322
|
+
value: ""
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
name: "纬度",
|
|
2326
|
+
value: ""
|
|
2327
|
+
}
|
|
2328
|
+
]), S = [
|
|
2329
|
+
{ name: "速度", value: "--" },
|
|
2330
|
+
{ name: "高度H", value: "--" },
|
|
2331
|
+
{ name: "高度E", value: "--" },
|
|
2332
|
+
{ name: "经度", value: "--" },
|
|
2333
|
+
{ name: "纬度", value: "--" }
|
|
2334
|
+
], A = () => {
|
|
2335
|
+
r.value = !r.value;
|
|
2336
|
+
}, P = C(null), Y = (d) => {
|
|
2337
|
+
v.value = d.guid, console.log(d);
|
|
2338
|
+
}, $ = (d, o) => {
|
|
2339
|
+
console.log(d, o), i.value = o.name, c.value = o.guid, _.value = d, x.value = [
|
|
2340
|
+
{ type: "name", name: "名称", value: (o == null ? void 0 : o.name) ?? "--" },
|
|
2341
|
+
{ type: "status", name: "状态", value: "--" },
|
|
2342
|
+
{ type: "battery", name: "电量", value: "--" }
|
|
2343
|
+
], M.value = S;
|
|
2344
|
+
}, j = (d, o, h) => {
|
|
2345
|
+
if (console.log(d, o, h), d === "begin") {
|
|
2346
|
+
o.isRunning = !0, p.value = `ws://${a.vacApiIpPort}/rtp/${a.deviceId}_${o.gbCode}.live.flv` || o.flv;
|
|
2347
|
+
const n = a.cesiumViewer || window.CesiumViewer;
|
|
2348
|
+
if (!n) {
|
|
2349
|
+
console.error("Cesium viewer 未找到,请检查!");
|
|
2350
|
+
return;
|
|
2351
|
+
}
|
|
2352
|
+
const b = n.camera.positionCartographic, y = Cesium.Math.toDegrees(b.longitude), R = Cesium.Math.toDegrees(b.latitude), Z = b.height;
|
|
2353
|
+
L2(o.guid, o.flv, {
|
|
2354
|
+
position: Cesium.Cartesian3.fromDegrees(y, R, Z),
|
|
2355
|
+
...a.virtualCameraOptions
|
|
2356
|
+
});
|
|
2357
|
+
}
|
|
2358
|
+
d === "stop" && (o.isRunning = !1, E && (E.destroy(), f.value.delete(o.guid), E = null)), k.value = o.guid, s("handleOperate", { type: d, item: o, videoInfo: h });
|
|
2359
|
+
}, d2 = async (d, { method: o = "POST", body: h = null } = {}) => {
|
|
2360
|
+
try {
|
|
2361
|
+
const n = { method: o };
|
|
2362
|
+
h && o !== "GET" && (n.body = h), n.headers = { "Content-Type": "application/json" };
|
|
2363
|
+
const b = await fetch(d, n);
|
|
2364
|
+
if (!b.ok) throw new Error(`HTTP ${b.status}: ${b.statusText}`);
|
|
2365
|
+
const y = await b.json(), R = y == null ? void 0 : y.data;
|
|
2366
|
+
if (!Array.isArray(R))
|
|
2367
|
+
return console.warn("返回数据异常,data 不是数组:", R), w.value = [], [];
|
|
2368
|
+
const Z = R.map((H) => ({
|
|
2369
|
+
guid: H.sn,
|
|
2370
|
+
id: H.id,
|
|
2371
|
+
name: H.name,
|
|
2372
|
+
state: H.state || "unknown",
|
|
2373
|
+
// 提供默认值
|
|
2374
|
+
flv: H.flv,
|
|
2375
|
+
isRunning: !1,
|
|
2376
|
+
...H
|
|
2377
|
+
}));
|
|
2378
|
+
return w.value = Z, Z;
|
|
2379
|
+
} catch (n) {
|
|
2380
|
+
throw console.error("获取无人机列表失败:", n), w.value = [], n;
|
|
2381
|
+
}
|
|
2382
|
+
}, c2 = C(/* @__PURE__ */ new Set());
|
|
2383
|
+
let F = null;
|
|
2384
|
+
const q = (d) => {
|
|
2385
|
+
if (!d && F) {
|
|
2386
|
+
F.send(JSON.stringify({ method: "drone", data: ["关闭无人机!"] })), F.close(), F = null, c2.value.clear(), console.log("无人机ws 已关闭");
|
|
2387
|
+
return;
|
|
2388
|
+
}
|
|
2389
|
+
F || (F = new WebSocket(`ws://${a.droneWsUrl}`), F.onopen = () => {
|
|
2390
|
+
}, F.onmessage = (o) => {
|
|
2391
|
+
var b;
|
|
2392
|
+
let h = null;
|
|
2393
|
+
try {
|
|
2394
|
+
h = JSON.parse(o == null ? void 0 : o.data);
|
|
2395
|
+
} catch (y) {
|
|
2396
|
+
console.error("JSON解析失败,消息内容:", o.data, "错误:", y);
|
|
2397
|
+
return;
|
|
2398
|
+
}
|
|
2399
|
+
if (!(h != null && h.data) || ((b = h == null ? void 0 : h.data) == null ? void 0 : b.length) === 0) {
|
|
2400
|
+
console.warn("数据数组为空:", h);
|
|
2401
|
+
return;
|
|
2402
|
+
}
|
|
2403
|
+
const n = h == null ? void 0 : h.data[0];
|
|
2404
|
+
if (n)
|
|
2405
|
+
try {
|
|
2406
|
+
const y = Number(n.longitude) || 1, R = Number(n.latitude) || 1, Z = Number(n.height) || 1, H = Number(n.gimbalPitch) || 1, Z2 = Number(n.gimbalYaw) || 1, I = Number(n.attitudeHead) || 1;
|
|
2407
|
+
if (k.value !== n.sn)
|
|
2408
|
+
return;
|
|
2409
|
+
p2(y, R, Z, I, H), g.value = I, x.value = [
|
|
2410
|
+
{ type: "name", name: "名称", value: n.name ?? "--" },
|
|
2411
|
+
{ type: "status", name: "状态", value: n.state == "1" ? "在线" : "离线" },
|
|
2412
|
+
{ type: "battery", name: "电量", value: n.battery ?? "--" }
|
|
2413
|
+
], M.value = [
|
|
2414
|
+
{ name: "速度", value: n.speed ?? "--" },
|
|
2415
|
+
{ name: "高度H", value: n.height ?? "--" },
|
|
2416
|
+
{ name: "高度E", value: n.elevation ?? "--" },
|
|
2417
|
+
{ name: "经度", value: n.longitude ?? "--" },
|
|
2418
|
+
{ name: "纬度", value: n.latitude ?? "--" }
|
|
2419
|
+
];
|
|
2420
|
+
} catch (y) {
|
|
2421
|
+
console.error("更新虚拟相机位置失败:", y);
|
|
2422
|
+
}
|
|
2423
|
+
}, F.onclose = function() {
|
|
2424
|
+
console.log("连接关闭"), F = null;
|
|
2425
|
+
});
|
|
2426
|
+
}, p2 = async (d, o, h, n, b) => {
|
|
2427
|
+
const y = Cesium.Cartesian3.fromDegrees(d, o, h);
|
|
2428
|
+
E.updatePose({
|
|
2429
|
+
position: y,
|
|
2430
|
+
heading: n,
|
|
2431
|
+
pitch: b
|
|
2432
|
+
});
|
|
2433
|
+
const R = Math.max(500, h * 1.5);
|
|
2434
|
+
(a.cesiumViewer || window.CesiumViewer).camera.lookAt(
|
|
2435
|
+
y,
|
|
2436
|
+
new Cesium.HeadingPitchRange(
|
|
2437
|
+
n,
|
|
2438
|
+
// 保持与无人机航向一致
|
|
2439
|
+
Cesium.Math.toRadians(-90),
|
|
2440
|
+
// 固定俯视角度70度
|
|
2441
|
+
R
|
|
2442
|
+
// 动态观察距离
|
|
2443
|
+
)
|
|
2444
|
+
);
|
|
2445
|
+
}, i2 = () => {
|
|
2446
|
+
console.log("销毁所有虚拟相机,共", f.value.size, "个"), f.value.forEach((d, o) => {
|
|
2447
|
+
try {
|
|
2448
|
+
d.destroy(), console.log("虚拟相机", o, "已销毁");
|
|
2449
|
+
} catch (h) {
|
|
2450
|
+
console.error("销毁虚拟相机", o, "失败:", h);
|
|
2451
|
+
}
|
|
2452
|
+
}), f.value.clear(), E = null;
|
|
2453
|
+
}, s2 = () => {
|
|
2454
|
+
var d;
|
|
2455
|
+
(d = P.value) == null || d.handleDestroy();
|
|
2456
|
+
}, h2 = () => {
|
|
2457
|
+
s2(), i2(), c.value = "", _.value = "", k.value = null, s("update:uavShow", !1);
|
|
2458
|
+
}, L2 = (d, o, h = {}) => {
|
|
2459
|
+
console.log("启动无人机", a.cesiumViewer, window.CesiumViewer);
|
|
2460
|
+
const n = a.cesiumViewer || window.CesiumViewer;
|
|
2461
|
+
if (!n)
|
|
2462
|
+
return console.error("Cesium viewer 未就绪"), {
|
|
2463
|
+
destroy: () => console.warn("未创建虚拟相机,无需销毁")
|
|
2464
|
+
};
|
|
2465
|
+
const b = n.camera.positionCartographic, y = Cesium.Math.toDegrees(b.longitude), R = Cesium.Math.toDegrees(b.latitude), Z = b.height, Z2 = { ...{
|
|
2466
|
+
id: `drone_${d}`,
|
|
2467
|
+
position: Cesium.Cartesian3.fromDegrees(y, R, Z),
|
|
2468
|
+
heading: 45,
|
|
2469
|
+
pitch: -75,
|
|
2470
|
+
fov: 60,
|
|
2471
|
+
viewDistance: 1e4,
|
|
2472
|
+
frustumOutlineColor: "#00FF00"
|
|
2473
|
+
}, ...h }, I = new Ft(n, Z2);
|
|
2474
|
+
return f.value.set(d, I), console.log("已创建虚拟相机:", f.value, d, I), E = I, I.init(), I.play({ url: o }), {
|
|
2475
|
+
vc: I,
|
|
2476
|
+
destroy: () => {
|
|
2477
|
+
I && (I.destroy(), f.value.delete(d), E === I && (E = null), console.log("VirtualCamera 已销毁"));
|
|
2478
|
+
}
|
|
2479
|
+
};
|
|
2480
|
+
};
|
|
2481
|
+
return W(
|
|
2482
|
+
() => a.activeType,
|
|
2483
|
+
(d, o) => {
|
|
2484
|
+
console.log("activeType:" + d);
|
|
2485
|
+
}
|
|
2486
|
+
), W(() => a.uavShow, (d) => {
|
|
2487
|
+
console.log("无人机面板显隐:" + d), r.value = d, d && d2(a.droneListAPiUrl), q(d);
|
|
2488
|
+
}), W(() => a.uavTitle, (d) => {
|
|
2489
|
+
i.value = d;
|
|
2490
|
+
}), g2(() => {
|
|
2491
|
+
d2(a.droneListAPiUrl);
|
|
2492
|
+
}), n0(() => {
|
|
2493
|
+
s2(), i2(), h2();
|
|
2494
|
+
}), (d, o) => {
|
|
2495
|
+
const h = C2("a-tooltip");
|
|
2496
|
+
return m(), T("div", It, [
|
|
2497
|
+
r.value ? (m(), T("div", Bt, [
|
|
2498
|
+
u("div", Rt, [
|
|
2499
|
+
u("h3", Ut, z(i.value), 1),
|
|
2500
|
+
u("span", {
|
|
2501
|
+
class: "close",
|
|
2502
|
+
onClick: h2
|
|
2503
|
+
})
|
|
2504
|
+
]),
|
|
2505
|
+
u("div", Ht, [
|
|
2506
|
+
u("div", zt, [
|
|
2507
|
+
r.value ? (m(), U(kt, {
|
|
2508
|
+
url: p.value,
|
|
2509
|
+
title: "",
|
|
2510
|
+
key: l.value,
|
|
2511
|
+
ref_key: "videoItemRef",
|
|
2512
|
+
ref: P
|
|
2513
|
+
}, null, 8, ["url"])) : D("", !0)
|
|
2514
|
+
]),
|
|
2515
|
+
u("div", Gt, [
|
|
2516
|
+
o[5] || (o[5] = u("div", { class: "uav-header2" }, "无人机列表", -1)),
|
|
2517
|
+
u("div", jt, [
|
|
2518
|
+
B.value.length === 0 ? (m(), T("div", Zt, "暂无数据")) : (m(!0), T(T2, { key: 1 }, E2(B.value, (n) => (m(), T("div", {
|
|
2519
|
+
key: n == null ? void 0 : n.guid,
|
|
2520
|
+
class: r2(["uav-item flex align-items", { active: v.value === n.guid }]),
|
|
2521
|
+
onClick: (b) => Y(n)
|
|
2522
|
+
}, [
|
|
2523
|
+
u("div", $t, [
|
|
2524
|
+
c.value === n.guid ? (m(), T("div", {
|
|
2525
|
+
key: 0,
|
|
2526
|
+
class: r2(["status-bar", _.value === "follow"])
|
|
2527
|
+
}, null, 2)) : D("", !0),
|
|
2528
|
+
u("div", {
|
|
2529
|
+
class: r2(["uav-name", c.value === n.guid ? "activeFly" : ""])
|
|
2530
|
+
}, z(n.name), 3)
|
|
2531
|
+
]),
|
|
2532
|
+
u("div", Nt, [
|
|
2533
|
+
u("div", {
|
|
2534
|
+
class: "operate-item",
|
|
2535
|
+
onClick: A2((b) => $("follow", n), ["stop"])
|
|
2536
|
+
}, [
|
|
2537
|
+
K(h, null, {
|
|
2538
|
+
title: L(() => [...o[0] || (o[0] = [
|
|
2539
|
+
u("span", null, "跟随", -1)
|
|
2540
|
+
])]),
|
|
2541
|
+
default: L(() => [
|
|
2542
|
+
u("i", {
|
|
2543
|
+
class: r2(["smart-ui-icons smart-ui-icon-chaosong", c.value === n.guid ? "uav-fllow-active" : ""]),
|
|
2544
|
+
title: "跟随"
|
|
2545
|
+
}, null, 2)
|
|
2546
|
+
]),
|
|
2547
|
+
_: 2
|
|
2548
|
+
}, 1024)
|
|
2549
|
+
], 8, Xt),
|
|
2550
|
+
n.isRunning ? D("", !0) : (m(), T("div", {
|
|
2551
|
+
key: 0,
|
|
2552
|
+
class: "operate-item",
|
|
2553
|
+
onClick: A2((b) => j("begin", n), ["stop"])
|
|
2554
|
+
}, [
|
|
2555
|
+
K(h, null, {
|
|
2556
|
+
title: L(() => [...o[1] || (o[1] = [
|
|
2557
|
+
u("span", null, "融合开", -1)
|
|
2558
|
+
])]),
|
|
2559
|
+
default: L(() => [
|
|
2560
|
+
o[2] || (o[2] = u("i", {
|
|
2561
|
+
class: "smart-ui-icons smart-ui-icon-play",
|
|
2562
|
+
title: "融合开"
|
|
2563
|
+
}, null, -1))
|
|
2564
|
+
]),
|
|
2565
|
+
_: 1
|
|
2566
|
+
})
|
|
2567
|
+
], 8, Wt)),
|
|
2568
|
+
n.isRunning ? (m(), T("div", {
|
|
2569
|
+
key: 1,
|
|
2570
|
+
class: "operate-item",
|
|
2571
|
+
onClick: A2((b) => j("stop", n), ["stop"])
|
|
2572
|
+
}, [
|
|
2573
|
+
K(h, null, {
|
|
2574
|
+
title: L(() => [...o[3] || (o[3] = [
|
|
2575
|
+
u("span", null, "融合关", -1)
|
|
2576
|
+
])]),
|
|
2577
|
+
default: L(() => [
|
|
2578
|
+
o[4] || (o[4] = u("i", {
|
|
2579
|
+
class: "smart-ui-icons smart-ui-icon-stop",
|
|
2580
|
+
title: "融合关"
|
|
2581
|
+
}, null, -1))
|
|
2582
|
+
]),
|
|
2583
|
+
_: 1
|
|
2584
|
+
})
|
|
2585
|
+
], 8, Jt)) : D("", !0)
|
|
2586
|
+
])
|
|
2587
|
+
], 10, Yt))), 128))
|
|
2588
|
+
])
|
|
2589
|
+
]),
|
|
2590
|
+
u("div", Qt, [
|
|
2591
|
+
o[9] || (o[9] = u("div", { class: "uav-header2" }, "无人机信息", -1)),
|
|
2592
|
+
u("div", qt, [
|
|
2593
|
+
u("div", Kt, [
|
|
2594
|
+
(m(!0), T(T2, null, E2(x.value, (n, b) => (m(), T("div", {
|
|
2595
|
+
key: b,
|
|
2596
|
+
class: "flex align-items uav-icon"
|
|
2597
|
+
}, [
|
|
2598
|
+
n.type == "name" ? (m(), T("div", ea, [...o[6] || (o[6] = [
|
|
2599
|
+
u("img", { src: E0 }, null, -1)
|
|
2600
|
+
])])) : D("", !0),
|
|
2601
|
+
n.type == "status" ? (m(), T("div", ta, [...o[7] || (o[7] = [
|
|
2602
|
+
u("img", {
|
|
2603
|
+
src: A0,
|
|
2604
|
+
alt: ""
|
|
2605
|
+
}, null, -1)
|
|
2606
|
+
])])) : D("", !0),
|
|
2607
|
+
n.type == "battery" ? (m(), T("div", aa, [...o[8] || (o[8] = [
|
|
2608
|
+
u("img", {
|
|
2609
|
+
src: k0,
|
|
2610
|
+
alt: ""
|
|
2611
|
+
}, null, -1)
|
|
2612
|
+
])])) : D("", !0),
|
|
2613
|
+
u("div", ia, [
|
|
2614
|
+
u("div", sa, z(n.name), 1),
|
|
2615
|
+
u("div", oa, z(n.value), 1)
|
|
2616
|
+
])
|
|
2617
|
+
]))), 128))
|
|
2618
|
+
]),
|
|
2619
|
+
u("div", ra, [
|
|
2620
|
+
u("div", na, [
|
|
2621
|
+
u("img", {
|
|
2622
|
+
src: P0,
|
|
2623
|
+
style: f2(`transform:rotate(${g.value}deg) `)
|
|
2624
|
+
}, null, 4)
|
|
2625
|
+
]),
|
|
2626
|
+
u("div", la, [
|
|
2627
|
+
(m(!0), T(T2, null, E2(M.value, (n) => (m(), T("p", {
|
|
2628
|
+
key: n.name
|
|
2629
|
+
}, z(n.name) + ":" + z(n.value), 1))), 128))
|
|
2630
|
+
])
|
|
2631
|
+
])
|
|
2632
|
+
])
|
|
2633
|
+
])
|
|
2634
|
+
])
|
|
2635
|
+
])) : D("", !0),
|
|
2636
|
+
u("div", {
|
|
2637
|
+
class: "uav-collpase",
|
|
2638
|
+
onClick: A
|
|
2639
|
+
}, [...o[10] || (o[10] = [
|
|
2640
|
+
u("img", {
|
|
2641
|
+
src: D0,
|
|
2642
|
+
alt: "展开/收起"
|
|
2643
|
+
}, null, -1)
|
|
2644
|
+
])])
|
|
2645
|
+
]);
|
|
2646
|
+
};
|
|
2647
|
+
}
|
|
2648
|
+
}, da = {
|
|
2649
|
+
UavComponent: T0,
|
|
2650
|
+
SyzVideoPlayer: j2,
|
|
2651
|
+
VideoPlane: V0,
|
|
2652
|
+
VideoPlaneManager: Pt,
|
|
2653
|
+
DataTransformer: Dt
|
|
2654
|
+
};
|
|
2655
|
+
function ca(t) {
|
|
2656
|
+
t.component("UavComponent", T0);
|
|
2657
|
+
}
|
|
2658
|
+
export {
|
|
2659
|
+
Dt as DataTransformer,
|
|
2660
|
+
j2 as SyzVideoPlayer,
|
|
2661
|
+
T0 as UavComponent,
|
|
2662
|
+
V0 as VideoPlane,
|
|
2663
|
+
Pt as VideoPlaneManager,
|
|
2664
|
+
da as default,
|
|
2665
|
+
ca as install
|
|
2666
|
+
};
|